server switcher is broken

This commit is contained in:
Ian Gulliver
2026-10-19 09:51:42 -07:00
parent 6382dfda0e
commit 55fea11fab
3 changed files with 49 additions and 18 deletions
+7 -5
View File
@@ -60,7 +60,7 @@ final class Store {
var todoBusy: [String: String] = [:]
var pickedMembers: [String: String] = [:]
private(set) var drafts: Drafts?
let images = ImageDrafts()
let images: ImageDrafts
let imageCache = ImageCache()
let events = Listeners<ByreEvent>()
let paneFocus: PaneFocus
@@ -74,8 +74,9 @@ final class Store {
@ObservationIgnored private var stopped = false
@ObservationIgnored var changesMemory = ChangesMemory()
init(api: API) {
init(api: API, images: ImageDrafts) {
self.api = api
self.images = images
leadFeed = Feed(shown: { true })
paneFocus = PaneFocus(api: api)
remote = Remote(api: api)
@@ -90,8 +91,8 @@ final class Store {
await paneFocus.leave()
}
func loadDrafts() {
drafts = Drafts(origin: api.origin, login: me!.login)
func loadDrafts(from old: Store?) {
drafts = old?.drafts ?? Drafts(origin: api.origin, login: me!.login)
drafts!.prune(self)
}
@@ -565,13 +566,14 @@ final class Store {
})
}
func startGlobalStream(after: Int64) {
func startGlobalStream(after: Int64, reconnected: @escaping () -> Void) {
globalStream = EventStream(api: api, after: after, lead: false, onEvent: { [weak self] ev in
self?.handleEvent(ev)
}, onState: { [weak self] up in
self?.connected = up
if up {
self?.paneFocus.reconnected()
reconnected()
}
}, onReady: {})
}