feat(app): Share-dialog hub CTA + local-only link confirm (0290)#449
Open
crs48 wants to merge 1 commit into
Open
feat(app): Share-dialog hub CTA + local-only link confirm (0290)#449crs48 wants to merge 1 commit into
crs48 wants to merge 1 commit into
Conversation
With no hub connected the Share dialog dead-ended at explanatory text; it
now explains why sharing needs a hub and offers a "Connect a hub…" button
that opens the status bar's connection panel. That panel gains an inline
hub-URL connect form (persisted like Settings → Network, reload applies),
and is portaled out of the status-bar island — the floating-islands shell's
overflow-hidden was clipping the popover into invisibility.
Links minted on a private/LAN hub are labelled "Local only", and Copy/QR
arm on first click ("Copy anyway" / "QR anyway") so a link that only works
on the local network isn't handed out as if it were public. Generation
stays enabled — LAN/QR handoff is legitimate.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: xNet Test <test@xnet.dev>
Contributor
🖼️ UI changes in this PRNo visual differences detected in the changed UI. |
Contributor
|
Preview: https://xnet.fyi/pr/449/app/ |
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.
Implements the two remaining UI items from
docs/explorations/0290_[_]_SHARE_LINK_GENERATION_FAILURE_MODES.md(bugs #2 and #3, both Option A). Follows up on #448.No-hub dead-end → "Connect a hub…" CTA
ShareDialog(!ready) now explains why sharing needs a hub and offers a Connect a hub… button that closes the dialog and opens the status bar's connection panel (newopenSyncStatusPanel()event inSyncStatus.tsx; the mobile sheet listens too).hub-url.tshelpers as Settings → Network and reloading to apply — so the CTA genuinely lands you connected, per the exploration's validation criterion.overflow-hidden, which swallowed the sync-status popover entirely (it opened invisibly). The popover is now portaled into.wb-root(fixed-position above the chip; portal stays inside the shell root so.dark .wb-roottokens keep working) and usesbg-island-pop— the previousbg-surfaceresolved to transparent (same dead token 0287 fixed for modals).Private-hub links → "Local only" + confirm
isPrivateHubHost(hubHttpUrl).Verification
apps/webtypecheck clean; newShareDialog.test.tsx(CTA event + arming + public-hub no-confirm) plus FormShareBar/share-links/sync-format suites: 41 tests green (re-run after rebasing onto post-Enforce demo-hub storage guardrails (0291) + workspace share links (0290) #448 main).ws://localhost:4444): CTA → panel → connect → reload → chip "Hub: connected · healthy" → New link mintshttp://localhost:4444/s/…with Local-only chip; Copy/QR require the confirm click; QR renders after confirming.🤖 Generated with Claude Code