Skip to content

Deploy the staging catalog and submissions without announcing them to open tabs - #868

Merged
habdelra merged 3 commits into
mainfrom
cs-14191-staging-sync-no-realm-events
Oct 22, 2026
Merged

habdelra merged 3 commits into
mainfrom
cs-14191-staging-sync-no-realm-events

Conversation

@habdelra

@habdelra habdelra commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Important

Merge order: #867 has merged; this PR targets main.

What this changes

A catalog deploy is system-initiated: no one with the catalog open asked for it. So the realm should index the new content without announcing it, and open tabs pick it up on their next load instead of resetting their loader mid-session.

  • Deploy to staging (sync-to-workspace.yml): the .boxelignore write and the realm push pass --no-realm-events when the installed boxel-cli lists it.
  • Push to submissions (push-to-submissions.yml): the same for the per-PR push to /submissions/.

A CLI without the flag announces every write.

Test plan

🤖 Generated with Claude Code

The staging catalog sync and the submissions push pass --no-realm-events
to realm push and file write when the installed boxel-cli lists it, so a
deploy indexes the new catalog without resetting open tabs. An older CLI
keeps announcing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Staging Submissions Preview

This PR's content is pushed to the staging submissions realm: https://realms-staging.stack.cards/submissions/

Changed folders:

  • .github/

Updated at 2026-10-22 15:04:58 UTC for commit d1322e6. Shared realm: only this PR's changed files are pushed; files touched by multiple PRs reflect whichever pushed last, and deleted files are not removed.

@habdelra habdelra left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Claude Code 🤖] This review covered four things: how the flag detection behaves under Actions' bash -e -o pipefail (empty arrays, and the herestring over the captured --help output), whether the help grep can match falsely, whether every boxel call in these workflows that writes to a realm passes the flag, and whether the description could trip Merges after: parsing. It did not review the CLI or realm-server halves of the flag.

No blocking issues. There is one stale justification comment, explained in the inline thread.

  1. The comment on the staging push step still says every write notifies every open session and floods Matrix. See the thread on sync-to-workspace.yml.
  2. Description nit: in "A CLI without the flag keeps announcing, as it does today.", "today" is temporal. "A CLI without the flag announces every write." says the same thing in evergreen form.

Comment on lines +182 to +183
# Indexed without announcing it to the realm's open tabs (see the
# .boxelignore step).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Claude Code 🤖] Once this flag is in effect, the comment on this step ("Each file the realm writes reindexes and notifies every open session, so re-sending the whole catalog floods the realm and Matrix.") overstates. The realm holds back only the Matrix broadcast, so a silent push still reindexes every file it sends but notifies no one. Please qualify it, for example:

# Each file the realm writes reindexes, and a push without
# --no-realm-events also notifies every open session, so re-sending the
# whole catalog floods the realm (and Matrix).

Regression (this change makes the comment overstate). Non-blocking.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Claude Code 🤖] Fixed in 7de754d. The comment now says each file reindexes, and only a push without --no-realm-events notifies open sessions. The description's 'as it does today' is reworded too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@habdelra
habdelra requested a review from a team October 22, 2026 13:10
@habdelra
habdelra changed the base branch from cs-14225-staging-catalog-skills-and-homepage-syncs-re-upload-the to main October 22, 2026 14:13
@lukemelia lukemelia closed this Oct 22, 2026
@habdelra habdelra reopened this Oct 22, 2026
@habdelra

Copy link
Copy Markdown
Contributor Author

[Claude Code 🤖] Reopening. This PR doesn't depend on the shared realm event room that cardstack/boxel#6906 proposed, which was closed under ADR 011 (cardstack/boxel#6921). It only makes system-initiated indexing (public-realm deploys and syncs, the post-deploy boxel-ui reindex, Grafana reindexes, the OpenRouter sync) run without realm events, so open tabs aren't reset by indexing their users didn't ask for. That holds whichever way public-realm events are delivered, and it cuts the load on Synapse under any of the alternatives. Hassan wants it to land, and it was already approved. Reducing fan-out for public realms is being redesigned separately.

@habdelra
habdelra merged commit b7b5cb0 into main Oct 22, 2026
11 of 15 checks passed
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.

2 participants