- Add an account: Stoat (instance optional, email and password, second factor, or a pasted token)
- edit, delete, react and the up-arrow edit on Stoat messages; Discord-style markdown (spoilers are !!..!!) in the compose box
- harness check for the form
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
- the sticker button and tab for Telegram accounts (listTelegramStickers / sendTelegramSticker)
- "Sign in with a QR code" in the Telegram form, needing only the api_id and api_hash
- a Telegram account's page draws its chat folders as categories, in Telegram's order, and what is done to
them is done on Telegram: filing a conversation (drag), putting headings in order, making (a category is a
folder once it has a conversation in it), renaming, deleting; a folder changed on another device turns up
- a conversation's unreadSeed / mentionsSeed start the window's unread count where the service keeps its own
- harness checks for the folders page and the QR button
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Select all then bold twice left the box bold: the browser keeps the formatting of the run it replaces when the selection is everything in it.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
DuckDuckGo (default), Google, Bing, Brave, Startpage, Ecosia, Qwant, Yandex, Kagi, or an address of one's own with %s; opened in the default browser.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Worked out on a copy of the box and put back with one insertHTML (one undo step, and the browser no longer re-applies the format of what it replaced); undo and redo put back the selection that was there.
Fixes#336
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Twitch prefetch segments are read as Kick's are, the ad break is said over the picture from the
playlist's own markers, mute and volume are remembered, the resolution choice is kept per service,
captions inside the video are offered, and the account's card can sign in on twitch.tv for video, open
what it follows, and forget the sign-in. A hidden page in main makes an integrity token on request.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
The Twitch mark, the sign-in form with the code and the page to approve it on, read-without-signing-in, an
account's own sign-in-again, the join panel, the signed-out composer, twitch emote pictures, and badge words
for a first message and a shared chat.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
A reply shows a button into its thread; the thread panel gathers every reply that names the same root, and
sending in it works even when the first message has left the scrollback. Messages Kick removes stay in the
log, and Settings -> Kick chooses Delete, Strikethrough (the default, in red) or a notice in place of the text.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
A broadcaster that sends its own segments (3 to 5 s, not IVS's even 2) made the segments still being
made the wrong length, and the picture stopped in the gaps about every 8 s. Prefetch is now only taken
where the segments are alike, and the player stays a segment and a half behind where they are long.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
The player was rebuilt whenever the channel payload's address changed, which was every fetch (a new token
each time): that was the stutter. hls.js counted its live edge in 6 s target durations and ignored IVS's
prefetch segments: that was the lag. Both are fixed, prefetch segments no longer feed the bandwidth
estimate, and the address now comes from the lighter playback-url endpoint with its ad opt-out kept.
Resolution and CC buttons sit in the player's controls.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>