← Pipelines
failure

test #82 ant/term ↗

main @ c53ee8fb
push by ant
started 22 Sep 2026 14:53 UTC · · 1 failed
fix: fall back to continuous wl_pointer.axis when axis_discrete never fires
Mouse wheel scrolling didn't work at all on a real Hyprland session, for both local scrollback and app-forwarded reports, despite click/motion mouse-tracking working correctly. Root cause: term only ever acted on wl_pointer.axis_discrete, an assumption ROADMAP.md had already flagged as unconfirmed against any real compositor (headless sway + wlrctl structurally can't produce that event) -- and on real hardware it turned out false for at least one device, which sends only the continuous axis event, never axis_discrete. events.odin's pointer_axis_cb/pointer_axis_discrete_cb now accumulate into per-sequence App fields instead of dispatching immediately; pointer_frame_cb (previously a no-op) resolves them once wl_pointer.frame closes the sequence via a new finish_axis_frame: axis_discrete wins when present (avoids double-scrolling a compositor that sends both for one notch), otherwise the continuous delta accumulates into a carry that persists across frames and emits a notch every time it crosses the conventional "10.0 units = one notch" threshold (the same convention GTK and other toolkits use for this fallback). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Jobs 1

  1. jobs

    • failure
      test
      exit 1

Evaluation

ok · push · 22 Sep 2026 14:53 UTC · synthesised from a run that predates job graphs