Commit Graph

  • 1fd4c97139 feat(rpm): wire per-package GPG signing (dormant until a key secret is set) enricobuehler 2026-06-15 10:46:27 +00:00
  • 9e015304ee docs(dist): end-user install front door + serve/pairing/firewall accuracy fixes enricobuehler 2026-06-15 10:43:12 +00:00
  • 5b3d5689bf docs(windows-host): SendInput mouse injection live-validated on RTX 4090 enricobuehler 2026-06-15 10:40:16 +00:00
  • 837b6fabb1 feat(dist): aarch64 honesty, Debian KWin-unit parity, cargo-audit CVE scan (P1/P2) enricobuehler 2026-06-15 10:34:32 +00:00
  • 4b6eaa8cf3 docs(windows-host): native 4090 build loop + the gotchas that bit us enricobuehler 2026-06-15 10:33:12 +00:00
  • fe9921cc1c fix(dist): kill the version-shadow + add build provenance (P0) enricobuehler 2026-06-15 10:30:21 +00:00
  • b0df291ffe feat(android): pairing/identity — persistent identity, TOFU pinning, SPAKE2 PIN ceremony enricobuehler 2026-06-15 12:28:58 +02:00
  • 802e98d3a3 feat(packaging): bundle the web console into the RPM / Arch / bootc host packages enricobuehler 2026-06-15 09:56:58 +00:00
  • 3167c936c0 feat(android): mDNS host discovery (NsdManager) in the connect screen enricobuehler 2026-06-15 11:32:09 +02:00
  • a7c5d4256c docs(windows-host): NVENC live-validated on RTX 4090 + real-GPU box notes enricobuehler 2026-06-15 09:19:20 +00:00
  • 7654b20b2a fix(host/windows): NVENC capture on real GPU + HOME-less config dir enricobuehler 2026-06-15 09:18:15 +00:00
  • bf65d264fd ci: bound runner disk + bust the disk-full-corrupted cargo target cache enricobuehler 2026-06-15 09:10:56 +00:00
  • df005e2963 feat(packaging/web): bundle the web console into the apt install (punktfunk-web) enricobuehler 2026-06-15 08:50:40 +00:00
  • b2a335122e build(web): node-server preset (apt-native runtime, no bun dependency) enricobuehler 2026-06-15 08:45:29 +00:00
  • b2e5878711 feat(host/mgmt): HTTPS + token auth by default (no loopback no-auth fallback) enricobuehler 2026-06-15 08:42:28 +00:00
  • 104639bcc1 feat(android): DualSense host->client feedback — rumble + lightbar/LEDs/triggers enricobuehler 2026-06-15 10:30:32 +02:00
  • 1e871854cd feat(android): gamepad forwarding — buttons + sticks/triggers/dpad → send_input enricobuehler 2026-06-15 10:06:56 +02:00
  • 2bca89c555 feat(host/windows): Steam library auto-discovery on Windows enricobuehler 2026-06-15 07:59:21 +00:00
  • 66f579461f feat(host/windows): GameStream (Moonlight) audio on Windows — stereo enricobuehler 2026-06-15 07:56:11 +00:00
  • 95c4058582 fix(web): default mgmt proxy to the HTTPS self-signed mgmt API enricobuehler 2026-06-15 07:50:41 +00:00
  • ff1cc6c6d9 feat(android): input forwarding — keyboard + touch trackpad → send_input enricobuehler 2026-06-15 09:49:26 +02:00
  • e3de19b52e test(host): make two host tests portable to Windows enricobuehler 2026-06-15 07:49:01 +00:00
  • 9c61b03101 feat(host/windows): ViGEm rumble back-channel + Windows clippy clean enricobuehler 2026-06-15 07:43:40 +00:00
  • 7d5dbd47b7 fix(host/dualsense): heartbeat virtual DualSense so it isn't dropped when idle enricobuehler 2026-06-15 07:37:49 +00:00
  • 01305c67a7 fix(apple/gamepad): resolve DualSense type reliably at connect (no Auto race) enricobuehler 2026-06-15 07:31:39 +00:00
  • b8a1b7e469 feat(host/windows): host→client Opus audio — vendored libopus on MSVC enricobuehler 2026-06-15 07:30:00 +00:00
  • 8c8d576e52 feat(android): host→client audio — Opus → AAudio (LowLatency) enricobuehler 2026-06-15 09:25:16 +02:00
  • 38cce754bd docs: mark session-aware follow-ups #2 (switch input) + #3 (vout primary) resolved enricobuehler 2026-06-15 07:12:29 +00:00
  • 336357643c feat(host): KWin virtual output primary + settle portal env on switch enricobuehler 2026-06-15 06:49:53 +00:00
  • 2448a33698 style(host/windows): rustfmt the Windows backends enricobuehler 2026-06-15 01:50:16 +00:00
  • 5cf7b561b5 docs(windows-host): gamepad done; audio/rumble/GPU-validation remaining enricobuehler 2026-06-15 01:48:23 +00:00
  • 8cba886c17 feat(host/windows): ViGEm virtual gamepad backend enricobuehler 2026-06-15 01:46:51 +00:00
  • 1a9a733f02 docs(windows-host): all backends landed; NVENC build/run + dev-loop notes enricobuehler 2026-06-15 01:40:52 +00:00
  • 69ba6ec45d feat(host/windows): NVENC D3D11 hardware encoder (--features nvenc) enricobuehler 2026-06-15 01:39:46 +00:00
  • 04b76ebfc7 feat(host/windows): run serve/m3-host on Windows (config paths + compositor) enricobuehler 2026-06-15 01:15:51 +00:00
  • 9c2499fd45 feat(host/windows): DXGI Desktop Duplication capture backend enricobuehler 2026-06-15 01:06:21 +00:00
  • 45e5157091 feat(host/windows): WASAPI loopback audio capture enricobuehler 2026-06-15 00:57:19 +00:00
  • cbbeaa5c29 feat(host/windows): openh264 software H.264 encoder (GPU-less path) enricobuehler 2026-06-15 00:43:19 +00:00
  • cce2eb60f6 feat(host/windows): SendInput input-injection backend enricobuehler 2026-06-15 00:34:40 +00:00
  • 2264474c68 Merge remote-tracking branch 'origin/main' enricobuehler 2026-06-15 00:05:58 +00:00
  • 26741feada feat(host/windows): SudoVDA virtual-display backend (control path) enricobuehler 2026-06-15 00:05:40 +00:00
  • de7b8ac282 feat(android): video decode pipeline — NDK AMediaCodec → SurfaceView enricobuehler 2026-06-15 02:03:32 +02:00
  • 9775794ba5 docs: known limitations + follow-ups for the session-aware host enricobuehler 2026-06-14 23:53:45 +00:00
  • 8534959021 fix(ci/flatpak): cargo-sources generator needs python3-tomlkit, not toml enricobuehler 2026-06-15 01:47:09 +02:00
  • 8956bc14de feat(packaging/flatpak,decky): Steam Deck client flatpak + plugin deploy + CI enricobuehler 2026-06-15 01:43:35 +02:00
  • 79217eb93d feat(android): scaffold the native Android client (Rust-heavy JNI bridge) enricobuehler 2026-06-15 01:37:46 +02:00
  • c9e90d4a59 docs(windows-host): host-first plan + SudoVDA protocol + no-GPU strategy enricobuehler 2026-06-14 23:30:24 +00:00
  • 5fddaac6af fix(host): compile punktfunk-host on windows (x86_64-pc-windows-msvc) enricobuehler 2026-06-14 23:30:24 +00:00
  • f869b434ba fix(host): input follows session per-connect + restore-guard on desktop switch enricobuehler 2026-06-14 23:14:36 +00:00
  • c5ee9871ec style(host/gamescope): wrap long PENDING_RESTORE assignment (rustfmt) enricobuehler 2026-06-14 22:50:31 +00:00
  • 95a820b68a feat(host/m3): mid-stream session-switch watcher (Feature B, opt-in) enricobuehler 2026-06-14 22:42:13 +00:00
  • c25706b355 feat(host/gamescope): managed-default Gaming with debounced TV-restore enricobuehler 2026-06-14 22:34:33 +00:00
  • 66c2bee183 feat(packaging/bazzite): one-shot KDE Desktop-mode setup for the host enricobuehler 2026-06-14 22:26:21 +00:00
  • 6f77574876 feat(host/vdisplay): per-connect active-session backend selection enricobuehler 2026-06-14 21:41:51 +00:00
  • 0bc60ebc44 fix(host/gamescope): free Steam from the autologin TV session while streaming enricobuehler 2026-06-14 19:38:58 +00:00
  • a59abe2e3e fix(apple/gamepad): reclaim the PS/Home button from the macOS system gesture enricobuehler 2026-06-14 18:05:24 +00:00
  • 36107018a8 feat(apple/library): mTLS — authenticate by the paired identity, drop the token enricobuehler 2026-06-14 17:47:19 +00:00
  • b4a85a8610 feat(host/mgmt): mTLS auth — a paired client's cert authorizes the REST API enricobuehler 2026-06-14 17:37:25 +00:00
  • 8c2e245c8b fix(apple/cursor): disable the client-side cursor (gamescope traps input) enricobuehler 2026-06-14 17:14:57 +00:00
  • 36a04e667c fix(apple): capture the PS/Home button + fullscreen only while streaming enricobuehler 2026-06-14 16:14:37 +00:00
  • 01409d9d8a fix(host/dualsense): report full battery + log rumble forwarding enricobuehler 2026-06-14 16:14:28 +00:00
  • 5706e7ebf4 feat(apple/library): launch a picked title (step 4 client side) enricobuehler 2026-06-14 15:00:58 +00:00
  • 27e58658af feat(launch): punktfunk/1 launch integration — client picks a title, host runs it enricobuehler 2026-06-14 14:56:18 +00:00
  • 1b610d6bf5 feat(apple/library): experimental game-library browser (flagged off) enricobuehler 2026-06-14 14:28:16 +00:00
  • 6136ba4c72 feat(web/library): game library page — grid + custom-entry CRUD enricobuehler 2026-06-14 13:48:00 +00:00
  • 6351d516e0 feat(host/library): game library API — Steam adapter + custom store enricobuehler 2026-06-14 13:43:03 +00:00
  • ee7984beb0 feat(packaging/arch): split package — add punktfunk-client for the Deck enricobuehler 2026-06-14 13:09:10 +00:00
  • b3f98a5d7d feat(clients/decky): SteamOS Gaming-Mode launcher plugin (spike) enricobuehler 2026-06-14 12:50:57 +00:00
  • c64816c70a feat(apple): client-side cursor for gamescope sessions (toggle + shortcut) enricobuehler 2026-06-14 12:07:15 +00:00
  • fc30307a87 feat(abi): expose the host-resolved compositor to clients enricobuehler 2026-06-14 11:58:37 +00:00
  • c548155dd9 feat(packaging/arch): Arch + SteamOS install target (PKGBUILD + sysext) enricobuehler 2026-06-14 11:43:48 +00:00
  • abc057fbfe fix(ci/apple): scope iOS/tvOS archive signing to the device SDK enricobuehler 2026-06-14 12:57:18 +02:00
  • 8425cd0826 fix(encode): probe each GPU's real max bitrate instead of failing (or blind-capping) enricobuehler 2026-06-14 09:58:42 +00:00
  • 9f92dc505b fix(client/pkg): ship 32MB UDP recv-buffer sysctl with the Linux client enricobuehler 2026-06-14 08:45:19 +00:00
  • 4d26f61e40 fix(net/gso): fall back to sendmmsg on EMSGSIZE instead of tearing down enricobuehler 2026-06-14 01:06:41 +00:00
  • 16ccc7c876 fix(net): don't tear the stream down on a connected-UDP ICMP blip (ECONNREFUSED) enricobuehler 2026-06-14 00:54:10 +00:00
  • b140cd6837 feat(apple/macos): App Sandbox + entitlements, wire Mac App Store TestFlight enricobuehler 2026-06-14 02:38:47 +02:00
  • c2ae40ef9e feat(net/mac): default-on recvmsg_x batched Mac recv + GSO host + longer probe enricobuehler 2026-06-14 00:35:26 +00:00
  • c7c08b2855 fix(ci/release): skip Swift macro/plugin validation in archives enricobuehler 2026-06-13 23:36:36 +00:00
  • 5bc257f1ae fix(headless/kde): virtual Punktfunk speaker + restart host with the session enricobuehler 2026-06-13 23:30:36 +00:00
  • 9c23ad5303 feat(ci/release): add tvOS TestFlight build + use renamed iOS profile enricobuehler 2026-06-13 23:23:01 +00:00
  • d78bbdffe2 fix(headless/kde): start Xwayland + detect its display so X11 apps work enricobuehler 2026-06-13 23:17:56 +00:00
  • 5c1aa453c1 fix(ci/release): quit Xcode before iOS build so it can't prune the profile enricobuehler 2026-06-13 22:02:44 +00:00
  • 53e3f1e4e6 fix(ci/release): iOS manual App Store signing (App-Manager key can't cloud-sign) enricobuehler 2026-06-13 21:52:50 +00:00
  • 31b04a2ab8 refactor(ci/release): xcodebuild-native signing via login keychain enricobuehler 2026-06-13 21:42:47 +00:00
  • e4b10f057a fix(headless/kde): make libei input work headlessly — portal + pre-seeded RemoteDesktop grant enricobuehler 2026-06-13 21:22:20 +00:00
  • fb1443650b style: rustfmt the kwin virtual-primary helpers enricobuehler 2026-06-13 21:05:01 +00:00
  • a3a3dfc85b fix(vdisplay/kwin): make the streamed output the sole desktop (PUNKTFUNK_KWIN_VIRTUAL_PRIMARY) enricobuehler 2026-06-13 21:04:29 +00:00
  • 822988029c diag(ci/release): sign iOS by identity hash + max-verbose codesign enricobuehler 2026-06-13 20:29:45 +00:00
  • 596c92f785 fix(ci/release): re-set key partition list + stage full chain before iOS codesign enricobuehler 2026-06-13 20:22:27 +00:00
  • ecfef43040 fix(ci/release): re-assert keychain before the iOS codesign enricobuehler 2026-06-13 20:08:56 +00:00
  • 9338a8797d style: rustfmt the connect_via_punch match guard enricobuehler 2026-06-13 19:56:25 +00:00
  • 97d4300d50 feat(ci/release): iOS — raw codesign + altool upload (bypass xcodebuild) enricobuehler 2026-06-13 19:53:14 +00:00
  • b547b9d92f fix(ci/release): quit Xcode.app so it stops pruning the iOS profile enricobuehler 2026-06-13 19:25:33 +00:00
  • ec617f9c6b bench(ci): report-only regression harness — Tier-1/2 in CI + Tier-3 GPU runner enricobuehler 2026-06-13 19:24:52 +00:00
  • 2976daf2e3 diag(ci/release): dump provisioning-profile dirs around the iOS archive enricobuehler 2026-06-13 19:23:16 +00:00
  • 71f26083a6 bench(core): Tier-1 criterion microbenchmarks for the punktfunk/1 hot path enricobuehler 2026-06-13 19:18:40 +00:00
  • 46572b4a25 fix(ci/release): robust iOS provisioning-profile extraction + diagnostics enricobuehler 2026-06-13 19:05:35 +00:00
  • 7ec91aec2d feat(punktfunk/1): cross-VLAN/NAT video via data-plane hole-punching enricobuehler 2026-06-13 18:46:15 +00:00
  • 268733f968 fix(headless/kde): find the probe binary on PATH for packaged installs enricobuehler 2026-06-13 18:21:31 +00:00