Skip to content

nebo.share names the device the page is open on - #10

Merged
localrivet merged 1 commit into
mainfrom
fix/share-names-its-client
Oct 9, 2026
Merged

localrivet merged 1 commit into
mainfrom
fix/share-names-its-client

Conversation

@localrivet

Copy link
Copy Markdown
Contributor

nebo.share now names the device the page is open on, so Nebo opens the Share dialog only there.

Nebo opens an app's page with ?client=<id> beside ?thread=. The id names the screen that opened the page: the desktop window, the web app, or the mobile app. share() reads it and sends it as client with the file. The bot stamps it on app_share_requested as client_id, and only that client opens the dialog. Before this change, a share made in the app on the phone also opened the dialog on the desktop.

  • src/share.ts: sends client, read from the page's URL the same way as thread.
  • dist/ is rebuilt. Nebo serves dist/nebo.global.js as /sdk/nebo.global.js (NeboLoop/nebo app/static/sdk).
  • README: added a line on where the dialog opens.

A bot from before this change ignores the extra field.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HtFKzcuyNHcb9tJBW1tz3e

Nebo opens an app's page with ?client=<id>, the screen that opened it,
beside ?thread=. share() now sends it with the file, so the Share dialog
opens only on that device: a share made in the app on the phone no longer
pops the dialog on the desktop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HtFKzcuyNHcb9tJBW1tz3e
@localrivet
localrivet merged commit cb31503 into main Oct 9, 2026
1 check passed
localrivet added a commit to NeboLoop/nebo that referenced this pull request Oct 9, 2026
…#776)

nebo.share broadcast app_share_requested to every client with no origin,
so the desktop came forward and opened the Share dialog for a share made in
the app on the phone or the web app (and for a #775 "Share a link" the page
answered there). The app page now opens with ?client=<clientId> beside
?thread=; the SDK sends it as `client` (NeboLoop/app-sdk#10; the body
survives the neboapp:// proxy and the tunnel); share_file stamps the event
with EventOrigin; the listener opens only through opensHere(data,
'nowhere'). An unclaimed share opens nowhere; the file is in Work either way.


Claude-Session: https://claude.ai/code/session_01HtFKzcuyNHcb9tJBW1tz3e

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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