Commit graph

3 commits

Author SHA1 Message Date
b615339ae1 app: refresh in place on a new deploy instead of a hard reload
You had to reload the tab by hand to pick up a new build, and when the service
worker did reload it was an abrupt white flash. Now the build stamps version.json
with the commit and the running app (which already knows its own __GIT_COMMIT__)
polls it whenever the tab regains focus. When a newer build is live it cross-fades
a themed curtain (the theme's own --bg + accent spinner) and reloads, then holds
that curtain over the fresh load until the app mounts and fades it out - so it reads
as an in-place refresh, no flash, no manual reload.

If you're mid-message it waits until the composer is empty (or the tab is hidden)
before reloading, and a loop guard stops it re-reloading for a commit it already
tried. sw.js serves version.json network-only so the probe always sees the live id;
index.html restores the themed bg pre-paint so dark themes don't flash light.

Existing open tabs need one manual reload to pick up this machinery; after that it's
automatic.
2026-07-05 03:12:44 +00:00
reverse
978defcbf9 settings: add About section (app version/build/commit injected at build, AGPL source/project links); bump version to 1.0.0 2026-06-20 02:58:33 +00:00
76722c452a Initial commit — Orbit, a modern pluggable IRCv3 web client
TypeScript + React + Vite client with zustand state. IRCv3 caps (SASL,
message-tags, echo-message, chathistory, multiline, account-registration,
webpush, …), mIRC formatting, reactions/typing/read-markers, themes, PWA +
Web Push, and runtime config.json (webchat-style) for re-pointing/re-branding
without a rebuild. See CONFIG.md.
2026-06-18 19:49:50 +00:00