Closes#6108
Pull request #6180
Test is included, as is updated documentation.
All tests in ddp-client package (including new test for #6108) pass.
Implemented as simply a noRetry flag on apply which triggers it to fail with a
Meteor.Error('invocation-failed') instead of retrying on reconnect.
Test passes, methods which are marked as noRetry get an error in case of reset,
only if they've sent at least once, and this happens before messageSent flag is
cleared. This results in it getting it's callback as soon as quiescence
triggers, and the callback is called with an Error 'invocation-failed'.
[stubailo: changed error code, fixed docs, squashed commits]
Technically, this is a "breaking change" since code that is loaded
on client and server will now throw an error when calling DDPRateLimiter,
but the API didn't do anything on the client anyway so it's probably
more like a bug fix.
Based on https://github.com/meteor/meteor/blob/devel/tools/isobuild/package-source.js#L1303 these addintoal folders are ignored but not documented. Some of them may be intentionally left out of the documentation but I'm just suggesting adding documentation for all that seem appropriate.
I tried to reuse the phrase "not loaded anywhere" even if it's a bit awkward phrasing, I think. I wasn't sure if the Meteor file gobbler (as I like to call it) should be called an "autoloader" or something else...
[stubailo: squashed and improved]
1. Add `addAssets` API to `package.js`
2. Rename `getSourcesFunc` to `getFiles` in internal code
3. Changed `PackageAPI#sources` to `PackageAPI#files` with a new structure that
has separate objects for assets and sources
4. Added some tests for different error conditions
5. The same file can now be a source and an asset