-
Release 0.8.2 Stable
released this
2026-10-23 15:39:55 -04:00 | 0 commits to main since this releasev0.8.2 — New icon and the Keyworks identity
Orbita gets its new transparent logo, a clearer Keyworks Technology
identity, and thecloud.keyworks.orbitaapp id.🎨 Look & feel
- 🪐 New Orbita logo — the transparent ring/planet mark is now the Linux app
icon and the in-app sidebar and About mark. - 🏷️ Keyworks Technology — the sidebar, About section, window title, desktop
entry, appdata, web metadata and README credit the company.
🔑 Identity
- 🆔 New app id —
cloud.keyworks.orbitareplacescloud.sladertech.orbita
across Android, Linux, iOS and macOS. - 🖥️ Linux desktop identity — existing AppImages still launch; the new app id
changes the desktop/WM identity. - 🧹 One-time keychain reset — the storage keys moved to
orbita.*, so the
admin token and local preferences need to be entered again. - 💾 Signing key unchanged — existing release signatures and the embedded
public key keep working.
🚀 Releases
- 🧵 Tapestry — the release panel uses the
tapestryrepo and
tapestry-*artifacts. - 🛍️ Nyra — the release panel uses the
nyrarepo andnyra.apk.
🧱 Under the hood
dart analyzeclean, all tests green, Linux build succeeds.- The 1024×1024 master artwork lives at
docs/branding/orbita-icon.png.
📦 Assets
Attach the matching asset (and its
.sig) to install automatically:
Linuxorbita-0.8.2-linux.AppImage.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 🪐 New Orbita logo — the transparent ring/planet mark is now the Linux app
-
Release 0.8.1 Stable
released this
2026-10-22 18:59:12 -04:00 | 11 commits to main since this releasev0.8.1 — Update verification hardening
This patch makes release builds verify their own updates, locks down the
signing key, and hardens the release tooling.🔐 Security
- 🛡️ Signed updates in release builds — the AppImage build now embeds the
release-signing public key, so the updater verifies every downloaded artifact.
A build without the key fails instead of shipping unverified updates. - 🛑 Fail closed on updates — a release build with no embedded key refuses
to apply an update rather than trusting it. - 🔑 Signing-key permissions —
keygenwrites the private key with0600
permissions and warns if an existing key is group/world-readable. - 🙈 Site secrets redacted —
SiteInput.toStringno longer renders the
site secret or service-role key. - 📦 Container build pins — the Debian base image is digest-pinned and the
Flutter tarball is verified against its published SHA-256. - 🕵️ Token out of
ps— the Forgejo token is passed tocurlvia a
short-lived0600config file instead of a command-line header. - 🔗 Stricter update URLs — asset URLs with embedded credentials or a
non-Forgejo port are refused; Forgejo uploads don't follow redirects; a
non-HTTPS Forgejo base URL is rejected. - 🧭 AppImage path check — the updater only replaces a real
.AppImage
file whenAPPIMAGEis set.
🐛 Fixes
- 🧹 Doc comment — the update-service repo example now reads
orbita.
🧱 Under the hood
- Added regression tests for the update-URL port/credentials checks, the
non-HTTPS Forgejo base URL, and the upload redirect refusal. dart analyzeclean, all tests green.
📦 Assets
Attach the matching asset (and its
.sig) to install automatically:
Linuxorbita-0.8.1-linux.AppImage.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 🛡️ Signed updates in release builds — the AppImage build now embeds the
-
Release 0.8.0 Stable
released this
2026-10-22 12:17:32 -04:00 | 13 commits to main since this releasev0.8.0 — Orbita
Command Center is now Orbita — a new name, a new repo, and a new icon, with
the same license control plane underneath.🏷️ Rebrand
- 🪐 Orbita — the app is renamed from Command Center to Orbita, the
control plane that watches over the fleet. - 🎨 New icon — a deep-teal tile with a cyan orbit ring, a cream planet and
an amber accent, matching the Tapestry icon family. - 🪟 New identity everywhere — the window title, sidebar header, Linux
binary and app id, desktop entry, appdata and web metadata all read Orbita. - 📦 New repo — the Forgejo repository is now
admslader/orbita; release
tooling and the updater point at it.
🖥️ Platform
- 🐧 Linux — binary
orbita, app idcloud.sladertech.orbita, and the
desktop/appdata/icon files renamed to match. - 🤖 Android — namespace and application id
cloud.sladertech.orbita,
label Orbita. - 🍎 iOS/macOS — display name, bundle ids and product name updated.
- 🪟 Windows — project/binary name, window title and product metadata
updated. - 🌐 Web — title, manifest and description updated.
🛠️ Tooling
- 🚀 Release target — the app id, label and artifact name are now
orbita;
the AppImage isorbita-0.8.0-linux.AppImage. - 🔗 Repo references — the release repo,
FORGEJO_REPO, the appdata
homepage and the README/guide URLs point atadmslader/orbita. - 🧰 Dart package — renamed to
orbita; every import updated.
🔐 Compatibility
- 🔑 Settings survive — the keychain storage keys and the release-signing
key type are unchanged, so existing connections, settings and signing keys
keep working. - 📁 Local checkout — the working directory is still
command_center; only
the app and the remote repo were renamed.
🧱 Under the hood
dart analyzeclean, all tests green, Linux build succeeds.- New
docs/branding/naming.mdrecords the Keyworks product family (Orbita,
Tapestry, Nyra), taglines, visual system and domain plan.
📦 Assets
Attach the matching asset (and its
.sig) to install automatically:
Linuxorbita-0.8.0-linux.AppImage.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 🪐 Orbita — the app is renamed from Command Center to Orbita, the
-
Release 0.7.0 Stable
released this
2026-10-15 12:55:13 -04:00 | 26 commits to main since this releasev0.7.0 — Slate + Sage, and connection fixes
The theme moves to the shared Slate + Sage palette, and editing the control
plane's admin token now takes effect immediately.🎨 Look & feel
- 🟩 Slate + Sage palette — the accent moves from indigo to sage green
(with a lighter-sage app-bar icon tone and a neutral inset surface), matching
the other Sladertech apps in both light and dark mode. - 🔤 Inter typography — the shared UI font, bundled, with tabular figures so
dates and counts align in columns. - 🔲 Rounded, bordered surfaces — cards, dialogs, inputs, buttons and chips
round and space from one shared geometry scale. - 🏷️ Consistent status colours — Active, expiring-soon, expired, revoked and
awaiting states read the same across the dashboard, sites and seats views. - 🧭 Themed sidebar — the navigation rail, brand tile and control-plane
footer match the new look.
🐛 Fixes
- 🔑 Editing the admin token — changing the active connection's token (or
base URL) now takes effect immediately; previously the dashboard kept using
the old token until a restart. - 🪟 Window title — the Linux window now reads "Command Center" instead of
"command_center". - 🖥️ Window identity — the GTK application id now matches the desktop
entry'sStartupWMClass, so the dock/taskbar associates the window with its
launcher. - ⌨️ Token field focus — the edit dialog focuses the admin-token field when
it's the one to fill, so a paste lands in the right place. - ⚠️ Visible save errors — a failed connection save is now shown instead of
failing silently.
🧱 Under the hood
- New
ui/theme/app_colors.dart(palette theme-extension),tokens.dart
(radii + spacing + card surface) andtypography.dart;app_theme.dartis
built on them and maps the Material colour roles onto the palette. - Palette and geometry tokens are kept in sync with Task Tracker's
ui/theme/. dart analyzeclean, all tests green, Linux build succeeds.
📦 Assets
Attach the matching asset (and its
.sig) to install automatically:
Linuxcommand_center-0.7.0-linux.AppImage.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 🟩 Slate + Sage palette — the accent moves from indigo to sage green
-
Release 0.6.0 Stable
released this
2026-10-14 16:33:04 -04:00 | 37 commits to main since this releasev0.6.0 — A unified Slate + Indigo theme
Command Center now shares the same modern Slate + Indigo design system as the
other Sladertech apps — rounded surfaces, one indigo accent, and the Inter font.🎨 Look & feel
- 🪟 Rounded, bordered surfaces — cards, dialogs, inputs, buttons and chips
now round and space from one shared geometry scale. - 🟦 Slate + Indigo palette — a neutral cool-gray base with a single indigo
accent, in both light and dark mode. - 🔤 Inter typography — the shared UI font, bundled, with tabular figures so
dates and counts align in columns. - 🏷️ Consistent status colours — Active, expiring-soon, expired, revoked and
awaiting states read the same across the dashboard, sites and seats views. - 🧭 Themed sidebar — the navigation rail, brand tile and control-plane
footer match the new look. - 🗂️ Neater forms and dialogs — every input, menu and dialog inherits the
rounded, hairline-bordered treatment.
🧱 Under the hood
- New
ui/theme/app_colors.dart(palette theme-extension),tokens.dart
(radii + spacing + card surface) andtypography.dart;app_theme.dartis
rebuilt on them and maps the Material colour roles onto the palette. - Palette and geometry tokens are kept in sync with Task Tracker's
ui/theme/, so the apps stay visually unified. StatusChip.colorForremains the single status → colour mapping.dart analyzeclean, all tests green, Linux build succeeds.
📦 Assets
Attach the matching asset (and its
.sig) to install automatically:
Linuxcommand_center-0.6.0-linux.AppImage.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 🪟 Rounded, bordered surfaces — cards, dialogs, inputs, buttons and chips
-
Release 0.5.0 Stable
released this
2026-10-14 12:08:13 -04:00 | 40 commits to main since this releasev0.5.0 — Release management
Command Center can now build, sign and publish the vendor's apps from one place,
and licensing offers 1–5 year terms.✨ What's new
- 🚀 Releases panel — a new Releases screen lists each app (Command
Center, Task Tracker) with its local and published version and signing-key
status, and builds/signs/publishes it with a live log. - 🧰 Release orchestrator —
tool/release.dartdrives every app's own
tool/release.shfrom one place (status/keygen/publish). - 🗂️ Configurable app repos root — Settings → Releases points the panel at
where the app repos live (blank uses the working directory). - 📅 1–5 year terms — the issue/renew dialog and the default-term setting
now offer 1, 2, 3, 4 and 5 years (plus the 30-day trial).
🧹 Changes
- Connections folded into Settings — the active control plane is edited in
Settings → Control plane server; the separate Connections screen and the
app-bar switcher are gone. - The Releases panel no longer writes notes/versions — the agent prepares a
release (version, notes, commit, tag); the panel builds, signs and publishes.
🧱 Under the hood
- New
domain/release/,data/services/{forgejo_client,release_runner}.dart,
data/repositories/local_releases_repository.dart,logic/releases_cubit.dart
andui/screens/releases_screen.dart. dart analyzeclean, all tests green, Linux build succeeds.
📦 Assets
Attach the matching asset (and its
.sig) to install automatically:
Linuxcommand_center-0.5.0-linux.AppImage, Windows
command_center-0.5.0-windows.zip.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 🚀 Releases panel — a new Releases screen lists each app (Command
-
Release 0.4.0 Stable
released this
2026-10-13 20:43:13 -04:00 | 51 commits to main since this releasev0.4.0 — Hardened updates
Command Center now verifies every self-update before applying it, and the fleet
view groups machines by site.✨ What's new
- 📊 Stale machines on the dashboard — the overview rolls up machines that
haven't checked in for 7 days, and the Seats nav item carries a badge. - 🗂️ Fleet grouped by site — the Seats screen lists one collapsible card per
company, with machines nested under deployment sub-headings when a site spans
more than one deployment. The collapse state is remembered per control plane.
🔐 Security
- 🔏 Verified updates — the self-updater verifies each release artifact's
detached RSA-2048/SHA-256 signature (<asset>.sig) against an embedded
public key before applying it, and refuses a release whose signature is missing
or invalid. Asset URLs must be HTTPS on the Forgejo host, every redirect hop is
re-validated, and downloads are bounded by a size cap and an idle timeout. - 🔑 No token in release builds —
--dart-define=CONTROL_PLANE_ADMIN_TOKEN
is now debug-only; release builds require the token at runtime (stored in the
OS keychain), so it is never baked into a shipped binary. - 🔒 HTTPS required — control-plane URLs must be
https://(loopback
http://is allowed for local dev); the admin token travels in a header. - 🧱 Hardened Windows updater — the generated batch script rejects paths that
could inject commands. - 🛡️ Private download staging — updates stage in a private per-run temp
directory instead of the shared system temp. - 🌐 Web warning — the browser build warns that the admin token is kept in
browser storage, not a secure keychain.
🧱 Under the hood
- New
domain/update/release_crypto.dart(RSA primitives) and
update_signature.dart(UpdateSignatureVerifier);UpdateServiceverifies
the detached<asset>.sigand fails closed. - New
tool/release.sh+tool/sign_release.dartfor build → sign → publish. - AppImage tooling (linuxdeploy, GTK plugin) pinned and checksum-verified;
Android release builds use a real keystore whenkey.propertiesis present. dart analyzeclean, all tests green, Linux build succeeds.
📦 Assets
Attach the matching asset (and its
.sig) to install automatically:
Linuxcommand_center-0.4.0-linux.AppImage, Windows
command_center-0.4.0-windows.zip.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 📊 Stale machines on the dashboard — the overview rolls up machines that
-
v0.3.1 — Host detection Stable
released this
2026-10-12 16:05:48 -04:00 | 68 commits to main since this releasev0.3.1 — Host detection
Command Center now flags the machine that hosts a site's local Supabase, and
lets you create a site from a detected host.✨ What's new
- 🖥️ Host badge — the machine running a site's local Supabase (the
"host") is flagged Host, on both the Seats screen and in the site detail. - 🔎 Hosts only — a filter on the Seats screen to show just the hosts.
- 🏗️ Add a site from a host — Add site now offers the detected hosts
(GET /hosts); pick one to create its site (prefilled id/name) or start blank.
🧱 Under the hood
Seat.isHost(from the seat'sis_host);listHosts()and alistSeats
isHostfilter on the client/repository;SeatsCubit.detectedHosts().- Consumes
GET /hostsandGET /seats?is_host=true. dart analyzeclean, all tests green, Linux build succeeds.
📦 Assets
Attach the matching asset to install automatically:
Linuxcommand_center-0.3.1-linux.AppImage.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 🖥️ Host badge — the machine running a site's local Supabase (the
-
v0.3.0 — Seats Stable
released this
2026-10-12 12:53:13 -04:00 | 72 commits to main since this releasev0.3.0 — Seats
Command Center can now see the machines running your apps, not just the
sites and licenses.✨ What's new
- 🖥️ Seats screen — a fleet-wide list of every seat (machine + signed-in
user) across all sites; search by hostname / user / platform / site /
deployment, with a Stale only filter. Machines that haven't checked in for
7 days are flagged Stale. - 🏷️ Seats in the site detail — a site's machines, grouped by deployment
(lab / Supabase instance), each showing hostname, user, platform, app version
and last-seen. - 📇 Richer site detail — contact email, Supabase URL, notes and
created/updated are now loaded viaGET /site(minus secrets), and the edit
form prefills from it. - ⚠️ Grouping hint — when a site id looks like a fallback (
localhost/ an
IP), the detail view explains that the machines need a proper Site id to
group.
🧱 Under the hood
- New
Seat/SiteDetailsmodels;listSeats+getSiteon the control-plane
client and repository; aSeatsCubitwired to the active connection. - Consumes
GET /seatsandGET /site(admin); the apps report machines via the
publicPOST /seat. dart analyzeclean, all tests green, Linux build succeeds.
📦 Assets
Attach the matching asset to install automatically:
Linuxcommand_center-0.3.0-linux.AppImage, Windows
command_center-0.3.0-windows.zip.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 🖥️ Seats screen — a fleet-wide list of every seat (machine + signed-in
-
v0.2.0 — Self-updating Stable
released this
2026-10-12 11:03:35 -04:00 | 76 commits to main since this releasev0.2.0 — Self-updating
Command Center can now update itself from Forgejo releases, and the Sites list
does more without leaving the row.✨ What's new
- ⬆️ Self-updater — checks Forgejo for a newer release on launch and every
30 minutes; when one appears it shows the release notes, downloads the
platform asset, applies it, and relaunches. Release notes appear once, on the
next launch. - ⚙️ Settings → Updates — see the running version and check for updates on
demand. - 🖱️ Inline row actions — Sites rows now show a contextual Issue /
Renew button plus Revoke / Remove icons, instead of hiding
everything behind a ⋮ menu. Narrow windows fold the secondary actions into a
small overflow. - 🗂️ One list, not two — the redundant Licenses menu is gone; Sites is the
single place sites and their licenses are browsed, with a Sort: Attention /
Expiry toggle. - 📋 Copy site id now lives in the site detail view.
🧱 Under the hood
- New
domain/update,data/services/update_service.dart, and
logic/update/(controller + platform applier);UpdateGatewraps the app. - Linux packaging lives in
tool/(build_appimage.sh); this release ships a
Linux AppImage asset so the updater can install it. dart analyzeclean, all tests green, Linux build succeeds.
📦 Assets
Attach the matching asset to install automatically:
Linuxcommand_center-0.2.0-linux.AppImage.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- ⬆️ Self-updater — checks Forgejo for a newer release on launch and every