Skip to content

v0.22.0: hub Docker image, all binaries shipped, live config reloads

Choose a tag to compare

@github-actions github-actions released this 13 Jul 22:49
· 42 commits to master since this release

The Docker image is now a hub server. It ships the per-mode shellglass-hub as
its entrypoint, so hub flags pass straight through:

docker run <image> --bind 0.0.0.0:8080 --allow <id>:<slug>

BREAKING (image invocation only): the old docker run <image> hub … form —
hub as a subcommand of the universal binary — no longer works; drop the hub
word. Nothing else changes: session ids, secret keys, and the push/viewer
protocols are all untouched, so no re-derivation and no client/hub upgrade
coordination is needed.

Release archives now bundle every binary. The build always produced all seven —
the universal shellglass plus per-mode serve/push/hub/sessions/gen-key/
print-id — but the tarball shipped only the universal one. Each
shellglass-.tar.gz now contains all seven, so a hub-only box can run the
smaller shellglass-hub without building from source.

Open mirrors reload themselves when the fonts or CSS change. A viewer bakes its
@font-face rules into the page at load time and frames carry only cell data, so
restarting a push client (or a serve process) with a different --config used to
leave every already-open tab on the old fonts until a manual refresh. The
hub/serve now tag their rendering config and announce it to viewers, which
re-fetch when the tag they loaded with stops matching. Iframe-less embeds can't
reload the host page, so they fire a shellglass-reload event for the host to
handle instead. No protocol bump — it rides an SSE event older viewers ignore.

The bundled config.example.toml no longer detaches powerline arrows: it mapped
the E0B0-E0B3 separators to a font, overriding the viewer's built-in geometry
that bleeds each arrow flush against its segment bar. It now maps only the
codepoints that need a font (E0A0-E0AF, E0B4-E0D4) and leaves the arrows to the
seamless geometry.

No more spurious "not mirrored — please report" notices for sixel display and
scroll modes: the vendored vt100 now treats DECSDM (CSI ?80h/l) and the xterm
sixel-scrolling modes (CSI ?8452h/l) as deliberately ignored — shellglass
handles sixel through its own image path — instead of flagging them unhandled.