Skip to content

Cycling help notes: welcome, what's new in v7, and per-page tips#4029

Open
31453 wants to merge 6 commits into
dev7from
welcome-msgs
Open

Cycling help notes: welcome, what's new in v7, and per-page tips#4029
31453 wants to merge 6 commits into
dev7from
welcome-msgs

Conversation

@31453

@31453 31453 commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

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

Control What it means Lifespan
Dismiss never show this message again forever, per user
Dismiss all never show any of them forever, per user
not now until next visit

How state works

  • New top-level user field `dismissedHelpNotes` (keyword array; `'all'` is the wildcard) — lives next to `welcomeMsgNum`, where this kind of state has always lived
  • `welcomeMsgNum` is frozen as a back-compat seed: ≥1 means the welcome was already acknowledged, ≥2 the v7 notice too — existing users land exactly where they should with zero migration
  • `PUT /api/user/:userId/acknowledge` gains a `noteId` mode (validated, deduped, capped); the legacy `msgNum` path is byte-identical

Heads up

⚠️ db version 86 → 87 — the users index is `dynamic: strict`, so run `db.pl upgrade` before deploying the viewer or dismissals silently won't stick.

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

- 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>
@31453

31453 commented Jun 10, 2026

Copy link
Copy Markdown
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>
@awick

awick commented Jun 10, 2026

Copy link
Copy Markdown
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.

31453 and others added 2 commits June 11, 2026 13:43
- 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>
31453 and others added 2 commits June 11, 2026 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants