Skip to content

Persistent share links are an undocumented out-of-band input #23

Open

Description

@UnsignedArduino

A share_link code source is cached on its URL alone (fetch_code only takes the code source JSON). That's correct for ordinary share links, which are immutable snapshots like https://arcade.makecode.com/84426-33815-03715-00484.

MakeCode also has persistent share links for signed-in users. They start with S and keep the same URL when the owner re-shares with "Update existing share link for this project" (pxt share docs, announcement). After the owner updates the project, a rebuild returns the old cached game until --full-rebuild, just like a git branch.

Relevant code: inputs/code.py, lines 69–76,`` the --full-rebuild help text in cli.py, lines 37–44, and the out-of-band list in docs/PROJECT_CONTEXT.md, line 254.

Relying on --full-rebuild for out-of-band sources is the documented design. The gap is that persistent share links aren't listed among those sources: the help text only mentions "the game's source files, icon, or git branch", so users have no reason to expect a share link to go stale.

Expected behavior: the --full-rebuild help text and the documented out-of-band list include persistent (S…) share links. Optionally, fetch_code could log a hint when a share link's ID starts with S.

Found while reviewing PR #7, toolchain at ce12c48.

Activity

  1. changed the title [-][P3] Persistent share links are an undocumented out-of-band input[/-] [+]Persistent share links are an undocumented out-of-band input[/+] on Nov 4, 2026
  2. added
    found by claudeIssue was originally found by Claude Code. Only used for tracking.
    and removed on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfound by claudeIssue was originally found by Claude Code. Only used for tracking.p3

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions