Commit Graph

19223 Commits

Author SHA1 Message Date
Radosław Miernik
97f1234e99 Fixed failing test. 2017-07-19 21:11:04 +02:00
Radosław Miernik
81919f80dd Merge branch 'devel' of github.com:meteor/meteor into minimongo-without-underscore 2017-07-19 20:14:59 +02:00
Ben Newman
23eeac122f Update the dynamic-import test app to Meteor 1.5.1. 2017-07-17 20:02:50 -04:00
Ben Newman
d0e0411f68 Update the modules test app to Meteor 1.5.1. 2017-07-17 19:58:56 -04:00
Ben Newman
44796a1831 Merge branch 'master' into devel 2017-07-13 20:16:08 -04:00
Ben Newman
25f003d0bc Throttle requestGarbageCollection to once per 500ms.
With Meteor 1.6 / Node 8, I noticed _buildLocalPackages taking multiple
seconds on initial server startup and restart, and the problem seems to be
that we call the global.gc function too often. This wasn't a problem in
previous versions of Node, as far as I know, but it makes sense to heed
the comment in tools/utils/gc.js, now that it matters.
2017-07-13 20:10:37 -04:00
Ben Newman
46fefdefc5 Allow programmatic garbage collection via gc(). 2017-07-13 20:10:37 -04:00
Ben Newman
08f5ea4c2b Merge branch 'fix/upserts' into devel (#8815). 2017-07-13 18:38:29 -04:00
Ben Newman
e3e7523675 Minor style tweaks (mostly adding missing semicolons). 2017-07-13 18:37:29 -04:00
seke
11c7eabf7f Add entry to History.md 2017-07-13 18:27:28 -04:00
seke
b5a9fde887 Adjust styling as per PR review 2017-07-13 18:26:07 -04:00
Seba Kerckhof
4531b3893c Optimize by only shallow cloning when modifier is replacement 2017-07-13 18:26:06 -04:00
seke
d89d6987fb Restore original indentation 2017-07-13 18:26:06 -04:00
seke
6105f62069 finish tests (hopefully) 2017-07-13 18:26:05 -04:00
seke
dbb24f5788 Revert order of simulated upsert to original order 2017-07-13 18:26:05 -04:00
Seba Kerckhof
b252e31f49 Fix most tests 2017-07-13 18:26:04 -04:00
seke
970044402e Fail faster in case of forbidden replace 2017-07-13 18:26:04 -04:00
seke
12d03f2607 Don't modify the input variables when creating upsert document 2017-07-13 18:26:03 -04:00
seke
8a7db6bdc5 Fix mongo driver when using object ids 2017-07-13 18:26:03 -04:00
seke
1fae40b204 Change logic of simulated upsert to always result in same result as normal upsert 2017-07-13 18:26:02 -04:00
seke
e06f88bdd4 Update mongo driver test 2017-07-13 18:26:02 -04:00
seke
1205655f21 Expand minimongo tests 2017-07-13 18:26:01 -04:00
seke
dac2f64d59 Track wether the _id is auto generated when doing an upsert 2017-07-13 18:26:01 -04:00
seke
2c9d46de19 Move _id change validation to LocalCollection._modify 2017-07-13 18:26:00 -04:00
seke
bb3c02900f Remove mongo 2.4-specific check 2017-07-13 18:26:00 -04:00
seke
5153d0778e Add rules for ambiguous _id values 2017-07-13 18:25:59 -04:00
Seba Kerckhof
c02e96d82e Create mongo-typed upsert document 2017-07-13 18:25:59 -04:00
Seba Kerckhof
3580edfeae Deal with regexp shorthand notation 2017-07-13 18:25:58 -04:00
Seba Kerckhof
29b6913f31 Add test for https://github.com/meteor/meteor/issues/5294 2017-07-13 18:25:58 -04:00
Seba Kerckhof
dda994c262 Make minimongo upsert compliant with mongo behavior (https://github.com/meteor/meteor/issues/8806) 2017-07-13 18:25:57 -04:00
Ben Newman
4e2854f88b Remove stray merge conflict marker from History.md. 2017-07-13 18:25:37 -04:00
Ben Newman
eff594dacf Add core-js/es6/regexp polyfills to ecmascript-runtime-client.
Helps with #8821.
2017-07-13 17:46:48 -04:00
Radosław Miernik
f5b0de5417 Normalized strings. 2017-07-13 21:14:26 +02:00
Radosław Miernik
a082de950a Short path for {_id} selectors (!). 2017-07-13 20:23:22 +02:00
Ben Newman
18e4c172f2 Bump ecmascript version to 0.8.2 to help with #8611.
When the babel-compiler package is updated, it appears that sometimes the
ecmascript package must also be updated, since it registers the compiler
plugin that uses babel-compiler.

After verifying that you're using both babel-compiler@6.19.4 and
ecmascript@0.8.2, you should probably run `meteor reset` just to be sure
you aren't still using any cached source maps.
2017-07-13 10:58:16 -04:00
Radosław Miernik
92555c32ba Further small optimizations. 2017-07-13 16:46:08 +02:00
Ben Newman
30605b55df Bump localstorage package version to 1.1.1. 2017-07-13 09:28:59 -04:00
Ben Newman
c360e51fe0 Make it easier to add Meteor._localStorage wrapper methods. 2017-07-13 09:25:15 -04:00
Daniel C
a03ccfc100 Adjusted proxy methods explanation comment 2017-07-13 09:17:23 -04:00
Daniel C
d2aa127180 localStorage: bring back proxy methods to to window.localStorage. (Fix IE11 issue)
IE11 doesn't handle properly attempts to change methods of the
window.localStorage, attempts to do so will result in the complete break of the
localStorage system for the domain in which it is done - until the user clean
the browser/domain cache.

Therefore, in the web, we don't set Meteor._localStorage to be a reference to
window.localStorage . Instead, we set proxy methods.

This will allow package developers that will find a need to change the behavior
of Meteor._localStorage methods to do so without breaking the localStorage
system on IE11. (e.g. meteorhacks:fast-render)

IE11 (earlier IE versions weren't checked) doesn't handle attempts to replace
methods of window.localStorage with different functions properly.  Such attempt
will result in the String of the function we try to set saved as the function,
destroying the ability to use this function.

I couldn't find a way to tell in advance whether an attempt to set
window.localStorage will result in correct function write or not (I
intentionally avoid browser version detection, which is considered a bad
practice). If such attempt will fail we won't have a way to restore the
original function.

The situation is even worse than that. If for exapmle we'll try to set
window.localStorage.setItem = function () {} the String value 'function () {}'
will be saved instead of the function - not only for the current session, but
as part of the localStorage (!) meaning that we'll have to ask users affected
by this bug to clear the cache to fix the situation.

The following won't work:

```javascript
Meteor._localStorage = window.localStorage // Just to make example clear.
originalSetItem = Meteor._localStorage.setItem
Meteor._localStorage.setItem = function () {}
Meteor._localStorage.setItem = originalSetItem

typeof Meteor._localStorage.setItem -> string
```
2017-07-13 09:17:22 -04:00
Mitar
d4c4bf364d filePath is relative to appPath (#8885)
Interpret filePath as relative to appPath.
2017-07-13 08:56:38 -04:00
Ben Newman
21d2dab151 Merge branch 'master' into devel 2017-07-12 18:43:27 -04:00
Ben Newman
bfc8a60b8c Merge pull request #8788 from meteor/release-1.5.1
Release 1.5.1
2017-07-12 18:33:31 -04:00
Ben Newman
633c9ca024 Merge pull request #8894 from meteor/abernix/console-es6
"Console" ECMAScript Modernization
2017-07-12 17:15:36 -04:00
Ben Newman
50a630318e Bump package versions for the official 1.5.1 release. release/METEOR@1.5.1 2017-07-12 16:07:33 -04:00
Ben Newman
90c982baa6 Add the webapp@1.3.17 constraint back to server-render.
Previously: 3a1f446105
2017-07-12 16:04:57 -04:00
Ben Newman
94073ec513 Update History.md with final notes for Meteor 1.5.1. 2017-07-12 16:04:20 -04:00
Rob Fallows
7d2416435b (re)fixes #8879 Build phase command line output jumps 2017-07-12 14:43:45 -04:00
Radosław Miernik
7c45a9c912 Refactored Sorter. 2017-07-12 20:14:13 +02:00
Radosław Miernik
df15f09d6a Refactored server. 2017-07-12 20:03:31 +02:00