Repository navigation
feat(linux): keep stored files before a format upgrade and open .sql files - #4049
Merged
Merged
Conversation
…o file reads on the GTK thread
…s a non-SQL session cannot take
…s picker shows them
…sing a script's session
…ion, reach the upgrade copies
…on copies before each write
…ry copy that cannot be trimmed
datlechin
enabled auto-merge (squash)
November 5, 2026 09:16
… leave media types to the desktop entry
# Conflicts: # core/docs/decisions/README.md # linux/crates/app/src/persistence/column_width_store.rs # linux/crates/app/src/services/connection_deletion.rs # linux/docs/storage.md
datlechin
disabled auto-merge
November 6, 2026 01:08
# Conflicts: # .github/workflows/release-linux.yml
# Conflicts: # core/docs/decisions/README.md
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.
Summary
<file>.v<version>-<unix seconds>, newest 3 per file (write_document_blocking, andVACUUM INTOforhistory.dbbefore its migrations). A failed copy fails the write. A copy never keeps what the user deleted: history and saved-query deletes reach the copies first, retention trims them, a deleted connection leaves the connection-list copies, and crash leftovers are swept. Decision: core ADR 0011. Tested with a synthetic version bump, no legacy format.storage.mdandreleasing.mdmatch.cardlist view. AdwActionRow is a GtkListBoxRow, and GTK warned when a GtkListView item held one..sqlfiles from Files or the command line open in a new editor tab bound to the file, never run. The tab opens in the SQL connection in front. While no SQL connection is in front, or a window is still restoring or connecting, a picker asks with a banner. A tab already bound to the same location comes forward. The desktop file listsapplication/sql; AppStream takes media types from it, so the metainfo lists none.po/check-complete.shcompares each language inLINGUASwith the generated template, plural forms included. The Translations job reports untranslated and fuzzy entries without failing. Alinux-v*release fails on them, before the GitHub release and the PPA upload. Documented inpo/README.md. No catalogue is translated here.Test plan
tablepro-storage:upgrade_copiestests a synthetic version bump of a document and of a migration list: the first write keeps the older bytes once, a WAL-mode database is copied with its WAL rows, and new, current and newer databases get no copy. Copy, dedupe, retention and clock tests. History tests: deleting a connection's history and Clear History empty the copies, their full-text blocks included, and keep their saved queries.tablepro: state file and workspace copies, purge of a session's copies, the import preview presented with GLib warnings fatal,.sqlresolution and routing tests, the desktop entry's MIME types.an_import_shows_where_each_connection_goes_before_writingreads the preview's rows as list items, since they are no longer AdwActionRows.po/check-complete.shagainst a template from gettext 1.0:vireports 677 untranslated entries and exits 1; a complete catalogue exits 0.gtk_list_box_row_grab_focus: assertion 'box != NULL' failedwhen the preview opens; after, none.Screenshots
Import preview: the rows sit in a boxed list now.
tablepro report.sqlwhile a SQLite file is open: before, a second window fails to connect; after, an editor tab of the open connection, not run.tablepro report.sqlwith no window: before, it fails to connect; after, the picker asks for a connection.