Skip to content

Dev - #22

Open
aceleisureman wants to merge 19 commits into
XxMinor:mainfrom
aceleisureman:dev
Open

Dev#22
aceleisureman wants to merge 19 commits into
XxMinor:mainfrom
aceleisureman:dev

Conversation

@aceleisureman

Copy link
Copy Markdown

No description provided.

aceleisureman and others added 19 commits July 1, 2026 16:53
- Retry stream send after evicting stale connection on failure
- Add InputDebugInfo/InputDebugEvent types for input diagnostics
- Bump version to 0.9.8
- Move read_sync_history and read_log_lines off the tokio async runtime
  via spawn_blocking so log file reads no longer block async tasks
  (QUIC transport, device discovery).
- Fix borrow-after-move in inject_input_event by computing coordinates
  before the command is moved.
- Switch dev server port to 5174.
…d-bugfixes

# Conflicts:
#	src-tauri/src/input.rs
#	src-tauri/src/lib.rs
#	src/App.tsx
fc221 added a commit that referenced this pull request Jul 14, 2026
The transport loop serially awaited every command: a dead peer's 2s connect
timeout (hit every ~3s by discovery warming and every 2s by clipboard
retries) or one 48MB stream write stalled every queued input datagram behind
it — the periodic input freezes and the 'QUIC send failed' warn line every
few seconds for hours.

- datagrams now send synchronously on established connections (quinn's
  send_datagram is not async) and never wait for a dial; a missing peer gets
  one background connect task, marked in the map so move bursts cannot spawn
  a connect storm
- stream sends run in spawned tasks, capped by a semaphore (8 in flight)
- consecutive-failure fast-fail per peer address (concept from PR #22):
  after 3 strikes the caller-facing handle returns an error immediately so
  the input layer releases the cursor, and dial attempts are muted to one
  probe per 3s window until the peer recovers
- failure logging collapses to first-failure + entering-mute + recovery
  instead of one warn per attempt
- drop the always-true ack_required plumbing

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant