66 lines
3.7 KiB
Markdown
66 lines
3.7 KiB
Markdown
# Validation — initial web preview
|
|
|
|
2026-09-29:
|
|
|
|
- `npm run typecheck`: passed.
|
|
- `npm run build`: passed. Vite reports a large inherited editor bundle; splitting
|
|
the editor into a lazy-loaded chunk is a future performance improvement.
|
|
- `npm test`: 8 tests passed (7 HTTP/media integrations + 1 error-presentation test).
|
|
- Browser smoke test against `scripts/ui-fixture.mjs`, which never contacts Athena:
|
|
sign-in; new project; reload and reopen saved project; Gen Space renders backend
|
|
model options; synthetic native API failure shows a recoverable error dialog;
|
|
timeline editor opens; synthetic 1-second clip upload/import returns dimensions
|
|
and thumbnail in the asset library.
|
|
- Source LTX-Athena working-tree changes left untouched.
|
|
|
|
Not verified yet: Docker image build/run on Debian, real LTX generation through
|
|
Athena Deck's selected Video endpoint, remote file permissions/mount paths,
|
|
long-running job recovery/cancellation, all editor interactions and all LTX modes.
|
|
No Athena service was started, stopped or reconfigured during this port.
|
|
|
|
The synthetic fixture uses a fixed public test password and isolated temporary
|
|
media storage on loopback port 18118. Never deploy that fixture as the real service.
|
|
Production start (`server/index.mjs`) requires an operator-provided password file.
|
|
|
|
## Athena deployment — 2026-09-29
|
|
|
|
Docker image built successfully on Athena (Debian), including TypeScript and Vite
|
|
checks. `ltx-deskweb` starts with UID 1000, read-only root filesystem, no GPU or
|
|
Docker socket, 2 CPUs / 1 GiB limit, host-loopback binding on 8118.
|
|
|
|
Verified: GUI HTTP 200; login/session/logout; forwarding to Deck's health endpoint;
|
|
synthetic text upload and readback through shared input storage (test file removed);
|
|
Deck's actual Unix-socket helper inventory returns `ltx-deskweb` as `running`.
|
|
Existing Medium, TTS, WireGuard and Deck remain running; LTX remains stopped.
|
|
Real video generation was not requested or tested in this deployment.
|
|
|
|
## Shared-input permission fix — 2026-09-29
|
|
|
|
A real I2V request exposed a cross-container permission error: private uploads
|
|
(0600 in a 0750 UID/GID-1000 directory) were invisible to LTX's UID/GID-0 process
|
|
because its container drops all Linux capabilities. Same bind mount/path did not
|
|
imply read permission. The API reported this as “Image file not found”.
|
|
|
|
Dedicated DeskWEB input directory now uses UID 1000 / GID 0, mode 2750; uploads,
|
|
asset copies and thumbnails use 0640. Athena GUI runs as 1000:0 with capabilities
|
|
still dropped. Only existing DeskWEB-owned input files had their permissions
|
|
corrected; no other media directory, backend container or GPU service was changed.
|
|
|
|
Validation: build/typecheck and all 8 tests pass; integration tests now assert
|
|
0640 on uploads, copies (including a 0600 source) and thumbnails. On Athena the
|
|
reported image's existence/read permission was verified from inside LTX without
|
|
opening its content. A fresh synthetic upload was also checked from LTX and then
|
|
removed. Only the GUI was recreated; real image generation remains a user retry.
|
|
|
|
## Browser viewport layout — 2026-09-29
|
|
|
|
Replaced desktop view-level `100vh` sizing with parent-relative heights. The web
|
|
shell owns `100dvh`; headers/status banners do not shrink, and the workspace takes
|
|
only the remaining height with `min-height: 0`. Information panels are internally
|
|
scrollable and height-limited. Home and Project no longer add a second viewport.
|
|
|
|
Typecheck, build and all 8 existing tests pass. In an isolated browser fixture at
|
|
720 px viewport height, document/shell height remains 720 px and the Generate
|
|
button's bottom stays at 693 px, both with the information panel open and closed.
|
|
No production prompts or media were used for this check.
|