Skip to content

fix: use immutable commit-SHA URLs in screenshot PR comments#842

Merged
wpfleger96 merged 1 commit into
mainfrom
worktree-wpfleger-fix-screenshot-sha-urls
Jun 4, 2026
Merged

fix: use immutable commit-SHA URLs in screenshot PR comments#842
wpfleger96 merged 1 commit into
mainfrom
worktree-wpfleger-fix-screenshot-sha-urls

Conversation

@wpfleger96
Copy link
Copy Markdown
Collaborator

Switches scripts/post-screenshots.sh to use commit-SHA-based raw.githubusercontent.com URLs instead of branch-ref URLs, so screenshot images in PR comments remain reachable permanently.

Previously, image URLs pointed at refs/heads/agent-screenshots/<user>, a mutable ref that resolves to whatever the branch HEAD is at read time. When a subsequent push for a different PR failed to preserve an earlier PR's files in the tree (due to a fetch-then-push race), all prior PR comments' images returned 404. This happened to the screenshots on #826 today — the PR #802 agent pushed a new tree with only its own files, silently dropping the #826 blobs.

  • Collect tree paths during the blob-writing loop, then construct URLs from ${REPO}/${COMMIT} after the push — each PR comment now references the exact commit that carries its blobs
  • Chain commits with a -p parent flag so the agent-screenshots/<user> branch has a readable linear history instead of a single-root orphan on every push
  • Update AGENTS.md to drop the "orphan branch" description and note the immutability guarantee

Image URLs in PR comments pointed at refs/heads/<branch>, a mutable
ref that resolves to whatever the branch HEAD is at read time. When a
later push for a different PR dropped files from the tree (race on
fetch), all prior PR comments' images broke (404). Switch to
raw.githubusercontent.com/<repo>/<commit-sha>/<path> so each comment's
URLs are pinned to the exact commit that carried the blobs. Also chain
commits with a parent so the branch has readable history.
@wpfleger96 wpfleger96 marked this pull request as ready for review June 4, 2026 02:27
@wpfleger96 wpfleger96 requested a review from a team as a code owner June 4, 2026 02:28
@wpfleger96 wpfleger96 merged commit 2a0572c into main Jun 4, 2026
15 checks passed
@wpfleger96 wpfleger96 deleted the worktree-wpfleger-fix-screenshot-sha-urls branch June 4, 2026 02:28
michaelneale added a commit that referenced this pull request Jun 4, 2026
* origin/main: (36 commits)
  fix: use immutable commit-SHA URLs in screenshot PR comments (#842)
  feat(mobile+desktop): two-tier Slack-style app icon badge (#802)
  chore: simplify file-size check to a flat 1000-line limit (#839)
  fix(desktop): robust emoji picker — unify picker + fix custom emoji in editing, status, reactions (#837)
  feat(desktop): reusable screenshot workflow for agents (#826)
  desktop(mesh-llm): let a serving node route a different model (#833)
  chore(release): release version 0.3.9 (#832)
  fix: native arbitrary-file download + image context-menu flash (#830)
  fix(desktop): custom emoji reaction rendering + picker autofocus (#831)
  Mesh-LLM v1: relay-gated direct-iroh inference between users (WAN) (#822)
  chore(release): release version 0.3.8 (#829)
  chore(release): release version 0.3.7 (#825)
  feat: code block rendering, syntax highlighting, and compose fixes (#803)
  feat: custom emoji — user-owned NIP-30 sets with a client-side union (#816)
  Install sprout-cli skill at repo root + fix desktop clippy (#818)
  fix(desktop): use public re-export path for ensure_client_node_for_model (#824)
  refactor(desktop): feature-gate mesh-llm-sdk behind optional Cargo feature (#823)
  fix(desktop): align workflow read/save commands to the frontend contract (#820)
  fix(desktop): disable mesh-llm auto-build to prevent git config corruption (#819)
  fix(desktop): clear clippy lints in agents/mesh_llm commands (#817)
  ...

# Conflicts:
#	Cargo.lock
#	desktop/scripts/check-file-sizes.mjs
#	desktop/src-tauri/Cargo.toml
#	desktop/src/app/AppShell.tsx
#	desktop/src/app/AppTopChrome.tsx
#	desktop/src/features/messages/hooks.ts
#	desktop/src/features/workspaces/useWorkspaceInit.ts
#	desktop/src/shared/api/tauri.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant