Repository navigation
Conversation
Runtime checks of the 4.0.0 browser entry in platform-slide-editor found: - A call that joined another call's upload of the same File failed at once with that call's error when it was cancelled with its own reason or timed out; only a bare AbortError made it upload again. A joined upload that fails for any reason now leaves the caller to upload for itself, and the caller ends only by its own signal, also while it waits. - An event stream that failed at the network layer (no status) was retried every 5 s for up to 100 attempts, on top of fetch retries, instead of falling back to polling. Waiting now subscribes without reconnecting, so any stream failure falls back to polling at once; tasks.subscribe keeps reconnecting by default. - A 401 for a request sent before a shared refresh finished called onUnauthorized again. Requests record the token version they were sent with and retry once with a newer token without refreshing. A refresh that returns a bare token also no longer rewrites the retried request into the client's default space, which created a call-level-space task in the wrong space. - A 402 used a generic checkout message; it now carries the server's. - authUuid, df_uuid and the Node device id accept any 1-100 visible ASCII characters (the server hashes and stores them in a 100-character column), so an app's nanoid df_uuid is reused instead of overwritten. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CHANGELOG entry with known limitations, skill tested version, and the browser gzip budget at the measured 39,239 bytes plus 10 %. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Patch release from runtime checks of the installed 4.0.0 browser entry in platform-slide-editor (45 checks against the fixture with fault injection: 43 passed, 2 SDK defects, 3 improvements).
Fixes
File, the second inherited the first call's end: if the first was cancelled with its own reason or timed out, the second failed at once with the first's error. A joined upload that fails for any reason now leaves the caller to upload for itself; the caller ends only by its ownsignalor timeout, also while it waits.tasks.subscribekeeps reconnecting by default.Improvements
onUnauthorizedagain. Found while testing it: a refresh that returned a bare token rewrote the retried request into the client's default space, so a call with its ownspaceIdcreated its task in the wrong space. That is fixed too.details.authUuid, localStoragedf_uuidand the Node device id accept any 1–100 visible ASCII characters (the server hashes the value and stores it in a 100-character column), so an app's nanoiddf_uuidis reused instead of overwritten.Known limitations (unchanged, documented in the CHANGELOG): axios registers a
windowmessage listener at import in browser-like environments;createClient()reads/writesdf_uuidright after construction; a single signed PUT reports progress only at completion.Verification
TypeError('Failed to fetch')with the task finishing at 300 ms, which now resolves in under 1 s; a late 401 refreshing once; a call-level space surviving a refresh; the server's 402 message; nanoidauthUuidanddf_uuid.pnpm check: 13 files / 219 tests, typecheck, build, browser export (39,239 bytes gzip, budget 43,163 = measured + 10 %), boundaries, built CLI contract. Also run in a clean worktree without local samples.pnpm check:package: tarball 363 KiB;--omit=optionalinstall 4.43 MiB; default install 9.00 MiB with probe; cold start P95 59 ms.🤖 Generated with Claude Code