-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
feat: Upgrade to parse 8.0.3 and @parse/push-adapter 8.2.0 #10021
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Upgrade to parse 8.0.3 and @parse/push-adapter 8.2.0 #10021
Conversation
|
🚀 Thanks for opening this pull request! |
✅ 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. |
📝 WalkthroughWalkthroughBumps two dependencies in Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@hajjarjoseph, there seems to be another issue; in Parse SDK >=8.0.1, Parse.initialize() only accepts 2 arguments (applicationId, javaScriptKey), so this fails: Parse.initialize(config.appId, Parse.javaScriptKey, config.masterKey);There is also an internal API There are also a bunch of more TypeErrors if you at the CI, also introduced with 8.0.1 presumably. |
|
@coderabbitai investigate the issue described in #10021 (comment). |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain
🏁 Script executed: Length of output: 2547 🌐 Web query: 💡 Result: I couldn’t find any official Parse JS SDK (“parse” on npm) changelog entry that lists breaking changes specifically for v8.0.1—the public GitHub “Releases” page for What I can verify:
If you want, paste the v8.0.1 changelog text you’re looking at (or tell me where you’re viewing it), and I’ll extract/flag any potentially breaking items precisely. Citations:
🌐 Web query: 💡 Result: In the Parse JavaScript SDK (including current docs), Parse.initialize(applicationId: string, javascriptKey?: string, masterKey?: string): voidUsage examples from the official JS guide: Source(s) Citations: 🌐 Web query: 💡 Result: The Parse JavaScript SDK has not “removed” the Master Key concept, but you generally can’t (and shouldn’t) use the Master Key from browser code. What’s going on:
So if you upgraded and “lost” the third parameter, the practical fix is usually:
Sources: 🌐 Web query: 💡 Result: I couldn’t find any evidence (in the Parse-SDK-JS repo or its 2025 release notes) that Current examples still show the classic 2-arg call: Parse.initialize("YOUR_APP_ID", "unused");
Parse.serverURL = "http://localhost:1337/parse";—which also implies the second parameter is effectively optional/unused in many Parse Server setups. [2] Sources: [1] [3] 🏁 Script executed: Length of output: 685 🏁 Script executed: Length of output: 14019 🏁 Script executed: Length of output: 1894 🏁 Script executed: Length of output: 1204
Key FindingsThe Locations with incorrect 3-argument calls:
Root CauseThis is NOT a breaking change introduced in 8.0.1. The signature has been the same since at least version 7.0.0. The Parse SDK provides two methods:
The public SolutionReplace - Parse.initialize(appId, javascriptKey || 'unused', masterKey);
+ Parse._initialize(appId, javascriptKey || 'unused', masterKey);This issue may have existed for a while but could become more apparent with TypeScript strict type checking or if the SDK starts warning about extra parameters. Would you like me to help plan the code changes to fix these issues? 🧠 Learnings used |
|
@coderabbitai So if someone uses the current Parse Server version with Parse JS SDK 8.x.x, and the master key is silently ignored, why are the potential issues? |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 15092
Critical Impact Areas1. Authentication & Session ValidationIn
2. Role ResolutionParse Server queries roles using
3. Live Query OperationsIn
Without the master key, Live Query subscriptions may not work correctly. 4. Internal Data AccessMany internal operations need to bypass ACLs/CLPs:
Why It's SilentThe Parse JS SDK's Current StateGiven that tests are failing with Parse SDK 8.0.1+, it confirms that:
The fix to use 🧠 Learnings used |
|
@coderabbitai So should we change Parse Server to call |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 2428
The Design IntentThe Parse SDK deliberately separates these two methods for security:
Evidence from Parse SDK SourceThe JSDoc comment on However, the actual method signature only accepts 2 parameters. This JSDoc is misleading/outdated, but the implementation is correct—it's a safeguard to keep masterKey out of the public API. RecommendationParse Server should use
Action RequiredUpdate all three locations in Parse Server:
Would you like me to plan the code changes to make this fix? 🧠 Learnings used |
|
@hajjarjoseph we're still seeing a few type errors in the CI. Would you mind taking a look? I think this one is response for most of the errors:
It would be good if you could use a parse-server repo on the side in your dev environment and use your local parse clone as parse dependency. This way you can just run the parse-server tests yourself and see whether they all pass, before we merge the parse PR. |
|
Hey @mtrezza. No more failures when I did an override to @parse/push-adapter on my end. The issue is that we just need to update @parse/push-adapter "parse" package |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## alpha #10021 +/- ##
==========================================
- Coverage 92.54% 92.54% -0.01%
==========================================
Files 190 190
Lines 15489 15489
Branches 176 176
==========================================
- Hits 14335 14334 -1
- Misses 1142 1143 +1
Partials 12 12 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
# [9.2.0-alpha.3](9.2.0-alpha.2...9.2.0-alpha.3) (2026-01-27) ### Features * Upgrade to parse 8.0.3 and @parse/push-adapter 8.2.0 ([#10021](#10021)) ([9833fdb](9833fdb))
|
🎉 This change has been released in version 9.2.0-alpha.3 |
|
@hajjarjoseph it worked, thanks. It's indeed a pain to have these dependencies. We should move Parse.Error out of the parse repo into a distinct repo. That is in most cases the reason why parse is a dependency, like of the push adapter. |
Pull Request
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.