Fix Linux class, channel and grind spot detection #17

Open
opened 2026-09-22 16:29:00 +02:00 by rexlManu · 5 comments
Owner

Investigate missing class detection, disabled channel detection and garbage grind locations. Fix verified Proton/OCR/matching defects. Do not enable external buff reporting as a side effect. Reject unmatched/ambiguous location text instead of storing it as a real location. Cover changes with synthetic fixtures and preserve personal game files and account data.

Investigate missing class detection, disabled channel detection and garbage grind locations. Fix verified Proton/OCR/matching defects. Do not enable external buff reporting as a side effect. Reject unmatched/ambiguous location text instead of storing it as a real location. Cover changes with synthetic fixtures and preserve personal game files and account data.
Author
Owner

Fixed in 45a0660 . Class reader now discovers Proton gameVariable.xml case-insensitively and uses O_NOATIME instead of changing game-file timestamps. Unclear character access-time/spec evidence remains unconfirmed. Channel OCR is independent of buff reporting; network reports/screenshots still require opt-in. Location matching examines known labels across usable OCR lines, rejects unknown/low-confidence/ambiguous text and saves canonical names only. Invalid reads preserve the last confirmed place without adding history samples. All 210 tests, typecheck, build, 20 routes and reference/output checks pass. New test:detection reads location/channel from a generated 2560x1440 stream through real OCR IPC. User confirmed English/game-window capture; actual live detection still needs verification. Installed release and running app unchanged; pnpm dev uses the fixes.

Fixed in https://git.it-lampe.de/rexlManu/garmith-app/commit/45a0660 . Class reader now discovers Proton gameVariable.xml case-insensitively and uses O_NOATIME instead of changing game-file timestamps. Unclear character access-time/spec evidence remains unconfirmed. Channel OCR is independent of buff reporting; network reports/screenshots still require opt-in. Location matching examines known labels across usable OCR lines, rejects unknown/low-confidence/ambiguous text and saves canonical names only. Invalid reads preserve the last confirmed place without adding history samples. All 210 tests, typecheck, build, 20 routes and reference/output checks pass. New test:detection reads location/channel from a generated 2560x1440 stream through real OCR IPC. User confirmed English/game-window capture; actual live detection still needs verification. Installed release and running app unchanged; pnpm dev uses the fixes.
Author
Owner

Live failure follow-up pushed: ece4eab . Keep this issue open for user confirmation. Fixed closed stdout/stderr EPIPE crash; actual child-pipe tests pass without suppressing unrelated errors. Task-specific live minimap crop failed normal OCR but reads Olvia Academy Grounds with scale3/threshold80. Location-only pass now uses validated IPC; alias resolves the affiliated API node Olvia Academy without assigning a grindspot. Real supplied-crop test resolves Olvia Academy and Calpheon2; synthetic fixture also passes. Newest character has strong Succession skills but near-equal access/write timestamps, so return/display its class as Unconfirmed instead of Unknown. Tied characters remain unresolved and unconfirmed suggestions do not set session context. User reports Dark Knight Succession. All216 tests, typecheck, build and output/reference checks pass. Installed release/running app unchanged. Use pnpm dev after closing current app.

Live failure follow-up pushed: https://git.it-lampe.de/rexlManu/garmith-app/commit/ece4eab . Keep this issue open for user confirmation. Fixed closed stdout/stderr EPIPE crash; actual child-pipe tests pass without suppressing unrelated errors. Task-specific live minimap crop failed normal OCR but reads Olvia Academy Grounds with scale3/threshold80. Location-only pass now uses validated IPC; alias resolves the affiliated API node Olvia Academy without assigning a grindspot. Real supplied-crop test resolves Olvia Academy and Calpheon2; synthetic fixture also passes. Newest character has strong Succession skills but near-equal access/write timestamps, so return/display its class as Unconfirmed instead of Unknown. Tied characters remain unresolved and unconfirmed suggestions do not set session context. User reports Dark Knight Succession. All216 tests, typecheck, build and output/reference checks pass. Installed release/running app unchanged. Use pnpm dev after closing current app.
Author
Owner

Resuming detection work before the first community release, which will start at 0.1.0. No release will be published before live confirmation. Current expected state: Dark Knight Succession at Azure Battlefield, English, game-window capture. Checking active-character evidence and minimap OCR separately.

Resuming detection work before the first community release, which will start at 0.1.0. No release will be published before live confirmation. Current expected state: Dark Knight Succession at Azure Battlefield, English, game-window capture. Checking active-character evidence and minimap OCR separately.
Author
Owner

Pushed f42a552: f42a552

Current game settings confirm Dark Knight Succession. A crop of the visible English minimap passed through real capture/OCR IPC: Azure Battlefield and Calpheon 1. The crop was deleted. Azure Battlefield has no associated grind spot in the API, so detection does not invent one.

Fixed fresh-save class evidence, weak scans replacing saved spec, metadata startup timing, stale location replies, disconnected geometry, and exact-name channel 1 OCR confusion. Workspace typecheck/tests, build, built reference checks, release tests, generated detection and live crop IPC checks passed. Focused class/channel tests passed after the final change.

Versions reset to 0.1.0 as requested. No tag or release published. Keep this issue in progress until the user checks continuous detection in the updated app via pnpm dev. Installed app and user data unchanged. WORKFLOW.md records the remaining gate.

Pushed f42a552: https://git.it-lampe.de/rexlManu/garmith-app/commit/f42a552 Current game settings confirm Dark Knight Succession. A crop of the visible English minimap passed through real capture/OCR IPC: Azure Battlefield and Calpheon 1. The crop was deleted. Azure Battlefield has no associated grind spot in the API, so detection does not invent one. Fixed fresh-save class evidence, weak scans replacing saved spec, metadata startup timing, stale location replies, disconnected geometry, and exact-name channel 1 OCR confusion. Workspace typecheck/tests, build, built reference checks, release tests, generated detection and live crop IPC checks passed. Focused class/channel tests passed after the final change. Versions reset to 0.1.0 as requested. No tag or release published. Keep this issue in progress until the user checks continuous detection in the updated app via pnpm dev. Installed app and user data unchanged. WORKFLOW.md records the remaining gate.
Author
Owner

Release preparation checkpoint: CI run 32 passed source checks and Windows/Linux cross-builds at da5b049. The public v0.1.0 desktop release is still held until a live BDO check confirms class and grind-location detection. Cross-build success does not establish Windows runtime behavior. See WORKFLOW.md and docs/releases.md.

Release preparation checkpoint: CI run 32 passed source checks and Windows/Linux cross-builds at da5b049. The public v0.1.0 desktop release is still held until a live BDO check confirms class and grind-location detection. Cross-build success does not establish Windows runtime behavior. See WORKFLOW.md and docs/releases.md.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rexlManu/garmith-app#17
No description provided.