Commit Graph

13800 Commits

Author SHA1 Message Date
Sashko Stubailo
d702df99ea Update README.md 2015-03-30 16:07:42 -07:00
David Greenspan
c37e4b7b58 Performance optimization in constraint solver
This trick reduces the running time of the "rails, gitlabhq"
benchmark test from about 45 seconds to about 15 seconds.
2015-03-30 14:24:16 -07:00
David Greenspan
cfdea06e47 minor comment change 2015-03-30 12:42:01 -07:00
David Greenspan
e1ab096f6d Revert part of 5810fd6 to fix perf regression
This brings the "rails, gitlabhq" benchmark test back to about 45
seconds on my machine, rather than over 10 minutes.
2015-03-30 12:40:21 -07:00
David Glasser
26d4a18507 deregisterService -> unregisterService (#4014) 2015-03-27 23:35:23 -07:00
David Greenspan
571ecf19fb Name the variable _workStack better 2015-03-27 23:20:43 -07:00
David Glasser
df90b56287 Add XXX note about #3854 2015-03-27 23:13:59 -07:00
Slava Kim
46d0e33b56 Add a history.md record for fixing #4049 2015-03-27 22:59:15 -07:00
Mitar
e85fdc9059 docs: can use currentData inside template.autorun
I think it is important to stress that you can use Template.currentData
inside template.autorun, because you cannot use it inside
Tracker.autorun, it throws an error that current view does not exist.
2015-03-27 22:51:13 -07:00
Slava Kim
111fe5d6ef Fix an incorrect use of boolean operators && and || with number values
!!0 === false
Fixes #4049
2015-03-27 19:55:23 -07:00
Slava Kim
a6ccb2ef99 Add a test for #4049 2015-03-27 19:54:37 -07:00
David Glasser
8cbaf4e3e1 Don't try to uglify on the client
Follow-up to 36ff10c08.

Note that 696ce39c10 made tests fail, because it used minifiers on the
client for the first time, which hit this edge case.

If you are hitting this issue in your own app because you are using
SpacebarsCompiler on the client and loading minifiers, you can work
around it for now by putting this somewhere:

   Package.minifiers.UglifyJSMinify = function (code) {
     return { code: code };
   };
2015-03-27 12:42:11 -07:00
David Glasser
b439bca263 Merge branch 'pr/4014' into devel
Fixes #4014.
2015-03-27 12:22:08 -07:00
David Glasser
82884c4ec6 History update 2015-03-27 12:21:43 -07:00
Jason Paryani
80100f53ab Add Accounts.oauth.deregisterService method
Also change the Accounts.registerLoginHandler callback for
accounts-oauth to error out on non-registered services.
2015-03-27 12:19:11 -07:00
David Glasser
ba95469aa9 History update for recent changes 2015-03-27 12:00:02 -07:00
David Glasser
073dd7e1e3 Move an initial version of 1.1 History over
We were mixing up things on devel but not 1.1 with things in 1.1 (like
the Velocity change).
2015-03-27 11:57:29 -07:00
David Greenspan
a03b5fb179 Simplify workStack, after Slava's review 2015-03-27 11:09:42 -07:00
David Greenspan
bb271987e0 Improve errors when scanning .html file (#3758) 2015-03-27 10:00:33 -07:00
David Greenspan
696ce39c10 Fix "html scanner" tests when run in isolation
...and sometimes when running all tests, seemingly
2015-03-27 09:52:16 -07:00
David Greenspan
dcdfea3a96 Improve <style> tag parsing and add tests 2015-03-26 19:07:30 -07:00
David Greenspan
0ede8a444e Merge pull request #3805 from eface2face/issue-3797-fix
Parse <script> tag contents correctly (Fix #3797)
2015-03-26 18:54:24 -07:00
David Glasser
43b1c30bab Be clearer that you need to publish for this arch
Fixes #3961.
2015-03-26 17:19:31 -07:00
David Glasser
da87051f34 meteor shell should preserve global _
2443d832 (in 1.0.4) ensures that the repl doesn't overwrite `_`, but it
replaces the server's global `_` with shell-server's `_`.  This changes
appears to preserve it.

Fixes #4010.
2015-03-26 14:53:47 -07:00
David Glasser
d226fd18af Plugins register extensions, not filenames
This particular piece of code (introduced in #1407) would decide that
Plugin.registerSourceHandler('foo.bar') would match a file named
'foo.bar', but that was not the intention. In an app, the (correct) code
in getSourcesFunc does expect the leading period to exist, so you end up
with an odd situation where this code allows equal matches, but it only
gets to see the file if it's in a package (not app) or if there's
another plugin registering for 'bar'.

Fixes #3985.
2015-03-26 13:56:29 -07:00
Slava Kim
47c62e94d9 Fix a typo in a script to publish the windows installer 2015-03-25 19:29:33 -07:00
David Greenspan
28c760e05c Avoid recursion when materializing DOM (Fix #3028)
This way we don't get a stack overflow when materializing nested
Views.  Certain browser/OS combinations seem to have particularly
low budgets (especially Firefox/Windows apparently).

Verified by running https://github.com/mxab/meteor-call-stack-exceed
on Chrome/Mac.  Nesting limit used to be about 160, but now you get
unlimited nesting (tried up to 10,000, which renders in about 7-8
seconds).

Tested for correctness by running all package tests.
2015-03-25 17:39:36 -07:00
David Greenspan
9872572a4e Replace DOMMaterializer visitor with a function
This already reduces stack usage, allowing deeper recursion,
but we'll see if we can reduce it even more.
2015-03-25 17:39:35 -07:00
Sashko Stubailo
39b11ca456 Merge branch 'master' into devel
Conflicts:
	History.md
2015-03-25 14:58:21 -07:00
Sashko Stubailo
0b2d6b40c0 Update release date in History.md 2015-03-25 14:57:29 -07:00
Sashko Stubailo
993b775043 Merge branch 'release-1.0.5' 2015-03-25 14:56:07 -07:00
Sashko Stubailo
71ea938141 Update all of the examples 2015-03-25 14:55:37 -07:00
Sashko Stubailo
06f35fb5b7 Update docs to 1.0.5 release 2015-03-25 14:53:33 -07:00
Sashko Stubailo
f3e19c37cf Update release number in the docs 2015-03-25 14:52:46 -07:00
Sashko Stubailo
971247ef47 Update banners for 1.0.5 2015-03-25 14:50:52 -07:00
Sashko Stubailo
c3bded9928 Un-rc version numbers for 1.0.5 release/METEOR@1.0.5 2015-03-25 13:56:03 -07:00
Sashko Stubailo
1c62efe0cf Update release number for 1.0.5 2015-03-25 13:54:37 -07:00
Matthew Brewer
6980ff73d1 Make awscli actually work for copy scripts.
Remove the leading / from the regex, which doesn't exist with awscli
2015-03-25 10:12:50 -04:00
Sashko Stubailo
f9906346db Remove WINDOWS-PREVIEW hack
So that there is a recommended release published for Windows

Conflicts:
	tools/utils.js
2015-03-24 17:21:59 -07:00
Avital Oliver
3875e1aea8 Change how we strip Node modules when building dev bundle
Apparently the contents of the browserify-zlib library changed.

Fixes #4013
2015-03-24 16:47:49 -07:00
Avital Oliver
903a8af3b2 When publishing meteor tool on windows, print output as it happens 2015-03-24 14:49:50 -07:00
ekatek
f4e2e2aab9 Better error display in package-client
Addressing: https://github.com/meteor/meteor/issues/3977

HttpHelpers.getUrl sometimes throws an error, and sometimes throws a string. The right
thing to do is to fix getUrl everywhere, but for now, let's get better error handling
in package-client.js
2015-03-24 14:38:46 -07:00
Jonas Aschenbrenner
63df4b1ce5 Velocity timing and mirror url fix
Velocity has visited the mirror sometimes before
it is ready. With this new check that is already
used in the testing frameworks this no longer
happens.

This commit also handles the upcoming breaking
change regarding the rootUrl of the mirror.
See: https://github.com/meteor-velocity/velocity/issues/260
2015-03-24 13:53:40 -07:00
Avital Oliver
5971326ac0 Add comment about dev bundle in release-1.1 branch 2015-03-23 20:47:50 -07:00
David Glasser
7219c1eb53 bump for 1.0.5-rc.0
Note: we are doing a minor bump facebook rather than a major bump, even
though this is arguably backward-incompatible. But it's only reflecting
a backwards-incompatible change to reality, and we expect the upgrader
text to do a better job of expressing compatibility concerns than the
version number. There's no reason to make Atmosphere packages that
depend on facebook republish, as they are unlikely to need any changes
anyway (mostly, apps may).
release/METEOR@1.0.5-rc.0
2015-03-23 18:00:03 -07:00
David Glasser
4506fc3f93 History update for 1.0.5 2015-03-23 14:59:28 -07:00
David Glasser
ab2e629239 Upgrader for Facebook API change. 2015-03-23 14:57:54 -07:00
David Glasser
bedebc1987 Use the Facebook 2.2 Graph API instead of 1.0.
Facebook is making a change on April 30th: all users of the previous
unversioned Facebook API will automatically start using the 2.0 API, and
the 1.0 API will be unavailable.  By upgrading your Meteor to include
this commit, you will be able to start adapting your app to the post-1.0
world now rather than next month.

Full information about the changes to Facebook's APIs can be found at
https://developers.facebook.com/docs/apps/upgrading

If you only use Facebook integration for login via accounts-facebook,
and don't use users' access tokens to access the Facebook API on their
behalf, then the only changes you are likely to observe are:

- The `id` returned by Facebook for users who had not previously used
  your app will be an "app-scoped ID". You cannot use these to directly
  correlate users between multiple apps (without using the Business
  Mapping API).  This does not affect users who have already logged in
  to your app, so they will continue to be able to access your app.

- Meteor asks for the `email` permission by default, and copies the
  `email` field from the `/me` object into the `serviceData.facebook`
  field on `Meteor.user()`, along with other fields which only require
  the `public_profile` permission. With 2.0, users can decline to grant
  all permissions other than `public_profile`, which means that you
  might not get their `email` address. You can use the `/me/permissions`
  API to tell if permissions were declined.

Additionally, if you are accessing other Facebook APIs using the
`access_token` returned via login, you should be aware that some
permissions have changed in Facebook Graph API 2.0 and newer. Most
notably, many operations involving friends need permissions such as
`user_friends` to be explicitly requested now.  Users can decline any
permission (other than `public_profile`).  Apps which need permissions
other than `public_profile`, `email`, and `user_friends` may need to
pass through a review stage before being fully activated.

To change your app to request new permissions such as `user_friends`,
specify the `requestPermissions` option to
`Meteor.loginWithFacebook` (if you implemented your own login UI) or to
`Accounts.ui.config` (if you are using the `accounts-ui` package).

Note that while Meteor will now always use the v2.2 API to fetch the
access token, it does appear that the access token can still be used to
access pre-v2.2 APIs.  For example, you can still use the access token
to run FQL queries, even though FQL was removed in API v2.1.

Fixes #3123.
2015-03-23 14:57:53 -07:00
David Glasser
ab9ef40d25 Upgrader for Facebook API change. 2015-03-23 12:02:24 -07:00
David Glasser
9c742c861f Use the Facebook 2.2 Graph API instead of 1.0.
Facebook is making a change on April 30th: all users of the previous
unversioned Facebook API will automatically start using the 2.0 API, and
the 1.0 API will be unavailable.  By upgrading your Meteor to include
this commit, you will be able to start adapting your app to the post-1.0
world now rather than next month.

Full information about the changes to Facebook's APIs can be found at
https://developers.facebook.com/docs/apps/upgrading

If you only use Facebook integration for login via accounts-facebook,
and don't use users' access tokens to access the Facebook API on their
behalf, then the only changes you are likely to observe are:

- The `id` returned by Facebook for users who had not previously used
  your app will be an "app-scoped ID". You cannot use these to directly
  correlate users between multiple apps (without using the Business
  Mapping API).  This does not affect users who have already logged in
  to your app, so they will continue to be able to access your app.

- Meteor asks for the `email` permission by default, and copies the
  `email` field from the `/me` object into the `serviceData.facebook`
  field on `Meteor.user()`, along with other fields which only require
  the `public_profile` permission. With 2.0, users can decline to grant
  all permissions other than `public_profile`, which means that you
  might not get their `email` address. You can use the `/me/permissions`
  API to tell if permissions were declined.

Additionally, if you are accessing other Facebook APIs using the
`access_token` returned via login, you should be aware that some
permissions have changed in Facebook Graph API 2.0 and newer. Most
notably, many operations involving friends need permissions such as
`user_friends` to be explicitly requested now.  Users can decline any
permission (other than `public_profile`).  Apps which need permissions
other than `public_profile`, `email`, and `user_friends` may need to
pass through a review stage before being fully activated.

To change your app to request new permissions such as `user_friends`,
specify the `requestPermissions` option to
`Meteor.loginWithFacebook` (if you implemented your own login UI) or to
`Accounts.ui.config` (if you are using the `accounts-ui` package).

Note that while Meteor will now always use the v2.2 API to fetch the
access token, it does appear that the access token can still be used to
access pre-v2.2 APIs.  For example, you can still use the access token
to run FQL queries, even though FQL was removed in API v2.1.

Fixes #3123.
2015-03-20 14:27:07 -07:00