UnigramDev/Unigram/develop • 66ceb87 • 2 files, +20/-7 Subscribe to CharacterReceived once Loaded su

Telegram github commits and releases

Telegram github commits and releases

@tgappsupdates

Broadcast from the most important Telegram clients' repositories

4,538 مشتركًا
فتح في تيليجرام
UnigramDev/Unigram/develop66ceb872 files, +20/-7
Subscribe to CharacterReceived once

Loaded subscribed and Unloaded unsubscribed, but Loaded can come twice without
an Unloaded in between, and CoreWindow outlives every control on it. A second
subscription would replace the emoticon twice for one keystroke and hold the
box - and everything it references - for the rest of the session.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

UnigramDev/Unigram/develop39724861 files, +5/-8
Downgrade the Text hidden-text finding: it is deliberate

The URL of a hyperlink lives only in the hidden run TOM keeps it in, so reading
with NoHidden would mean no link preview for a text-url entity. Recorded as
intentional so it doesn't get "fixed" later.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

UnigramDev/Unigram/develop8f8a0635 files, +164/-103
Stream files added to an open SendFilesPopup too

Add_Click and the popup's own drop handler still typed their files with the
blocking CreateAsync, so adding to an open popup stalled exactly the way the
initial drop used to before it was streamed.

The one counter the load pipeline used was doing two jobs, which is why it
could not take a second batch. It is now two. _allocated is the next free slot
in the index space and only grows, so an appended batch lands behind everything
already picked and the contiguous-run logic keeps working across batches.
_expected is what the title claims while items are in flight and drops to zero
when nothing is. Batches can overlap -- files dropped while the first is still
typing -- so the loading state became a count rather than a flag.

LoadAsync takes one initial flag rather than a set of behaviour switches, since
the two things that differ are really the same question: only the batch the
popup was opened for runs the caller's guard, and only that one closes the
popup when it comes back empty.

An appended batch is deliberately no more checked than it was before it
streamed. The guard is all or nothing, so one rejected late arrival would close
a popup that already has a caption and a screen of files in it. Doing that
properly means dropping the offending item and saying why, which is a
behaviour decision rather than wiring, and stays open as 6.6.

The editing branch still types its one file inline: it replaces a single
message, so there is nothing to stream.

Also removes a block that existed three times over. Copying a bitmap out of a
data package into the temporary folder and typing it appeared verbatim in
SendFilesPopup, DialogViewModel and SendMessagesView, IsScreenshot included,
and the OfType<StorageFile> gather in two of them. Both now sit on StorageMedia
next to the other factories, which also concentrates the folders-are-dropped
limitation of 6.7 in one place.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

#unigram
فتح المنشور في تيليجرام