Skip to content

Commit 013da78

Browse files
author
Daniel Salinas
committed
Codereview feedback
1 parent b1ef4ca commit 013da78

File tree

6 files changed

+31
-26
lines changed

6 files changed

+31
-26
lines changed

crates/matrix-sdk-base/src/store/memory_store.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -815,7 +815,7 @@ impl StateStore for MemoryStore {
815815
transaction_id,
816816
error: None,
817817
priority,
818-
enqueue_time: Some(MilliSecondsSinceUnixEpoch::now()),
818+
created_at: Some(MilliSecondsSinceUnixEpoch::now()),
819819
},
820820
);
821821
Ok(())
@@ -915,7 +915,7 @@ impl StateStore for MemoryStore {
915915
parent_transaction_id: parent_transaction_id.to_owned(),
916916
own_transaction_id,
917917
parent_key: None,
918-
enqueue_time: None,
918+
created_at: None,
919919
},
920920
);
921921
Ok(())

crates/matrix-sdk-base/src/store/send_queue.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ pub struct QueuedRequest {
134134
pub priority: usize,
135135

136136
/// The time that the request was original attempted.
137-
pub enqueue_time: Option<MilliSecondsSinceUnixEpoch>,
137+
pub created_at: Option<MilliSecondsSinceUnixEpoch>,
138138
}
139139

140140
impl QueuedRequest {
@@ -371,7 +371,8 @@ pub struct DependentQueuedRequest {
371371
pub parent_key: Option<SentRequestKey>,
372372

373373
/// The time that the request was original attempted.
374-
pub enqueue_time: Option<MilliSecondsSinceUnixEpoch>,
374+
#[serde(skip_serializing_if = "Option::is_none")]
375+
pub created_at: Option<MilliSecondsSinceUnixEpoch>,
375376
}
376377

377378
impl DependentQueuedRequest {

crates/matrix-sdk-indexeddb/src/state_store/mod.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -439,13 +439,15 @@ struct PersistedQueuedRequest {
439439

440440
priority: Option<usize>,
441441

442+
/// The time the original message was first attempted to be sent at.
443+
#[serde(skip_serializing_if = "Option::is_none")]
444+
created_at: Option<MilliSecondsSinceUnixEpoch>,
445+
442446
// Migrated fields: keep these private, they're not used anymore elsewhere in the code base.
443447
/// Deprecated (from old format), now replaced with error field.
444448
is_wedged: Option<bool>,
445449

446450
event: Option<SerializableEventContent>,
447-
448-
enqueue_time: Option<MilliSecondsSinceUnixEpoch>,
449451
}
450452

451453
impl PersistedQueuedRequest {
@@ -471,7 +473,7 @@ impl PersistedQueuedRequest {
471473
transaction_id: self.transaction_id,
472474
error,
473475
priority,
474-
enqueue_time: self.enqueue_time,
476+
created_at: self.created_at,
475477
})
476478
}
477479
}
@@ -1397,7 +1399,7 @@ impl_state_store!({
13971399
is_wedged: None,
13981400
event: None,
13991401
priority: Some(priority),
1400-
enqueue_time: Some(MilliSecondsSinceUnixEpoch::now()),
1402+
created_at: Some(MilliSecondsSinceUnixEpoch::now()),
14011403
});
14021404

14031405
// Save the new vector into db.
@@ -1593,7 +1595,7 @@ impl_state_store!({
15931595
parent_transaction_id: parent_txn_id.to_owned(),
15941596
own_transaction_id: own_txn_id,
15951597
parent_key: None,
1596-
enqueue_time: None,
1598+
created_at: None,
15971599
});
15981600

15991601
// Save the new vector into db.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
-- Migration script to add the enqueue_time column to the send_queue_events table
1+
-- Migration script to add the created_at column to the send_queue_events table
22
ALTER TABLE "send_queue_events"
3-
ADD COLUMN "enqueue_time" INTEGER NOT NULL DEFAULT (strftime('%s', 'now'));
3+
ADD COLUMN "created_at" INTEGER NOT NULL DEFAULT (strftime('%s', 'now'));
44

55
ALTER TABLE "dependent_send_queue_events"
6-
ADD COLUMN "enqueue_time" INTEGER NOT NULL DEFAULT (strftime('%s', 'now'));
6+
ADD COLUMN "created_at" INTEGER NOT NULL DEFAULT (strftime('%s', 'now'));

