Repository navigation
Preserve Notion page bodies on read failures and import table cells - #1101
Merged
WaylandYang merged 3 commits intoOct 8, 2026
Merged
Conversation
Signed-off-by: Floating-Y <118035379+Floating-Y@users.noreply.github.com>
…amed in the run's error, and the other pages still sync Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Wayland Yang <wayland0916@gmail.com>
WaylandYang
approved these changes
Oct 8, 2026
WaylandYang
left a comment
Contributor
There was a problem hiding this comment.
Thank you. Both problems are real: a failed read replaced a complete body with a title, and table cells were dropped.
The tables are right as they are. On the failed read I changed one thing and pushed it to your branch (b485050):
- Before the push: one unreadable page aborted the whole sync. Some pages never become readable (a nested block that is not shared with the integration answers 404), so that source would stop syncing for good. Object storage taught the same lesson in #214.
- Now: the page is left out, its stored body stays untouched, the other pages sync, and the run ends as failed with the page named in its error.
Your resync test keeps all its assertions about the stored body, versions and jobs. The failure test now has a second, healthy page beside the failing one. All 21 Notion tests pass with the database required.
Not covered by a test: the error text sync_notion builds at the end, since fetch cannot be pointed at a mock server from there.
Merging when CI is green. Thanks again.
Merged
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.
Why
A failed Notion block read returned a title-only document, which could replace a previously imported complete body. Table row text lives in
table_row.cellsand was omitted by the rich-text-only renderer.Follow-up to #1085, which added nested traversal and retained the existing title-only fallback.
What changes
<br>.How it was checked
cargo fmt --all --checkcargo clippy --workspace --all-targets --locked -- -D warningscargo test --workspace --lockedagainst a migrated, isolated PostgreSQL 16/pgvector database, withUTOPIA_TEST_REQUIRE_DB=1andUTOPIA_TEST_REQUIRE_PDFTOTEXT=1.pnpm install --frozen-lockfileandpnpm buildunderweb/.UTOPIA_NOTION_TEST_TOKENwas not provided. The standard workspace run did not enable ignored tests.Before review
git commit -s).