TGViewer
Telegram github commits and releases Telegram github commits and releases @tgappsupdates · 4.47K subscribers
Post #21004 91
morethanwords/tweb/master • 1f060db • 5 files, +342/-93
Page forum topics by server-order offsets, immune to drafts

A topic draft injects its topic into the topic-list folder on startup
('draft_updated' -> getForumTopicById), and the next-page offsets were
derived from the tail of the locally sorted list - so the very first
messages.getForumTopics request could start deep in the list, never
loading everything above the drafted topic, and a mid-list draft punched
a permanent hole below the loaded frontier. Offsets now advance strictly
in the server's response order, per forum (tdesktop's model); only
server search still pages by its own results' tail. Also stop
double-counting server-counted topics in a virtual folder's count.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

morethanwords/tweb/master • 173f3c6 • 1 files, +8/-4
Play the round video while it uploads

12b30e902 stopped an uploading video bubble from autoplaying under the
progress spinner: the autoplay attribute is suppressed while
message.uploadingFileName is set, and playback resumes when the upload
promise settles. Round videos were excluded from both halves, on the
assumption that their is_outgoing handling covers it — but that path
(divRound.onLoad) only wires up the global, with-sound media element.
The looping muted preview inside the circle is the plain inline <video>,
which was left with autoplay=false and paused until the bubble got
re-rendered, i.e. until the chat was reopened. Scrolling away and back
did not help either: animationIntersector only resumes players whose
autoplay is set.

A round video now keeps its autoplay attribute through the upload, as
the official clients do (tdesktop's autoplayEligible only skips a file
that is still 'preparing'), so the circle plays from the moment it is
sent. A regular video would just play under the spinner, so it still
waits — and when its upload completes it now gets the attribute back
instead of a bare play(), so the intersector picks it up again after it
scrolls out of view.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

#webk
  • 🫡 3
More from @tgappsupdates
  1. Sep 30, 2026TGX-Android/Telegram-X/main • d43aa33 • 2 files, +4/-4 Redirect errors to stderr #tgxandro…
  2. Sep 29, 2026morethanwords/tweb/master • 73ebb2f • 14 files, +187/-128 Keep reply bars and quote patter…
  3. Sep 29, 2026TelegramMessenger/tgcalls/development • 6d5ce90 • 1 files, +1/-0 Release zlib state when d…
  4. Sep 29, 2026Ajaxy/telegram-tt/master • 9e53c8e • 2 files, +50/-34 GramJS: Properly finish HTTP loops w…
  5. Sep 29, 2026Ajaxy/telegram-tt/master • 23c7c9f • 3 files, +4/-4 12.0.45 Ajaxy/telegram-tt/master • 27d…
  6. Sep 29, 2026telegramdesktop/tdesktop/msys64-ucrt64 • b933626 • 1 files, +7/-7 Update msys2 and use ucr…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →