add invite blocking support plus msc4494 support

To accomplish this I also reworked how account data is stored and added a method to fetch capabilities, and another method to set account data
This commit is contained in:
Henry Hiles 2026-08-04 21:04:55 -04:00
commit f97c5548a3
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
11 changed files with 176 additions and 24 deletions

View file

@ -1,6 +1,5 @@
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:freezed_annotation/freezed_annotation.dart";
import "package:nexus/models/account_data.dart";
import "package:nexus/models/room.dart";
import "package:nexus/models/space_edge.dart";
part "sync_data.freezed.dart";
@ -10,7 +9,7 @@ part "sync_data.g.dart";
abstract class SyncData with _$SyncData {
const factory SyncData({
@Default(false) bool clearState,
@Default(IMap.empty()) IMap<String, AccountData> accountData,
@Default(IMap.empty()) IMap<String, IMap<String, dynamic>> accountData,
@Default(IMap.empty()) IMap<String, Room> rooms,
@Default(ISet.empty()) ISet<String> leftRooms,
// required IList<InvitedRoom> invitedRooms,