drafts can not be discarded #5

Closed
opened 2026-07-18 12:09:56 +00:00 by hugo · 1 comment
Owner

there are drafts in the test database that can't be discarded due to some sql error about a missing column. this looks weird and should be investigated. it is on a column title on a fts related table.

there are drafts in the test database that can't be discarded due to some sql error about a missing column. this looks weird and should be investigated. it is on a column title on a fts related table.
hugo added the bug label 2026-07-18 12:09:56 +00:00
Author
Owner

Fixed in commit 2890921.

The app now detects the previously deployed two-column FTS schema at startup, replaces only the derived FTS tables with the current schema, records that a rebuild is required, and lets the user rebuild immediately or defer it. Search remains unavailable while repair is deferred.

Both Preferences and the Blog menu use the same confirmation flow. Rebuilding covers every project atomically in a background task, reports progress, and temporarily blocks editing. Discarding a post draft is also transactional, so an indexing failure cannot partially mutate the post.

Regression coverage includes the deployed legacy schema, discard rollback, all-project rebuilding, confirmation/blocking behavior, and localization completeness. cargo test --workspace --quiet -- --test-threads=1 and cargo clippy --workspace --all-targets -- -D warnings pass.

Fixed in commit 2890921. The app now detects the previously deployed two-column FTS schema at startup, replaces only the derived FTS tables with the current schema, records that a rebuild is required, and lets the user rebuild immediately or defer it. Search remains unavailable while repair is deferred. Both Preferences and the Blog menu use the same confirmation flow. Rebuilding covers every project atomically in a background task, reports progress, and temporarily blocks editing. Discarding a post draft is also transactional, so an indexing failure cannot partially mutate the post. Regression coverage includes the deployed legacy schema, discard rollback, all-project rebuilding, confirmation/blocking behavior, and localization completeness. cargo test --workspace --quiet -- --test-threads=1 and cargo clippy --workspace --all-targets -- -D warnings pass.
hugo closed this issue 2026-07-18 15:39:48 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: hugo/RuDS#5