Add last_known_good_deps so error state cards have prerendered CSS#3942
Merged
Add last_known_good_deps so error state cards have prerendered CSS#3942
Conversation
Preview deployments |
The test was timing out because breaking a module alone doesn't automatically trigger re-indexing of dependent instances. Adding a PATCH request to the instance forces it to re-index and encounter the broken module, causing it to enter an error state as expected. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The BoxelIndexTable type now requires the last_known_good_deps field, so test assertions comparing against this type need to include it. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
PATCH validates the card against the module, which fails when the module is broken. Using a raw JSON write via POST with application/vnd.card+source bypasses validation and triggers re-indexing, which then encounters the broken module. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Instead of breaking the module and hoping the error propagates to the instance, make the instance reference a non-existent module. This directly causes the instance to fail indexing and is more reliable than relying on module dependency propagation. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
backspace
commented
Feb 9, 2026
| created_at NOT NULL, | ||
| PRIMARY KEY ( id ) | ||
| ); | ||
|
|
Contributor
Author
There was a problem hiding this comment.
I’m confused by the presence of this, maybe updating the schema was missed in another PR?
Contributor
There was a problem hiding this comment.
I confirm that these additions for bot_registrations are correct but it had already been covered in the other schema.sql file.
schema/1770616671686_schema.sql
Currently, inside main there are 2 of these files however this file you just changed doesn't include bot_commands so I'm leaning towards deleting this one
Contributor
Author
lukemelia
reviewed
Feb 9, 2026
Comment on lines
+4
to
+10
| CREATE TABLE IF NOT EXISTS bot_registrations ( | ||
| id NOT NULL, | ||
| username TEXT NOT NULL, | ||
| created_at NOT NULL, | ||
| PRIMARY KEY ( id ) | ||
| ); | ||
|
|
lukemelia
approved these changes
Feb 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

The staging card that has a Checkly check for scoped CSS has been mysteriously spontaneously breaking. The card prerenders in host mode but not its scoped CSS (the text should be pink):
This is because
boxel_index.depsis the source for scoped CSS and it’s truncated when the card has an error. This PR adds a newboxel_index.last_known_good_depsthat preserves a fallback in case a new version of a card has an error but a prior one worked.It’s an open question what

hostshould do when taking over if a card is in an error state. If this PR is merged it would look like this, but it probably makes sense to detect the error state and act differently: