Commit Graph
4241 Commits
Author SHA1 Message Date
IsaacandIsaac bbfd1ddca0 Merge commit '532a3ae3e1e6220268535100f7aeb7b2eb2918d0' 2026-04-17 09:09:55 +02:00
IsaacIsaacClaude Opus 4.6
f84e94f507 MediaResource → EngineMediaResource refactor: wave 2
Drive raw `MediaResource` out of the `TelegramEngine` public facade for
photo-upload APIs, and complete a first batch of consumer-side
migrations. Behavior-preserving. The `_internal_*` Postbox-facing
functions are untouched — only the facade signatures change, bridging
inside via `_asResource()` / `EngineMediaResource(_:)`.

TelegramEngine facades migrated (signatures now take EngineMediaResource):
- TelegramEngine.Peers.uploadedPeerPhoto / uploadedPeerVideo
- TelegramEngine.Peers.updatePeerPhoto (closure param too)
- TelegramEngine.AccountData.updateAccountPhoto / updateFallbackPhoto
- TelegramEngine.Contacts.updateContactPhoto
- TelegramEngine.Auth.uploadedPeerVideo

Consumer-side changes:
- MapResourceToAvatarSizes utility: signature is now
  (engine: TelegramEngine, resource: EngineMediaResource, ...). Uses
  engine.resources.data(id:) internally. The submodule drops
  `import Postbox` and the Bazel dep.
- AuthorizationUI: avatar-video signal retyped from
  Signal<TelegramMediaResource?> to Signal<EngineMediaResource?>.
- 27 `mapResourceToAvatarSizes(postbox:...)` call sites across 5
  TelegramUI/TelegramCallsUI files migrated to the new form.

Deferred:
- SaveToCameraRoll (planned Task 8) abandoned — module has three
  public functions taking `postbox: Postbox` (umbrella-type leak,
  banned by rule 2) and requires a full module-migration wave, not a
  type swap. Reason recorded in the wave-2 plan doc.
- Other TelegramEngine facades still leaking MediaResource
  (TelegramEngineStickers.uploadSticker; UploadSecureIdFile.* —
  additionally leaks Postbox) flagged for a future wave.

Docs:
- CLAUDE.md: new rule 7 (TelegramCore never imports UIKit/Display,
  shared with Telegram-Mac), and a new "MediaResource →
  EngineMediaResource consumer migration" section describing the
  wrap/unwrap helpers and the modify-in-place facade-bridging
  pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-17 09:07:54 +02:00
