Payload
{
"ref": "refs/heads/jp/refactor-db",
"before": "e77c3d3c4b1e454e06a8e9f61def41f3abe4ee34",
"after": "2338e0893ff97e9872961efa27dd74dbf86c44d9",
"repository": {
"id": 1209959628,
"node_id": "R_kgDOSB6EzA",
"name": "nixmac",
"full_name": "darkmatter/nixmac",
"private": false,
"owner": {
"name": "darkmatter",
"email": "hello@dm.sh",
"login": "darkmatter",
"id": 17834193,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE3ODM0MTkz",
"avatar_url": "https://avatars.githubusercontent.com/u/17834193?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/darkmatter",
"html_url": "https://github.com/darkmatter",
"followers_url": "https://api.github.com/users/darkmatter/followers",
"following_url": "https://api.github.com/users/darkmatter/following{/other_user}",
"gists_url": "https://api.github.com/users/darkmatter/gists{/gist_id}",
"starred_url": "https://api.github.com/users/darkmatter/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/darkmatter/subscriptions",
"organizations_url": "https://api.github.com/users/darkmatter/orgs",
"repos_url": "https://api.github.com/users/darkmatter/repos",
"events_url": "https://api.github.com/users/darkmatter/events{/privacy}",
"received_events_url": "https://api.github.com/users/darkmatter/received_events",
"type": "Organization",
"user_view_type": "public",
"site_admin": false
},
"html_url": "https://github.com/darkmatter/nixmac",
"description": "Home manager and nix-darwin that understands plain English",
"fork": false,
"url": "https://api.github.com/repos/darkmatter/nixmac",
"forks_url": "https://api.github.com/repos/darkmatter/nixmac/forks",
"keys_url": "https://api.github.com/repos/darkmatter/nixmac/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/darkmatter/nixmac/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/darkmatter/nixmac/teams",
"hooks_url": "https://api.github.com/repos/darkmatter/nixmac/hooks",
"issue_events_url": "https://api.github.com/repos/darkmatter/nixmac/issues/events{/number}",
"events_url": "https://api.github.com/repos/darkmatter/nixmac/events",
"assignees_url": "https://api.github.com/repos/darkmatter/nixmac/assignees{/user}",
"branches_url": "https://api.github.com/repos/darkmatter/nixmac/branches{/branch}",
"tags_url": "https://api.github.com/repos/darkmatter/nixmac/tags",
"blobs_url": "https://api.github.com/repos/darkmatter/nixmac/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/darkmatter/nixmac/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/darkmatter/nixmac/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/darkmatter/nixmac/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/darkmatter/nixmac/statuses/{sha}",
"languages_url": "https://api.github.com/repos/darkmatter/nixmac/languages",
"stargazers_url": "https://api.github.com/repos/darkmatter/nixmac/stargazers",
"contributors_url": "https://api.github.com/repos/darkmatter/nixmac/contributors",
"subscribers_url": "https://api.github.com/repos/darkmatter/nixmac/subscribers",
"subscription_url": "https://api.github.com/repos/darkmatter/nixmac/subscription",
"commits_url": "https://api.github.com/repos/darkmatter/nixmac/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/darkmatter/nixmac/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/darkmatter/nixmac/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/darkmatter/nixmac/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/darkmatter/nixmac/contents/{+path}",
"compare_url": "https://api.github.com/repos/darkmatter/nixmac/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/darkmatter/nixmac/merges",
"archive_url": "https://api.github.com/repos/darkmatter/nixmac/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/darkmatter/nixmac/downloads",
"issues_url": "https://api.github.com/repos/darkmatter/nixmac/issues{/number}",
"pulls_url": "https://api.github.com/repos/darkmatter/nixmac/pulls{/number}",
"milestones_url": "https://api.github.com/repos/darkmatter/nixmac/milestones{/number}",
"notifications_url": "https://api.github.com/repos/darkmatter/nixmac/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/darkmatter/nixmac/labels{/name}",
"releases_url": "https://api.github.com/repos/darkmatter/nixmac/releases{/id}",
"deployments_url": "https://api.github.com/repos/darkmatter/nixmac/deployments",
"created_at": 1776127033,
"updated_at": "2026-06-05T05:10:30Z",
"pushed_at": 1780664466,
"git_url": "git://github.com/darkmatter/nixmac.git",
"ssh_url": "git@github.com:darkmatter/nixmac.git",
"clone_url": "https://github.com/darkmatter/nixmac.git",
"svn_url": "https://github.com/darkmatter/nixmac",
"homepage": "https://nixmac.com",
"size": 680444,
"stargazers_count": 5,
"watchers_count": 5,
"language": "Rust",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"has_discussions": false,
"forks_count": 1,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 74,
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"allow_forking": true,
"is_template": false,
"web_commit_signoff_required": false,
"has_pull_requests": true,
"pull_request_creation_policy": "all",
"topics": [
"home-manager",
"nix",
"nix-darwin",
"nix-flake",
"opencode"
],
"visibility": "public",
"forks": 1,
"open_issues": 74,
"watchers": 5,
"default_branch": "develop",
"stargazers": 5,
"master_branch": "develop",
"organization": "darkmatter",
"custom_properties": {}
},
"pusher": {
"name": "arximboldi",
"email": "juanpe@sinusoid.es"
},
"forced": true,
"organization": {
"login": "darkmatter",
"id": 17834193,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE3ODM0MTkz",
"url": "https://api.github.com/orgs/darkmatter",
"repos_url": "https://api.github.com/orgs/darkmatter/repos",
"events_url": "https://api.github.com/orgs/darkmatter/events",
"hooks_url": "https://api.github.com/orgs/darkmatter/hooks",
"issues_url": "https://api.github.com/orgs/darkmatter/issues",
"members_url": "https://api.github.com/orgs/darkmatter/members{/member}",
"public_members_url": "https://api.github.com/orgs/darkmatter/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/17834193?v=4",
"description": ""
},
"enterprise": {
"id": 469843,
"slug": "darkmatter",
"name": "darkmatter",
"node_id": "E_kgDOAAcrUw",
"avatar_url": "https://avatars.githubusercontent.com/b/469843?v=4",
"description": "",
"website_url": "darkmatter.io",
"html_url": "https://github.com/enterprises/darkmatter",
"created_at": "2025-09-07T16:01:00Z",
"updated_at": "2026-05-09T15:34:55Z"
},
"sender": {
"login": "arximboldi",
"id": 4521138,
"node_id": "MDQ6VXNlcjQ1MjExMzg=",
"avatar_url": "https://avatars.githubusercontent.com/u/4521138?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/arximboldi",
"html_url": "https://github.com/arximboldi",
"followers_url": "https://api.github.com/users/arximboldi/followers",
"following_url": "https://api.github.com/users/arximboldi/following{/other_user}",
"gists_url": "https://api.github.com/users/arximboldi/gists{/gist_id}",
"starred_url": "https://api.github.com/users/arximboldi/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/arximboldi/subscriptions",
"organizations_url": "https://api.github.com/users/arximboldi/orgs",
"repos_url": "https://api.github.com/users/arximboldi/repos",
"events_url": "https://api.github.com/users/arximboldi/events{/privacy}",
"received_events_url": "https://api.github.com/users/arximboldi/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"installation": {
"id": 131074261,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMTMxMDc0MjYx"
},
"created": false,
"deleted": false,
"base_ref": null,
"compare": "https://github.com/darkmatter/nixmac/compare/e77c3d3c4b1e...2338e0893ff9",
"commits": [
{
"id": "f14c379cd90610d74de40982e9b0db57a525ba70",
"tree_id": "72316f8a61ee2504fb6d6f4573defddf6a4857ca",
"distinct": true,
"message": "Add plan document for refactoring review",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/f14c379cd90610d74de40982e9b0db57a525ba70",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-04T00:10:21+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [
"docs/2026-06-03-pr-review-followups.md"
],
"removed": [],
"modified": []
},
{
"id": "da3fbfb679b9100b4c4a9c29cb99d2124c9c3fe1",
"tree_id": "8fe52d544d54eb29a8b1bbca31ceddee60412740",
"distinct": true,
"message": "db: declare all tables in diesel tables.rs\n\nPhase 2 prep: extend the Diesel table! declarations from the lone `commits`\nentry to cover every table in the SQLite schema (evolutions,\nchange_summaries, changes, group_summaries, change_sets, set_changes,\nqueued_summaries, prompts, restore_commits). Adds joinable! relationships\nmatching the foreign keys in 01-initial/up.sql so DSL-level JOINs typecheck\nlater in the migration.\n\nPure addition; no caller switches to the new tables yet.",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/da3fbfb679b9100b4c4a9c29cb99d2124c9c3fe1",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-04T00:46:45+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"apps/native/src-tauri/src/db/tables.rs"
]
},
{
"id": "64bda1b6e81db263d6c39d98bfb97e1bdb96df9a",
"tree_id": "07622ae5002e950f773d0f4c5b47cd9d4e0bda46",
"distinct": true,
"message": "db: port evolutions to Diesel pool\n\nReplace the lone rusqlite::Connection::open in db/evolutions.rs with a\npool-backed Diesel implementation that takes &DbPool. The signature\nmatches the established pattern from db/commits.rs upsert_commit_in_pool.\n\nInsert uses last_insert_rowid() rather than RETURNING to keep parity\nwith the existing pool-backed commit helpers (the Diesel SQLite returning\nfeature flag isn't enabled).\n\nCallers updated to acquire the pool from tauri::State and pass it in:\nmanaged_edits/managed_edit.rs, evolve/lifecycle.rs, commands/rollback.rs.\ndb/schema.rs test rewritten to drive the new signature through\ninit_pool_at_path.",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/64bda1b6e81db263d6c39d98bfb97e1bdb96df9a",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-04T00:57:04+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"apps/native/src-tauri/src/commands/rollback.rs",
"apps/native/src-tauri/src/db/evolutions.rs",
"apps/native/src-tauri/src/db/schema.rs",
"apps/native/src-tauri/src/evolve/lifecycle.rs",
"apps/native/src-tauri/src/managed_edits/managed_edit.rs"
]
},
{
"id": "de612befd0cb87d467d5592ef6a60b2a53f15574",
"tree_id": "660b9b635368d66d06c0eafc9eb914275c6a2f47",
"distinct": true,
"message": "db: port restore_commits to Diesel pool\n\nReplace the two rusqlite::Connection::open sites in db/restore_commits.rs\nwith pool-backed Diesel queries (replace_into for the upsert, .find().first()\nfor the lookup). Function signatures take &DbPool instead of &Path.\n\nCallers updated to acquire the pool from tauri::State and pass it in:\nrebuild/finalize_restore.rs (spawn_blocking still applies because pool.get()\nis blocking) and history/get_history.rs. db_path stays in get_history for\nthe remaining rusqlite-based commits helpers; it'll go away with C4.",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/de612befd0cb87d467d5592ef6a60b2a53f15574",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-04T01:01:27+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"apps/native/src-tauri/src/db/restore_commits.rs",
"apps/native/src-tauri/src/history/get_history.rs",
"apps/native/src-tauri/src/rebuild/finalize_restore.rs"
]
},
{
"id": "62ec53991b2d888196c96f57da40e5180c1aa201",
"tree_id": "cd4c5f682c712a2f8e9bca4fe0f44822889a406f",
"distinct": true,
"message": "db: delete rusqlite commits twins, route all callers through pool\n\nDelete the rusqlite-based functions in db/commits.rs (upsert_commit,\nget_commit_by_hash, store_head_commit). The pool-backed _in_pool variants\nbecome the only paths into the commits table. Adds store_head_commit_in_pool\nto match. Removes the #[cfg(test)] gate on get_commit_by_hash_in_pool —\nit's now production code.\n\nCaller migrations all follow the same pattern: acquire the pool via\napp.state::<db::DbPool>() and pass &pool to the _in_pool function. Touches\n8 caller sites across 7 files plus the find_existing::for_current_state\nsignature which now takes (&pool, &db_path, &dir). The db_path parameter\nstays in for_current_state and by_base_with_hashes until C6 ports\ndb/changesets.rs (the rusqlite::Connection there is the remaining user).",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/62ec53991b2d888196c96f57da40e5180c1aa201",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-04T01:10:36+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"apps/native/src-tauri/src/commands/summarize.rs",
"apps/native/src-tauri/src/db/commits.rs",
"apps/native/src-tauri/src/evolve/lifecycle.rs",
"apps/native/src-tauri/src/history/get_history.rs",
"apps/native/src-tauri/src/managed_edits/managed_edit.rs",
"apps/native/src-tauri/src/state/build_state.rs",
"apps/native/src-tauri/src/state/watcher.rs",
"apps/native/src-tauri/src/summarize/find_existing.rs",
"apps/native/src-tauri/src/summarize/mod.rs",
"apps/native/src-tauri/src/summarize/pipelines/commit_message.rs",
"apps/native/src-tauri/src/summarize/pipelines/fresh_changeset.rs",
"apps/native/src-tauri/src/summarize/pipelines/history.rs",
"apps/native/src-tauri/src/summarize/queue_summarizer.rs"
]
},
{
"id": "7c94089311185e415712e4d1726bd20439c789b6",
"tree_id": "e76d3c02933d9c4cd7d3362b82af0a37090213fb",
"distinct": true,
"message": "db: port changesets, queue summarizer, and all writers to Diesel\n\nThe big port: db/changesets.rs's 18 helpers now take &mut SqliteConnection\ninstead of &Transaction / &Connection. Simple inserts/updates use the\nDiesel DSL. The two multi-JOIN read queries\n(query_change_set_for_commit_pair, query_change_set_for_base_with_hashes)\nstay as raw SQL via diesel::sql_query + QueryableByName per the migration\nplan's directive against full DSL ports for gnarly aggregate queries.\n\nCallers updated to acquire a pooled connection and wrap atomic groups in\nconn.transaction(|conn| ...):\n - db/store_bare_changeset.rs, store_new_changeset.rs, store_evolved_changeset.rs\n - summarize/queue_summarizer.rs (8 connection-open sites + ~10 changesets\n callers consolidated into Diesel transactions). The worker now holds a\n cloned DbPool instead of a PathBuf.\n - summarize/find_existing.rs drops the db_path parameter from\n for_current_state and by_base_with_hashes; pool reads are enough.\n - state/build_state.rs's record_build and matches_current_state now\n drive the changesets reader through the pool.\n - summarize/pipelines/fresh_changeset.rs and evolved_changeset.rs drop\n their db_path parameter — propagated to all transitive callers\n (summarize::new_changeset, summarize::pipelines::history).\n - managed_edits/managed_edit.rs drops the now-unused ManagedEditContext.db_path.\n\nTables.rs: line_count and attempted_count promoted to BigInt to match\nthe i64 fields on Change and QueuedSummary.",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/7c94089311185e415712e4d1726bd20439c789b6",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-04T01:25:08+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"apps/native/src-tauri/src/commands/summarize.rs",
"apps/native/src-tauri/src/db/changesets.rs",
"apps/native/src-tauri/src/db/store_bare_changeset.rs",
"apps/native/src-tauri/src/db/store_evolved_changeset.rs",
"apps/native/src-tauri/src/db/store_new_changeset.rs",
"apps/native/src-tauri/src/db/tables.rs",
"apps/native/src-tauri/src/evolve/lifecycle.rs",
"apps/native/src-tauri/src/history/get_history.rs",
"apps/native/src-tauri/src/managed_edits/managed_edit.rs",
"apps/native/src-tauri/src/state/build_state.rs",
"apps/native/src-tauri/src/state/watcher.rs",
"apps/native/src-tauri/src/summarize/find_existing.rs",
"apps/native/src-tauri/src/summarize/mod.rs",
"apps/native/src-tauri/src/summarize/pipelines/commit_message.rs",
"apps/native/src-tauri/src/summarize/pipelines/evolved_changeset.rs",
"apps/native/src-tauri/src/summarize/pipelines/fresh_changeset.rs",
"apps/native/src-tauri/src/summarize/pipelines/history.rs",
"apps/native/src-tauri/src/summarize/queue_summarizer.rs"
]
},
{
"id": "2cae8ee005922634f9f74ec0c5e19664c39b3b3d",
"tree_id": "f11690da265cb12d124fa548080e59b2881f8240",
"distinct": true,
"message": "db: switch schema bootstrap to diesel_migrations\n\nReplace the concat!(initial.sql, restore.sql) execute_batch in\ndb/schema.rs::init_schema with diesel_migrations::embed_migrations!\napplied via conn.run_pending_migrations(). Migrations are now Diesel's\nsource of truth and tracked in __diesel_schema_migrations.\n\nStale-DB recreation semantics preserved: PRAGMA user_version is still\nread via Diesel before opening the migration harness, and the file is\nremoved when the on-disk version doesn't match SCHEMA_VERSION (= 1).\nAfter migrations run, the new database is stamped with the same\nuser_version so the next startup's stale-detect path still works.\n\nThe schema.rs test rewritten to use Diesel for the stale-state setup\nand validation; this drops the last rusqlite::Connection callers in\ndb/.",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/2cae8ee005922634f9f74ec0c5e19664c39b3b3d",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-04T01:29:28+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"apps/native/src-tauri/src/db/schema.rs"
]
},
{
"id": "a1f305c1ebee0313f4f9bc069ea57e94cd49203e",
"tree_id": "24dd8972ca225586da4730cf99126401a6667227",
"distinct": true,
"message": "db: drop the _in_pool suffix from db/commits helpers\n\nWith the rusqlite twins gone, the suffix on the Diesel functions is just\nnoise. Renames upsert_commit_in_pool, get_commit_by_hash_in_pool, and\nstore_head_commit_in_pool to drop the suffix; updates all 12 call sites\nacross 8 files.\n\nAddresses item B5 from docs/2026-06-03-pr-review-followups.md.",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/a1f305c1ebee0313f4f9bc069ea57e94cd49203e",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-04T01:31:17+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"apps/native/src-tauri/src/commands/git.rs",
"apps/native/src-tauri/src/db/commits.rs",
"apps/native/src-tauri/src/history/get_history.rs",
"apps/native/src-tauri/src/managed_edits/managed_edit.rs",
"apps/native/src-tauri/src/state/build_state.rs",
"apps/native/src-tauri/src/summarize/find_existing.rs",
"apps/native/src-tauri/src/summarize/mod.rs",
"apps/native/src-tauri/src/summarize/pipelines/fresh_changeset.rs",
"apps/native/src-tauri/src/summarize/pipelines/history.rs"
]
},
{
"id": "e004f7489a833e844939cb4b39577d75c3748a79",
"tree_id": "d950fbe7c9bf37a49ac017db1a784a5dfbeca664",
"distinct": true,
"message": "db: drop rusqlite dependency, Phase 2 complete\n\nWith every query path routing through Diesel + r2d2, rusqlite is dead\nweight. Drops it from Cargo.toml; pins libsqlite3-sys with the bundled\nfeature directly so Diesel keeps using a self-contained SQLite build\n(rusqlite previously carried that flag transitively).\n\nUpdates the stale pool.rs module doc to reflect the finished state\n(\"every query path acquires its connection from this pool\") instead of\nthe Phase 2 in-progress framing.\n\nThis closes Phase 2 of docs/2026-05-29-state-management-migration-plan.md\nand the open item from B5 in the post-merge review followup doc.",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/e004f7489a833e844939cb4b39577d75c3748a79",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-04T01:44:21+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"Cargo.lock",
"apps/native/src-tauri/Cargo.toml",
"apps/native/src-tauri/src/db/pool.rs"
]
},
{
"id": "2338e0893ff97e9872961efa27dd74dbf86c44d9",
"tree_id": "69bd4a527ebe4564ed5ff24470ff99116171b6d4",
"distinct": true,
"message": "db: initialize pool before starting queue summarizer worker\n\nDiesel port made start_worker eagerly resolve app.state::<DbPool>(); GUI\nsetup was spawning db::init asynchronously alongside it, so the worker\nhit \"state() called before manage()\" on every launch. Await db::init in\nsetup before invoking start_worker. CLI mode already had the right\nordering.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/2338e0893ff97e9872961efa27dd74dbf86c44d9",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:54:55+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"apps/native/src-tauri/src/main.rs"
]
}
],
"head_commit": {
"id": "2338e0893ff97e9872961efa27dd74dbf86c44d9",
"tree_id": "69bd4a527ebe4564ed5ff24470ff99116171b6d4",
"distinct": true,
"message": "db: initialize pool before starting queue summarizer worker\n\nDiesel port made start_worker eagerly resolve app.state::<DbPool>(); GUI\nsetup was spawning db::init asynchronously alongside it, so the worker\nhit \"state() called before manage()\" on every launch. Await db::init in\nsetup before invoking start_worker. CLI mode already had the right\nordering.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"timestamp": "2026-06-05T14:55:13+02:00",
"url": "https://github.com/darkmatter/nixmac/commit/2338e0893ff97e9872961efa27dd74dbf86c44d9",
"author": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:54:55+02:00",
"username": "arximboldi"
},
"committer": {
"name": "Juan Pedro Bolívar Puente",
"email": "raskolnikov@gnu.org",
"date": "2026-06-05T14:55:13+02:00",
"username": "arximboldi"
},
"added": [],
"removed": [],
"modified": [
"apps/native/src-tauri/src/main.rs"
]
}
}