Commit Graph

21063 Commits

Author SHA1 Message Date
Ben Newman
6020b38dde Bump package versions for 1.7-rc.1 release. 🎉 release/METEOR@1.7-rc.1 2018-05-03 19:14:18 -04:00
Ben Newman
a0842f70f6 Expose Cordova assets with and without /__cordova URL prefix.
Related to #9776.
Fixes #9782.
2018-05-03 19:12:01 -04:00
Ben Newman
fb9321870e Set minimum modern versions for Electron.
This effectively means Electron 1.6.0+ will be considered modern.

Fixes #9852.
2018-05-03 13:30:34 -04:00
Ben Newman
8bfdea712a Use legacy workaround for @babel/runtime/helpers/inheritsLoose.
IE10 does not support setting the __proto__ property of objects as an
alternative to Object.setPrototypeOf. Because Babel generates code that
uses the @babel/runtime/helpers/inheritsLoose helper, and that helper
relies on setting __proto__, subclassing fails in Babel-generated code in
IE10 (and earlier), which causes a white screen of death in newly created
Meteor apps.

This commit checks whether setting __proto__ works, and (if not) overrides
the inheritsLoose helper with an implementation that does not rely on
setting __proto__. This logic applies only in legacy browsers, thanks to
api.addFiles("legacy.js", "legacy").

Although this shim isn't perfect (for example, there is no way to set up
true inheritance of static properties), it will allow inheritance to work
in browsers that would otherwise be completely broken.

Since IE10 represents only 0.1% of the world market, we should not
overinvest in keeping it working, but this seemed like a good opportunity
to take advantage of legacy bundling, without adding any new code to the
modern bundle.
2018-05-02 18:29:00 -04:00
Ben Newman
454422f9f0 Avoid const in promise package, since it is not ecmascript-compiled. 2018-05-01 17:44:56 -04:00
Ben Newman
0efe66e6a1 Bump package versions for 1.7-beta.28 release. release/METEOR@1.7-beta.28 2018-05-01 17:08:06 -04:00
Ben Newman
0d6fbba203 Make sure minimal apps depend directly on meteor package.
All Meteor packages implicitly depend on the meteor package, and the
meteor-base package implies the meteor package for most Meteor apps, but
the new minimal skeleton does not use meteor-base, so minimal Meteor apps
were not directly depending on the meteor package.

The only reason this mattered was that the meteor package registers a
default compiler plugin for CSS files, and compiler plugins only apply if
an app or package directly depends on them (or depends on a package that
implies them, such as meteor-base).

In other words, this change reenables support for raw CSS files for
minimal apps.
2018-05-01 15:15:00 -04:00
Ben Newman
d61e5daae6 Merge pull request #9849 from meteor/stop-prefixing-legacy-URLs
Stop prefixing legacy URLs with /__browser.legacy
2018-05-01 10:14:44 -04:00
Ben Newman
182c426c6d Set Vary:User-Agent response header for static files.
The only new functionality is the res.setHeader("Vary", "User-Agent")
call; the rest of the changes in this commit are just reformatting.

