Skip to content

gadak v0.20.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 01:13
· 47 commits to main since this release

The shell is in the window, and it is the issue's shell. The terminal
dock is a band across the whole window now — one horizontal seam under the
sidebar, the list and a docked detail alike, a quarter of the height by
default, every column of the width (GDK-1352). The session roster is a
column on its left, as wide as the sidebar above it, so the window keeps
reading as navigation on the left and content on the right (GDK-1355).
And the dock has an appearance of its own: dark under every app theme,
because xterm's sixteen are a dark-ground palette and nine of them fell
under 3.0:1 on paper; follow if you want it in the app's colours, and a
Settings → Terminal tab for that, the font, scrollback and the cursor
(GDK-1357). The light palette declares its own sixteen — brick, moss,
ochre, indigo, plum, teal, readable greys for the two whites — as tokens
like any other, overridable through ui.tokens.colors (GDK-1358); the
block cursor is ink on its ground rather than a fill (GDK-1359); and the
pane paints its ground under the last row too (GDK-1354).

gadak claim typed in that pane binds the shell to the issue, and the
roster tab is named by the key. The README and the landing show exactly
that now, in gadak's own pane: the paper-terminal composites are retired
(GDK-1353).

A pass over the surface. The sidebar is a return path, not a table of
contents — a workspace row on top, quiet sections, one footer row
(GDK-1335). The list toolbar is one row until you narrow the view, rows
are 36px, the stale age is a number rather than a box, and the palette has
one door (GDK-1336). Every column screen — Documents, spaces, History,
dashboards, the feed — shares one header band (GDK-1339). The detail is
one property list under a chip row that keeps only what changes
(GDK-1337), its prose has a type scale and a wide-reading toggle
(GDK-1311), and the board's recent actors are faces (GDK-1338).
Every control reacts and nothing takes longer than 160ms; hover is a wash
of ink over whatever it sits on (GDK-1341). Copy link to this view pastes
the Jira navigator URL first and the app links after, the way the issue
detail's copy link already did (GDK-1343); the key of an issue you have
opened goes quiet, and one changed since carries a dot (GDK-1344); the
breakdown legend folds to +N more instead of squeezing labels to slivers
(GDK-1348); Switch to workspace is a palette action (GDK-1340).

The first run opens on "where do your issues live?" with nothing
preselected, says what gadak is before it asks for anything, and on the
built-in tracker the empty list invites the first issue instead of
promising a sync (GDK-1342, GDK-1345, GDK-1286, GDK-1287).

