Skip to content

Add adaptive guided tours to the new UI - #2458

Draft
niemyjski wants to merge 10 commits into
feature/exie-assistantfrom
feature/ui-guided-tours
Draft

Add adaptive guided tours to the new UI#2458
niemyjski wants to merge 10 commits into
feature/exie-assistantfrom
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.

@github-actions

Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Complexity Health
Exceptionless.Core 75% 67% 10079
Exceptionless.AppHost 38% 40% 143
Exceptionless.Insulation 37% 35% 286
Exceptionless.Web 84% 68% 7878
Summary 78% (24849 / 31932) 67% (11625 / 17425) 18386

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