Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Key change
Update the native macOS share picker to use the app's existing
LiquidGlassViewandGlassContainerViewcontrols for navigation, search, folders, account switching, and the composer. Render custom emoji in folder titles, center the folder labels, and align the comment field with Send.Fix closing and reopening the share extension: hide the inactive navigation button so it cannot intercept Close, keep one process logger, initialize theme/localization asynchronously, and dispose per-request subscriptions and account contexts. Refresh remote folder names while the picker is open, retaining cached names if the request fails.
Reason
The share extension showed premium folder emoji as text placeholders and retained its older appearance. Close could be blocked by an invisible Back button; subsequent requests could fail after logger replacement or retain the previous session. Supplementary accounts could also show stale folder names because they do not run the main app's managed folder synchronization.
Depends on TelegramMessenger/Telegram-iOS#2410. The submodule pointer currently includes only that ten-line API addition on top of the existing pinned revision and must be updated to the accepted dependency revision before merge.
Screenshot/video result (before/after)
Before
Reported behavior: placeholder glyphs in custom-emoji folder names, legacy share controls, an unresponsive Close button, composer misalignment, stale folder names, and intermittent failure to reopen.
After
The local native share picker was inspected with the glass controls, centered folder labels, aligned composer, and refreshed folder names. Three consecutive close/reopen cycles succeeded. Sanitized comparison media is still pending; private-account screenshots are not included in this draft.
Confirmation
python3 tools/tests/native-share/run.pypassed, including the path that compiles SwiftSignalKit from source without a prior app build. Covers folder-title UTF-16/composed-character ranges, invalid and overlapping entities, remote rename updates, duplicate suppression, subscription disposal, and reopening.The latest share-extension sources compiled and linked against the local Debug dependencies. The test app's ad-hoc signature was verified.
Native Finder share presentation, Close, three consecutive reopen cycles, updated folder names, and label/composer alignment were checked on macOS 27.0.1 (arm64), local Debug test app 13.1.0.1, build 283357.
A fresh full-workspace build of the final revision was not completed. End-to-end sending, every emoji format, alternate themes, account switching, and passcode flows still need verification. WebM custom emoji use a preview image in the extension.
I confirm that I have tested the affected behavior and verified that it works properly, or verified the content and links for a documentation-only change.
Kept as a draft until the remaining integration checks, sanitized media, and shared-core dependency are resolved.