Commit Graph

794 Commits

Author SHA1 Message Date
John Preston
08dfb4e753 Floor the stored sparse ids count at zero
Task: 2026/08/18/floor-stored-shared-media-count-at-zero
2026-08-18 23:56:49 +04:00
John Preston
fd3518a591 Scope shared media count drops to the owning lists
Task: 2026/08/18/scope-shared-media-count-drops-to-owning-lists
2026-08-18 11:40:55 +04:00
John Preston
9caa7f7469 [chat] Resolve reviewed follow-ups: restriction bar, access errors, perf.
- Send-restriction UI now has a single owner: ComposeControls' write
  restriction bar, matching Replies/Sublist modes. BottomControls'
  duplicate (overlapping, wrongly sized) bar is removed and the
  monoforum-admin "choose a message to reply" state is ported into the
  section's write restriction producer.
- History load failures with CHANNEL_PRIVATE / CHANNEL_PUBLIC_GROUP_NA /
  USER_BANNED_IN_CHANNEL close the chat with the not-accessible toast
  (and handle expired invite peeks), like the legacy view, via a new
  Data::Session::historyAccessLost signal fired from
  ApiWrap::requestHistory.
- SparseIdsList::Slice::merge inserts single ids instead of re-sorting
  the whole accumulated set, so the every-message full-history index
  updates in O(log n) instead of O(n log n).
- Unread counting queries the index in place through the new
  SparseIdsList::countAfter instead of copying up to 10000 ids on every
  read-marking tick.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 11:17:57 +04:00
23rd
fe7e967258 [vid-editor] Added GIF toggle. 2026-08-17 08:33:45 +03:00
23rd
03623f080b Added cover frame timestamp to sent videos. 2026-08-17 08:33:45 +03:00
23rd
fab70dede1 [vid-editor] Replaced video compression option with editor. 2026-08-17 08:33:45 +03:00
23rd
1693e2aa21 Added secondary file uploads to uploader. 2026-08-17 08:33:45 +03:00
23rd
b716fa0771 Added queueing of video transcode jobs. 2026-08-17 08:33:44 +03:00
23rd
660a37a577 Added disk streaming for video transcode input and output. 2026-08-17 08:33:44 +03:00
23rd
48a7ba18e5 Added sticker set attribution to sends of animated edits. 2026-08-17 08:33:44 +03:00
23rd
98e4c6b22d Added GIF badge to send box previews for animated edits. 2026-08-17 08:33:44 +03:00
23rd
97e6ed84a1 Added sending of silent looping video for animated edited photos. 2026-08-17 08:33:44 +03:00
23rd
e704a6c4c4 Added extraction of animated scene into encode job at send time. 2026-08-17 08:33:44 +03:00
23rd
cdbe1c7a1e Added preparing phase with progress for video downscaling. 2026-08-17 08:33:44 +03:00
23rd
8996112947 Added quality reduction option for videos to send files box. 2026-08-17 08:33:44 +03:00
John Preston
9a26118ae1 Clean up merged music attach code
Fold the three AllowsMediaDownloadControls copies into
HistoryItem::allowsMediaDownloadControls, share one retry-or-fail
handler in SendMusicSelectionBatch, reuse MakeMusicSelectionItems
instead of the NormalizeSelections near-copy and extract the
duplicated bot resolution block into applyResolvedBot.

Remove the dead accumulate-from-top machinery from both music
providers and the list widget, the subscriber-less slice snapshot
stream, the never-started search section request timer and the
unused Result::isAudioResult.

