Commit Graph

6027 Commits

Author SHA1 Message Date
David Greenspan
45752e3203 parseConstraint -> parsePackageConstraint
In the return value, `name` has been changed to `package`,
and `vConstraint` is now `versionConstraint`.

`constraint.package` is better than `constraint.name`, where
`constraint` is a PackageConstraint.  It's also more consistent
with functions like parsePackageAtVersion which return an object
like `{package, version}`.

`vConstraint` was too cryptic.

Changes were discussed with Glasser in a code review.

Troposphere does not call parseConstraint or work with constraint
objects, so it doesn't need to change.

This is a breaking change to the package-version-parser API (or one
method of it, at least), but it is considered an internal API so we
are not worrying too much about it.
2015-02-02 13:13:31 -08:00
Sashko Stubailo
8149538e9c stop underscore from failing on non-existent function
For Template.body, there is no template instance, so the _.bind inside helpers
fails
2015-01-29 19:33:55 -08:00
David Glasser
dde3924c9d Make MongoConnection constructor always wait
Summary:
Previously, the MongoConnection constructor (which gets called
implicitly the first time you make a Mongo.Collection) would wait for a
successful connection before returning ... if an oplog URL is supplied.
If not in oplog mode, it would return before the connection is
successful, and the first subsequent calls that actually tried to do
something with the DB would block instead.

Having an inconsistent API that is sometimes sync and sometimes async is
not very clear.  Moreover, error handling from connect was strange.
Prior to 0.8.1 (24a0006c), connect errors would be thrown
uncatchably (ie, from an unrelated context).  Starting with 0.8.1,
connect errors would effectively be ignored due to the new
bindEnvironment (they'd be logged, but all code would continue
normally).

It's pretty important that startup connection errors crash the server
process instead of letting it keep running unproductively.  And it would
also be nice if those errors could be caught (if you're making a
MongoConnection in your own code).  So this change ensures that
connection errors get thrown by the MongoConnection constructor.

Fixes #3038.

Test Plan: new unit test. manual test with MONGO_URL=xxx

Reviewers: ben

Subscribers: justinsb

Differential Revision: https://phabricator.meteor.io/D19
2015-01-29 16:56:22 -08:00
David Glasser
299f413617 Remove support code for legacy systems
Summary:
What I'm looking for here is: attention to the few parts that aren't just
deletions (eg in auth.js), and thoughts about if removing any of these things
might break systems I haven't thought about.

Test Plan: test-packages, self-test (which mostly passes)

Reviewers: ekatek

Differential Revision: https://phabricator.meteor.io/D18
2015-01-29 14:03:41 -08:00
David Glasser
aff7f37d04 Remove legacy follower-livedata package 2015-01-29 14:03:28 -08:00
David Glasser
5990e71ddc Remove legacy AppConfig code
Nothing ever made full use of the promise of the complexity of the
API (configuration that can change at runtime) anyway.

This includes completely ignoring the $APP_CONFIG variable.

I opened GitHub issues against the only Atmosphere packages that had
dependencies on application-configuration (none of which actually used
the package other than by declaring the dependency).
2015-01-29 14:03:20 -08:00
David Glasser
7c40c3c5a6 Remove legacy proxy-binding
Also remove SIGHUP handler. This was designed for a legacy system, and
SIGHUP would be a better fit for what autoupdate currently uses SIGUSR2
for.  This includes removing some code in the ddp server to close
sockets on SIGHUP.
2015-01-29 14:03:11 -08:00
David Glasser
62037959fe Clean up comments about legacy code 2015-01-29 14:03:11 -08:00
David Glasser
0e0dfed6a8 Remove "control program" support
This was support code for a now unused system.
2015-01-29 14:03:10 -08:00
David Glasser
15b2569f79 Update READMEs of things we're about to delete 2015-01-29 13:52:11 -08:00
David Greenspan
361a80c243 Changes from Glasser code review
Includes all discussed changes except:
- Checking for troposphere PVP compatibility
- "vConstraint" -> "versionConstraint"
- "name" -> "package" in utils.parsePackageAtVersion
2015-01-28 16:45:01 -08:00
Sashko Stubailo
07dc77ee5c Mention that the test tests helpers as well 2015-01-28 11:28:55 -08:00
Sashko Stubailo
58d921e926 Test in browser doesn't need docs right now
Conflicts:
	packages/test-in-browser/package.js
