Allow storage processes to exit before timeout in node #4266
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently the storage API is unsupported for node (see #18). This means storage rules are unavailable from a node environment (even using the admin interface). This can be resolved with some very minor updates to the storage package (for later versions of node at least):
This PR does half the work. It clears a timeout that keeps a storage process running for a minimum 10mins in node (waiting on the 600,000ms function timeout to complete). This fix should also be useful in other environments as it clears up resources.
This PR doesn't include the XHR polyfill as that seems like a fairly opinionated piece of work. The
firebase/app
package actually already includes an XHR polyfill (incompatible here), but gives some direction for implementation.That said, given the current changes in place, users needing storage functionality in node can easily install the XHR module in their project directly and patch the compiled storage script
@firebase/storage/dist/index.cjs.js
for a workable (if not full) level of functionality.