Skip to content

feat: share presets and import versioned preset files - #393

Merged
theogravity merged 2 commits into
mainfrom
feat/share-and-import-presets
Oct 17, 2026
Merged

theogravity merged 2 commits into
mainfrom
feat/share-and-import-presets

Conversation

@theogravity

@theogravity theogravity commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Agent and SSH presets can now be shared with individual users or Everyone, with View and Edit access. Owners retain control of sharing and deletion, and both preset tables show the owner. Using a shared preset still requires the caller's node and SSH permissions; revoked preset access prevents future starts without stopping an existing subshell.

Presets can also be exported as <name>.preset JSON files and imported as private copies through the native file picker. Version 1 validates the file before saving, allows node remapping, and excludes ownership and sharing grants. Duplicate names appear beside the Name field. Cloning preserves stored settings and exact arguments.

Shared fact labels now use stronger visual hierarchy. Sharing controls stay disabled during saves, and import drafts survive Escape and outside clicks.

Validation:

  • Three independent review rounds; final pass found zero major or minor issues.
  • Build, types, lint, prose, design checks, and all 54 test tasks passed.
  • Browser checks covered both preset types, sharing permissions, export/import, duplicate-name recovery, and narrow layouts.
  • Regression tests cover access enforcement, revoked restarts, file validation, missing-node remapping, clone fidelity, owner attribution, and pending saves.

Includes database migration 0057 and server/docs changesets. Exported agent presets can contain environment secrets; the sharing and import UI explains this disclosure.

The Nodes list's Share action now opens sharing directly instead of navigating to config. Failed node-sharing reads block edits until a successful retry; focused and browser regressions cover the flow. Incremental review returned zero major or minor findings, and the full local verification passed again.

@theogravity
theogravity merged commit 4844bad into main Oct 17, 2026
21 checks passed
@theogravity
theogravity deleted the feat/share-and-import-presets branch October 17, 2026 20:16
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant