Skip to content

Wire up PartialAXDiagnostics.record(_:) into the focus pipeline #97

@Jam-Cai

Description

@Jam-Cai

Problem

tabby/Support/PartialAXDiagnostics.swift defines a diagnostic that records "partial-AX" snapshots — the asymmetric state where AX reports the focused element as supported and we have caret bounds, but the element's text value reads as empty. This is the lazy-AX warm-up signature in Chromium/Electron.

The file is in the tree but has no call sites. It will not emit anything in Console.app.

Why it matters

The decision to close #17 (prefix-tracker) was made on instinct, not evidence. The whole point of PartialAXDiagnostics is to generate the data that decision should be made on. Without call sites the data never accumulates and we can't tell whether the partial-AX window is wide enough to swallow real keystrokes after the Chromium AX wake (#78) lands.

Acceptance

  • Call PartialAXDiagnostics.record(_:) from the focus-snapshot pipeline once per snapshot (the predicate inside is idempotent and silent on the non-partial path).
  • Verify entries appear in Console.app filtered by subsystem:app.tabby category:ax-partial after a normal work session.
  • File header doc already explains how to read the output — no doc changes needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:focusFocus tracking, AX, caret detectionenhancementNew feature or requestgood first issueGood for newcomers

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions