Commit graph

27 commits

Author SHA1 Message Date
isaac
d1aa0db537 Postbox -> TelegramEngine waves 46-93 (squashed)
Squash of 63 commits spanning waves 46-93 (plus interspersed docs commits)
of the gradual Postbox->TelegramEngine consumer-side migration.

Scope: 139 files changed, 2123 insertions(+), 452 deletions(-).

## Themes by wave-block

**Waves 46-58 — Peer field migrations + facade additions**
Foundational EnginePeer convenience init additions (PeerReference, RenderedPeer,
SelectivePrivacyPeer). Multiple `peer: Peer` field migrations across PeerInfo,
ChatList, and SettingsUI components.

**Waves 59-73 — peer field cascade + EnginePeer wrap drops**
Series of single- to two-file peer-field migrations; consumer-side wrap
removal (`EnginePeer(peer)` -> direct EnginePeer use); `as? TelegramUser`
cast conversion to `case let .user(...)` enum match. Wave 64: RenderedPeer
convenience init. Wave 68: SelectivePrivacyPeer convenience init.

**Waves 74-83 — controller-Node bridge cleanup + small migrations**
Wave-71 shadow-pattern cleanup at controller->Node bridges. Migrations of
ChatRecentActionsController.peer (74), PeerInfoMember (75), MentionChatInputPanelItem
(76), PassportUI SecureIdAuthController (77), AccountWithInfo + ShareController
(78), peerInputActivitiesPromise (79), InactiveChannel (80), BlockedPeers (81),
openHashtag resolveSignal (82), NotificationExceptionsList (83).

**Waves 84-90 — TelegramEngine.Resources facade migrations**
Per-method Shape-A/B sweeps converting `<ctx>.account.postbox.mediaBox.X(...)`
to `<ctx>.engine.resources.X(...)`. Wave 90 was a single-commit big sweep:
40 fetchedMediaResource sites in 25 files migrated to engine.resources.fetch
facade in one atomic pass with first-pass-clean build.

Methods covered: storeResourceData, completedResourcePath, cancelInteractiveResourceFetch,
resourceRangesStatus, resourceStatus, fetch (fetchedMediaResource).

**Waves 91-92 — additional type migrations**
Wave 91: ItemListWebsiteItem.peer + RecentSessionsController enum-case payload
+ openWebSession callback Peer? -> EnginePeer?.
Wave 92: ChatListController StateHolder.EntryContext status type
MediaResourceStatus -> EngineMediaResource.FetchStatus.

**Wave 93 — speculative `import Postbox` drop sweep**
Drop import from 7 wave-touched files where it became unused; restore in 5
files where bare PeerId/Message/MediaId/StoryId references escaped the
pre-flight regex. Includes one MediaId(...) -> EngineMedia.Id(...) swap in
InAppPurchaseManager to unlock its import drop.

## Build state

Final state at squash: clean Telegram/Telegram build at debug_sim_arm64.

## Persistent-state notes

- Pre-existing WIP unchanged across the squashed range:
  - build-system/bazel-rules/sourcekit-bazel-bsp submodule marker
  - Untracked: build-system/tulsi/, submodules/TgVoip/, third-party/libx264/

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 20:48:15 +04:00
Isaac
07313cbb84 Refactor constructor use sites for types 250-259 to struct pattern
Migrates the following constructors to use struct-wrapped associated values:
- postInteractionCountersMessage, postInteractionCountersStory
- premiumGiftCodeOption, premiumSubscriptionOption
- prepaidGiveaway, prepaidStarsGiveaway
- privacyValueAllowChatParticipants, privacyValueAllowUsers
- privacyValueDisallowChatParticipants, privacyValueDisallowUsers
- publicForwardMessage, publicForwardStory
- quickReply
- reactionCustomEmoji, reactionEmoji

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 14:24:53 +08:00
Isaac
a78b2c0db2 Refactor Api types 70-89 to use struct-wrapped constructors
Types refactored:
- 70-79: contactStatus, dataJSON, dcOption, defaultHistoryTTL, dialog,
  dialogFolder, dialogFilter, dialogFilterChatlist, dialogFilterSuggested,
  dialogPeer, dialogPeerFolder, disallowedGiftsSettings, document, documentEmpty
- 80-89: documentAttribute* (Audio, CustomEmoji, Filename, ImageSize, Sticker, Video),
  draftMessage, draftMessageEmpty, emailVerification* (Apple, Code, Google),
  emailVerifyPurposeLoginSetup, emoji* (Group, GroupGreeting, GroupPremium,
  Keyword, KeywordDeleted, KeywordsDifference, Language, List, Status,
  StatusCollectible), inputEmojiStatusCollectible

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 02:12:20 +08:00
Ilya Laktyushin
2cb5122bb3 Various improvements 2025-10-20 22:57:29 +04:00
Ilya Laktyushin
d58757ca3c Various improvements 2025-10-16 19:19:50 +04:00
Ilya Laktyushin
2454a7a876 Various improvements 2025-03-18 14:39:58 +04:00
Ilya Laktyushin
fed338985d Various improvements 2025-03-14 13:35:44 +04:00
Ilya Laktyushin
ff34190f92 Update API 2025-03-14 06:04:23 +04:00
Ilya Laktyushin
2f2a27f0d2 Various improvements [skip ci] 2025-02-12 22:15:02 +04:00
Ilya Laktyushin
d776dc0597 Add gift auto save privacy 2024-11-14 05:20:19 +04:00
Mikhail Filimonov
08e2e0b123 - prem required error for secret chat
- better struct for privacy settings
2024-04-01 13:27:52 +04:00
Isaac
4b1b272081 Merge commit '532e873ed0'
# Conflicts:
#	submodules/TelegramApi/Sources/Api11.swift
#	submodules/TelegramApi/Sources/Api12.swift
#	submodules/TelegramApi/Sources/Api19.swift
#	submodules/TelegramCore/Sources/TelegramEngine/Peers/UpdateCachedPeerData.swift
2024-03-19 14:21:11 +04:00
Isaac
bd8514ff20 Premium features 2024-03-19 14:20:31 +04:00
Ilya Laktyushin
8279db283c Update API [skip ci] 2024-03-18 23:53:29 +04:00
Isaac
925665b88b Premium users in privacy settings 2024-03-15 19:29:04 +04:00
Isaac
6a89f938db [WIP] Saved messages 2024-01-06 00:43:58 +04:00
Ali
6f084010d8 Stories 2023-07-13 23:51:40 +04:00
Ilya Laktyushin
01fb5954df Camera and media editor improvements 2023-05-12 21:14:19 +04:00
Ilya Laktyushin
d15c48ff07 Camera and media editor improvements 2023-05-10 17:10:27 +04:00
Ali
1ca5546adc [WIP] Stories 2023-05-05 21:08:04 +04:00
Ali
60ebcc847a Autoremove improvements 2022-11-27 15:27:05 +04:00
Ali
80a7324668 Forum improvements 2022-11-22 19:50:50 +04:00
Ilya Laktyushin
9a115af042 Various improvements 2022-07-13 12:15:10 +02:00
Ali
7c8ad70014 Merge branch 'master' into experimental-2 2021-07-21 22:04:58 +02:00
Ali
1a04fb4408 Refactor SyncCore back into TelegramCore 2021-07-21 21:43:20 +02:00
Ali
a23971c0ef Initial 64-bit id support 2021-06-28 20:02:50 +04:00
Ali
60d959bff8 Refactoring 2021-04-18 03:10:18 +04:00
Renamed from submodules/TelegramCore/Sources/PrivacySettings.swift (Browse further)