TGViewer
Telegram github commits and releases Telegram github commits and releases @tgappsupdates · 4.49K subscribers
Post #20711 31
UnigramDev/Unigram/swipe-to-go-back • b21e5bc • 3 files, +38/-11
Switch the modern projects between the two identities

ModernIdentity=Original carries the identity Telegram.csproj and
Telegram.Msix ship, which is what a beta for testers needs; Alternative, the
default, installs beside them. The property is in the generated manifest's
path as well as in the conditions, because the target is incremental on the
source manifest and flipping the property alone would reuse the old one.

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

UnigramDev/Unigram/swipe-to-go-back • c825e6b • 2 files, +7/-0
Keep the ProgressBar cast the trimmer cannot see

Nothing in the app constructs a ProgressBar - both uses are
GetTemplateChild(...) as ProgressBar - so the metadata the cast needs is
trimmed and the field comes back null rather than throwing. VideoContent then
dereferenced it on every position change, once per frame inside a catch, and
again in Play_Click; PollOptionContent has the same shape on its vote bars.

CsWinRT1034 named both sites. I had concluded the cast-only set was empty and
was wrong: of the 117 types the warning covers, 67 are never constructed in
C#, and the ones reached only through GetTemplateChild are all in this
position.

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

UnigramDev/Unigram/swipe-to-go-back • 72303c1 • 10 files, +212/-57
Root every projected cast from the casts themselves

The RCW metadata a cast needs is only reachable through the cast, so trimming
takes it and `as` yields null instead of throwing. That is a null template
child and a feature that silently does nothing: ProgressBar cost a day of an
exception per frame, and ItemsPresenter the chat list's folder swipe, both
flagged by CsWinRT1034 all along among 1800 others.

CsWinRT gathers every [DynamicWindowsRuntimeCast] into one module initializer
of DynamicDependency attributes, so the attribute's placement never mattered -
only the type. Emitting those attributes from a generator is no use, since
generators all see the original compilation; this emits the initializer
itself, from the as/is/cast expressions. 222 types against the 116 CsWinRT
warns about, because it also covers patterns and casts it can prove nothing
about.

Nothing declares this by hand any more: the six annotated methods and the
.NET Native dummy attribute are gone. The generator emits nothing when
ModuleInitializer or DynamicDependency do not resolve, which is that build.

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

#unigram
More from @tgappsupdates
  1. Oct 11, 2026New TGX-Android/Telegram-X release: v0.29.1.1817 (stable) **Telegram X** `0.29.1.1817` has…
  2. Oct 10, 2026Assets for release v7.3.1 of telegramdesktop/tdesktop: • Windows on ARM: Portable • Window…
  3. Oct 10, 2026telegramdesktop/tdesktop/dev • 4b529b9 • 2 files, +63/-34 Added grouping of webpage photo…
  4. Oct 10, 2026New telegramdesktop/tdesktop release: v7.3.1 (stable) - Fix wallet encryption with Windows…
  5. Oct 10, 2026UnigramDev/Unigram/develop • bab9f3c • 3 files, +52/-17 Use sticky headers in folder setti…
  6. Oct 10, 2026UnigramDev/Unigram/develop • b39b5d1 • 1 files, +18/-0 vcpkg fix UnigramDev/Unigram/develo…
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 →