Ilya Laktyushin 532a3ae3e1 Various fixes 2026-04-16 21:45:26 +02:00
IsaacandIsaac bf21bca206 Merge commit '31e3a7dc79a91d78d9dda66945f81c9fc3d62b8e'
# Conflicts:
#	submodules/TelegramCore/Sources/PendingMessages/PendingMessageUploadedContent.swift
#	submodules/TelegramCore/Sources/TelegramEngine/Messages/Polls.swift
#	submodules/TelegramCore/Sources/TelegramEngine/Messages/Translate.swift
2026-04-16 17:52:38 +02:00
Ilya Laktyushin 31e3a7dc79 Fix build 2026-04-16 02:36:03 +02:00
Ilya Laktyushin 8b7e294fc6 Fix build 2026-04-16 01:41:31 +02:00
Ilya Laktyushin 0df319742a Update API 2026-04-16 01:18:22 +02:00
Ilya Laktyushin 701d27c0a9 Fix build 2026-04-15 23:50:11 +02:00
Ilya Laktyushin 8f1e024aef Various fixes 2026-04-15 23:12:53 +02:00
IsaacandIsaac 0095bfad39 Temp 2026-04-15 13:18:46 +02:00
IsaacandIsaac a4e9b0468e Merge commit '314f02d36da460c0de5f55fe06582084944157f2' 2026-04-14 15:34:04 +02:00
IsaacandIsaac 976c2de599 Temp 2026-04-14 15:33:19 +02:00
IsaacIsaacClaude Opus 4.6
430ea53ed8 Add per-character glyph rects to InteractiveTextNodeLine and implement reveal animation
- Replace characterToGlyphMapping with characterRects ([CGRect]?) on InteractiveTextNodeLine
- Add computeCharacterRects flag to InteractiveTextNodeLayoutArguments
- Compute actual glyph bounding boxes via CTFontGetBoundingRectsForGlyphs during layout
- Implement computeRevealedLines, layoutForCharacterCount, sizeForCharacterCount
- Implement updateRevealCharacterCount to distribute character budget across content item layers
- Update snippet layers to animate per-character rects with SnippetLayer tracking character index
- Mask limit driven by lowest animating snippet index for correct reveal ordering
- Fix listViewAnimationCurveEaseIn to match iOS default ease-in curve (0.42, 0.0, 1.0, 1.0)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 15:31:49 +02:00
Ilya Laktyushin 314f02d36d Various fixes 2026-04-14 04:53:01 +02:00
Ilya Laktyushin 64aa306cf9 Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2026-04-14 03:34:28 +02:00
Ilya Laktyushin 22df2dbdb9 Various fixes 2026-04-14 03:33:34 +02:00
IsaacandIsaac 41d6f727e0 Various improvements 2026-04-10 17:21:36 +02:00
IsaacandIsaac d575824ab4 Various improvements 2026-04-10 14:30:23 +02:00
IsaacandIsaac bef7b70e55 Merge commit '05d64c58b2916602a01cd77607474e24b074394e' 2026-04-07 16:48:17 +02:00
IsaacandIsaac d89a4a79cf Various improvements 2026-04-07 16:48:11 +02:00
IsaacIsaacClaude Opus 4.6
9338361543 fix: correct Swift-ObjC bridging in subcodec animation modules
Fix compilation errors in SubcodecAnimationCacheImpl and
SubcodecMultiAnimationRendererImpl: NSData->Data sink closure types,
withSink->sink argument labels for advanceFrame/emitFrameIfNeeded,
unused variable warning, and redundant Void return assignment.
Add both modules as deps to ChatEntityKeyboardInputNode to verify
they compile in the full build.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 12:35:54 +02:00
d6d633e296 feat: add SubcodecMultiAnimationRendererImpl public class with MultiAnimationRenderer conformance
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:20:32 +02:00
dc20b265d1 feat: add SubcodecMultiAnimationRendererImpl internal types - SurfaceGroup, SpriteContext, frame extraction
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:18:41 +02:00
IsaacIsaacClaude Opus 4.6
7052e7e3ea feat: add SubcodecAnimationCacheImpl public class with protocol conformance and subcodec API
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 12:16:37 +02:00
095c2940a8 feat: add SubcodecAnimationCacheImpl writer and ARGB-to-YUV conversion
Implements utility helpers, BT.709 ARGB→YUV 4:2:0 conversion with alpha
un-premultiplication, and AnimationCacheItemWriterImpl that feeds frames
to SCSprite and writes metadata alongside the .mbs output.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:13:23 +02:00
IsaacandIsaac e8dc34c11b feat: add BUILD files for SubcodecAnimationCacheImpl and SubcodecMultiAnimationRendererImpl 2026-04-07 12:11:27 +02:00
IsaacandIsaac d147c63b68 Refactoring 2026-04-07 11:31:22 +02:00
IsaacandIsaac 95a03d9931 subcodec 2026-04-07 10:44:45 +02:00
Ilya Laktyushin ae6d05c49d Various fixes 2026-04-07 06:36:13 +02:00
Ilya Laktyushin 86e521c3cb Various fixes 2026-04-07 01:44:04 +04:00
Ilya Laktyushin 498897c227 Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2026-04-04 10:11:50 +02:00
Ilya Laktyushin 65872a4a59 Poll improvements 2026-04-04 10:11:30 +02:00
IsaacandIsaac 648430e37d Various improvements 2026-04-03 22:15:42 +08:00
IsaacandIsaac 16c630b946 Refactoring 2026-04-03 15:50:39 +08:00
IsaacandIsaac a4d630bf24 Merge commit '2bad906e88edbf4a859fe5d1fa9d5beeb8322527' 2026-04-03 13:15:09 +08:00
IsaacandIsaac 1a728382c4 Disable AI button in secret chats 2026-04-03 13:15:06 +08:00
Ilya Laktyushin 2bad906e88 Fix stickers memory leak 2026-04-02 20:37:35 +02:00
Ilya Laktyushin c81015c003 Various fixes 2026-04-02 19:20:15 +02:00
Ilya Laktyushin 43c263cb6f Various fixes 2026-04-01 00:58:16 +02:00
Ilya Laktyushin 629f2b1e5d Various fixes 2026-04-01 00:33:44 +02:00
Ilya Laktyushin e7722d7b29 Various fixes 2026-04-01 00:10:39 +02:00
Ilya Laktyushin ff95bd97c9 Various fixes 2026-03-31 23:06:05 +02:00
IsaacandIsaac 5cb164d42e Merge commit '0fecd9a5356a9a3f304d60bc716d636797d3d270' 2026-03-31 22:42:06 +08:00
IsaacandIsaac 796826b0ad Various improvements 2026-03-31 22:42:02 +08:00
Ilya Laktyushin 0fecd9a535 Fix 2026-03-31 15:38:13 +02:00
IsaacandIsaac 3e0c38c3ce Merge commit '36440d65663f2cc35cf38f9cbebe96dbec8eb39c' 2026-03-31 20:24:35 +08:00
IsaacandIsaac 34477605b1 Various improvements 2026-03-31 20:24:24 +08:00
Ilya Laktyushin 7ea47b8105 Various fixes 2026-03-30 17:23:39 +02:00
Ilya Laktyushin 21adc7d061 Various improvements 2026-03-30 02:55:35 +02:00
Ilya Laktyushin f3c18e1436 Various improvements 2026-03-29 22:18:19 +02:00