-
8c58afa2ac
feat(headless): boot-appliance systemd units (KDE session + host, no login)
enricobuehler
2026-06-11 21:16:12 +00:00
-
2557ce1ee5
docs(roadmap): §11 1 Gbps+ data plane — foundation landed, batched send next
enricobuehler
2026-06-11 20:47:36 +00:00
-
b8a33e21a2
feat(1gbps): raise bitrate/probe clamps + socket buffers, count send-buffer drops
enricobuehler
2026-06-11 20:45:49 +00:00
-
902cc162f7
docs(bazzite): join the input group via
ujust add-user-to-input-group
enricobuehler
2026-06-11 20:32:55 +00:00
-
d39ad478bb
docs(roadmap): §9 speed test + bitrate — host/protocol/ABI done, client UI left
enricobuehler
2026-06-11 18:52:07 +00:00
-
7cac1eb663
feat(host): log virtual DualSense pad creation (match the X-Box path)
enricobuehler
2026-06-11 18:51:23 +00:00
-
74819b1be8
feat(punktfunk/1): negotiable encoder bitrate + bandwidth speed-test probe
enricobuehler
2026-06-11 18:44:47 +00:00
-
dcb2850c7c
fix(apple): drive macOS keyboard from NSEvent (GCKeyboard unreliable)
enricobuehler
2026-06-11 18:10:13 +00:00
-
6425f9995f
docs(roadmap): §10 HDR parked (upstream compositor blocker) + Bazzite dynamic-resolution landed
enricobuehler
2026-06-11 17:52:57 +00:00
-
c894c6f897
feat(host): host-managed gamescope session at the client's mode (dynamic res + refresh)
enricobuehler
2026-06-11 16:14:10 +00:00
-
76d5e41dc5
chore(web): check in the inlang project_id
enricobuehler
2026-06-11 16:28:33 +02:00
-
1d605fb781
feat(gamepad): controller discovery + client-negotiated pad type + rich DualSense end to end
enricobuehler
2026-06-11 16:28:33 +02:00
-
d86896da16
chore(appliance): sysctl drop-in for larger UDP buffers (4K/5K host send headroom)
enricobuehler
2026-06-11 13:28:55 +00:00
-
0f333460ec
fix(core): grow UDP socket buffers — fixes 4K/5K video freezing on one frame
enricobuehler
2026-06-11 13:28:02 +00:00
-
634d87ba6c
Merge origin/main (tvOS client work) with host EIS/attach + macOS-input fixes
enricobuehler
2026-06-11 13:05:02 +00:00
-
-
9128bc3836
feat(host): attach to a running gamescope session (Bazzite headless Steam)
enricobuehler
2026-06-11 12:55:12 +00:00
-
b6f4164454
fix(core): drop video packets on a full UDP send buffer, don't fail the session
enricobuehler
2026-06-11 12:55:12 +00:00
-
a17997bb01
fix(apple): pairing copy points at the web console for the PIN
enricobuehler
2026-06-11 14:31:24 +02:00
-
e414ec0895
fix(apple): drive macOS mouse motion/buttons from NSEvent; fix iPad pointer lock
enricobuehler
2026-06-11 12:30:19 +00:00
-
ea42fcf15a
fix(apple/tvOS): spring-driven slide transition
enricobuehler
2026-06-11 14:28:08 +02:00
-
7655c36f34
fix(apple/tvOS): hand-rolled selection screens — kills the black-text flash in pickers
enricobuehler
2026-06-11 14:19:54 +02:00
-
92933ef46b
fix(apple/tvOS): system-style slide for in-stack pushes (swiftui-navigation-transitions)
enricobuehler
2026-06-11 14:12:04 +02:00
-
f01b07a973
fix(apple/tvOS): pushed routes instead of modal covers — the Settings-app navigation feel
enricobuehler
2026-06-11 14:03:10 +02:00
-
6e1097da4f
fix(inject): self-heal a stale/hung EIS connection + per-kind injection diagnostics
enricobuehler
2026-06-11 11:57:09 +00:00
-
06a2d5e0ca
fix(apple/tvOS): system fullscreen keyboard for all text entry — no inline fields
enricobuehler
2026-06-11 13:56:39 +02:00
-
f292b3fe3a
fix(apple/tvOS): focus-native home grid, separated actions, Form-free dialogs
enricobuehler
2026-06-11 13:47:27 +02:00
-
9e57a5a1ff
fix(apple/tvOS): native form controls — pushed pickers, single-pill fields, centered values
enricobuehler
2026-06-11 13:38:37 +02:00
-
f7ed87e97f
fix(apple/tvOS): opaque material backdrop behind the full-screen covers
enricobuehler
2026-06-11 13:26:48 +02:00
-
7dd479f9e4
fix(apple/tvOS): television-idiomatic chrome — grid action tiles + full-screen covers
enricobuehler
2026-06-11 13:22:18 +02:00
-
75396c20c2
feat(apple/tvOS): parallax app icon + top shelf images from the brand layers
enricobuehler
2026-06-11 13:19:06 +02:00
-
-
4781933507
docs(roadmap): §9 client→host network speed test (bitrate prerequisite)
enricobuehler
2026-06-11 11:14:06 +00:00
-
609136cd2d
fix(inject): make the gamescope EIS injector reconnect robustly across sessions
enricobuehler
2026-06-11 11:12:13 +00:00
-
25b4d4783f
docs(apple): README — tvOS target, tier-3 slice build instructions
enricobuehler
2026-06-11 13:11:10 +02:00
-
bfd8c7be93
feat(apple): tvOS client — third app target, first-lit in the Apple TV simulator
enricobuehler
2026-06-11 13:10:40 +02:00
-
ee12e535ee
feat(apple): styling pass — dark-mode accent, recent-host state, glass HUD, security-sheet polish
enricobuehler
2026-06-11 12:59:55 +02:00
-
b7a6670b4a
feat(apple): brand accent color (#6656F2) via the asset catalog
enricobuehler
2026-06-11 12:56:20 +02:00
-
0b735ac632
fix(apple/iOS): larger host cards — touch-first sizing
enricobuehler
2026-06-11 12:52:45 +02:00
-
bce820ec67
fix(apple): title the app "Punktfunkempfänger" — navigation title + window title
enricobuehler
2026-06-11 12:49:17 +02:00
-
154da2dc58
fix(apple/iOS): immersive streaming — edge-to-edge, no status bar, hidden cursor, native default mode
enricobuehler
2026-06-11 12:44:29 +02:00
-
57f7e32c24
docs(roadmap): §8a done (mandatory pairing); split §8b into host+web / peer layers
enricobuehler
2026-06-11 10:28:39 +00:00
-
9a6058cd20
feat(host): §8a — require native pairing by default (serve --open to disable)
enricobuehler
2026-06-11 10:23:03 +00:00
-
dbd5c0c105
chore(apple): rebuild app icon from artboard-rect-free layer SVGs
enricobuehler
2026-06-11 12:21:20 +02:00
-
f8c2ecf85f
feat(web): "Pair a device" card — native pairing from the console
enricobuehler
2026-06-11 10:02:33 +00:00
-
3faec8415a
fix(apple/iOS): stock header + edge-aligned host grid — drop the custom title mode
enricobuehler
2026-06-11 11:58:54 +02:00
-
12cf2e4e16
docs: refresh README/CLAUDE status; roadmap pairing-hardening + SudoVDA Windows
enricobuehler
2026-06-11 09:54:55 +00:00
-
19666ba57e
feat(host): unified host + native pairing over the management API
enricobuehler
2026-06-11 09:50:33 +00:00
-
5ca860533e
refactor(native-pairing): extract shared on-demand arming state
enricobuehler
2026-06-11 09:40:33 +00:00
-
fa553b1e2a
fix(apple/iOS): action buttons back into one shared glass pill
enricobuehler
2026-06-11 11:55:26 +02:00
-
1d35df201c
fix(apple/iOS): inline-large header — title and action circles share the bar row
enricobuehler
2026-06-11 11:53:56 +02:00
-
7c24832ad0
fix(apple/iOS): touch-first control sizing — toolbar circles + large sheet buttons
enricobuehler
2026-06-11 11:47:30 +02:00
-
e1af4d57c6
feat(apple): iOS/iPadOS client — touch, pointer lock, shared SwiftUI shell
enricobuehler
2026-06-11 11:18:18 +02:00
-
136390514d
build: support FFmpeg 7.x and 8.x; fix RPM spec GPU link deps
enricobuehler
2026-06-11 09:12:59 +00:00
-
12b047b0ae
docs(packaging): add end-to-end Bazzite setup guide
enricobuehler
2026-06-11 08:40:16 +00:00
-
59edeedf07
feat(dualsense): Phase C/D/E — virtual DualSense routing + 0xCC/0xCD planes + C ABI
enricobuehler
2026-06-11 08:36:12 +00:00
-
e5b15353c7
docs: scope advanced (audio-driven) DualSense haptics — NO-GO for now
enricobuehler
2026-06-11 07:52:29 +00:00
-
b26f138699
feat(apple): session audio — host playback + mic uplink, device pickers in Settings
enricobuehler
2026-06-11 09:39:08 +02:00
-
2372b02620
feat(host): virtual DualSense via UHID (hid-playstation) — device + report mapping
enricobuehler
2026-06-11 07:27:19 +00:00
-
3a51551f97
feat(apple): mic uplink + touch events in PunktfunkKit
enricobuehler
2026-06-11 09:08:04 +02:00
-
6575dddac7
fix: keep the workspace green on macOS after the mic/touch/rich-input batch
enricobuehler
2026-06-11 09:07:48 +02:00
-
5f6d2cb88b
feat(proto): variable-length rich-input (0xCC) + HID-output (0xCD) datagrams
enricobuehler
2026-06-11 06:55:04 +00:00
-
dc375668ee
feat: touch input — TouchDown/Move/Up + host libei ei_touchscreen injection
enricobuehler
2026-06-10 22:38:44 +00:00
-
e07e359b6d
docs: scope Windows-as-host (deferred) + update roadmap status
enricobuehler
2026-06-10 22:29:01 +00:00
-
23bb814bac
feat(packaging): Fedora/Bazzite packaging — COPR RPM, bootc image, gamescope-default config
enricobuehler
2026-06-10 22:29:01 +00:00
-
0755c823a5
feat: mic passthrough — client microphone → host virtual PipeWire source
enricobuehler
2026-06-10 22:15:07 +00:00
-
f3ff5f648a
fix(headless-kde): complete the bare session — export DISPLAY, polkit agent, supervise plasmashell
enricobuehler
2026-06-10 21:44:33 +00:00
-
a03aae891e
fix(m3): persistent host-lifetime input injector — end the RemoteDesktop portal churn
enricobuehler
2026-06-10 21:30:52 +00:00
-
a730ca8557
fix(apple): scroll from trackpads/Magic Mouse — forward NSEvent scrollWheel, drop GC scroll
enricobuehler
2026-06-10 23:17:23 +02:00
-
a9d1c16067
feat(apple): client-selectable compositor in the macOS client
enricobuehler
2026-06-10 22:51:42 +02:00
-
6fdf7d1511
feat: client-selectable compositor (protocol → host → client → C ABI → mgmt → web)
enricobuehler
2026-06-10 20:37:15 +00:00
-
75eb8fa0d6
feat(host): KDE-reliability phase 2 — pipeline retry, graceful capture teardown, refresh reconcile
enricobuehler
2026-06-10 20:03:11 +00:00
-
a4eacabecd
feat(apple): explicit input-capture state machine — no more cursor grabs on window chrome
enricobuehler
2026-06-10 22:42:44 +02:00
-
acf44eed5f
fix(apple): stop the macOS beep on every keystroke while streaming
enricobuehler
2026-06-10 22:03:56 +02:00
-
0494e0200a
feat(apple): adapt the macOS client to ABI v2 — client identity + SPAKE2 PIN pairing
enricobuehler
2026-06-10 21:49:36 +02:00
-
49d31b9cad
fix(headless-kde): --no-block the portal restart so bring-up isn't blocked ~30s
enricobuehler
2026-06-10 19:33:54 +00:00
-
9fdc3c3246
feat(headless-kde): reliable bring-up — readiness probe, fix portal ordering/env (roadmap #1 phase 1)
enricobuehler
2026-06-10 19:25:52 +00:00
-
aa5cee57bd
docs: next-goals roadmap (KDE reliability → options → mic → Bazzite → touch → UHID DualSense)
enricobuehler
2026-06-10 19:22:03 +00:00
-
c9ad74a620
fix(web): harden BFF auth — adversarial-review fixes
enricobuehler
2026-06-10 18:55:41 +00:00
-
9856c04b75
feat(web): login-gated BFF auth — sealed session cookie + server-side token injection
enricobuehler
2026-06-10 18:43:14 +00:00
-
7e4ae05944
refactor(web): switch to Bun + Nitro v2 (bun preset) — proper TanStack Start deploy
enricobuehler
2026-06-10 17:46:47 +00:00
-
381b059852
fix(web): add @vitejs/plugin-react — dev mode needs the React Refresh runtime
enricobuehler
2026-06-10 17:08:43 +00:00
-
e0b166ad60
feat(web): management console — TanStack Start + orval + shadcn + Paraglide
enricobuehler
2026-06-10 17:00:12 +00:00
-
ff4fe197be
fix(punktfunk/1): adversarial-review fixes — SPAKE2 pairing, renegotiation hardening, +more
enricobuehler
2026-06-10 16:26:48 +00:00
-
429bd1e6ac
Merge branch 'worktree-agent-a6fe98c40d55fd284' into m1-lumen-core
enricobuehler
2026-06-10 15:42:48 +00:00
-
-
4d26ac5c85
feat: punktfunk/1 — mid-stream mode renegotiation + PIN pairing ceremony
enricobuehler
2026-06-10 15:42:29 +00:00
-
3cc3c02b42
feat(gamestream): AV1 negotiation + 5.1/7.1 surround audio
enricobuehler
2026-06-10 15:41:15 +00:00
-
7381ba8218
feat(vdisplay): wlroots/Sway backend — swaymsg headless output + xdpw chooser
enricobuehler
2026-06-10 15:23:28 +00:00
-
-
977c792b4b
fix: keep the stream view's identity stable across the trust prompt
enricobuehler
2026-06-10 16:44:25 +02:00
-
187c173e01
fix(headless-kde): restart xdg-desktop-portal after kwin comes up
enricobuehler
2026-06-10 14:29:01 +00:00
-
5e77731da0
feat: hosts grid + trust-on-first-use UX + settings pane
enricobuehler
2026-06-10 16:15:37 +02:00
-
dc42d6a375
feat: app icon (Icon Composer) + Xcode project settings for it
enricobuehler
2026-06-10 16:15:15 +02:00
-
b21fffc3d1
feat: Xcode app project for the macOS client (Punktfunk.app)
enricobuehler
2026-06-10 15:50:50 +02:00
-
9aa2d71f49
fix: hide + freeze the local cursor while streaming
enricobuehler
2026-06-10 15:38:03 +02:00
-
bfd64ce871
rename: lumen → punktfunk, everywhere
enricobuehler
2026-06-10 13:11:59 +00:00
-
b8b23c8fb2
docs: box setup complete — Mutter + system gamescope + gamepads all live-validated
enricobuehler
2026-06-10 12:53:38 +00:00
-
bf8a974e8b
feat: M4 stage 1 — the SwiftUI client is real: compiles, tested, first light on glass
enricobuehler
2026-06-10 14:38:01 +02:00
-
520d7342dd
feat: M3 — full lumen/1 session planes: audio, gamepads+rumble, pinned trust, persistent listener
enricobuehler
2026-06-10 12:26:18 +00:00
-
3ea096ace9
feat: M4 groundwork — lumen/1 client connector in the C ABI + SwiftUI client scaffold
enricobuehler
2026-06-10 07:28:41 +00:00
-
2b4ffc3518
docs: bring CLAUDE.md up to date (M2 working, M3 validated, what's-left roadmap)
enricobuehler
2026-06-10 07:10:59 +00:00
-
68f2b19cca
Merge main (management REST API) into m1-lumen-core
enricobuehler
2026-06-10 07:03:41 +00:00
-
-
5b0d84acd0
feat: M3 — lumen/1 native streaming: real video at client mode + input over QUIC datagrams
enricobuehler
2026-06-10 06:56:47 +00:00