diff --git a/CLAUDE.md b/CLAUDE.md index 3acd4a0c45..d3dc959662 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -41,7 +41,7 @@ A gradual migration is underway to eliminate direct `import Postbox` from consum **Historical record:** Wave-by-wave outcomes, the running tally of Postbox-free modules, and full verbose forms of the guidance subsections below live in [`docs/superpowers/postbox-refactor-log.md`](docs/superpowers/postbox-refactor-log.md). Read that file when you need wave-specific context, a full worked example of a pattern, or the history of a particular module's migration. -Waves landed so far (as of 2026-04-24): 45 waves plus standalone cleanups. See the log file for per-wave detail; the list of still-open migration opportunities lives in the `project_postbox_refactor_next_wave.md` memory file. +Waves landed so far (as of 2026-05-02): 137 waves plus standalone cleanups. See the log file for per-wave detail; the list of still-open migration opportunities lives in the `project_postbox_refactor_next_wave.md` memory file. ### Rules that apply to every wave @@ -74,6 +74,7 @@ AdaptedPostboxDecoder → EngineAdaptedPostboxDecoder (added 2026-04) ItemCollectionId → EngineItemCollectionId (added 2026-04-20) FetchResourceSourceType → EngineFetchResourceSourceType (added 2026-04-20) FetchResourceError → EngineFetchResourceError (added 2026-04-20) +StoryId → EngineStoryId (added 2026-05-02) ``` For the `MediaResource` Postbox protocol, prefer the TelegramCore subtype `TelegramMediaResource` when the consumer's usage allows (note: `EngineMediaResource` is a wrapper **class**, not a typealias, so it is not interchangeable with the protocol). diff --git a/docs/superpowers/plans/2026-05-02-link-highlighting-modern-path-fixes.md b/docs/superpowers/plans/2026-05-02-link-highlighting-modern-path-fixes.md deleted file mode 100644 index 65af342374..0000000000 --- a/docs/superpowers/plans/2026-05-02-link-highlighting-modern-path-fixes.md +++ /dev/null @@ -1,217 +0,0 @@ -# Modern Path Link-Highlighting Fixes Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Fix two correctness bugs in `LinkHighlightingNode`'s modern path branch — issue #3 (X-edge snap unreachable after midY snap) and issue #7 (zero-radius arcs from `floor` rounding). - -**Architecture:** Two single-token edits in `submodules/Display/Source/LinkHighlightingNode.swift`, each landed as its own commit. Final validation by full project build (no unit tests in this repo per CLAUDE.md). - -**Tech Stack:** Swift, Bazel via `Make.py`, iOS simulator (`debug_sim_arm64`). - -**Spec:** `docs/superpowers/specs/2026-05-02-link-highlighting-modern-path-fixes-design.md` - ---- - -## File map - -- Modify: `submodules/Display/Source/LinkHighlightingNode.swift` — two single-line edits inside the `useModernPathCalculation` branch of `drawRectsImageContent`. No new files, no signature changes, no callers affected. - ---- - -## Task 1: Fix issue #3 — X-edge snap inset direction - -The X-snap guard currently uses `insetBy(dx: 0.0, dy: 1.0)`, which *shrinks* `rects[i]` by 1 px on each Y edge. After the preceding midY snap, `rects[i].maxY == rects[i+1].minY`; shrinking then makes them not intersect (`CGRect.intersects` requires positive-area overlap), so the guard is unreachable for the canonical multi-line link case. The fix is to flip the direction so the rect *grows*, producing the 1-px overlap the guard needs. - -**Files:** -- Modify: `submodules/Display/Source/LinkHighlightingNode.swift:85` - -- [ ] **Step 1: Inspect the target line** - -Run: -```bash -sed -n '85p' submodules/Display/Source/LinkHighlightingNode.swift -``` - -Expected: -``` - if rects[i].maxY >= rects[i + 1].minY && rects[i].insetBy(dx: 0.0, dy: 1.0).intersects(rects[i + 1]) { -``` - -If the line content differs, stop and re-read the file — line numbers may have shifted. - -- [ ] **Step 2: Apply the edit** - -In `submodules/Display/Source/LinkHighlightingNode.swift`, replace the X-snap guard with a negative-dy inset so the temp rect grows by 1 px on each Y edge: - -```swift - if rects[i].maxY >= rects[i + 1].minY && rects[i].insetBy(dx: 0.0, dy: -1.0).intersects(rects[i + 1]) { -``` - -The change is a single character: `dy: 1.0` → `dy: -1.0`. No other lines change. - -- [ ] **Step 3: Verify the change** - -Run: -```bash -sed -n '85p' submodules/Display/Source/LinkHighlightingNode.swift -``` - -Expected: -``` - if rects[i].maxY >= rects[i + 1].minY && rects[i].insetBy(dx: 0.0, dy: -1.0).intersects(rects[i + 1]) { -``` - -- [ ] **Step 4: Commit** - -```bash -git add submodules/Display/Source/LinkHighlightingNode.swift -git commit -m "$(cat <<'EOF' -LinkHighlightingNode: fix X-edge snap unreachable after midY snap - -In drawRectsImageContent's modern path the snap loop runs midY -trimming first, leaving rects[i].maxY == rects[i+1].minY for -adjacent line rects. The X-edge snap guard then evaluated -rects[i].insetBy(dx: 0.0, dy: 1.0).intersects(rects[i+1]) — but -positive dy shrinks the rect, so after the trim the guarded -rectangle no longer intersects its neighbor (CGRect.intersects -requires positive-area overlap). Flip dy to -1.0 so the temp -rect grows and touching neighbors satisfy the guard. - -Co-Authored-By: Claude Opus 4.7 (1M context) -EOF -)" -``` - ---- - -## Task 2: Fix issue #7 — replace `floor` with `ceil` in nextRadius/prevRadius - -`nextRadius` (line 127) and `prevRadius` (line 154) compute the corner-fillet radius for stair-step joins between adjacent line rects: `min(outerRadius, floor(abs(...) * 0.5))`. When `|Δx| < 2`, `floor` produces 0 and the subsequent `addArc(... radius: 0)` is a no-op (the corner stays unsmoothed). After Task 1's fix, the X-snap will catch most `|Δx| < 2` cases — but residual fractional-pixel deltas can still hit floor=0. Switching to `ceil` clamps any non-zero gap up to ≥ 1 px, which is what the corner needs visually. Subpixel `Δx == 0` is not affected because the `else` branch at lines 124 and 151 handles exact equality with a straight `addLine`. - -**Files:** -- Modify: `submodules/Display/Source/LinkHighlightingNode.swift:127` -- Modify: `submodules/Display/Source/LinkHighlightingNode.swift:154` - -- [ ] **Step 1: Inspect both target lines** - -Run: -```bash -sed -n '127p;154p' submodules/Display/Source/LinkHighlightingNode.swift -``` - -Expected: -``` - let nextRadius = min(outerRadius, floor(abs(rect.maxX - next.maxX) * 0.5)) - let prevRadius = min(outerRadius, floor(abs(rect.minX - prev.minX) * 0.5)) -``` - -If either line content differs, stop and re-read the file. - -- [ ] **Step 2: Apply edit on line 127** - -In `submodules/Display/Source/LinkHighlightingNode.swift`, change: -```swift - let nextRadius = min(outerRadius, floor(abs(rect.maxX - next.maxX) * 0.5)) -``` -to: -```swift - let nextRadius = min(outerRadius, ceil(abs(rect.maxX - next.maxX) * 0.5)) -``` - -- [ ] **Step 3: Apply edit on line 154** - -In the same file, change: -```swift - let prevRadius = min(outerRadius, floor(abs(rect.minX - prev.minX) * 0.5)) -``` -to: -```swift - let prevRadius = min(outerRadius, ceil(abs(rect.minX - prev.minX) * 0.5)) -``` - -- [ ] **Step 4: Verify both changes** - -Run: -```bash -sed -n '127p;154p' submodules/Display/Source/LinkHighlightingNode.swift -``` - -Expected: -``` - let nextRadius = min(outerRadius, ceil(abs(rect.maxX - next.maxX) * 0.5)) - let prevRadius = min(outerRadius, ceil(abs(rect.minX - prev.minX) * 0.5)) -``` - -- [ ] **Step 5: Confirm no other `floor(abs(` patterns remain in the modern branch** - -Run: -```bash -grep -n "floor(abs(" submodules/Display/Source/LinkHighlightingNode.swift -``` - -Expected: no matches (the only remaining `floor` should be on line 79, the midY snap, which is intentional). - -- [ ] **Step 6: Commit** - -```bash -git add submodules/Display/Source/LinkHighlightingNode.swift -git commit -m "$(cat <<'EOF' -LinkHighlightingNode: ceil instead of floor for stair-step radii - -drawRectsImageContent's modern path computed nextRadius and -prevRadius as min(outerRadius, floor(|Δx| * 0.5)). When |Δx| < 2 -the floor produces 0 and the addArc call becomes a no-op, -leaving an unsmoothed corner at the stair-step. Replace floor -with ceil so any non-zero edge mismatch rounds up to at least -1 px. Exact-equality cases (Δx == 0) are unaffected — they take -the else branch with a straight addLine. - -Co-Authored-By: Claude Opus 4.7 (1M context) -EOF -)" -``` - ---- - -## Task 3: Validate with full project build - -The Display module (and most of the chat UI submodules) depend on `LinkHighlightingNode.swift`, so a clean build of the umbrella `Telegram/Telegram` target validates that the edits are syntactically and semantically valid. There are no unit tests in this repo. CLAUDE.md notes that `TELEGRAM_CODESIGNING_GIT_PASSWORD` lives in `~/.zshrc` and must be sourced explicitly because Bash here doesn't read shell config. - -**Files:** -- None (build-only validation). - -- [ ] **Step 1: Run full project build** - -Run from the repo root: -```bash -source ~/.zshrc 2>/dev/null; python3 build-system/Make/Make.py --overrideXcodeVersion \ - --cacheDir ~/telegram-bazel-cache \ - build \ - --configurationPath build-system/appstore-configuration.json \ - --gitCodesigningRepository git@gitlab.com:peter-iakovlev/fastlanematch.git \ - --gitCodesigningType development --gitCodesigningUseCurrent --buildNumber=1 --configuration=debug_sim_arm64 -``` - -Expected: build succeeds (exit code 0). The build is multi-minute; tail the output and confirm completion. - -- [ ] **Step 2: If build fails** - -If the build fails on `LinkHighlightingNode.swift`: -- A failure on line 85 means the inset edit was malformed — re-check the syntax. -- A failure on lines 127 or 154 means the `floor → ceil` swap introduced a typo. -- A failure elsewhere is unrelated to these edits — investigate before continuing. - -If the failure is on `LinkHighlightingNode.swift`, revert the failing commit (`git reset --hard HEAD~1`), re-apply the edit using the `Edit` tool with exact matching strings, and rerun the build. - -- [ ] **Step 3: Visual check (manual, optional)** - -If the simulator is launched, send a chat message with a long URL that wraps across multiple lines and tap-and-hold to invoke the link highlight. The stair-step joins between line rects should now show smooth fillets where adjacent X edges differ by less than 2 px (previously unsmoothed). This step is informational — the build success is the gating signal for the plan. - ---- - -## Self-Review - -- **Spec coverage:** Issue #3 → Task 1. Issue #7 → Task 2. Validation paragraph → Task 3. Out-of-scope items (#1, #2, #5, #6, #8) explicitly excluded — covered by spec, not by tasks. -- **Placeholder scan:** No "TBD" / "TODO" / "similar to" / vague-error-handling. All edits show exact before/after code. -- **Type consistency:** No new symbols introduced; existing `outerRadius`, `nextRadius`, `prevRadius`, `rects[i]`, `CGRect.insetBy(dx:dy:)`, `CGRect.intersects(_:)` all already in scope at the edit sites. -- **Line-number drift:** Each edit task starts with a `sed -n` inspection that bails out if the line content differs from the expected string — protects against drift if the file is touched between plan-write and plan-execute. diff --git a/docs/superpowers/specs/2026-05-02-link-highlighting-modern-path-fixes-design.md b/docs/superpowers/specs/2026-05-02-link-highlighting-modern-path-fixes-design.md deleted file mode 100644 index 28a52f769e..0000000000 --- a/docs/superpowers/specs/2026-05-02-link-highlighting-modern-path-fixes-design.md +++ /dev/null @@ -1,34 +0,0 @@ -# Modern path calculation fixes — issues #3 and #7 - -`submodules/Display/Source/LinkHighlightingNode.swift`, in the `useModernPathCalculation` branch of `drawRectsImageContent`. - -## Issue #3 — X-edge snap never fires after the midY snap - -The snap loop at lines 75–113 has two passes per `i`: -1. midY snap (lines 78–84) — splits any vertically-overlapping rects at `midY`, leaving `rects[i].maxY == rects[i+1].minY`. -2. X-edge snap (lines 85–108) — guards on `rects[i].insetBy(dx: 0.0, dy: 1.0).intersects(rects[i+1])`. With positive `dy`, this *shrinks* `rects[i]`, so after the midY snap they no longer intersect — the guard is unreachable for the canonical multi-line link case. - -**Fix:** flip the inset to `dy: -1.0` so the guard *grows* `rects[i]` by 1 px on each Y edge. After the midY snap the touching edges are at the same y; growing rect[i] by 1 makes it overlap rect[i+1] by 1 px, satisfying `CGRect.intersects` (which requires positive-area intersection). The X-snap then runs on every adjacent pair the algorithm intended to handle. - -Why `-1.0` and not `0.0`: `CGRect.intersects` returns `false` for shared-edge-only contact, so a non-zero grow is required. - -## Issue #7 — `nextRadius`/`prevRadius` can be 0 when X edges differ by less than 2 px - -Line 127: `nextRadius = min(outerRadius, floor(abs(rect.maxX - next.maxX) * 0.5))`. When `|Δx| < 2`, `floor` produces 0 and the call to `addArc` is a no-op (the corner stays unsmoothed). Same pattern at line 154 for `prevRadius` on the left edge. - -**Fix:** replace `floor` with `ceil`, and keep `min(outerRadius, …)` as the upper bound. With `ceil`, any non-zero gap rounds up to at least 1 px, which is what the corner needs visually. (Subpixel `Δx == 0` is the "edges already aligned" case and the unmodified `else` branch above each conditional already handles it with a straight `addLine`.) - -After fixing #3, the typical multi-line case should snap edges to common min/max when `|Δx| < minRadius (= 2.0)`, so #7 mostly handles the residual fractional-pixel case post-snap and any case where `|Δx| ≥ minRadius` but the floor would still drop to 0 (only possible at exactly `|Δx| = 2`, where `floor(1.0) = 1` is already fine — so #7 primarily covers `|Δx|` in `(0, 2)` *not* caught by snap, e.g., when `minX` and `maxX` deltas have different sub-pixel splits across an adjacent pair). - -## Out of scope - -- Issue #1 (single-rect path ignores `inset`) — separate change. -- Issues #2, #4 (innerRadius, dy direction in the *same* line as #3 — note: #3's fix IS the dy direction change, so #4 is subsumed), #5 (no closePath), #6 (.copy blend mode), #8 (snap loop bound). - -## Validation - -No tests exist in this repo (per CLAUDE.md). Validation is by full project build (`Make.py … --configuration=debug_sim_arm64`) and visual inspection of multi-line link highlights in chat — exercised by the change just made to `ChatMessageRichDataBubbleContentNode` (which now sets `useModernPathCalculation = true`). - -## Risk - -`drawRectsImageContent`'s modern branch is reachable from many call sites (`ChatMessageUnlockMediaNode`, `ChatEmptyNode`, `ShimmeringLinkNode`, `ChatListItem`, `TextLoadingEffect` once it's uncommented, etc.). The fix only changes how multi-rect highlights look — single-rect is untouched. Typical visual change: cleaner stair-step joins between adjacent line rects with near-aligned X edges. diff --git a/submodules/AccountContext/Sources/ContactSelectionController.swift b/submodules/AccountContext/Sources/ContactSelectionController.swift index 21c60a36d4..f655ac50ef 100644 --- a/submodules/AccountContext/Sources/ContactSelectionController.swift +++ b/submodules/AccountContext/Sources/ContactSelectionController.swift @@ -1,7 +1,6 @@ import Foundation import Display import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData @@ -47,7 +46,7 @@ public struct ContactListAdditionalOption: Equatable { } public enum ContactListPeerId: Hashable { - case peer(PeerId) + case peer(EnginePeer.Id) case deviceContact(DeviceContactStableId) } diff --git a/submodules/AuthorizationUI/Sources/AuthorizationSequenceSignUpController.swift b/submodules/AuthorizationUI/Sources/AuthorizationSequenceSignUpController.swift index d09dee51a0..1b5082c959 100644 --- a/submodules/AuthorizationUI/Sources/AuthorizationSequenceSignUpController.swift +++ b/submodules/AuthorizationUI/Sources/AuthorizationSequenceSignUpController.swift @@ -10,7 +10,6 @@ import LegacyComponents import ProgressNavigationButtonNode import ImageCompression import LegacyMediaPickerUI -import Postbox import TextFormat import MoreButtonNode import ContextUI @@ -272,9 +271,9 @@ final class AuthorizationSequenceSignUpController: ViewController { if let name = name { self.signUpWithName?(name.0, name.1, self.controllerNode.currentPhoto.flatMap({ image in - let tempFile = TempBox.shared.tempFile(fileName: "file") + let tempFile = EngineTempBox.shared.tempFile(fileName: "file") let result = compressImageToJPEG(image, quality: 0.7, tempFilePath: tempFile.path) - TempBox.shared.dispose(tempFile) + EngineTempBox.shared.dispose(tempFile) return result }), self.avatarAsset, self.avatarAdjustments, self.announceSignUp) } diff --git a/submodules/BrowserUI/Sources/BrowserScreen.swift b/submodules/BrowserUI/Sources/BrowserScreen.swift index c93cb4d9f7..46503f1a7e 100644 --- a/submodules/BrowserUI/Sources/BrowserScreen.swift +++ b/submodules/BrowserUI/Sources/BrowserScreen.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import SwiftSignalKit import Display -import Postbox import TelegramCore import TelegramPresentationData import ComponentFlow @@ -1583,7 +1582,7 @@ public class BrowserScreen: ViewController, MinimizableController { case pdfDocument(file: FileMediaReference, canShare: Bool) case markdownDocument(file: FileMediaReference, canShare: Bool) - public var fileId: MediaId? { + public var fileId: EngineMedia.Id? { switch self { case let .document(file, _), let .pdfDocument(file, _), let .markdownDocument(file, _): return file.media.fileId diff --git a/submodules/ChatListUI/Sources/ChatListContainerItemNode.swift b/submodules/ChatListUI/Sources/ChatListContainerItemNode.swift index 08b15d55bb..0d77a965ca 100644 --- a/submodules/ChatListUI/Sources/ChatListContainerItemNode.swift +++ b/submodules/ChatListUI/Sources/ChatListContainerItemNode.swift @@ -9,7 +9,6 @@ import SwiftSignalKit import AnimationCache import MultiAnimationRenderer import TelegramCore -import Postbox import ChatListHeaderComponent import ActionPanelComponent import ChatFolderLinkPreviewScreen diff --git a/submodules/ChatListUI/Sources/ChatListSearchMessageSelectionPanelNode.swift b/submodules/ChatListUI/Sources/ChatListSearchMessageSelectionPanelNode.swift index cfe3225c41..316e3eaf3d 100644 --- a/submodules/ChatListUI/Sources/ChatListSearchMessageSelectionPanelNode.swift +++ b/submodules/ChatListUI/Sources/ChatListSearchMessageSelectionPanelNode.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import Display -import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData @@ -31,8 +30,8 @@ final class ChatListSearchMessageSelectionPanelNode: ASDisplayNode { private var validLayout: ContainerViewLayout? - var chatAvailableMessageActions: ((Set) -> Signal)? - var selectedMessages = Set() { + var chatAvailableMessageActions: ((Set) -> Signal)? + var selectedMessages = Set() { didSet { if oldValue != self.selectedMessages { self.forwardButton.isEnabled = self.selectedMessages.count != 0 diff --git a/submodules/ChatPresentationInterfaceState/Sources/ChatMediaInputNodeInteraction.swift b/submodules/ChatPresentationInterfaceState/Sources/ChatMediaInputNodeInteraction.swift index 21d6e3905a..878ccf37c9 100644 --- a/submodules/ChatPresentationInterfaceState/Sources/ChatMediaInputNodeInteraction.swift +++ b/submodules/ChatPresentationInterfaceState/Sources/ChatMediaInputNodeInteraction.swift @@ -1,5 +1,4 @@ import Foundation -import Postbox import TelegramCore import TelegramUIPreferences @@ -22,27 +21,27 @@ public enum ChatMediaInputGifMode: Equatable { } public final class ChatMediaInputNodeInteraction { - public let navigateToCollectionId: (ItemCollectionId) -> Void + public let navigateToCollectionId: (EngineItemCollectionId) -> Void public let navigateBackToStickers: () -> Void public let setGifMode: (ChatMediaInputGifMode) -> Void public let openSettings: () -> Void - public let openTrending: (ItemCollectionId?) -> Void - public let dismissTrendingPacks: ([ItemCollectionId]) -> Void + public let openTrending: (EngineItemCollectionId?) -> Void + public let dismissTrendingPacks: ([EngineItemCollectionId]) -> Void public let toggleSearch: (Bool, ChatMediaInputSearchMode?, String) -> Void public let openPeerSpecificSettings: () -> Void public let dismissPeerSpecificSettings: () -> Void public let clearRecentlyUsedStickers: () -> Void public var stickerSettings: ChatInterfaceStickerSettings? - public var highlightedStickerItemCollectionId: ItemCollectionId? - public var highlightedItemCollectionId: ItemCollectionId? + public var highlightedStickerEngineItemCollectionId: EngineItemCollectionId? + public var highlightedEngineItemCollectionId: EngineItemCollectionId? public var highlightedGifMode: ChatMediaInputGifMode = .recent public var previewedStickerPackItemFile: TelegramMediaFile? public var appearanceTransition: CGFloat = 1.0 public var displayStickerPlaceholder = true public var displayStickerPackManageControls = true - public init(navigateToCollectionId: @escaping (ItemCollectionId) -> Void, navigateBackToStickers: @escaping () -> Void, setGifMode: @escaping (ChatMediaInputGifMode) -> Void, openSettings: @escaping () -> Void, openTrending: @escaping (ItemCollectionId?) -> Void, dismissTrendingPacks: @escaping ([ItemCollectionId]) -> Void, toggleSearch: @escaping (Bool, ChatMediaInputSearchMode?, String) -> Void, openPeerSpecificSettings: @escaping () -> Void, dismissPeerSpecificSettings: @escaping () -> Void, clearRecentlyUsedStickers: @escaping () -> Void) { + public init(navigateToCollectionId: @escaping (EngineItemCollectionId) -> Void, navigateBackToStickers: @escaping () -> Void, setGifMode: @escaping (ChatMediaInputGifMode) -> Void, openSettings: @escaping () -> Void, openTrending: @escaping (EngineItemCollectionId?) -> Void, dismissTrendingPacks: @escaping ([EngineItemCollectionId]) -> Void, toggleSearch: @escaping (Bool, ChatMediaInputSearchMode?, String) -> Void, openPeerSpecificSettings: @escaping () -> Void, dismissPeerSpecificSettings: @escaping () -> Void, clearRecentlyUsedStickers: @escaping () -> Void) { self.navigateToCollectionId = navigateToCollectionId self.navigateBackToStickers = navigateBackToStickers self.setGifMode = setGifMode diff --git a/submodules/GalleryUI/Sources/GalleryFooterContentNode.swift b/submodules/GalleryUI/Sources/GalleryFooterContentNode.swift index 881abc1297..d36e7674c4 100644 --- a/submodules/GalleryUI/Sources/GalleryFooterContentNode.swift +++ b/submodules/GalleryUI/Sources/GalleryFooterContentNode.swift @@ -3,7 +3,7 @@ import UIKit import AsyncDisplayKit import Display import SwiftSignalKit -import Postbox +import TelegramCore import ComponentFlow import ComponentDisplayAdapters @@ -12,11 +12,11 @@ public final class GalleryControllerInteraction { public let pushController: (ViewController) -> Void public let dismissController: () -> Void public let replaceRootController: (ViewController, Promise?) -> Void - public let editMedia: (MessageId) -> Void + public let editMedia: (EngineMessage.Id) -> Void public let controller: () -> ViewController? public let currentItemNode: () -> GalleryItemNode? - public init(presentController: @escaping (ViewController, ViewControllerPresentationArguments?) -> Void, pushController: @escaping (ViewController) -> Void, dismissController: @escaping () -> Void, replaceRootController: @escaping (ViewController, Promise?) -> Void, editMedia: @escaping (MessageId) -> Void, controller: @escaping () -> ViewController?, currentItemNode: @escaping () -> GalleryItemNode?) { + public init(presentController: @escaping (ViewController, ViewControllerPresentationArguments?) -> Void, pushController: @escaping (ViewController) -> Void, dismissController: @escaping () -> Void, replaceRootController: @escaping (ViewController, Promise?) -> Void, editMedia: @escaping (EngineMessage.Id) -> Void, controller: @escaping () -> ViewController?, currentItemNode: @escaping () -> GalleryItemNode?) { self.presentController = presentController self.pushController = pushController self.dismissController = dismissController diff --git a/submodules/HashtagSearchUI/Sources/HashtagSearchRecentQueries.swift b/submodules/HashtagSearchUI/Sources/HashtagSearchRecentQueries.swift index bca1b83497..46d70f8a5e 100644 --- a/submodules/HashtagSearchUI/Sources/HashtagSearchRecentQueries.swift +++ b/submodules/HashtagSearchUI/Sources/HashtagSearchRecentQueries.swift @@ -1,23 +1,22 @@ import Foundation -import Postbox import TelegramCore import SwiftSignalKit import TelegramUIPreferences private struct HashtagSearchRecentQueryItemId { - public let rawValue: MemoryBuffer + public let rawValue: EngineMemoryBuffer var value: String { return String(data: self.rawValue.makeData(), encoding: .utf8) ?? "" } - init(_ rawValue: MemoryBuffer) { + init(_ rawValue: EngineMemoryBuffer) { self.rawValue = rawValue } init?(_ value: String) { if let data = value.data(using: .utf8) { - self.rawValue = MemoryBuffer(data: data) + self.rawValue = EngineMemoryBuffer(data: data) } else { return nil } diff --git a/submodules/InAppPurchaseManager/BUILD b/submodules/InAppPurchaseManager/BUILD index 8cbb34b326..700597a7c3 100644 --- a/submodules/InAppPurchaseManager/BUILD +++ b/submodules/InAppPurchaseManager/BUILD @@ -11,7 +11,6 @@ swift_library( ], deps = [ "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", - "//submodules/Postbox:Postbox", "//submodules/TelegramCore:TelegramCore", "//submodules/TelegramStringFormatting:TelegramStringFormatting", "//submodules/TelegramUIPreferences:TelegramUIPreferences", diff --git a/submodules/LegacyDataImport/Sources/LegacyUserDataImport.swift b/submodules/LegacyDataImport/Sources/LegacyUserDataImport.swift index d3ba00070f..79c198549d 100644 --- a/submodules/LegacyDataImport/Sources/LegacyUserDataImport.swift +++ b/submodules/LegacyDataImport/Sources/LegacyUserDataImport.swift @@ -3,7 +3,6 @@ import UIKit import TelegramCore import SyncCore import SwiftSignalKit -import Postbox func loadLegacyUser(database: SqliteInterface, id: Int32) -> (TelegramUser, TelegramUserPresence)? { var result: (TelegramUser, TelegramUserPresence)? @@ -24,7 +23,7 @@ func loadLegacyUser(database: SqliteInterface, id: Int32) -> (TelegramUser, Tele photo.append(TelegramMediaImageRepresentation(dimensions: PixelDimensions(width: 600, height: 600), resource: resource, progressiveSizes: [])) } - let user = TelegramUser(id: PeerId(namespace: Namespaces.Peer.CloudUser, id: cursor.getInt32(at: 0)), accessHash: accessHash == 0 ? nil : .personal(accessHash), firstName: firstName.isEmpty ? nil : firstName, lastName: lastName.isEmpty ? nil : lastName, username: username.isEmpty ? nil : username, phone: phone.isEmpty ? nil : phone, photo: photo, botInfo: nil, restrictionInfo: nil, flags: []) + let user = TelegramUser(id: EnginePeer.Id(namespace: Namespaces.Peer.CloudUser, id: cursor.getInt32(at: 0)), accessHash: accessHash == 0 ? nil : .personal(accessHash), firstName: firstName.isEmpty ? nil : firstName, lastName: lastName.isEmpty ? nil : lastName, username: username.isEmpty ? nil : username, phone: phone.isEmpty ? nil : phone, photo: photo, botInfo: nil, restrictionInfo: nil, flags: []) let status: UserPresenceStatus let lastSeen = cursor.getInt32(at: 7) diff --git a/submodules/MediaPickerUI/Sources/LegacyMediaPickerGallery.swift b/submodules/MediaPickerUI/Sources/LegacyMediaPickerGallery.swift index a2da740107..254707296d 100644 --- a/submodules/MediaPickerUI/Sources/LegacyMediaPickerGallery.swift +++ b/submodules/MediaPickerUI/Sources/LegacyMediaPickerGallery.swift @@ -3,7 +3,6 @@ import UIKit import Display import SwiftSignalKit import TelegramCore -import Postbox import SSignalKit import TelegramPresentationData import AccountContext diff --git a/submodules/PassportUI/Sources/SecureIdAuthController.swift b/submodules/PassportUI/Sources/SecureIdAuthController.swift index c0a66f7147..ce312d33d6 100644 --- a/submodules/PassportUI/Sources/SecureIdAuthController.swift +++ b/submodules/PassportUI/Sources/SecureIdAuthController.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TextFormat @@ -19,7 +18,7 @@ public enum SecureIdRequestResult: String { case error = "error" } -public func secureIdCallbackUrl(with baseUrl: String, peerId: PeerId, result: SecureIdRequestResult, parameters: [String : String]) -> String { +public func secureIdCallbackUrl(with baseUrl: String, peerId: EnginePeer.Id, result: SecureIdRequestResult, parameters: [String : String]) -> String { var query = (parameters.compactMap({ (key, value) -> String in return "\(key)=\(value)" }) as Array).joined(separator: "&") @@ -64,7 +63,7 @@ final class SecureIdAuthControllerInteraction { } public enum SecureIdAuthControllerMode { - case form(peerId: PeerId, scope: String, publicKey: String, callbackUrl: String?, opaquePayload: Data, opaqueNonce: Data) + case form(peerId: EnginePeer.Id, scope: String, publicKey: String, callbackUrl: String?, opaquePayload: Data, opaqueNonce: Data) case list } @@ -174,7 +173,7 @@ public final class SecureIdAuthController: ViewController, StandalonePresentable } })) - let handleError: (Any, String?, PeerId?) -> Void = { [weak self] error, callbackUrl, peerId in + let handleError: (Any, String?, EnginePeer.Id?) -> Void = { [weak self] error, callbackUrl, peerId in if let strongSelf = self { var passError: String? var appUpdateRequired = false diff --git a/submodules/PassportUI/Sources/SecureIdAuthControllerState.swift b/submodules/PassportUI/Sources/SecureIdAuthControllerState.swift index 7a9fb1eaf8..f2cc65c53f 100644 --- a/submodules/PassportUI/Sources/SecureIdAuthControllerState.swift +++ b/submodules/PassportUI/Sources/SecureIdAuthControllerState.swift @@ -1,6 +1,5 @@ import Foundation import UIKit -import Postbox import TelegramCore struct SecureIdEncryptedFormData { diff --git a/submodules/PeerInfoUI/Sources/DeviceContactInfoController.swift b/submodules/PeerInfoUI/Sources/DeviceContactInfoController.swift index c699a9fe67..aa571d51df 100644 --- a/submodules/PeerInfoUI/Sources/DeviceContactInfoController.swift +++ b/submodules/PeerInfoUI/Sources/DeviceContactInfoController.swift @@ -24,7 +24,6 @@ import PhoneNumberFormat import UndoUI import GalleryUI import PeerAvatarGalleryUI -import Postbox import ContextUI private enum DeviceContactInfoAction { diff --git a/submodules/PeerInfoUI/Sources/GroupPreHistorySetupController.swift b/submodules/PeerInfoUI/Sources/GroupPreHistorySetupController.swift index 4e5a223763..c9cecdc0bc 100644 --- a/submodules/PeerInfoUI/Sources/GroupPreHistorySetupController.swift +++ b/submodules/PeerInfoUI/Sources/GroupPreHistorySetupController.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import ItemListUI @@ -117,7 +116,7 @@ private func groupPreHistorySetupEntries(isSupergroup: Bool, presentationData: P return entries } -public func groupPreHistorySetupController(context: AccountContext, updatedPresentationData: (initial: PresentationData, signal: Signal)? = nil, peerId: PeerId, upgradedToSupergroup: @escaping (PeerId, @escaping () -> Void) -> Void) -> ViewController { +public func groupPreHistorySetupController(context: AccountContext, updatedPresentationData: (initial: PresentationData, signal: Signal)? = nil, peerId: EnginePeer.Id, upgradedToSupergroup: @escaping (EnginePeer.Id, @escaping () -> Void) -> Void) -> ViewController { let statePromise = ValuePromise(GroupPreHistorySetupState(), ignoreRepeated: true) let stateValue = Atomic(value: GroupPreHistorySetupState()) let updateState: ((GroupPreHistorySetupState) -> GroupPreHistorySetupState) -> Void = { f in @@ -163,12 +162,12 @@ public func groupPreHistorySetupController(context: AccountContext, updatedPrese if let value = value, value != defaultValue { if peerId.namespace == Namespaces.Peer.CloudGroup { let signal = context.engine.peers.convertGroupToSupergroup(peerId: peerId) - |> mapToSignal { upgradedPeerId -> Signal in + |> mapToSignal { upgradedPeerId -> Signal in return context.engine.peers.updateChannelHistoryAvailabilitySettingsInteractively(peerId: upgradedPeerId, historyAvailableForNewMembers: value) |> `catch` { _ -> Signal in return .complete() } - |> mapToSignal { _ -> Signal in + |> mapToSignal { _ -> Signal in return .complete() } |> then(.single(upgradedPeerId)) diff --git a/submodules/PremiumUI/Sources/GiftOptionItem.swift b/submodules/PremiumUI/Sources/GiftOptionItem.swift index 5dee8b306b..adee7db497 100644 --- a/submodules/PremiumUI/Sources/GiftOptionItem.swift +++ b/submodules/PremiumUI/Sources/GiftOptionItem.swift @@ -4,7 +4,6 @@ import Display import AsyncDisplayKit import ComponentFlow import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import ItemListUI diff --git a/submodules/PremiumUI/Sources/ReplaceBoostConfirmationController.swift b/submodules/PremiumUI/Sources/ReplaceBoostConfirmationController.swift index 22b4fe779e..43eff73bee 100644 --- a/submodules/PremiumUI/Sources/ReplaceBoostConfirmationController.swift +++ b/submodules/PremiumUI/Sources/ReplaceBoostConfirmationController.swift @@ -3,7 +3,6 @@ import UIKit import SwiftSignalKit import AsyncDisplayKit import Display -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences diff --git a/submodules/SettingsUI/Sources/Data and Storage/WebBrowserSettingsController.swift b/submodules/SettingsUI/Sources/Data and Storage/WebBrowserSettingsController.swift index 5998909cc5..018f3d97b8 100644 --- a/submodules/SettingsUI/Sources/Data and Storage/WebBrowserSettingsController.swift +++ b/submodules/SettingsUI/Sources/Data and Storage/WebBrowserSettingsController.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences @@ -467,7 +466,7 @@ private func fetchDomainExceptionInfo(context: AccountContext, url: String) -> S let resource = LocalFileMediaResource(fileId: Int64.random(in: Int64.min ... Int64.max)) context.sharedContext.accountManager.resources.storeResourceData(id: EngineMediaResource.Id(resource.id), data: imageData) image = TelegramMediaImage( - imageId: MediaId(namespace: Namespaces.Media.LocalImage, id: Int64.random(in: Int64.min ... Int64.max)), + imageId: EngineMedia.Id(namespace: Namespaces.Media.LocalImage, id: Int64.random(in: Int64.min ... Int64.max)), representations: [ TelegramMediaImageRepresentation( dimensions: PixelDimensions(width: Int32(parsedImage.size.width), height: Int32(parsedImage.size.height)), diff --git a/submodules/SettingsUI/Sources/Language Selection/LocalizationListControllerNode.swift b/submodules/SettingsUI/Sources/Language Selection/LocalizationListControllerNode.swift index 2cb090e83a..1db0fbe0a9 100644 --- a/submodules/SettingsUI/Sources/Language Selection/LocalizationListControllerNode.swift +++ b/submodules/SettingsUI/Sources/Language Selection/LocalizationListControllerNode.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import AsyncDisplayKit -import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData diff --git a/submodules/SettingsUI/Sources/Privacy and Security/BlockedPeersController.swift b/submodules/SettingsUI/Sources/Privacy and Security/BlockedPeersController.swift index bcde257640..fa1060693a 100644 --- a/submodules/SettingsUI/Sources/Privacy and Security/BlockedPeersController.swift +++ b/submodules/SettingsUI/Sources/Privacy and Security/BlockedPeersController.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences @@ -15,12 +14,12 @@ import ItemListPeerActionItem private final class BlockedPeersControllerArguments { let context: AccountContext - let setPeerIdWithRevealedOptions: (PeerId?, PeerId?) -> Void + let setPeerIdWithRevealedOptions: (EnginePeer.Id?, EnginePeer.Id?) -> Void let addPeer: () -> Void - let removePeer: (PeerId) -> Void + let removePeer: (EnginePeer.Id) -> Void let openPeer: (EnginePeer) -> Void - init(context: AccountContext, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, addPeer: @escaping () -> Void, removePeer: @escaping (PeerId) -> Void, openPeer: @escaping (EnginePeer) -> Void) { + init(context: AccountContext, setPeerIdWithRevealedOptions: @escaping (EnginePeer.Id?, EnginePeer.Id?) -> Void, addPeer: @escaping () -> Void, removePeer: @escaping (EnginePeer.Id) -> Void, openPeer: @escaping (EnginePeer) -> Void) { self.context = context self.setPeerIdWithRevealedOptions = setPeerIdWithRevealedOptions self.addPeer = addPeer @@ -36,7 +35,7 @@ private enum BlockedPeersSection: Int32 { private enum BlockedPeersEntryStableId: Hashable { case add - case peer(PeerId) + case peer(EnginePeer.Id) } private enum BlockedPeersEntry: ItemListNodeEntry { @@ -145,8 +144,8 @@ private enum BlockedPeersEntry: ItemListNodeEntry { private struct BlockedPeersControllerState: Equatable { let editing: Bool - let peerIdWithRevealedOptions: PeerId? - let removingPeerId: PeerId? + let peerIdWithRevealedOptions: EnginePeer.Id? + let removingPeerId: EnginePeer.Id? init() { self.editing = false @@ -154,7 +153,7 @@ private struct BlockedPeersControllerState: Equatable { self.removingPeerId = nil } - init(editing: Bool, peerIdWithRevealedOptions: PeerId?, removingPeerId: PeerId?) { + init(editing: Bool, peerIdWithRevealedOptions: EnginePeer.Id?, removingPeerId: EnginePeer.Id?) { self.editing = editing self.peerIdWithRevealedOptions = peerIdWithRevealedOptions self.removingPeerId = removingPeerId @@ -178,11 +177,11 @@ private struct BlockedPeersControllerState: Equatable { return BlockedPeersControllerState(editing: editing, peerIdWithRevealedOptions: self.peerIdWithRevealedOptions, removingPeerId: self.removingPeerId) } - func withUpdatedPeerIdWithRevealedOptions(_ peerIdWithRevealedOptions: PeerId?) -> BlockedPeersControllerState { + func withUpdatedPeerIdWithRevealedOptions(_ peerIdWithRevealedOptions: EnginePeer.Id?) -> BlockedPeersControllerState { return BlockedPeersControllerState(editing: self.editing, peerIdWithRevealedOptions: peerIdWithRevealedOptions, removingPeerId: self.removingPeerId) } - func withUpdatedRemovingPeerId(_ removingPeerId: PeerId?) -> BlockedPeersControllerState { + func withUpdatedRemovingPeerId(_ removingPeerId: EnginePeer.Id?) -> BlockedPeersControllerState { return BlockedPeersControllerState(editing: self.editing, peerIdWithRevealedOptions: self.peerIdWithRevealedOptions, removingPeerId: removingPeerId) } } diff --git a/submodules/SettingsUI/Sources/Privacy and Security/PasscodeOptionsController.swift b/submodules/SettingsUI/Sources/Privacy and Security/PasscodeOptionsController.swift index 7ce3e638f5..b656ea640d 100644 --- a/submodules/SettingsUI/Sources/Privacy and Security/PasscodeOptionsController.swift +++ b/submodules/SettingsUI/Sources/Privacy and Security/PasscodeOptionsController.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import SwiftSignalKit -import Postbox import TelegramCore import LegacyComponents import LocalAuthentication diff --git a/submodules/SettingsUI/Sources/Search/SettingsSearchRecentQueries.swift b/submodules/SettingsUI/Sources/Search/SettingsSearchRecentQueries.swift index d150d523ec..b8082a755c 100644 --- a/submodules/SettingsUI/Sources/Search/SettingsSearchRecentQueries.swift +++ b/submodules/SettingsUI/Sources/Search/SettingsSearchRecentQueries.swift @@ -1,12 +1,11 @@ import Foundation import UIKit -import Postbox import TelegramCore import SwiftSignalKit import TelegramUIPreferences private struct SettingsSearchRecentQueryItemId { - public let rawValue: MemoryBuffer + public let rawValue: EngineMemoryBuffer var value: Int64 { return self.rawValue.makeData().withUnsafeBytes { buffer -> Int64 in @@ -17,13 +16,13 @@ private struct SettingsSearchRecentQueryItemId { } } - init(_ rawValue: MemoryBuffer) { + init(_ rawValue: EngineMemoryBuffer) { self.rawValue = rawValue } init(_ value: Int64) { var value = value - self.rawValue = MemoryBuffer(data: Data(bytes: &value, count: MemoryLayout.size(ofValue: value))) + self.rawValue = EngineMemoryBuffer(data: Data(bytes: &value, count: MemoryLayout.size(ofValue: value))) } } @@ -42,7 +41,7 @@ func addRecentSettingsSearchItem(engine: TelegramEngine, item: AnyHashable) { guard let id = item.base as? String, let data = id.data(using: .ascii) else { return } - let itemId = MemoryBuffer(data: data) + let itemId = EngineMemoryBuffer(data: data) let _ = engine.orderedLists.addOrMoveToFirstPosition(collectionId: ApplicationSpecificOrderedItemListCollectionId.settingsSearchRecentItems, id: itemId, item: RecentSettingsSearchQueryItem(), removeTailIfCountExceeds: 100).start() } @@ -50,7 +49,7 @@ func removeRecentSettingsSearchItem(engine: TelegramEngine, item: AnyHashable) { guard let id = item.base as? String, let data = id.data(using: .ascii) else { return } - let itemId = MemoryBuffer(data: data) + let itemId = EngineMemoryBuffer(data: data) let _ = engine.orderedLists.removeItem(collectionId: ApplicationSpecificOrderedItemListCollectionId.settingsSearchRecentItems, id: itemId).start() } diff --git a/submodules/SettingsUI/Sources/Themes/EditThemeController.swift b/submodules/SettingsUI/Sources/Themes/EditThemeController.swift index 33a60120ef..7513a800e6 100644 --- a/submodules/SettingsUI/Sources/Themes/EditThemeController.swift +++ b/submodules/SettingsUI/Sources/Themes/EditThemeController.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences @@ -303,7 +302,7 @@ private func editThemeControllerEntries(presentationData: PresentationData, stat return entries } -public func editThemeController(context: AccountContext, mode: EditThemeControllerMode, navigateToChat: ((PeerId) -> Void)? = nil, completion: ((PresentationThemeReference) -> Void)? = nil) -> ViewController { +public func editThemeController(context: AccountContext, mode: EditThemeControllerMode, navigateToChat: ((EnginePeer.Id) -> Void)? = nil, completion: ((PresentationThemeReference) -> Void)? = nil) -> ViewController { let initialState: EditThemeControllerState let previewThemePromise = Promise() let settingsPromise = Promise(nil) @@ -538,7 +537,7 @@ public func editThemeController(context: AccountContext, mode: EditThemeControll let _ = (combineLatest(queue: Queue.mainQueue(), previewThemePromise.get(), settingsPromise.get()) |> take(1)).start(next: { previewTheme, settings in let saveThemeTemplateFile: (String, LocalFileMediaResource, @escaping () -> Void) -> Void = { title, resource, completion in - let file = TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: resource.fileId), partialReference: nil, resource: resource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "application/x-tgtheme-ios", size: nil, attributes: [.FileName(fileName: "\(title).tgios-theme")], alternativeRepresentations: []) + let file = TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: resource.fileId), partialReference: nil, resource: resource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "application/x-tgtheme-ios", size: nil, attributes: [.FileName(fileName: "\(title).tgios-theme")], alternativeRepresentations: []) let message = EnqueueMessage.message(text: "", attributes: [], inlineStickers: [:], mediaReference: .standalone(media: file), threadId: nil, replyToMessageId: nil, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: []) let _ = enqueueMessages(account: context.account, peerId: context.account.peerId, messages: [message]).start() diff --git a/submodules/SettingsUI/Sources/Themes/ThemePreviewController.swift b/submodules/SettingsUI/Sources/Themes/ThemePreviewController.swift index c9f21d9af2..7a0611c0ab 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemePreviewController.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemePreviewController.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import Display -import Postbox import SwiftSignalKit import AsyncDisplayKit import TelegramCore @@ -411,7 +410,7 @@ public final class ThemePreviewController: ViewController { var themeSpecificChatWallpapers = updatedSettings.themeSpecificChatWallpapers themeSpecificChatWallpapers[updatedTheme.index] = nil - return PreferencesEntry(updatedSettings.withUpdatedThemeSpecificChatWallpapers(themeSpecificChatWallpapers).withUpdatedThemeSpecificAccentColors(themeSpecificAccentColors)) + return EnginePreferencesEntry(updatedSettings.withUpdatedThemeSpecificChatWallpapers(themeSpecificChatWallpapers).withUpdatedThemeSpecificAccentColors(themeSpecificAccentColors)) }) return previousDefaultTheme } diff --git a/submodules/SpotlightSupport/BUILD b/submodules/SpotlightSupport/BUILD index 141b5c4b37..ff77db99c2 100644 --- a/submodules/SpotlightSupport/BUILD +++ b/submodules/SpotlightSupport/BUILD @@ -8,7 +8,6 @@ swift_library( ]), deps = [ "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", - "//submodules/Postbox:Postbox", "//submodules/SyncCore:SyncCore", "//submodules/TelegramCore:TelegramCore", "//submodules/Display:Display", diff --git a/submodules/StatisticsUI/Sources/MessageStatsController.swift b/submodules/StatisticsUI/Sources/MessageStatsController.swift index bbe3db555e..cca0be9acb 100644 --- a/submodules/StatisticsUI/Sources/MessageStatsController.swift +++ b/submodules/StatisticsUI/Sources/MessageStatsController.swift @@ -3,7 +3,6 @@ import UIKit import Display import SwiftSignalKit import AsyncDisplayKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences @@ -510,7 +509,7 @@ public func messageStatsController(context: AccountContext, updatedPresentationD }) } openStoryImpl = { [weak controller] peerId, story, sourceView in - let storyContent = SingleStoryContentContextImpl(context: context, storyId: StoryId(peerId: peerId, id: story.id), storyItem: story, readGlobally: false) + let storyContent = SingleStoryContentContextImpl(context: context, storyId: EngineStoryId(peerId: peerId, id: story.id), storyItem: story, readGlobally: false) let _ = (storyContent.state |> take(1) |> deliverOnMainQueue).startStandalone(next: { [weak controller, weak sourceView] _ in diff --git a/submodules/StickerPackPreviewUI/Sources/StickerPackPreviewGridItem.swift b/submodules/StickerPackPreviewUI/Sources/StickerPackPreviewGridItem.swift index 2ff682e76c..dc2f656c36 100644 --- a/submodules/StickerPackPreviewUI/Sources/StickerPackPreviewGridItem.swift +++ b/submodules/StickerPackPreviewUI/Sources/StickerPackPreviewGridItem.swift @@ -4,7 +4,6 @@ import Display import TelegramCore import SwiftSignalKit import AsyncDisplayKit -import Postbox import StickerResources import AccountContext import AnimatedStickerNode @@ -16,7 +15,7 @@ import TextFormat final class StickerPackPreviewInteraction { var previewedItem: StickerPreviewPeekItem? - var reorderingFileId: MediaId? + var reorderingFileId: EngineMedia.Id? var playAnimatedStickers: Bool let addStickerPack: (StickerPackCollectionInfo, [StickerPackItem]) -> Void diff --git a/submodules/TelegramBaseController/Sources/TelegramBaseController.swift b/submodules/TelegramBaseController/Sources/TelegramBaseController.swift index 2f8a557fda..ca2c1b5fbb 100644 --- a/submodules/TelegramBaseController/Sources/TelegramBaseController.swift +++ b/submodules/TelegramBaseController/Sources/TelegramBaseController.swift @@ -4,7 +4,6 @@ import AsyncDisplayKit import Display import TelegramCore import SwiftSignalKit -import Postbox import TelegramPresentationData import TelegramUIPreferences import UniversalMediaPlayer @@ -14,7 +13,7 @@ import PresentationDataUtils import TelegramCallsUI import UndoUI -private func presentLiveLocationController(context: AccountContext, peerId: PeerId, controller: ViewController) { +private func presentLiveLocationController(context: AccountContext, peerId: EnginePeer.Id, controller: ViewController) { let presentImpl: (EngineMessage?) -> Void = { [weak controller] message in if let message = message, let strongController = controller { let _ = context.sharedContext.openChatMessage(OpenChatMessageParams(context: context, chatLocation: nil, chatFilterTag: nil, chatLocationContextHolder: nil, message: message._asMessage(), standalone: false, reverseMessageGalleryOrder: false, navigationController: strongController.navigationController as? NavigationController, modal: true, dismissInput: { @@ -189,7 +188,7 @@ open class TelegramBaseController: ViewController, KeyShortcutResponder { })] } - open func joinGroupCall(peerId: PeerId, invite: String?, activeCall: EngineGroupCallDescription) { + open func joinGroupCall(peerId: EnginePeer.Id, invite: String?, activeCall: EngineGroupCallDescription) { let context = self.context let presentationData = self.context.sharedContext.currentPresentationData.with { $0 } @@ -224,7 +223,7 @@ open class TelegramBaseController: ViewController, KeyShortcutResponder { return } - let defaultJoinAsPeerId: PeerId? = callJoinAsPeerId + let defaultJoinAsPeerId: EnginePeer.Id? = callJoinAsPeerId if peers.count == 1, let peer = peers.first { completion(peer.peer.id) diff --git a/submodules/TelegramCallsUI/Sources/CallRatingController.swift b/submodules/TelegramCallsUI/Sources/CallRatingController.swift index 7a08626152..8f392fe1d8 100644 --- a/submodules/TelegramCallsUI/Sources/CallRatingController.swift +++ b/submodules/TelegramCallsUI/Sources/CallRatingController.swift @@ -4,7 +4,6 @@ import SwiftSignalKit import AsyncDisplayKit import Display import ComponentFlow -import Postbox import TelegramCore import TelegramPresentationData import TelegramVoip @@ -12,14 +11,14 @@ import AccountContext import AlertComponent func rateCallAndSendLogs(engine: TelegramEngine, callId: CallId, starsCount: Int, comment: String, userInitiated: Bool, includeLogs: Bool) -> Signal { - let peerId = PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(4244000)) + let peerId = EnginePeer.Id(namespace: Namespaces.Peer.CloudUser, id: EnginePeer.Id.Id._internalFromInt64Value(4244000)) let rate = engine.calls.rateCall(callId: callId, starsCount: Int32(starsCount), comment: comment, userInitiated: userInitiated) if includeLogs { let id = Int64.random(in: Int64.min ... Int64.max) let name = "\(callId.id)_\(callId.accessHash).log.json" let path = callLogsPath(account: engine.account) + "/" + name - let file = TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: id), partialReference: nil, resource: LocalFileReferenceMediaResource(localFilePath: path, randomId: id), previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "application/text", size: nil, attributes: [.FileName(fileName: name)], alternativeRepresentations: []) + let file = TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: id), partialReference: nil, resource: LocalFileReferenceMediaResource(localFilePath: path, randomId: id), previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "application/text", size: nil, attributes: [.FileName(fileName: name)], alternativeRepresentations: []) let message = EnqueueMessage.message(text: comment, attributes: [], inlineStickers: [:], mediaReference: .standalone(media: file), threadId: nil, replyToMessageId: nil, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: []) return rate |> then(enqueueMessages(account: engine.account, peerId: peerId, messages: [message]) diff --git a/submodules/TelegramCallsUI/Sources/Components/MessageItemComponent.swift b/submodules/TelegramCallsUI/Sources/Components/MessageItemComponent.swift index b45a3c8b88..aa35f3f48c 100644 --- a/submodules/TelegramCallsUI/Sources/Components/MessageItemComponent.swift +++ b/submodules/TelegramCallsUI/Sources/Components/MessageItemComponent.swift @@ -3,7 +3,6 @@ import Display import UIKit import ComponentFlow import SwiftSignalKit -import Postbox import TelegramCore import AvatarNode import GlassBackgroundComponent @@ -89,7 +88,7 @@ final class MessageItemComponent: Component { weak var standaloneReactionAnimation: StandaloneReactionAnimation? private var cachedEntities: [MessageTextEntity]? - private var entityFiles: [MediaId: TelegramMediaFile] = [:] + private var entityFiles: [EngineMedia.Id: TelegramMediaFile] = [:] private var component: MessageItemComponent? diff --git a/submodules/TelegramCallsUI/Sources/PresentationCall.swift b/submodules/TelegramCallsUI/Sources/PresentationCall.swift index c3d892b2c1..5613e76cdc 100644 --- a/submodules/TelegramCallsUI/Sources/PresentationCall.swift +++ b/submodules/TelegramCallsUI/Sources/PresentationCall.swift @@ -1,6 +1,5 @@ import Foundation import UIKit -import Postbox import TelegramCore import SwiftSignalKit import Display diff --git a/submodules/TelegramCallsUI/Sources/VoiceChatJoinScreen.swift b/submodules/TelegramCallsUI/Sources/VoiceChatJoinScreen.swift index 9688ba3d0d..a158d695d3 100644 --- a/submodules/TelegramCallsUI/Sources/VoiceChatJoinScreen.swift +++ b/submodules/TelegramCallsUI/Sources/VoiceChatJoinScreen.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import AsyncDisplayKit -import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData @@ -22,7 +21,7 @@ public final class VoiceChatJoinScreen: ViewController { private var animatedIn = false private let context: AccountContext - private let peerId: PeerId + private let peerId: EnginePeer.Id private let invite: String? private var join: (CachedChannelData.ActiveCall) -> Void @@ -30,7 +29,7 @@ public final class VoiceChatJoinScreen: ViewController { private let disposable = MetaDisposable() - public init(context: AccountContext, peerId: PeerId, invite: String?, join: @escaping (CachedChannelData.ActiveCall) -> Void) { + public init(context: AccountContext, peerId: EnginePeer.Id, invite: String?, join: @escaping (CachedChannelData.ActiveCall) -> Void) { self.context = context self.peerId = peerId self.invite = invite @@ -132,7 +131,7 @@ public final class VoiceChatJoinScreen: ViewController { return } - let defaultJoinAsPeerId: PeerId? = callJoinAsPeerId + let defaultJoinAsPeerId: EnginePeer.Id? = callJoinAsPeerId let activeCall = CachedChannelData.ActiveCall(id: call.info.id, accessHash: call.info.accessHash, title: call.info.title, scheduleTimestamp: call.info.scheduleTimestamp, subscribedToScheduled: call.info.subscribedToScheduled, isStream: call.info.isStream) if availablePeers.count > 0 && defaultJoinAsPeerId == nil { @@ -682,7 +681,7 @@ final class VoiceChatPreviewContentNode: ASDisplayNode, ShareContentContainerNod func deactivate() { } - func setEnsurePeerVisibleOnLayout(_ peerId: PeerId?) { + func setEnsurePeerVisibleOnLayout(_ peerId: EnginePeer.Id?) { } func setDidBeginDragging(_ f: (() -> Void)?) { diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Utils/EnginePostboxCoding.swift b/submodules/TelegramCore/Sources/TelegramEngine/Utils/EnginePostboxCoding.swift index 2cd61b18cd..c493032d7b 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Utils/EnginePostboxCoding.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Utils/EnginePostboxCoding.swift @@ -5,5 +5,6 @@ public typealias EnginePostboxDecoder = PostboxDecoder public typealias EnginePostboxEncoder = PostboxEncoder public typealias EngineAdaptedPostboxDecoder = AdaptedPostboxDecoder public typealias EngineItemCollectionId = ItemCollectionId +public typealias EngineStoryId = StoryId public typealias EngineFetchResourceSourceType = FetchResourceSourceType public typealias EngineFetchResourceError = FetchResourceError diff --git a/submodules/TelegramStringFormatting/Sources/MessageContentKind.swift b/submodules/TelegramStringFormatting/Sources/MessageContentKind.swift index 86e0333ee1..a198c881ed 100644 --- a/submodules/TelegramStringFormatting/Sources/MessageContentKind.swift +++ b/submodules/TelegramStringFormatting/Sources/MessageContentKind.swift @@ -1,5 +1,4 @@ import Foundation -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences @@ -285,7 +284,7 @@ public func messageTextWithAttributes(message: EngineMessage) -> NSAttributedStr let currentDict = updatedString.attributes(at: range.lowerBound, effectiveRange: nil) var updatedAttributes: [NSAttributedString.Key: Any] = currentDict - updatedAttributes[ChatTextInputAttributes.customEmoji] = ChatTextInputTextCustomEmojiAttribute(interactivelySelectedFromPackId: nil, fileId: fileId, file: message.associatedMedia[MediaId(namespace: Namespaces.Media.CloudFile, id: fileId)] as? TelegramMediaFile) + updatedAttributes[ChatTextInputAttributes.customEmoji] = ChatTextInputTextCustomEmojiAttribute(interactivelySelectedFromPackId: nil, fileId: fileId, file: message.associatedMedia[EngineMedia.Id(namespace: Namespaces.Media.CloudFile, id: fileId)] as? TelegramMediaFile) let insertString = NSAttributedString(string: updatedString.attributedSubstring(from: range).string, attributes: updatedAttributes) updatedString.replaceCharacters(in: range, with: insertString) diff --git a/submodules/TelegramUI/Components/AdPanelHeaderPanelComponent/BUILD b/submodules/TelegramUI/Components/AdPanelHeaderPanelComponent/BUILD index cf80f8d1e8..64b95cb004 100644 --- a/submodules/TelegramUI/Components/AdPanelHeaderPanelComponent/BUILD +++ b/submodules/TelegramUI/Components/AdPanelHeaderPanelComponent/BUILD @@ -15,7 +15,6 @@ swift_library( "//submodules/TelegramPresentationData", "//submodules/AccountContext", "//submodules/SSignalKit/SwiftSignalKit", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/TelegramUIPreferences", "//submodules/StickerResources", diff --git a/submodules/TelegramUI/Components/AdPanelHeaderPanelComponent/Sources/ChatAdPanelNode.swift b/submodules/TelegramUI/Components/AdPanelHeaderPanelComponent/Sources/ChatAdPanelNode.swift index a35099f90c..b6af73d81a 100644 --- a/submodules/TelegramUI/Components/AdPanelHeaderPanelComponent/Sources/ChatAdPanelNode.swift +++ b/submodules/TelegramUI/Components/AdPanelHeaderPanelComponent/Sources/ChatAdPanelNode.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import AsyncDisplayKit -import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData @@ -252,7 +251,7 @@ final class ChatAdPanelNode: ASDisplayNode { return panelHeight } - private func enqueueTransition(width: CGFloat, leftInset: CGFloat, rightInset: CGFloat, transition: ContainedViewLayoutTransition, animation: PinnedMessageAnimation?, message: EngineMessage, theme: PresentationTheme, strings: PresentationStrings, nameDisplayOrder: PresentationPersonNameOrder, dateTimeFormat: PresentationDateTimeFormat, accountPeerId: PeerId, firstTime: Bool, isReplyThread: Bool, translateToLanguage: String?) -> CGFloat { + private func enqueueTransition(width: CGFloat, leftInset: CGFloat, rightInset: CGFloat, transition: ContainedViewLayoutTransition, animation: PinnedMessageAnimation?, message: EngineMessage, theme: PresentationTheme, strings: PresentationStrings, nameDisplayOrder: PresentationPersonNameOrder, dateTimeFormat: PresentationDateTimeFormat, accountPeerId: EnginePeer.Id, firstTime: Bool, isReplyThread: Bool, translateToLanguage: String?) -> CGFloat { var animationTransition: ContainedViewLayoutTransition = .immediate if let animation = animation { @@ -313,7 +312,7 @@ final class ChatAdPanelNode: ASDisplayNode { } else if let paidContent = media as? TelegramMediaPaidContent, let firstMedia = paidContent.extendedMedia.first { switch firstMedia { case let .preview(dimensions, immediateThumbnailData, _): - let thumbnailMedia = TelegramMediaImage(imageId: MediaId(namespace: 0, id: 0), representations: [], immediateThumbnailData: immediateThumbnailData, reference: nil, partialReference: nil, flags: []) + let thumbnailMedia = TelegramMediaImage(imageId: EngineMedia.Id(namespace: 0, id: 0), representations: [], immediateThumbnailData: immediateThumbnailData, reference: nil, partialReference: nil, flags: []) if let dimensions { imageDimensions = dimensions.cgSize } @@ -353,7 +352,7 @@ final class ChatAdPanelNode: ASDisplayNode { } var updateImageSignal: Signal<(TransformImageArguments) -> DrawingContext?, NoError>? - var updatedFetchMediaSignal: Signal? + var updatedFetchMediaSignal: Signal? if mediaUpdated { if let updatedMediaReference = updatedMediaReference, imageDimensions != nil { if let imageReference = updatedMediaReference.concrete(TelegramMediaImage.self) { diff --git a/submodules/TelegramUI/Components/CameraScreen/Sources/CameraLiveStreamComponent.swift b/submodules/TelegramUI/Components/CameraScreen/Sources/CameraLiveStreamComponent.swift index d9d44d6857..29742fbe50 100644 --- a/submodules/TelegramUI/Components/CameraScreen/Sources/CameraLiveStreamComponent.swift +++ b/submodules/TelegramUI/Components/CameraScreen/Sources/CameraLiveStreamComponent.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import ComponentFlow -import Postbox import TelegramCore import SwiftSignalKit import AccountContext @@ -145,7 +144,7 @@ final class CameraLiveStreamComponent: Component { if let story = component.story { if self.storyContentDisposable == nil { - let storyContent = SingleStoryContentContextImpl(context: component.context, storyId: StoryId(peerId: component.peerId, id: story.id), storyItem: story, readGlobally: false) + let storyContent = SingleStoryContentContextImpl(context: component.context, storyId: EngineStoryId(peerId: component.peerId, id: story.id), storyItem: story, readGlobally: false) self.storyContent = storyContent self.storyContentDisposable = (storyContent.state |> deliverOnMainQueue).start(next: { [weak self] state in diff --git a/submodules/TelegramUI/Components/Chat/ChatBotInfoItem/BUILD b/submodules/TelegramUI/Components/Chat/ChatBotInfoItem/BUILD index 9ae227b70d..80c07a35a1 100644 --- a/submodules/TelegramUI/Components/Chat/ChatBotInfoItem/BUILD +++ b/submodules/TelegramUI/Components/Chat/ChatBotInfoItem/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/Display", "//submodules/AsyncDisplayKit", "//submodules/SSignalKit/SwiftSignalKit", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/TelegramPresentationData", "//submodules/TextFormat", diff --git a/submodules/TelegramUI/Components/Chat/ChatBotInfoItem/Sources/ChatBotInfoItem.swift b/submodules/TelegramUI/Components/Chat/ChatBotInfoItem/Sources/ChatBotInfoItem.swift index abb6a5e6db..3225921068 100644 --- a/submodules/TelegramUI/Components/Chat/ChatBotInfoItem/Sources/ChatBotInfoItem.swift +++ b/submodules/TelegramUI/Components/Chat/ChatBotInfoItem/Sources/ChatBotInfoItem.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TextFormat @@ -150,7 +149,7 @@ public final class ChatBotInfoItemNode: ListViewItemNode { } let videoContent = NativeVideoContent( - id: .message(0, MediaId(namespace: 0, id: Int64.random(in: 0..() { + public var selectedMessages = Set() { didSet { if oldValue != self.selectedMessages { self.updateActions() diff --git a/submodules/TelegramUI/Components/Chat/ChatMessageTextBubbleContentNode/BUILD b/submodules/TelegramUI/Components/Chat/ChatMessageTextBubbleContentNode/BUILD index 5654796921..2c419d5b7b 100644 --- a/submodules/TelegramUI/Components/Chat/ChatMessageTextBubbleContentNode/BUILD +++ b/submodules/TelegramUI/Components/Chat/ChatMessageTextBubbleContentNode/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/AsyncDisplayKit", "//submodules/Display", "//submodules/TelegramCore", - "//submodules/Postbox", "//submodules/TextFormat", "//submodules/UrlEscaping", "//submodules/TelegramUniversalVideoContent", diff --git a/submodules/TelegramUI/Components/Chat/ChatMessageTextBubbleContentNode/Sources/ChatMessageTextBubbleContentNode.swift b/submodules/TelegramUI/Components/Chat/ChatMessageTextBubbleContentNode/Sources/ChatMessageTextBubbleContentNode.swift index d11768efe9..988d9d96fc 100644 --- a/submodules/TelegramUI/Components/Chat/ChatMessageTextBubbleContentNode/Sources/ChatMessageTextBubbleContentNode.swift +++ b/submodules/TelegramUI/Components/Chat/ChatMessageTextBubbleContentNode/Sources/ChatMessageTextBubbleContentNode.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import TelegramCore -import Postbox import TextFormat import UrlEscaping import TelegramUniversalVideoContent @@ -654,7 +653,7 @@ public class ChatMessageTextBubbleContentNode: ChatMessageBubbleContentNode { let currentDict = updatedString.attributes(at: range.lowerBound, effectiveRange: nil) var updatedAttributes: [NSAttributedString.Key: Any] = currentDict - updatedAttributes[ChatTextInputAttributes.customEmoji] = ChatTextInputTextCustomEmojiAttribute(interactivelySelectedFromPackId: nil, fileId: fileId, file: item.message.associatedMedia[MediaId(namespace: Namespaces.Media.CloudFile, id: fileId)] as? TelegramMediaFile) + updatedAttributes[ChatTextInputAttributes.customEmoji] = ChatTextInputTextCustomEmojiAttribute(interactivelySelectedFromPackId: nil, fileId: fileId, file: item.message.associatedMedia[EngineMedia.Id(namespace: Namespaces.Media.CloudFile, id: fileId)] as? TelegramMediaFile) let insertString = NSAttributedString(string: updatedString.attributedSubstring(from: range).string, attributes: updatedAttributes) updatedString.replaceCharacters(in: range, with: insertString) @@ -1419,7 +1418,7 @@ public class ChatMessageTextBubbleContentNode: ChatMessageBubbleContentNode { } } - override public func updateSearchTextHighlightState(text: String?, messages: [MessageIndex]?) { + override public func updateSearchTextHighlightState(text: String?, messages: [EngineMessage.Index]?) { guard let item = self.item else { return } diff --git a/submodules/TelegramUI/Components/Chat/ChatRankInfoScreen/Sources/ChatRankInfoScreen.swift b/submodules/TelegramUI/Components/Chat/ChatRankInfoScreen/Sources/ChatRankInfoScreen.swift index 4bbf1b3ca0..694415b061 100644 --- a/submodules/TelegramUI/Components/Chat/ChatRankInfoScreen/Sources/ChatRankInfoScreen.swift +++ b/submodules/TelegramUI/Components/Chat/ChatRankInfoScreen/Sources/ChatRankInfoScreen.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import AsyncDisplayKit -import Postbox import TelegramCore import SwiftSignalKit import AccountContext @@ -233,7 +232,7 @@ private final class ChatRankInfoSheetContent: CombinedComponent { let listItemParams = ListViewItemLayoutParams(width: previewWidth, leftInset: 0.0, rightInset: 0.0, availableHeight: 10000.0, isStandalone: true) - let emptyUser = TelegramUser(id: PeerId(namespace: Namespaces.Peer.CloudUser, id: ._internalFromInt64Value(0)), accessHash: nil, firstName: "A", lastName: "", username: "", phone: "", photo: [], botInfo: nil, restrictionInfo: nil, flags: [], emojiStatus: nil, usernames: [], storiesHidden: nil, nameColor: nil, backgroundEmojiId: nil, profileColor: nil, profileBackgroundEmojiId: nil, subscriberCount: nil, verificationIconFileId: nil) + let emptyUser = TelegramUser(id: EnginePeer.Id(namespace: Namespaces.Peer.CloudUser, id: ._internalFromInt64Value(0)), accessHash: nil, firstName: "A", lastName: "", username: "", phone: "", photo: [], botInfo: nil, restrictionInfo: nil, flags: [], emojiStatus: nil, usernames: [], storiesHidden: nil, nameColor: nil, backgroundEmojiId: nil, profileColor: nil, profileBackgroundEmojiId: nil, subscriberCount: nil, verificationIconFileId: nil) let memberMessageItem = RankChatPreviewItem.MessageItem( peer: .user(emptyUser), diff --git a/submodules/TelegramUI/Components/Chat/ChatRecentActionsController/Sources/ChatRecentActionsController.swift b/submodules/TelegramUI/Components/Chat/ChatRecentActionsController/Sources/ChatRecentActionsController.swift index b315078b7e..1e8c045d20 100644 --- a/submodules/TelegramUI/Components/Chat/ChatRecentActionsController/Sources/ChatRecentActionsController.swift +++ b/submodules/TelegramUI/Components/Chat/ChatRecentActionsController/Sources/ChatRecentActionsController.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import TelegramCore -import Postbox import SwiftSignalKit import TelegramPresentationData import TelegramBaseController @@ -21,7 +20,7 @@ public final class ChatRecentActionsController: TelegramBaseController { private let context: AccountContext private let peer: EnginePeer - private let initialAdminPeerId: PeerId? + private let initialAdminPeerId: EnginePeer.Id? let starsState: StarsRevenueStats? private var presentationData: PresentationData @@ -39,7 +38,7 @@ public final class ChatRecentActionsController: TelegramBaseController { private var adminsDisposable: Disposable? - public init(context: AccountContext, peer: EnginePeer, adminPeerId: PeerId?, starsState: StarsRevenueStats?) { + public init(context: AccountContext, peer: EnginePeer, adminPeerId: EnginePeer.Id?, starsState: StarsRevenueStats?) { self.context = context self.peer = peer self.initialAdminPeerId = adminPeerId diff --git a/submodules/TelegramUI/Components/Chat/ChatSendAsContextMenu/BUILD b/submodules/TelegramUI/Components/Chat/ChatSendAsContextMenu/BUILD index 04c72e4f7b..4070685672 100644 --- a/submodules/TelegramUI/Components/Chat/ChatSendAsContextMenu/BUILD +++ b/submodules/TelegramUI/Components/Chat/ChatSendAsContextMenu/BUILD @@ -14,7 +14,6 @@ swift_library( "//submodules/AsyncDisplayKit", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/TelegramPresentationData", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/AppBundle", "//submodules/ContextUI", diff --git a/submodules/TelegramUI/Components/Chat/ChatSendAsContextMenu/Sources/ChatSendAsPeerListContextItem.swift b/submodules/TelegramUI/Components/Chat/ChatSendAsContextMenu/Sources/ChatSendAsPeerListContextItem.swift index d1b611b2b7..7c68086f5c 100644 --- a/submodules/TelegramUI/Components/Chat/ChatSendAsContextMenu/Sources/ChatSendAsPeerListContextItem.swift +++ b/submodules/TelegramUI/Components/Chat/ChatSendAsContextMenu/Sources/ChatSendAsPeerListContextItem.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import AppBundle @@ -16,14 +15,14 @@ import ContextControllerImpl public final class ChatSendAsPeerListContextItem: ContextMenuCustomItem { let context: AccountContext - let chatPeerId: PeerId + let chatPeerId: EnginePeer.Id let peers: [SendAsPeer] - let selectedPeerId: PeerId? + let selectedPeerId: EnginePeer.Id? let isPremium: Bool let action: (EnginePeer) -> Void let presentToast: (EnginePeer) -> Void - public init(context: AccountContext, chatPeerId: PeerId, peers: [SendAsPeer], selectedPeerId: PeerId?, isPremium: Bool, action: @escaping (EnginePeer) -> Void, presentToast: @escaping (EnginePeer) -> Void) { + public init(context: AccountContext, chatPeerId: EnginePeer.Id, peers: [SendAsPeer], selectedPeerId: EnginePeer.Id?, isPremium: Bool, action: @escaping (EnginePeer) -> Void, presentToast: @escaping (EnginePeer) -> Void) { self.context = context self.chatPeerId = chatPeerId self.peers = peers diff --git a/submodules/TelegramUI/Components/Chat/ChatSideTopicsPanel/BUILD b/submodules/TelegramUI/Components/Chat/ChatSideTopicsPanel/BUILD index 626e7fbeba..5c9157c187 100644 --- a/submodules/TelegramUI/Components/Chat/ChatSideTopicsPanel/BUILD +++ b/submodules/TelegramUI/Components/Chat/ChatSideTopicsPanel/BUILD @@ -11,7 +11,6 @@ swift_library( ], deps = [ "//submodules/SSignalKit/SwiftSignalKit", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/Display", "//submodules/AsyncDisplayKit", diff --git a/submodules/TelegramUI/Components/Chat/ChatSideTopicsPanel/Sources/ChatSideTopicsPanel.swift b/submodules/TelegramUI/Components/Chat/ChatSideTopicsPanel/Sources/ChatSideTopicsPanel.swift index 6de9dc2e22..5317350d90 100644 --- a/submodules/TelegramUI/Components/Chat/ChatSideTopicsPanel/Sources/ChatSideTopicsPanel.swift +++ b/submodules/TelegramUI/Components/Chat/ChatSideTopicsPanel/Sources/ChatSideTopicsPanel.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import SwiftSignalKit -import Postbox import TelegramCore import Display import AsyncDisplayKit @@ -1535,7 +1534,7 @@ public final class ChatSideTopicsPanel: Component { public func topicIndex(threadId: Int64?) -> Int? { if let threadId { if let value = self.rawItems.firstIndex(where: { item in - if item.id == .chatList(PeerId(threadId)) { + if item.id == .chatList(EnginePeer.Id(threadId)) { return true } else if item.id == .forum(threadId) { return true diff --git a/submodules/TelegramUI/Components/Chat/ChatTextInputPanelNode/BUILD b/submodules/TelegramUI/Components/Chat/ChatTextInputPanelNode/BUILD index 234f378b3e..905e14cb61 100644 --- a/submodules/TelegramUI/Components/Chat/ChatTextInputPanelNode/BUILD +++ b/submodules/TelegramUI/Components/Chat/ChatTextInputPanelNode/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/Display", "//submodules/AsyncDisplayKit", "//submodules/SSignalKit/SwiftSignalKit", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/TelegramPresentationData", "//submodules/TextFormat", diff --git a/submodules/TelegramUI/Components/Chat/ChatTextInputPanelNode/Sources/ChatTextInputPanelNode.swift b/submodules/TelegramUI/Components/Chat/ChatTextInputPanelNode/Sources/ChatTextInputPanelNode.swift index fcb5d7a3cb..cc0344eaed 100644 --- a/submodules/TelegramUI/Components/Chat/ChatTextInputPanelNode/Sources/ChatTextInputPanelNode.swift +++ b/submodules/TelegramUI/Components/Chat/ChatTextInputPanelNode/Sources/ChatTextInputPanelNode.swift @@ -4,7 +4,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import MobileCoreServices import TelegramPresentationData @@ -4253,19 +4252,19 @@ public class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDeleg let _ = file let _ = itemLayer - var collectionId: ItemCollectionId? + var collectionId: EngineItemCollectionId? for attribute in file.attributes { if case let .CustomEmoji(_, _, _, packReference) = attribute { switch packReference { case let .id(id, _): - collectionId = ItemCollectionId(namespace: Namespaces.ItemCollection.CloudEmojiPacks, id: id) + collectionId = EngineItemCollectionId(namespace: Namespaces.ItemCollection.CloudEmojiPacks, id: id) default: break } } } - var bubbleUpEmojiOrStickersets: [ItemCollectionId] = [] + var bubbleUpEmojiOrStickersets: [EngineItemCollectionId] = [] if let collectionId { bubbleUpEmojiOrStickersets.append(collectionId) } @@ -4322,9 +4321,9 @@ public class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDeleg case let .CustomEmoji(_, _, displayText, stickerPackReference): text = displayText - var packId: ItemCollectionId? + var packId: EngineItemCollectionId? if case let .id(id, _) = stickerPackReference { - packId = ItemCollectionId(namespace: Namespaces.ItemCollection.CloudEmojiPacks, id: id) + packId = EngineItemCollectionId(namespace: Namespaces.ItemCollection.CloudEmojiPacks, id: id) } emojiAttribute = ChatTextInputTextCustomEmojiAttribute(interactivelySelectedFromPackId: packId, fileId: file.fileId.id, file: file) break loop diff --git a/submodules/TelegramUI/Components/Chat/ChatUserInfoItem/BUILD b/submodules/TelegramUI/Components/Chat/ChatUserInfoItem/BUILD index bfdf93594b..f90aa0e729 100644 --- a/submodules/TelegramUI/Components/Chat/ChatUserInfoItem/BUILD +++ b/submodules/TelegramUI/Components/Chat/ChatUserInfoItem/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/Display", "//submodules/AsyncDisplayKit", "//submodules/SSignalKit/SwiftSignalKit", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/TelegramPresentationData", "//submodules/TextFormat", diff --git a/submodules/TelegramUI/Components/Chat/ChatUserInfoItem/Sources/ChatUserInfoItem.swift b/submodules/TelegramUI/Components/Chat/ChatUserInfoItem/Sources/ChatUserInfoItem.swift index 8a664f562a..69498a7c91 100644 --- a/submodules/TelegramUI/Components/Chat/ChatUserInfoItem/Sources/ChatUserInfoItem.swift +++ b/submodules/TelegramUI/Components/Chat/ChatUserInfoItem/Sources/ChatUserInfoItem.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TextFormat diff --git a/submodules/TelegramUI/Components/Chat/MergedAvatarsNode/BUILD b/submodules/TelegramUI/Components/Chat/MergedAvatarsNode/BUILD index 1328ab6234..4720629155 100644 --- a/submodules/TelegramUI/Components/Chat/MergedAvatarsNode/BUILD +++ b/submodules/TelegramUI/Components/Chat/MergedAvatarsNode/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit", "//submodules/SSignalKit/SwiftSignalKit", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/Display", "//submodules/TelegramPresentationData", diff --git a/submodules/TelegramUI/Components/Chat/MergedAvatarsNode/Sources/MergedAvatarsNode.swift b/submodules/TelegramUI/Components/Chat/MergedAvatarsNode/Sources/MergedAvatarsNode.swift index 3aa48b63ad..6c6dda88c7 100644 --- a/submodules/TelegramUI/Components/Chat/MergedAvatarsNode/Sources/MergedAvatarsNode.swift +++ b/submodules/TelegramUI/Components/Chat/MergedAvatarsNode/Sources/MergedAvatarsNode.swift @@ -4,16 +4,15 @@ import AsyncDisplayKit import Display import SwiftSignalKit import TelegramPresentationData -import Postbox import TelegramCore import AvatarNode import AccountContext private enum PeerAvatarReference: Equatable { - case letters(PeerId, PeerColor?, [String]) + case letters(EnginePeer.Id, PeerColor?, [String]) case image(PeerReference, TelegramMediaImageRepresentation) - var peerId: PeerId { + var peerId: EnginePeer.Id { switch self { case let .letters(value, _, _): return value @@ -35,13 +34,13 @@ private extension PeerAvatarReference { private final class MergedAvatarsNodeArguments: NSObject { let peers: [PeerAvatarReference] - let images: [PeerId: UIImage] + let images: [EnginePeer.Id: UIImage] let imageSize: CGFloat let imageSpacing: CGFloat let borderWidth: CGFloat let avatarFontSize: CGFloat - init(peers: [PeerAvatarReference], images: [PeerId: UIImage], imageSize: CGFloat, imageSpacing: CGFloat, borderWidth: CGFloat, avatarFontSize: CGFloat) { + init(peers: [PeerAvatarReference], images: [EnginePeer.Id: UIImage], imageSize: CGFloat, imageSpacing: CGFloat, borderWidth: CGFloat, avatarFontSize: CGFloat) { self.peers = peers self.images = images self.imageSize = imageSize @@ -62,8 +61,8 @@ public final class MergedAvatarsNode: ASDisplayNode { public static let defaultAvatarFontSize: CGFloat = 8.0 private var peers: [PeerAvatarReference] = [] - private var images: [PeerId: UIImage] = [:] - private var disposables: [PeerId: Disposable] = [:] + private var images: [EnginePeer.Id: UIImage] = [:] + private var disposables: [EnginePeer.Id: Disposable] = [:] private let buttonNode: HighlightTrackingButtonNode private var imageSize: CGFloat = defaultMergedImageSize private var imageSpacing: CGFloat = defaultMergedImageSpacing @@ -110,20 +109,20 @@ public final class MergedAvatarsNode: ASDisplayNode { if filteredPeers != self.peers { self.peers = filteredPeers - var validImageIds: [PeerId] = [] + var validImageIds: [EnginePeer.Id] = [] for peer in filteredPeers { if case .image = peer { validImageIds.append(peer.peerId) } } - var removedImageIds: [PeerId] = [] + var removedImageIds: [EnginePeer.Id] = [] for (id, _) in self.images { if !validImageIds.contains(id) { removedImageIds.append(id) } } - var removedDisposableIds: [PeerId] = [] + var removedDisposableIds: [EnginePeer.Id] = [] for (id, disposable) in self.disposables { if !validImageIds.contains(id) { disposable.dispose() diff --git a/submodules/TelegramUI/Components/Chat/ReplyAccessoryPanelNode/BUILD b/submodules/TelegramUI/Components/Chat/ReplyAccessoryPanelNode/BUILD index d027a20de9..d9502ff521 100644 --- a/submodules/TelegramUI/Components/Chat/ReplyAccessoryPanelNode/BUILD +++ b/submodules/TelegramUI/Components/Chat/ReplyAccessoryPanelNode/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit", "//submodules/TelegramCore", - "//submodules/Postbox", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/Display", "//submodules/TelegramPresentationData", diff --git a/submodules/TelegramUI/Components/Chat/ReplyAccessoryPanelNode/Sources/ReplyAccessoryPanelNode.swift b/submodules/TelegramUI/Components/Chat/ReplyAccessoryPanelNode/Sources/ReplyAccessoryPanelNode.swift index 44c99484a2..bde6b73843 100644 --- a/submodules/TelegramUI/Components/Chat/ReplyAccessoryPanelNode/Sources/ReplyAccessoryPanelNode.swift +++ b/submodules/TelegramUI/Components/Chat/ReplyAccessoryPanelNode/Sources/ReplyAccessoryPanelNode.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import AsyncDisplayKit import TelegramCore -import Postbox import SwiftSignalKit import Display import TelegramPresentationData @@ -24,7 +23,7 @@ import CompositeTextNode public final class ReplyAccessoryPanelNode: AccessoryPanelNode { private let messageDisposable = MetaDisposable() public let chatPeerId: EnginePeer.Id - public let messageId: MessageId + public let messageId: EngineMessage.Id public let quote: EngineMessageReplyQuote? public let innerSubject: EngineMessageReplyInnerSubject? @@ -47,7 +46,7 @@ public final class ReplyAccessoryPanelNode: AccessoryPanelNode { private var validLayout: (size: CGSize, inset: CGFloat, interfaceState: ChatPresentationInterfaceState)? - public init(context: AccountContext, chatPeerId: EnginePeer.Id, messageId: MessageId, quote: EngineMessageReplyQuote?, innerSubject: EngineMessageReplyInnerSubject?, theme: PresentationTheme, strings: PresentationStrings, nameDisplayOrder: PresentationPersonNameOrder, dateTimeFormat: PresentationDateTimeFormat, animationCache: AnimationCache?, animationRenderer: MultiAnimationRenderer?) { + public init(context: AccountContext, chatPeerId: EnginePeer.Id, messageId: EngineMessage.Id, quote: EngineMessageReplyQuote?, innerSubject: EngineMessageReplyInnerSubject?, theme: PresentationTheme, strings: PresentationStrings, nameDisplayOrder: PresentationPersonNameOrder, dateTimeFormat: PresentationDateTimeFormat, animationCache: AnimationCache?, animationRenderer: MultiAnimationRenderer?) { self.chatPeerId = chatPeerId self.messageId = messageId self.quote = quote diff --git a/submodules/TelegramUI/Components/ChatEntityKeyboardInputNode/Sources/GifPaneSearchContentNode.swift b/submodules/TelegramUI/Components/ChatEntityKeyboardInputNode/Sources/GifPaneSearchContentNode.swift index 29d2068b92..74b9ec72c8 100644 --- a/submodules/TelegramUI/Components/ChatEntityKeyboardInputNode/Sources/GifPaneSearchContentNode.swift +++ b/submodules/TelegramUI/Components/ChatEntityKeyboardInputNode/Sources/GifPaneSearchContentNode.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import AccountContext diff --git a/submodules/TelegramUI/Components/ChatEntityKeyboardInputNode/Sources/PaneSearchContainerNode.swift b/submodules/TelegramUI/Components/ChatEntityKeyboardInputNode/Sources/PaneSearchContainerNode.swift index b9255fdffd..c50d6e40d6 100644 --- a/submodules/TelegramUI/Components/ChatEntityKeyboardInputNode/Sources/PaneSearchContainerNode.swift +++ b/submodules/TelegramUI/Components/ChatEntityKeyboardInputNode/Sources/PaneSearchContainerNode.swift @@ -5,7 +5,6 @@ import Display import ComponentFlow import SearchBarNode import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import AccountContext @@ -185,7 +184,7 @@ public final class PaneSearchContainerNode: ASDisplayNode, EntitySearchContainer for attribute in file.attributes { if case let .Sticker(_, packReference, _) = attribute { if case let .id(id, _) = packReference { - groupId = AnyHashable(ItemCollectionId(namespace: Namespaces.ItemCollection.CloudStickerPacks, id: id)) + groupId = AnyHashable(EngineItemCollectionId(namespace: Namespaces.ItemCollection.CloudStickerPacks, id: id)) } } } diff --git a/submodules/TelegramUI/Components/ChatThemeScreen/BUILD b/submodules/TelegramUI/Components/ChatThemeScreen/BUILD index cb29f70424..fd44f1f568 100644 --- a/submodules/TelegramUI/Components/ChatThemeScreen/BUILD +++ b/submodules/TelegramUI/Components/ChatThemeScreen/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/SSignalKit/SwiftSignalKit", "//submodules/AsyncDisplayKit", "//submodules/Display", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/AccountContext", "//submodules/ComponentFlow", diff --git a/submodules/TelegramUI/Components/ChatTitleView/Sources/ChatTitleComponent.swift b/submodules/TelegramUI/Components/ChatTitleView/Sources/ChatTitleComponent.swift index c2c1e04a57..db51166224 100644 --- a/submodules/TelegramUI/Components/ChatTitleView/Sources/ChatTitleComponent.swift +++ b/submodules/TelegramUI/Components/ChatTitleView/Sources/ChatTitleComponent.swift @@ -5,7 +5,6 @@ import ComponentFlow import TelegramPresentationData import AccountContext import TelegramUIPreferences -import Postbox import TelegramCore import PeerPresenceStatusManager import ChatTitleActivityNode diff --git a/submodules/TelegramUI/Components/ComposePollScreen/Sources/PollAttachmentScreen.swift b/submodules/TelegramUI/Components/ComposePollScreen/Sources/PollAttachmentScreen.swift index c38c24e3aa..e6fbfce77d 100644 --- a/submodules/TelegramUI/Components/ComposePollScreen/Sources/PollAttachmentScreen.swift +++ b/submodules/TelegramUI/Components/ComposePollScreen/Sources/PollAttachmentScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import AccountContext import TelegramCore -import Postbox import SwiftSignalKit import TelegramPresentationData import LegacyComponents @@ -170,7 +169,7 @@ public func presentPollAttachmentScreen( attributes.append(.Audio(isVoice: false, duration: audioMetadata.duration, title: audioMetadata.title, performer: audioMetadata.performer, waveform: nil)) } - let file = TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: fileId), partialReference: nil, resource: ICloudFileResource(urlData: item.urlData, thumbnail: false), previewRepresentations: previewRepresentations, videoThumbnails: [], immediateThumbnailData: nil, mimeType: mimeType, size: Int64(item.fileSize), attributes: attributes, alternativeRepresentations: []) + let file = TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: fileId), partialReference: nil, resource: ICloudFileResource(urlData: item.urlData, thumbnail: false), previewRepresentations: previewRepresentations, videoThumbnails: [], immediateThumbnailData: nil, mimeType: mimeType, size: Int64(item.fileSize), attributes: attributes, alternativeRepresentations: []) completion(.standalone(media: file)) }) }) diff --git a/submodules/TelegramUI/Components/Contacts/NewContactScreen/Sources/NewContactScreen.swift b/submodules/TelegramUI/Components/Contacts/NewContactScreen/Sources/NewContactScreen.swift index 834c0c56fc..559ea77179 100644 --- a/submodules/TelegramUI/Components/Contacts/NewContactScreen/Sources/NewContactScreen.swift +++ b/submodules/TelegramUI/Components/Contacts/NewContactScreen/Sources/NewContactScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import AccountContext import TelegramCore -import Postbox import SwiftSignalKit import TelegramPresentationData import ComponentFlow diff --git a/submodules/TelegramUI/Components/EmojiStatusSelectionComponent/BUILD b/submodules/TelegramUI/Components/EmojiStatusSelectionComponent/BUILD index 926aa3334d..89a9fc772e 100644 --- a/submodules/TelegramUI/Components/EmojiStatusSelectionComponent/BUILD +++ b/submodules/TelegramUI/Components/EmojiStatusSelectionComponent/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit:AsyncDisplayKit", "//submodules/Display:Display", - "//submodules/Postbox:Postbox", "//submodules/TelegramCore:TelegramCore", "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", "//submodules/ComponentFlow:ComponentFlow", diff --git a/submodules/TelegramUI/Components/EmojiStatusSelectionComponent/Sources/EmojiStatusSelectionComponent.swift b/submodules/TelegramUI/Components/EmojiStatusSelectionComponent/Sources/EmojiStatusSelectionComponent.swift index 9d68d758fe..faa32424eb 100644 --- a/submodules/TelegramUI/Components/EmojiStatusSelectionComponent/Sources/EmojiStatusSelectionComponent.swift +++ b/submodules/TelegramUI/Components/EmojiStatusSelectionComponent/Sources/EmojiStatusSelectionComponent.swift @@ -18,7 +18,6 @@ import TextFormat import AppBundle import GZip import EmojiStatusComponent -import Postbox import TelegramNotices private func randomGenericReactionEffect(context: AccountContext) -> Signal { @@ -439,7 +438,7 @@ public final class EmojiStatusSelectionController: ViewController { openSearch: { }, addGroupAction: { groupId, isPremiumLocked, _ in - guard let strongSelf = self, let collectionId = groupId.base as? ItemCollectionId else { + guard let strongSelf = self, let collectionId = groupId.base as? EngineItemCollectionId else { return } @@ -550,7 +549,7 @@ public final class EmojiStatusSelectionController: ViewController { |> map { foundEmoji, foundPacks -> (groups: [EmojiPagerContentComponent.ItemGroup], canLoadMore: Bool, isSearching: Bool, searchContext: EmojiSearchContext?) in var items: [EmojiPagerContentComponent.Item] = [] - var existingIds = Set() + var existingIds = Set() for itemFile in foundEmoji.items { if existingIds.contains(itemFile.fileId) { continue diff --git a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EmojiPagerContentComponent.swift b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EmojiPagerContentComponent.swift index f9e3617e60..59b3223227 100644 --- a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EmojiPagerContentComponent.swift +++ b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EmojiPagerContentComponent.swift @@ -5,7 +5,6 @@ import ComponentFlow import PagerComponent import TelegramPresentationData import TelegramCore -import Postbox import MultiAnimationRenderer import AnimationCache import AccountContext @@ -38,8 +37,8 @@ public struct EmojiComponentReactionItem: Equatable { public final class EntityKeyboardAnimationData: Equatable { public enum Id: Hashable { - case file(MediaId) - case stickerPackThumbnail(ItemCollectionId) + case file(EngineMedia.Id) + case stickerPackThumbnail(EngineItemCollectionId) case gift(String) } @@ -267,7 +266,7 @@ public final class EmojiPagerContentComponent: Component { public let externalCancel: (() -> Void)? public let onScroll: () -> Void public let loadMore: (() -> Void)? - public let chatPeerId: PeerId? + public let chatPeerId: EnginePeer.Id? public let peekBehavior: EmojiContentPeekBehavior? public let customLayout: CustomLayout? public let externalBackground: ExternalBackground? @@ -298,7 +297,7 @@ public final class EmojiPagerContentComponent: Component { externalCancel: (() -> Void)? = nil, onScroll: @escaping () -> Void, loadMore: (() -> Void)? = nil, - chatPeerId: PeerId?, + chatPeerId: EnginePeer.Id?, peekBehavior: EmojiContentPeekBehavior?, customLayout: CustomLayout?, externalBackground: ExternalBackground?, @@ -729,7 +728,7 @@ public final class EmojiPagerContentComponent: Component { ) } - public func withSelectedItems(_ selectedItems: Set) -> EmojiPagerContentComponent { + public func withSelectedItems(_ selectedItems: Set) -> EmojiPagerContentComponent { return EmojiPagerContentComponent( id: self.id, context: self.context, @@ -1746,7 +1745,7 @@ public final class EmojiPagerContentComponent: Component { } } - public func animateInReactionSelection(sourceItems: [MediaId: (frame: CGRect, cornerRadius: CGFloat, frameIndex: Int, placeholder: UIImage)]) { + public func animateInReactionSelection(sourceItems: [EngineMedia.Id: (frame: CGRect, cornerRadius: CGFloat, frameIndex: Int, placeholder: UIImage)]) { guard let component = self.component, let itemLayout = self.itemLayout else { return } @@ -3858,7 +3857,7 @@ public final class EmojiPagerContentComponent: Component { } var removedItemSelectionLayerIds: [EmojiKeyboardItemLayer.Key] = [] for (id, itemSelectionLayer) in self.visibleItemSelectionLayers { - var fileId: MediaId? + var fileId: EngineMedia.Id? switch id.itemId { case let .animation(id): switch id { diff --git a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EmojiSearchContent.swift b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EmojiSearchContent.swift index 3967917a8b..0ab2b9c3df 100644 --- a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EmojiSearchContent.swift +++ b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EmojiSearchContent.swift @@ -4,7 +4,6 @@ import Display import ComponentFlow import TelegramPresentationData import TelegramCore -import Postbox import AnimationCache import MultiAnimationRenderer import AccountContext @@ -42,7 +41,7 @@ public final class EmojiSearchContent: ASDisplayNode, EntitySearchContainerNode private let context: AccountContext private let forceTheme: PresentationTheme? - private var initialFocusId: ItemCollectionId? + private var initialFocusId: EngineItemCollectionId? private let hasPremiumForUse: Bool private let hasPremiumForInstallation: Bool private let parentInputInteraction: EmojiPagerContentComponent.InputInteraction @@ -73,7 +72,7 @@ public final class EmojiSearchContent: ASDisplayNode, EntitySearchContainerNode context: AccountContext, forceTheme: PresentationTheme?, items: [FeaturedStickerPackItem], - initialFocusId: ItemCollectionId?, + initialFocusId: EngineItemCollectionId?, hasPremiumForUse: Bool, hasPremiumForInstallation: Bool, parentInputInteraction: EmojiPagerContentComponent.InputInteraction @@ -263,7 +262,7 @@ public final class EmojiSearchContent: ASDisplayNode, EntitySearchContainerNode var items: [EmojiPagerContentComponent.Item] = [] - var existingIds = Set() + var existingIds = Set() for item in result { if let itemFile = item.1 { if existingIds.contains(itemFile.fileId) { @@ -321,7 +320,7 @@ public final class EmojiSearchContent: ASDisplayNode, EntitySearchContainerNode |> mapToSignal { files, isFinalResult -> Signal<(items: [EmojiPagerContentComponent.ItemGroup], isFinalResult: Bool), NoError> in var items: [EmojiPagerContentComponent.Item] = [] - var existingIds = Set() + var existingIds = Set() for itemFile in files { if existingIds.contains(itemFile.fileId) { continue diff --git a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboard.swift b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboard.swift index bb904a961c..e03665b427 100644 --- a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboard.swift +++ b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboard.swift @@ -5,7 +5,6 @@ import ComponentFlow import PagerComponent import TelegramPresentationData import TelegramCore -import Postbox import BundleIconComponent import AudioToolbox import SwiftSignalKit diff --git a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboardTopPanelComponent.swift b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboardTopPanelComponent.swift index 68918afe3c..5cfbcad852 100644 --- a/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboardTopPanelComponent.swift +++ b/submodules/TelegramUI/Components/EntityKeyboard/Sources/EntityKeyboardTopPanelComponent.swift @@ -6,7 +6,6 @@ import ComponentFlow import PagerComponent import TelegramPresentationData import TelegramCore -import Postbox import AnimationCache import MultiAnimationRenderer import AccountContext diff --git a/submodules/TelegramUI/Components/EntityKeyboard/Sources/GifPagerContentComponent.swift b/submodules/TelegramUI/Components/EntityKeyboard/Sources/GifPagerContentComponent.swift index e21a915d81..d4a84ca4a8 100644 --- a/submodules/TelegramUI/Components/EntityKeyboard/Sources/GifPagerContentComponent.swift +++ b/submodules/TelegramUI/Components/EntityKeyboard/Sources/GifPagerContentComponent.swift @@ -5,7 +5,6 @@ import ComponentFlow import PagerComponent import TelegramPresentationData import TelegramCore -import Postbox import MultiAnimationRenderer import AnimationCache import AccountContext @@ -248,7 +247,7 @@ public final class GifPagerContentComponent: Component { } fileprivate enum ItemKey: Hashable { - case media(MediaId) + case media(EngineMedia.Id) case placeholder(Int) } diff --git a/submodules/TelegramUI/Components/EntityKeyboardGifContent/Sources/GifContext.swift b/submodules/TelegramUI/Components/EntityKeyboardGifContent/Sources/GifContext.swift index b888b84842..10f296469b 100644 --- a/submodules/TelegramUI/Components/EntityKeyboardGifContent/Sources/GifContext.swift +++ b/submodules/TelegramUI/Components/EntityKeyboardGifContent/Sources/GifContext.swift @@ -126,7 +126,7 @@ public func paneGifSearchForQuery(context: AccountContext, query: String, offset )) } } - let file = TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: uniqueId ?? 0), partialReference: nil, resource: resource, previewRepresentations: previews, videoThumbnails: videoThumbnails, immediateThumbnailData: nil, mimeType: "video/mp4", size: nil, attributes: [.Animated, .Video(duration: 0, size: dimensions, flags: [], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: []) + let file = TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: uniqueId ?? 0), partialReference: nil, resource: resource, previewRepresentations: previews, videoThumbnails: videoThumbnails, immediateThumbnailData: nil, mimeType: "video/mp4", size: nil, attributes: [.Animated, .Video(duration: 0, size: dimensions, flags: [], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: []) references.append(MultiplexedVideoNodeFile(file: FileMediaReference.standalone(media: file), contextResult: (collection, result))) } case let .internalReference(internalReference): @@ -339,7 +339,7 @@ public final class GifContext { gifItems = combineLatest(hasRecentGifs, paneGifSearchForQuery(context: context, query: query.joined(separator: ""), offset: token, incompleteResults: true, staleCachedResults: true, delayRequest: false, updateActivity: nil), searchCategories) |> map { hasRecentGifs, result, searchCategories -> EntityKeyboardGifContent in var items: [GifPagerContentComponent.Item] = [] - var existingIds = Set() + var existingIds = Set() for item in componentValue.component.items { items.append(item) existingIds.insert(item.file.media.fileId) diff --git a/submodules/TelegramUI/Components/ForumSettingsScreen/BUILD b/submodules/TelegramUI/Components/ForumSettingsScreen/BUILD index aca03b4f73..24513601ad 100644 --- a/submodules/TelegramUI/Components/ForumSettingsScreen/BUILD +++ b/submodules/TelegramUI/Components/ForumSettingsScreen/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit", "//submodules/Display", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/TelegramPresentationData", diff --git a/submodules/TelegramUI/Components/ForumSettingsScreen/Sources/ForumSettingsScreen.swift b/submodules/TelegramUI/Components/ForumSettingsScreen/Sources/ForumSettingsScreen.swift index e458503b03..ee74f81b9f 100644 --- a/submodules/TelegramUI/Components/ForumSettingsScreen/Sources/ForumSettingsScreen.swift +++ b/submodules/TelegramUI/Components/ForumSettingsScreen/Sources/ForumSettingsScreen.swift @@ -4,7 +4,6 @@ import Photos import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences @@ -205,7 +204,7 @@ final class ForumSettingsScreenComponent: Component { return context.engine.peers.setChannelForumMode(id: upgradedPeerId, isForum: true, displayForumAsTabs: mode == .tabs) }) |> map(Optional.init) - |> `catch` { [weak self] error -> Signal in + |> `catch` { [weak self] error -> Signal in guard let self, let controller = self.environment?.controller() else { return .single(nil) } @@ -221,7 +220,7 @@ final class ForumSettingsScreenComponent: Component { } return .single(nil) } - |> mapToSignal { upgradedPeerId -> Signal in + |> mapToSignal { upgradedPeerId -> Signal in guard let upgradedPeerId = upgradedPeerId else { return .single(nil) } diff --git a/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/BUILD b/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/BUILD index d0a949560d..f662b2c9dd 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/BUILD +++ b/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit", "//submodules/Display", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/TelegramPresentationData", diff --git a/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/Sources/GiftCraftScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/Sources/GiftCraftScreen.swift index 600d686a89..700d57b821 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/Sources/GiftCraftScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/Sources/GiftCraftScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import ComponentFlow import SwiftSignalKit -import Postbox import TelegramCore import AppBundle import LocalMediaResources @@ -367,7 +366,7 @@ private final class CraftGiftPageContent: Component { let anvilPath = getAppBundle().url(forResource: "Anvil", withExtension: "tgs")?.path ?? "" let anvilFile = TelegramMediaFile( - fileId: MediaId(namespace: Namespaces.Media.CloudFile, id: -123456789), + fileId: EngineMedia.Id(namespace: Namespaces.Media.CloudFile, id: -123456789), partialReference: nil, resource: BundleResource(name: "Anvil", path: anvilPath), previewRepresentations: [], diff --git a/submodules/TelegramUI/Components/Gifts/GiftOptionsScreen/BUILD b/submodules/TelegramUI/Components/Gifts/GiftOptionsScreen/BUILD index 089497fb3f..1820be66b0 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftOptionsScreen/BUILD +++ b/submodules/TelegramUI/Components/Gifts/GiftOptionsScreen/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit", "//submodules/Display", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/ComponentFlow", diff --git a/submodules/TelegramUI/Components/Gifts/GiftOptionsScreen/Sources/GiftOptionsScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftOptionsScreen/Sources/GiftOptionsScreen.swift index c094de4738..429cf39c84 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftOptionsScreen/Sources/GiftOptionsScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftOptionsScreen/Sources/GiftOptionsScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences diff --git a/submodules/TelegramUI/Components/Gifts/GiftSetupScreen/Sources/GiftSetupScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftSetupScreen/Sources/GiftSetupScreen.swift index 840e88d024..ec517ecc7e 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftSetupScreen/Sources/GiftSetupScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftSetupScreen/Sources/GiftSetupScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences diff --git a/submodules/TelegramUI/Components/Gifts/GiftStoreScreen/Sources/GiftStoreScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftStoreScreen/Sources/GiftStoreScreen.swift index 2474a534a5..79e9e74846 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftStoreScreen/Sources/GiftStoreScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftStoreScreen/Sources/GiftStoreScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences diff --git a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionViewScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionViewScreen.swift index 07fe56a270..ac8b784202 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionViewScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionViewScreen.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import AsyncDisplayKit -import Postbox import TelegramCore import SwiftSignalKit import AccountContext diff --git a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionWearPreviewScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionWearPreviewScreen.swift index 167c6b3cbe..6df1fa2907 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionWearPreviewScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionWearPreviewScreen.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import AsyncDisplayKit -import Postbox import TelegramCore import SwiftSignalKit import AccountContext diff --git a/submodules/TelegramUI/Components/GroupCallHeaderPanelComponent/BUILD b/submodules/TelegramUI/Components/GroupCallHeaderPanelComponent/BUILD index f3a92b4554..02bb123ece 100644 --- a/submodules/TelegramUI/Components/GroupCallHeaderPanelComponent/BUILD +++ b/submodules/TelegramUI/Components/GroupCallHeaderPanelComponent/BUILD @@ -15,7 +15,6 @@ swift_library( "//submodules/TelegramPresentationData", "//submodules/AccountContext", "//submodules/TelegramCore", - "//submodules/Postbox", "//submodules/Components/ComponentDisplayAdapters", "//submodules/TelegramUIPreferences", "//submodules/SSignalKit/SwiftSignalKit", diff --git a/submodules/TelegramUI/Components/GroupCallHeaderPanelComponent/Sources/GroupCallNavigationAccessoryPanel.swift b/submodules/TelegramUI/Components/GroupCallHeaderPanelComponent/Sources/GroupCallNavigationAccessoryPanel.swift index 643569e238..d059a78b71 100644 --- a/submodules/TelegramUI/Components/GroupCallHeaderPanelComponent/Sources/GroupCallNavigationAccessoryPanel.swift +++ b/submodules/TelegramUI/Components/GroupCallHeaderPanelComponent/Sources/GroupCallNavigationAccessoryPanel.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import TelegramCore -import Postbox import TelegramPresentationData import TelegramUIPreferences import TelegramStringFormatting @@ -102,7 +101,7 @@ final class GroupCallNavigationAccessoryPanel: ASDisplayNode { private let avatarsContext: AnimatedAvatarSetContext private var avatarsContent: AnimatedAvatarSetContext.Content? private let avatarsNode: AnimatedAvatarSetNode - private var audioLevelGenerators: [PeerId: FakeAudioLevelGenerator] = [:] + private var audioLevelGenerators: [EnginePeer.Id: FakeAudioLevelGenerator] = [:] private var audioLevelGeneratorTimer: SwiftSignalKit.Timer? private let backgroundNode: ASDisplayNode @@ -546,7 +545,7 @@ final class GroupCallNavigationAccessoryPanel: ASDisplayNode { self.audioLevelGenerators[peerId] = FakeAudioLevelGenerator() } } - var removeGenerators: [PeerId] = [] + var removeGenerators: [EnginePeer.Id] = [] for peerId in self.audioLevelGenerators.keys { if !data.activeSpeakers.contains(peerId) { removeGenerators.append(peerId) @@ -571,7 +570,7 @@ final class GroupCallNavigationAccessoryPanel: ASDisplayNode { } private func sampleAudioGenerators() { - var levels: [PeerId: Float] = [:] + var levels: [EnginePeer.Id: Float] = [:] for (peerId, generator) in self.audioLevelGenerators { levels[peerId] = generator.get() } diff --git a/submodules/TelegramUI/Components/LegacyInstantVideoController/BUILD b/submodules/TelegramUI/Components/LegacyInstantVideoController/BUILD index 4ffab8aeb7..e44c649b1f 100644 --- a/submodules/TelegramUI/Components/LegacyInstantVideoController/BUILD +++ b/submodules/TelegramUI/Components/LegacyInstantVideoController/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/AsyncDisplayKit", "//submodules/Display", "//submodules/TelegramCore", - "//submodules/Postbox", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/TelegramPresentationData", "//submodules/MediaResources", diff --git a/submodules/TelegramUI/Components/LegacyInstantVideoController/Sources/LegacyInstantVideoController.swift b/submodules/TelegramUI/Components/LegacyInstantVideoController/Sources/LegacyInstantVideoController.swift index 8e8c81eb1d..b36288d29a 100644 --- a/submodules/TelegramUI/Components/LegacyInstantVideoController/Sources/LegacyInstantVideoController.swift +++ b/submodules/TelegramUI/Components/LegacyInstantVideoController/Sources/LegacyInstantVideoController.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import TelegramCore -import Postbox import SwiftSignalKit import TelegramPresentationData import MediaResources @@ -133,7 +132,7 @@ public func legacyInputMicPalette(from theme: PresentationTheme) -> TGModernConv return TGModernConversationInputMicPallete(dark: theme.overallDarkAppearance, buttonColor: inputPanelTheme.actionControlFillColor, iconColor: inputPanelTheme.actionControlForegroundColor, backgroundColor: theme.rootController.navigationBar.opaqueBackgroundColor, borderColor: inputPanelTheme.panelSeparatorColor, lock: inputPanelTheme.panelControlAccentColor, textColor: inputPanelTheme.primaryTextColor, secondaryTextColor: inputPanelTheme.secondaryTextColor, recording: inputPanelTheme.mediaRecordingDotColor) } -public func legacyInstantVideoController(theme: PresentationTheme, forStory: Bool, panelFrame: CGRect, context: AccountContext, peerId: PeerId, slowmodeState: ChatSlowmodeState?, hasSchedule: Bool, send: @escaping (InstantVideoController, EnqueueMessage?) -> Void, displaySlowmodeTooltip: @escaping (UIView, CGRect) -> Void, presentSchedulePicker: @escaping (@escaping (Int32, Bool) -> Void) -> Void) -> InstantVideoController { +public func legacyInstantVideoController(theme: PresentationTheme, forStory: Bool, panelFrame: CGRect, context: AccountContext, peerId: EnginePeer.Id, slowmodeState: ChatSlowmodeState?, hasSchedule: Bool, send: @escaping (InstantVideoController, EnqueueMessage?) -> Void, displaySlowmodeTooltip: @escaping (UIView, CGRect) -> Void, presentSchedulePicker: @escaping (@escaping (Int32, Bool) -> Void) -> Void) -> InstantVideoController { let isSecretChat = peerId.namespace == Namespaces.Peer.SecretChat let legacyController = InstantVideoController(presentation: .custom, theme: theme) @@ -203,8 +202,8 @@ public func legacyInstantVideoController(theme: PresentationTheme, forStory: Boo } if let dict = adjustments.dictionary(), let data = try? NSKeyedArchiver.archivedData(withRootObject: dict, requiringSecureCoding: false) { - let adjustmentsData = MemoryBuffer(data: data) - let digest = MemoryBuffer(data: adjustmentsData.md5Digest()) + let adjustmentsData = EngineMemoryBuffer(data: data) + let digest = EngineMemoryBuffer(data: adjustmentsData.md5Digest()) resourceAdjustments = VideoMediaResourceAdjustments(data: adjustmentsData, digest: digest, isStory: false) } } @@ -222,16 +221,16 @@ public func legacyInstantVideoController(theme: PresentationTheme, forStory: Boo } if let previewImage = previewImage { - let tempFile = TempBox.shared.tempFile(fileName: "file") + let tempFile = EngineTempBox.shared.tempFile(fileName: "file") defer { - TempBox.shared.dispose(tempFile) + EngineTempBox.shared.dispose(tempFile) } if let data = compressImageToJPEG(previewImage, quality: 0.7, tempFilePath: tempFile.path) { context.account.postbox.mediaBox.storeCachedResourceRepresentation(resource, representation: CachedVideoFirstFrameRepresentation(), data: data) } } - let media = TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: Int64.random(in: Int64.min ... Int64.max)), partialReference: nil, resource: resource, previewRepresentations: previewRepresentations, videoThumbnails: [], immediateThumbnailData: nil, mimeType: "video/mp4", size: nil, attributes: [.FileName(fileName: "video.mp4"), .Video(duration: finalDuration, size: PixelDimensions(finalDimensions), flags: [.instantRoundVideo], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: []) + let media = TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: Int64.random(in: Int64.min ... Int64.max)), partialReference: nil, resource: resource, previewRepresentations: previewRepresentations, videoThumbnails: [], immediateThumbnailData: nil, mimeType: "video/mp4", size: nil, attributes: [.FileName(fileName: "video.mp4"), .Video(duration: finalDuration, size: PixelDimensions(finalDimensions), flags: [.instantRoundVideo], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: []) var message: EnqueueMessage = .message(text: "", attributes: [], inlineStickers: [:], mediaReference: .standalone(media: media), threadId: nil, replyToMessageId: nil, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: []) let scheduleTime: Int32? = scheduleTimestamp > 0 ? scheduleTimestamp : nil diff --git a/submodules/TelegramUI/Components/LegacyMessageInputPanel/BUILD b/submodules/TelegramUI/Components/LegacyMessageInputPanel/BUILD index fe0a6b4c34..a651b6703f 100644 --- a/submodules/TelegramUI/Components/LegacyMessageInputPanel/BUILD +++ b/submodules/TelegramUI/Components/LegacyMessageInputPanel/BUILD @@ -14,7 +14,6 @@ swift_library( "//submodules/AsyncDisplayKit:AsyncDisplayKit", "//submodules/Display", "//submodules/TelegramCore", - "//submodules/Postbox", "//submodules/AccountContext", "//submodules/LegacyComponents", "//submodules/ChatPresentationInterfaceState", diff --git a/submodules/TelegramUI/Components/LegacyMessageInputPanel/Sources/LegacyMessageInputPanel.swift b/submodules/TelegramUI/Components/LegacyMessageInputPanel/Sources/LegacyMessageInputPanel.swift index 10605a67f4..d49f849c2b 100644 --- a/submodules/TelegramUI/Components/LegacyMessageInputPanel/Sources/LegacyMessageInputPanel.swift +++ b/submodules/TelegramUI/Components/LegacyMessageInputPanel/Sources/LegacyMessageInputPanel.swift @@ -4,7 +4,6 @@ import AsyncDisplayKit import LegacyComponents import Display import TelegramCore -import Postbox import SwiftSignalKit import AccountContext import ComponentFlow diff --git a/submodules/TelegramUI/Components/LiveLocationHeaderPanelComponent/Sources/LiveLocationHeaderPanelComponent.swift b/submodules/TelegramUI/Components/LiveLocationHeaderPanelComponent/Sources/LiveLocationHeaderPanelComponent.swift index 9ec0dfbfad..4b3d93258b 100644 --- a/submodules/TelegramUI/Components/LiveLocationHeaderPanelComponent/Sources/LiveLocationHeaderPanelComponent.swift +++ b/submodules/TelegramUI/Components/LiveLocationHeaderPanelComponent/Sources/LiveLocationHeaderPanelComponent.swift @@ -8,10 +8,9 @@ import AccountContext import TelegramCore import GlobalControlPanelsContext import SwiftSignalKit -import Postbox import PresentationDataUtils -private func presentLiveLocationController(context: AccountContext, peerId: PeerId, controller: ViewController) { +private func presentLiveLocationController(context: AccountContext, peerId: EnginePeer.Id, controller: ViewController) { let presentImpl: (EngineMessage?) -> Void = { [weak controller] message in if let message = message, let strongController = controller { let _ = context.sharedContext.openChatMessage(OpenChatMessageParams(context: context, chatLocation: nil, chatFilterTag: nil, chatLocationContextHolder: nil, message: message._asMessage(), standalone: false, reverseMessageGalleryOrder: false, navigationController: strongController.navigationController as? NavigationController, modal: true, dismissInput: { diff --git a/submodules/TelegramUI/Components/MediaEditor/Sources/Drawing/DrawingStickerEntity.swift b/submodules/TelegramUI/Components/MediaEditor/Sources/Drawing/DrawingStickerEntity.swift index 13ce46aedd..a30694ea60 100644 --- a/submodules/TelegramUI/Components/MediaEditor/Sources/Drawing/DrawingStickerEntity.swift +++ b/submodules/TelegramUI/Components/MediaEditor/Sources/Drawing/DrawingStickerEntity.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import AccountContext -import Postbox import TelegramCore func entitiesPath() -> String { @@ -38,7 +37,7 @@ public final class DrawingStickerEntity: DrawingEntity, Codable { case animatedImage(Data, UIImage) case video(TelegramMediaFile) case dualVideoReference(Bool) - case message([MessageId], CGSize, TelegramMediaFile?, CGRect?, CGFloat?) + case message([EngineMessage.Id], CGSize, TelegramMediaFile?, CGRect?, CGFloat?) case gift(StarGift.UniqueGift, CGSize) public static func == (lhs: Content, rhs: Content) -> Bool { @@ -249,7 +248,7 @@ public final class DrawingStickerEntity: DrawingEntity, Codable { if let gift = try container.decodeIfPresent(StarGift.UniqueGift.self, forKey: .gift) { let size = try container.decodeIfPresent(CGSize.self, forKey: .messageSize) ?? .zero self.content = .gift(gift, size) - } else if let messageIds = try container.decodeIfPresent([MessageId].self, forKey: .messageIds) { + } else if let messageIds = try container.decodeIfPresent([EngineMessage.Id].self, forKey: .messageIds) { let size = try container.decodeIfPresent(CGSize.self, forKey: .messageSize) ?? .zero let file = try container.decodeIfPresent(TelegramMediaFile.self, forKey: .messageFile) let mediaRect = try container.decodeIfPresent(CGRect.self, forKey: .messageMediaRect) diff --git a/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditor.swift b/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditor.swift index 0cdc45a66f..f73dfebfa5 100644 --- a/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditor.swift +++ b/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditor.swift @@ -6,7 +6,6 @@ import Vision import Photos import SwiftSignalKit import Display -import Postbox import TelegramCore import TelegramPresentationData import FastBlur @@ -167,7 +166,7 @@ public final class MediaEditor { case videoCollage([VideoCollageItem]) case asset(PHAsset) case draft(MediaEditorDraft) - case message(MessageId) + case message(EngineMessage.Id) case gift(StarGift.UniqueGift) case sticker(TelegramMediaFile) diff --git a/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditorDraft.swift b/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditorDraft.swift index fbb97794e7..7c1791dbf3 100644 --- a/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditorDraft.swift +++ b/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditorDraft.swift @@ -5,7 +5,6 @@ import CoreLocation import TelegramCore import TelegramUIPreferences import PersistentStringHash -import Postbox import AccountContext public struct MediaEditorResultPrivacy: Codable, Equatable { @@ -98,12 +97,12 @@ public final class MediaEditorDraft: Codable, Equatable { public let values: MediaEditorValues public let caption: NSAttributedString public let privacy: MediaEditorResultPrivacy? - public let forwardInfo: StoryId? + public let forwardInfo: EngineStoryId? public let timestamp: Int32 public let location: CLLocationCoordinate2D? public let expiresOn: Int32? - public init(path: String, isVideo: Bool, thumbnail: UIImage, dimensions: PixelDimensions, duration: Double?, values: MediaEditorValues, caption: NSAttributedString, privacy: MediaEditorResultPrivacy?, forwardInfo: StoryId?, timestamp: Int32, location: CLLocationCoordinate2D?, expiresOn: Int32?) { + public init(path: String, isVideo: Bool, thumbnail: UIImage, dimensions: PixelDimensions, duration: Double?, values: MediaEditorValues, caption: NSAttributedString, privacy: MediaEditorResultPrivacy?, forwardInfo: EngineStoryId?, timestamp: Int32, location: CLLocationCoordinate2D?, expiresOn: Int32?) { self.path = path self.isVideo = isVideo self.thumbnail = thumbnail @@ -148,7 +147,7 @@ public final class MediaEditorDraft: Codable, Equatable { self.privacy = nil } - self.forwardInfo = try container.decodeIfPresent(StoryId.self, forKey: .forwardInfo) + self.forwardInfo = try container.decodeIfPresent(EngineStoryId.self, forKey: .forwardInfo) self.timestamp = try container.decodeIfPresent(Int32.self, forKey: .timestamp) ?? 1688909663 @@ -203,7 +202,7 @@ public final class MediaEditorDraft: Codable, Equatable { } private struct MediaEditorDraftItemId { - public let rawValue: MemoryBuffer + public let rawValue: EngineMemoryBuffer var value: Int64 { return self.rawValue.makeData().withUnsafeBytes { buffer -> Int64 in @@ -214,18 +213,18 @@ private struct MediaEditorDraftItemId { } } - init(_ rawValue: MemoryBuffer) { + init(_ rawValue: EngineMemoryBuffer) { self.rawValue = rawValue } init(_ value: Int64) { var value = value - self.rawValue = MemoryBuffer(data: Data(bytes: &value, count: MemoryLayout.size(ofValue: value))) + self.rawValue = EngineMemoryBuffer(data: Data(bytes: &value, count: MemoryLayout.size(ofValue: value))) } init(_ value: UInt64) { var value = Int64(bitPattern: value) - self.rawValue = MemoryBuffer(data: Data(bytes: &value, count: MemoryLayout.size(ofValue: value))) + self.rawValue = EngineMemoryBuffer(data: Data(bytes: &value, count: MemoryLayout.size(ofValue: value))) } } diff --git a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/CreateLinkOptions.swift b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/CreateLinkOptions.swift index 60ace4c4be..e19044ac62 100644 --- a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/CreateLinkOptions.swift +++ b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/CreateLinkOptions.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import SwiftSignalKit -import Postbox import TelegramCore import ContextUI import ChatPresentationInterfaceState @@ -36,7 +35,7 @@ func presentLinkOptionsController(context: AccountContext, selfController: Creat } private func linkOptions(context: AccountContext, selfController: CreateLinkScreen, snapshotImage: UIImage?, isDark: Bool, sourceNode: ASDisplayNode, url: String, text: String, positionBelowText: Bool, largeMedia: Bool?, webPage: TelegramMediaWebpage, completion: @escaping (Bool, Bool?) -> Void, remove: @escaping () -> Void) -> ContextController.Source? { - let peerId = PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(1)) + let peerId = EnginePeer.Id(namespace: Namespaces.Peer.CloudUser, id: EnginePeer.Id.Id._internalFromInt64Value(1)) let presentationData = context.sharedContext.currentPresentationData.with { $0 }.withUpdated(theme: defaultDarkColorPresentationTheme) let initialUrlPreview = ChatPresentationInterfaceState.UrlPreview(url: url, webPage: webPage, positionBelowText: positionBelowText, largeMedia: largeMedia) diff --git a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/MediaEditorScreenDrafts.swift b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/MediaEditorScreenDrafts.swift index 7ede825219..8ba1f35f43 100644 --- a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/MediaEditorScreenDrafts.swift +++ b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/MediaEditorScreenDrafts.swift @@ -3,7 +3,6 @@ import UIKit import Display import CoreLocation import Photos -import Postbox import TelegramCore import AccountContext import MediaEditor @@ -182,7 +181,7 @@ extension MediaEditorScreenImpl { values: values, caption: caption, privacy: privacy, - forwardInfo: forwardSource.flatMap { StoryId(peerId: $0.0.id, id: $0.1.id) }, + forwardInfo: forwardSource.flatMap { EngineStoryId(peerId: $0.0.id, id: $0.1.id) }, timestamp: timestamp, location: location, expiresOn: expiresOn diff --git a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/StickerPackListContextItem.swift b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/StickerPackListContextItem.swift index a9e3991b4c..320a81ed35 100644 --- a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/StickerPackListContextItem.swift +++ b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/StickerPackListContextItem.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import SwiftSignalKit -import Postbox import TelegramCore import AccountContext import TelegramPresentationData @@ -62,7 +61,7 @@ private final class StickerPackListContextItemNode: ASDisplayNode, ContextMenuCu if let resource = thumbnailResource as? CloudDocumentMediaResource { resourceId = resource.fileId } - let thumbnailFile = topItemFile ?? TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.CloudFile, id: resourceId), partialReference: nil, resource: thumbnailResource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "image/webp", size: thumbnailResource.size ?? 0, attributes: [], alternativeRepresentations: []) + let thumbnailFile = topItemFile ?? TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.CloudFile, id: resourceId), partialReference: nil, resource: thumbnailResource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "image/webp", size: thumbnailResource.size ?? 0, attributes: [], alternativeRepresentations: []) let _ = freeMediaFileInteractiveFetched(account: item.context.account, userLocation: .other, fileReference: .stickerPack(stickerPack: .id(id: pack.id.id, accessHash: pack.accessHash), media: thumbnailFile)).start() thumbnailIconSource = ContextMenuActionItemIconSource( diff --git a/submodules/TelegramUI/Components/MediaPlaybackHeaderPanelComponent/BUILD b/submodules/TelegramUI/Components/MediaPlaybackHeaderPanelComponent/BUILD index 4fc1322a18..9f85342356 100644 --- a/submodules/TelegramUI/Components/MediaPlaybackHeaderPanelComponent/BUILD +++ b/submodules/TelegramUI/Components/MediaPlaybackHeaderPanelComponent/BUILD @@ -28,7 +28,6 @@ swift_library( "//submodules/TelegramUI/Components/GlobalControlPanelsContext", "//submodules/UndoUI", "//submodules/OverlayStatusController", - "//submodules/Postbox", "//submodules/PresentationDataUtils", ], visibility = [ diff --git a/submodules/TelegramUI/Components/MediaPlaybackHeaderPanelComponent/Sources/MediaPlaybackHeaderPanelComponent.swift b/submodules/TelegramUI/Components/MediaPlaybackHeaderPanelComponent/Sources/MediaPlaybackHeaderPanelComponent.swift index 3582eae61c..c6b7ba1ebe 100644 --- a/submodules/TelegramUI/Components/MediaPlaybackHeaderPanelComponent/Sources/MediaPlaybackHeaderPanelComponent.swift +++ b/submodules/TelegramUI/Components/MediaPlaybackHeaderPanelComponent/Sources/MediaPlaybackHeaderPanelComponent.swift @@ -12,7 +12,6 @@ import UniversalMediaPlayer import UndoUI import OverlayStatusController import TelegramUIPreferences -import Postbox import PresentationDataUtils public final class MediaPlaybackHeaderPanelComponent: Component { @@ -162,7 +161,7 @@ public final class MediaPlaybackHeaderPanelComponent: Component { let settings = transaction.getSharedData(ApplicationSpecificSharedDataKeys.musicPlaybackSettings)?.get(MusicPlaybackSettings.self) ?? MusicPlaybackSettings.defaultSettings transaction.updateSharedData(ApplicationSpecificSharedDataKeys.musicPlaybackSettings, { _ in - return PreferencesEntry(settings.withUpdatedVoicePlaybackRate(rate)) + return EnginePreferencesEntry(settings.withUpdatedVoicePlaybackRate(rate)) }) return rate } @@ -278,7 +277,7 @@ public final class MediaPlaybackHeaderPanelComponent: Component { playerController.navigationPresentation = .flatModal controller.push(playerController) case let .messages(chatLocation, _, _): - let signal = component.context.sharedContext.messageFromPreloadedChatHistoryViewForLocation(id: id.messageId, location: ChatHistoryLocationInput(content: .InitialSearch(subject: MessageHistoryInitialSearchSubject(location: .id(id.messageId)), count: 60, highlight: true, setupReply: false), id: 0), context: component.context, chatLocation: chatLocation, subject: nil, chatLocationContextHolder: Atomic(value: nil), tag: .tag(MessageTags.music)) + let signal = component.context.sharedContext.messageFromPreloadedChatHistoryViewForLocation(id: id.messageId, location: ChatHistoryLocationInput(content: .InitialSearch(subject: MessageHistoryInitialSearchSubject(location: .id(id.messageId)), count: 60, highlight: true, setupReply: false), id: 0), context: component.context, chatLocation: chatLocation, subject: nil, chatLocationContextHolder: Atomic(value: nil), tag: .tag(EngineMessage.Tags.music)) var cancelImpl: (() -> Void)? let presentationData = component.context.sharedContext.currentPresentationData.with { $0 } diff --git a/submodules/TelegramUI/Components/MiniAppListScreen/BUILD b/submodules/TelegramUI/Components/MiniAppListScreen/BUILD index 02745a260c..abf9388755 100644 --- a/submodules/TelegramUI/Components/MiniAppListScreen/BUILD +++ b/submodules/TelegramUI/Components/MiniAppListScreen/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/Display", "//submodules/AsyncDisplayKit", "//submodules/SSignalKit/SwiftSignalKit", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/TelegramPresentationData", "//submodules/TelegramUIPreferences", diff --git a/submodules/TelegramUI/Components/MiniAppListScreen/Sources/MiniAppListScreen.swift b/submodules/TelegramUI/Components/MiniAppListScreen/Sources/MiniAppListScreen.swift index c299a531f1..b8a7460f99 100644 --- a/submodules/TelegramUI/Components/MiniAppListScreen/Sources/MiniAppListScreen.swift +++ b/submodules/TelegramUI/Components/MiniAppListScreen/Sources/MiniAppListScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences diff --git a/submodules/TelegramUI/Components/MultiplexedVideoNode/BUILD b/submodules/TelegramUI/Components/MultiplexedVideoNode/BUILD index e987d0cb71..e3cf1c57ae 100644 --- a/submodules/TelegramUI/Components/MultiplexedVideoNode/BUILD +++ b/submodules/TelegramUI/Components/MultiplexedVideoNode/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", "//submodules/AsyncDisplayKit:AsyncDisplayKit", "//submodules/Display:Display", - "//submodules/Postbox:Postbox", "//submodules/TelegramCore:TelegramCore", "//submodules/ContextUI:ContextUI", "//submodules/TelegramPresentationData:TelegramPresentationData", diff --git a/submodules/TelegramUI/Components/MultiplexedVideoNode/Sources/MultiplexedVideoNode.swift b/submodules/TelegramUI/Components/MultiplexedVideoNode/Sources/MultiplexedVideoNode.swift index 1d2511cf75..b14965b311 100644 --- a/submodules/TelegramUI/Components/MultiplexedVideoNode/Sources/MultiplexedVideoNode.swift +++ b/submodules/TelegramUI/Components/MultiplexedVideoNode/Sources/MultiplexedVideoNode.swift @@ -3,7 +3,6 @@ import UIKit import Display import SwiftSignalKit import AsyncDisplayKit -import Postbox import TelegramCore import AVFoundation import ContextUI @@ -59,8 +58,8 @@ private final class MultiplexedVideoTrackingNode: ASDisplayNode { private final class VisibleVideoItem { enum Id: Equatable, Hashable { - case saved(MediaId) - case trending(MediaId) + case saved(EngineMedia.Id) + case trending(EngineMedia.Id) } let id: Id let file: MultiplexedVideoNodeFile @@ -766,7 +765,7 @@ public final class MultiplexedVideoNode: ASDisplayNode, ASScrollViewDelegate { } } - public func frameForItem(_ id: MediaId) -> CGRect? { + public func frameForItem(_ id: EngineMedia.Id) -> CGRect? { for item in self.displayItems { if item.file.file.media.fileId == id { return item.frame diff --git a/submodules/TelegramUI/Components/NotificationExceptionsScreen/BUILD b/submodules/TelegramUI/Components/NotificationExceptionsScreen/BUILD index c561d70b86..742d73bcfe 100644 --- a/submodules/TelegramUI/Components/NotificationExceptionsScreen/BUILD +++ b/submodules/TelegramUI/Components/NotificationExceptionsScreen/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit:AsyncDisplayKit", "//submodules/Display:Display", - "//submodules/Postbox:Postbox", "//submodules/TelegramCore:TelegramCore", "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", "//submodules/ComponentFlow:ComponentFlow", diff --git a/submodules/TelegramUI/Components/NotificationExceptionsScreen/Sources/NotificationExceptionsScreen.swift b/submodules/TelegramUI/Components/NotificationExceptionsScreen/Sources/NotificationExceptionsScreen.swift index 8b20e10e96..0c0a659f4d 100644 --- a/submodules/TelegramUI/Components/NotificationExceptionsScreen/Sources/NotificationExceptionsScreen.swift +++ b/submodules/TelegramUI/Components/NotificationExceptionsScreen/Sources/NotificationExceptionsScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences diff --git a/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/BUILD b/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/BUILD index f1e7a53a96..888a999769 100644 --- a/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/BUILD +++ b/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/SSignalKit/SwiftSignalKit", "//submodules/AsyncDisplayKit", "//submodules/TelegramCore", - "//submodules/Postbox", "//submodules/TelegramPresentationData", "//submodules/AccountContext", "//submodules/TelegramStringFormatting", diff --git a/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/AffiliateProgramSetupScreen.swift b/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/AffiliateProgramSetupScreen.swift index deb9abef7b..4e64d422d5 100644 --- a/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/AffiliateProgramSetupScreen.swift +++ b/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/AffiliateProgramSetupScreen.swift @@ -8,7 +8,6 @@ import AppBundle import ViewControllerComponent import AccountContext import TelegramCore -import Postbox import SwiftSignalKit import MultilineTextComponent import ButtonComponent diff --git a/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/JoinAffiliateProgramScreen.swift b/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/JoinAffiliateProgramScreen.swift index ef43f94545..1adf1eae10 100644 --- a/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/JoinAffiliateProgramScreen.swift +++ b/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/JoinAffiliateProgramScreen.swift @@ -8,7 +8,6 @@ import AppBundle import ViewControllerComponent import AccountContext import TelegramCore -import Postbox import SwiftSignalKit import MultilineTextComponent import ButtonComponent diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/ListItems/PeerInfoScreenMemberItem.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/ListItems/PeerInfoScreenMemberItem.swift index 3df2239c71..b6527b86b1 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/ListItems/PeerInfoScreenMemberItem.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/ListItems/PeerInfoScreenMemberItem.swift @@ -6,7 +6,6 @@ import TelegramPresentationData import ItemListPeerItem import SwiftSignalKit import AccountContext -import Postbox import TelegramCore import ItemListUI diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoAvatarListNode.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoAvatarListNode.swift index aa6d9242e3..cb5c9f4df8 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoAvatarListNode.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoAvatarListNode.swift @@ -4,7 +4,6 @@ import AsyncDisplayKit import TelegramPresentationData import PeerInfoAvatarListNode import SwiftSignalKit -import Postbox import TelegramCore import ContextUI import AccountContext diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoAvatarTransformContainerNode.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoAvatarTransformContainerNode.swift index 7a99f8ac79..89dc09d0d0 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoAvatarTransformContainerNode.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoAvatarTransformContainerNode.swift @@ -13,7 +13,6 @@ import AvatarVideoNode import SwiftSignalKit import TelegramUniversalVideoContent import PeerInfoAvatarListNode -import Postbox import TelegramCore import EmojiStatusComponent import GalleryUI @@ -402,7 +401,7 @@ final class PeerInfoAvatarTransformContainerNode: ASDisplayNode { markupNode.update(markup: markup, size: CGSize(width: 320.0, height: 320.0)) markupNode.updateVisibility(true) } else if threadInfo == nil, let video = videoRepresentations.last, let peerReference = PeerReference(peer) { - let videoFileReference = FileMediaReference.avatarList(peer: peerReference, media: TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: 0), partialReference: nil, resource: video.representation.resource, previewRepresentations: representations.map { $0.representation }, videoThumbnails: [], immediateThumbnailData: immediateThumbnailData, mimeType: "video/mp4", size: nil, attributes: [.Animated, .Video(duration: 0, size: video.representation.dimensions, flags: [], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: [])) + let videoFileReference = FileMediaReference.avatarList(peer: peerReference, media: TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: 0), partialReference: nil, resource: video.representation.resource, previewRepresentations: representations.map { $0.representation }, videoThumbnails: [], immediateThumbnailData: immediateThumbnailData, mimeType: "video/mp4", size: nil, attributes: [.Animated, .Video(duration: 0, size: video.representation.dimensions, flags: [], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: [])) let videoContent = NativeVideoContent(id: .profileVideo(videoId, nil), userLocation: .other, fileReference: videoFileReference, streamVideo: isMediaStreamable(resource: video.representation.resource) ? .conservative : .none, loopVideo: true, enableSound: false, fetchAutomatically: true, onlyFullSizeThumbnail: false, useLargeThumbnail: true, autoFetchFullSizeThumbnail: true, startTimestamp: video.representation.startTimestamp, continuePlayingWithoutSoundOnLostAudioSession: false, placeholderColor: .clear, captureProtected: peer.isCopyProtectionEnabled, storeAfterDownload: nil) if videoContent.id != self.videoContent?.id { self.videoNode?.removeFromSupernode() diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoBirthdayOverlay.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoBirthdayOverlay.swift index 9047755ab8..16fdcde910 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoBirthdayOverlay.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoBirthdayOverlay.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import SwiftSignalKit -import Postbox import TelegramCore import AccountContext import ConfettiEffect @@ -179,7 +178,7 @@ final class PeerInfoBirthdayOverlay: ASDisplayNode { context.engine.stickers.loadedStickerPack(reference: .name("FestiveFontEmoji"), forceActualized: false) ) |> mapToSignal { animatedEmoji, numbers -> Signal in - var signals: [Signal] = [] + var signals: [Signal] = [] if case let .result(_, items, _) = animatedEmoji { for item in items { let indexKeys = item.getStringRepresentationsOfIndexKeys() diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoEditingAvatarNode.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoEditingAvatarNode.swift index 076c092cce..98fc8ba70d 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoEditingAvatarNode.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoEditingAvatarNode.swift @@ -9,7 +9,6 @@ import PeerInfoAvatarListNode import AvatarVideoNode import TelegramUniversalVideoContent import SwiftSignalKit -import Postbox import TelegramCore import Display import GalleryUI @@ -162,7 +161,7 @@ final class PeerInfoEditingAvatarNode: ASDisplayNode { markupNode.removeFromSupernode() } - let videoFileReference = FileMediaReference.avatarList(peer: peerReference, media: TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: 0), partialReference: nil, resource: video.representation.resource, previewRepresentations: representations.map { $0.representation }, videoThumbnails: [], immediateThumbnailData: immediateThumbnailData, mimeType: "video/mp4", size: nil, attributes: [.Animated, .Video(duration: 0, size: video.representation.dimensions, flags: [], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: [])) + let videoFileReference = FileMediaReference.avatarList(peer: peerReference, media: TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: 0), partialReference: nil, resource: video.representation.resource, previewRepresentations: representations.map { $0.representation }, videoThumbnails: [], immediateThumbnailData: immediateThumbnailData, mimeType: "video/mp4", size: nil, attributes: [.Animated, .Video(duration: 0, size: video.representation.dimensions, flags: [], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: [])) let videoContent = NativeVideoContent(id: .profileVideo(videoId, nil), userLocation: .other, fileReference: videoFileReference, streamVideo: isMediaStreamable(resource: video.representation.resource) ? .conservative : .none, loopVideo: true, enableSound: false, fetchAutomatically: true, onlyFullSizeThumbnail: false, useLargeThumbnail: true, autoFetchFullSizeThumbnail: true, startTimestamp: video.representation.startTimestamp, continuePlayingWithoutSoundOnLostAudioSession: false, placeholderColor: .clear, captureProtected: peer.isCopyProtectionEnabled, storeAfterDownload: nil) if videoContent.id != self.videoContent?.id { self.videoNode?.removeFromSupernode() diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoEditingAvatarOverlayNode.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoEditingAvatarOverlayNode.swift index 0f12a4b280..439b373642 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoEditingAvatarOverlayNode.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoEditingAvatarOverlayNode.swift @@ -5,7 +5,6 @@ import TelegramPresentationData import AccountContext import Display import RadialStatusNode -import Postbox import TelegramCore import PeerInfoAvatarListNode import AvatarNode diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoInteraction.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoInteraction.swift index 1798db6f7b..6f167a5832 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoInteraction.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoInteraction.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import TelegramCore -import Postbox import SwiftSignalKit import AccountContext import StatisticsUI @@ -23,7 +22,7 @@ final class PeerInfoInteraction { let openAddContact: () -> Void let updateBlocked: (Bool) -> Void let openReport: (PeerInfoReportType) -> Void - let openDeleteReaction: (MessageId) -> Void + let openDeleteReaction: (EngineMessage.Id) -> Void let openShareBot: () -> Void let openAddBotToGroup: () -> Void let performBotCommand: (PeerInfoBotCommand) -> Void @@ -102,7 +101,7 @@ final class PeerInfoInteraction { openAddContact: @escaping () -> Void, updateBlocked: @escaping (Bool) -> Void, openReport: @escaping (PeerInfoReportType) -> Void, - openDeleteReaction: @escaping (MessageId) -> Void, + openDeleteReaction: @escaping (EngineMessage.Id) -> Void, openShareBot: @escaping () -> Void, openAddBotToGroup: @escaping () -> Void, performBotCommand: @escaping (PeerInfoBotCommand) -> Void, diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenBusinessActions.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenBusinessActions.swift index a2d2af6767..75cac3afb1 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenBusinessActions.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenBusinessActions.swift @@ -3,7 +3,6 @@ import UIKit import Display import AccountContext import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import ContextUI diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenCallActions.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenCallActions.swift index 0740909da9..807e27b106 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenCallActions.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenCallActions.swift @@ -3,7 +3,6 @@ import UIKit import Display import AccountContext import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import ContextUI @@ -20,7 +19,7 @@ extension PeerInfoScreenNode { return } let peerId = self.peerId - let requestCall: (PeerId?, EngineGroupCallDescription?) -> Void = { [weak self] defaultJoinAsPeerId, activeCall in + let requestCall: (EnginePeer.Id?, EngineGroupCallDescription?) -> Void = { [weak self] defaultJoinAsPeerId, activeCall in if let activeCall = activeCall { self?.context.joinGroupCall(peerId: peerId, invite: nil, requestJoinAsPeerId: { completion in if let defaultJoinAsPeerId = defaultJoinAsPeerId { @@ -74,7 +73,7 @@ extension PeerInfoScreenNode { self.controller?.push(CreateExternalMediaStreamScreen(context: self.context, peerId: self.peerId, credentialsPromise: credentialsPromise, mode: .create(liveStream: false))) } - func createAndJoinGroupCall(peerId: PeerId, joinAsPeerId: PeerId?) { + func createAndJoinGroupCall(peerId: EnginePeer.Id, joinAsPeerId: EnginePeer.Id?) { guard let controller = self.controller, !controller.presentAccountFrozenInfoIfNeeded() else { return } @@ -142,7 +141,7 @@ extension PeerInfoScreenNode { } } - func openVoiceChatDisplayAsPeerSelection(completion: @escaping (PeerId) -> Void, gesture: ContextGesture? = nil, contextController: ContextControllerProtocol? = nil, result: ((ContextMenuActionResult) -> Void)? = nil, backAction: ((ContextControllerProtocol) -> Void)? = nil) { + func openVoiceChatDisplayAsPeerSelection(completion: @escaping (EnginePeer.Id) -> Void, gesture: ContextGesture? = nil, contextController: ContextControllerProtocol? = nil, result: ((ContextMenuActionResult) -> Void)? = nil, backAction: ((ContextControllerProtocol) -> Void)? = nil) { let dismissOnSelection = contextController == nil let currentAccountPeer = self.context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: context.account.peerId)) |> mapToSignal { peer -> Signal in @@ -246,7 +245,7 @@ extension PeerInfoScreenNode { }) } - func openVoiceChatOptions(defaultJoinAsPeerId: PeerId?, gesture: ContextGesture? = nil, contextController: ContextControllerProtocol? = nil) { + func openVoiceChatOptions(defaultJoinAsPeerId: EnginePeer.Id?, gesture: ContextGesture? = nil, contextController: ContextControllerProtocol? = nil) { guard let chatPeer = self.data?.peer else { return } diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenDisplayGiftsContextMenu.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenDisplayGiftsContextMenu.swift index 70a5757803..5881cb69cc 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenDisplayGiftsContextMenu.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenDisplayGiftsContextMenu.swift @@ -3,7 +3,6 @@ import UIKit import Display import AccountContext import SwiftSignalKit -import Postbox import TelegramCore import ContextUI import PeerInfoVisualMediaPaneNode diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenDisplayMediaGalleryContextMenu.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenDisplayMediaGalleryContextMenu.swift index 0c98038837..2b0a724c45 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenDisplayMediaGalleryContextMenu.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenDisplayMediaGalleryContextMenu.swift @@ -3,7 +3,6 @@ import UIKit import Display import AccountContext import SwiftSignalKit -import Postbox import TelegramCore import ContextUI import PeerInfoVisualMediaPaneNode @@ -281,7 +280,7 @@ extension PeerInfoScreenNode { return } - var mediaCount: [MessageTags: Int32] = [:] + var mediaCount: [EngineMessage.Tags: Int32] = [:] for (key, count) in messageCounts { mediaCount[key.tag] = count.flatMap(Int32.init) ?? 0 } diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenMessageActions.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenMessageActions.swift index f05fef3627..9ff46141a8 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenMessageActions.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenMessageActions.swift @@ -3,14 +3,13 @@ import UIKit import Display import AccountContext import SwiftSignalKit -import Postbox import TelegramCore import TextFormat import UndoUI import ChatInterfaceState extension PeerInfoScreenNode { - func deleteMessages(messageIds: Set?) { + func deleteMessages(messageIds: Set?) { if let messageIds = messageIds ?? self.state.selectedMessageIds, !messageIds.isEmpty { self.activeActionDisposable.set((self.context.sharedContext.chatAvailableMessageActions(engine: self.context.engine, accountPeerId: self.context.account.peerId, messageIds: messageIds, keepUpdated: false) |> deliverOnMainQueue).startStrict(next: { [weak self] actions in @@ -71,7 +70,7 @@ extension PeerInfoScreenNode { } } - func forwardMessages(messageIds: Set?) { + func forwardMessages(messageIds: Set?) { if let messageIds = messageIds ?? self.state.selectedMessageIds, !messageIds.isEmpty { let peerSelectionController = self.context.sharedContext.makePeerSelectionController(PeerSelectionControllerParams(context: self.context, updatedPresentationData: self.controller?.updatedPresentationData, filter: [.onlyWriteable, .excludeDisabled], hasFilters: true, multipleSelection: true, selectForumThreads: true)) peerSelectionController.multiplePeersSelected = { [weak self, weak peerSelectionController] peers, peerMap, messageText, mode, forwardOptions, _ in @@ -85,7 +84,7 @@ extension PeerInfoScreenNode { let inputText = convertMarkdownToAttributes(messageText) for text in breakChatInputText(trimChatInputText(inputText)) { if text.length != 0 { - var attributes: [MessageAttribute] = [] + var attributes: [EngineMessage.Attribute] = [] let entities = generateTextEntities(text.string, enabledTypes: .all, currentEntities: generateChatInputTextEntities(text)) if !entities.isEmpty { attributes.append(TextEntitiesMessageAttribute(entities: entities)) @@ -95,7 +94,7 @@ extension PeerInfoScreenNode { } } - var attributes: [MessageAttribute] = [] + var attributes: [EngineMessage.Attribute] = [] attributes.append(ForwardOptionsMessageAttribute(hideNames: forwardOptions?.hideNames == true, hideCaptions: forwardOptions?.hideCaptions == true)) result.append(contentsOf: messageIds.map { messageId -> EnqueueMessage in diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenOpenChat.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenOpenChat.swift index 35f61fa9ed..dcb6207397 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenOpenChat.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenOpenChat.swift @@ -3,7 +3,6 @@ import UIKit import Display import AccountContext import SwiftSignalKit -import Postbox import TelegramCore extension PeerInfoScreenNode { @@ -81,7 +80,7 @@ extension PeerInfoScreenNode { } } - func openDeleteReaction(messageId: MessageId) { + func openDeleteReaction(messageId: EngineMessage.Id) { guard let authorPeer = self.data?.peer?._asPeer(), let navigationController = self.controller?.navigationController as? NavigationController else { return } diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenPerformButtonAction.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenPerformButtonAction.swift index a04be400a4..7f9c0cba09 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenPerformButtonAction.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenPerformButtonAction.swift @@ -3,7 +3,6 @@ import UIKit import Display import AccountContext import SwiftSignalKit -import Postbox import TelegramCore import UndoUI import ContextUI @@ -193,30 +192,30 @@ extension PeerInfoScreenNode { let threadId = strongSelf.chatLocation.threadId let context = strongSelf.context - let updatePeerSound: (PeerId, PeerMessageSound) -> Signal = { peerId, sound in + let updatePeerSound: (EnginePeer.Id, PeerMessageSound) -> Signal = { peerId, sound in return context.engine.peers.updatePeerNotificationSoundInteractive(peerId: peerId, threadId: threadId, sound: sound) |> deliverOnMainQueue } - let updatePeerNotificationInterval: (PeerId, Int32?) -> Signal = { peerId, muteInterval in + let updatePeerNotificationInterval: (EnginePeer.Id, Int32?) -> Signal = { peerId, muteInterval in return context.engine.peers.updatePeerMuteSetting(peerId: peerId, threadId: threadId, muteInterval: muteInterval) |> deliverOnMainQueue } - let updatePeerDisplayPreviews: (PeerId, PeerNotificationDisplayPreviews) -> Signal = { + let updatePeerDisplayPreviews: (EnginePeer.Id, PeerNotificationDisplayPreviews) -> Signal = { peerId, displayPreviews in return context.engine.peers.updatePeerDisplayPreviewsSetting(peerId: peerId, threadId: threadId, displayPreviews: displayPreviews) |> deliverOnMainQueue } - let updatePeerStoriesMuted: (PeerId, PeerStoryNotificationSettings.Mute) -> Signal = { + let updatePeerStoriesMuted: (EnginePeer.Id, PeerStoryNotificationSettings.Mute) -> Signal = { peerId, mute in return context.engine.peers.updatePeerStoriesMutedSetting(peerId: peerId, mute: mute) |> deliverOnMainQueue } - let updatePeerStoriesHideSender: (PeerId, PeerStoryNotificationSettings.HideSender) -> Signal = { + let updatePeerStoriesHideSender: (EnginePeer.Id, PeerStoryNotificationSettings.HideSender) -> Signal = { peerId, hideSender in return context.engine.peers.updatePeerStoriesHideSenderSetting(peerId: peerId, hideSender: hideSender) |> deliverOnMainQueue } - let updatePeerStorySound: (PeerId, PeerMessageSound) -> Signal = { peerId, sound in + let updatePeerStorySound: (EnginePeer.Id, PeerMessageSound) -> Signal = { peerId, sound in return context.engine.peers.updatePeerStorySoundInteractive(peerId: peerId, sound: sound) |> deliverOnMainQueue } diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenSettingsActions.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenSettingsActions.swift index c0a89120bf..806e652ac2 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenSettingsActions.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoScreenSettingsActions.swift @@ -3,7 +3,6 @@ import UIKit import Display import AccountContext import SwiftSignalKit -import Postbox import TelegramCore import SettingsUI import PeerInfoStoryGridScreen @@ -173,7 +172,7 @@ extension PeerInfoScreenNode { case .watch: push(watchSettingsController(context: self.context)) case .support: - let supportPeer = Promise() + let supportPeer = Promise() supportPeer.set(context.engine.peers.supportPeerId()) self.controller?.present(textAlertController(context: self.context, updatedPresentationData: self.controller?.updatedPresentationData, title: nil, text: self.presentationData.strings.Settings_FAQ_Intro, actions: [ diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoVisualMediaPaneNode/Sources/AddGiftsScreen.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoVisualMediaPaneNode/Sources/AddGiftsScreen.swift index dad0464fe4..bd468e9915 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoVisualMediaPaneNode/Sources/AddGiftsScreen.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoVisualMediaPaneNode/Sources/AddGiftsScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoVisualMediaPaneNode/Sources/GiftsListView.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoVisualMediaPaneNode/Sources/GiftsListView.swift index 21b5567114..133c4006e9 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoVisualMediaPaneNode/Sources/GiftsListView.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoVisualMediaPaneNode/Sources/GiftsListView.swift @@ -4,7 +4,6 @@ import Display import ComponentFlow import TelegramCore import SwiftSignalKit -import Postbox import TelegramPresentationData import AccountContext import ContextUI @@ -30,7 +29,7 @@ import ContextUI final class GiftsListView: UIView { private let context: AccountContext - private let peerId: PeerId + private let peerId: EnginePeer.Id let profileGifts: ProfileGiftsContext private let giftsCollections: ProfileGiftsCollectionsContext? @@ -127,7 +126,7 @@ final class GiftsListView: UIView { var contextAction: ((ProfileGiftsContext.State.StarGift, UIView, ContextGesture) -> Void)? var addToCollection: (() -> Void)? - init(context: AccountContext, peerId: PeerId, profileGifts: ProfileGiftsContext, giftsCollections: ProfileGiftsCollectionsContext?, canSelect: Bool, ignoreCollection: Int32? = nil, remainingSelectionCount: Int32 = 0) { + init(context: AccountContext, peerId: EnginePeer.Id, profileGifts: ProfileGiftsContext, giftsCollections: ProfileGiftsCollectionsContext?, canSelect: Bool, ignoreCollection: Int32? = nil, remainingSelectionCount: Int32 = 0) { self.context = context self.peerId = peerId self.profileGifts = profileGifts diff --git a/submodules/TelegramUI/Components/PeerInfo/PostSuggestionsSettingsScreen/BUILD b/submodules/TelegramUI/Components/PeerInfo/PostSuggestionsSettingsScreen/BUILD index d0bc74abb5..5ee6d7fdf5 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PostSuggestionsSettingsScreen/BUILD +++ b/submodules/TelegramUI/Components/PeerInfo/PostSuggestionsSettingsScreen/BUILD @@ -18,7 +18,6 @@ swift_library( "//submodules/Components/ViewControllerComponent", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/TelegramCore", - "//submodules/Postbox", "//submodules/AccountContext", "//submodules/TelegramUI/Components/SwitchComponent", "//submodules/Components/MultilineTextComponent", diff --git a/submodules/TelegramUI/Components/PeerInfo/PostSuggestionsSettingsScreen/Sources/PostSuggestionsSettingsScreen.swift b/submodules/TelegramUI/Components/PeerInfo/PostSuggestionsSettingsScreen/Sources/PostSuggestionsSettingsScreen.swift index 0158733e80..dcd3c16db3 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PostSuggestionsSettingsScreen/Sources/PostSuggestionsSettingsScreen.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PostSuggestionsSettingsScreen/Sources/PostSuggestionsSettingsScreen.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences diff --git a/submodules/TelegramUI/Components/PeerSelectionController/BUILD b/submodules/TelegramUI/Components/PeerSelectionController/BUILD index f3d3fd0e3f..ec8167231b 100644 --- a/submodules/TelegramUI/Components/PeerSelectionController/BUILD +++ b/submodules/TelegramUI/Components/PeerSelectionController/BUILD @@ -13,7 +13,6 @@ swift_library( "//submodules/SSignalKit/SwiftSignalKit", "//submodules/Display", "//submodules/TelegramCore", - "//submodules/Postbox", "//submodules/TelegramPresentationData", "//submodules/ProgressNavigationButtonNode", "//submodules/AccountContext", diff --git a/submodules/TelegramUI/Components/PeerSelectionController/Sources/PeerSelectionController.swift b/submodules/TelegramUI/Components/PeerSelectionController/Sources/PeerSelectionController.swift index fb257f9244..dcbe7fe0c6 100644 --- a/submodules/TelegramUI/Components/PeerSelectionController/Sources/PeerSelectionController.swift +++ b/submodules/TelegramUI/Components/PeerSelectionController/Sources/PeerSelectionController.swift @@ -3,7 +3,6 @@ import UIKit import SwiftSignalKit import Display import TelegramCore -import Postbox import TelegramPresentationData import ProgressNavigationButtonNode import AccountContext diff --git a/submodules/TelegramUI/Components/PeerSelectionController/Sources/PeerSelectionControllerNode.swift b/submodules/TelegramUI/Components/PeerSelectionController/Sources/PeerSelectionControllerNode.swift index 51907ac87e..1d21f6dc9a 100644 --- a/submodules/TelegramUI/Components/PeerSelectionController/Sources/PeerSelectionControllerNode.swift +++ b/submodules/TelegramUI/Components/PeerSelectionController/Sources/PeerSelectionControllerNode.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import AsyncDisplayKit import Display -import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData @@ -135,7 +134,7 @@ final class PeerSelectionControllerNode: ASDisplayNode { self.animationCache = context.animationCache self.animationRenderer = context.animationRenderer - self.presentationInterfaceState = ChatPresentationInterfaceState(chatWallpaper: .builtin(WallpaperSettings()), theme: self.presentationData.theme, preferredGlassType: .default, strings: self.presentationData.strings, dateTimeFormat: self.presentationData.dateTimeFormat, nameDisplayOrder: self.presentationData.nameDisplayOrder, limitsConfiguration: self.context.currentLimitsConfiguration.with { $0 }, fontSize: self.presentationData.chatFontSize, bubbleCorners: self.presentationData.chatBubbleCorners, accountPeerId: self.context.account.peerId, mode: .standard(.default), chatLocation: .peer(id: PeerId(0)), subject: nil, greetingData: nil, pendingUnpinnedAllMessages: false, activeGroupCallInfo: nil, hasActiveGroupCall: false, threadData: nil, isGeneralThreadClosed: nil, replyMessage: nil, accountPeerColor: nil, businessIntro: nil) + self.presentationInterfaceState = ChatPresentationInterfaceState(chatWallpaper: .builtin(WallpaperSettings()), theme: self.presentationData.theme, preferredGlassType: .default, strings: self.presentationData.strings, dateTimeFormat: self.presentationData.dateTimeFormat, nameDisplayOrder: self.presentationData.nameDisplayOrder, limitsConfiguration: self.context.currentLimitsConfiguration.with { $0 }, fontSize: self.presentationData.chatFontSize, bubbleCorners: self.presentationData.chatBubbleCorners, accountPeerId: self.context.account.peerId, mode: .standard(.default), chatLocation: .peer(id: EnginePeer.Id(0)), subject: nil, greetingData: nil, pendingUnpinnedAllMessages: false, activeGroupCallInfo: nil, hasActiveGroupCall: false, threadData: nil, isGeneralThreadClosed: nil, replyMessage: nil, accountPeerColor: nil, businessIntro: nil) self.presentationInterfaceState = self.presentationInterfaceState.updatedInterfaceState { $0.withUpdatedForwardMessageIds(forwardedMessageIds) } self.presentationInterfaceStatePromise.set(self.presentationInterfaceState) @@ -450,7 +449,7 @@ final class PeerSelectionControllerNode: ASDisplayNode { var items: [ContextMenuItem] = [] var hasCaptions = false - var uniquePeerIds = Set() + var uniquePeerIds = Set() var hasOther = false var hasNotOwnMessages = false diff --git a/submodules/TelegramUI/Components/Settings/LanguageSelectionScreen/BUILD b/submodules/TelegramUI/Components/Settings/LanguageSelectionScreen/BUILD index 802cc7a542..c3ff6dded8 100644 --- a/submodules/TelegramUI/Components/Settings/LanguageSelectionScreen/BUILD +++ b/submodules/TelegramUI/Components/Settings/LanguageSelectionScreen/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/Display", "//submodules/AsyncDisplayKit", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/TelegramPresentationData", diff --git a/submodules/TelegramUI/Components/Settings/LanguageSelectionScreen/Sources/LanguageSelectionScreenNode.swift b/submodules/TelegramUI/Components/Settings/LanguageSelectionScreen/Sources/LanguageSelectionScreenNode.swift index 13761c553c..635a2eb95d 100644 --- a/submodules/TelegramUI/Components/Settings/LanguageSelectionScreen/Sources/LanguageSelectionScreenNode.swift +++ b/submodules/TelegramUI/Components/Settings/LanguageSelectionScreen/Sources/LanguageSelectionScreenNode.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import Display import AsyncDisplayKit -import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData diff --git a/submodules/TelegramUI/Components/Settings/PeerNameColorScreen/Sources/UserApperanceScreen.swift b/submodules/TelegramUI/Components/Settings/PeerNameColorScreen/Sources/UserApperanceScreen.swift index c4ec862dc0..ce44581703 100644 --- a/submodules/TelegramUI/Components/Settings/PeerNameColorScreen/Sources/UserApperanceScreen.swift +++ b/submodules/TelegramUI/Components/Settings/PeerNameColorScreen/Sources/UserApperanceScreen.swift @@ -4,7 +4,6 @@ import Photos import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import TelegramUIPreferences @@ -860,9 +859,9 @@ final class UserAppearanceScreenComponent: Component { self.previousEmojiSetupTimestamp = currentTimestamp self.emojiStatusSelectionController?.dismiss() - var selectedItems = Set() + var selectedItems = Set() if let currentFileId { - selectedItems.insert(MediaId(namespace: Namespaces.Media.CloudFile, id: currentFileId)) + selectedItems.insert(EngineMedia.Id(namespace: Namespaces.Media.CloudFile, id: currentFileId)) } let mappedSubject: EmojiPagerContentComponent.Subject @@ -1596,7 +1595,7 @@ final class UserAppearanceScreenComponent: Component { let messageItem = PeerNameColorChatPreviewItem.MessageItem( outgoing: false, - peerId: EnginePeer.Id(namespace: peer.id.namespace, id: PeerId.Id._internalFromInt64Value(0)), + peerId: EnginePeer.Id(namespace: peer.id.namespace, id: EnginePeer.Id.Id._internalFromInt64Value(0)), author: peer.compactDisplayTitle, photo: peer.profileImageRepresentations, nameColor: resolvedState.nameColor, diff --git a/submodules/TelegramUI/Components/Settings/WallpaperGalleryScreen/Sources/WallpaperPatternPanelNode.swift b/submodules/TelegramUI/Components/Settings/WallpaperGalleryScreen/Sources/WallpaperPatternPanelNode.swift index 4e6e46b1db..22810d275e 100644 --- a/submodules/TelegramUI/Components/Settings/WallpaperGalleryScreen/Sources/WallpaperPatternPanelNode.swift +++ b/submodules/TelegramUI/Components/Settings/WallpaperGalleryScreen/Sources/WallpaperPatternPanelNode.swift @@ -8,7 +8,6 @@ import TelegramPresentationData import LegacyComponents import AccountContext import MergeLists -import Postbox import SettingsThemeWallpaperNode private let itemSize = CGSize(width: 88.0, height: 88.0) @@ -258,7 +257,7 @@ public final class WallpaperPatternPanelNode: ASDisplayNode { self.addSubnode(self.labelNode) self.disposable = ((telegramWallpapers(postbox: context.account.postbox, network: context.account.network) |> map { wallpapers -> [TelegramWallpaper] in - var existingIds = Set() + var existingIds = Set() return wallpapers.filter { wallpaper in if case let .file(file) = wallpaper, wallpaper.isPattern, file.file.mimeType != "image/webp" { diff --git a/submodules/TelegramUI/Components/Settings/WallpaperGridScreen/Sources/ThemeGridSearchItem.swift b/submodules/TelegramUI/Components/Settings/WallpaperGridScreen/Sources/ThemeGridSearchItem.swift index 12e53a36db..4913bcdb8b 100644 --- a/submodules/TelegramUI/Components/Settings/WallpaperGridScreen/Sources/ThemeGridSearchItem.swift +++ b/submodules/TelegramUI/Components/Settings/WallpaperGridScreen/Sources/ThemeGridSearchItem.swift @@ -4,7 +4,6 @@ import Display import TelegramCore import SwiftSignalKit import AsyncDisplayKit -import Postbox import TelegramPresentationData import PhotoResources @@ -114,7 +113,7 @@ final class ThemeGridSearchItemNode: GridItemNode { representations.append(TelegramMediaImageRepresentation(dimensions: PixelDimensions(imageDimensions), resource: imageResource, progressiveSizes: [], immediateThumbnailData: nil, hasVideo: false, isPersonal: false)) } if !representations.isEmpty { - let tmpImage = TelegramMediaImage(imageId: MediaId(namespace: 0, id: 0), representations: representations, immediateThumbnailData: immediateThumbnailData, reference: nil, partialReference: nil, flags: []) + let tmpImage = TelegramMediaImage(imageId: EngineMedia.Id(namespace: 0, id: 0), representations: representations, immediateThumbnailData: immediateThumbnailData, reference: nil, partialReference: nil, flags: []) updateImageSignal = mediaGridMessagePhoto(account: item.account, userLocation: .other, photoReference: .standalone(media: tmpImage), fullRepresentationSize: CGSize(width: 512, height: 512)) } else { updateImageSignal = .complete() diff --git a/submodules/TelegramUI/Components/Settings/WallpaperGridScreen/Sources/WallpaperSearchRecentQueries.swift b/submodules/TelegramUI/Components/Settings/WallpaperGridScreen/Sources/WallpaperSearchRecentQueries.swift index 20201b9cd9..3370f59479 100644 --- a/submodules/TelegramUI/Components/Settings/WallpaperGridScreen/Sources/WallpaperSearchRecentQueries.swift +++ b/submodules/TelegramUI/Components/Settings/WallpaperGridScreen/Sources/WallpaperSearchRecentQueries.swift @@ -1,23 +1,22 @@ import Foundation -import Postbox import TelegramCore import SwiftSignalKit import TelegramUIPreferences private struct WallpaperSearchRecentQueryItemId { - public let rawValue: MemoryBuffer + public let rawValue: EngineMemoryBuffer var value: String { return String(data: self.rawValue.makeData(), encoding: .utf8) ?? "" } - init(_ rawValue: MemoryBuffer) { + init(_ rawValue: EngineMemoryBuffer) { self.rawValue = rawValue } init?(_ value: String) { if let data = value.data(using: .utf8) { - self.rawValue = MemoryBuffer(data: data) + self.rawValue = EngineMemoryBuffer(data: data) } else { return nil } diff --git a/submodules/TelegramUI/Components/ShareWithPeersScreen/Sources/LiveStreamSettingsScreen.swift b/submodules/TelegramUI/Components/ShareWithPeersScreen/Sources/LiveStreamSettingsScreen.swift index 3a3a03ca1c..2720fbbacd 100644 --- a/submodules/TelegramUI/Components/ShareWithPeersScreen/Sources/LiveStreamSettingsScreen.swift +++ b/submodules/TelegramUI/Components/ShareWithPeersScreen/Sources/LiveStreamSettingsScreen.swift @@ -9,7 +9,6 @@ import ComponentDisplayAdapters import TelegramPresentationData import AccountContext import TelegramCore -import Postbox import MultilineTextComponent import PresentationDataUtils import ButtonComponent diff --git a/submodules/TelegramUI/Components/Stars/StarsPurchaseScreen/BUILD b/submodules/TelegramUI/Components/Stars/StarsPurchaseScreen/BUILD index 8eea622fc1..b1e85960ed 100644 --- a/submodules/TelegramUI/Components/Stars/StarsPurchaseScreen/BUILD +++ b/submodules/TelegramUI/Components/Stars/StarsPurchaseScreen/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit", "//submodules/Display", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/ComponentFlow", diff --git a/submodules/TelegramUI/Components/Stars/StarsPurchaseScreen/Sources/StarsPurchaseScreen.swift b/submodules/TelegramUI/Components/Stars/StarsPurchaseScreen/Sources/StarsPurchaseScreen.swift index a733e61b22..57d7623522 100644 --- a/submodules/TelegramUI/Components/Stars/StarsPurchaseScreen/Sources/StarsPurchaseScreen.swift +++ b/submodules/TelegramUI/Components/Stars/StarsPurchaseScreen/Sources/StarsPurchaseScreen.swift @@ -4,7 +4,6 @@ import Display import ComponentFlow import SwiftSignalKit import TelegramCore -import Postbox import TelegramPresentationData import PresentationDataUtils import ViewControllerComponent diff --git a/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/BUILD b/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/BUILD index d71aef4f9c..066e81e6de 100644 --- a/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/BUILD +++ b/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit", "//submodules/Display", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/ComponentFlow", diff --git a/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/Sources/StarsStatisticsScreen.swift b/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/Sources/StarsStatisticsScreen.swift index c4207b6e35..ed818d6790 100644 --- a/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/Sources/StarsStatisticsScreen.swift +++ b/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/Sources/StarsStatisticsScreen.swift @@ -9,7 +9,6 @@ import ComponentDisplayAdapters import TelegramPresentationData import AccountContext import TelegramCore -import Postbox import MultilineTextComponent import BalancedTextComponent import Markdown diff --git a/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/Sources/StarsTransactionsScreen.swift b/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/Sources/StarsTransactionsScreen.swift index 2dfbc35fd6..c0e8162235 100644 --- a/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/Sources/StarsTransactionsScreen.swift +++ b/submodules/TelegramUI/Components/Stars/StarsTransactionsScreen/Sources/StarsTransactionsScreen.swift @@ -9,7 +9,6 @@ import ComponentDisplayAdapters import TelegramPresentationData import AccountContext import TelegramCore -import Postbox import MultilineTextComponent import BalancedTextComponent import Markdown diff --git a/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/BUILD b/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/BUILD index 01c08ce49c..abebdf3c0b 100644 --- a/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/BUILD +++ b/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit", "//submodules/Display", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/ComponentFlow", diff --git a/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/Sources/StarsWithdrawalScreen.swift b/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/Sources/StarsWithdrawalScreen.swift index c439add8e4..6e5685b939 100644 --- a/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/Sources/StarsWithdrawalScreen.swift +++ b/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/Sources/StarsWithdrawalScreen.swift @@ -4,7 +4,6 @@ import AsyncDisplayKit import Display import ComponentFlow import SwiftSignalKit -import Postbox import TelegramCore import Markdown import TextFormat diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/OpenStories.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/OpenStories.swift index 242839a492..71192f8763 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/OpenStories.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/OpenStories.swift @@ -4,7 +4,6 @@ import Display import AccountContext import SwiftSignalKit import TelegramCore -import Postbox import AvatarNode public extension StoryContainerScreen { @@ -170,7 +169,7 @@ public extension StoryContainerScreen { parentController: ViewController, transitionIn: @escaping () -> StoryContainerScreen.TransitionIn?, transitionOut: @escaping (EnginePeer.Id) -> StoryContainerScreen.TransitionOut?, - setFocusedItem: @escaping (Signal) -> Void, + setFocusedItem: @escaping (Signal) -> Void, setProgress: @escaping (Signal) -> Void, completion: @escaping (StoryContainerScreen) -> Void = { _ in } ) { diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContent.swift index c4ba0356a8..2530a4d73e 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContent.swift @@ -4,7 +4,6 @@ import Display import ComponentFlow import SwiftSignalKit import TelegramCore -import Postbox import TelegramPresentationData public final class StoryContentItem: Equatable { @@ -30,7 +29,7 @@ public final class StoryContentItem: Equatable { } public final class SharedState { - public var replyDrafts: [StoryId: NSAttributedString] = [:] + public var replyDrafts: [EngineStoryId: NSAttributedString] = [:] public var baseRate: Double = 1.0 public init() { @@ -71,7 +70,7 @@ public final class StoryContentItem: Equatable { public let containerInsets: UIEdgeInsets public let presentationProgressUpdated: (Double, Bool, Bool) -> Void public let customItemSubtitleUpdated: () -> Void - public let markAsSeen: (StoryId) -> Void + public let markAsSeen: (EngineStoryId) -> Void public init( externalState: ExternalState, @@ -80,7 +79,7 @@ public final class StoryContentItem: Equatable { containerInsets: UIEdgeInsets, presentationProgressUpdated: @escaping (Double, Bool, Bool) -> Void, customItemSubtitleUpdated: @escaping () -> Void, - markAsSeen: @escaping (StoryId) -> Void + markAsSeen: @escaping (EngineStoryId) -> Void ) { self.externalState = externalState self.sharedState = sharedState @@ -108,7 +107,7 @@ public final class StoryContentItem: Equatable { } } - public let id: StoryId + public let id: EngineStoryId public let position: Int? public let dayCounters: DayCounters? public let peerId: EnginePeer.Id? @@ -117,7 +116,7 @@ public final class StoryContentItem: Equatable { public let itemPeer: EnginePeer? public init( - id: StoryId, + id: EngineStoryId, position: Int?, dayCounters: DayCounters?, peerId: EnginePeer.Id?, @@ -231,10 +230,10 @@ public final class StoryContentContextState { public let additionalPeerData: AdditionalPeerData public let item: StoryContentItem public let totalCount: Int - public let previousItemId: StoryId? - public let nextItemId: StoryId? + public let previousItemId: EngineStoryId? + public let nextItemId: EngineStoryId? public let allItems: [StoryContentItem] - public let forwardInfoStories: [StoryId: Promise] + public let forwardInfoStories: [EngineStoryId: Promise] var effectivePeer: EnginePeer { return self.item.itemPeer ?? self.peer @@ -245,10 +244,10 @@ public final class StoryContentContextState { additionalPeerData: AdditionalPeerData, item: StoryContentItem, totalCount: Int, - previousItemId: StoryId?, - nextItemId: StoryId?, + previousItemId: EngineStoryId?, + nextItemId: EngineStoryId?, allItems: [StoryContentItem], - forwardInfoStories: [StoryId: Promise] + forwardInfoStories: [EngineStoryId: Promise] ) { self.peer = peer self.additionalPeerData = additionalPeerData @@ -305,7 +304,7 @@ public enum StoryContentContextNavigation { public enum ItemDirection { case previous case next - case id(StoryId) + case id(EngineStoryId) } public enum PeerDirection { @@ -324,5 +323,5 @@ public protocol StoryContentContext: AnyObject { func resetSideStates() func navigate(navigation: StoryContentContextNavigation) - func markAsSeen(id: StoryId) + func markAsSeen(id: EngineStoryId) } diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContentLiveChatComponent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContentLiveChatComponent.swift index 25646317a7..f7ef92e112 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContentLiveChatComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContentLiveChatComponent.swift @@ -4,7 +4,6 @@ import Display import ComponentFlow import MultilineTextComponent import AccountContext -import Postbox import TelegramCore import TelegramPresentationData import SwiftSignalKit diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift index 8bbee1abe6..b476f088d6 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift @@ -4,7 +4,6 @@ import Display import ComponentFlow import AccountContext import TelegramCore -import Postbox import AsyncDisplayKit import PhotoResources import SwiftSignalKit @@ -32,7 +31,7 @@ final class StoryItemContentComponent: Component { let peer: EnginePeer let item: EngineStoryItem let availableReactions: StoryAvailableReactions? - let entityFiles: [MediaId: TelegramMediaFile] + let entityFiles: [EngineMedia.Id: TelegramMediaFile] let audioMode: StoryContentItem.AudioMode let baseRate: Double let isVideoBuffering: Bool @@ -44,7 +43,7 @@ final class StoryItemContentComponent: Component { let activateReaction: (UIView, MessageReaction.Reaction) -> Void let controller: () -> ViewController? - init(context: AccountContext, strings: PresentationStrings, peer: EnginePeer, item: EngineStoryItem, availableReactions: StoryAvailableReactions?, entityFiles: [MediaId: TelegramMediaFile], audioMode: StoryContentItem.AudioMode, baseRate: Double, isVideoBuffering: Bool, isCurrent: Bool, isUIHidden: Bool, preferHighQuality: Bool, isEmbeddedInCamera: Bool, canManageLiveChatMessagesFromPeers: Set, activateReaction: @escaping (UIView, MessageReaction.Reaction) -> Void, controller: @escaping () -> ViewController?) { + init(context: AccountContext, strings: PresentationStrings, peer: EnginePeer, item: EngineStoryItem, availableReactions: StoryAvailableReactions?, entityFiles: [EngineMedia.Id: TelegramMediaFile], audioMode: StoryContentItem.AudioMode, baseRate: Double, isVideoBuffering: Bool, isCurrent: Bool, isUIHidden: Bool, preferHighQuality: Bool, isEmbeddedInCamera: Bool, canManageLiveChatMessagesFromPeers: Set, activateReaction: @escaping (UIView, MessageReaction.Reaction) -> Void, controller: @escaping () -> ViewController?) { self.context = context self.strings = strings self.peer = peer @@ -604,7 +603,7 @@ final class StoryItemContentComponent: Component { if !self.markedAsSeen { self.markedAsSeen = true if let component = self.component { - self.environment?.markAsSeen(StoryId(peerId: component.peer.id, id: component.item.id)) + self.environment?.markAsSeen(EngineStoryId(peerId: component.peer.id, id: component.item.id)) } } @@ -729,7 +728,7 @@ final class StoryItemContentComponent: Component { if !self.markedAsSeen { self.markedAsSeen = true if let component = self.component { - self.environment?.markAsSeen(StoryId(peerId: component.peer.id, id: component.item.id)) + self.environment?.markAsSeen(EngineStoryId(peerId: component.peer.id, id: component.item.id)) } } diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemOverlaysView.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemOverlaysView.swift index 61cdc25fd4..c3481c92a8 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemOverlaysView.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemOverlaysView.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import AccountContext import TelegramCore -import Postbox import SwiftSignalKit import ComponentFlow import TinyThumbnail @@ -307,7 +306,7 @@ final class StoryItemOverlaysView: UIView { flags: MediaArea.ReactionFlags, counter: Int, availableReactions: StoryAvailableReactions?, - entityFiles: [MediaId: TelegramMediaFile], + entityFiles: [EngineMedia.Id: TelegramMediaFile], synchronous: Bool, size: CGSize, isActive: Bool @@ -347,7 +346,7 @@ final class StoryItemOverlaysView: UIView { case let .custom(fileId): if let resolvedFile = self.resolvedFile, resolvedFile.fileId.id == fileId { file = resolvedFile - } else if let value = entityFiles[MediaId(namespace: Namespaces.Media.CloudFile, id: fileId)] { + } else if let value = entityFiles[EngineMedia.Id(namespace: Namespaces.Media.CloudFile, id: fileId)] { file = value } else { if self.requestStickerDisposable == nil { @@ -701,7 +700,7 @@ final class StoryItemOverlaysView: UIView { peer: EnginePeer, story: EngineStoryItem, availableReactions: StoryAvailableReactions?, - entityFiles: [MediaId: TelegramMediaFile], + entityFiles: [EngineMedia.Id: TelegramMediaFile], size: CGSize, isCaptureProtected: Bool, attemptSynchronous: Bool, diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetViewListComponent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetViewListComponent.swift index 1a1ff8c8e4..7eb6970858 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetViewListComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetViewListComponent.swift @@ -4,7 +4,6 @@ import Display import ComponentFlow import MultilineTextComponent import TelegramCore -import Postbox import TelegramPresentationData import ComponentDisplayAdapters import AccountContext @@ -46,7 +45,7 @@ public final class StoryItemSetViewListComponent: Component { } public final class SharedListsContext { - var viewLists: [StoryId: EngineStoryViewListContext] = [:] + var viewLists: [EngineStoryId: EngineStoryViewListContext] = [:] public init() { } @@ -294,7 +293,7 @@ public final class StoryItemSetViewListComponent: Component { var requestedLoadMoreToken: EngineStoryViewListContext.LoadMoreToken? private var previewedItemDisposable: Disposable? - private var previewedItemId: StoryId? + private var previewedItemId: EngineStoryId? var eventCycleState: EventCycleState? @@ -345,7 +344,7 @@ public final class StoryItemSetViewListComponent: Component { self.previewedItemDisposable?.dispose() } - func setPreviewedItem(signal: Signal) { + func setPreviewedItem(signal: Signal) { self.previewedItemDisposable?.dispose() self.previewedItemDisposable = (signal |> distinctUntilChanged |> deliverOnMainQueue).start(next: { [weak self] previewedItemId in guard let self else { @@ -369,7 +368,7 @@ public final class StoryItemSetViewListComponent: Component { }) } - func sourceView(storyId: StoryId) -> UIView? { + func sourceView(storyId: EngineStoryId) -> UIView? { for (itemId, visibleItem) in self.visibleItems { if let itemView = visibleItem.view as? PeerListItemComponent.View { if itemId.peerId == storyId.peerId && itemId.storyId == storyId.id { @@ -808,11 +807,11 @@ public final class StoryItemSetViewListComponent: Component { } if self.configuration == ContentConfigurationKey(listMode: .everyone, sortMode: defaultSortMode) { let viewList: EngineStoryViewListContext - if let current = component.sharedListsContext.viewLists[StoryId(peerId: component.peerId, id: component.storyItem.id)] { + if let current = component.sharedListsContext.viewLists[EngineStoryId(peerId: component.peerId, id: component.storyItem.id)] { viewList = current } else { viewList = component.context.engine.messages.storyViewList(peerId: component.peerId, id: component.storyItem.id, views: views, listMode: .everyone, sortMode: defaultSortMode.sortMode) - component.sharedListsContext.viewLists[StoryId(peerId: component.peerId, id: component.storyItem.id)] = viewList + component.sharedListsContext.viewLists[EngineStoryId(peerId: component.peerId, id: component.storyItem.id)] = viewList } self.viewList = viewList } else { @@ -823,7 +822,7 @@ public final class StoryItemSetViewListComponent: Component { case .contacts: mappedListMode = .contacts } - self.viewList = component.context.engine.messages.storyViewList(peerId: component.peerId, id: component.storyItem.id, views: views, listMode: mappedListMode, sortMode: self.configuration.sortMode.sortMode, parentSource: component.sharedListsContext.viewLists[StoryId(peerId: component.peerId, id: component.storyItem.id)]) + self.viewList = component.context.engine.messages.storyViewList(peerId: component.peerId, id: component.storyItem.id, views: views, listMode: mappedListMode, sortMode: self.configuration.sortMode.sortMode, parentSource: component.sharedListsContext.viewLists[EngineStoryId(peerId: component.peerId, id: component.storyItem.id)]) } } } @@ -1352,11 +1351,11 @@ public final class StoryItemSetViewListComponent: Component { return super.hitTest(point, with: event) } - public func setPreviewedItem(signal: Signal) { + public func setPreviewedItem(signal: Signal) { self.currentContentView?.setPreviewedItem(signal: signal) } - public func sourceView(storyId: StoryId) -> UIView? { + public func sourceView(storyId: EngineStoryId) -> UIView? { self.currentContentView?.sourceView(storyId: storyId) } @@ -1505,11 +1504,11 @@ public final class StoryItemSetViewListComponent: Component { if let views = component.storyItem.views { let viewList: EngineStoryViewListContext - if let current = component.sharedListsContext.viewLists[StoryId(peerId: component.peerId, id: component.storyItem.id)] { + if let current = component.sharedListsContext.viewLists[EngineStoryId(peerId: component.peerId, id: component.storyItem.id)] { viewList = current } else { viewList = component.context.engine.messages.storyViewList(peerId: component.peerId, id: component.storyItem.id, views: views, listMode: .everyone, sortMode: .reactionsFirst) - component.sharedListsContext.viewLists[StoryId(peerId: component.peerId, id: component.storyItem.id)] = viewList + component.sharedListsContext.viewLists[EngineStoryId(peerId: component.peerId, id: component.storyItem.id)] = viewList } self.mainViewList = viewList self.mainViewListDisposable = (viewList.state diff --git a/submodules/TelegramUI/Components/Stories/StoryPeerListComponent/Sources/StoryPeerListComponent.swift b/submodules/TelegramUI/Components/Stories/StoryPeerListComponent/Sources/StoryPeerListComponent.swift index 1abccc6051..0b19bc56fc 100644 --- a/submodules/TelegramUI/Components/Stories/StoryPeerListComponent/Sources/StoryPeerListComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryPeerListComponent/Sources/StoryPeerListComponent.swift @@ -6,7 +6,6 @@ import AppBundle import BundleIconComponent import AccountContext import TelegramCore -import Postbox import SwiftSignalKit import TelegramPresentationData import StoryContainerScreen @@ -444,7 +443,7 @@ public final class StoryPeerListComponent: Component { } } - public func setPreviewedItem(signal: Signal) { + public func setPreviewedItem(signal: Signal) { self.previewedItemDisposable?.dispose() self.previewedItemDisposable = (signal |> map(\.?.peerId) |> distinctUntilChanged |> deliverOnMainQueue).start(next: { [weak self] itemId in guard let self, let component = self.component else { diff --git a/submodules/TelegramUI/Components/TranslateHeaderPanelComponent/BUILD b/submodules/TelegramUI/Components/TranslateHeaderPanelComponent/BUILD index 7ed891c752..1d3dbb87da 100644 --- a/submodules/TelegramUI/Components/TranslateHeaderPanelComponent/BUILD +++ b/submodules/TelegramUI/Components/TranslateHeaderPanelComponent/BUILD @@ -15,7 +15,6 @@ swift_library( "//submodules/TelegramPresentationData", "//submodules/AccountContext", "//submodules/SSignalKit/SwiftSignalKit", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/LocalizedPeerData", "//submodules/TelegramStringFormatting", diff --git a/submodules/TelegramUI/Components/TranslateHeaderPanelComponent/Sources/ChatTranslationPanelNode.swift b/submodules/TelegramUI/Components/TranslateHeaderPanelComponent/Sources/ChatTranslationPanelNode.swift index cf04513bd7..a2ad5a9382 100644 --- a/submodules/TelegramUI/Components/TranslateHeaderPanelComponent/Sources/ChatTranslationPanelNode.swift +++ b/submodules/TelegramUI/Components/TranslateHeaderPanelComponent/Sources/ChatTranslationPanelNode.swift @@ -3,7 +3,6 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import LocalizedPeerData @@ -394,7 +393,7 @@ final class ChatTranslationPanelNode: ASDisplayNode { let cocoonPath = getAppBundle().url(forResource: "Cocoon", withExtension: "tgs")?.path ?? "" let cocoonFile = TelegramMediaFile( - fileId: MediaId(namespace: Namespaces.Media.CloudFile, id: -123456789), + fileId: EngineMedia.Id(namespace: Namespaces.Media.CloudFile, id: -123456789), partialReference: nil, resource: BundleResource(name: "Cocoon", path: cocoonPath), previewRepresentations: [], diff --git a/submodules/TelegramUI/Components/VideoMessageCameraScreen/BUILD b/submodules/TelegramUI/Components/VideoMessageCameraScreen/BUILD index 3a2073718b..85935d5916 100644 --- a/submodules/TelegramUI/Components/VideoMessageCameraScreen/BUILD +++ b/submodules/TelegramUI/Components/VideoMessageCameraScreen/BUILD @@ -12,7 +12,6 @@ swift_library( deps = [ "//submodules/AsyncDisplayKit", "//submodules/Display", - "//submodules/Postbox", "//submodules/TelegramCore", "//submodules/SSignalKit/SwiftSignalKit", "//submodules/ComponentFlow", diff --git a/submodules/TelegramUI/Components/VideoMessageCameraScreen/Sources/VideoMessageCameraScreen.swift b/submodules/TelegramUI/Components/VideoMessageCameraScreen/Sources/VideoMessageCameraScreen.swift index 97e52bec43..000b909286 100644 --- a/submodules/TelegramUI/Components/VideoMessageCameraScreen/Sources/VideoMessageCameraScreen.swift +++ b/submodules/TelegramUI/Components/VideoMessageCameraScreen/Sources/VideoMessageCameraScreen.swift @@ -8,7 +8,6 @@ import ViewControllerComponent import ComponentDisplayAdapters import TelegramPresentationData import AccountContext -import Postbox import TelegramCore import PresentationDataUtils import Camera @@ -1276,7 +1275,7 @@ public class VideoMessageCameraScreen: ViewController { let id = Int64.random(in: Int64.min ... Int64.max) let fileResource = LocalFileReferenceMediaResource(localFilePath: path, randomId: id) - let file = TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: id), partialReference: nil, resource: fileResource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "video/mp4", size: Int64(data.count), attributes: [.FileName(fileName: "video.mp4")], alternativeRepresentations: []) + let file = TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: id), partialReference: nil, resource: fileResource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "video/mp4", size: Int64(data.count), attributes: [.FileName(fileName: "video.mp4")], alternativeRepresentations: []) let message: EnqueueMessage = .message(text: "", attributes: [], inlineStickers: [:], mediaReference: .standalone(media: file), threadId: nil, replyToMessageId: nil, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: []) let _ = enqueueMessages(account: self.context.engine.account, peerId: self.context.engine.account.peerId, messages: [message]).startStandalone() @@ -1945,8 +1944,8 @@ public class VideoMessageCameraScreen: ViewController { var resourceAdjustments: VideoMediaResourceAdjustments? = nil if let valuesData = try? JSONEncoder().encode(values) { - let data = MemoryBuffer(data: valuesData) - let digest = MemoryBuffer(data: data.md5Digest()) + let data = EngineMemoryBuffer(data: valuesData) + let digest = EngineMemoryBuffer(data: data.md5Digest()) resourceAdjustments = VideoMediaResourceAdjustments(data: data, digest: digest, isStory: false) } @@ -1973,17 +1972,17 @@ public class VideoMessageCameraScreen: ViewController { previewRepresentations.append(TelegramMediaImageRepresentation(dimensions: PixelDimensions(thumbnailSize), resource: thumbnailResource, progressiveSizes: [], immediateThumbnailData: nil, hasVideo: false, isPersonal: false)) } - let tempFile = TempBox.shared.tempFile(fileName: "file") + let tempFile = EngineTempBox.shared.tempFile(fileName: "file") defer { - TempBox.shared.dispose(tempFile) + EngineTempBox.shared.dispose(tempFile) } if let data = compressImageToJPEG(thumbnailImage, quality: 0.7, tempFilePath: tempFile.path) { context.account.postbox.mediaBox.storeCachedResourceRepresentation(resource, representation: CachedVideoFirstFrameRepresentation(), data: data) } - let media = TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: Int64.random(in: Int64.min ... Int64.max)), partialReference: nil, resource: resource, previewRepresentations: previewRepresentations, videoThumbnails: [], immediateThumbnailData: nil, mimeType: "video/mp4", size: nil, attributes: [.FileName(fileName: "video.mp4"), .Video(duration: finalDuration, size: video.dimensions, flags: [.instantRoundVideo], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: []) + let media = TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: Int64.random(in: Int64.min ... Int64.max)), partialReference: nil, resource: resource, previewRepresentations: previewRepresentations, videoThumbnails: [], immediateThumbnailData: nil, mimeType: "video/mp4", size: nil, attributes: [.FileName(fileName: "video.mp4"), .Video(duration: finalDuration, size: video.dimensions, flags: [.instantRoundVideo], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: []) - var attributes: [MessageAttribute] = [] + var attributes: [EngineMessage.Attribute] = [] if self.cameraState.isViewOnceEnabled { attributes.append(AutoremoveTimeoutMessageAttribute(timeout: viewOnceTimeout, countdownBeginTime: nil)) } diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerMediaRecording.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerMediaRecording.swift index 57ba2caca7..c73e8ed83e 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerMediaRecording.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerMediaRecording.swift @@ -1,6 +1,5 @@ import Foundation import UIKit -import Postbox import SwiftSignalKit import Display import AsyncDisplayKit @@ -389,12 +388,12 @@ extension ChatControllerImpl { } }, usedCorrelationId ? correlationId : nil) - var attributes: [MessageAttribute] = [] + var attributes: [EngineMessage.Attribute] = [] if viewOnce { attributes.append(AutoremoveTimeoutMessageAttribute(timeout: viewOnceTimeout, countdownBeginTime: nil)) } - strongSelf.sendMessages([.message(text: "", attributes: attributes, inlineStickers: [:], mediaReference: .standalone(media: TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: randomId), partialReference: nil, resource: resource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "audio/ogg", size: Int64(data.compressedData.count), attributes: [.Audio(isVoice: true, duration: Int(data.duration), title: nil, performer: nil, waveform: waveformBuffer)], alternativeRepresentations: [])), threadId: strongSelf.chatLocation.threadId, replyToMessageId: strongSelf.presentationInterfaceState.interfaceState.replyMessageSubject?.subjectModel, replyToStoryId: nil, localGroupingKey: nil, correlationId: correlationId, bubbleUpEmojiOrStickersets: [])]) + strongSelf.sendMessages([.message(text: "", attributes: attributes, inlineStickers: [:], mediaReference: .standalone(media: TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: randomId), partialReference: nil, resource: resource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "audio/ogg", size: Int64(data.compressedData.count), attributes: [.Audio(isVoice: true, duration: Int(data.duration), title: nil, performer: nil, waveform: waveformBuffer)], alternativeRepresentations: [])), threadId: strongSelf.chatLocation.threadId, replyToMessageId: strongSelf.presentationInterfaceState.interfaceState.replyMessageSubject?.subjectModel, replyToStoryId: nil, localGroupingKey: nil, correlationId: correlationId, bubbleUpEmojiOrStickersets: [])]) strongSelf.recorderFeedback?.tap() strongSelf.recorderFeedback = nil @@ -726,7 +725,7 @@ extension ChatControllerImpl { } }, nil) - var attributes: [MessageAttribute] = [] + var attributes: [EngineMessage.Attribute] = [] if viewOnce { attributes.append(AutoremoveTimeoutMessageAttribute(timeout: viewOnceTimeout, countdownBeginTime: nil)) } @@ -750,7 +749,7 @@ extension ChatControllerImpl { let waveformBuffer = waveform.makeBitstream() - let messages: [EnqueueMessage] = [.message(text: "", attributes: attributes, inlineStickers: [:], mediaReference: .standalone(media: TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: Int64.random(in: Int64.min ... Int64.max)), partialReference: nil, resource: resource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "audio/ogg", size: Int64(audio.fileSize), attributes: [.Audio(isVoice: true, duration: finalDuration, title: nil, performer: nil, waveform: waveformBuffer)], alternativeRepresentations: [])), threadId: self.chatLocation.threadId, replyToMessageId: self.presentationInterfaceState.interfaceState.replyMessageSubject?.subjectModel, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: [])] + let messages: [EnqueueMessage] = [.message(text: "", attributes: attributes, inlineStickers: [:], mediaReference: .standalone(media: TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: Int64.random(in: Int64.min ... Int64.max)), partialReference: nil, resource: resource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "audio/ogg", size: Int64(audio.fileSize), attributes: [.Audio(isVoice: true, duration: finalDuration, title: nil, performer: nil, waveform: waveformBuffer)], alternativeRepresentations: [])), threadId: self.chatLocation.threadId, replyToMessageId: self.presentationInterfaceState.interfaceState.replyMessageSubject?.subjectModel, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: [])] let effectiveSilentPosting = silentPosting ?? self.presentationInterfaceState.interfaceState.silentPosting let transformedMessages = self.transformEnqueueMessages(messages, silentPosting: effectiveSilentPosting, scheduleTime: scheduleTime, repeatPeriod: repeatPeriod, postpone: postpone) diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenDateContextMenu.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenDateContextMenu.swift index c1aadf5f56..1860fcceea 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenDateContextMenu.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenDateContextMenu.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import Display @@ -97,7 +96,7 @@ extension ChatControllerImpl: EKEventEditViewDelegate { guard let self else { return } - let attributes: [MessageAttribute] = [ + let attributes: [EngineMessage.Attribute] = [ OutgoingScheduleInfoMessageAttribute(scheduleTime: result.time, repeatPeriod: result.repeatPeriod) ] let forwardMessage: EnqueueMessage = .forward(source: message.id, threadId: nil, grouping: .auto, attributes: attributes, correlationId: nil) diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenDocumentScanner.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenDocumentScanner.swift index da32ec1cf0..eade7a3d98 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenDocumentScanner.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenDocumentScanner.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import Display @@ -93,7 +92,7 @@ extension ChatControllerImpl: VNDocumentCameraViewControllerDelegate { var attributes: [TelegramMediaFileAttribute] = [] attributes.append(.FileName(fileName: item.fileName)) - let file = TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: fileId), partialReference: nil, resource: item.resource, previewRepresentations: previewRepresentations, videoThumbnails: [], immediateThumbnailData: nil, mimeType: item.mimeType, size: item.size, attributes: attributes, alternativeRepresentations: []) + let file = TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: fileId), partialReference: nil, resource: item.resource, previewRepresentations: previewRepresentations, videoThumbnails: [], immediateThumbnailData: nil, mimeType: item.mimeType, size: item.size, attributes: attributes, alternativeRepresentations: []) let message: EnqueueMessage = .message(text: "", attributes: [], inlineStickers: [:], mediaReference: .standalone(media: file), threadId: self.chatLocation.threadId, replyToMessageId: nil, replyToStoryId: nil, localGroupingKey: groupingKey, correlationId: nil, bubbleUpEmojiOrStickersets: []) messages.append(message) diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenPollContextMenu.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenPollContextMenu.swift index fe2a3f3ddc..357ca8942c 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenPollContextMenu.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenPollContextMenu.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import Display @@ -126,7 +125,7 @@ extension ChatControllerImpl { guard let self else { return } - var threadMessageId: MessageId? + var threadMessageId: EngineMessage.Id? if case let .replyThread(replyThreadMessage) = self.presentationInterfaceState.chatLocation { threadMessageId = replyThreadMessage.effectiveMessageId } diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenTimecodeContextMenu.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenTimecodeContextMenu.swift index 6d1870731e..a94fc35d22 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenTimecodeContextMenu.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenTimecodeContextMenu.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import Display diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenTodoContextMenu.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenTodoContextMenu.swift index 8d88365bd7..068c7322dc 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenTodoContextMenu.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenTodoContextMenu.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import Display @@ -169,7 +168,7 @@ extension ChatControllerImpl { guard let self else { return } - var threadMessageId: MessageId? + var threadMessageId: EngineMessage.Id? if case let .replyThread(replyThreadMessage) = self.presentationInterfaceState.chatLocation { threadMessageId = replyThreadMessage.effectiveMessageId } diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenUsernameContextMenu.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenUsernameContextMenu.swift index 60c97a35bc..1672d9755a 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerOpenUsernameContextMenu.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerOpenUsernameContextMenu.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import Display diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerPaidMessage.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerPaidMessage.swift index ab1b663e74..4af9e943d6 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerPaidMessage.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerPaidMessage.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import Display @@ -120,7 +119,7 @@ extension ChatControllerImpl { return false } if case .undo = action { - var messageIds: [MessageId] = [] + var messageIds: [EngineMessage.Id] = [] self.chatDisplayNode.historyNode.forEachItemNode { itemNode in if let itemNode = itemNode as? ChatMessageItemNodeProtocol { for message in itemNode.messages() { diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerToasts.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerToasts.swift index 8e37932d93..50dca82959 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerToasts.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerToasts.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import SwiftSignalKit -import Postbox import TelegramCore import AsyncDisplayKit import Display diff --git a/submodules/TelegramUI/Sources/Chat/ChatMessageActionOptions.swift b/submodules/TelegramUI/Sources/Chat/ChatMessageActionOptions.swift index 1d59b973cb..d1ee4cda89 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatMessageActionOptions.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatMessageActionOptions.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import AccountContext @@ -141,7 +140,7 @@ private func chatForwardOptions(selfController: ChatControllerImpl, sourceView: var items: [ContextMenuItem] = [] var hasCaptions = false - var uniquePeerIds = Set() + var uniquePeerIds = Set() var hasOther = false var hasNotOwnMessages = false diff --git a/submodules/TelegramUI/Sources/Chat/ChatMessageDisplaySendMessageOptions.swift b/submodules/TelegramUI/Sources/Chat/ChatMessageDisplaySendMessageOptions.swift index b16df87b7e..b589ed3100 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatMessageDisplaySendMessageOptions.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatMessageDisplaySendMessageOptions.swift @@ -4,7 +4,6 @@ import AsyncDisplayKit import ContextUI import Display import SwiftSignalKit -import Postbox import TelegramCore import TelegramNotices import ChatSendMessageActionUI diff --git a/submodules/TelegramUI/Sources/Chat/UpdateChatPresentationInterfaceState.swift b/submodules/TelegramUI/Sources/Chat/UpdateChatPresentationInterfaceState.swift index 74e4e93605..e71da9520a 100644 --- a/submodules/TelegramUI/Sources/Chat/UpdateChatPresentationInterfaceState.swift +++ b/submodules/TelegramUI/Sources/Chat/UpdateChatPresentationInterfaceState.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import SwiftSignalKit -import Postbox import TelegramCore import TelegramPresentationData import AccountContext diff --git a/submodules/TelegramUI/Sources/ChatControllerOpenCalendarSearch.swift b/submodules/TelegramUI/Sources/ChatControllerOpenCalendarSearch.swift index 821488a047..659b44954f 100644 --- a/submodules/TelegramUI/Sources/ChatControllerOpenCalendarSearch.swift +++ b/submodules/TelegramUI/Sources/ChatControllerOpenCalendarSearch.swift @@ -1,7 +1,6 @@ import Foundation import TelegramPresentationData import AccountContext -import Postbox import TelegramCore import SwiftSignalKit import CalendarMessageScreen @@ -52,7 +51,7 @@ extension ChatControllerImpl { strongSelf.loadingMessage.set(.single(.generic)) - let peerId: PeerId + let peerId: EnginePeer.Id let threadId: Int64? switch strongSelf.chatLocation { case let .peer(peerIdValue): @@ -89,7 +88,7 @@ extension ChatControllerImpl { strongSelf.loadingMessage.set(.single(.generic)) - let peerId: PeerId + let peerId: EnginePeer.Id let threadId: Int64? switch strongSelf.chatLocation { case let .peer(peerIdValue): @@ -210,7 +209,7 @@ extension ChatControllerImpl { self.loadingMessage.set(.single(.generic)) - let peerId: PeerId + let peerId: EnginePeer.Id let threadId: Int64? switch self.chatLocation { case let .peer(peerIdValue): diff --git a/submodules/TelegramUI/Sources/ChatControllerOpenMessageReplies.swift b/submodules/TelegramUI/Sources/ChatControllerOpenMessageReplies.swift index f5cb3b3137..1657d4ffd8 100644 --- a/submodules/TelegramUI/Sources/ChatControllerOpenMessageReplies.swift +++ b/submodules/TelegramUI/Sources/ChatControllerOpenMessageReplies.swift @@ -1,14 +1,13 @@ import Foundation import TelegramPresentationData import AccountContext -import Postbox import TelegramCore import SwiftSignalKit import PresentationDataUtils import Display extension ChatControllerImpl { - func openMessageReplies(messageId: MessageId, displayProgressInMessage: MessageId?, isChannelPost: Bool, atMessage atMessageId: MessageId?, displayModalProgress: Bool) { + func openMessageReplies(messageId: EngineMessage.Id, displayProgressInMessage: EngineMessage.Id?, isChannelPost: Bool, atMessage atMessageId: EngineMessage.Id?, displayModalProgress: Bool) { guard let navigationController = self.effectiveNavigationController else { return } @@ -58,7 +57,7 @@ extension ChatControllerImpl { }) } - static func openMessageReplies(context: AccountContext, updatedPresentationData: (initial: PresentationData, signal: Signal)? = nil, navigationController: NavigationController, present: @escaping (ViewController, Any?) -> Void, messageId: MessageId, isChannelPost: Bool, atMessage atMessageId: MessageId?, displayModalProgress: Bool) -> Signal { + static func openMessageReplies(context: AccountContext, updatedPresentationData: (initial: PresentationData, signal: Signal)? = nil, navigationController: NavigationController, present: @escaping (ViewController, Any?) -> Void, messageId: EngineMessage.Id, isChannelPost: Bool, atMessage atMessageId: EngineMessage.Id?, displayModalProgress: Bool) -> Signal { return Signal { subscriber in let presentationData = context.sharedContext.currentPresentationData.with { $0 } diff --git a/submodules/TelegramUI/Sources/ChatControllerScrollToPointInHistory.swift b/submodules/TelegramUI/Sources/ChatControllerScrollToPointInHistory.swift index 6318be7cdc..26d6eb6965 100644 --- a/submodules/TelegramUI/Sources/ChatControllerScrollToPointInHistory.swift +++ b/submodules/TelegramUI/Sources/ChatControllerScrollToPointInHistory.swift @@ -4,7 +4,6 @@ import AccountContext import Display import SwiftSignalKit import TelegramCore -import Postbox import UIKit import OverlayStatusController import PresentationDataUtils @@ -15,7 +14,7 @@ extension ChatControllerImpl { let historyView = preloadedChatHistoryViewForLocation(locationInput, context: self.context, chatLocation: self.chatLocation, subject: self.subject, chatLocationContextHolder: self.chatLocationContextHolder, fixedCombinedReadStates: nil, tag: nil, additionalData: []) let signal = historyView - |> mapToSignal { historyView -> Signal<(MessageIndex?, Bool), NoError> in + |> mapToSignal { historyView -> Signal<(EngineMessage.Index?, Bool), NoError> in switch historyView { case .Loading: return .single((nil, true)) @@ -79,7 +78,7 @@ extension ChatControllerImpl { let historyView = preloadedChatHistoryViewForLocation(locationInput, context: self.context, chatLocation: self.chatLocation, subject: self.subject, chatLocationContextHolder: self.chatLocationContextHolder, fixedCombinedReadStates: nil, tag: nil, additionalData: []) let signal = historyView - |> mapToSignal { historyView -> Signal<(MessageIndex?, Bool), NoError> in + |> mapToSignal { historyView -> Signal<(EngineMessage.Index?, Bool), NoError> in switch historyView { case .Loading: return .single((nil, true)) @@ -146,9 +145,9 @@ extension ChatControllerImpl { } var kind: PeerInfoControllerMode.PeerInfoMediaKind? - if message.tags.contains(MessageTags.photoOrVideo) { + if message.tags.contains(EngineMessage.Tags.photoOrVideo) { kind = .photoVideo - } else if message.tags.contains(MessageTags.file) { + } else if message.tags.contains(EngineMessage.Tags.file) { kind = .file } diff --git a/submodules/TelegramUI/Sources/ChatControllerUpdateSearch.swift b/submodules/TelegramUI/Sources/ChatControllerUpdateSearch.swift index 07cd1d573d..925b489de3 100644 --- a/submodules/TelegramUI/Sources/ChatControllerUpdateSearch.swift +++ b/submodules/TelegramUI/Sources/ChatControllerUpdateSearch.swift @@ -3,7 +3,6 @@ import TelegramPresentationData import AccountContext import ChatPresentationInterfaceState import SwiftSignalKit -import Postbox import TelegramCore extension ChatControllerImpl { @@ -106,7 +105,7 @@ extension ChatControllerImpl { return } strongSelf.searchResultsCount.set(results.totalCount) - var navigateIndex: MessageIndex? + var navigateIndex: EngineMessage.Index? strongSelf.updateChatPresentationInterfaceState(animated: true, interactive: true, { current in if let data = current.search { let messageIndices = results.messages.map({ $0.index }).sorted() diff --git a/submodules/TelegramUI/Sources/ChatHistoryNavigationStack.swift b/submodules/TelegramUI/Sources/ChatHistoryNavigationStack.swift index a4d8aa1a72..80cc6569fd 100644 --- a/submodules/TelegramUI/Sources/ChatHistoryNavigationStack.swift +++ b/submodules/TelegramUI/Sources/ChatHistoryNavigationStack.swift @@ -1,15 +1,15 @@ import Foundation import UIKit -import Postbox +import TelegramCore struct ChatHistoryNavigationStack { - private var messageIndices: [MessageIndex] = [] + private var messageIndices: [EngineMessage.Index] = [] - mutating func add(_ index: MessageIndex) { + mutating func add(_ index: EngineMessage.Index) { self.messageIndices.append(index) } - mutating func removeLast() -> MessageIndex? { + mutating func removeLast() -> EngineMessage.Index? { if messageIndices.isEmpty { return nil } @@ -20,7 +20,7 @@ struct ChatHistoryNavigationStack { return self.messageIndices.isEmpty } - mutating func filterOutIndicesLessThan(_ index: MessageIndex) { + mutating func filterOutIndicesLessThan(_ index: EngineMessage.Index) { for i in (0 ..< self.messageIndices.count).reversed() { if self.messageIndices[i] <= index { self.messageIndices.remove(at: i) diff --git a/submodules/TelegramUI/Sources/ChatMessageReportInputPanelNode.swift b/submodules/TelegramUI/Sources/ChatMessageReportInputPanelNode.swift index e9642778f8..88854db52e 100644 --- a/submodules/TelegramUI/Sources/ChatMessageReportInputPanelNode.swift +++ b/submodules/TelegramUI/Sources/ChatMessageReportInputPanelNode.swift @@ -2,7 +2,6 @@ import Foundation import UIKit import AsyncDisplayKit import Display -import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData @@ -22,7 +21,7 @@ final class ChatMessageReportInputPanelNode: ChatInputPanelNode { private var strings: PresentationStrings private let peerMedia: Bool - var selectedMessages = Set() { + var selectedMessages = Set() { didSet { if oldValue != self.selectedMessages { self.reportButton.isEnabled = self.selectedMessages.count != 0 diff --git a/submodules/TelegramUI/Sources/ChatMessageTransitionNode.swift b/submodules/TelegramUI/Sources/ChatMessageTransitionNode.swift index f9673954be..2074c849b6 100644 --- a/submodules/TelegramUI/Sources/ChatMessageTransitionNode.swift +++ b/submodules/TelegramUI/Sources/ChatMessageTransitionNode.swift @@ -6,7 +6,6 @@ import ContextUI import AnimatedStickerNode import SwiftSignalKit import ContextUI -import Postbox import TelegramCore import ReactionSelectionNode import ChatControllerInteraction @@ -1211,15 +1210,15 @@ public final class ChatMessageTransitionNodeImpl: ASDisplayNode, ChatMessageTran } } - func addMessageContextController(messageId: MessageId, contextController: ContextController) { + func addMessageContextController(messageId: EngineMessage.Id, contextController: ContextController) { self.addMessageReactionContextContext(messageId: messageId, contextController: contextController, standaloneReactionAnimation: nil) } - func addMessageStandaloneReactionAnimation(messageId: MessageId, standaloneReactionAnimation: StandaloneReactionAnimation) { + func addMessageStandaloneReactionAnimation(messageId: EngineMessage.Id, standaloneReactionAnimation: StandaloneReactionAnimation) { self.addMessageReactionContextContext(messageId: messageId, contextController: nil, standaloneReactionAnimation: standaloneReactionAnimation) } - private func addMessageReactionContextContext(messageId: MessageId, contextController: ContextController?, standaloneReactionAnimation: StandaloneReactionAnimation?) { + private func addMessageReactionContextContext(messageId: EngineMessage.Id, contextController: ContextController?, standaloneReactionAnimation: StandaloneReactionAnimation?) { self.removeEmptyMessageReactionContexts() var messageItemNode: ListViewItemNode? diff --git a/submodules/TelegramUI/Sources/ChatSearchTitleAccessoryPanelNode.swift b/submodules/TelegramUI/Sources/ChatSearchTitleAccessoryPanelNode.swift index e404568775..05079585e8 100644 --- a/submodules/TelegramUI/Sources/ChatSearchTitleAccessoryPanelNode.swift +++ b/submodules/TelegramUI/Sources/ChatSearchTitleAccessoryPanelNode.swift @@ -10,7 +10,6 @@ import MultilineTextComponent import PlainButtonComponent import UIKitRuntimeUtils import TelegramCore -import Postbox import EmojiStatusComponent import SwiftSignalKit import ContextUI @@ -446,7 +445,7 @@ final class ChatSearchTitleAccessoryPanelNode: ChatTitleAccessoryPanelNode, Chat private var itemsDisposable: Disposable? - private var appliedScrollToTag: MemoryBuffer? + private var appliedScrollToTag: EngineMemoryBuffer? init(context: AccountContext, chatLocation: ChatLocation) { self.context = context diff --git a/submodules/TelegramUI/Sources/ChatTagSearchInputPanelNode.swift b/submodules/TelegramUI/Sources/ChatTagSearchInputPanelNode.swift index 7ad89bff3d..ce48f9c2a6 100644 --- a/submodules/TelegramUI/Sources/ChatTagSearchInputPanelNode.swift +++ b/submodules/TelegramUI/Sources/ChatTagSearchInputPanelNode.swift @@ -3,7 +3,6 @@ import UIKit import AsyncDisplayKit import Display import TelegramCore -import Postbox import SwiftSignalKit import TelegramNotices import TelegramPresentationData @@ -75,7 +74,7 @@ final class ChatTagSearchInputPanelNode: ChatInputPanelNode { private var currentLayout: Layout? - private var tagMessageCount: (tag: MemoryBuffer, count: Int?, disposable: Disposable?)? + private var tagMessageCount: (tag: EngineMemoryBuffer, count: Int?, disposable: Disposable?)? private var totalMessageCount: Int? private var totalMessageCountDisposable: Disposable? @@ -131,7 +130,7 @@ final class ChatTagSearchInputPanelNode: ChatInputPanelNode { return height } - func prepareSwitchToFilter(tag: MemoryBuffer, count: Int) { + func prepareSwitchToFilter(tag: EngineMemoryBuffer, count: Int) { self.tagMessageCount?.disposable?.dispose() self.tagMessageCount = (tag, count, nil) } diff --git a/submodules/TelegramUI/Sources/ClearNotificationsManager.swift b/submodules/TelegramUI/Sources/ClearNotificationsManager.swift index bcc43996e6..0993c3fa63 100644 --- a/submodules/TelegramUI/Sources/ClearNotificationsManager.swift +++ b/submodules/TelegramUI/Sources/ClearNotificationsManager.swift @@ -1,12 +1,12 @@ import Foundation import SwiftSignalKit -import Postbox +import TelegramCore private let messageNotificationKeyExpr = try? NSRegularExpression(pattern: "m([-\\d]+):([-\\d]+):([-\\d]+)_?", options: []) public enum NotificationManagedNotificationRequestId: Hashable { - case messageId(MessageId) - case globallyUniqueId(Int64, PeerId?) + case messageId(EngineMessage.Id) + case globallyUniqueId(Int64, EnginePeer.Id?) public init?(string: String) { if string.hasPrefix("m") { @@ -26,7 +26,7 @@ public enum NotificationManagedNotificationRequestId: Hashable { guard let id = Int32(idString) else { return nil } - self = .messageId(MessageId(peerId: PeerId(peerId), namespace: namespace, id: id)) + self = .messageId(EngineMessage.Id(peerId: EnginePeer.Id(peerId), namespace: namespace, id: id)) return } } @@ -48,7 +48,7 @@ public final class ClearNotificationsManager { private let removeNotificationIds: ([String]) -> Void private let removePendingNotificationIds: ([String]) -> Void - private var ids: [PeerId: MessageId] = [:] + private var ids: [EnginePeer.Id: EngineMessage.Id] = [:] private var timer: SwiftSignalKit.Timer? @@ -91,7 +91,7 @@ public final class ClearNotificationsManager { }) } - public func append(_ id: MessageId) { + public func append(_ id: EngineMessage.Id) { if let current = self.ids[id.peerId] { if current < id { self.ids[id.peerId] = id diff --git a/submodules/TelegramUI/Sources/CommandMenuChatInputContextPanelNode.swift b/submodules/TelegramUI/Sources/CommandMenuChatInputContextPanelNode.swift index d424abb064..289d41a949 100644 --- a/submodules/TelegramUI/Sources/CommandMenuChatInputContextPanelNode.swift +++ b/submodules/TelegramUI/Sources/CommandMenuChatInputContextPanelNode.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import AsyncDisplayKit -import Postbox import SwiftSignalKit import TelegramCore import Display @@ -75,7 +74,7 @@ final class CommandMenuChatInputContextPanelNode: ChatInputContextPanelNode { private let disposable = MetaDisposable() - init(context: AccountContext, theme: PresentationTheme, strings: PresentationStrings, fontSize: PresentationFontSize, peerId: PeerId, chatPresentationContext: ChatPresentationContext) { + init(context: AccountContext, theme: PresentationTheme, strings: PresentationStrings, fontSize: PresentationFontSize, peerId: EnginePeer.Id, chatPresentationContext: ChatPresentationContext) { self.backgroundView = GlassBackgroundView() self.backgroundView.layer.anchorPoint = CGPoint() diff --git a/submodules/TelegramUI/Sources/ComposeControllerNode.swift b/submodules/TelegramUI/Sources/ComposeControllerNode.swift index 574b49755c..1a17e59426 100644 --- a/submodules/TelegramUI/Sources/ComposeControllerNode.swift +++ b/submodules/TelegramUI/Sources/ComposeControllerNode.swift @@ -1,7 +1,6 @@ import Display import UIKit import AsyncDisplayKit -import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData @@ -22,7 +21,7 @@ final class ComposeControllerNode: ASDisplayNode { var navigationBar: NavigationBar? var requestDeactivateSearch: (() -> Void)? - var requestOpenPeerFromSearch: ((PeerId) -> Void)? + var requestOpenPeerFromSearch: ((EnginePeer.Id) -> Void)? var requestOpenDisabledPeerFromSearch: ((EnginePeer, ChatListDisabledPeerReason) -> Void)? var openCreateNewGroup: (() -> Void)? diff --git a/submodules/TelegramUI/Sources/DeviceContactDataManager.swift b/submodules/TelegramUI/Sources/DeviceContactDataManager.swift index 576b6d6f64..864f858896 100644 --- a/submodules/TelegramUI/Sources/DeviceContactDataManager.swift +++ b/submodules/TelegramUI/Sources/DeviceContactDataManager.swift @@ -1,6 +1,5 @@ import Foundation import SwiftSignalKit -import Postbox import TelegramCore import Contacts import TelegramUIPreferences @@ -16,7 +15,7 @@ private protocol DeviceContactDataContext { func appendContactData(_ contactData: DeviceContactExtendedData, to stableId: DeviceContactStableId) -> DeviceContactExtendedData? func appendPhoneNumber(_ phoneNumber: DeviceContactPhoneNumberData, to stableId: DeviceContactStableId) -> DeviceContactExtendedData? func createContactWithData(_ contactData: DeviceContactExtendedData) -> (DeviceContactStableId, DeviceContactExtendedData)? - func deleteContactWithAppSpecificReference(peerId: PeerId) + func deleteContactWithAppSpecificReference(peerId: EnginePeer.Id) } private final class DeviceContactDataModernContext: DeviceContactDataContext { @@ -25,11 +24,11 @@ private final class DeviceContactDataModernContext: DeviceContactDataContext { let store = CNContactStore() var updateHandle: NSObjectProtocol? var currentContacts: [DeviceContactStableId: DeviceContactBasicData] = [:] - var currentAppSpecificReferences: [PeerId: DeviceContactBasicDataWithReference] = [:] + var currentAppSpecificReferences: [EnginePeer.Id: DeviceContactBasicDataWithReference] = [:] private var retrieveContactsDisposable: Disposable? - init(queue: Queue, accountManager: AccountManager, updated: @escaping ([DeviceContactStableId: DeviceContactBasicData]) -> Void, appSpecificReferencesUpdated: @escaping ([PeerId: DeviceContactBasicDataWithReference]) -> Void) { + init(queue: Queue, accountManager: AccountManager, updated: @escaping ([DeviceContactStableId: DeviceContactBasicData]) -> Void, appSpecificReferencesUpdated: @escaping ([EnginePeer.Id: DeviceContactBasicDataWithReference]) -> Void) { self.queue = queue self.accountManager = accountManager @@ -78,12 +77,12 @@ private final class DeviceContactDataModernContext: DeviceContactDataContext { } } - private func retrieveContacts() -> Signal<([DeviceContactStableId: DeviceContactBasicData], [PeerId: DeviceContactBasicDataWithReference]), NoError> { + private func retrieveContacts() -> Signal<([DeviceContactStableId: DeviceContactBasicData], [EnginePeer.Id: DeviceContactBasicDataWithReference]), NoError> { return self.accountManager.transaction { transaction -> DeviceContactDataState? in return transaction.getSharedData(SharedDataKeys.deviceContacts)?.get(DeviceContactDataState.self) } |> deliverOn(self.queue) - |> map { currentData -> ([DeviceContactStableId: DeviceContactBasicData], [PeerId: DeviceContactBasicDataWithReference]) in + |> map { currentData -> ([DeviceContactStableId: DeviceContactBasicData], [EnginePeer.Id: DeviceContactBasicDataWithReference]) in if let currentData, let stateToken = currentData.stateToken, !sharedDisableDeviceContactDataDiffing { final class ChangeVisitor: NSObject, CNChangeHistoryEventVisitor { let onDropEverything: () -> Void @@ -126,8 +125,8 @@ private final class DeviceContactDataModernContext: DeviceContactDataContext { ] var contacts: [DeviceContactStableId: DeviceContactBasicData] = currentData.contacts - var telegramReferences: [PeerId: String] = currentData.telegramReferences - var reverseTelegramReferences: [String: Set] = [:] + var telegramReferences: [EnginePeer.Id: String] = currentData.telegramReferences + var reverseTelegramReferences: [String: Set] = [:] for (peerId, id) in telegramReferences { if reverseTelegramReferences[id] == nil { reverseTelegramReferences[id] = Set() @@ -183,12 +182,12 @@ private final class DeviceContactDataModernContext: DeviceContactDataContext { let _ = self.accountManager.transaction({ transaction -> Void in transaction.updateSharedData(SharedDataKeys.deviceContacts, { _ in - return PreferencesEntry(DeviceContactDataState( + return EnginePreferencesEntry(DeviceContactDataState( contacts: contacts, telegramReferences: telegramReferences, stateToken: resultState?.stateToken)) }) }).startStandalone() - var references: [PeerId: DeviceContactBasicDataWithReference] = [:] + var references: [EnginePeer.Id: DeviceContactBasicDataWithReference] = [:] for (peerId, id) in telegramReferences { if let basicData = contacts[id] { references[peerId] = DeviceContactBasicDataWithReference(stableId: id, basicData: basicData) @@ -220,12 +219,12 @@ private final class DeviceContactDataModernContext: DeviceContactDataContext { let _ = self.accountManager.transaction({ transaction -> Void in transaction.updateSharedData(SharedDataKeys.deviceContacts, { _ in - return PreferencesEntry(DeviceContactDataState( + return EnginePreferencesEntry(DeviceContactDataState( contacts: contacts, telegramReferences: telegramReferences, stateToken: resultState?.stateToken)) }) }).startStandalone() - var references: [PeerId: DeviceContactBasicDataWithReference] = [:] + var references: [EnginePeer.Id: DeviceContactBasicDataWithReference] = [:] for (peerId, id) in telegramReferences { if let basicData = contacts[id] { references[peerId] = DeviceContactBasicDataWithReference(stableId: id, basicData: basicData) @@ -455,7 +454,7 @@ private final class DeviceContactDataModernContext: DeviceContactDataContext { return (mutableContact.identifier, contactData) } - func deleteContactWithAppSpecificReference(peerId: PeerId) { + func deleteContactWithAppSpecificReference(peerId: EnginePeer.Id) { guard let reference = self.currentAppSpecificReferences[peerId] else { return } @@ -495,8 +494,8 @@ private final class DeviceContactDataManagerPrivateImpl { private var stableIdToBasicContactData: [DeviceContactStableId: DeviceContactBasicData] = [:] private var normalizedPhoneNumberToStableId: [DeviceContactNormalizedPhoneNumber: [DeviceContactStableId]] = [:] - private var appSpecificReferences: [PeerId: DeviceContactBasicDataWithReference] = [:] - private var stableIdToAppSpecificReference: [DeviceContactStableId: PeerId] = [:] + private var appSpecificReferences: [EnginePeer.Id: DeviceContactBasicDataWithReference] = [:] + private var stableIdToAppSpecificReference: [DeviceContactStableId: EnginePeer.Id] = [:] private var importableContacts: [DeviceContactNormalizedPhoneNumber: ImportableDeviceContactData] = [:] @@ -506,7 +505,7 @@ private final class DeviceContactDataManagerPrivateImpl { private let basicDataSubscribers = Bag<([DeviceContactStableId: DeviceContactBasicData]) -> Void>() private var basicDataForNormalizedNumberContexts: [DeviceContactNormalizedPhoneNumber: BasicDataForNormalizedNumberContext] = [:] private let importableContactsSubscribers = Bag<([DeviceContactNormalizedPhoneNumber: ImportableDeviceContactData]) -> Void>() - private let appSpecificReferencesSubscribers = Bag<([PeerId: DeviceContactBasicDataWithReference]) -> Void>() + private let appSpecificReferencesSubscribers = Bag<([EnginePeer.Id: DeviceContactBasicDataWithReference]) -> Void>() init(queue: Queue, accountManager: AccountManager) { self.queue = queue @@ -620,9 +619,9 @@ private final class DeviceContactDataManagerPrivateImpl { } } - private func updateAppSpecificReferences(appSpecificReferences: [PeerId: DeviceContactBasicDataWithReference]) { + private func updateAppSpecificReferences(appSpecificReferences: [EnginePeer.Id: DeviceContactBasicDataWithReference]) { self.appSpecificReferences = appSpecificReferences - var stableIdToAppSpecificReference: [DeviceContactStableId: PeerId] = [:] + var stableIdToAppSpecificReference: [DeviceContactStableId: EnginePeer.Id] = [:] for (peerId, value) in appSpecificReferences { stableIdToAppSpecificReference[value.stableId] = peerId } @@ -712,7 +711,7 @@ private final class DeviceContactDataManagerPrivateImpl { } } - func appSpecificReferences(updated: @escaping ([PeerId: DeviceContactBasicDataWithReference]) -> Void) -> Disposable { + func appSpecificReferences(updated: @escaping ([EnginePeer.Id: DeviceContactBasicDataWithReference]) -> Void) -> Disposable { let queue = self.queue let index = self.appSpecificReferencesSubscribers.add({ data in @@ -732,9 +731,9 @@ private final class DeviceContactDataManagerPrivateImpl { } } - func search(query: String, updated: @escaping ([DeviceContactStableId: (DeviceContactBasicData, PeerId?)]) -> Void) -> Disposable { + func search(query: String, updated: @escaping ([DeviceContactStableId: (DeviceContactBasicData, EnginePeer.Id?)]) -> Void) -> Disposable { let normalizedQuery = query.lowercased() - var result: [DeviceContactStableId: (DeviceContactBasicData, PeerId?)] = [:] + var result: [DeviceContactStableId: (DeviceContactBasicData, EnginePeer.Id?)] = [:] for (stableId, basicData) in self.stableIdToBasicContactData { if basicData.firstName.lowercased().hasPrefix(normalizedQuery) || basicData.lastName.lowercased().hasPrefix(normalizedQuery) { result[stableId] = (basicData, self.stableIdToAppSpecificReference[stableId]) @@ -759,7 +758,7 @@ private final class DeviceContactDataManagerPrivateImpl { completion(result) } - func deleteContactWithAppSpecificReference(peerId: PeerId, completion: @escaping () -> Void) { + func deleteContactWithAppSpecificReference(peerId: EnginePeer.Id, completion: @escaping () -> Void) { self.dataContext?.deleteContactWithAppSpecificReference(peerId: peerId) completion() } @@ -836,7 +835,7 @@ public final class DeviceContactDataManagerImpl: DeviceContactDataManager { } } - public func appSpecificReferences() -> Signal<[PeerId: DeviceContactBasicDataWithReference], NoError> { + public func appSpecificReferences() -> Signal<[EnginePeer.Id: DeviceContactBasicDataWithReference], NoError> { return Signal { subscriber in let disposable = MetaDisposable() self.impl.with({ impl in @@ -848,7 +847,7 @@ public final class DeviceContactDataManagerImpl: DeviceContactDataManager { } } - public func search(query: String) -> Signal<[DeviceContactStableId: (DeviceContactBasicData, PeerId?)], NoError> { + public func search(query: String) -> Signal<[DeviceContactStableId: (DeviceContactBasicData, EnginePeer.Id?)], NoError> { return Signal { subscriber in let disposable = MetaDisposable() self.impl.with({ impl in @@ -900,7 +899,7 @@ public final class DeviceContactDataManagerImpl: DeviceContactDataManager { } } - public func deleteContactWithAppSpecificReference(peerId: PeerId) -> Signal { + public func deleteContactWithAppSpecificReference(peerId: EnginePeer.Id) -> Signal { return Signal { subscriber in let disposable = MetaDisposable() self.impl.with({ impl in diff --git a/submodules/TelegramUI/Sources/EmojisChatInputContextPanelNode.swift b/submodules/TelegramUI/Sources/EmojisChatInputContextPanelNode.swift index c85b9b2421..e54a1ed650 100644 --- a/submodules/TelegramUI/Sources/EmojisChatInputContextPanelNode.swift +++ b/submodules/TelegramUI/Sources/EmojisChatInputContextPanelNode.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import AsyncDisplayKit -import Postbox import TelegramCore import Display import TelegramPresentationData @@ -25,7 +24,7 @@ import ChatInputContextPanelNode private enum EmojisChatInputContextPanelEntryStableId: Hashable, Equatable { case symbol(String) - case media(MediaId) + case media(EngineMedia.Id) } private func backgroundCenterImage(_ theme: PresentationTheme) -> UIImage? { @@ -236,19 +235,19 @@ final class EmojisChatInputContextPanelNode: ChatInputContextPanelNode { let _ = file let _ = itemLayer - var collectionId: ItemCollectionId? + var collectionId: EngineItemCollectionId? for attribute in file.attributes { if case let .CustomEmoji(_, _, _, packReference) = attribute { switch packReference { case let .id(id, _): - collectionId = ItemCollectionId(namespace: Namespaces.ItemCollection.CloudEmojiPacks, id: id) + collectionId = EngineItemCollectionId(namespace: Namespaces.ItemCollection.CloudEmojiPacks, id: id) default: break } } } - var bubbleUpEmojiOrStickersets: [ItemCollectionId] = [] + var bubbleUpEmojiOrStickersets: [EngineItemCollectionId] = [] if let collectionId { bubbleUpEmojiOrStickersets.append(collectionId) } @@ -309,9 +308,9 @@ final class EmojisChatInputContextPanelNode: ChatInputContextPanelNode { case let .CustomEmoji(_, _, displayText, stickerPackReference): text = displayText - var packId: ItemCollectionId? + var packId: EngineItemCollectionId? if case let .id(id, _) = stickerPackReference { - packId = ItemCollectionId(namespace: Namespaces.ItemCollection.CloudEmojiPacks, id: id) + packId = EngineItemCollectionId(namespace: Namespaces.ItemCollection.CloudEmojiPacks, id: id) } emojiAttribute = ChatTextInputTextCustomEmojiAttribute(interactivelySelectedFromPackId: packId, fileId: file.fileId.id, file: file) break loop diff --git a/submodules/TelegramUI/Sources/HorizontalListContextResultsChatInputPanelItem.swift b/submodules/TelegramUI/Sources/HorizontalListContextResultsChatInputPanelItem.swift index a71bd7b345..4def8c5536 100644 --- a/submodules/TelegramUI/Sources/HorizontalListContextResultsChatInputPanelItem.swift +++ b/submodules/TelegramUI/Sources/HorizontalListContextResultsChatInputPanelItem.swift @@ -4,7 +4,6 @@ import AsyncDisplayKit import Display import TelegramCore import SwiftSignalKit -import Postbox import AVFoundation import RadialStatusNode import StickerResources @@ -218,7 +217,7 @@ final class HorizontalListContextResultsChatInputPanelItemNode: ListViewItemNode } imageDimensions = externalReference.content?.dimensions?.cgSize if externalReference.type == "gif", let thumbnailResource = externalReference.thumbnail?.resource, let content = externalReference.content, let dimensions = content.dimensions { - videoFile = TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: 0), partialReference: nil, resource: thumbnailResource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "video/mp4", size: nil, attributes: [.Animated, .Video(duration: 0, size: dimensions, flags: [], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: []) + videoFile = TelegramMediaFile(fileId: EngineMedia.Id(namespace: Namespaces.Media.LocalFile, id: 0), partialReference: nil, resource: thumbnailResource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "video/mp4", size: nil, attributes: [.Animated, .Video(duration: 0, size: dimensions, flags: [], preloadSize: nil, coverTime: nil, videoCodec: nil)], alternativeRepresentations: []) imageResource = nil } @@ -312,7 +311,7 @@ final class HorizontalListContextResultsChatInputPanelItemNode: ListViewItemNode updateImageSignal = chatMessageSticker(account: item.context.account, userLocation: .other, file: stickerFile, small: false, fetched: true) } else { let tmpRepresentation = TelegramMediaImageRepresentation(dimensions: PixelDimensions(CGSize(width: fittedImageDimensions.width * 2.0, height: fittedImageDimensions.height * 2.0)), resource: imageResource, progressiveSizes: [], immediateThumbnailData: nil, hasVideo: false, isPersonal: false) - let tmpImage = TelegramMediaImage(imageId: MediaId(namespace: 0, id: 0), representations: [tmpRepresentation], immediateThumbnailData: nil, reference: nil, partialReference: nil, flags: []) + let tmpImage = TelegramMediaImage(imageId: EngineMedia.Id(namespace: 0, id: 0), representations: [tmpRepresentation], immediateThumbnailData: nil, reference: nil, partialReference: nil, flags: []) updateImageSignal = chatMessagePhoto(postbox: item.context.account.postbox, userLocation: .other, photoReference: .standalone(media: tmpImage), synchronousLoad: true) } } else { diff --git a/submodules/TelegramUI/Sources/HorizontalStickersChatContextPanelNode.swift b/submodules/TelegramUI/Sources/HorizontalStickersChatContextPanelNode.swift index 71d8698f71..ceca474702 100755 --- a/submodules/TelegramUI/Sources/HorizontalStickersChatContextPanelNode.swift +++ b/submodules/TelegramUI/Sources/HorizontalStickersChatContextPanelNode.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import AsyncDisplayKit -import Postbox import TelegramCore import Display import SwiftSignalKit @@ -59,7 +58,7 @@ private struct StickerEntry: Identifiable, Comparable { let index: Int let file: TelegramMediaFile - var stableId: MediaId { + var stableId: EngineMedia.Id { return self.file.fileId } diff --git a/submodules/TelegramUI/Sources/InlineReactionSearchPanel.swift b/submodules/TelegramUI/Sources/InlineReactionSearchPanel.swift index b96bef3b55..e02fd3fa31 100644 --- a/submodules/TelegramUI/Sources/InlineReactionSearchPanel.swift +++ b/submodules/TelegramUI/Sources/InlineReactionSearchPanel.swift @@ -4,7 +4,6 @@ import SwiftSignalKit import Display import AsyncDisplayKit import TelegramCore -import Postbox import TelegramPresentationData import TelegramUIPreferences import AccountContext @@ -34,13 +33,13 @@ private final class InlineReactionSearchStickersNode: ASDisplayNode, ASScrollVie private let context: AccountContext private var theme: PresentationTheme private var strings: PresentationStrings - private let peerId: PeerId? + private let peerId: EnginePeer.Id? private let scrollNode: ASScrollNode private var items: [TelegramMediaFile] = [] private var displayItems: [DisplayItem] = [] private var topInset: CGFloat? - private var itemNodes: [MediaId: HorizontalStickerGridItemNode] = [:] + private var itemNodes: [EngineMedia.Id: HorizontalStickerGridItemNode] = [:] private var validLayout: (size: CGSize, bottomInset: CGFloat)? fileprivate weak var currentInterfaceState: ChatPresentationInterfaceState? @@ -66,7 +65,7 @@ private final class InlineReactionSearchStickersNode: ASDisplayNode, ASScrollVie |> distinctUntilChanged } - init(context: AccountContext, theme: PresentationTheme, strings: PresentationStrings, peerId: PeerId?) { + init(context: AccountContext, theme: PresentationTheme, strings: PresentationStrings, peerId: EnginePeer.Id?) { self.context = context self.theme = theme self.strings = strings @@ -425,7 +424,7 @@ private final class InlineReactionSearchStickersNode: ASDisplayNode, ASScrollVie minVisibleY -= 200.0 maxVisibleY += 200.0 - var validIds = Set() + var validIds = Set() for i in 0 ..< self.displayItems.count { let item = self.displayItems[i] @@ -469,7 +468,7 @@ private final class InlineReactionSearchStickersNode: ASDisplayNode, ASScrollVie } } - var removeIds: [MediaId] = [] + var removeIds: [EngineMedia.Id] = [] for (id, itemNode) in self.itemNodes { if !validIds.contains(id) { removeIds.append(id) @@ -495,7 +494,7 @@ final class InlineReactionSearchPanel: ChatInputContextPanelNode { private var choosingStickerDisposable: Disposable? - init(context: AccountContext, theme: PresentationTheme, strings: PresentationStrings, fontSize: PresentationFontSize, peerId: PeerId?, chatPresentationContext: ChatPresentationContext) { + init(context: AccountContext, theme: PresentationTheme, strings: PresentationStrings, fontSize: PresentationFontSize, peerId: EnginePeer.Id?, chatPresentationContext: ChatPresentationContext) { self.containerNode = ASDisplayNode() self.backgroundView = GlassBackgroundView() diff --git a/submodules/TelegramUI/Sources/MentionChatInputPanelItem.swift b/submodules/TelegramUI/Sources/MentionChatInputPanelItem.swift index 4ab767c87d..168e00da12 100644 --- a/submodules/TelegramUI/Sources/MentionChatInputPanelItem.swift +++ b/submodules/TelegramUI/Sources/MentionChatInputPanelItem.swift @@ -4,7 +4,6 @@ import AsyncDisplayKit import Display import TelegramCore import SwiftSignalKit -import Postbox import TelegramPresentationData import TelegramUIPreferences import AvatarNode @@ -23,7 +22,7 @@ final class MentionChatInputPanelItem: ListViewItem { let selectable: Bool = true - public init(context: AccountContext, presentationData: ItemListPresentationData, inverted: Bool, peer: EnginePeer, revealed: Bool, setPeerIdRevealed: @escaping (PeerId?) -> Void, peerSelected: @escaping (EnginePeer) -> Void, removeRequested: @escaping (PeerId) -> Void) { + public init(context: AccountContext, presentationData: ItemListPresentationData, inverted: Bool, peer: EnginePeer, revealed: Bool, setPeerIdRevealed: @escaping (EnginePeer.Id?) -> Void, peerSelected: @escaping (EnginePeer) -> Void, removeRequested: @escaping (EnginePeer.Id) -> Void) { self.context = context self.presentationData = presentationData self.inverted = inverted diff --git a/submodules/TelegramUI/Sources/OpenUrl.swift b/submodules/TelegramUI/Sources/OpenUrl.swift index 561932edd8..08824b024f 100644 --- a/submodules/TelegramUI/Sources/OpenUrl.swift +++ b/submodules/TelegramUI/Sources/OpenUrl.swift @@ -2,7 +2,6 @@ import Foundation import Display import SafariServices import TelegramCore -import Postbox import SwiftSignalKit import MtProtoKit import TelegramPresentationData @@ -17,7 +16,7 @@ import OverlayStatusController import PresentationDataUtils public struct ParsedSecureIdUrl { - public let peerId: PeerId + public let peerId: EnginePeer.Id public let scope: String public let publicKey: String public let callbackUrl: String @@ -100,7 +99,7 @@ public func parseSecureIdUrl(_ url: URL) -> ParsedSecureIdUrl? { return nil } - return ParsedSecureIdUrl(peerId: PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(botId)), scope: scope, publicKey: publicKey, callbackUrl: callbackUrl, opaquePayload: opaquePayload, opaqueNonce: opaqueNonce) + return ParsedSecureIdUrl(peerId: EnginePeer.Id(namespace: Namespaces.Peer.CloudUser, id: EnginePeer.Id.Id._internalFromInt64Value(botId)), scope: scope, publicKey: publicKey, callbackUrl: callbackUrl, opaquePayload: opaquePayload, opaqueNonce: opaqueNonce) } } @@ -436,7 +435,7 @@ func openExternalUrlImpl(context: AccountContext, urlContext: OpenURLContext, ur switch host { case "localpeer": if let peerIdValue = params["id"].flatMap(Int64.init), let accountId = params["accountId"].flatMap(Int64.init) { - let peerId = PeerId(peerIdValue) + let peerId = EnginePeer.Id(peerIdValue) context.sharedContext.applicationBindings.dismissNativeController() context.sharedContext.navigateToChat(accountId: AccountRecordId(rawValue: accountId), peerId: peerId, messageId: nil) } @@ -527,7 +526,7 @@ func openExternalUrlImpl(context: AccountContext, urlContext: OpenURLContext, ur } case "user": if let idValue = params["id"].flatMap(Int64.init), idValue > 0 { - let _ = (context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(idValue)))) + let _ = (context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: EnginePeer.Id(namespace: Namespaces.Peer.CloudUser, id: EnginePeer.Id.Id._internalFromInt64Value(idValue)))) |> deliverOnMainQueue).startStandalone(next: { peer in if let peer = peer, let controller = context.sharedContext.makePeerInfoController( context: context, @@ -670,7 +669,7 @@ func openExternalUrlImpl(context: AccountContext, urlContext: OpenURLContext, ur case "send_gift": if let recipient = params["to"] { if let id = Int64(recipient) { - handleResolvedUrl(.sendGift(peerId: PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(id)))) + handleResolvedUrl(.sendGift(peerId: EnginePeer.Id(namespace: Namespaces.Peer.CloudUser, id: EnginePeer.Id.Id._internalFromInt64Value(id)))) } else { let _ = (context.engine.peers.resolvePeerByName(name: recipient, referrer: nil) |> deliverOnMainQueue).start(next: { result in diff --git a/submodules/TelegramUI/Sources/SharedWakeupManager.swift b/submodules/TelegramUI/Sources/SharedWakeupManager.swift index 4e6bb1fcc7..d89f341efa 100644 --- a/submodules/TelegramUI/Sources/SharedWakeupManager.swift +++ b/submodules/TelegramUI/Sources/SharedWakeupManager.swift @@ -3,7 +3,6 @@ import BackgroundTasks import AVFAudio import UIKit import SwiftSignalKit -import Postbox import TelegramCore import TelegramCallsUI import AccountContext @@ -54,7 +53,7 @@ private let backgroundTaskSubmissionDelay: Double = 10.0 private struct PendingMediaUploadKey: Hashable { let accountId: AccountRecordId - let messageId: MessageId + let messageId: EngineMessage.Id } private struct PendingStoryUploadKey: Hashable { @@ -461,7 +460,7 @@ public final class SharedWakeupManager { return } - var messageIdsByAccount: [AccountRecordId: [MessageId]] = [:] + var messageIdsByAccount: [AccountRecordId: [EngineMessage.Id]] = [:] for key in keys { if messageIdsByAccount[key.accountId] == nil { messageIdsByAccount[key.accountId] = [] diff --git a/submodules/TelegramUI/Sources/WidgetDataContext.swift b/submodules/TelegramUI/Sources/WidgetDataContext.swift index 31069a815d..288e3235d4 100644 --- a/submodules/TelegramUI/Sources/WidgetDataContext.swift +++ b/submodules/TelegramUI/Sources/WidgetDataContext.swift @@ -1,6 +1,5 @@ import Foundation import SwiftSignalKit -import Postbox import TelegramCore import WidgetItems import TelegramPresentationData @@ -101,11 +100,11 @@ final class WidgetDataContext { self.reloadManager = WidgetReloadManager(inForeground: inForeground) let queue = Queue() - let updatedAdditionalPeerIds: Signal<[AccountRecordId: Set], NoError> = Signal { subscriber in + let updatedAdditionalPeerIds: Signal<[AccountRecordId: Set], NoError> = Signal { subscriber in if #available(iOSApplicationExtension 14.0, iOS 14.0, *) { #if arch(arm64) || arch(x86_64) WidgetCenter.shared.getCurrentConfigurations { result in - var peerIds: [AccountRecordId: Set] = [:] + var peerIds: [AccountRecordId: Set] = [:] func processFriend(_ item: Friend) { guard let identifier = item.identifier else { @@ -121,7 +120,7 @@ final class WidgetDataContext { return } let accountId = AccountRecordId(rawValue: accountIdValue) - let peerId = PeerId(peerIdValue) + let peerId = EnginePeer.Id(peerIdValue) if peerIds[accountId] == nil { peerIds[accountId] = Set() } @@ -162,7 +161,7 @@ final class WidgetDataContext { } |> runOn(queue) |> then( - Signal<[AccountRecordId: Set], NoError>.complete() + Signal<[AccountRecordId: Set], NoError>.complete() |> delay(10.0, queue: queue) ) |> restart diff --git a/submodules/TelegramUIPreferences/Sources/ContactSynchronizationSettings.swift b/submodules/TelegramUIPreferences/Sources/ContactSynchronizationSettings.swift index 073d9b3620..9fd127ea11 100644 --- a/submodules/TelegramUIPreferences/Sources/ContactSynchronizationSettings.swift +++ b/submodules/TelegramUIPreferences/Sources/ContactSynchronizationSettings.swift @@ -1,5 +1,4 @@ import Foundation -import Postbox import TelegramCore import SwiftSignalKit @@ -54,7 +53,7 @@ public func updateContactSettingsInteractively(accountManager: AccountManager? - private let replyToMessageId: MessageId? + private let replyToMessageId: EngineMessage.Id? private let threadId: Int64? public var isFullscreen: Bool @@ -3567,7 +3566,7 @@ public final class WebAppController: ViewController, AttachmentContainable { public var verifyAgeCompletion: ((Int) -> Void)? - public init(context: AccountContext, updatedPresentationData: (initial: PresentationData, signal: Signal)? = nil, params: WebAppParameters, replyToMessageId: MessageId?, threadId: Int64?) { + public init(context: AccountContext, updatedPresentationData: (initial: PresentationData, signal: Signal)? = nil, params: WebAppParameters, replyToMessageId: EngineMessage.Id?, threadId: Int64?) { self.context = context self.source = params.source self.peerId = params.peerId