All external service `accounts-*` packages (`accounts-facebook`,
`accounts-github`, etc.) are currently using ES2015 syntax, but
do not explicitly declare a dependency on the `ecmascript`
package. This means the ES2015 syntax being used is not
transpiled by Meteor, and can lead to issues like #9506.
Since `accounts-base` and `accounts-password` both already
have `ecmascript` as a dependency, this PR adds an `ecmascript`
dependency to all external service `accounts-*` packages.
Fixes#9506.
This commit updates the `meteor create --full` app skeleton to use `meteortesting:mocha`
(and npm based `chai`), instead of the deprecated `practicalmeteor:mocha` package.
When using the `oauth` package "redirect" `loginStyle`, the
redirect URL is escaped before it is embedded in the HTML
page that is used to finalize the oauth process. This
escaped redirect URL is then assigned directly to
`window.location` to finalize the redirect. Browsers can
properly handle most of the escaped URL components, with
the exception of HTML entity based ampersands: `&`.
The `&`'s are left in the redirect URL after the
redirect has completed, leading to broken redirects in
some cases.
This commit makes sure `&`'s are converted back to
`&`'s before the redirect URL is assigned to
`window.location`.
Fixes#9279
Clearly we haven't remembered to bump this version for some time now,
which is too bad, because it could have provided a more helpful error for
developers using an older version of Node in their non-Galaxy deployment
environments: https://github.com/meteor/meteor/issues/9470
* Deprecate the stylus package
Better / more up to date 3rd party stylus packages exist and
there isn't really any technical reason why Meteor core needs
to include its own stylus package. Since a stylus package
can be fully built and managed outside of core, this commit
moves the `stylus` package into `deprecated` (and preps the
package contents for deprecation if we decide to publish a
final version).
* Removed dupe
* Add test placeholder css file to console test runner
Some of Meteor's package tests require at least one `.css`
file to be available in the tested application bundle
(e.g. "appcache - sections validity" and "webapp -
content-type header"). The inclusion of this file makes
sure that at least one `.css` file can always be found,
when the tests are run.
* Bump test-in-console package version
* Bump package minor version
Putting the minor version at something unreachable to
make sure the deprecated version isn't accidientally
pulled into an app when running
`meteor update --all-packages` or `meteor update stylus`.
* Add PR link
* Prevent Tool crash when settings file contains BOM
The use of a byte order mark in a `--settings` file
crashes the Meteor Tool, when it attempts to JSON parse
the loaded settings data. Since a BOM is not required
(or recommended) when using UTF-8, this commit removes
it from the loaded settings data, before it is parsed.
Fixes#5180.
* Add PR link to History.md
* Update History.md
* Ignore undefined fields when inserting/updating in Mongo
The Mongo Node driver that Meteor uses currently replaces
`undefined` field values with `null`, when doing an
insert/update. This approach can lead to unexpected behaviour,
as outlined in #1646, #6051 and several other issues. This commit
configures the default Mongo connection to `ignoreUndefined`
fields, which means `undefined` fields are not inserted/updated,
instead of being inserted/updated as `null`.
Fixes#6051.
* Add PR link to History.md
* Update Email.send docs to show how to add header objects
Recent versions of `mailcomposer` (which Meteor is now using) no
longer `JSON.stringify` added header objects. This commit updates
the `Email.send` `options.headers` docs to show how to properly
associate objects with custom headers using `JSON.stringify`.
Fixes#8660.
* Adjust header object docs property naming to avoid confusion
* Help browser account saving with accounts-ui login/signup forms
`accounts-ui-unstyled` currently uses `<div />`'s to hold its
login/signup forms, as well as `<div />`'s to represent the
login/signup buttons in the form. By not using proper
`<form />` and `<button />` elements, certain browser's do not
notice incoming login/signup requests, and therefore do not
trigger their built in "would you like to save your user/password"
functionality. This commit adjusts the `accounts-ui-unstyled`
login/signup form to use proper `<form />` and `<button />`
elements, allowing most (Chrome, Firefox, IE - Safari will
recognize the request when a user attempts to leave the page)
browsers to recognize incoming login/signup requests.
Fixes#1746.
* Add History.md entry outlining potential back compat issues
* Bump minor versions
Since this test utilizes the `testWithAllClients` technique, which runs
the tests in various clients/browsers, it's necessary for the tests
`Sandbox` to define `clients`, otherwise the function within
`testWithAllClients` will not be executed at all. This was causing this
particular test to always return success (it was running without failure
on exactly zero clients).
Also the technique of setting `this.baseTimeout` appeared to cause
problems, likely because it overrides various other values instead of
using `waitSecs` (we don't use the `baseTimeout` technique in other
places within self-tests either).
Discovered during testing, as mentioned in
https://github.com/meteor/meteor/pull/9439#pullrequestreview-83139232.