authorclover caruso <git@paperclover.net> 2026-10-10 20:54:00-07:00
committerclover caruso <git@paperclover.net> 2026-10-10 22:56:06-07:00
logdf13004a44f732cd9b90dbbc7e40afca421eaf36
tree8f89f312bd6b486137d41b9663536428223b0202
parent5f50b6a9b5be1735c89716498f92a9c9b0134010
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU (~clover)

fix: decode the sync queue count as a SQLite integer

Use the existing checked signed-to-unsigned conversion at the SQL boundary. Fixes #117 Assisted-by: gpt-6.1-sol

1 files changed, 2 insertions(+), 2 deletions(-)

crates/notebook/src/session.rs+2-2
...@@ -2091,7 +2091,7 @@ pub(crate) fn sync_status(...@@ -2091,7 +2091,7 @@ pub(crate) fn sync_status(
2091 synced: Option<u64>,2091 synced: Option<u64>,
2092 observed: &Mutex<Observed>,2092 observed: &Mutex<Observed>,
2093) -> Result<SyncStatus> {2093) -> Result<SyncStatus> {
2094 let queued: u64 = crate::lock(&replica.section.connection)?.query_row(2094 let queued: i64 = crate::lock(&replica.section.connection)?.query_row(
2095 "SELECT count(*) FROM edits",2095 "SELECT count(*) FROM edits",
2096 [],2096 [],
2097 |row| row.get(0),2097 |row| row.get(0),
...@@ -2105,7 +2105,7 @@ pub(crate) fn sync_status(...@@ -2105,7 +2105,7 @@ pub(crate) fn sync_status(
2105 .as_ref()2105 .as_ref()
2106 .and_then(Option::as_ref)2106 .and_then(Option::as_ref)
2107 .map(|error| io::Error::new(error.kind(), error.to_string())),2107 .map(|error| io::Error::new(error.kind(), error.to_string())),
2108 queued,2108 queued: crate::unsigned(queued)?,
2109 })2109 })
2110}2110}
21112111