2015-01-28 11:06:28 -08:00
Sashko Stubailo
d2d05bedf5 Improve comment 2015-01-28 10:15:23 -08:00
Sashko Stubailo
06de4ae803 Merge branch 'event-current-data' into devel
Merge #3546

Use separate dynamic variable to track Template.instance(), and use
Blaze.currentView for Template.currentData() in event handlers
2015-01-28 10:12:35 -08:00
Sashko Stubailo
7201dbe84c Fix broked COMPAT comment 2015-01-28 10:06:38 -08:00
David Glasser
f8f90f949c Add a comment explaining why this file is so weird 2015-01-27 17:48:33 -08:00
Ronen Babayoff
eeb95efaed Add no-ops for Meteor.publish, methods, and onConnection if no webapp 2015-01-27 17:45:22 -08:00
Sashko Stubailo
fee892c43e Merge pull request #3550 from romanzolotarev/patch-1
Update README.md
2015-01-27 11:58:06 -08:00
Avital Oliver
f2840103ca Tests for Template.currentData and Template.parentData
A recent change fixed the behavior of `Template.currentData`
and `Template.parentData` in event handlers and helpers.
These are tests for the new, correct behavior.

(The old behavior read the data of the template instance.
The new behavior read the data context around the DOM node
where the event or helper ran)
2015-01-26 16:44:50 -08:00
Sashko Stubailo
b0ecad0ce2 Fix documentation of Template.currentData 2015-01-26 16:16:30 -08:00
David Glasser
1829cfee15 Remove obsoleted comment 2015-01-26 15:55:50 -08:00
Andrew Wilcox
5f1c8f2eeb Add spiderable support for hash fragments
Since the browser application cache appears not to support URL path
routes in a non-buggy way (see
https://github.com/meteor/meteor/pull/2926), applications using the
appcache package will want to use hash fragment routes instead.

This PR adds support to the spiderable package for hash fragment
routes.  An original URL such as `http://example.com/#!a=1&b=2` will
be encoded by a search engine as an escaped fragment, decoded by the
spiderable package, passed through to the phantomjs process, and
appear to the phantom client as `#!a=1&b=2` in `window.location.hash`
(the same as when the original URL is opened in a regular browser).
2015-01-26 15:54:47 -08:00
Avital Oliver
5862ec0363 Make Template.instance() correct in this.autorun() in templates
A previous change decoupled "current view" from "current template instance".
The code made sure to preserve "current view" explicitly within
`this.autorun`, but now we need to do the same for "current template instance"
2015-01-26 15:52:44 -08:00
David Glasser
c51eed9330 Clone return value from server-side method call
The server-side Meteor.call abstraction is "RPC", not "function call",
so you shouldn't be able to mutate internal state using it. This is a
similar change to that done in e91713d9 with function parameters.

Fixes #3201.
2015-01-26 15:36:48 -08:00
David Glasser
5ca2fb0f36 history notes and shorten lines 2015-01-26 15:23:06 -08:00
Avital Oliver
99ca826040 Fix test failure by binding Template.instance() later
Prior to this change, a dependency was registered on
`Template.instance` when wrapping a helper, rather
than when it is called. This caused templates to get
re-rendered more frequently than necessary as caught
by a test failure, and probably many other bugs.
2015-01-26 15:19:56 -08:00
David Glasser
a355dd213d Allow individual email templates to override From
Also allow accounts-password email templates to set mail headers, and
for the From override to be a function rather than a constant.

Fixes #2858. Fixes #2854.
2015-01-26 15:19:19 -08:00
Roman Zolotarev
81cfe6ce65 Update README.md 2015-01-25 15:29:46 +07:00
Sashko Stubailo
7ec339e5b8 Add tests for #3540 2015-01-23 16:57:13 -08:00
Sashko Stubailo
a769371e5b Make a new dynamic variable for Template.instance() 2015-01-23 16:51:22 -08:00
Sashko Stubailo
72887bb0ee Make event handlers get called with target's view 2015-01-23 15:05:34 -08:00
Mitar
8f1de90afb Don't limit test helpers only to tests.
This allows other packages to extend/wrap existing test helpers (like testAsyncMulti).
2015-01-22 15:30:10 -08:00
Slava Kim
7576e0f3f6 Add a comment about why we grab template callbacks first and then fire them
later
2015-01-21 20:11:22 -08:00
Slava Kim
f146489c27 Fix the bug of firing a rendered callback when it was added too late 2015-01-21 12:26:51 -08:00
Slava Kim
e2b78cfd0b Merge branch 'templateEventsMethods' into devel
Adds Template#onRendered, Template#onCreated and Template#onDestroyed methods
2015-01-21 11:02:09 -08:00
David Glasser
fb8a79ba0f some comments about imported package versions 2015-01-20 22:47:25 -08:00
ekatek
27f7daa7f8 Merge branch 'master' into devel 2015-01-20 18:03:40 -08:00
David Glasser
0cf3dbd3a9 Clarify 2015-01-20 17:45:03 -08:00
Robert Lowe
b420c8d651 Update outdated README.md
ReactiveDict's have been able to migrate since: 624035fab8

See [session](https://github.com/meteor/meteor/blob/devel/packages/session/session.js) as an example.
2015-01-20 17:45:03 -08:00
ekatek
38e0e344c4 prepare for 1.0.3.1
- increment the release number in banners.json
- increment version number for meteor-tool
- increment release number in the release configuration
2015-01-20 13:50:34 -08:00
ekatek
c5bc843816 bring README.md files up to 1.0.3 compatibility
Fill in all packages without README.md files with a short
README.md mentioning that this is an internal Meteor package.

Break up the top paragraph of a couple of existing README.md
files to be proper long description.

There is more work to do here, involving line wrapping and the like.
2015-01-20 12:21:35 -08:00
ekatek
99124d881a increment package versions 2015-01-20 10:25:22 -08:00
Slava Kim
9e7c14ac81 Globally replace Template.rendered callbacks to Template.onRendered
In:

- examples
- some blaze tests
- packages

Change:

- rendered -> onRendered()
- created -> onCreated()
- destroyed -> onDestroyed()
2015-01-16 16:36:23 -08:00
Slava Kim
6aff197c47 Better comments.
In response to Sashko's comments.
2015-01-16 10:47:51 -08:00
David Greenspan
c71e495e10 Only test constraint-solver and PVP on server
You can still include them on the client, but they don’t work in
Safari 4 and IE 8 because semver.js uses ES 5 methods including
String#trim, Array#map/filter/forEach, and possibly others.

This should fix any unit test failures in these packages.
2015-01-15 22:15:23 -05:00
ekatek
fbfd5c4664 increment version numbers 2015-01-15 10:50:09 -08:00
David Greenspan
c1556f250b remove old comment 2015-01-14 20:29:39 -08:00
David Glasser
a1f8394750 Fix double execution of Session.close
In Session.close, `self.socket.close` could trigger this event handler:

    socket.on('close', function () {
      if (socket._meteorSession) {
        Fiber(function () {
          socket._meteorSession.close();
        }).run();
      }
    });

which could trigger a reentrant call to Session.close.  The self.inQueue
guard was not sufficient to stop multiple execution, because it was too
low.

Symptoms included:

- The "sessions" server fact would be decremented twice and become
  inaccurate (and even negative!)
- Connection.onClose callbacks could be called twice

Fixes #3331.
2015-01-14 18:37:24 -08:00
David Glasser
25c11c69cf Fix double execution of Session.close
In Session.close, `self.socket.close` could trigger this event handler:

    socket.on('close', function () {
      if (socket._meteorSession) {
        Fiber(function () {
          socket._meteorSession.close();
        }).run();
      }
    });

which could trigger a reentrant call to Session.close.  The self.inQueue
guard was not sufficient to stop multiple execution, because it was too
low.

Symptoms included:

- The "sessions" server fact would be decremented twice and become
  inaccurate (and even negative!)
- Connection.onClose callbacks could be called twice

Fixes #3331.
2015-01-14 17:50:16 -08:00