-
268733f968
fix(headless/kde): find the probe binary on PATH for packaged installs
enricobuehler
2026-06-13 18:21:31 +00:00
-
0fc3012954
feat(ci/release): iOS App Store manual distribution signing + profile
enricobuehler
2026-06-13 17:09:46 +00:00
-
6aa57ffd7b
fix(ci/release): gate iOS signing on matching identity, not find-identity -v
enricobuehler
2026-06-13 16:30:57 +00:00
-
eb5d282936
fix(ci/release): retry Apple intermediate fetch + chain/clock diagnostic
enricobuehler
2026-06-13 16:22:32 +00:00
-
59e91820eb
ci+docs: Fedora 44 RPM channel + reproducible Fedora KDE host guide
enricobuehler
2026-06-13 16:20:40 +00:00
-
ef13c0fa97
fix(ci/release): self-diagnosing iOS cert import + non-fatal validity gate
enricobuehler
2026-06-13 16:14:12 +00:00
-
38b7507440
packaging(rpm): Fedora 44 build + ship the KDE session unit & host.env
enricobuehler
2026-06-13 16:08:10 +00:00
-
afed2206ab
feat(ci/release): wire iOS App Store signing via an Apple Distribution secret
v0.1.1
enricobuehler
2026-06-13 15:09:56 +00:00
-
39a49da567
fix(ci/release): skip iOS archive cleanly when the iOS SDK is absent
enricobuehler
2026-06-13 14:51:09 +00:00
-
e64aefa25c
fix(ci/release): scope codesign to the throwaway keychain (--keychain)
enricobuehler
2026-06-13 14:43:33 +00:00
-
4d93eb24ff
fix(ci/release): archive unsigned + codesign Developer ID directly
enricobuehler
2026-06-13 14:35:16 +00:00
-
3c617f655e
fix(ci/release): sign the macOS archive with Developer ID, not auto dev signing
enricobuehler
2026-06-13 13:46:00 +00:00
-
7f18b3dcd0
fix(ci): install ca-certificates in the bun web/docs-site jobs
enricobuehler
2026-06-13 13:36:22 +00:00
-
8970cfe188
style(vdisplay/mutter): drop trailing blank line (rustfmt --check)
enricobuehler
2026-06-13 13:36:22 +00:00
-
263eab31e3
fix(m3): release held mouse buttons/keys when a session ends (stuck-click after reconnect)
enricobuehler
2026-06-13 13:31:15 +00:00
-
7ecf2d8dfd
fix(inject/libei): emit the continuous scroll axis so small scrolls register
enricobuehler
2026-06-13 12:37:07 +00:00
-
55dfb4800f
fix(vdisplay/mutter): stop the teardown layout-restore from SIGSEGVing gnome-shell
enricobuehler
2026-06-13 12:37:07 +00:00
-
47112f44b7
feat(apple): surface host online status on the home grid
enricobuehler
2026-06-13 14:32:56 +02:00
-
dad5a08c1f
chore(capture): tidy the GNOME flash diagnostic — it's the CORRUPTED skip
enricobuehler
2026-06-13 11:28:11 +00:00
-
d8da12bbbd
fix(capture/mutter): latest-frame-only dequeue (the real GNOME flash fix)
enricobuehler
2026-06-13 11:15:01 +00:00
-
79508b2666
fix(capture/mutter): drop stale re-delivered frames (the GNOME flash)
enricobuehler
2026-06-13 10:46:27 +00:00
-
340cbcfe22
fix(packaging): point the packaged systemd unit at /usr/bin/punktfunk-host
enricobuehler
2026-06-13 10:25:30 +00:00
-
4098b252bc
fix(abi): exclude internal Apple recvmsg_x FFI from the C header
enricobuehler
2026-06-13 09:44:03 +00:00
-
f9b857aac2
feat(capture): true SHM path (PUNKTFUNK_FORCE_SHM) for race-free Mutter+NVIDIA
enricobuehler
2026-06-13 09:35:28 +00:00
-
92c6da9546
fix(capture/mutter): restore zero-copy + sync via dmabuf implicit fence
enricobuehler
2026-06-13 09:28:17 +00:00
-
8531135bb7
fix(capture/mutter): stale-frame flashes + stuck input after disconnect on GNOME
enricobuehler
2026-06-13 00:34:42 +00:00
-
2ebffe3457
perf(core): recvmsg_x batched receive on Apple (macOS client)
enricobuehler
2026-06-12 23:52:39 +00:00
-
9c86f667ca
perf(core): in-place AES-GCM seal + reused wire-buffer pool (host send)
enricobuehler
2026-06-12 23:47:38 +00:00
-
448986f41c
perf(core): UDP GSO send path (the multi-Gbps lever)
enricobuehler
2026-06-12 23:29:51 +00:00
-
4b1bbfdf0e
feat(client-linux): VAAPI hardware decode — zero-copy dmabuf into GraphicsOffload
enricobuehler
2026-06-12 23:26:59 +00:00
-
b5c30dff4f
perf(host): lift bitrate cap to 8G, raise MTU to 1452, FEC env knob
enricobuehler
2026-06-12 23:20:46 +00:00
-
aac48408fd
Merge remote-tracking branch 'origin/main'
enricobuehler
2026-06-12 23:18:12 +00:00
-
-
4ff6f447a8
ci(packaging): punktfunk-client .deb + RPM subpackage
enricobuehler
2026-06-12 23:18:12 +00:00
-
11fc3be726
fix(core): libc is a unix-wide dep — unbreak iOS/tvOS xcframework slices
enricobuehler
2026-06-13 01:12:56 +02:00
-
-
67a32711b3
chore(apple): Xcode 27 project upgrade + hardened runtime
enricobuehler
2026-06-13 01:09:16 +02:00
-
4be993df87
fix(apple/stage2): disable layer vsync wait to kill fullscreen stutter
enricobuehler
2026-06-13 01:06:58 +02:00
-
6b5ee9f47b
perf(core): batched non-allocating recv on Apple targets (macOS client wall)
enricobuehler
2026-06-12 23:05:54 +00:00
-
c56b1b455a
feat(punktfunk/1): request-IDR recovery for a wedged client decode
enricobuehler
2026-06-13 00:48:18 +02:00
-
71d6b64f81
fix(ci): POSIX shell in deb/rpm Version step (dash "Bad substitution")
enricobuehler
2026-06-12 22:48:12 +00:00
-
0b1322d1c6
fix(packaging): ship the UDP socket-buffer sysctl in the .deb and .rpm
enricobuehler
2026-06-12 22:41:45 +00:00
-
06346e5037
docs(rpm): use repo_gpgcheck for the unsigned Gitea RPMs
enricobuehler
2026-06-12 22:07:42 +00:00
-
58cb416abb
ci(rpm): publish punktfunk-host RPM to the Gitea registry (Bazzite)
enricobuehler
2026-06-12 21:32:46 +00:00
-
e2257a6158
fix(apple): persist Keychain trust — sign macOS + data-protection keychain
enricobuehler
2026-06-12 23:25:36 +02:00
-
dfed90bff2
ci(deb): publish punktfunk-host .deb to the Gitea apt registry
enricobuehler
2026-06-12 21:14:40 +00:00
-
184f94e867
Merge remote-tracking branch 'origin/main'
enricobuehler
2026-06-12 21:12:02 +00:00
-
-
a95984bb4f
feat(client-linux): feature parity with the Swift client
enricobuehler
2026-06-12 21:11:52 +00:00
-
dea749186d
fix(quic/apple): QUIC keep-alive + reconnect input re-engage
enricobuehler
2026-06-12 23:07:17 +02:00
-
-
a8a6224fd8
fix(encode): bound per-frame size with a tight VBV buffer
enricobuehler
2026-06-12 20:58:46 +00:00
-
5f088c6f56
fix(client-linux): absolute mouse was dropped — pack the surface size in flags
enricobuehler
2026-06-12 20:50:53 +00:00
-
f09def4138
ci: GTK4/libadwaita/SDL3 dev packages for punktfunk-client-linux
enricobuehler
2026-06-12 20:17:54 +00:00
-
96a35ca84c
feat(client-linux): native GTK4 client — stage 1, first light at 1080p60
enricobuehler
2026-06-12 20:16:30 +00:00
-
99b4de32ee
feat(pairing): delegated approval (§8b-1) — approve an unpaired device from the console
enricobuehler
2026-06-12 19:14:05 +00:00
-
9758751a4d
ci(release): make the throwaway keychain the default keychain
v0.1.0
enricobuehler
2026-06-12 16:06:04 +00:00
-
343cb544d9
ci(release): manual Developer ID export — cloud signing has no fallback
enricobuehler
2026-06-12 16:01:12 +00:00
-
6b49279c32
ci(release): stage Apple intermediate CAs in the signing keychain
enricobuehler
2026-06-12 15:55:09 +00:00
-
d0f8896570
fix(web): mobile navigation — add a bottom tab bar + top bar
enricobuehler
2026-06-12 14:59:54 +00:00
-
02bcf41803
ci(release): TestFlight upload best-effort until the ASC app record exists
enricobuehler
2026-06-12 14:39:19 +00:00
-
0733eae361
Merge remote-tracking branch 'origin/main'
enricobuehler
2026-06-12 14:34:45 +00:00
-
-
57e7f9fe25
feat(release): production Apple builds — notarized macOS dmg + iOS TestFlight
enricobuehler
2026-06-12 14:34:45 +00:00
-
9291568ce0
refactor(apple): decompose ContentView (735 -> 272 lines)
enricobuehler
2026-06-12 16:30:23 +02:00
-
9e8135ccec
refactor(apple): code-quality pass — audit fixes + centralized defaults keys
enricobuehler
2026-06-12 16:30:08 +02:00
-
-
c8099c0125
fix(vdisplay/mutter): stop screencast before monitor reconfig — fixes >60Hz teardown crash
enricobuehler
2026-06-12 14:08:05 +00:00
-
91d5874e94
docs: user-facing docs revamp — structured product docs + per-platform setup
enricobuehler
2026-06-12 14:01:19 +00:00
-
015f2ee47b
fix(vdisplay/mutter): gate >60Hz virtual mode behind an env flag (teardown SIGSEGV)
enricobuehler
2026-06-12 13:59:29 +00:00
-
ecb4e6e1d5
Merge remote-tracking branch 'origin/main'
enricobuehler
2026-06-12 13:45:29 +00:00
-
-
f6a7f3c12d
feat(vdisplay/mutter): pin the virtual output to the client's refresh (>60 Hz)
enricobuehler
2026-06-12 13:45:29 +00:00
-
fa407700e0
docs(roadmap): gamescope multi-user research (deferred); render->capture parked
enricobuehler
2026-06-12 13:45:23 +00:00
-
7b10714b62
feat(apple): stage-2 presenter — explicit decode + Metal present + glass-to-glass
enricobuehler
2026-06-12 15:28:23 +02:00
-
-
848738ed00
docs(site): status log — CI + automatic docs deployment landed
enricobuehler
2026-06-12 13:21:21 +00:00
-
2226031577
fix(ci): deploy target is unom-1, not home-main-2
enricobuehler
2026-06-12 13:15:16 +00:00
-
2ed755f0c3
fix(vdisplay/mutter): make the virtual output the SOLE display, not primary + secondary
enricobuehler
2026-06-12 13:05:02 +00:00
-
1293b7e001
feat(ci): deploy the docs site to home-main-2 (docs.punktfunk.unom.io)
enricobuehler
2026-06-12 13:03:16 +00:00
-
0c4cfa40be
fix(inject/mutter): GNOME input via Mutter's direct EIS, not the xdg portal
enricobuehler
2026-06-12 12:45:10 +00:00
-
94552331ef
feat(host): concurrent punktfunk/1 sessions (bounded by --max-concurrent)
enricobuehler
2026-06-12 12:42:09 +00:00
-
47a69a0063
fix(ci): match real runner labels + survivable Mac runner daemon
enricobuehler
2026-06-12 12:40:36 +00:00
-
f1af74b403
feat(ci): Gitea Actions — dockerized web/docs/rust-ci images, Apple client CI, Mac runner
enricobuehler
2026-06-12 12:28:13 +00:00
-
60ccbfdcf7
style: cargo fmt --all under rustfmt 1.9 (Rust 1.96)
enricobuehler
2026-06-12 12:28:13 +00:00
-
7f234420c7
docs(apple): pickup-ready stage-2 presenter implementation plan
enricobuehler
2026-06-12 12:21:08 +00:00
-
bdcc88f5fc
Merge remote-tracking branch 'origin/main'
enricobuehler
2026-06-12 12:18:32 +00:00
-
-
9fe7b7877f
feat(vdisplay/mutter): optional virtual-output-as-primary for monitored GNOME hosts
enricobuehler
2026-06-12 12:18:32 +00:00
-
8f596ba6c5
fix(apple): latency HUD — interpolate the (same-host) suffix, don't concat
enricobuehler
2026-06-12 14:11:45 +02:00
-
6d3ff37d9e
feat(client): cross-target input handling + LAN mDNS discovery
enricobuehler
2026-06-12 14:05:21 +02:00
-
6b4de5d738
feat(client/speedtest): request the host's full 3 Gbps probe ceiling
enricobuehler
2026-06-12 14:04:49 +02:00
-
-
1c94f46be8
style(quic): format-stable clock test assert (message to comment)
enricobuehler
2026-06-12 12:01:56 +00:00
-
e04328f086
feat(apple): capture->client latency HUD (skew-corrected) via the connect offset
enricobuehler
2026-06-12 11:58:54 +00:00
-
7eb9a927cf
feat(connector): expose host clock offset over the C ABI for glass-to-glass
enricobuehler
2026-06-12 11:44:54 +00:00
-
e586961e0b
docs(site): make docs-site the knowledge base — status tracker + setup guides
enricobuehler
2026-06-12 11:33:39 +00:00
-
05bc9ab22c
feat(latency): wall-clock skew handshake for cross-machine latency measurement
enricobuehler
2026-06-12 11:20:20 +00:00
-
50c9db785a
docs(site): Fumadocs documentation site on TanStack Start
enricobuehler
2026-06-12 11:17:59 +00:00
-
4fff4641bb
feat(discovery): native-protocol LAN auto-discovery over mDNS
enricobuehler
2026-06-12 10:37:12 +00:00
-
a9e974d50d
docs(host.env): GNOME/Mutter example for an Ubuntu desktop host
enricobuehler
2026-06-12 09:43:18 +00:00
-
b295a5b7a9
perf(latency): encode|send thread split on the native path
enricobuehler
2026-06-12 09:42:16 +00:00
-
86f463cf71
fix(housekeeping): unaligned read UB + recv-drop parity; dedup mmsghdr; doc fixes
enricobuehler
2026-06-11 23:04:23 +00:00
-
761ccace25
docs(roadmap): §12 glass-to-glass latency — quick wins landed, bigger bets scoped
enricobuehler
2026-06-11 22:54:30 +00:00
-
99f60b5b08
perf(latency): microburst-cap pacing + per-frame latency histogram
enricobuehler
2026-06-11 22:53:52 +00:00
-
2f4f92a804
feat(1gbps): batched client recv via recvmmsg (increment C)
enricobuehler
2026-06-11 22:39:51 +00:00
-
10a932d013
feat(1gbps): pace per-frame sends so high-bitrate frames don't burst-drop
enricobuehler
2026-06-11 22:15:52 +00:00
-
c70db56115
build: lock libc (sendmmsg dep from the previous commit)
enricobuehler
2026-06-11 21:55:40 +00:00
-
c24b571e37
feat(1gbps): batched send via sendmmsg (Transport::send_batch)
enricobuehler
2026-06-11 21:55:22 +00:00
-
e1242546f2
fix(headless-kde): don't let set -e abort the session when Xwayland isn't up yet
enricobuehler
2026-06-11 21:25:28 +00:00