Skip to content

feat(files): add HTML previews and account-aware file access - #578

Merged
chadbyte merged 3 commits into
mainfrom
fix/owner-file-access
Oct 9, 2026
Merged

chadbyte merged 3 commits into
mainfrom
fix/owner-file-access

Conversation

@chadbyte

@chadbyte chadbyte commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Changes

Add sandboxed HTML/HTM previews with a source toggle, live refresh, and source-line navigation in the file viewer.

Allow the sole authenticated Clay account to open files outside the project using the server process's OS permissions, even with account login enabled. Multiple accounts without Linux isolation retain project boundaries; mapped Linux users retain their own OS permissions. Recheck the live account roster for requests and watch updates so adding a second account restores restrictions.

Validation

  • 36 focused authority, path, download, watch, and PlantUML tests pass after rebasing onto main.
  • HTML browser fixture and manual desktop/mobile interaction checks passed during implementation.
  • Diff whitespace check passed.

HTML previews support self-contained documents and absolute external resources; relative local assets are not yet supported. Linux identity routing is tested with mocks; actual UID switching was not tested on the macOS development host.

Render HTML and HTM documents with source switching and live updates.
Keep preview scripts isolated from Clay and dispose of them on close.
Preserve source navigation and the existing large-file fallback.

Verify browser interactions and 38 focused file and watcher tests.
Use the server process filesystem authority when OS-user isolation is
 disabled, regardless of Clay account login mode. Keep mapped Linux
operations bound to the authenticated OS identity without fallback.

Preserve project and file-browser authorization on requests and watches.
Cover external paths, symlinks, revocation, and real OS read denial.
Allow the sole authenticated account to use process file permissions.
Restore project boundaries for shared accounts without Linux isolation,
including existing file and directory subscriptions.
@chadbyte
chadbyte merged commit c4bca12 into main Oct 9, 2026
2 checks passed
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

This issue has been resolved in version 5.1.0-beta.1 (main).

To update, run:

npx clay-server@5.1.0-beta.1

-- Clay Deploy Bot

Build anything, with anyone, in one place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant