Skip to content

Give the protocol page the WebSocket path and the token's other forms - #48

Merged
thelamer merged 1 commit into
linuxserver:mainfrom
ehfd:selkies-token-fragment
Oct 27, 2026
Merged

thelamer merged 1 commit into
linuxserver:mainfrom
ehfd:selkies-token-fragment

Conversation

@ehfd

@ehfd ehfd commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Rebased on main, where the 2.1.0 sync (6ea2f4c, 07abf8d) already documents the token in the fragment, /api/tokens in place of the 8083 control port, the api location, the print spool's default, PAPERSIZE, and the interposer sockets in XDG_RUNTIME_DIR, so those changes are dropped. What the protocol page still lacked:

  • The data WebSocket is at <subfolder>api/websockets, where the page still had the v1 images' <subfolder>websocket.
  • A fragment token can follow a role or display keyword, #display2-right&token=<token>.
  • A caller behind a Basic login presents the master token in Selkies-Authorization; Authorization is tried first.

Tested:

  • mkdocs build --strict after rebasing on main (with docs/requirements.txt and d2 0.9.0): no warnings or errors.
  • Against Selkies 2.1.0's source: stream_server.py takes the master token from Selkies-Authorization when Authorization does not carry it, and the web client's page-url.js reads token= beside a keyword in either order.
  • Before the rebase, Selkies main (3291323) behind the port 3000 server block of the baseimage's root/defaults/default.conf (master), with its placeholders filled as init-nginx fills them, in nginx 1.31.6: in Chrome, Firefox, and WebKit, /#token= streams, the socket request is GET /api/websockets offering selkies, selkies.token.* and answered 101 with selkies, and no request line or Referer that nginx logged carries the token. POST /api/tokens through nginx answers 200. The same holds under a subfolder with the block's auth_basic lines enabled, as PASSWORD enables them, behind a proxy that sets the container's Basic login on every request, as SealSkin's Caddy does. ?token= streams as before.
  • Before the rebase, in ghcr.io/linuxserver/webtop:ubuntu-kde itself, running Selkies main (1251515) through the image's dev mode (DEV_MODE=selkies-dashboard): in Chrome 154, Firefox 156, and WebKit, /#token= streams the KDE desktop, the socket request is GET /api/websockets with no query, and no line of the image's nginx access log or of the container's log carries the token. ?token= streams as before.

@ehfd
ehfd force-pushed the selkies-token-fragment branch from a916141 to 527cfa2 Compare October 1, 2026 03:13
@ehfd
ehfd marked this pull request as ready for review October 3, 2026 15:00
Copilot AI balanced review requested due to automatic review settings October 3, 2026 15:00

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ehfd
ehfd marked this pull request as draft October 3, 2026 15:18
@ehfd
ehfd force-pushed the selkies-token-fragment branch from 527cfa2 to ed6cdcf Compare October 5, 2026 07:25
@ehfd ehfd changed the title Document the session token in the fragment and the /api/tokens endpoint Document the session token in the fragment, the /api/tokens endpoint, and the print spool and paper Oct 5, 2026
@ehfd ehfd changed the title Document the session token in the fragment, the /api/tokens endpoint, and the print spool and paper Document the session token in the fragment, the /api/tokens endpoint, the print spool and paper, and the interposer sockets Oct 8, 2026
@ehfd
ehfd marked this pull request as ready for review October 21, 2026 10:21
@ehfd

ehfd commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

@thelamer

…n's other forms

The pages document the session token in the fragment and /api/tokens
since the 2.1.0 sync, but the protocol page still connected to the v1
images' websocket location, and left out a fragment token after a
role or display keyword and the Selkies-Authorization header, which
carries the master token for a caller behind a Basic login.
@ehfd
ehfd force-pushed the selkies-token-fragment branch from ff2b736 to c7d66e2 Compare October 27, 2026 05:31
@ehfd ehfd changed the title Document the session token in the fragment, the /api/tokens endpoint, the print spool and paper, and the interposer sockets Give the protocol page the WebSocket path and the token's other forms Oct 27, 2026
@thelamer
thelamer merged commit d8b86e6 into linuxserver:main Oct 27, 2026
3 checks passed
@LinuxServer-CI LinuxServer-CI moved this from PRs to Done in Issue & PR Tracker Oct 27, 2026
@ehfd
ehfd deleted the selkies-token-fragment branch October 27, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants