Commit Graph

747 Commits

Author SHA1 Message Date
Martijn Walraven
e9f5882ebc Clarify use of buildNumber in History.md 2015-08-26 19:26:53 +02:00
Martijn Walraven
e66bbd3c19 Remove default build number generation
See https://github.com/meteor/meteor/pull/4048.
2015-08-26 19:26:49 +02:00
David Greenspan
ceaed90e5d add a line to History.md 2015-08-24 17:05:24 -07:00
David Greenspan
2cfd6a322a Merge branch 'master' into devel 2015-08-03 14:18:55 -07:00
David Greenspan
9c462fc551 Update History.md 2015-07-30 13:49:16 -07:00
David Glasser
f59cf85740 Prepare to build Node 0.10.40 2015-07-16 21:58:14 -07:00
David Glasser
b1183b5059 Assets in packages must be explicitly declared
In the past, `api.addFiles('foo.gif')` would make foo.gif an asset if
there was no extension handler for gif active.  In fact, it would make
it a dual client/server asset even if that was unintentional.

This led to a few problems:
(a) People often left out 'client' and ended up packaging an unnecessary
    second server copy of the asset
(b) The implementation meant that `api.addFiles('foo.css')` would actually
    add foo.css as a static asset on the server (this was already fixed
    on batch-plugins via explicitly looking for wrong-arch
    classifications)
(c) Now that we have linters, if a file is used by a linter but not by a
    compiler (eg linter config files), there was no way to say in a
    package "add this file, but just for linters, don't make it a static
    asset too".

These are only really issues in packages, not apps.  In apps, we avoid
them by only marking things as static assets if they are in public or
private (and not letting those things be considered as other kinds of
sources).

This is a backwards-incompatible change, but it does not affect apps or
published packages, just packages built from source.
2015-07-09 15:17:56 -07:00
David Glasser
89fd02bc4d Add History.md PR number 2015-07-09 09:26:40 -07:00
Oleksandr Chekhovskyi
565fa39037 Catch up to oplog at most once per write fence
Before this change, number of catch-up attempts was N*M, where N is number of
writes inside of the fence, and M is number of active observers on affected collections.
Every catch up issues yet another query to find the latest oplog entry.

It was extremely inefficient, in terms of both CPU usage and added latency.
After executing write-heavy methods, application process was occupied for many seconds
doing the same thing over and over again.

This change provides a performance improvement for all kinds of workloads.
2015-07-09 09:25:56 -07:00
Avital Oliver
d634651232 spiderable: on failure report URL
This would have helped diagnose an issue that @zol hit on a production
app behaving differently on staging and production environments
2015-07-07 09:44:15 -07:00
Martijn Walraven
8b67d05af6 Clarify new behavior for loginWithGithub 2015-07-01 11:48:26 -07:00
Martijn Walraven
e6b7f13038 Request user:email permission for GitHub by default
Closes #4545.
2015-06-30 15:34:33 -07:00
David Glasser
447d236a9b sub.ready() should be true inside its onReady
Fixes #4614.
2015-06-30 13:57:48 -07:00
Martijn Walraven
3790e0987b Add ability to login with a case insensitive username or email
Closes #550.

`loginWithPassword` now matches username or email in a case insensitive manner.
If there are multiple users with a username or email only differing in case, a
case sensitive match is required.

Although `createUser` won't let you create users with ambiguous usernames or
emails, this could happen with existing databases or if you modify the users
collection directly.