@CaptainN I think this should be enough information for well-behaved
browsers and CDNs to do the right thing, though I agree it's worth
documenting.
2018-04-30 19:47:12 -04:00
Ben Newman
0765927393 Let bundle-visualizer tolerate WebAppInternals.staticFilesByArch. 2018-04-29 10:20:12 -04:00
Ben Newman
d6c8a96bda Refine URL prefix logic to exclude just web.browser[.legacy].
This still leaves web.cordova as the only architecture whose URLs get
prefixed (with /__cordova/), but the implementation better reflects the
special status of web.browser and web.browser.legacy as architectures that
the webapp and dynamic-import packages understand how to disambiguate
using the isModern test from the modern-browsers package.
2018-04-29 10:06:08 -04:00
Ben Newman
7e5e5b9fa1 Restrict URL prefixing to web.cordova URLs.
Now that webapp can differentiate between modern and legacy browsers when
serving static files, without relying on URL prefixes, in principle we
shouldn't have to use prefixes for any URLs except Cordova ones.
2018-04-29 09:58:08 -04:00
Ben Newman
223ec46525 Use isModern(request.browser) to determine architecture of static files.
Note that WebAppInternals.staticFiles has been replaced by
WebAppInternals.staticFilesByArch.
2018-04-29 09:58:08 -04:00
Ben Newman
f9e95b3bbb Merge branch 'devel' into release-1.7 2018-04-29 09:22:01 -04:00
Ben Newman
715b96bed8 Use ecmascript in test-helpers and downgrade to latest published jquery.
Though this commit comes after the 1.1.0 version bump, these changes
should be published when that version is published (with Meteor 1.7).
2018-04-29 09:06:17 -04:00
Ben Newman
9cc9214490 Bump test-helpers package version to 1.1.0. 2018-04-29 02:16:17 -04:00
Ben Newman
cac0c89492 Merge pull request #9848 from meteor/improve-oplog-entry-skipping-test
Improve "oplog - entry skipping" test, which has been failing intermittently.
2018-04-29 00:20:56 -04:00
Ben Newman
029611ec6d Improve "oplog - entry skipping" test to prevent intermittent failures. 2018-04-28 23:51:01 -04:00
Ben Newman
bdc98281b1 Bump test-helpers package version to 1.0.13. 2018-04-28 23:50:53 -04:00
Ben Newman
d3df76b2b5 Allow testAsyncMulti functions to return promises. 2018-04-28 23:49:20 -04:00
Ben Newman
8e6f673fd0 Bump package versions for 1.7-beta.27 release. release/METEOR@1.7-beta.27 2018-04-28 12:09:02 -04:00
Ben Newman
72edda6b37 Cache previously computed app.manifest files.
This is an easy optimization that we should have done a long time ago.
2018-04-28 11:58:57 -04:00
Ben Newman
7e883b337f Register app.manifest FALLBACK for non-prefixed asset URLs.
This is an alternate solution to the problems #9776 was intended to fix.
2018-04-28 11:26:10 -04:00
Ben Newman
21ffb90154 Pass arch and prefix to eachResource callback in appcache-server.js. 2018-04-28 11:21:34 -04:00
Ben Newman
229fc24aad Go back to prefixing asset URLs with /__{browser.legacy,cordova,...}.
https://github.com/meteor/meteor/pull/9776#issuecomment-385180806
2018-04-28 11:20:25 -04:00
Ben Newman
a2b770e8db Merge branch 'devel' into release-1.7 2018-04-28 10:11:18 -04:00
Ben Newman
61506c64e2 Reinstate Deps as an alias for Tracker to fix #9830. 2018-04-28 10:10:47 -04:00
Ben Newman
11078e46b2 Bump package versions for 1.7-beta.26 release. release/METEOR@1.7-beta.26 2018-04-27 13:43:14 -04:00
Ben Newman
cd165c50e6 Bump appcache package version to 1.2.0. 2018-04-27 13:25:18 -04:00
Ben Newman
a599aa738d Avoid using WebApp.connectHandlers for appcache sizeCheck.
The (req, res, next) handler was not calling next(), which caused some
tests where appcache was used (e.g. hot code push) to time out.
2018-04-27 13:25:15 -04:00
Ben Newman
cf33eeedbc Decompose eachResource helper function in appcache-server.js. 2018-04-27 13:07:37 -04:00
Ben Newman
74a55ff107 Fix addAsset tests now that /__browser.legacy/ prefix no longer used. 2018-04-27 12:47:35 -04:00
Ben Newman
b50a52ecf5 Tolerate assets added with same path to both modern and legacy architectures.
Since legacy assets are no longer disambiguated from modern assets with a
/__browser.legacy/ URL prefix (#9776), we need a principled way to handle
collisions in the staticFiles registry.
2018-04-27 12:41:36 -04:00
Kevin Newman
06f9f78277 Avoid the need to rewrite URLs in appcache, by avoiding adding the prefix at build time for assets 2018-04-27 09:47:21 -04:00
Kevin Newman
154533af26 Rewrite /public urls to remove /__browser.legacy/ prefix in app.manifest (also skip stats.json) 2018-04-27 09:47:21 -04:00
Kevin Newman
7f2a683e2c Always omit .map files from app.manifest 2018-04-27 09:47:21 -04:00
Kevin Newman
04a0a2a97f Use isModern checks to decide which arch assets to put in the app.manifest, and add filter for web.browser.legacy in isDynamic check 2018-04-27 09:47:21 -04:00
Carl Littke
b6a385dfb2 Stop logging value of METEOR_SETTINGS when it is not valid JSON. (#9843)
In many production systems logs from the application will be forwarded to various logging systems, sometimes third party ones. All credentials in your settings will be leaked if you have any errors in your json.

Feature request can be found here
https://github.com/meteor/meteor-feature-requests/issues/293.
2018-04-27 15:10:40 +03:00
Jesse Rosenberger
2248019824 Merge branch 'devel' into release-1.7 2018-04-26 11:45:58 +03:00
Cyrille Colin
498f5d32dd [cordova] add resource-file to mobile-config (#9748)
* add resource-file to mobile-config

* Fix typo in addResourceFile documentation header

* get filename with path.parse instead of split

* Code formatting adjustments
2018-04-26 11:26:18 +03:00
Ben Newman
dcd01aceba Merge branch 'devel' into release-1.7 2018-04-25 18:22:00 -04:00
Ben Newman
986b47d1c4 Update meteor-babel to version 7.0.0-beta.46. (#9840) 2018-04-25 18:15:29 -04:00
Jesse Rosenberger
82d415ede0 Revert "tests: Add additional self-tests to the AppVeyor suite which exercise Mongo."
This reverts commit 3062995801.

The tests exhibited on AppVeyor showed some very clear failures in the way
that we're killing PIDs on Windows using `taskkill`.  I haven't actually
checked, but I find it virtually impossible that the PID of the process to
kill (the 5th test run) happened to be 3000.
2018-04-25 21:11:17 +03:00
Ben Newman
cf273f0911 Bump package versions for 1.7-beta.25 release. release/METEOR@1.7-beta.25 2018-04-25 12:43:35 -04:00
Jesse Rosenberger
3062995801 tests: Add additional self-tests to the AppVeyor suite which exercise Mongo.
Our current testing on Mongo is less complete than it could be and these
tests, particularly the `mongo with multiple --port numbers` test which does
actual writes to the database, should help with that.

Note that these tests are separate from the `mongo` package tests which are
much more extensive and test more advanced mongo functionality, but it's
good to have some basic Windows tests in place within the `self-test`
infrastructure.

cc @benjamn
2018-04-25 19:39:08 +03:00
Ben Newman
3502761c4d Exclude IE11 and all earlier versions from modern classification.
Builds on #9793.
Fixes #9818.
Fixes #9839.
2018-04-25 12:35:45 -04:00
Ben Newman
6be0514eaf Add modern-browsers to self-test sandbox root packages list. 2018-04-25 11:39:30 -04:00
Ben Newman
491f6b7e14 Bump $BUNDLE_VERSION to 8.11.1.4 before rebuilding dev bundle. 2018-04-25 11:35:43 -04:00
Ben Newman
52823ec8b5 Update 64-bit Mongo to version 3.6.4. 2018-04-25 11:20:13 -04:00
Ben Newman
86e4ee1d93 Copy {lib,ssl}eay32.dll into dev_bundle\mongodb\bin on Windows. 2018-04-25 11:20:13 -04:00