Skip to content

Add adaptive guided tours to the new UI - #2458

Merged
niemyjski merged 21 commits into
mainfrom
feature/ui-guided-tours
Aug 20, 2026
Merged

Add adaptive guided tours to the new UI#2458
niemyjski merged 21 commits into
mainfrom
feature/ui-guided-tours

Conversation

@niemyjski

@niemyjski niemyjski commented Aug 11, 2026

Copy link
Copy Markdown
Member

What changed

  • adds a client-only, lazily loaded guided-tour system for the Svelte UI using Driver.js
  • shows a server-synchronized welcome chooser once, only recording an explicit Start or Skip; skipped guides remain replayable from command search and Help
  • recommends project setup when the account still needs configuration, otherwise recommends the new-UI overview
  • adds direct Guided Tours entries to command search, a Help-menu launcher, and a responsive catalog with completion and concrete availability states
  • resumes navigation-spanning guides from stable step IDs and coordinates dialogs, sheets, dropdowns, the mobile sidebar, logout, organization changes, dark mode, reduced motion, and focus restoration
  • records privacy-safe usage telemetry using only stable guide IDs, versions, step IDs, launch sources, and outcomes

Guides

  • Explore the new UI introduces navigation, command search, saved views, conditional Exie access, and Help in a short overview
  • Configure a project creates or resumes a real project, guides SDK selection and token setup, switches to inline guidance while work happens outside Exceptionless, and completes only after that project sends its first event with a durable refresh fallback
  • Create a saved view reviews filters, time, sorting, charts, stats, and columns; then creates and retains a real private Events view, completing only after the created view is loaded on its canonical route
  • Investigate an error starts with Errors filtering, opens a real report, explains grouped stack impact, status and stack options, inspects the individual occurrence, activates only evidence tabs that exist, and finishes by explaining how to filter to every occurrence in the stack
  • Meet Exie opens only the generic contextual panel, explains page/event context, access and metered usage, and stops before sending a prompt

All unreleased guides remain at version 1. A version bump is reserved for changing the completion boundary after a guide has shipped.

API and persistence

  • adds product_tours to persisted and current-user models; legacy records default to an empty map and require no migration
  • adds self-only PUT /api/v2/users/me/product-tours/{tourId} with bounded IDs, positive versions, known statuses, a 32-entry cap, server timestamps, idempotent merging, stale-version protection, and completed precedence over dismissed
  • preserves independent concurrent guide keys without extending the generic user update endpoint
  • updates HTTP examples, endpoint and OpenAPI snapshots, serialization coverage, and generated frontend models

Safety and compatibility

  • Svelte UI only; the legacy Angular client is unchanged
  • no automatic project creation, saved-view deletion, stack status or critical-state mutation, promoted-tab mutation, Exie prompt, or provider request
  • status and stack options are explained but never clicked by the investigation guide
  • data-driven error tabs are skipped when absent
  • changing an individual guide version never causes another automatic welcome prompt
  • existing public API behavior remains backwards compatible
  • this is a child PR of Add Exie AI assistant #2430 and targets feature/exie-assistant; after that PR lands, this branch can be rebased and retargeted to main

Verification

  • npm run validate — passed
  • npm run build — passed
  • focused product-tour unit tests — 8 passed
  • focused authenticated localhost investigation E2E — passed, including filtering, stack/status guidance, available tabs, direct-error replay, and non-error cancellation
  • hosted full suite on the implementation head — API, client lint/check/build/unit/integration, complete authenticated Playwright E2E, Docker build, and CLA passed
  • Exie browser coverage intercepts access/chat endpoints and asserts zero provider requests
  • desktop and mobile guided-tour screenshots are emitted as Playwright artifacts

Breaking changes

None.

Base automatically changed from feature/exie-assistant to main August 15, 2026 21:31
# Conflicts:
#	src/Exceptionless.Web/ClientApp/package-lock.json
#	src/Exceptionless.Web/ClientApp/package.json
#	src/Exceptionless.Web/ClientApp/src/lib/features/assistant/components/assistant-panel.svelte
#	src/Exceptionless.Web/ClientApp/src/lib/features/events/components/events-overview.svelte
#	src/Exceptionless.Web/ClientApp/src/lib/features/stacks/components/stack-card.svelte
#	src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/navigation-command.svelte
#	src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/navigation-command.svelte.test.ts
#	src/Exceptionless.Web/ClientApp/src/routes/(app)/event/+page.svelte
@niemyjski niemyjski self-assigned this Aug 19, 2026
@niemyjski
niemyjski marked this pull request as ready for review August 19, 2026 15:07

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 55cebe530e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/Exceptionless.Web/Models/User/UpdateProductTourProgress.cs
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2775c2b524

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b88b581489

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6af3a5dcb7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 14e093aa38

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@github-actions

Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Complexity Health
Exceptionless.Insulation 37% 35% 286
Exceptionless.Core 75% 67% 10184
Exceptionless.Web 85% 69% 7933
Exceptionless.AppHost 38% 41% 147
Summary 78% (25216 / 32216) 67% (11829 / 17582) 18550

@niemyjski

Copy link
Copy Markdown
Member Author

Exact-head verification for 9be6a7660a6b966573dece7d669dd822c4d34c92:

  • Base: origin/main...HEAD = 0 behind / 21 ahead
  • Reviews: thermo-nuclear review found no remaining maintainability blockers; Standards review found no documented-standard or baseline-smell findings; Spec review found no remaining behavioral findings; all automated review threads are resolved; exact-head automated review returned 👍
  • Local frontend: npm run validate; npm run build; 79 files / 629 unit tests passed
  • Local backend: 2,866 passed / 3 intentional skips; focused API 53/53; OpenAPI 4/4
  • Dogfood: desktop/mobile tour catalog and overview, persisted restart, safe navigation, and teardown behavior
  • Hosted CI: run 32372294427 is green; full 36-scenario Playwright E2E suite, API, client, Docker build, version, and CLA all passed
  • Breaking changes: none

@niemyjski
niemyjski merged commit b178420 into main Aug 20, 2026
12 checks passed
@niemyjski
niemyjski deleted the feature/ui-guided-tours branch August 20, 2026 13:18
@niemyjski

Copy link
Copy Markdown
Member Author

Correction: this PR was merged prematurely without Blake's explicit approval. The merge has been reverted by #2505. Continued review is now on #2506; the earlier merge-readiness comment must not be treated as merge authorization.

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.

1 participant