Skip to content

release: 0.0.12 - #20

Merged
codejunction merged 15 commits into
mainfrom
feature/radio-perf
Oct 10, 2026
Merged

codejunction merged 15 commits into
mainfrom
feature/radio-perf

Conversation

@codejunction

Copy link
Copy Markdown
Owner

0.0.12: standalone build, sd-pty/sd-ui split, in-place updates, sectioned settings, radio.

  • Standalone Windows/Linux x64 archives on releases; installers default to it, --pip for uv tool
  • shelldeck supervisor runs sd-pty (shells) + sd-ui (web); UI restarts/updates keep shells
  • OTA from GitHub releases (sha256 checked), uv installs told to uv tool upgrade
  • Settings split into sections; boot logo finishes before page shows
  • Radio with volume, lower idle CPU, restore as plain lines

0.0.12rc2 verified from the published prerelease (standalone installer + uvx).

- top-bar radio plays cliamp radio channels; browser fetches radio.cliamp.stream/stations and streams it, server not involved
- server starts via venv shelldeck.exe on windows, so task manager shows shelldeck; linux sets process name via prctl
- process trees from one shared psutil snapshot per second (agents.descendants), not children() per terminal per poll (~25ms each on windows)
- boot screen max 0.6s, hidden tabs skip sidebar refresh
…napshot

- browser saves terminal text (plain lines, wrapped rows joined), not the serialize addon screen; serialize addon removed
- restored text kept apart from the live stream; sent as {type:"restored"} before output and on every connect
- browser pushes it into scrollback with its own rows, so the new shell no longer paints into old text after a refresh at another size
- first page load after a restart shows the restored text too (was only after a refresh)
- replaying is a counter: restored + scrollback writes overlap, the first callback let xterm's DA reply reach the shell
- test_agents resets the shared process snapshot
…skpass paths

- packaging/shelldeck.spec: one folder, shelldeck/sd-pty/sd-ui/sd exes sharing _internal, own FileDescription each
- release.yml standalone job: windows zip + linux tar.gz with .sha256, built from the release wheel; attached to tagged releases
- frozen.py: versions/<ver> layout, root sd.cmd/sd shims reading current.txt
- frozen hooks run '"<root>/sd.cmd" shelldeck.hook <agent>'; ownership matches both forms
- frozen askpass helper calls sibling sd.exe askpass
- side nav: Appearance, Terminal, AI agents, Updates, Password; one section at a time
- hints under fields instead of a footer paragraph
- Updates: current/latest from /api/update, Check now, Update (standalone) or uv tool upgrade hint
- Save hidden on Updates and Password (own buttons); phone: nav becomes a top strip
serve supervises sd-pty (owns shells) and sd-ui (web app). sd-ui
restarts alone for updates and sd restart; terminals keep running.
update.py checks GitHub/PyPI and installs standalone releases into
versions/<ver>. Boot overlay waits for the logo reveal.
- install.ps1/install.sh: download release archive + .sha256, verify, unpack to <root>/versions/<ver>, current.txt, sd shims, root on user PATH
- SHELLDECK_VERSION, SHELLDECK_ARCHIVE, SHELLDECK_ROOT, SHELLDECK_NO_MODIFY_PATH (or UV_NO_MODIFY_PATH)
- uv tool path kept: SHELLDECK_PIP=1, -Pip / --pip, or SHELLDECK_SOURCE; macOS and non-x64 fall back to it
- release.yml: standalone job runs the installer on the archive it just built
- README: both install modes side by side, updates per mode
@codejunction
codejunction merged commit ec84acd into main Oct 10, 2026
10 checks passed
@codejunction
codejunction deleted the feature/radio-perf branch October 10, 2026 20:53
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