morethanwords/tweb/master • 512d07d • 1 files, +25/-2
Fix stories hold-to-pause not resuming on release
SwipeHandler bound its global mouseup/touchend listeners to
this.element.ownerDocument at construction time. For a Solid JSX
element (cloned from a <template>), ownerDocument is the inert
about:blank template-contents document until the node is inserted
into the live DOM. The stories viewer constructs the SwipeHandler
before its <Portal> mounts the element, so the release listeners
were bound to a document that never receives real events: mousedown
(bound to the element directly) still paused on press, but mouseup
never reached reset()/onReset()/play(), so the story stayed paused.
Bind the gesture-end listener lazily in handleStart instead, when the
element is live and ownerDocument resolves to the real (main or
Document-PiP) document. Keeps the PiP fix from 9d58fe155 intact and
mirrors the lazy pattern already used in attachGrabListeners.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • bbd3782 • 3 files, +87/-79
Render topic profile avatar in the profile-avatars header
Forum and bot-forum topic profiles used a separate inline 'simple avatar'
(.profile-avatar.avatar-120 inside the MainSection, gated by has-simple-avatar).
Route them through the same PeerProfileAvatars header as regular chats with no
photo instead: PeerProfileAvatars.setPeer now takes a threadId, skips the photo
carousel/list-loader, and renders the topic icon as a single centered avatar-120
(no profile-avatars-avatar-fake duplicate, no scaled-down full photo).
- peerProfileAvatars: topic branch in setPeer; processItem renders avatar-120
with a 120px custom-emoji size for topics.
- peerProfile: always use the carousel path, passing the topic id; drop the
needSimpleAvatar concept and the in-section avatar.
- _profile.scss: .is-topic centers the fixed-size icon and keeps it unscaled
when the header collapses; removed the dead .has-simple-avatar rule.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
morethanwords/tweb/master • 1296446 • 2 files, +23/-25
Fix sponsored topbar plate not reserving chat padding-top
The sponsored/ad plate is the only floating plate with height: 'auto', so setFloating measures its offsetHeight. The measurement ran inside the count loop, before the wrapper's `hide` (display: none) class was toggled off — and a display:none ancestor zeroes descendants' offsetHeight. So exactly when the ad plate is the one flipping the visible-plate count 0 -> 1, it was measured at 0 and never reserved its padding-top, leaving it overlapping the chat. Compute the visible set and un-hide the wrapper before measuring.
Also clarify in updatePinnedFloatingHeight that a mid-scroll position is left anchored on purpose (matches iOS/Android: the plate slides over the content rather than shoving it down); behavior unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#webk
morethanwords/tweb/master • 512d07d • 1 files, +25/-2 Fix stories hold-to-pause not resuming on rele
Telegram github commits and releases
@tgappsupdatesBroadcast from the most important Telegram clients' repositories
4,538 subscribers
Open in Telegram