Allows packages such as stream and accounts to declare URL prefixes
such as /sockjs/ and /_oauth/ to be network routes.
Updates server to avoid serving app HTML on network routes.
Checks for conflict between files in public/ and network routes. For
example, the developer might not know that /sockjs/ is reserved, and
might create a file "public/sockjs/socks-are-great.png".
Accomplish this in two ways:
- Explicitly making sure not to restart the timer on disconnected streams.
- Run the "restart heartbeat" code before processing incoming messages,
not after, since even the "failed" message that caused a disconnect
was running the "restart heartbeat" code.
Now don't require _id to be unset on insert anymore.
Some error handling around duplicate _id
Conflicts:
packages/minimongo/minimongo.js
packages/mongo-livedata/collection.js
packages/mongo-livedata/mongo_livedata_tests.js
reactive status object and don't try to reconnect.
Note that this only happens if the server rejects the connection due to an
unfixable version mismatch: if the server is unreachable or not speaking
versioned DDP, the client will continue to retry.
7289950b removed the long-deprecated support for including "/sockjs" in
HTTP/HTTPS URLs passed to Meteor.connect (though it is require for the new
ddp+sockjs URLs), breaking some tests and making some comments incorrect. These
are now fixed.
This is not yet documented or fully supported (ie, it may change before 1.0).
ddp+sockjs:// URLs are translated into https:// URLs and explicitly contain the
"/sockjs" endpoint. Any '*' in the hostname should be changed into a random
digit before opening a SockJS connection, to help avoid browser per-hostname
connection limits.
ddpi+sockjs:// is identical but uses http:// instead.
The DEFAULT_DDP_ENDPOINT environment variable has been renamed
DDP_DEFAULT_CONNECTION_URL. (For now, 'meteor deploy' will continue to also
provide non-"ddp+sockjs://" URLs in the old environment variable so that old
apps continue to work).
This reverts commit 2495cb2f58.
This change made it easy to construct URLs with more than 63 characters in a
label, which is not legal. We will redo this later with generating a smaller
random token (and taking other precautions to limit the total size of the
label).
The URL provided to Meteor.connect may now be a function returning a new URL on
each socket connection, or contain the substring "MeteorWildcard" which is
replaced by a random string (a UUID) on each socket connection.
For now, the old names still work as well.
This includes:
- Meteor.isServer/isClient
- this.isSimulation in methods
- Context.onInvalidate
- Meteor.status().retryCount/retryTime
Remove old backwards-compatibility "Sky" alias for "Meteor".
Update all examples in the docs to use camelCase.
Delete unused docs/client/projects.html file.
Instead of having it be in LivedataConnection, put it in
Stream. This means that LivedataConnection doesn't need to
know anything about sockjs (though for now it does since
we still support the old deprecated API)
OLD: Meteor.connect("http://subdomain.meteor.com/sockjs")
NEW: Meteor.connect("subdomain.meteor.com")
While at it, updated any references I could find to explicit sockjs URLs
-- This way we don't have to worry about losing the lambdas that go with outstanding method invocations.
Also, don't listen to reload signals except from App (not from third-party DDP servers.)