Commit Graph
124 Commits
Author SHA1 Message Date
Viktor Liu 88dbac029e Order macOS pointer events by the previous button state, scale the cursor position into framebuffer pixels, and escalate crash cleanup to SIGKILL 2026-09-22 20:10:15 +02:00
Viktor Liu a5c146ccda Restore Windows privileges on shutdown, refuse approval on a locked session, and stop sessions reading a recycled capture buffer 2026-09-22 20:05:54 +02:00
Viktor Liu b703eb4409 Support scroll wheel and the missing modifier keysyms on uinput, and keep X11 capture when XTest is absent 2026-09-22 19:58:14 +02:00
Viktor Liu d1d8c19fc7 Retry a transient cursor-source failure and stop reporting stale framebuffer geometry 2026-09-22 19:56:19 +02:00
Viktor Liu 67c786b4f4 Report the MDM VNC keys to the UI and bound the copyrect tile-hash map 2026-09-22 19:53:43 +02:00
Viktor Liu 24f832e032 Fix big-endian pixel swizzle, closed-capturer panic on FreeBSD, and the macOS agent socket dir symlink race 2026-09-22 19:50:21 +02:00
Viktor Liu 2f03ea4051 Copy authorization slices on update, drain queued input on close, and drop input when the desktop switch fails 2026-09-22 19:46:36 +02:00
Viktor Liu 921aa2b543 Refuse ambiguous X11 display selection, harden the xauth temp file, and reset the service-agent latch on restart 2026-09-22 19:34:11 +02:00
Viktor Liu c622075088 Carry the VNC authorization across a listener rebind 2026-09-09 09:23:58 +02:00
Viktor Liu 8e0f8d02d0 Retry VNC accept on transient connection and resource errors 2026-09-03 10:05:09 +02:00
Viktor Liu 52c65e2fe0 Drop the VNC port helpers and approval kind nothing calls 2026-09-02 18:11:36 +02:00
Viktor Liu 410faf9db0 Say whether an approval was refused, unanswered, or never shown 2026-08-31 15:15:37 +02:00
Viktor Liu e54fbe7023 Stop retrying an Accept that will not recover 2026-08-31 15:10:13 +02:00
Viktor Liu 89aafa16eb Describe the approval no-match result and the cursor-skip key as they behave 2026-08-30 05:56:59 +02:00
Viktor Liu 8389211aa2 Refuse an ambiguous X display and settle the approval timeout race under one claim 2026-08-29 17:25:02 +02:00
Viktor Liu c49727fb73 Attach to the X server on the active VT and keep a retryable DXGI frame from tearing down the capturer 2026-08-29 16:59:05 +02:00
Viktor Liu ab3d72660d Keep DXGI on an idle desktop, honour the FreeBSD pitch when swizzling, close the handler-drain race 2026-08-29 16:25:07 +02:00
Viktor Liu 5b46753f1d Reject an unsupported VNC session id and say why a cursor rect was skipped 2026-08-29 16:09:47 +02:00
Viktor Liu 7781d1cb7a Require a real first DXGI frame and read the FreeBSD framebuffer at its true pitch 2026-08-29 15:51:19 +02:00
Viktor Liu 0adf5ca70d Authenticate the daemon and its VNC agent to each other without sending the token 2026-08-29 15:45:09 +02:00
Viktor Liu bba7acaafa Encode one framebuffer update at a single negotiated pixel format 2026-08-29 13:56:54 +02:00
Viktor Liu 424951c046 Scope crash recovery to Linux, drain connection handlers before teardown 2026-08-29 13:43:12 +02:00
Viktor Liu 32b3016589 Honour the negotiated pixel format for the cursor, enqueue key edges reliably, drop racy test writes 2026-08-29 12:40:14 +02:00
Viktor Liu b56da75718 Stop narrowing the shared runtime dir, close the injector on stop, allowlist VNC metrics 2026-08-29 10:29:17 +02:00
Viktor Liu 5ba3de375b Compare cursor serials by identity so returning to an earlier cursor updates 2026-08-29 10:25:09 +02:00
Viktor Liu ec320278e3 Collect auth requirements for bidirectional source peers and fix follow-up review findings 2026-08-29 09:57:07 +02:00
Viktor Liu 1c10c19d45 Persist virtual session processes for crash recovery and identify them by start time 2026-08-29 09:48:45 +02:00
Viktor Liu 42450dbfbe Make session key authorization atomic, unblock the encoder on teardown, drop agent privileges unconditionally 2026-08-29 09:12:33 +02:00
Viktor Liu 8b719f0b4e Resolve VNC authorized users on the components path and fix uinput, X11 and macOS input gaps 2026-08-29 09:04:02 +02:00
Viktor Liu a126479ec5 Accept bare marker protocols, reject msb_right framebuffers, split the policy row conversion 2026-08-29 08:24:36 +02:00
Viktor Liu 1e923ccb31 Fix framebuffer layout handling, capturer lifecycle and macOS pointer state races 2026-08-27 21:08:20 +02:00
Viktor Liu ab472f572d Close view-only input, approval-responder and inbound-block gaps in the VNC path 2026-08-27 21:07:03 +02:00
Viktor Liu e426401941 Split the status summary into per-section helpers and scope retrackConn to service mode 2026-08-27 19:49:39 +02:00
Viktor Liu 47d8f912e5 Address review findings on the VNC server, session auth and capture decoder 2026-08-27 18:33:52 +02:00
Viktor Liu a7de70691b Stamp modifiers on injected macOS key events so shifted input works 2026-08-07 16:04:23 +02:00
Viktor Liu e95365f8b1 Recycle the macOS VNC agent per connection so permission prompts work 2026-08-07 15:59:45 +02:00
Viktor Liu ed1fb4b309 Ask for Screen Recording from the agent and Accessibility on first input 2026-08-06 12:56:25 +02:00
Viktor Liu 6781cd74bb Fail fast when no console session exists and keep the SAS value type 2026-08-06 10:40:16 +02:00
Viktor Liu 2b0b6abfde Draw inverted monochrome cursor pixels so the text caret is visible 2026-08-03 10:07:53 +02:00
Viktor Liu eb26ecb669 Wait for the Windows VNC agent to respawn instead of refusing the connection 2026-08-03 09:31:27 +02:00
Viktor Liu add0561909 Treat an unreadable SoftwareSASGeneration as unknown rather than absent 2026-07-31 21:07:19 +02:00
Viktor Liu ae20413a1f Move the service agent accessor to the platforms that have one 2026-07-31 19:23:26 +02:00
Viktor Liu 063e9e5068 Restrict the SAS event to SYSTEM and restore its registry snapshot per cycle 2026-07-31 19:23:26 +02:00
Viktor Liu 8c0cebae62 Push a status snapshot when VNC sessions start or end 2026-07-30 15:18:31 +02:00
Viktor Liu 34669a0be8 Share one VNC session agent manager across all accept loops 2026-07-30 14:29:34 +02:00
Viktor Liu 4b946ec219 Support IPv6 for the embedded VNC server and browser proxy 2026-07-12 18:46:47 +02:00
Viktor Liu 4adaa73253 Fix review findings for embedded VNC server 2026-06-10 10:57:50 +02:00
Viktor Liu 88cf5f887d Capture listener locally in accept loops to avoid nil deref on Stop 2026-05-25 17:02:28 +02:00
Viktor Liu 6db4ecf9a5 Handle Lstat error in purgeStaleAgentSubdir 2026-05-25 15:52:30 +02:00
Viktor Liu f9959e5325 Split prepareAgentSocketDir to reduce cognitive complexity 2026-05-25 15:09:28 +02:00