Because MongoDB does not support case insensitive indexes, we perform a case
insensitive query both before and after inserting a new user, removing the user
when we detect another matching user has been inserted in the meantime. This
leaves us with the theoretical possibility that a server crash could occur in
between the insert and the second query or remove. In that situation there
would be two accounts with a username or email only differing in case, so we
will require a case sensitive login.
2015-06-29 19:12:52 -07:00
David Glasser
13d6b807af Update History 2015-06-23 14:32:51 -07:00
David Glasser
f75eb8910e tweaks and history 2015-06-16 13:45:09 -07:00
Avital Oliver
800ec27264 Add History.md entry for {{> React}} restriction 2015-06-15 21:25:50 -07:00
David Glasser
9bc20650a9 Pass default values of $LANG/LC_ALL to mongod
Also, detect if mongod fails due to bad locale and print a better
message. I think that with these default values, mongod shouldn't fail
any more (unless you've actively set locale env vars to unknown locales)
but if it does, we want a better message, which will link to #4019.

Fixes #4019.
2015-06-11 17:46:56 -07:00
David Glasser
692f935240 Remove IE7-specific workaround
We no longer support IE7, and a user reported that this function threw
in some context.  Might as well just delete the code.  See #4485.
2015-06-02 15:29:26 -07:00
Adrian Lanning
9f2c35e253 Fix email verification token index
The original index, "emails.validationTokens.token" is never used in any meteor packages.  A search of "validationTokens" across all the packages in `meteor/packages` returns nothing.

The correct index should be, "services.email.verificationTokens.token".  This is used in the `verifyEmail` method to locate the correct user record.  Without a matching index, this causes a full table scan each time `verifyEmail` is called.

Fixes #4482.
2015-06-02 15:10:59 -07:00
David Glasser
4eb017a4ab History update 2015-06-02 15:07:58 -07:00
Jonathan Perl
0a327fe374 Escape script tag in history 2015-05-27 14:11:33 -04:00
David Greenspan
93e35d1922 Fix external <script> tags in templates
Fixes #4415

See comment https://github.com/meteor/meteor/issues/4415#issuecomment-105688451 for explanation.
2015-05-27 10:39:33 -07:00
Slava Kim
b5514d4e9f Add Cordova updates to History.md
Credit goes to: @copleykj, @wojtkowiak, and @srounce
2015-05-21 19:46:02 -07:00
David Glasser
2412753f6a Clone "replacement" doc in minimongo update
Previously we were carefully cloning the relevant pieces of most
modifier $ops but not for replacement (or for $pushAll, for that
matter). Instead, just clone the full mod doc always.

(The purpose of cloning here is so that mutable state isn't shared
between the arguments to minimongo APIs and internal LocalCollection
data structures.)

Fixes #4377.
2015-05-19 14:02:33 -07:00
Sashko Stubailo
e61b110e4b Add fastclick upgrade to History.md 2015-05-19 13:58:43 -07:00
Avital Oliver
092b97d2da Rename Spiderable.requestTimeout to Spiderable.requestTimeoutMs
Based on code review from @glasser
2015-05-15 14:11:35 -07:00
Avital Oliver
2c343a0788 spiderable: Let apps configure timeout for phantomjs
`Spiderable.requestTimeout` can now be changed in server code in an app
to the number of milliseconds to wait until spiderable gives up on
phantomjs.

This is motivated by frontpage hitting 15 seconds at times (due to some
other problem we have), but regardless slow page loads are better than
non-crawlable ones.
2015-05-15 14:11:35 -07:00
Ben Newman
e666e12210 Mention recent changes I made (or merged) in History.md. 2015-05-14 16:44:44 -05:00
David Greenspan
b0273ad010 Print better messages in meteor update
The #1 goal is to not say, "Your packages are at
their latest compatible versions" whenever an
update has no effect.  That isn't necessarily
true.  `meteor update` with no arguments never
updates a major/minor of an indirect dependency,
for example.  Also, you may have specified some
packages on the command line (though arguably
"your packages" could be interpreted to refer to
those packages).

In addition, `meteor update` with no arguments now
reports any direct or indirect dependencies that
aren't at their latest versions.

For example:

```
Your top-level dependencies are at their latest compatible versions.

Newer versions of the following indirect dependencies are available:
 * aldeed:collection2 0.1.7 - 2.3.3 is available
To update one or more of these packages, pass their names to `meteor update`.
```

Sort of related to #4170.
2015-05-13 14:52:12 -07:00
Simon Fridlund
0b6b5d425e Update History.md
Add note about google prompt option.
2015-05-12 16:14:17 +02:00
David Glasser
525cc5d863 History updates 2015-04-29 00:46:15 -07:00
Slava Kim
22acddadb1 Add XXX History.md records for merged Blaze PRs
https://github.com/meteor/meteor/pull/3560
https://github.com/meteor/meteor/pull/4101
2015-04-23 16:34:58 -07:00
David Glasser
067d1c864b History update 2015-04-21 16:52:04 -07:00
David Glasser
f7b887ac97 Let users pass a MailComposer object directly
Expose the mailcomposer module on EmailInternals.

Fixes #4209.
2015-04-21 14:03:39 -07:00
David Glasser
471c6d7412 History update, and clean up whitespace 2015-04-21 13:36:47 -07:00
David Glasser
d310c3e3e6 Upgrade UglifyJS to 2.4.20 from 2.4.17
Fixes #3019.
2015-04-17 12:30:10 -07:00
David Glasser
aa18a9af01 History update 2015-04-14 21:59:36 -07:00
David Glasser
6a22e377de Use per-message websocket compression
(This is the third attempt to enable this. I believe as of
permessage-deflate 0.1.3, it works properly.)

By default, we attempt to use this for every websocket message on both
client and server.

On the server, we provide the SERVER_WEBSOCKET_COMPRESSION environment
variable to control compression. If $SERVER_WEBSOCKET_COMPRESSION is
set, then it must be valid JSON. If it represents a falsey value, then
we do not use permessage-deflate at all; otherwise, the JSON value is
used as an argument to deflate's configure method; see
https://github.com/faye/permessage-deflate-node/blob/master/README.md

We do not provide a way to use it only on some messages. The underlying
spec allows this but permessage-deflate does not; see
https://github.com/faye/permessage-deflate-node/issues/2

We do not provide a mechanism to control compression parameters on the
client side.  The assumption is that the common reason to care about
compression parameters is to control server per-connection memory
usage. (The noContextTakeover configuration parameter should save some
memory and still allow for some compression, for example.)

Addresses #3007 (which will not be fixed until this change is deployed
on the package server as well).
2015-04-10 13:37:58 -07:00
Sashko Stubailo
e75875e369 Merge branch 'master' into devel
Conflicts:
	History.md
	docs/client/data.js
	tools/run-mongo.js
	tools/tests/mongo.js
