Cycling help notes: welcome, what's new in v7, and per-page tips#4029
Open
31453 wants to merge 6 commits into
Open
Cycling help notes: welcome, what's new in v7, and per-page tips#402931453 wants to merge 6 commits into
31453 wants to merge 6 commits into
Conversation
- Replace the single welcome message with HelpNotes.vue: pager to cycle messages, per-message dismiss, dismiss all, session-only close - Track dismissals in new top-level user field dismissedHelpNotes (users mapping, db version 87); welcomeMsgNum kept as back-compat seed - Extend PUT /api/user/:userId/acknowledge with a noteId mode - Add i18n strings for all locales and api-users.t coverage Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Collaborator
Author
|
@awick help me with the text! |
- Return a 500 instead of silent success when persisting a note dismissal fails (new api.users.dismissNoteFailed string in all locales) - Let the 'all' wildcard bypass the 50-entry dismissal cap - Show page tips only on their own page and re-aim the card on navigation; announcements still show anywhere - Update stale WelcomeMessage.vue reference in Spiview.vue comment Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
Is there anyway we could do this without db changes AND is compatible with v6? if not i think I'll add methods to get the current db version so we can enable/disable items. |
- checkArkimeSchemaVersion now returns the version, with a soft mode when no minVersion is given - ES user store caches the schema version at startup, exposed via User.getSchemaVersion() - noteId acknowledge requests return 503 dbNeedsUpgrade when the users db is older than 87, fail open when the version is unknown - api-users.t: users mapping assertion, note id length boundary, msgNum/noteId precedence, 50-entry cap with 'all' bypass Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
# Conflicts: # tests/api-users.t
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The owl now has opinions
Arkime has greeted new users with exactly one floating card since forever. This PR teaches that card to do what every other app's onboarding does: hold a deck of messages you can flip through, dismiss one at a time, nuke all at once, or shoo away until tomorrow.
One card, eleven messages
`HelpNotes.vue` replaces `WelcomeMessage.vue` and cycles through: the classic welcome (new users), a one-time "Welcome to Arkime 7!" what's-new (upgraders), and nine per-page tips that deep-link into the Help page. Announcements always lead; once they're gone, the card opens on the tip for the page you're standing on.
The three verbs
How state works
Heads up
Also along for the ride: a latent `WelcomeMessage.vue` bug (wrote to a nonexistent `user.msgNum` field) is gone with the component, and all 10 locale files carry translated strings for the new UI.
Tested: `api-users.t` grew 12 assertions covering the new endpoint mode; the full flow (cycle, wrap-around, dismiss, persist, dismiss-all, route-aware start) was driven end-to-end in a real browser against a dev cluster.
🤖 Generated with Claude Code