atagen

malice

public
Star0
Watch0

Commit 1eab2f11545d

tarball

atagen <boss@atagen.co>2026-10-25 02:41 UTC

8 files changed+37-25
core: update macltok for persistent mentions discovery
Modified file: Cargo.lock+12 additions−11 deletions
@@ -1935,7 +1935,7 @@ checksum = "4050469837a6ff301cd14c1f8f24f88549e6d548f24f64e2148eb0f72cebc51f"
19351935 [[package]]
19361936 name = "macltok"
19371937 version = "0.1.0"
1938-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/macltok?rev=89bc9f8d246d2a446218c05b78de187c2fdab6a0#89bc9f8d246d2a446218c05b78de187c2fdab6a0"
1938+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/macltok?rev=cbb715e119632f60c9b3ec1bc8803f1f33e39dce#cbb715e119632f60c9b3ec1bc8803f1f33e39dce"
19391939 dependencies = [
19401940 "futures-util",
19411941 "getrandom 0.2.17",
@@ -1951,6 +1951,7 @@ dependencies = [
19511951 "mime",
19521952 "reqwest",
19531953 "ruma",
1954+ "rusqlite",
19541955 "serde",
19551956 "serde_json",
19561957 "sha2",
@@ -2165,7 +2166,7 @@ dependencies = [
21652166 [[package]]
21662167 name = "matrix-sdk"
21672168 version = "0.18.0"
2168-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2169+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
21692170 dependencies = [
21702171 "anymap2",
21712172 "aquamarine",
@@ -2228,7 +2229,7 @@ dependencies = [
22282229 [[package]]
22292230 name = "matrix-sdk-base"
22302231 version = "0.18.0"
2231-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2232+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
22322233 dependencies = [
22332234 "as_variant",
22342235 "assert_matches",
@@ -2258,7 +2259,7 @@ dependencies = [
22582259 [[package]]
22592260 name = "matrix-sdk-common"
22602261 version = "0.18.0"
2261-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2262+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
22622263 dependencies = [
22632264 "eyeball-im",
22642265 "futures-core",
@@ -2281,7 +2282,7 @@ dependencies = [
22812282 [[package]]
22822283 name = "matrix-sdk-crypto"
22832284 version = "0.18.0"
2284-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2285+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
22852286 dependencies = [
22862287 "aes",
22872288 "aquamarine",
@@ -2322,7 +2323,7 @@ dependencies = [
23222323 [[package]]
23232324 name = "matrix-sdk-indexeddb"
23242325 version = "0.18.0"
2325-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2326+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
23262327 dependencies = [
23272328 "async-trait",
23282329 "base64 0.22.1",
@@ -2353,7 +2354,7 @@ dependencies = [
23532354 [[package]]
23542355 name = "matrix-sdk-sqlite"
23552356 version = "0.18.0"
2356-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2357+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
23572358 dependencies = [
23582359 "as_variant",
23592360 "async-trait",
@@ -2380,7 +2381,7 @@ dependencies = [
23802381 [[package]]
23812382 name = "matrix-sdk-store-encryption"
23822383 version = "0.18.0"
2383-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2384+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
23842385 dependencies = [
23852386 "base64 0.22.1",
23862387 "blake3",
@@ -2401,7 +2402,7 @@ dependencies = [
24012402 [[package]]
24022403 name = "matrix-sdk-test"
24032404 version = "0.18.0"
2404-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2405+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
24052406 dependencies = [
24062407 "as_variant",
24072408 "ctor",
@@ -2424,7 +2425,7 @@ dependencies = [
24242425 [[package]]
24252426 name = "matrix-sdk-test-macros"
24262427 version = "0.18.0"
2427-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2428+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
24282429 dependencies = [
24292430 "quote",
24302431 "syn 2.0.119",
@@ -2433,7 +2434,7 @@ dependencies = [
24332434 [[package]]
24342435 name = "matrix-sdk-ui"
24352436 version = "0.18.0"
2436-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2437+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
24372438 dependencies = [
24382439 "as_variant",
24392440 "async-rx",
Modified file: Cargo.toml+1 additions−1 deletions
@@ -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 = "89bc9f8d246d2a446218c05b78de187c2fdab6a0" }
6+macltok = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/macltok", rev = "cbb715e119632f60c9b3ec1bc8803f1f33e39dce" }
77 ruma = { version = "0.16", default-features = false }
88 serde = { version = "1", features = ["derive"] }
99 serde_json = "1"
Modified file: crates/malice-core/src/feed.rs+11 additions−2 deletions
@@ -2,8 +2,9 @@ use std::collections::HashMap;
22
33 use futures_util::{Stream, StreamExt, stream};
44 use macltok::{
5- ConnectionState, EncryptionState, ImagePacks, MirrorHandle, RoomSummary, SessionStatus, State,
6- StateChange, TimelineChange, TimelineId, TimelineItem, UploadOutcome, VerificationState,
5+ ConnectionState, EncryptionState, ImagePacks, MentionsPage, MentionsUpdate, MirrorHandle,
6+ RoomSummary, SessionStatus, State, StateChange, TimelineChange, TimelineId, TimelineItem,
7+ UploadOutcome, VerificationState,
78 imbl::Vector,
89 };
910 use serde::Serialize;
@@ -19,6 +20,10 @@ pub enum WireEvent {
1920 encryption: Option<EncryptionState>,
2021 verification: Option<VerificationState>,
2122 image_packs: ImagePacks,
23+ mentions: Option<MentionsPage>,
24+ },
25+ Mentions {
26+ update: MentionsUpdate,
2227 },
2328 ImagePacks {
2429 packs: ImagePacks,
@@ -110,6 +115,7 @@ pub fn snapshot_event(state: &State) -> WireEvent {
110115 encryption: state.encryption.clone(),
111116 verification: state.verification.clone(),
112117 image_packs: state.image_packs.clone(),
118+ mentions: state.mentions.clone(),
113119 }
114120 }
115121
@@ -176,6 +182,9 @@ pub fn wire_events(change: &StateChange) -> Vec<WireEvent> {
176182 StateChange::ImagePacks(packs) => vec![WireEvent::ImagePacks {
177183 packs: packs.clone(),
178184 }],
185+ StateChange::Mentions(update) => vec![WireEvent::Mentions {
186+ update: update.clone(),
187+ }],
179188 StateChange::Failed(failure) => vec![error(&failure.message)],
180189 StateChange::SessionSaveFailed(_) => {
181190 vec![error(
Modified file: crates/malice-server/Cargo.toml+1 additions−1 deletions
@@ -31,7 +31,7 @@ tracing-subscriber = { version = "0.3", features = ["env-filter"] }
3131 [dev-dependencies]
3232 http-body-util = "0.1"
3333 tower = { version = "0.5", features = ["util"] }
34-matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "cc2b13ea185c0f694523a3a48d8aadfe366dd767", default-features = false, features = ["testing"] }
34+matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "7aace883fbe03d4c3c118b55188fe9519ba8ce48", default-features = false, features = ["testing"] }
3535 reqwest = { version = "0.13", default-features = false, features = ["json", "query", "rustls"] }
3636 tempfile = "3"
3737 wiremock = "0.6"
Modified file: crates/malice-server/src/state.rs+1 additions
@@ -404,6 +404,7 @@ async fn wait_authenticated(mirror: &MirrorHandle) -> Option<String> {
404404 | StateChange::Encryption(_)
405405 | StateChange::Verification(_)
406406 | StateChange::VerificationTarget(_)
407+ | StateChange::Mentions(_)
407408 | StateChange::NotificationSettings
408409 | StateChange::Rooms(_)
409410 | StateChange::ImagePacks(_)
Modified file: crates/malice-worker/Cargo.lock+9 additions−9 deletions
@@ -1722,7 +1722,7 @@ checksum = "4050469837a6ff301cd14c1f8f24f88549e6d548f24f64e2148eb0f72cebc51f"
17221722 [[package]]
17231723 name = "macltok"
17241724 version = "0.1.0"
1725-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/macltok?rev=89bc9f8d246d2a446218c05b78de187c2fdab6a0#89bc9f8d246d2a446218c05b78de187c2fdab6a0"
1725+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/macltok?rev=cbb715e119632f60c9b3ec1bc8803f1f33e39dce#cbb715e119632f60c9b3ec1bc8803f1f33e39dce"
17261726 dependencies = [
17271727 "futures-util",
17281728 "getrandom 0.2.17",
@@ -1928,7 +1928,7 @@ dependencies = [
19281928 [[package]]
19291929 name = "matrix-sdk"
19301930 version = "0.18.0"
1931-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
1931+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
19321932 dependencies = [
19331933 "anymap2",
19341934 "aquamarine",
@@ -1988,7 +1988,7 @@ dependencies = [
19881988 [[package]]
19891989 name = "matrix-sdk-base"
19901990 version = "0.18.0"
1991-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
1991+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
19921992 dependencies = [
19931993 "as_variant",
19941994 "async-trait",
@@ -2014,7 +2014,7 @@ dependencies = [
20142014 [[package]]
20152015 name = "matrix-sdk-common"
20162016 version = "0.18.0"
2017-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2017+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
20182018 dependencies = [
20192019 "eyeball-im",
20202020 "futures-core",
@@ -2037,7 +2037,7 @@ dependencies = [
20372037 [[package]]
20382038 name = "matrix-sdk-crypto"
20392039 version = "0.18.0"
2040-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2040+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
20412041 dependencies = [
20422042 "aes",
20432043 "aquamarine",
@@ -2077,7 +2077,7 @@ dependencies = [
20772077 [[package]]
20782078 name = "matrix-sdk-indexeddb"
20792079 version = "0.18.0"
2080-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2080+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
20812081 dependencies = [
20822082 "async-trait",
20832083 "base64 0.22.1",
@@ -2109,7 +2109,7 @@ dependencies = [
21092109 [[package]]
21102110 name = "matrix-sdk-sqlite"
21112111 version = "0.18.0"
2112-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2112+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
21132113 dependencies = [
21142114 "as_variant",
21152115 "async-trait",
@@ -2136,7 +2136,7 @@ dependencies = [
21362136 [[package]]
21372137 name = "matrix-sdk-store-encryption"
21382138 version = "0.18.0"
2139-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2139+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
21402140 dependencies = [
21412141 "base64 0.22.1",
21422142 "blake3",
@@ -2157,7 +2157,7 @@ dependencies = [
21572157 [[package]]
21582158 name = "matrix-sdk-ui"
21592159 version = "0.18.0"
2160-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=cc2b13ea185c0f694523a3a48d8aadfe366dd767#cc2b13ea185c0f694523a3a48d8aadfe366dd767"
2160+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
21612161 dependencies = [
21622162 "as_variant",
21632163 "async-rx",
Modified file: crates/malice-worker/Cargo.toml+1 additions−1 deletions
@@ -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 = "89bc9f8d246d2a446218c05b78de187c2fdab6a0", features = ["indexeddb", "serde", "mirror"] }
17+macltok = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/macltok", rev = "cbb715e119632f60c9b3ec1bc8803f1f33e39dce", 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"] }
Modified file: crates/malice-worker/src/account.rs+1 additions
@@ -105,6 +105,7 @@ async fn wait_authenticated(mirror: &MirrorHandle) -> Option<String> {
105105 | StateChange::Encryption(_)
106106 | StateChange::Verification(_)
107107 | StateChange::VerificationTarget(_)
108+ | StateChange::Mentions(_)
108109 | StateChange::NotificationSettings
109110 | StateChange::Rooms(_)
110111 | StateChange::ImagePacks(_)