Skip to content

chore: resync with upstream — dynamic port, auth, GenSpace delete UI#8

Draft
lmangani wants to merge 1 commit intomainfrom
resync-upstream-dynamic-port-auth-genspace
Draft

chore: resync with upstream — dynamic port, auth, GenSpace delete UI#8
lmangani wants to merge 1 commit intomainfrom
resync-upstream-dynamic-port-auth-genspace

Conversation

@lmangani
Copy link

@lmangani lmangani commented Mar 10, 2026

Backport from Lightricks/LTX-Desktop:

  • GenSpace (b55c1f7): Delete button on all asset types; mute next to time; subtle delete style (dark, red on hover).
  • Dynamic port + auth (c6068da): Backend binds to port 0, prints 'Server running on http://127.0.0.1:PORT'; auth_token middleware (Bearer/Basic/WebSocket ?token=); Electron generates token, parses ready line, exposes getBackend() { url, token }; frontend uses backendFetch() and backendWsUrl() with Authorization / token.
  • test_auth.py: Tests for 401 without token, Bearer/Basic, no-auth when token empty, WebSocket token query.

Backport from Lightricks/LTX-Desktop:

- GenSpace (b55c1f7): Delete button on all asset types; mute next to time;
  subtle delete style (dark, red on hover).
- Dynamic port + auth (c6068da): Backend binds to port 0, prints
  'Server running on http://127.0.0.1:PORT'; auth_token middleware
  (Bearer/Basic/WebSocket ?token=); Electron generates token, parses
  ready line, exposes getBackend() { url, token }; frontend uses
  backendFetch() and backendWsUrl() with Authorization / token.
- test_auth.py: Tests for 401 without token, Bearer/Basic, no-auth when
  token empty, WebSocket token query.

PYTHONNOUSERSITE and stdout/stderr→session log were already in fork.

Made-with: Cursor
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