- Drawing tools in image editor (brush, marker, eraser, arrow).
- Draw-to-reply button in media viewer.
- Trim recorded voice messages.
- Per-file captions when sending multiple files.
- Audio sharing in calls on Linux.
- Ripple effects for reactions, send and reply buttons.
- Fix saved music shuffled playing.
Iv::ShowButton() and LocationPicker::Available() each called
Webview::Availability() separately (~200ms each on Linux). Replace
the per-caller static caches with a single shared cache in
Core::CachedWebviewAvailability(), reducing startup from two
~200ms calls to one.
- Fix crash in legacy groups members list.
- Fix display of member tags in legacy groups.
- Make fast reply button appear instantly.
- Allow hiding fast reply button.
checkStartUrls() passed URLs directly to openLocalUrl() which only
handles tg:// scheme URLs. When https://t.me/ links were passed as
command-line arguments, they were silently ignored. Now URLs are
converted via TryConvertUrlToLocal() before processing, matching the
behavior used when clicking links inside the app.
- Move Advanced class definition into .cpp file anonymous namespace
- Export only Type AdvancedId() in header
- Keep exported helper functions (SetupConnectionType, HasUpdate, etc.)
- Remove unused SetupWindowCloseBehaviorContent declaration
- Update callers to use AdvancedId() instead of Advanced::Id()
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move Main class definition from header to .cpp file
- Export only Type MainId() from header
- Update all external references from Main::Id() to MainId()
- Remove Builder::MainSection export from namespace
- Add missing includes for settings_common_session.h where needed
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move Calls class to anonymous namespace in .cpp
- Export only Type CallsId() from header
- Move AddCameraSubsection to be a free function (exported)
- Keep all device helper functions exported
- Update all references to use CallsId() and AddCameraSubsection()
- Add missing include to calls_group_settings.cpp
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move Information class to anonymous namespace in .cpp
- Export only Type InformationId() from header
- Keep exported helpers: SetupAccounts, UpdatePhotoLocally, Badge::*
- Use custom buildMethod with HighlightRegistry for all profile widgets
- Update all references to use InformationId() instead of Information::Id()
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>