Skip to content

Manage shares

A link you sent last month needs to die, or you need to know which links are still alive and who is holding your builds. This page is the share lifecycle after the minting.

The local record

Every share minted from a project is appended to .extension.dev/shared-previews.json inside that project. The file is gitignored, is never rewritten, and exists for one reason: the revokeUrl is the only handle that pulls a link back, and losing a chat transcript should not mean losing the ability to revoke.

Listing

extension_shares lists every share the token can see, live and dead, with each previewUrl, zipUrl, revokeUrl, createdAt, expiresAt, and revokedAt. A dead link is still listed, which is what makes "why does this link not work" answerable.

Shares come in three groups:

GroupMeaning
ProjectOwned by a project; any workspace member may revoke
PersonalOwned by you alone; only you may revoke
UnknownVisible to the token but attributable to neither

Pass projectPath and the listing reconciles the platform's answer with the project's own record:

StateMeaning
remoteOnlyShared from another machine; absent from this checkout's record
localOnlyRecorded here; nothing behind it on the platform any more

remoteOnly rows are the ones to read when auditing what is out there: they are live links this checkout never minted. localOnly rows are safe to forget; the platform already did.

The console lists the same shares at /shares.

Revoking

extension_shares with action: "revoke" takes the artifactId or any URL of the share pasted in. The link you sent someone is enough to pull it back. Equivalently, DELETE the revokeUrl directly, or revoke from the console's Shares list.

WARNING

Revocation burns the link: the id is never recycled, the link cannot be restored or pointed at a different build later, and re-sharing mints a new address. Revocation limits future access; it does not recall copies already downloaded. Treat any build that shipped in a link as disclosed.

When it fails

  • The link you want dead is in no listing: it was minted by a token you do not hold. Find the checkout that shared it and read its shared-previews.json.
  • Revoke refuses on a personal share: only the person who minted it may revoke it. Project shares are the ones any workspace member can kill.
  • The listing shows localOnly for a link someone says still works: they are looking at a cached page. The platform has already deleted the build.

Next