Skip to content

Modernize the native share picker and fix reopening - #137

Draft
rnwynr wants to merge 1 commit into
TelegramMessenger:masterfrom
rnwynr:codex/native-share-sheet
Draft

rnwynr wants to merge 1 commit into
TelegramMessenger:masterfrom
rnwynr:codex/native-share-sheet

Conversation

@rnwynr

@rnwynr rnwynr commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Key change

Update the native macOS share picker to use the app's existing LiquidGlassView and GlassContainerView controls 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.py passed, 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant