Repository navigation
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
WalkthroughThe Sentry wrapper now preserves native filesystem paths on Windows, resolves attachment paths to absolute paths, and reports filesystem errors through framework errors. Windows integration tests cover path handling and initialization failures. ChangesSentry Path Handling
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to No actionable issue is established that would prevent merging after normal checks. Pre-merge checks |
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
Crash reporting can abort application startup with
0xC0000005when the launcher is installed in a Windows folder such asMasaüstü. The Framework passes native code-page path strings to Sentry's narrow APIs, which decode them as UTF-8. On Windows code page 1252, the database path is rejected andsentry_initdereferences it insentry__path_create_dir_all.Keep paths as
std::filesystem::pathat the SDK boundary and use Sentry's wide Windows APIs for the Crashpad handler, cache database, startup attachments, and dynamically attached files. Filesystem conversion errors returnFramework::Error. The public string interfaces retain their existing native filesystem encoding; this change does not recover characters already lost by a caller's conversion.Before / after
Measured on Windows x64, native code page 1252, using the real Sentry/Crashpad backend with an empty DSN (uploads disabled). Each case runs in its own process.
developwrapperMasaüstüinstallation directory0xC0000005The new Windows regression target also exercises startup and dynamic attachments with native non-ASCII filenames. It selects a losslessly representable Unicode fixture for the active Windows code page and is included in
RunFrameworkTests.Validation
builds\build.bat RunFrameworkSentryTests 64: all 5 cases pass after the fix; the non-ASCII installation case fails with0xC0000005before the fix.builds\build.bat RunFrameworkTests 64: 659 Framework tests, 1 client scripting test, and all 5 Sentry cases pass.Summary by CodeRabbit