nordisk/gunnar-ui
Commits
aca72084772eMerge gun-merge-engine/2026-11-01 into main (lanes GUN-MERGE-ENGINE, GUN-PR-CLOSED-REVIEW, GUN-PR-FIELD item 3): the pull request page says how Gunnar mergesd4fa4109a9feGUN-PR-CLOSED-REVIEW + GUN-PR-FIELD-2026-11-01 item 3 GREEN: no Review panel on a closed PR; merged outside Gunnarf68fc55a0323GUN-MERGE-ENGINE GREEN (console) + RED for GUN-PR-CLOSED-REVIEW and GUN-PR-FIELD item 3bdb33b1eeb9bGUN-MERGE-ENGINE RED: the pull request page must say how Gunnar merges and list conflicts10f359b6d9a7Merge hol311korp/identity-024 into main (lane HOL-311-KORP): the lock follows nornir-identity 0.2.4 (edda sibling path), entry only. Gate (oden ci4, sibling mains: holger 29c8242f, edda 82bbc28, tunnr 2fc7d74): cargo metadata --locked on every lock of gunnar, gunnar-ui, holger-ui, dwarves and holger (29/29)9217c3899a19Lock follows nornir-identity 0.2.4 (edda main 82bbc28, by path): the nornir-identity entry only (lane HOL-311-KORP)cc47079a604aMerge fix/gunfield-minor-2026-11-01 into main (lane GUN-FIELD-TEST): a guest reaches no Settings (the server sends them to sign in; the page draws only the sign-in line), a page without its own tab marks none, every page has a title (page, repository, site), the top bar note is read whole (RED 2e12f4a, GREEN e7b3397); every data table scrolls inside its wrapper, so Administration > Storage stays inside a phone (RED df34dda, GREEN 5d23de5). Gate (oden ci4, the branch on main 716908b): gunnar-ui-web lib 331/0, gunnar-ui-server anonymous 99/0 + auth 71/0 (public-site), wasm32 check (also metered), clippy -D warnings (web wasm32, server --all-targets sso,public-site,forges); browser (gunfield-ssh image, oden): a guest on /{ns}/{name}/settings lands on the login page, no tab marked on a guest PR page, titles per page, the note 265 px and whole, /admin/storage 385/385 at 400 px5d23de5d6c1aGREEN GUN-FIELD-TEST: every data table scrolls inside its wrapperdf34dda95d29RED GUN-FIELD-TEST: every data table scrolls inside its wrappere7b3397d7057GREEN GUN-FIELD-TEST: a guest reaches no Settings, a page without its tab marks none, every page has a title, the account note is read whole2e12f4a5e027RED GUN-FIELD-TEST: a guest reaches no Settings, a page without its tab marks none, every page has a title, the account note is read whole716908bb28c0Merge fix/gunfield-matrix-checkmerge-2026-11-01 into main (lane GUN-FIELD-TEST): the console matrix merge rows follow CheckMerge (red before in the full matrix, 3/3 after in localhost/gunnar-ui-browser:gunfield-ssh)470e555d9d38uitest GUN-FIELD-TEST: the merge rows follow CheckMerge: no Merge button where gunnar would refuse, gunnar reason shown0cf165257f21Merge fix/gunfield-guest-pulls-2026-11-01 into main (lane GUN-FIELD-TEST): a guest on the pull request pages reads that pull requests are read signed in, not that their session ended (RED 8c91481, GREEN 3bfce8c). Gate (oden ci4, merged tree): gunnar-ui-web lib 325/0, wasm32 clippy -D warnings clean3bfce8c43f26GREEN GUN-FIELD-TEST: a guest on the pull request pages reads the guest line, not a lost session8c91481d4540RED GUN-FIELD-TEST: a guest on the pull request pages is not told their session endedbb90ce2bbd2cMerge fix/gunfield-browser-image-ssh-tf-2026-11-01 into main (lane GUN-FIELD-TEST): the browser image carries the OpenSSH client the console matrix spawns (RED 69a3d97, GREEN edc889a). Gate (oden ci4, the tree with all three merged): gunnar-ui-web lib 324/0, gunnar-ui-server lib (public-site) 717/0, contract 8/8, xtask browser_step 6/6 + trunk_pin 2/2, wasm32 check + clippy -D warnings, clippy -p gunnar-ui-server -p gunnar-public-site --all-targets (sso,public-site,forges) clean; the image built from this recipe (localhost/gunnar-ui-browser:gunfield-ssh) has ssh, ssh-keygen, git and chromiumc489c9f54e91Merge fix/gunfield-namespace-page-2026-11-01 into main (lane GUN-FIELD-TEST): a namespace page the sitemap names holds its public repositories in the first HTML, with canonical, og:url and JSON-LD (RED e8ded22, GREEN 7a0bb42)0d5ad0bcfb1eMerge fix/gunfield-ui-followup-2026-11-01 into main (lane GUN-FIELD-TEST): the merge reason is gunnar sentence without the control plane prefix, and /cli install lines wrap on a phone (RED 8c6a9a0, GREEN 6c52856)edc889aeccf7GREEN GUN-FIELD-TEST: the browser image carries the OpenSSH client the console matrix spawns69a3d97d800bRED GUN-FIELD-TEST: the browser image carries what the console matrix spawns7a0bb42215d9GREEN GUN-FIELD-TEST: a namespace page lists its public repositories in the first HTML6c528560bbeeGREEN GUN-FIELD-TEST: the merge reason is gunnar sentence alone, and /cli lines wrape8ded22b56bbRED GUN-FIELD-TEST: a namespace page the sitemap names holds its public repositories8c6a9a05f470RED GUN-FIELD-TEST: the merge reason without the control plane prefix, and /cli install lines that wrap on a phoned23ef78d5755Merge fix/gunfield-console-audit-2026-11-01 into main (lane GUN-FIELD-TEST): the console audit fixes: the README opens in its plain grade below 640 px; /cli without downloads offers crates.io and draws no failure; forge import off is a hint, and the connected-forge panel is not drawn then; at most five chips per commit and +N more; no sideways page at 400 px from a wide table or the header buttons (RED 1929e7e, GREEN b79ad0e; RED 966d11b, GREEN b6fbe1d)b6fbe1d897cbGREEN GUN-FIELD-TEST: a phone gets no sideways page from a wide table or the header buttons966d11b9a4deRED GUN-FIELD-TEST: no sideways page at 400 px on /repos and /access7c4f34495c7bMerge fix/gunfield-pr-view-2026-11-01 into main (lane GUN-FIELD-TEST): the pull request page draws its description as the server-rendered markdown, offers Merge only when gunnar CheckMerge says yes and shows gunnar sentence otherwise, and spaces its buttons (RED 68b63c6, GREEN c31426d; needs gunnar >= 10a03b8a for the check, an older gunnar keeps the button). Gate (oden ci4, this merged tree, gunnar sibling at 10a03b8a): contract 8/8, api::prs 3/3, pull_view 2/2; on the branch also wasm32 check + clippy -D warnings and gunnar-ui-server clippy --all-targets cleanb79ad0e033f6GREEN GUN-FIELD-TEST: the console audit fixesc31426d32001GREEN GUN-FIELD-TEST: the pull request page draws the server's markdown, Merge or gunnar's reason, and a spaced row1929e7e60372RED GUN-FIELD-TEST: the console audit (README on a phone, /cli without downloads, forge import off, a crowded commit)68b63c6003a9RED GUN-FIELD-TEST: a pull request page draws its description as markdown, offers Merge only when gunnar would take it, and spaces its buttonsdfbe66b904f2Merge fix/gunfield-matrix-2026-10-31 into main (lane GUN-FIELD-TEST): the console matrix rows follow the GUN-GUEST addresses (readme link, tab row, delete button), a stranger on a site with guests off is sent to the login page with next, the import row is not failed by forge import switched off, the usage row reads the live free bytes within 1 % (ad50b5f, parked as WIP during the oden outage, verified here). Red before (uitest from main, oden 2026-11-01, gunnar-ui main bundle 4bb3f77): 6 of these rows red, the usage row a flake (red 2026-10-31). Green after (this uitest, same binaries and bundle): 254 rows, 216 PASS, 38 NOT RUN (no bench monetize, fake IdP or sk-fixture), 0 other red. uitest builds --release --locked (uitest is not clippy-clean on main: 15 lints, none in these lines)ad50b5f8bcb6WIP GUN-FIELD-TEST: uitest rows follow the GUN-GUEST addresses, the usage row reads one statvfs (unverified)4bb3f77372daMerge fix/gunfield-trunk-pin-2026-10-31 into main (lane GUN-FIELD-TEST): Trunk.toml wasm_bindgen follows the lock, 0.2.129 (RED 686c04a, GREEN 8a04ab2). Gate (oden ci4): xtask trunk_pin 2/0aa4a48685c57Merge fix/gunfield-refs-pages-2026-10-31 into main (lane GUN-FIELD-TEST): the Settings default-branch picker and the graph ref chips read every page of /refs (RED 54d6a3a, GREEN 9cbb214). Gate (oden ci4, on this tree): gunnar-ui-web branches 10/0, wasm32 check and clippy -D warnings clean8a04ab249217GREEN: the console trunk pin is the wasm-bindgen in the lock (GUN-FIELD-TEST, 2026-10-31)686c04a882adRED: the console trunk pin is the wasm-bindgen in the lock (GUN-FIELD-TEST, 2026-10-31)9cbb214cf9c1GREEN: the Settings default-branch picker and the graph ref chips read every page of /refs (GUN-FIELD-TEST, 2026-10-31)54d6a3a3c550RED: the Settings default-branch picker and the graph ref chips read every page of /refs (GUN-FIELD-TEST, 2026-10-31)567e2305302cMerge sshsig-0.1.2-follow into main (lane GUN-REPLAY-GUARD-FOLLOW): the lock follows nornir-auth-sshsig 0.1.2 (edda 72138a2, replay guard per key). Only that package moves. Gate (oden ci4): cargo metadata --locked, cargo check --locked -p gunnar-ui-server --features metered630d92fc3899Merge gunseo/guards-2026-10-31 into main (lane GUN-SEO-GUEST): guards for the copy text in the first HTML at the one www URL, www in every crawler URL, no private repository in crawler output, and the guest browser test (typeset README at the indexed address). Gate (oden, gunnar-ui-browser c3ecdcf7f2869b7e): xtask ci --quick GREEN 6/6, clippy clean9b6ca57ff2fcGUARD GUN-SEO-GUEST: crawlers read the copy text at the one www URL a guest opens0c04f9ada5afLocks follow nornir-auth-sshsig 0.1.2 (lane GUN-REPLAY-GUARD-FOLLOW)6299818cf6a8Merge fix/pr-branch-picker-pages into main (lane HENRIK-FLOW-MERGE): the pull request form picks from every branchb337a7197ca4GREEN: a branch picker reads every page of /refs (Henrik, 2026-10-31)8c0b6c4f7eeeRED: a branch picker reads every page of /refs (Henrik, 2026-10-31)9f69ba6cdc85Merge ossfsilver/gix-090 into main (lane OSSF-SILVER-CODE, row GIX-090): gix 0.90 with Gunnar's crates69b48ee33848Merge remote-tracking branch 'origin/main' into ossfsilver/gix-090