atagen

malice

public
Star0
Watch0

Commit f40cf95cc4fe

tarball

atagen <boss@atagen.co>2026-10-25 03:32 UTC

10 files changed+110-31
history: expose bounded timeline repair from macltok
Modified file: Cargo.lock+11 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=cbb715e119632f60c9b3ec1bc8803f1f33e39dce#cbb715e119632f60c9b3ec1bc8803f1f33e39dce"
1938+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/macltok?rev=80381e06a573f253c11a8b4c89366a9aa299ca55#80381e06a573f253c11a8b4c89366a9aa299ca55"
19391939 dependencies = [
19401940 "futures-util",
19411941 "getrandom 0.2.17",
@@ -2166,7 +2166,7 @@ dependencies = [
21662166 [[package]]
21672167 name = "matrix-sdk"
21682168 version = "0.18.0"
2169-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2169+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
21702170 dependencies = [
21712171 "anymap2",
21722172 "aquamarine",
@@ -2229,7 +2229,7 @@ dependencies = [
22292229 [[package]]
22302230 name = "matrix-sdk-base"
22312231 version = "0.18.0"
2232-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2232+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
22332233 dependencies = [
22342234 "as_variant",
22352235 "assert_matches",
@@ -2259,7 +2259,7 @@ dependencies = [
22592259 [[package]]
22602260 name = "matrix-sdk-common"
22612261 version = "0.18.0"
2262-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2262+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
22632263 dependencies = [
22642264 "eyeball-im",
22652265 "futures-core",
@@ -2282,7 +2282,7 @@ dependencies = [
22822282 [[package]]
22832283 name = "matrix-sdk-crypto"
22842284 version = "0.18.0"
2285-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2285+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
22862286 dependencies = [
22872287 "aes",
22882288 "aquamarine",
@@ -2323,7 +2323,7 @@ dependencies = [
23232323 [[package]]
23242324 name = "matrix-sdk-indexeddb"
23252325 version = "0.18.0"
2326-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2326+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
23272327 dependencies = [
23282328 "async-trait",
23292329 "base64 0.22.1",
@@ -2354,7 +2354,7 @@ dependencies = [
23542354 [[package]]
23552355 name = "matrix-sdk-sqlite"
23562356 version = "0.18.0"
2357-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2357+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
23582358 dependencies = [
23592359 "as_variant",
23602360 "async-trait",
@@ -2381,7 +2381,7 @@ dependencies = [
23812381 [[package]]
23822382 name = "matrix-sdk-store-encryption"
23832383 version = "0.18.0"
2384-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2384+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
23852385 dependencies = [
23862386 "base64 0.22.1",
23872387 "blake3",
@@ -2402,7 +2402,7 @@ dependencies = [
24022402 [[package]]
24032403 name = "matrix-sdk-test"
24042404 version = "0.18.0"
2405-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2405+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
24062406 dependencies = [
24072407 "as_variant",
24082408 "ctor",
@@ -2425,7 +2425,7 @@ dependencies = [
24252425 [[package]]
24262426 name = "matrix-sdk-test-macros"
24272427 version = "0.18.0"
2428-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2428+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
24292429 dependencies = [
24302430 "quote",
24312431 "syn 2.0.119",
@@ -2434,7 +2434,7 @@ dependencies = [
24342434 [[package]]
24352435 name = "matrix-sdk-ui"
24362436 version = "0.18.0"
2437-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2437+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
24382438 dependencies = [
24392439 "as_variant",
24402440 "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 = "cbb715e119632f60c9b3ec1bc8803f1f33e39dce" }
6+macltok = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/macltok", rev = "80381e06a573f253c11a8b4c89366a9aa299ca55" }
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+15 additions−4 deletions
@@ -2,10 +2,9 @@ use std::collections::HashMap;
22
33 use futures_util::{Stream, StreamExt, stream};
44 use macltok::{
5- ConnectionState, EncryptionState, ImagePacks, MentionsPage, MentionsUpdate, MirrorHandle,
6- RoomSummary, SessionStatus, State, StateChange, TimelineChange, TimelineId, TimelineItem,
7- UploadOutcome, VerificationState,
8- imbl::Vector,
5+ ConnectionState, EncryptionState, HistoryRepairReport, ImagePacks, MentionsPage,
6+ MentionsUpdate, MirrorHandle, RoomSummary, SessionStatus, State, StateChange, TimelineChange,
7+ TimelineId, TimelineItem, UploadOutcome, VerificationState, imbl::Vector,
98 };
109 use serde::Serialize;
1110
@@ -21,10 +20,14 @@ pub enum WireEvent {
2120 verification: Option<VerificationState>,
2221 image_packs: ImagePacks,
2322 mentions: Option<MentionsPage>,
23+ repairs: HashMap<String, HistoryRepairReport>,
2424 },
2525 Mentions {
2626 update: MentionsUpdate,
2727 },
28+ HistoryRepair {
29+ report: HistoryRepairReport,
30+ },
2831 ImagePacks {
2932 packs: ImagePacks,
3033 },
@@ -116,6 +119,11 @@ pub fn snapshot_event(state: &State) -> WireEvent {
116119 verification: state.verification.clone(),
117120 image_packs: state.image_packs.clone(),
118121 mentions: state.mentions.clone(),
122+ repairs: state
123+ .repairs
124+ .iter()
125+ .map(|(room_id, report)| (room_id.as_str().to_owned(), report.clone()))
126+ .collect(),
119127 }
120128 }
121129
@@ -185,6 +193,9 @@ pub fn wire_events(change: &StateChange) -> Vec<WireEvent> {
185193 StateChange::Mentions(update) => vec![WireEvent::Mentions {
186194 update: update.clone(),
187195 }],
196+ StateChange::HistoryRepair(report) => vec![WireEvent::HistoryRepair {
197+ report: report.clone(),
198+ }],
188199 StateChange::Failed(failure) => vec![error(&failure.message)],
189200 StateChange::SessionSaveFailed(_) => {
190201 vec![error(
Modified file: crates/malice-core/src/request.rs+61 additions−3 deletions
@@ -1,8 +1,9 @@
11 use macltok::ruma::{events::GlobalAccountDataEventType, serde::Raw};
22 use macltok::{
3- AttachmentUpload, ClientHandle, CreateRoomOptions, ImagePackSource, MediaId, MediaSize,
4- MemberFilter, MentionKey, MentionsBoundary, MessageContent, MessageEditContent, MirrorHandle,
5- PackImageInfo, PackUsage, Patch, RichText, TimelineId, VerificationAction, VerificationTarget,
3+ AttachmentUpload, ClientHandle, CreateRoomOptions, HistoryRepairBudget, HistoryRepairPolicy,
4+ ImagePackSource, MediaId, MediaSize, MemberFilter, MentionKey, MentionsBoundary,
5+ MessageContent, MessageEditContent, MirrorHandle, PackImageInfo, PackUsage, Patch, RichText,
6+ TimelineId, VerificationAction, VerificationTarget,
67 };
78 use serde::Deserialize;
89 use serde_json::json;
@@ -77,6 +78,28 @@ pub enum Request {
7778 #[serde(default)]
7879 room_id: String,
7980 },
81+ HistoryRepair {
82+ room_id: String,
83+ #[serde(default)]
84+ policy: Option<HistoryRepairPolicy>,
85+ #[serde(default)]
86+ budget: HistoryRepairBudget,
87+ },
88+ ContinueHistoryRepair {
89+ room_id: String,
90+ #[serde(default)]
91+ budget: HistoryRepairBudget,
92+ },
93+ CancelHistoryRepair {
94+ room_id: String,
95+ },
96+ StartRecentHistory {
97+ room_id: String,
98+ },
99+ HistoryRepairPolicy,
100+ SetHistoryRepairPolicy {
101+ policy: HistoryRepairPolicy,
102+ },
80103 EventContext {
81104 #[serde(default)]
82105 room_id: String,
@@ -529,6 +552,41 @@ pub async fn dispatch(
529552 handle.paginate(TimelineId::Room(room_id), 30).await?;
530553 Ok(Reply::Done)
531554 }
555+ Request::HistoryRepair {
556+ room_id,
557+ policy,
558+ budget,
559+ } => {
560+ let report = handle
561+ .history_repair(parse_room_id(&room_id)?, policy, budget)
562+ .await?;
563+ Ok(Reply::Json(json!(report)))
564+ }
565+ Request::ContinueHistoryRepair { room_id, budget } => {
566+ let report = handle
567+ .continue_history_repair(parse_room_id(&room_id)?, budget)
568+ .await?;
569+ Ok(Reply::Json(json!(report)))
570+ }
571+ Request::CancelHistoryRepair { room_id } => {
572+ handle
573+ .cancel_history_repair(parse_room_id(&room_id)?)
574+ .await?;
575+ Ok(Reply::Done)
576+ }
577+ Request::StartRecentHistory { room_id } => {
578+ let report = handle
579+ .start_recent_history(parse_room_id(&room_id)?)
580+ .await?;
581+ Ok(Reply::Json(json!(report)))
582+ }
583+ Request::HistoryRepairPolicy => {
584+ Ok(Reply::Json(json!(handle.history_repair_policy().await?)))
585+ }
586+ Request::SetHistoryRepairPolicy { policy } => {
587+ handle.set_history_repair_policy(policy).await?;
588+ Ok(Reply::Done)
589+ }
532590 Request::EventContext {
533591 room_id,
534592 event_id,
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 = "7aace883fbe03d4c3c118b55188fe9519ba8ce48", default-features = false, features = ["testing"] }
34+matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "9b9b16982dcab5dd499547bb87e121b9d0cba6b5", 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/routes.rs+6 additions
@@ -560,6 +560,12 @@ async fn post_command(
560560 | Request::SetMentionsRead { .. }
561561 | Request::MarkMentionsReadThrough { .. }
562562 | Request::RecoverMentions
563+ | Request::HistoryRepair { .. }
564+ | Request::ContinueHistoryRepair { .. }
565+ | Request::CancelHistoryRepair { .. }
566+ | Request::StartRecentHistory { .. }
567+ | Request::HistoryRepairPolicy
568+ | Request::SetHistoryRepairPolicy { .. }
563569 | Request::Kick { .. }
564570 | Request::Ban { .. }
565571 | Request::Unban { .. }
Modified file: crates/malice-server/src/state.rs+2 additions−1 deletions
@@ -404,12 +404,13 @@ async fn wait_authenticated(mirror: &MirrorHandle) -> Option<String> {
404404 | StateChange::Encryption(_)
405405 | StateChange::Verification(_)
406406 | StateChange::VerificationTarget(_)
407- | StateChange::Mentions(_)
407+ | StateChange::Mentions(_)
408408 | StateChange::NotificationSettings
409409 | StateChange::Rooms(_)
410410 | StateChange::ImagePacks(_)
411411 | StateChange::Timeline { .. }
412412 | StateChange::History { .. }
413+ | StateChange::HistoryRepair(_)
413414 | StateChange::Typing(_)
414415 | StateChange::Upload { .. }
415416 | StateChange::UploadFinished { .. }
Modified file: crates/malice-worker/Cargo.lock+10 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=cbb715e119632f60c9b3ec1bc8803f1f33e39dce#cbb715e119632f60c9b3ec1bc8803f1f33e39dce"
1725+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/macltok?rev=80381e06a573f253c11a8b4c89366a9aa299ca55#80381e06a573f253c11a8b4c89366a9aa299ca55"
17261726 dependencies = [
17271727 "futures-util",
17281728 "getrandom 0.2.17",
@@ -1869,6 +1869,7 @@ dependencies = [
18691869 "js-sys",
18701870 "macltok",
18711871 "malice-core",
1872+ "matrix-sdk",
18721873 "ruma",
18731874 "serde_json",
18741875 "wasm-bindgen",
@@ -1928,7 +1929,7 @@ dependencies = [
19281929 [[package]]
19291930 name = "matrix-sdk"
19301931 version = "0.18.0"
1931-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
1932+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
19321933 dependencies = [
19331934 "anymap2",
19341935 "aquamarine",
@@ -1988,7 +1989,7 @@ dependencies = [
19881989 [[package]]
19891990 name = "matrix-sdk-base"
19901991 version = "0.18.0"
1991-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
1992+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
19921993 dependencies = [
19931994 "as_variant",
19941995 "async-trait",
@@ -2014,7 +2015,7 @@ dependencies = [
20142015 [[package]]
20152016 name = "matrix-sdk-common"
20162017 version = "0.18.0"
2017-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2018+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
20182019 dependencies = [
20192020 "eyeball-im",
20202021 "futures-core",
@@ -2037,7 +2038,7 @@ dependencies = [
20372038 [[package]]
20382039 name = "matrix-sdk-crypto"
20392040 version = "0.18.0"
2040-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2041+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
20412042 dependencies = [
20422043 "aes",
20432044 "aquamarine",
@@ -2077,7 +2078,7 @@ dependencies = [
20772078 [[package]]
20782079 name = "matrix-sdk-indexeddb"
20792080 version = "0.18.0"
2080-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2081+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
20812082 dependencies = [
20822083 "async-trait",
20832084 "base64 0.22.1",
@@ -2109,7 +2110,7 @@ dependencies = [
21092110 [[package]]
21102111 name = "matrix-sdk-sqlite"
21112112 version = "0.18.0"
2112-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2113+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
21132114 dependencies = [
21142115 "as_variant",
21152116 "async-trait",
@@ -2136,7 +2137,7 @@ dependencies = [
21362137 [[package]]
21372138 name = "matrix-sdk-store-encryption"
21382139 version = "0.18.0"
2139-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2140+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
21402141 dependencies = [
21412142 "base64 0.22.1",
21422143 "blake3",
@@ -2157,7 +2158,7 @@ dependencies = [
21572158 [[package]]
21582159 name = "matrix-sdk-ui"
21592160 version = "0.18.0"
2160-source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=7aace883fbe03d4c3c118b55188fe9519ba8ce48#7aace883fbe03d4c3c118b55188fe9519ba8ce48"
2161+source = "git+ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk?rev=9b9b16982dcab5dd499547bb87e121b9d0cba6b5#9b9b16982dcab5dd499547bb87e121b9d0cba6b5"
21612162 dependencies = [
21622163 "as_variant",
21632164 "async-rx",
Modified file: crates/malice-worker/Cargo.toml+2 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 = "cbb715e119632f60c9b3ec1bc8803f1f33e39dce", features = ["indexeddb", "serde", "mirror"] }
17+macltok = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/macltok", rev = "80381e06a573f253c11a8b4c89366a9aa299ca55", 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,6 +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 = "9b9b16982dcab5dd499547bb87e121b9d0cba6b5", default-features = false }
3031 wasm-bindgen-test = "0.3"
3132 web-sys = { version = "0.3", features = ["SharedWorkerGlobalScope"] }
3233 gloo-timers = { version = "0.3", features = ["futures"] }
Modified file: crates/malice-worker/src/account.rs+1 additions
@@ -111,6 +111,7 @@ async fn wait_authenticated(mirror: &MirrorHandle) -> Option<String> {
111111 | StateChange::ImagePacks(_)
112112 | StateChange::Timeline { .. }
113113 | StateChange::History { .. }
114+ | StateChange::HistoryRepair(_)
114115 | StateChange::Typing(_)
115116 | StateChange::Upload { .. }
116117 | StateChange::UploadFinished { .. }