TGViewer
Telegram github commits and releases Telegram github commits and releases @tgappsupdates · 4.53K subscribers
Post #20529 134
morethanwords/tweb/master • fa6ec9f • 2 files, +10/-179
Fix the emoji panel jumping to the window edge in production

The picker attached to an input field (folder name, topic title) opened
pinned to the right edge of the window instead of next to its button —
but only in a built bundle, never in dev, which is what made it so
puzzling.

lightningcss lowers logical inset properties into separate `:lang()`
rules emitted after the declaration block, and those carry a higher
specificity. So `.is-standalone`'s `inset-inline-start: auto` came back
as `left: auto` behind the `left: min(…, var(--left))` authored right
below it, and the panel fell through to `right: 0` from the base rule.
The vertical anchor kept working, which is why it looked like only the
horizontal position was broken. Sass alone doesn't do that rewrite, so
dev always resolved the physical `left` last and looked correct.

Anchor the standalone panel with physical properties only, matching the
physical viewport coordinates JS measures into --top/--left, and reset
`right` explicitly — in RTL it's `left` that gets dropped when the box
is over-constrained.

The same trap was swallowing an optical nudge in the empty-chat
placeholder: `margin-inline-end` + `margin-left` in one block leaves RTL
with the end margin and no nudge at all. Made it `margin-inline-start`
so it mirrors. Also dropped a verbatim 178-line duplicate of
`.empty-bubble-placeholder` that a merge left behind in cef780979 —
comparing the compiled rule sets before and after confirms it changed
nothing but the margin.

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

morethanwords/tweb/master • c8e1a97 • 3 files, +98/-5
Fix the stories list not opening the viewer in Firefox

The stories row mounts folded and is only ever unfolded by the wheel handler in
useCollapsable, which read the direction off `wheelDeltaY`. That property is a
non-standard WebKit/Blink leftover Firefox has never implemented, so there it
came back `undefined`, `-wheelDeltaY` was NaN, and `NaN < 0` resolved every
wheel to STATE_FOLDED — including the guard right below it, which then saw no
state change and returned. The row could not be expanded at all, and a folded
one carries `disable-hover` (`pointer-events: none !important`), so clicking a
story did nothing and the viewer never opened. It reads `deltaY` now: the
standard equivalent, same sign, and the sign is all onMove takes from it. The
profile avatar carousel uses the same hook and was collapsed the same way.

Reproducing this also turned up the segments-folded memo being declared after
the element that renders the items: building it maps `peers()` through `Item`
straight away, so a list whose provider already holds its peers read the memo
inside its temporal dead zone and threw instead of rendering a single item. No
current call site constructs it that way — both pass their peers in later — so
the declaration just moves up above the element.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SNLQh1QbfpPyLmQk9vhECq

#webk
  • 🫡 3
More from @tgappsupdates
  1. Oct 15, 2026TGX-Android/Telegram-X/main • a6c184f • 6 files, +29/-2 Windows Compile Fixes (#1107) #tgx…
  2. Oct 14, 2026morethanwords/tweb/master • c120515 • 6 files, +22/-0 Composer: an Article item in the att…
  3. Oct 14, 2026morethanwords/tweb/master • fefad9f • 20 files, +314/-70 Unread voices, a playlist that re…
  4. Oct 14, 2026telegramdesktop/tdesktop/dev • c317da9 • 5 files, +90/-27 Use whitelisted domains from API…
  5. Oct 14, 2026TGX-Android/Telegram-X/main • 275879f • 1 files, +1/-0 Add `USE_FULL_SCREEN_INTENT` permis…
  6. Oct 14, 2026TGX-Android/Telegram-X/main • df7245d • 1 files, +6/-2 Update `docs` #tgxandroid
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 →