| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
ci: adopt changesets release flow | 1 个月前 | |
computer, computerd: Authorize the dial-back as well The container had to present a bearer token to reach the daemon, but the reverse direction was open. connect() arms a slot for the container's outbound upgrade and hands its session to whatever arrives first, and that endpoint is reachable from inside the container through the egress interceptor. Any command the workspace runs could win that race. Winning it does not hand the caller the durable object's authority, since the durable object is the client of that session and exposes nothing. It does something worse in one respect: the impostor becomes the container this workspace trusts, so pushOnce ships the workspace's file contents to it, pullOnce takes its entries into the authoritative store, and exec sends it the agent's commands and believes its output. The daemon now presents the secret it was launched with on the outbound dial, and handleFetch requires it before accepting the socket. Both ends already hold that secret: the host generates it and sets it at launch. The comparison on the host side walks every byte rather than stopping at the first difference. crypto.subtle.timingSafeEqual would be the primitive to reach for, but the SubtleCrypto this package compiles against does not declare it. An absent expected secret refuses everything. handleFetch only runs after connect() has recorded what it launched the container with, so an absent one means the upgrade arrived without that having happened. This gap predates the branch; the surrounding change is what makes the in-container party the party being defended against. | 29 天前 | |
dofs: Create missing sync parent directories A child entry can arrive before its parent directory when the parent has a newer revision. Applying that stream used to fail repeatedly with a missing-parent error. Create absent parent directories before applying files and symbolic links. Replace conflicting ancestor files and symbolic links when the incoming child requires a directory, and allow safe parent creation next to read-only mounts. Cover the streaming pull path and synchronous push path with regression tests. | 29 天前 | |
ci: Version packages in lockstep Treat the public package and its private implementation packages as one fixed Changesets group. The existing version script keeps the derivative computerd image package on the same version. | 1 个月前 | |
chore: Split the changeset into one entry per change The endpoint rename, the /connect payload change, and the removal of UPSTREAM_URL landed as a single entry. They are three separate things a consumer may care about, and a reader scanning the changelog for the one that affects them should not have to unpick a paragraph covering all three. | 30 天前 | |
docs: Record the container launch spec and its adoption rule The boot sequence described start() as a call straight to the Cloudflare Containers API. It goes through WorkspaceContainerAPI, which adds the shared secret and records what the container was launched with, so a container found already running is adopted only when it matches and relaunched when it does not. Changeset entry for the interface change, since a consumer that pre-starts containers has to move to the new shape. | 29 天前 | |
docs: Record the shared secret and the exec environment allowlist Add RPC_CLIENT_SECRET and COMPUTER_VAR_ to the environment tables, note on the route table that /health is the only route reachable without the secret, and say in the daemon readme what an unauthorized request gets. Changeset entries for both, since each is a change a consumer may have to act on: a workspace reading an inherited variable now needs the prefix. | 29 天前 | |
Update quiet-files-stay.md | 30 天前 | |
chore: Split the changeset into one entry per change The endpoint rename, the /connect payload change, and the removal of UPSTREAM_URL landed as a single entry. They are three separate things a consumer may care about, and a reader scanning the changelog for the one that affects them should not have to unpick a paragraph covering all three. | 30 天前 | |
chore: Split the changeset into one entry per change The endpoint rename, the /connect payload change, and the removal of UPSTREAM_URL landed as a single entry. They are three separate things a consumer may care about, and a reader scanning the changelog for the one that affects them should not have to unpick a paragraph covering all three. | 30 天前 | |
dofs, rpc: Include node_modules in sync Make sync filtering opt-in so package manager installs are preserved across workspace runtimes. Keep explicit ignore patterns available for callers that need to omit derived files. | 29 天前 | |
docs: tighten the artifacts optional-scope wording The introduction said the wrapper is "session-scoped when you ask for it" and then described binding a binding, which took five lines to say what three say plainly. The paragraph on the empty session id opened with a drum roll and spent three lines on a rationale the code comments already carry. The changeset summary becomes one sentence and a pointer to the interface document, since it is read as a single line of release notes rather than as a description of the change. | 30 天前 |
Changesets
Hello and welcome! This folder has been automatically generated by @changesets/cli, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it in our repository
We have a quick list of common questions to get you started engaging with this project in our documentation