2015-04-06 11:30:20 -07:00
Sashko Stubailo
c7471b4b16 Update History.md 2015-04-06 10:45:49 -07:00
Slava Kim
cdaaa6b0eb Merge branch 'master' into devel 2015-04-02 14:43:23 -07:00
Slava Kim
7718e75679 Add a history.md record for #4097 2015-04-02 13:55:47 -07:00
Sashko Stubailo
e57c668568 Add History.md entries for recent PRs 2015-04-02 10:59:23 -07:00
David Glasser
44d387c3ab Detect 'drop database' in oplog observe driver
Fixes #3847.
2015-04-01 15:55:48 -04:00
David Glasser
a1e002a250 meteor run sees changes to .meteor/versions
`meteor run` doesn't always write changes to `.meteor/versions`: it only
does so if its release (or checkout-ness) matches `.meteor/release`.  So
it preferred to just remember the value of `.meteor/versions` from
rebuild to rebuild rather than forgetting what it knew and re-reading
the possibly-not-updated file.

However, if some other process changes `.meteor/versions`, it would
ignore that change.  With this fix, if `.meteor/versions` changes then
that is considered to be the previous versions list, not the last
version list from the same process.  For example, this would commonly
happen due to using `meteor update` to update packages (without changing
the tool, which would cause the runner to stop).

Fixes #3582.
2015-04-01 14:39:46 -04:00
David Glasser
0371c4ff26 Allow bare files on the server
This restriction was originally in place because we did not know of a
use case for bare files on the server.  The main use case for bare files
is putting pre-existing files in your app which expect top-level `var`s
to be "exported", which is common in browsers but not in Node.

However, there is a use case for this on the server: putting
pre-existing files that were originally written with clients in mind but
which function fine on the server into your server code. So we'll relax
the restriction.

Fixes #3681.
2015-04-01 12:36:42 -04:00
David Greenspan
8557d054dc Merge branch 'master' into devel 2015-03-31 16:36:15 -07:00
Sashko Stubailo
497a26de49 Fix typo 2015-03-31 11:29:04 -07:00
Sashko Stubailo
d899f9a672 Improve History.md for 1.1 2015-03-31 11:27:54 -07:00