Feature/engine error handling#17
Merged
Merged
Conversation
Includes: - try/catch on dasher_frame, dasher_mouse_move/down/up, dasher_key_event - log_boundary_error routes caught exceptions to log callback at level 3 - dasher_has_engine_error() C API for frontend to detect engine faults - Hardened C API boundary exception handling (#35) Signed-off-by: will wade <willwade@gmail.com>
DasherCore PR #38 added try/catch on the per-frame hot path and an engineError flag exposed via dasher_has_engine_error(). Changes: - NativeBridge.cs: added dasher_has_engine_error P/Invoke - DasherCanvas.cs: OnTick checks engine error flag before each frame; stops timer and fires EngineFaultDetected event on fault - MainWindow.axaml.cs: handles EngineFaultDetected — shows user-facing toast notification advising restart; ring buffer already has the fault context from the log callback - Wired in both OnOpened and OnResetSettings (engine recreation paths) The engine log ring buffer captures the fault message at level 3 via the log callback BEFORE the function returns, so crash reports will have the fault context even if the frontend subsequently crashes. Signed-off-by: will wade <willwade@gmail.com>
Removed: - TriggerTestFault method and _testFaultFrame field from DasherCanvas - Ctrl+Shift+F keyboard handler from MainWindow - All fault_trace.log file tracing from OnEngineFault - OnEngineFault simplified to WriteCrashFile + dialog only Pinned DasherCore at v0.1.6 tag (includes hot path try/catch, engine error flag, hardened C API boundary). Signed-off-by: will wade <willwade@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Issue / RFC: #
Type of change
Cross-platform impact
A core goal of Dasher v6 is feature parity across frontends. Help reviewers
see the blast radius:
If checked, I have opened / updated the feature matrix
(
website/src/data/feature-status.json) — linked PR: #(or confirmed this is genuinely platform-specific-only)
If checked, an RFC (
governance/rfcs) is linked: #Definition of Done
git commit -s