crates/matrix-sdk-sqlite/src/state_store.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1838,7 +1838,7 @@ impl StateStore for SqliteStateStore {
18381838
.acquire()
18391839
.await?
18401840
.prepare(
1841-
"SELECT transaction_id, content, wedge_reason, priority, enqueue_time FROM send_queue_events WHERE room_id = ? ORDER BY priority DESC, ROWID",
1841+
"SELECT transaction_id, content, wedge_reason, priority, created_at FROM send_queue_events WHERE room_id = ? ORDER BY priority DESC, ROWID",
18421842
|mut stmt| {
18431843
stmt.query((room_id,))?
18441844
.mapped(|row| Ok((row.get(0)?, row.get(1)?, row.get(2)?, row.get(3)?, row.get(4)?)))
@@ -1849,13 +1849,13 @@ impl StateStore for SqliteStateStore {
18491849

18501850
let mut requests = Vec::with_capacity(res.len());
18511851
for entry in res {
1852-
let enqueue_time = MilliSecondsSinceUnixEpoch(UInt::new(entry.4).unwrap());
1852+
let created_at = UInt::new(entry.4).map(|e| MilliSecondsSinceUnixEpoch(e));
18531853
requests.push(QueuedRequest {
18541854
transaction_id: entry.0.into(),
18551855
kind: self.deserialize_json(&entry.1)?,
18561856
error: entry.2.map(|v| self.deserialize_value(&v)).transpose()?,
18571857
priority: entry.3,
1858-
enqueue_time: Some(enqueue_time),
1858+
created_at,
18591859
});
18601860
}
18611861

@@ -1921,6 +1921,7 @@ impl StateStore for SqliteStateStore {
19211921
// See comment in `save_send_queue_event`.
19221922
let parent_txn_id = parent_txn_id.to_string();
19231923
let own_txn_id = own_txn_id.to_string();
1924+
19241925
self.acquire()
19251926
.await?
19261927
.with_transaction(move |txn| {
@@ -2026,7 +2027,7 @@ impl StateStore for SqliteStateStore {
20262027
.acquire()
20272028
.await?
20282029
.prepare(
2029-
"SELECT own_transaction_id, parent_transaction_id, parent_key, content, enqueue_time FROM dependent_send_queue_events WHERE room_id = ? ORDER BY ROWID",
2030+
"SELECT own_transaction_id, parent_transaction_id, parent_key, content, created_at FROM dependent_send_queue_events WHERE room_id = ? ORDER BY ROWID",
20302031
|mut stmt| {
20312032
stmt.query((room_id,))?
20322033
.mapped(|row| Ok((row.get(0)?, row.get(1)?, row.get(2)?, row.get(3)?, row.get(4)?)))
@@ -2037,13 +2038,13 @@ impl StateStore for SqliteStateStore {
20372038

20382039
let mut dependent_events = Vec::with_capacity(res.len());
20392040
for entry in res {
2040-
let enqueue_time = MilliSecondsSinceUnixEpoch(UInt::new(entry.4).unwrap());
2041+
let created_at = UInt::new(entry.4).map(|e| MilliSecondsSinceUnixEpoch(e));
20412042
dependent_events.push(DependentQueuedRequest {
20422043
own_transaction_id: entry.0.into(),
20432044
parent_transaction_id: entry.1.into(),
20442045
parent_key: entry.2.map(|bytes| self.deserialize_value(&bytes)).transpose()?,
20452046
kind: self.deserialize_json(&entry.3)?,
2046-
enqueue_time: Some(enqueue_time),
2047+
created_at,
20472048
});
20482049
}
20492050

@@ -2440,6 +2441,7 @@ mod migration_tests {
24402441
let room_id_value = this.serialize_value(&room_id.to_owned())?;
24412442

24422443
let content = this.serialize_json(&content)?;
2444+
24432445
txn.prepare_cached("INSERT INTO send_queue_events (room_id, room_id_val, transaction_id, content, wedged) VALUES (?, ?, ?, ?, ?)")?
24442446
.execute((room_id_key, room_id_value, transaction_id.to_string(), content, is_wedged))?;
24452447

crates/matrix-sdk/src/send_queue.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2275,7 +2275,7 @@ mod tests {
22752275
.unwrap(),
22762276
},
22772277
parent_key: None,
2278-
enqueue_time: None,
2278+
created_at: None,
22792279
};
22802280
let res = canonicalize_dependent_requests(&[edit]);
22812281

@@ -2296,7 +2296,7 @@ mod tests {
22962296
parent_transaction_id: txn.clone(),
22972297
kind: DependentQueuedRequestKind::RedactEvent,
22982298
parent_key: None,
2299-
enqueue_time: None,
2299+
created_at: None,
23002300
};
23012301

23022302
let edit = DependentQueuedRequest {
@@ -2309,7 +2309,7 @@ mod tests {
23092309
.unwrap(),
23102310
},
23112311
parent_key: None,
2312-
enqueue_time: None,
2312+
created_at: None,
23132313
};
23142314

23152315
inputs.push({
@@ -2349,7 +2349,7 @@ mod tests {
23492349
.unwrap(),
23502350
},
23512351
parent_key: None,
2352-
enqueue_time: None,
2352+
created_at: None,
23532353
})
23542354
.collect::<Vec<_>>();
23552355

@@ -2381,7 +2381,7 @@ mod tests {
23812381
kind: DependentQueuedRequestKind::RedactEvent,
23822382
parent_transaction_id: txn1.clone(),
23832383
parent_key: None,
2384-
enqueue_time: None,
2384+
created_at: None,
23852385
},
23862386
// This one pertains to txn2.
23872387
DependentQueuedRequest {
@@ -2394,7 +2394,7 @@ mod tests {
23942394
},
23952395
parent_transaction_id: txn2.clone(),
23962396
parent_key: None,
2397-
enqueue_time: None,
2397+
created_at: None,
23982398
},
23992399
];
24002400

@@ -2425,7 +2425,7 @@ mod tests {
24252425
kind: DependentQueuedRequestKind::ReactEvent { key: "🧠".to_owned() },
24262426
parent_transaction_id: txn.clone(),
24272427
parent_key: None,
2428-
enqueue_time: None,
2428+
created_at: None,
24292429
};
24302430

24312431
let edit_id = ChildTransactionId::new();
@@ -2439,7 +2439,7 @@ mod tests {
24392439
},
24402440
parent_transaction_id: txn,
24412441
parent_key: None,
2442-
enqueue_time: None,
2442+
created_at: None,
24432443
};
24442444

24452445
let res = canonicalize_dependent_requests(&[react, edit]);

0 commit comments

Comments
 (0)