Conversation
flamboh
added this pull request to stack #205
September 25, 2026 02:51
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
tagium | 611f9e5 | Commit Preview URL Branch Preview URL |
Sep 25 2026, 09:17 AM |
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
flamboh
force-pushed
the
feat/dev-panel-discovery-flags
branch
from
September 25, 2026 02:55
84d0706 to
c45d120
Compare
flamboh
marked this pull request as ready for review
September 25, 2026 09:11
flamboh
force-pushed
the
feat/dev-panel-discovery-flags
branch
from
September 25, 2026 09:16
c45d120 to
611f9e5
Compare
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.
Note
🤖 Claude Opus 5.5 on behalf of Oliver
Stacked on #206.
ELI5
The dev panel gets a "feature discovery" section. It lists each one-time hint (right now, the share-links hint) with a checkbox for whether you've seen it, plus a "reset all" button. You can bring a hint back without digging through localStorage.
Why
Once a hint is dismissed, the only way to see it again was to delete
tagium:feature-discoveryin devtools and reload. That's slow when iterating on hint copy or placement, and it gets worse as more features use discovery flags.Implementation
featureDiscovery.ts): discovery is now a small subscribable store read throughuseSyncExternalStore, instead of a one-timeuseStateread. Changes from the dev panel, another hook, or another tab (via thestorageevent) update every mounted hint immediately, with no reload.setFeatureSeen(feature, seen)sets or unsets one flag and keeps the others.resetFeatureDiscovery()clears the whole key.DISCOVERABLE_FEATURESis back as a runtime list, so the panel can show every feature.DiscoveryFlagsSectionwith one checkbox row per feature and reset all.data-spotlight-ignore: a new attribute on theSpotlightprimitive. Clicks inside marked elements don't count as dismissing a hint. The dev panel (trigger and popover) uses it, so unsetting a flag doesn't instantly re-dismiss the hint you just brought back.Review guide
Setup: local dev with
VITE_PUBLIC_SHARE_LINKS_ENABLED=true; the dev panel only shows when/api/dev/configis enabled.Flows to check
share-linksreads seen.Edge cases
storageevent.Decisions for the reviewer
data-spotlight-ignoremust be added to each element that shouldn't dismiss hints; it isn't automatic for every floating layer. Only the dev panel uses it today.Verified
vp checkpasses and all 682 unit tests pass. New tests cover unsetting one flag while keeping the others, and two mounted hooks staying in sync through edits and a reset.{}), clicking in the panel without dismissing, re-checking, reset all (the storage key is removed), and closing the panel without dismissing.UI Changes
Before: no discovery controls; the panel clipped its header on short windows.
After:



Full flow:
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/a79d4e73b9f34120/dev-panel-flow.webm
Made by Claude Opus 5.5 in Claude Code (T3 Code).