Back works everywhere — the first inbound round, all of it shipped.
@woojing brought five reports (discussion #80, issue #85), and every one
is in this release. Thank you.
Every place change goes through history — a linked issue, a person, a view,
a query — so the browser's back button does what it says (GDK-1296). The
detail's copy link pastes the origin's page first (GDK-1290); the settings
dialog keeps one width across tabs (GDK-1291); a dock click on a
fullscreen window stays fullscreen (GDK-1294); and a gadak:// link
naming a workspace this machine lacks is refused in a dialog instead of
replacing the app with a 404 page (GDK-1309). Along the way, issue links
open on their own origin, one branch per tracker with no fallback across
them (GDK-1149, GDK-1308).

Leaving and keeping. migrate --to linear sends a mirror into a Linear
team, idempotently (GDK-1265). gadak backup copies the built-in
tracker's record with the serve running (GDK-1277). A paired workspace
mirrors the home origin's wiki (GDK-1276), and pairing mint refuses a
loopback offer that could never bind (GDK-1266). Confluence sync excludes
personal spaces only, so team space types stay (GDK-1302).
docs/SUPPORT_MATRIX.md is the one table for Jira, Linear and the
built-in tracker, a citation per cell (GDK-1300), and the built-in
tracker is named once across the CLI and the docs (GDK-1285,
GDK-1288).

Fixed. edit -m - refuses an empty stdin instead of clearing the
description (GDK-1360). migrate onto the built-in tracker kept every
status name and lost every status category on a mirror whose
status_catalog had never been filled — Done and In Progress arrived as
open issues, and claim had no in-progress state to land on
(GDK-1361). A write typed into a named workspace's pane no longer opens
with warning: workspace: … (from GADAK_WORKSPACE) — the serve set that
variable to name the window's own workspace (GDK-1362). The freshness
chip names the origin's tracker, not Jira (GDK-1325); the phone's pairing
tab says Built-in (GDK-1321). Three defects the pre-tag audit found are
in: init --replace-standalone is accepted again, an issue with no origin
page no longer advertises "Open in Built-in", and migrate --to linear
maps a team whose only done state is canceled (GDK-1312, GDK-1313,
GDK-1314).


Changelog

Other

  • 70b914e audit v0.20 dock delta, fix round: the fourteen filed findings, in code (GDK-1365–1368, GDK-1370–1379)
  • d72d7a5 audit v0.20 dock delta: the roster × is back on the keyboard, and eight small precision fixes (GDK-1363, GDK-1364)
  • c0a7f23 audit v0.20: three pre-tag defects (GDK-1312, GDK-1313, GDK-1314)
  • 3f9e1d6 backlog snapshot: GDK-1307/1308 public; allow the flaky label
  • 20a8f2c backlog snapshot: GDK-1309 public (GitHub #85 mirror)
  • fab031d backlog snapshot: GDK-1348–1351 go public (doc-checks #23 on 0e310ed)
  • 9585598 backlog snapshot: v0.20 delta-audit findings (GDK-1310..1333) and GDK-1311 public
  • 6b39047 backlog-snapshot: publish GDK-1149/1265/1300/1301 for the support-matrix round
  • 4b26f33 backlog: publish the discussion #80 inbound keys
  • cd5093b backup: one copy of the built-in tracker's persist, serve running
  • 55967fe board: recent actors are faces, and the assignee's face is not repeated (GDK-1338)
  • 8645f08 changelog: v0.20.0
  • d4aefb1 claude.md: @theme tokens have a gate of their own (theme-check + token catalog)
  • 5fe9dd4 claude.md: a vocabulary rename eats contract strings
  • bd285a6 claude.md: the paired gdk mirror carries the wiki now
  • 8dba007 columns: one header band for Documents, spaces, History and dashboards (GDK-1339)
  • e9e0e3c columns: the header band never drops below 48px (GDK-1339)
  • 17e4860 confluence sync: exclude personal spaces, not everything but global (GDK-1302)
  • 564dc95 desktop test: the resize flake names where it is stuck (GDK-1192)
  • f5bb008 desktop: a dock click on a fullscreen window no longer leaves fullscreen (#82)
  • be729b7 desktop: a link to a workspace this machine lacks is refused, not a 404 page (GDK-1309) (#89)
  • c3495ce detail: "copy link" pastes the origin's page first (#84)
  • dbb126b detail: a type scale for issue and page prose, and a wide-reading toggle (GDK-1311, GDK-1333)
  • b1e5532 detail: one property list under a chip row that keeps only what changes (GDK-1337)
  • d320021 doc-checks: MCP tool text is a surface, so give it a gate
  • b002acf e2e: the built-in-origin label test opens a key whose search is unique (GDK-1313)
  • c6ae19f edit: -m - refuses an empty stdin instead of clearing the description (GDK-1360)
  • 2e5e98b feed: the same header band, and the header's right edge is one group (GDK-1339)
  • 73bb196 first run: no answer is picked, token guidance waits for the field, the built-in mirror says where it is (GDK-1345)
  • 6724446 first run: the sidebar waits, the empty tracker invites, the intro says what gadak is (GDK-1342)
  • 33a38db freshness chip: the tracker in the tooltip is the origin's, not Jira (GDK-1325)
  • a2a0d27 issue links: open the issue on its own origin, not a Jira browse URL (GDK-1149) (#86)
  • 486d5cc issue origin URL: one branch per origin type, no fallback across them (GDK-1308) (#88)
  • 93c55d1 list: Copy link to this view, the issue detail's three lines for a view (GDK-1343)
  • 424e11e list: an opened issue's key goes quiet, and one changed since carries the dot (GDK-1344)
  • fb1045c list: auto-promoted sort labels stay visible; onboarding helper picks Jira first (GDK-1343, GDK-1345)
  • 0e310ed list: breakdown legend folds chips to the strip's width instead of squeezing labels to slivers (GDK-1348)
  • 4fd7662 list: rows are 36px, and stale age is a number rather than a box (GDK-1336)
  • d6a4e41 list: the filter row is chips-only, the view link stays on the list, and the matrix names it (GDK-1343)
  • f73e46b list: the toolbar is one row, and the palette has one door (GDK-1336)
  • 672175e media: export-terminal takes both terminal shapes and names them apart (GDK-1353)
  • ec39ea3 media: re-shoot every scripted clip, still and poster on the 0.20 UI
  • 8e19010 media: the live terminal take trusts the pane's real cwd and runs a bare /bin/sh (GDK-1353)
  • 9716fe8 media: the terminal takes are the README and the landing's agent clips — a claim on camera, and the dead air cut (GDK-1353)
  • d23f643 migrate --to linear: a second destination for a mirror that leaves (GDK-1265)
  • 0b1dcfd migrate keeps status categories; a pane's own workspace is not a hidden selection (GDK-1361, GDK-1362)
  • f2a3670 mobile: the pairing tab's no-identity line is localized and says Built-in (GDK-1321)
  • 7b42492 motion: every control reacts, nothing takes longer than 160ms, hover is ink (GDK-1341)
  • b7e5aa8 onboarding: open on "where do your issues live?", speak the user's words (GDK-1287, GDK-1286)
  • 6236655 pairing: a paired workspace mirrors the home origin's wiki
  • 037bb5f pairing: mint refuses a loopback offer it discovered on its own
  • c91014e palette: Switch to and New workspace are actions (GDK-1340)
  • e3c6134 public surfaces: the phone app leaves the README and the landing until it ships
  • 7a77846 release: v0.19.3 manifests and state
  • f139e6d router: every place change goes through history, so back works everywhere (GDK-1296) (#87)
  • 67f149e settings: the dialog keeps one width across tabs (#83)
  • cc02383 sidebar: a return path, not a table of contents (GDK-1335)
  • 5b37e89 sidebar: the empty RECENT line fits one row
  • 9e03744 site ko: install page says built-in tracker, not standalone mode (GDK-1322)
  • 5a5f5a1 terminal: a paper-tuned ANSI sixteen, and a cursor that is ink on its ground (GDK-1358, GDK-1359)
  • 77f0326 terminal: the dock has an appearance of its own — dark under every theme, follow on request — and a settings tab (GDK-1357)
  • ec4fa1a terminal: the dock is a band across the whole window, and opens as one (GDK-1352)
  • 2c827bb terminal: the pane paints paper under the last row too (GDK-1354)
  • 66ea757 terminal: the session roster is a column on the dock's left, as wide as the sidebar (GDK-1355)
  • 0fee558 theme-check: an ink token is measured over its ground, not refused (GDK-1341)
  • d12ff93 token catalog: an ink token is catalogued as the colour it shows over bg-base (GDK-1341)
  • 7749571 tokencheck: regenerate catalog.json for the ink hover token (GDK-1341)
  • 9a994cf vocab: the built-in tracker, named once across cli and docs

Install / upgrade

brew install midagedev/tap/gadak     # first install
brew upgrade midagedev/tap/gadak     # upgrade
# or
curl -fsSL https://raw.githubusercontent.com/midagedev/gadak/main/scripts/install.sh | sh

Or download the archive for your OS/arch from this release, unpack it, and run:

./gadak init && ./gadak serve --sync

The web UI is embedded — the binary is the whole install. See the README for Docker and source builds. Running installs notice new releases on their own (daily anonymous check, updateCheck: false to opt out — see SECURITY.md).