Consolidate the sixteen MusicAttachBox make_state allocations into
one State struct, fix the include order, use base::take for the
request waiters, replace the removeFromAlbum if-with-initializer
with a plain null-checked session and type kSearchRequestDelay as
crl::time.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 08:45:58 +04:00
John Preston
ec689724ae Initial ability to send audio in attaches. 2026-08-14 16:23:44 +04:00
John Preston
965e9006ea Harden web loader redirects handling. 2026-08-13 16:59:22 +04:00
23rd
90c89dcde9 Added missing const to local references in some files. 2026-08-12 13:36:02 +03:00
John Preston
d7fe384bb5 Insert every valid selected rich editor attachment
Task: 2026/07/29/insert-all-selected-files-in-rich-editor
2026-08-10 18:42:49 +04:00
John Preston
9500aab406 Own the bytes a finished file loader hands out
Task: 2026/08/07/own-file-loader-bytes-at-the-boundary
2026-08-10 18:42:47 +04:00
23rd
819ac62465 Added send progress guard for ephemeral messages. 2026-07-16 08:04:45 +03:00
23rd
68ddaae984 Added applying of wallpaper pattern from theme settings. 2026-07-14 10:54:40 +03:00
23rd
72a094f7e6 Added saving of chat theme settings for offline palette rebuild. 2026-07-10 14:04:25 +04:00
John Preston
9dc4b8c8b8 Support rich messages drafts. 2026-07-02 17:48:57 +04:00
John Preston
748bc8236a Allow drag-n-drop of blocks selections. 2026-07-02 17:48:57 +04:00
Ilya Fedin
c486314f83 Avoid full Telegram target rebuild on version change 2026-06-15 17:05:51 +04:00
John Preston
82efd0ccb1 Check blob extraction paths. 2026-06-11 22:01:57 +04:00
John Preston
f7ed4d1c7a Don't auto-save cache/streaming in-memory files.
Fixes #30605.
2026-05-19 13:30:29 +04:00
John Preston
4a9f584d48 Store recent inline bot per-account. 2026-05-07 16:53:27 +04:00
John Preston
d410bd6c68 Support top peers for guest bots. 2026-05-05 10:45:45 +04:00
John Preston
2cd90eb3ce Add proxy auto-rotation option. 2026-04-16 21:24:39 +07:00
23rd
8ed9085474 Added recent search entries to settings. 2026-04-11 17:37:12 +03:00
John Preston
2994268b83 Don't re-download the sent text file. 2026-04-10 20:59:49 +07:00
23rd
883a61e5a0 Split voice and audio playback speeds. 2026-04-03 09:23:42 +03:00
23rd
2b89fb9d40 [poll-shared] Added Polls section.
- Introduced SharedMediaType::Poll and registered poll messages
as shared media in data_media_types.

- Added Data::PollMessagesViewer — a producer that loaded poll
message slices for a given history/topic/monoforum peer.
(data_poll_messages.cpp/h)

- Implemented Info::Polls::ListWidget and ListMemento — a new content
widget that rendered poll messages using HistoryView::ListWidget
with a custom chat theme, similar to existing shared media sections.

- Connected the new section into info_memento, info_controller,
info_media_buttons, and info_media_widget so it appeared as a button
in the Shared Media panel.
2026-03-28 10:29:08 +03:00
John Preston
87ebd2720f Send high quality as first-class option. 2026-03-25 13:08:50 +07:00
John Preston
9f57a82c75 Update API scheme to layer 224. 2026-03-25 13:08:49 +07:00
23rd
7ffebafb60 Added ability rename files from send files box. 2026-02-19 12:02:11 +03:00
23rd
dff3698432 Replaced FileLoadTask constructor parameters with structs. 2026-02-19 11:00:02 +03:00
John Preston
6619cccd3e Allow sending videos as files. 2026-02-13 11:56:46 +04:00
John Preston
f25c5f7bfe Pass force_file to send video as file. 2026-02-13 11:56:46 +04:00
John Preston
28434f4bee Full support and build fix. 2025-12-22 17:56:55 +04:00
23rd
5026b07626 Added ability to replace user photo entry in storage. 2025-12-22 17:56:55 +04:00
23rd
eca8dfb0ec Renamed rpl::start_with_ with rpl::on_. 2025-12-10 21:28:33 +03:00
John Preston
41d206e354 Rename SuggestPostOptions to SuggestOptions. 2025-12-05 20:11:53 +04:00
John Preston
14295d59d1 Add some debug logs on app startup timing. 2025-11-17 12:55:44 +04:00
John Preston
c3f5f69c2a Remove some debug code. 2025-11-15 12:00:01 +04:00
John Preston
1320e7ac2f Allow placing bid with message / anonymous. 2025-11-15 12:00:01 +04:00
John Preston
cab93600dd Add about auction box layout (no icons yet). 2025-11-15 12:00:01 +04:00