Commit 8909d39b777b
tarball4 files changed+22-13
@@ -3,7 +3,7 @@ resolver = "3"
33
members = ["crates/malice-core", "crates/malice-server", "crates/malice-static"]44
55
[workspace.dependencies]6
-macltok = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/macltok", rev = "038cc6faeb1429501e5cd06596b831bbd2044b92" }6
+macltok = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/macltok", rev = "417da9e719bcfbb8b60e4ff4f1a09f3d6b0d0160" }77
ruma = { version = "0.16", default-features = false }88
serde = { version = "1", features = ["derive"] }99
serde_json = "1"@@ -1999,7 +1999,7 @@ checksum = "7ef0d4ed8669f8f8826eb00dc878084aa8f253506c4fd5e8f58f5bce72ddb97e"
19991999
[[package]]20002000
name = "macltok"20012001
version = "0.1.0"2002
-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/macltok?rev=038cc6faeb1429501e5cd06596b831bbd2044b92#038cc6faeb1429501e5cd06596b831bbd2044b92"2002
+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/macltok?rev=417da9e719bcfbb8b60e4ff4f1a09f3d6b0d0160#417da9e719bcfbb8b60e4ff4f1a09f3d6b0d0160"20032003
dependencies = [20042004
"futures-util",20052005
"getrandom 0.2.17",@@ -2210,7 +2210,7 @@ dependencies = [
22102210
[[package]]22112211
name = "matrix-sdk"22122212
version = "0.18.0"2213
-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd#5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd"2213
+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=ec026bc9ea2393fd0cce6212b950d91ab6d36097#ec026bc9ea2393fd0cce6212b950d91ab6d36097"22142214
dependencies = [22152215
"anymap2",22162216
"aquamarine",@@ -2270,7 +2270,7 @@ dependencies = [
22702270
[[package]]22712271
name = "matrix-sdk-base"22722272
version = "0.18.0"2273
-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd#5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd"2273
+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=ec026bc9ea2393fd0cce6212b950d91ab6d36097#ec026bc9ea2393fd0cce6212b950d91ab6d36097"22742274
dependencies = [22752275
"as_variant",22762276
"async-trait",@@ -2296,7 +2296,7 @@ dependencies = [
22962296
[[package]]22972297
name = "matrix-sdk-common"22982298
version = "0.18.0"2299
-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd#5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd"2299
+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=ec026bc9ea2393fd0cce6212b950d91ab6d36097#ec026bc9ea2393fd0cce6212b950d91ab6d36097"23002300
dependencies = [23012301
"eyeball-im",23022302
"futures-core",@@ -2319,7 +2319,7 @@ dependencies = [
23192319
[[package]]23202320
name = "matrix-sdk-crypto"23212321
version = "0.18.0"2322
-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd#5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd"2322
+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=ec026bc9ea2393fd0cce6212b950d91ab6d36097#ec026bc9ea2393fd0cce6212b950d91ab6d36097"23232323
dependencies = [23242324
"aes",23252325
"aquamarine",@@ -2359,7 +2359,7 @@ dependencies = [
23592359
[[package]]23602360
name = "matrix-sdk-indexeddb"23612361
version = "0.18.0"2362
-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd#5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd"2362
+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=ec026bc9ea2393fd0cce6212b950d91ab6d36097#ec026bc9ea2393fd0cce6212b950d91ab6d36097"23632363
dependencies = [23642364
"async-trait",23652365
"base64 0.22.1",@@ -2391,7 +2391,7 @@ dependencies = [
23912391
[[package]]23922392
name = "matrix-sdk-sqlite"23932393
version = "0.18.0"2394
-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd#5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd"2394
+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=ec026bc9ea2393fd0cce6212b950d91ab6d36097#ec026bc9ea2393fd0cce6212b950d91ab6d36097"23952395
dependencies = [23962396
"as_variant",23972397
"async-trait",@@ -2418,7 +2418,7 @@ dependencies = [
24182418
[[package]]24192419
name = "matrix-sdk-store-encryption"24202420
version = "0.18.0"2421
-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd#5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd"2421
+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=ec026bc9ea2393fd0cce6212b950d91ab6d36097#ec026bc9ea2393fd0cce6212b950d91ab6d36097"24222422
dependencies = [24232423
"base64 0.22.1",24242424
"blake3",@@ -2439,7 +2439,7 @@ dependencies = [
24392439
[[package]]24402440
name = "matrix-sdk-ui"24412441
version = "0.18.0"2442
-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd#5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd"2442
+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=ec026bc9ea2393fd0cce6212b950d91ab6d36097#ec026bc9ea2393fd0cce6212b950d91ab6d36097"24432443
dependencies = [24442444
"as_variant",24452445
"async-rx",@@ -14,7 +14,7 @@ publish = false
1414
crate-type = ["cdylib", "rlib"]1515
1616
[target.'cfg(target_family = "wasm")'.dependencies]17
-macltok = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/macltok", rev = "038cc6faeb1429501e5cd06596b831bbd2044b92", features = ["indexeddb", "serde", "mirror"] }17
+macltok = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/macltok", rev = "417da9e719bcfbb8b60e4ff4f1a09f3d6b0d0160", features = ["indexeddb", "serde", "mirror"] }1818
malice-core = { path = "../malice-core" }1919
ruma = { version = "0.16", default-features = false }2020
futures-util = { version = "0.3", default-features = false, features = ["std"] }@@ -27,7 +27,7 @@ wasm-bindgen-futures = "=0.4.78"
2727
js-sys = "=0.3.105"2828
2929
[dev-dependencies]30
-matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false }30
+matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "ec026bc9ea2393fd0cce6212b950d91ab6d36097", default-features = false }3131
wasm-bindgen-test = "0.3"3232
web-sys = { version = "0.3", features = ["SharedWorkerGlobalScope"] }3333
gloo-timers = { version = "0.3", features = ["futures"] }@@ -719,7 +719,7 @@ export function parseTimelineItem(raw: unknown): TimelineItem | null {
719719
id: stringField(gap, 'id'),720720
older_boundary: optionalString(gap, 'older_boundary'),721721
newer_boundary: optionalString(gap, 'newer_boundary'),722
- lifecycle: lifecycle === 'Paused' || lifecycle === 'Failed' || lifecycle === 'Unavailable' ? lifecycle : 'Idle',722
+ lifecycle: isRecord(lifecycle) && 'Paused' in lifecycle ? 'Paused' : lifecycle === 'Failed' || lifecycle === 'Unavailable' ? lifecycle : 'Idle',723723
failure: optionalString(gap, 'failure')724724
}725725
};@@ -734,6 +734,15 @@ export function parseTimelineItem(raw: unknown): TimelineItem | null {
734734
return { kind: 'unknown', label: Object.keys(raw).join(', ') || 'item' };735735
}736736
737
+export function identifyTimelineItem(raw: unknown): string | null {738
+ if (!isRecord(raw)) return null;739
+ const event = raw['Event'];740
+ if (isRecord(event) && typeof event['item_id'] === 'string') return `e${event['item_id']}`;741
+ const gap = raw['HistoryGap'];742
+ if (isRecord(gap) && typeof gap['id'] === 'string') return `g${gap['id']}`;743
+ return null;744
+}745
+737746
export function parseTimelineList(raw: unknown): TimelineItem[] {738747
if (!Array.isArray(raw)) return [];739748
const out: TimelineItem[] = [];