Repository navigation
Conversation
kasbah
force-pushed
the
kb/de-solidify-more
branch
2 times, most recently
from
October 15, 2026 17:55
14b7781 to
22c4d21
Compare
kasbah
force-pushed
the
kb/de-solidify-more
branch
2 times, most recently
from
October 16, 2026 13:08
c6f5a2a to
61a940d
Compare
kasbah
force-pushed
the
kb/de-solidify-more
branch
2 times, most recently
from
October 19, 2026 15:23
9bedd54 to
7ea3563
Compare
kasbah
force-pushed
the
kb/de-solidify-more
branch
2 times, most recently
from
October 20, 2026 13:08
0b07198 to
512904a
Compare
kasbah
force-pushed
the
kb/de-solidify-more
branch
from
October 22, 2026 17:59
512904a to
a32afc0
Compare
kasbah
force-pushed
the
kb/de-solidify-more
branch
4 times, most recently
from
October 23, 2026 11:03
9e804b0 to
eee856a
Compare
kasbah
force-pushed
the
kb/de-solidify-more
branch
15 times, most recently
from
October 23, 2026 16:11
f345328 to
93e910f
Compare
kasbah
marked this pull request as ready for review
October 23, 2026 16:14
kasbah
force-pushed
the
kb/de-solidify-more
branch
from
October 23, 2026 16:26
93e910f to
ae4dc99
Compare
Member
Author
|
To answer two questions from IRL review with @tslil-topos
A: In the case of model notebooks, the structure parser is much more lenient. This part is mainly to avoid all the defensive programming down the line.
A: That depends on the format. There is no parsing logic for the llm-conversation, but I can imagine adding a format where some would be needed. |
kasbah
force-pushed
the
kb/de-solidify-more
branch
5 times, most recently
from
October 23, 2026 17:23
3190aca to
9b3af64
Compare
kasbah
force-pushed
the
kb/de-solidify-more
branch
from
November 2, 2026 11:45
9b3af64 to
4b8f040
Compare
This branch was successfully deployed
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.
This is a complete re-work of the documents package, breaking with RFC-0006 significantly. It is comprised of:
(I am using model notebooks as the example here but this applies to instances too.)
1. Changes to the API
All changes to documents are now made with methods on the root document:
add,update, anddelete.updateanddeletetake cell references (ids) in the case of notebooks, when updating cells.data()returns a processed view of the notebook JSON.The main reason for this change is mixing the view with mutation methods is inconvenient when trying to get a reactive view of the data.
Before
After
2. Changes to the internal workings of the documents package
We now snapshot the document and parse it into a known schema before we present that as the view. This aspect closes #1426. This also removes Automerge proxies from the view so we no longer have to worry about how to copy values.
We create a subscriptions when we create a document handle, that re-parses / validate the document on any changes. This means we need to dispose that subscription when we no longer immediatly care about that document.
The pipeline looks like this:
3. Cleaner separation of SolidJS concerns
We no longer inject SolidJS proxies via
getDocumentView. Instead there is a new packagecatcolab-documents-solidthat has some helper methods. The plan is to stop usingsolid-automergeandmakeDocumentProjectionaltogether. We lose some fine-grained reactivity, in fact the current helpers are very coarse, but the fine-grained reactivity seemed like a premature optimization. We can apply more targeted optimizations to our new helpers as we need.