Skip to content
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

[WIP] Implement batching all the way from MongoDB => DDP #9876

Closed
wants to merge 635 commits into from
Closed
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
635 commits
Select commit Hold shift + click to select a range
c5eae1e
Allow JSON5 in .babelrc files (#10098)
sakulstra Aug 12, 2018
f058e59
Update shrinkwrap for json5 dependency of babel-compiler.
benjamn Aug 12, 2018
ccea994
Continue supporting deprecated module.watch API for now.
benjamn Aug 13, 2018
44eeebf
Bump $BUNDLE_VERSION to 8.11.3.15 before rebuilding dev bundle.
benjamn Aug 13, 2018
5c4cad6
Update packages/non-core/blaze submodule to latest master.
benjamn Aug 13, 2018
cfb6a45
Compute static manifest.json lazily in webapp_server.js.
benjamn Aug 13, 2018
554936c
Bump package versions for 1.7.1-beta.32 release.
benjamn Aug 13, 2018
8dd3ce5
Parse URL query parameters before it's destroyed (#10152)
gchallen Aug 14, 2018
4a70b12
Allow package-name@x.y.z! override syntax in .meteor/packages.
benjamn Aug 14, 2018
8da7804
Don't allow overriding the meteor-tool package version.
benjamn Aug 15, 2018
af40e4c
Bump package versions for 1.7.1-beta.33 release.
benjamn Aug 15, 2018
9872a3a
Tests for @x.y.z! package version constraint override syntax.
benjamn Aug 15, 2018
a966efd
Mention @x.y.z! override syntax in History.md.
benjamn Aug 15, 2018
b14624a
Bump package versions for 1.7.1-rc.0 release.
benjamn Aug 15, 2018
b2919e5
Fix spelling
GeoffreyBooth Aug 16, 2018
9ba3308
Bump the versions of the Meteor core packages that the coffeescript p…
GeoffreyBooth Aug 16, 2018
f2600cc
Upgrade CoffeeScript NPM version to 2.3.1
GeoffreyBooth Aug 16, 2018
6a4ec82
Update CoffeeScript tests to add a test for modern browsers output; a…
GeoffreyBooth Aug 16, 2018
1cc5661
Ignore bad POST requests in dynamic-import request handler.
benjamn Aug 16, 2018
1621ee1
Update Node to version 8.11.4.
benjamn Aug 16, 2018
842e2e3
Bump $BUNDLE_VERSION to 8.11.4-meteor-1.7.0.5 before rebuilding dev b…
benjamn Aug 16, 2018
8eb0813
Ignore bad POST requests in dynamic-import request handler.
benjamn Aug 16, 2018
199aefb
Pin all Babel dev_bundle dependencies to 7.0.0-beta.51 exactly.
benjamn Aug 16, 2018
0e20906
Bump $BUNDLE_VERSION to 8.11.4-meteor-1.7.0.5-1 before rebuilding dev…
benjamn Aug 16, 2018
09194e8
Merge branch 'dynamic-import-0.4.2' into release-1.7.0.5
benjamn Aug 16, 2018
02a2f88
Bump package versions for 1.7.0.5-rc.0 release.
benjamn Aug 16, 2018
05916ee
Update meteor-babel npm package to version 7.0.0-rc.1-1.
benjamn Aug 16, 2018
c74f2f4
Update Blaze submodule to latest master version.
benjamn Aug 16, 2018
dd254a5
Set release date for Meteor 1.7.0.5 in History.md.
benjamn Aug 16, 2018
5748d0d
Bump package versions for the official 1.7.0.5 release.
benjamn Aug 16, 2018
4294869
Merge pull request #10158 from meteor/release-1.7.0.5
benjamn Aug 16, 2018
9d75b09
Merge branch 'master' into devel
benjamn Aug 16, 2018
7b23f66
Bump $BUNDLE_VERSION to 8.11.4.0 before rebuilding dev bundle.
benjamn Aug 16, 2018
b154a58
Merge branch 'devel' into release-1.7.1
benjamn Aug 16, 2018
3f0a6f0
Bump $BUNDLE_VERSION to 8.11.4.1 before rebuilding dev bundle.
benjamn Aug 16, 2018
86030c1
Bump package versions for 1.7.1-rc.2 release.
benjamn Aug 16, 2018
b8b404d
Only run the modern test on modern browsers/environments
GeoffreyBooth Aug 17, 2018
72794df
Warn about @babel/runtime release candidates, too.
benjamn Aug 20, 2018
fab90e4
Merge pull request #10155 from GeoffreyBooth/coffeescript-modern-brow…
benjamn Aug 20, 2018
2c6e6e0
Merge branch 'devel' into release-1.7.1
benjamn Aug 20, 2018
db194c5
Bump package versions for 1.7.1-rc.3 release.
benjamn Aug 20, 2018
a52a2c2
Give compile-coffeescript plugin a reliable version of @babel/runtime.
benjamn Aug 20, 2018
404c58d
Merge branch 'devel' into release-1.7.1
benjamn Aug 20, 2018
41b2f76
Let plugin packages import from the plugin's npmDependencies.
benjamn Aug 20, 2018
43e0251
Bump @babel/runtime used by compile-coffeescript plugin to 7.0.0-rc.1.
benjamn Aug 20, 2018
3c42552
Update shrinkwrap for compile-coffeescript plugin.
benjamn Aug 20, 2018
1a74403
Bump package versions for 1.7.1-rc.4 release.
benjamn Aug 20, 2018
b983f97
Update meteor-babel to version 7.0.0-rc.2.
benjamn Aug 22, 2018
68e755c
Bump $BUNDLE_VERSION to 8.11.4.2 before rebuilding dev bundle.
benjamn Aug 22, 2018
cfa9653
Bump package versions for 1.7.1-rc.5 release.
benjamn Aug 22, 2018
8b85410
Remove duplicate `mongodb` package update entry from history (#10184)
klaussner Aug 31, 2018
09cb1f8
Fix conditional grouping which resulted in failure on official Babel 7.
abernix Aug 31, 2018
1e34aca
Enforce specific `@babel/runtime` versions on `babel-runtime@1.2.x`.
abernix Aug 31, 2018
543d4d3
Merge branch 'devel' into release-1.7.1
abernix Sep 3, 2018
5558e50
Validating Cordova plugins installation (#9548)
May 25, 2018
1f8ffbf
Improvements to cordova plugin set change detection algorithm
wojtkowiak Sep 4, 2018
dc8f4ff
Update meteor-babel to version 7.0.0. :tada:
benjamn Sep 5, 2018
d02fa2c
Update dev bundle MongoDB version to 4.0.2.
benjamn Sep 5, 2018
6e2ac53
Use TLS 1.2 on Windows to download MongoDB via HTTPS.
benjamn Sep 5, 2018
5f22236
Bump $BUNDLE_VERSION to 8.11.4.3 before rebuilding dev bundle.
benjamn Sep 5, 2018
5906bb9
Bump package versions for 1.7.1-rc.6 release.
benjamn Sep 5, 2018
6bf22e6
Set cache directory correctly for meteor shell compilation.
benjamn Sep 5, 2018
4a688d7
Show web.browser.legacy rebuild time only when METEOR_PROFILE enabled.
benjamn Sep 5, 2018
05dd609
Merge pull request #10193 from wojtkowiak/cordova_consistency_fix
benjamn Sep 5, 2018
1a472a4
Simplify external symlink handling in Builder#copyDirectory.
benjamn Sep 6, 2018
b1e4464
Bump package versions for 1.7.1-rc.7 release.
benjamn Sep 6, 2018
b0d0dd1
Mention delayed build of legacy bundle in History.md.
benjamn Sep 6, 2018
b5081de
Note potential breaking change introduced in PR #9444 in Release 1.6.…
markreid Sep 7, 2018
7e79635
Update packages/non-core/blaze submodule to latest master revision.
benjamn Sep 7, 2018
1198046
Merge branch 'devel' into release-1.7.1
benjamn Sep 7, 2018
bb3a7fc
Support MongoDB 4.0 transactions in oplog_tailing.js.
benjamn Sep 6, 2018
039cb60
Apply transaction only if doc.o.applyOps is defined.
benjamn Sep 6, 2018
964909f
Allow only admin.$cmd in admin.* oplog doc.ns strings.
benjamn Sep 7, 2018
c62bc40
Add test for MongoDB 4.0 oplog transaction processing (#10206)
klaussner Sep 7, 2018
2ad049a
Merge pull request #10201 from meteor/implement-oplog-transaction-han…
benjamn Sep 7, 2018
6134251
Bump package versions for 1.7.1-rc.8 release.
benjamn Sep 7, 2018
de6717d
Update packages/non-core/blaze submodule to latest master, again.
benjamn Sep 7, 2018
f4957c3
Merge branch 'devel' into release-1.7.1
benjamn Sep 7, 2018
38e7ea6
Add @babel/runtime dependency to all build plugins that use ecmascript.
benjamn Sep 7, 2018
419fee1
Update shrinkwraps for compiler plugins now depending on @babel/runtime.
benjamn Sep 7, 2018
c632912
Make sure `meteor shell` commands are compiled for Node 8.
benjamn Sep 7, 2018
881390c
Avoid trying resolve.extensions unless parent directory exists.
benjamn Sep 10, 2018
203829c
Bump package versions for 1.7.1-rc.9 release.
benjamn Sep 10, 2018
b8cbe5a
Make minimongo array field sorting compatible with mongo 3.6+ behavio…
sebakerckhof Sep 11, 2018
4b9805f
Merge branch 'devel' into release-1.7.1
benjamn Sep 11, 2018
0f6a856
Adding 'Breaking changes' and 'Migration steps' sections to History.m…
filipenevola Sep 11, 2018
34fb07b
Style tweaks and clarifications to History.md following #10209.
benjamn Sep 11, 2018
8492415
Update Node to version 8.12.0.
benjamn Sep 11, 2018
44e906e
Update npm to version 6.4.1.
benjamn Sep 11, 2018
1bff089
Bump $BUNDLE_VERSION to 8.12.0.0 before rebuilding dev bundle.
benjamn Sep 11, 2018
3d4fb7a
Bump package versions for 1.7.1-rc.10 release.
benjamn Sep 11, 2018
53029c1
Fix wonky default export in accounts-base/client_main.js.
benjamn Sep 11, 2018
2945c50
Increase timeout in flaky "accounts - reconnect auto-login" test.
benjamn Sep 11, 2018
cb8bd2a
Make {dis,re}connection more reliable in "reconnect auto-login" test.
benjamn Sep 11, 2018
08027c9
Nullify CSS source map when replaced with stub comment.
benjamn Sep 11, 2018
210d1ac
Bump package versions for 1.7.1-rc.11 release.
benjamn Sep 11, 2018
5574f22
Fix: file `Meteor_:-@2x.png` breaks development on Windows (#10110)
mrauhu Sep 12, 2018
78cfa82
Downgrade Node from 8.12.0 back to 8.11.4, for now.
benjamn Sep 12, 2018
b699b4d
Bump $BUNDLE_VERSION to 8.11.4.4 before rebuilding dev bundle.
benjamn Sep 12, 2018
ac5410e
Merge branch 'devel' into release-1.7.1
benjamn Sep 12, 2018
b5208c7
Bump package versions for 1.7.1-rc.12 release.
benjamn Sep 12, 2018
c8ff49a
Expose information about Meteor target architecture to Babel plugins …
mariusrak Sep 12, 2018
282724a
Fix minimongo nested array sorting (#10217)
sebakerckhof Sep 12, 2018
c421705
Bump minimonogo patch version to 1.4.5.
benjamn Sep 12, 2018
fbebdc8
Merge branch 'devel' into release-1.7.1
benjamn Sep 12, 2018
56553f0
Create React-based apps with `meteor create --react` (#10149)
dmihal Aug 13, 2018
465f6ad
Style and application layout tweaks for React starter app.
benjamn Sep 13, 2018
914c18c
Fully add --react to `meteor create` (with help text).
benjamn Sep 13, 2018
9a0ab62
Update package.json dependencies of --react skeleton app.
benjamn Sep 13, 2018
acfdc32
Recast Meteor 1.7.1 as Meteor 1.8. :dizzy::woman_cartwheeling::sparkles:
benjamn Sep 13, 2018
bb72ba9
Bump package versions for 1.8-rc.13 release.
benjamn Sep 13, 2018
a76d96b
Mention `meteor create --react` in History.md.
benjamn Sep 13, 2018
deffd8a
Undo accidental reformatting of `meteor create` help text.
benjamn Sep 13, 2018
ba2b020
Remove duplicate <head> contents from Cordova boilerplate HTML.
benjamn Sep 13, 2018
1320cdb
Bump package versions for 1.8-rc.14 release.
benjamn Sep 13, 2018
46396a1
Instrument build/bundle/deploy commands for METEOR_PROFILE.
benjamn Sep 18, 2018
0e4bac5
Update meteor-babel to version 7.1.0.
benjamn Sep 18, 2018
a6e52c8
Await lingering self.runPromise in AppProcess#_runOnce.
benjamn Sep 18, 2018
e0d9a66
Update the mongodb npm package to version 3.1.6.
benjamn Sep 18, 2018
19eb34b
Bump $BUNDLE_VERSION to 8.11.4.5 before rebuilding dev bundle.
benjamn Sep 18, 2018
6020a7c
Bump package versions for 1.8-rc.15 release.
benjamn Sep 18, 2018
2a8dea8
Silence deprecation warnings introduced in a mongodb patch update.
benjamn Sep 18, 2018
24e1c9f
Bump package versions for 1.8-rc.16 release.
benjamn Sep 18, 2018
2759e95
Update terser minifier to 3.9.1 (#10239)
sakulstra Sep 28, 2018
7cf9dbb
Add ecmascript to accounts-oauth package
jamesmillerburgess Oct 1, 2018
292e279
Add ecmascript package to oauth1 client
jamesmillerburgess Oct 1, 2018
d90de03
Update terser to 3.9.2 (includes safari patch) (#10244)
sebakerckhof Oct 2, 2018
873349e
Merge pull request #10242 from jamesmillerburgess/#10231-accounts-oau…
benjamn Oct 2, 2018
0e899c4
Fix LGTM testing errors (issue #10240, PR #10241)
lisaychuang Oct 2, 2018
c3309b1
Restore wrapCallback error parameter behavior in mongo package (#10246)
janowsiany Oct 3, 2018
8f8e2a0
Be more tolerant of missing err.stack in parse-stack.js.
benjamn Oct 3, 2018
dd00c6b
Warn about duplicate api.mainModule paths, like api.addFiles does.
benjamn Oct 3, 2018
c5f6c27
Avoid modifying source files explicitly added by compiler plugins.
benjamn Oct 3, 2018
8ddd2f3
Bump package versions for 1.8-rc.17 release.
benjamn Oct 3, 2018
9dae1a0
Update shrinkwrap for minifier-js package after terser update.
benjamn Oct 4, 2018
bbdf285
Report Babel transform errors without crashing the build process.
benjamn Oct 4, 2018
180d7f1
Final History.md updates, including projected Meteor 1.8 release date.
benjamn Oct 5, 2018
37eb174
Bump package versions for the official 1.8 release. :feelsgood:
benjamn Oct 5, 2018
88ce834
Merge pull request #9942 from meteor/release-1.7.1
benjamn Oct 5, 2018
3051150
Merge branch 'master' into devel
benjamn Oct 5, 2018
3903194
Trivial: fix spacing in History.md.
benjamn Oct 7, 2018
2df1930
Update Roadmap.md (#10254)
StorytellerCZ Oct 9, 2018
9290ea7
Ignore inline source maps when minifying CSS files.
benjamn Oct 10, 2018
b7267b7
Use null for sourcesContent[i] if sources[i] unrecognized.
benjamn Oct 10, 2018
3f30d22
Bump standard-minifier-css patch version to 1.5.1.
benjamn Oct 10, 2018
ccb479f
Merge pull request #10263 from meteor/fix-issue-10112-by-ignoring-inl…
benjamn Oct 10, 2018
65064f4
Fix duplicate WebApp.connectHandlers.use - fix #10265 (#10268)
StorytellerCZ Oct 11, 2018
ed41dcd
Flatten buildmessage.{enterJob,capture} stacks by not using withValue…
benjamn Oct 11, 2018
e2e215d
Update meteor-babel npm package to version 7.1.3. (#10272)
benjamn Oct 11, 2018
308b4f1
Bump ecmascript package version to 0.12.1.
benjamn Oct 11, 2018
cc3d5e0
Add jsdoc comments to reactive-dict to fix meteor/docs#52 (#10273)
coagmano Oct 13, 2018
8e302da
Update `install` npm package to v0.12.2 to fix #10182.
benjamn Oct 13, 2018
94771d2
Update dynamic-import test app to Meteor 1.8.
benjamn Oct 13, 2018
18762f9
Update modules test app to Meteor 1.8.
benjamn Oct 13, 2018
2cc8db1
Fix #10290 (#10295)
StorytellerCZ Oct 23, 2018
8f86f19
ddp-client: fix usage of reload package (#10286)
nathan-muir Oct 23, 2018
2e428c8
webapp: add runtime config overrides when inline scripts are disabled
nathan-muir Oct 30, 2018
ea17364
Bump CoffeeScript to version 2.3.2 and enable lazy compilation.
benjamn Oct 30, 2018
c962787
Fix compiler plugins self-tests by waiting for lazy compilation to fi…
benjamn Oct 31, 2018
eb4ae8b
[oauth1] Add default value for whitelistedQueryParams. (#10301)
thomasspiesser Oct 31, 2018
b04485c
Merge pull request #10312 from meteor/lazy-coffeescript-compilation
benjamn Oct 31, 2018
d7339dd
Bump oauth1 patch version to 1.2.2.
benjamn Oct 31, 2018
0e983de
Update coffeescript-compiler constraint in coffeescript/package.js.
benjamn Oct 31, 2018
c622e51
Fix #10305 (#10310)
StorytellerCZ Oct 31, 2018
a54c926
Fix uncaught TypeError in autoupdate_client.js (#10281)
lgleim Nov 3, 2018
c5b51b0
user.services is not an array. (#10299)
gchallen Nov 3, 2018
689ae3d
Update postcss and cssnano to latest non breaking versions (#10260)
sakulstra Oct 21, 2018
249f317
Bump [standard-]minifier-css package versions.
benjamn Nov 3, 2018
f8e5973
Modernize session package (#10228)
sebakerckhof Nov 3, 2018
05ae386
Sanitize compiler name for environment variables (#10270)
sebakerckhof Nov 3, 2018
6a18c7a
Bump caching-compiler package version.
benjamn Nov 3, 2018
13388b4
Bump session package version.
benjamn Nov 3, 2018
44e713f
Ensure file.hash is always computed from sha1(file.data).
benjamn Nov 12, 2018
4294414
Update meteor-babel to version 7.1.5.
benjamn Nov 13, 2018
253213c
Bump ecmascript package version after bumping babel-compiler version.
benjamn Nov 13, 2018
152879c
Bump diff-sequence package version to fix #10320. (#10331)
benjamn Nov 13, 2018
f7bd8e9
Merge pull request #10330 from meteor/fix-findImportedModuleIdentifie…
benjamn Nov 13, 2018
7a7d5bd
Bump $BUNDLE_VERSION to 8.11.4.6 before rebuilding dev bundle.
benjamn Nov 14, 2018
c06a31a
Bump package versions for 1.8.0.1-rc.0 release.
benjamn Nov 14, 2018
ea28a34
Update `webapp`'s `useragent` npm to v2.3.0 to support HeadlessChrome.
abernix Nov 14, 2018
b65f8b0
For modern bundles, treat Chromium and "Headless Chrome" the same as …
abernix Nov 14, 2018
dc2f248
Make modern/legacy browser name check case-insensitive.
benjamn Nov 15, 2018
65e44f6
Bump webapp and modern-browsers package versions for #10334.
benjamn Nov 15, 2018
0bbb6df
Mention PR #10334 in History.md.
benjamn Nov 15, 2018
014dfab
Implement ResourceSlot#_addDirectlyToJsOutputResources to fix #10337.…
benjamn Nov 15, 2018
258d7f2
Merge pull request #10334 from meteor/abernix/update-useragent-for-mo…
benjamn Nov 15, 2018
5e7e809
Implement ResourceSlot#_addDirectlyToJsOutputResources to fix #10337.…
benjamn Nov 15, 2018
5e98790
Update `webapp`'s `useragent` npm to v2.3.0 to support HeadlessChrome.
abernix Nov 14, 2018
128c931
For modern bundles, treat Chromium and "Headless Chrome" the same as …
abernix Nov 14, 2018
f3f584d
Make modern/legacy browser name check case-insensitive.
benjamn Nov 15, 2018
0296f15
Bump webapp and modern-browsers package versions for #10334.
benjamn Nov 15, 2018
c326591
Note PR #10334 in History.md.
benjamn Nov 15, 2018
0561124
Note PR #10330 in History.md.
benjamn Nov 15, 2018
4c22e5e
Bump package versions for 1.8.0.1-rc.1 release.
benjamn Nov 15, 2018
b55806f
Relax precondition in ResourceSlot#addJavaScript.
benjamn Nov 17, 2018
c0a35f0
Bump package versions for 1.8.0.1-rc.2 release.
benjamn Nov 17, 2018
7ce3ca2
Avoid computing servePath from undefined targetPath.
benjamn Nov 19, 2018
4ceb405
Bump package versions for 1.8.0.1-rc.3 release.
benjamn Nov 19, 2018
346d512
Propagate input hashes all the way through bundling.
benjamn Nov 20, 2018
d5cee78
Update meteor-babel to version 7.1.6.
benjamn Nov 20, 2018
269a12e
Merge branch 'devel' into release-1.8.0.1
benjamn Nov 20, 2018
f440ef4
Bump $BUNDLE_VERSION to 8.11.4.7 before rebuilding dev bundle.
benjamn Nov 20, 2018
e8440a4
Bump package versions for 1.8.0.1-rc.4 release.
benjamn Nov 20, 2018
0f5bed4
Avoid passing lots of ...args to watch.sha1.
benjamn Nov 20, 2018
40ac2de
Use object ...spread syntax rather than _.extend.
benjamn Nov 21, 2018
eecc11e
Note release date for Meteor 1.8.0.1 in History.md.
benjamn Nov 23, 2018
ca2d442
Bump package versions for the official 1.8.0.1 release.
benjamn Nov 23, 2018
5e8434e
Merge pull request #10336 from meteor/release-1.8.0.1
benjamn Nov 23, 2018
d5aa1ba
Merge branch 'master' into devel
benjamn Nov 23, 2018
fc02c25
Avoid object shorthand syntax in oauth package. (#10349)
idmadj Nov 23, 2018
2a37f61
Use setTimeout in prefetchInChunks to avoid blocking UI (#10354)
CaptainN Nov 23, 2018
f4ebac5
Merge pull request #10309 from nathan-muir/webapp-runtime-override-is…
benjamn Nov 23, 2018
4aad077
Remove Blaze dependencies from static-html (#10267)
hwillson Nov 23, 2018
8f94013
Bump dynamic-import package version to 0.5.1.
benjamn Nov 23, 2018
56c9062
Bump webapp package version to 1.7.2.
benjamn Nov 23, 2018
47e0046
Revert "Remove Blaze dependencies from static-html (#10267)"
benjamn Nov 23, 2018
aecd530
Fix 1.8.1-beta.n upgrade instructions in History.md.
benjamn Nov 26, 2018
237d026
Update meteor-babel to version 7.2.0.
benjamn Dec 6, 2018
ad2d715
Bump meteor-promise version to 0.8.7.
benjamn Dec 6, 2018
0fcc7dd
Mention meteor-promise@0.8.7 update in History.md.
benjamn Dec 6, 2018
8f2c2b5
Get more data from Meetup API
StorytellerCZ Nov 29, 2018
a51a0cf
Bump meetup-oauth package version and avoid some repetition.
benjamn Jan 5, 2019
fb2146c
Stop excluding test modules when meteor.testModule found in package.j…
benjamn Jan 6, 2019
0ae6141
Stop excluding test modules when meteor.testModule found in package.j…
benjamn Jan 6, 2019
f04de1c
Bump package versions for 1.8.0.2-rc.1 release.
benjamn Jan 6, 2019
0d88efa
Set release date for Meteor 1.8.0.2 in History.md.
benjamn Jan 6, 2019
e36bd6b
Fix 1.8.1-beta.n upgrade instructions in History.md.
benjamn Nov 26, 2018
2673fac
Update meteor-babel to version 7.2.0.
benjamn Dec 6, 2018
b736b43
Bump meteor-promise version to 0.8.7.
benjamn Dec 6, 2018
5f50397
Mention meteor-promise@0.8.7 update in History.md.
benjamn Dec 6, 2018
e8612e5
Bump $BUNDLE_VERSION to 8.11.4.8 before rebuilding dev bundle.
benjamn Jan 6, 2019
232e1ae
Move meteor-{babel,promise} updates into v1.8.0.2 section of History.md.
benjamn Jan 6, 2019
68742a5
Bump package versions for 1.8.0.2-rc.2 release.
benjamn Jan 6, 2019
44b83ef
Mention React tutorial update in History.md.
benjamn Jan 6, 2019
be6e529
Bump package versions for the official 1.8.0.2 release.
benjamn Jan 6, 2019
38c1e5c
Merge pull request #10403 from meteor/release-1.8.0.2
benjamn Jan 7, 2019
7acf030
Merge branch 'master' into devel
benjamn Jan 7, 2019
be4cc2b
Refactor accounts-ui-unstyled/accounts_ui.js to fix bugs.
benjamn Jan 7, 2019
dea96ec
Fix #10409 by ignoring self-referential browser aliases in package.json.
benjamn Jan 10, 2019
5b3e8bc
Fix duplicate entry about meteor-promise in History.md (#10410)
skirunman Jan 11, 2019
20da99c
Do not treat client and server directories specially in packages. (#1…
benjamn Jan 11, 2019
7a872b6
Rewrite/simplify appcache size limit debug message. (#10355)
CaptainN Jan 11, 2019
37abeef
Improve css @import warning text (#10375)
jamesmillerburgess Jan 11, 2019
e076317
Modernize `ddp-client` package (#10413)
lh0x00 Jan 12, 2019
f04160a
Bump autoupdate patch version to 1.5.1.
benjamn Feb 8, 2019
642be6d
Attempt to fix tests by reverting puppeteer from 1.12.1 to 1.6.2.
benjamn Feb 4, 2019
cc94d94
abernix-ddp: Merged abernix-ddp-server-rework
KoenLav Mar 4, 2019
1b06d61
batch-ddp: Merged devel + abernix modernization
KoenLav Mar 4, 2019
6b9913a
batch-multiplexer: Merged devel + abernix modernization
KoenLav Mar 4, 2019
184696a
batch-multiplexer: Merged DDP batching
KoenLav Mar 4, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
122 changes: 80 additions & 42 deletions packages/ddp-client/common/livedata_connection.js
Expand Up @@ -451,7 +451,12 @@ export class Connection {
}
}
};
self._send({ msg: 'sub', id: id, name: name, params: params });
self._send({
msg: 'sub',
id: id,
name: name,
params: params,
});
}

// return a handle to the application.
Expand Down Expand Up @@ -794,13 +799,16 @@ export class Connection {
}

// If we added it to the first block, send it out now.
if (self._outstandingMethodBlocks.length === 1) methodInvoker.sendMessage();
if (self._outstandingMethodBlocks.length === 1) {
methodInvoker.sendMessage();
}

// If we're using the default callback on the server,
// block waiting for the result.
if (future) {
return future.wait();
}

return options.returnStubValue ? stubReturnValue : undefined;
}

Expand Down Expand Up @@ -1561,9 +1569,28 @@ export class Connection {
return;
}

var messages = [];

self._outstandingMethodBlocks[0].methods.forEach(m => {
m.sendMessage();
if (m.gotResult()) {
throw new Error('sendingMethod is called on method with result');
}

// If we're re-sending it, it doesn't matter if data was written the first
// time.
m._dataVisible = false;
m.sentMessage = true;

// If m is a wait method, make all data messages be buffered until it is
// done.
if (m._wait) {
self.connection._methodsBlockingQuiescence[this.methodId] = true;
}

messages.push(m._message);
});

self._send(messages);
}

_livedata_error(msg) {
Expand Down Expand Up @@ -1633,58 +1660,68 @@ export class Connection {

onMessage(raw_msg) {
try {
var msg = DDPCommon.parseDDP(raw_msg);
var messages = DDPCommon.parseDDP(raw_msg);
} catch (e) {
Meteor._debug('Exception while parsing DDP', e);
return;
}

// TODO: remove this console.log, which clearly shows the effect
console.log(messages.length);

// Any message counts as receiving a pong, as it demonstrates that
// the server is still alive.
if (this._heartbeat) {
this._heartbeat.messageReceived();
}

if (msg === null || !msg.msg) {
// XXX COMPAT WITH 0.6.6. ignore the old welcome message for back
// compat. Remove this 'if' once the server stops sending welcome
// messages (stream_server.js).
if (!(msg && msg.server_id))
Meteor._debug('discarding invalid livedata message', msg);
return;
}
// Convert all DDP messages to Array form
messages = Array.isArray(messages) ? messages : [messages];

for (var i = 0; i < messages.length; i++) {
var msg = messages[i];

if (msg === null || !msg.msg) {
// XXX COMPAT WITH 0.6.6. ignore the old welcome message for back
// compat. Remove this 'if' once the server stops sending welcome
// messages (stream_server.js).
if (!(msg && msg.server_id))
Meteor._debug('discarding invalid livedata message', msg);
return;
}

if (msg.msg === 'connected') {
this._version = this._versionSuggestion;
this._livedata_connected(msg);
this.options.onConnected();
} else if (msg.msg === 'failed') {
if (this._supportedDDPVersions.indexOf(msg.version) >= 0) {
this._versionSuggestion = msg.version;
this._stream.reconnect({ _force: true });
if (msg.msg === 'connected') {
this._version = this._versionSuggestion;
this._livedata_connected(msg);
this.options.onConnected();
} else if (msg.msg === 'failed') {
if (this._supportedDDPVersions.indexOf(msg.version) >= 0) {
this._versionSuggestion = msg.version;
this._stream.reconnect({ _force: true });
} else {
var description =
'DDP version negotiation failed; server requested version ' +
msg.version;
this._stream.disconnect({ _permanent: true, _error: description });
this.options.onDDPVersionNegotiationFailure(description);
}
} else if (msg.msg === 'ping' && this.options.respondToPings) {
this._send({ msg: 'pong', id: msg.id });
} else if (msg.msg === 'pong') {
// noop, as we assume everything's a pong
} else if (
['added', 'changed', 'removed', 'ready', 'updated'].includes(msg.msg)
) {
this._livedata_data(msg);
} else if (msg.msg === 'nosub') {
this._livedata_nosub(msg);
} else if (msg.msg === 'result') {
this._livedata_result(msg);
} else if (msg.msg === 'error') {
this._livedata_error(msg);
} else {
var description =
'DDP version negotiation failed; server requested version ' +
msg.version;
this._stream.disconnect({ _permanent: true, _error: description });
this.options.onDDPVersionNegotiationFailure(description);
Meteor._debug('discarding unknown livedata message type', msg);
}
} else if (msg.msg === 'ping' && this.options.respondToPings) {
this._send({ msg: 'pong', id: msg.id });
} else if (msg.msg === 'pong') {
// noop, as we assume everything's a pong
} else if (
['added', 'changed', 'removed', 'ready', 'updated'].includes(msg.msg)
) {
this._livedata_data(msg);
} else if (msg.msg === 'nosub') {
this._livedata_nosub(msg);
} else if (msg.msg === 'result') {
this._livedata_result(msg);
} else if (msg.msg === 'error') {
this._livedata_error(msg);
} else {
Meteor._debug('discarding unknown livedata message type', msg);
}
}

Expand Down Expand Up @@ -1771,7 +1808,8 @@ export class Connection {
msg: 'sub',
id: id,
name: sub.name,
params: sub.params
params: sub.params,
allowBatching: true,
});
});
}
Expand Down
114 changes: 65 additions & 49 deletions packages/ddp-common/utils.js
Expand Up @@ -38,80 +38,96 @@ export function last(array, n, guard) {
return slice.call(array, Math.max(array.length - n, 0));
}

DDPCommon.SUPPORTED_DDP_VERSIONS = [ '1', 'pre2', 'pre1' ];
DDPCommon.SUPPORTED_DDP_VERSIONS = [ '2', '1', 'pre2', 'pre1' ];

DDPCommon.parseDDP = function (stringMessage) {
try {
var msg = JSON.parse(stringMessage);
var messages = JSON.parse(stringMessage);
} catch (e) {
Meteor._debug("Discarding message with invalid JSON", stringMessage);
return null;
}
// DDP messages must be objects.
if (msg === null || typeof msg !== 'object') {
Meteor._debug("Discarding non-object DDP message", stringMessage);
return null;
}

// massage msg to get it into "abstract ddp" rather than "wire ddp" format.
// Convert all DDP messages to Array form
messages = Array.isArray(messages) ? messages : [messages];

for (let i = 0; i < messages.length; i++) {
var msg = messages[i];

// switch between "cleared" rep of unsetting fields and "undefined"
// rep of same
if (hasOwn.call(msg, 'cleared')) {
if (! hasOwn.call(msg, 'fields')) {
msg.fields = {};
// Each individual DDP message must be an object.
if (msg === null || typeof msg !== 'object') {
Meteor._debug("Discarding non-object DDP message", stringMessage);
return null;
}
msg.cleared.forEach(clearKey => {
msg.fields[clearKey] = undefined;
});
delete msg.cleared;
}

['fields', 'params', 'result'].forEach(field => {
if (hasOwn.call(msg, field)) {
msg[field] = EJSON._adjustTypesFromJSONValue(msg[field]);
// massage msg to get it into "abstract ddp" rather than "wire ddp" format.

// switch between "cleared" rep of unsetting fields and "undefined"
// rep of same
if (hasOwn.call(msg, 'cleared')) {
if (! hasOwn.call(msg, 'fields')) {
msg.fields = {};
}
msg.cleared.forEach(clearKey => {
msg.fields[clearKey] = undefined;
});
delete msg.cleared;
}
});

return msg;
['fields', 'params', 'result'].forEach(field => {
if (hasOwn.call(msg, field)) {
msg[field] = EJSON._adjustTypesFromJSONValue(msg[field]);
}
});
}

return messages;
};

DDPCommon.stringifyDDP = function (msg) {
const copy = EJSON.clone(msg);
DDPCommon.stringifyDDP = function (messages) {
messages = Array.isArray(messages) ? messages : [messages];

const clonedMessages = [];

for (let i = 0; i < messages.length; i++) {
const msg = messages[i];

// swizzle 'changed' messages from 'fields undefined' rep to 'fields
// and cleared' rep
if (hasOwn.call(msg, 'fields')) {
const cleared = [];
// swizzle 'changed' messages from 'fields undefined' rep to 'fields
// and cleared' rep
if (hasOwn.call(msg, 'fields')) {
const cleared = [];

Object.keys(msg.fields).forEach(key => {
const value = msg.fields[key];
Object.keys(msg.fields).forEach(key => {
const value = msg.fields[key];

if (typeof value === "undefined") {
cleared.push(key);
delete copy.fields[key];
if (typeof value === "undefined") {
cleared.push(key);
delete msg.fields[key];
}
});

if (! isEmpty(cleared)) {
msg.cleared = cleared;
}
});

if (! isEmpty(cleared)) {
copy.cleared = cleared;
if (isEmpty(msg.fields)) {
delete msg.fields;
}
}

if (isEmpty(copy.fields)) {
delete copy.fields;
}
}
// adjust types to basic
['fields', 'params', 'result'].forEach(field => {
if (hasOwn.call(msg, field)) {
msg[field] = EJSON._adjustTypesToJSONValue(msg[field]);
}
});

// adjust types to basic
['fields', 'params', 'result'].forEach(field => {
if (hasOwn.call(copy, field)) {
copy[field] = EJSON._adjustTypesToJSONValue(copy[field]);
if (msg.id && typeof msg.id !== 'string') {
throw new Error("Message id is not a string");
}
});

if (msg.id && typeof msg.id !== 'string') {
throw new Error("Message id is not a string");
clonedMessages.push(EJSON.clone(msg));
}

return JSON.stringify(copy);
return JSON.stringify(clonedMessages);
};
10 changes: 10 additions & 0 deletions packages/ddp-server/common.js
@@ -0,0 +1,10 @@
// Audit argument checks, if the audit-argument-checks package exists (it is a
// weak dependency of this package).
export function maybeAuditArgumentChecks(f, context, args, description) {
args = args || [];
if (Package['audit-argument-checks']) {
return Match._failIfArgumentsAreNotAllChecked(
f, context, args, description);
}
return f.apply(context, args);
}