Commit Graph

  • ca2ff7093a Merge pull request '0.31.2 — the address the host used, from three directions' (#369) from worktree-release-0312-prep into main main v0.31.2 enricobuehler 2026-08-21 20:50:22 +00:00
  • a2dc011200 release: 0.31.2 — version bump, notes, CHANGELOG, Play notes worktree-release-0312-prep enricobuehler 2026-08-21 20:04:23 +02:00
  • 48eeae7527 Merge pull request 'The fixed-port firewall rules were open to every program on the machine' (#368) from worktree-firewall-program-scoped-rules into main enricobuehler 2026-08-21 14:14:10 +00:00
  • 0df4ca957f fix(host,windows): the fixed-port firewall rules were open to every program on the machine worktree-firewall-program-scoped-rules enricobuehler 2026-08-21 16:05:00 +02:00
  • 13aa11355e Merge pull request 'Video egressed from whichever interface routing picked, not the one the client dialed' (#367) from worktree-blackscreen-data-plane-source-ip into main enricobuehler 2026-08-21 12:31:44 +00:00
  • e989d7457f fix(host): video egressed from whichever interface routing picked, not the one the client dialed worktree-blackscreen-data-plane-source-ip enricobuehler 2026-08-21 14:06:48 +02:00
  • b05bb1dd48 A cold-booted host advertised 127.0.0.1 and never recovered (#366) enricobuehler 2026-08-21 12:04:15 +00:00
  • 2898f6b049 test(host): cover the interface fallback the boot race actually takes worktree-fix-frozen-local-ip enricobuehler 2026-08-21 13:34:44 +02:00
  • 4eb4e3465b refactor(host): end the mDNS re-announce loop with a channel, not a flag enricobuehler 2026-08-21 13:32:08 +02:00
  • 44cd5bfd81 Merge pull request 'The button correction fired on pads that never needed it' (#365) from worktree-android-pad-mapping-regression into main enricobuehler 2026-08-21 11:24:03 +00:00
  • 8977228a4b fix(host): a cold-booted host advertised 127.0.0.1 and never recovered enricobuehler 2026-08-21 13:21:52 +02:00
  • 6a82a602a1 fix(clients/android): the button correction fired on pads that never needed it worktree-android-pad-mapping-regression enricobuehler 2026-08-21 13:10:23 +02:00
  • fc3b2d0328 Merge pull request '0.31.1 notes: fold in #362, which is what makes the console's off switch work' (#364) from worktree-release-0311-foldin into main v0.31.1 enricobuehler 2026-08-20 20:37:56 +00:00
  • 1c1fd7d9bc release: 0.31.1 — fold in #362, which makes the console's off switch work enricobuehler 2026-08-20 22:37:01 +02:00
  • 1c60e641b3 Merge pull request 'The console's own settings never left the console, and the layer under a card missed its corners' (#362) from worktree-android-console-extra-keys into main enricobuehler 2026-08-20 20:03:42 +00:00
  • eda4b7ebd2 Merge pull request '0.31.1 — the video data port, the pad games could not see, and the buttons Android guessed wrong' (#363) from worktree-release-0311-prep into main enricobuehler 2026-08-20 20:00:14 +00:00
  • 730ac43169 release: 0.31.1 — version bump, notes, CHANGELOG, Play notes enricobuehler 2026-08-20 21:33:39 +02:00
  • c9a76287d8 fix(console-ui): the layer under a card takes the card's corner plus its own outset worktree-android-console-extra-keys enricobuehler 2026-08-20 21:44:55 +02:00
  • cbd3d02817 fix(clients/android): the console's Android rows were nested where serde flattens them enricobuehler 2026-08-20 21:44:46 +02:00
  • 2be444b329 Merge pull request 'A provider plugin can report which of its titles are running' (#361) from worktree-playnite-runstate into main plugin-kit-v0.4.4 enricobuehler 2026-08-20 19:22:10 +00:00
  • 669a1bc0ce The video data port was never open, and nothing could tell us (#360) enricobuehler 2026-08-20 18:48:28 +00:00
  • 8ff6fe6093 fix(host): regenerate the API spec, and stop the runstate tests colliding enricobuehler 2026-08-20 19:45:10 +02:00
  • 1758266bda chore(plugin-kit): export the running-report surface, and bump to 0.4.4 enricobuehler 2026-08-20 19:32:22 +02:00
  • d5fb1e4479 feat(host): a provider plugin can report which of its titles are running enricobuehler 2026-08-20 19:00:51 +02:00
  • ea3c9e1202 ci(docs-drift): baseline the new control-message constant worktree-data-plane-firewall-and-delivery-truth enricobuehler 2026-08-20 20:27:37 +02:00
  • 685c4bd99a Merge pull request 'A pad that was never there kept the console UI on, and the picture sat in the corner' (#359) from worktree-android-gamepad-ui-and-corner into main enricobuehler 2026-08-20 18:22:33 +00:00
  • 0519b057d5 fix(clients/android): a pad that was never there, and a picture in the corner worktree-android-gamepad-ui-and-corner enricobuehler 2026-08-20 18:53:29 +02:00
  • 33b029695f Merge pull request 'The gamescope prune deleted the compositor and shipped only its launcher' (#355) from gamescope-show-version-banner into main enricobuehler 2026-08-20 18:00:07 +00:00
  • 1f6f01cb76 Merge pull request 'The in-stream "Switch to Desktop" went unwatched on Nobara, and both distro families leaked an idled Game Mode' (#358) from worktree-nobara-gamemode-switch into main enricobuehler 2026-08-20 17:51:44 +00:00
  • fade2f7af3 Merge remote-tracking branch 'origin/main' into worktree-nobara-gamemode-switch enricobuehler 2026-08-20 19:48:15 +02:00
  • 6e4cc335c5 Merge pull request 'The console can switch itself off, and a TV remote can reach everything it offers' (#354) from worktree-console-ui-off-toggle into main enricobuehler 2026-08-20 17:46:35 +00:00
  • d9662c010d fix(gamescope): 0.31.0's idled takeover left nothing watching for "Switch to Desktop" enricobuehler 2026-08-20 19:33:19 +02:00
  • 2b0913cf53 Merge pull request 'A DualSense and an Elite Series 2 on a Fire TV pressed each other's buttons — Android reads the scancode now' (#357) from worktree-android-pad-hid-remap into main enricobuehler 2026-08-20 17:18:46 +00:00
  • 1280f697be fix(host,core): the video data port was never open, and nothing could tell enricobuehler 2026-08-20 19:14:49 +02:00
  • 3b39710a5a fix(clients/android): controllers Android has no key layout for stop landing on the wrong buttons worktree-android-pad-hid-remap enricobuehler 2026-08-20 18:37:20 +02:00
  • 19243c30b4 Merge pull request 'GameStream sessions built the XUSB pad that Steam cannot see — Xbox backend parity with the native plane' (#356) from worktree-gamestream-xbox-hid-parity into main enricobuehler 2026-08-20 16:33:41 +00:00
  • dfcffcdd50 fix(gamestream/windows): Moonlight sessions built the XUSB pad that Steam cannot see worktree-gamestream-xbox-hid-parity enricobuehler 2026-08-20 16:52:50 +02:00
  • f2b5b3e567 Merge pull request '0.31.0 release notes, re-cut on current main — and the bun install CI flake' (#351) from worktree-release-next-prep into main v0.31.0 enricobuehler 2026-08-20 07:50:58 +00:00
  • 6d7e6f71c0 release: 0.31.0 — verification pass before the tag worktree-release-next-prep enricobuehler 2026-08-20 09:42:02 +02:00
  • 9e3fba10c1 release: 0.31.0 — fold in the four commits that landed during the re-cut enricobuehler 2026-08-20 09:36:58 +02:00
  • fd4f032d20 ci: retry bun install — a truncated tarball reads as a corrupt package enricobuehler 2026-08-20 09:34:50 +02:00
  • 892e683f0e Merge remote-tracking branch 'origin/main' into worktree-release-next-prep enricobuehler 2026-08-20 09:24:01 +02:00
  • 7af6c323d0 Merge remote-tracking branch 'origin/main' into worktree-console-ui-off-toggle enricobuehler 2026-08-20 09:13:10 +02:00
  • 76e6618b84 fix(console-ui): Settings and the library are reachable without face buttons, for a TV remote enricobuehler 2026-08-20 09:06:05 +02:00
  • 7d2a8778d1 fix(nix): the prune deleted the compositor and shipped only its launcher enricobuehler 2026-08-20 07:02:22 +00:00
  • 6007bc42cd docs(client-settings): the console-off switch is in both places on Android, and neither row is offered on a TV enricobuehler 2026-08-20 08:40:59 +02:00
  • 16d54b73a1 feat(console-ui): the console can switch itself off, where there is a touch UI to switch off to enricobuehler 2026-08-20 08:35:01 +02:00
  • d60b1dda29 fix(nix): split the +pfhdr failure into its two possible stages enricobuehler 2026-08-20 06:39:28 +00:00
  • d7fa5847f1 Merge pull request 'Virtual displays: the Streamed-screen and session⇄game cards showed on both tabs — they join the Configuration tab' (#353) from worktree-displays-tab-dup into main enricobuehler 2026-08-20 06:38:08 +00:00
  • e473a4be7b fix(web): the Virtual displays page's trailing cards join the Configuration tab enricobuehler 2026-08-20 08:34:05 +02:00
  • 675030935a fix(nix): assert +pfhdr in the installed binary, not by running --version enricobuehler 2026-08-20 06:21:37 +00:00
  • 21d9190324 Merge pull request 'The fifth get-started screenshot — a client's host list — and the workflow change that made it reachable' (#352) from docs-host-list-shot into main enricobuehler 2026-08-20 06:19:35 +00:00
  • 7ae8866a5c Merge pull request 'Guides trim round 2: the five biggest pages each shed one prose category — −16%, no facts, anchors stable' (#350) from docs-guides-trim-round2 into main enricobuehler 2026-08-20 06:19:20 +00:00
  • a8099e0f5b docs(quickstart): the client host list — the fifth get-started screenshot, pulled from the pipeline the previous commit teaches to publish enricobuehlerandClaude Fable 5 2026-08-20 01:25:44 +02:00
  • b4b24f8b57 release: 0.31.0 — re-cut on d801cb72, folding in the 41 commits since #320 enricobuehler 2026-08-20 01:24:15 +02:00
  • c23fc84bef docs(guides): trim round 2 — each page sheds one prose category, no fact rows, headings or commands touched enricobuehlerandClaude Fable 5 2026-08-20 01:17:16 +02:00
  • 0e5a059098 fix(nix): pin gamescope's src to 5fb8dce4, like every other channel enricobuehler 2026-08-19 23:16:18 +00:00
  • 674b16d8eb linux-client-screenshots: publish the PNGs to the generic package registry too — the v3 artifact is browser-only, which blocked reusing the shots for the docs enricobuehlerandClaude Fable 5 2026-08-20 01:08:31 +02:00
  • d801cb72f2 Merge pull request 'Windows client: per-user installer + portable zip as the default download — a stable exe path Steam can launch (overlay, Big Picture); MSIX stays for the Store' (#349) from worktree-win-client-installer into main enricobuehler 2026-08-19 23:05:32 +00:00
  • b03acc9153 Windows client: ship a per-user Inno Setup installer + portable zip as the default download; keep the MSIX for the Store worktree-win-client-installer enricobuehler 2026-08-20 00:52:46 +02:00
  • ace01f06a2 Merge pull request 'Cut SDK 0.1.5 — the mgmt-endpoint fix cannot reach a plugin until it ships' (#348) from release-sdk-0.1.5 into main sdk-v0.1.5 enricobuehler 2026-08-19 22:51:11 +00:00
  • e4ec4cec31 chore(sdk): cut 0.1.5 — the mgmt-endpoint fix cannot reach a plugin until it ships enricobuehler 2026-08-20 00:50:46 +02:00
  • 245173a731 fix(nix): make the +pfhdr guard show the banner it actually read enricobuehler 2026-08-19 22:46:07 +00:00
  • 230d253b06 Merge pull request 'The Deck learns a host's wake MAC, so Wake-on-LAN can fire there at all' (#347) from worktree-deck-wol-learn-mac into main enricobuehler 2026-08-19 22:41:32 +00:00
  • def215ae8e Merge pull request 'Installer bedding-in (--uninstall, NVIDIA silent-failure checks, detection matrix as gate 7) and screenshots for the get-started track' (#346) from worktree-docs-phase2 into main enricobuehler 2026-08-19 22:40:55 +00:00
  • dfcc530ee7 installer bedding-in: --uninstall, NVIDIA silent-failure checks, the detection matrix as CI gate 7 — and the get-started track gets its screenshots enricobuehlerandClaude Fable 5 2026-08-19 23:56:19 +02:00
  • 6b5307618f Merge pull request 'KWin creates our virtual output disabled and refuses to stream it — enable it and retry' (#344) from worktree-kwin-vout-enable-repair into main enricobuehler 2026-08-19 20:48:43 +00:00
  • cdacd5636e Merge remote-tracking branch 'origin/main' into worktree-kwin-vout-enable-repair worktree-kwin-vout-enable-repair enricobuehler 2026-08-19 22:39:11 +02:00
  • 47f01149bf Merge pull request 'Guided Linux installer (preview): one command from nothing to a pairable host, running exactly what platforms.json states, smoke-tested in CI per package family' (#345) from worktree-wp4-install-script into main enricobuehler 2026-08-19 19:01:45 +00:00
  • 59ef285f08 process: the PR template asks whether a user-facing fact changed, and the release flow gets a docs-freshness step worktree-wp4-install-script enricobuehlerandClaude Fable 5 2026-08-19 21:01:00 +02:00
  • 5bec450402 install.sh: probe /dev/tty by opening it — a container has the node but no controlling terminal, so -r/-w said yes and the redirect failed (first installer-smoke run); name the matrix jobs by family enricobuehler 2026-08-19 20:57:02 +02:00
  • cd6ce34892 install.sh: a guided Linux installer (preview) that runs exactly the commands platforms.json states, with a CI smoke test per package family enricobuehlerandClaude Fable 5 2026-08-19 20:54:13 +02:00
  • 20568d988f fix(kwin): KWin creates our virtual output disabled and refuses to stream it — enable it and retry enricobuehler 2026-08-19 20:29:27 +02:00
  • 2a60f94f74 Merge pull request 'Land the WP2 docs rewrite on main (#340 merged into the already-merged #337 branch) and make docs-drift green again' (#343) from docs-wp2-to-main into main enricobuehler 2026-08-19 18:23:48 +00:00
  • 60406c9d72 Merge origin/main into the docs WP2 branch — bazzite.md was rewritten as bazzite.mdx here and re-touched by #342 there; #342's fact (the Gaming Mode takeover no longer needs the punktfunk group) is ported into bazzite.mdx and the four distro pages, and the Apple client's PUNKTFUNK_CORE_LOG_LEVEL (from #338) is baselined so docs-drift is green on main again. docs-wp2-to-main enricobuehler 2026-08-19 20:21:44 +02:00
  • 65f697651e Merge pull request 'The bun OOM is a 7 GiB cgroup cap, not a big build — measure it in the log' (#341) from nix-serialise-bun-builds into main enricobuehler 2026-08-19 18:18:28 +00:00
  • a00c4d2a6a Merge pull request 'Docs for two audiences: a get-started track that fits on one screen, a Switching-from-Sunshine page, and install commands quoted from platforms.json' (#340) from worktree-docs-wp2-rewrite into worktree-docs-wp0-wp1-anti-drift worktree-docs-wp0-wp1-anti-drift enricobuehler 2026-08-19 18:16:28 +00:00
  • e12ef6633c Merge pull request 'A stopped display manager left the box unable to switch sessions — idle its autologin instead' (#342) from worktree-kwin-vout-failed-permanent into main enricobuehler 2026-08-19 17:40:07 +00:00
  • 38a0f54b09 refactor(gamescope): delete the display-manager stop chain the idled takeover retired worktree-kwin-vout-failed-permanent enricobuehler 2026-08-19 19:38:57 +02:00
  • c420ae4676 Merge pull request 'The Apple client can send its logs to the host — and finally keeps a log worth sending' (#338) from worktree-apple-send-logs into main enricobuehler 2026-08-19 17:35:44 +00:00
  • bfd0de8973 docs: two audiences, one home per fact — get-started rewrite, a Switching-from-Sunshine page, and install commands quoted from platforms.json enricobuehlerandClaude Fable 5 2026-08-19 19:08:38 +02:00
  • 1dd5df0127 ci: the drift gate matched its own comment, and the OpenAPI snapshot was two versions stale enricobuehlerandClaude Fable 5 2026-08-19 19:07:56 +02:00
  • 08c45b96eb fix(nix): measure the cgroup cap instead of guessing at the bun OOM enricobuehler 2026-08-19 17:06:24 +00:00
  • a52d60e242 test(core): the log-sink collector asserts nothing itself — an extern "C" fn must not panic (hygiene gate B) enricobuehler 2026-08-19 19:02:21 +02:00
  • c2f5e91b3d fix(gamescope): a stopped display manager left the box unable to switch sessions — idle its autologin instead enricobuehler 2026-08-19 18:58:18 +02:00
  • 44cb7f7815 test(core): keep the SAFETY comment on the line before its unsafe block (rustfmt had split them) enricobuehler 2026-08-19 18:53:20 +02:00
  • 52b89a1592 style(core): rustfmt the log-sink additions enricobuehler 2026-08-19 18:47:47 +02:00
  • 57446f9ed9 feat(core): ABI v25 — punktfunk_set_log_callback, so the Apple client hears the core's log lines enricobuehler 2026-08-19 18:33:59 +02:00
  • a4f6e259e3 fix(nix): serialise the bun builds — punktfunk-web is OOM-killed beside scripting enricobuehler 2026-08-19 16:30:41 +00:00
  • 6d82716598 Merge pull request 'Android "Send logs to host": the logcat-teed ring uploads over the client's own mTLS' (#339) from worktree-console-ui-sendlogs-android into main enricobuehler 2026-08-19 16:28:27 +00:00
  • f584eebb92 feat(android): "Send logs to host" works from the console — the ring, teed from logcat, uploads over the client's own mTLS enricobuehler 2026-08-19 18:26:13 +02:00
  • cd0a370229 Merge pull request 'One home per fact: IA rules, docs drift gates in CI, and the READMEs stop restating the docs' (#337) from worktree-docs-wp0-wp1-anti-drift into main enricobuehler 2026-08-19 16:22:04 +00:00
  • 3301f5aa60 feat(clients/apple): Send logs to host — a bounded in-app log ring, posted to the paired host from the card menu and the gamepad host options enricobuehler 2026-08-19 18:17:59 +02:00
  • 1f0b12de6d Merge pull request 'The gamescope prune can't delete reshade — it installs under read-only directories' (#336) from gamescope-prune-writable into main enricobuehler 2026-08-19 14:42:29 +00:00
  • 3def50a88a Merge pull request '"Capture system shortcuts" on Mac reaches ⌘Space and ⌘Tab, with Accessibility' (#335) from worktree-apple-system-shortcut-tap into main enricobuehler 2026-08-19 14:40:15 +00:00
  • 8f9e451395 docs: one home per fact — IA rules, CI drift gates, and READMEs stop restating the docs enricobuehlerandClaude Opus 5 2026-08-19 16:39:39 +02:00
  • 0d22333831 Merge pull request 'Console-UI sweep: touch gestures, controller-audio rows, host-menu bind/clipboard, Android idle gates' (#333) from worktree-console-ui-sweep-wps into main enricobuehler 2026-08-19 14:26:32 +00:00
  • 47602f7e59 feat(apple): "Capture system shortcuts" reaches ⌘Space and ⌘Tab, with Accessibility enricobuehler 2026-08-19 15:55:02 +02:00
  • f415c7d090 Merge pull request 'Cut plugin-kit 0.4.3 — the sync-engine changes plugins cannot pick up otherwise' (#334) from release-plugin-kit-0.4.3 into main plugin-kit-v0.4.3 enricobuehler 2026-08-19 13:51:03 +00:00
  • e86c6367e1 chore(plugin-kit): cut 0.4.3 — the sync-engine changes plugins cannot pick up otherwise enricobuehler 2026-08-19 15:47:34 +02:00