Postbox -> TelegramEngine waves 27-36

Consumer-sweep, facade-addition, and Peer→EnginePeer migrations:

- Wave 27: preferencesView consumer sweep
- Wave 28: resourceData consumer sweep
- Wave 29: resourceStatus consumer sweep
- Wave 30: _asStatus() bridge cleanup
- Wave 31: unused-import sweep re-run
- Wave 32: resourceStatus residue sweep
- Wave 33: loadedPeerWithId consumer sweep
- Wave 34: FoundPeer.peer Peer -> EnginePeer
- Wave 35: SendAsPeer.peer Peer -> EnginePeer
- Wave 36: ContactListPeer.peer Peer -> EnginePeer

Also includes per-wave specs, implementation plans, outcome logs, and
a CLAUDE.md wave-counter update.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
isaac 2026-04-22 21:06:25 +04:00
parent 9187fbb6db
commit 8408e0ae19
130 changed files with 4696 additions and 524 deletions

View file

@ -44,7 +44,7 @@ private struct MessageContextMenuData {
let canPin: Bool
let canEdit: Bool
let canSelect: Bool
let resourceStatus: MediaResourceStatus?
let resourceStatus: EngineMediaResource.FetchStatus?
let messageActions: ChatAvailableMessageActions
}
@ -813,9 +813,9 @@ func contextMenuForChatPresentationInterfaceState(chatPresentationInterfaceState
|> map(Optional.init)
}
var loadResourceStatusSignal: Signal<MediaResourceStatus?, NoError> = .single(nil)
var loadResourceStatusSignal: Signal<EngineMediaResource.FetchStatus?, NoError> = .single(nil)
if let loadCopyMediaResource = loadCopyMediaResource {
loadResourceStatusSignal = context.account.postbox.mediaBox.resourceStatus(loadCopyMediaResource)
loadResourceStatusSignal = context.engine.resources.status(resource: EngineMediaResource(loadCopyMediaResource))
|> take(1)
|> map(Optional.init)
}