fix: Missing error messages in Parse errors#10304
fix: Missing error messages in Parse errors#10304mtrezza merged 1 commit intoparse-community:alphafrom
Conversation
|
🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review. Tip
Note Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect. Caution Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement. |
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## alpha #10304 +/- ##
=======================================
Coverage 92.53% 92.53%
=======================================
Files 192 192
Lines 16502 16502
Branches 227 227
=======================================
Hits 15270 15270
Misses 1212 1212
Partials 20 20 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
# [9.7.0-alpha.4](9.7.0-alpha.3...9.7.0-alpha.4) (2026-03-24) ### Bug Fixes * Missing error messages in Parse errors ([#10304](#10304)) ([f128048](f128048))
|
🎉 This change has been released in version 9.7.0-alpha.4 |
Issue
Flaky tests obscure real failures and erode CI reliability. Two tests were listed as flaky and retried up to 5 times on each CI run:
ParseLiveQuery handle invalid websocket payload length— intermittent timeoutrest query query internal field—TypeError: message.split is not a functionApproach
ParseLiveQuery test — The test sent an invalid WebSocket frame, then used
setTimeout(1000)to save an object, racing against a random reconnection delay of 0–1000 ms. If the reconnect took close to 1000 ms, the save fired before the subscription was re-established, and the update event was permanently lost. Fixed by replacing the blind timeout with a deterministic event-driven flow: wait for the initial subscriptionopenevent, then listen for theclose→openreconnection cycle before saving.RestQuery test —
Parse.Errorwas constructed with non-string messages (raw caught error objects orundefined) inDatabaseControllerandRestWrite. When such an error reached Jasmine's stack trace builder,message.split('\n')crashed. Fixed by ensuring allParse.Errorconstructors pass a string message. The test itself also mixedexpectAsyncrejection checks with success queries inPromise.all; if any rejected unexpectedly, orphaned promises caused unhandled rejections. Fixed by running the two groups sequentially.With both root causes addressed, the tests are removed from the flaky test list.
Tasks