786 Commits
Author SHA1 Message Date
SalastilandClaude Sonnet 5.5 b81810f5cc Merge development into master: 1.2.1, Steam identity
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
v1.2.1
2026-10-15 17:14:25 -04:00
SalastilandClaude Sonnet 5.5 285fda248f 1.2.1: Steam identity; CHANGELOG
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-15 17:14:16 -04:00
SalastilandClaude Sonnet 5.5 fceec5d6b5 Steam: nobilis pointer, sign-in text
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-15 01:01:33 -04:00
SalastilandClaude Sonnet 5.5 44208364cd Merge development into master: 1.2.0, Twitch
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
v1.2.0
2026-10-14 21:55:18 -04:00
SalastilandClaude Sonnet 5.5 d9f9f6a127 1.2.0: Twitch; README and CHANGELOG
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 21:54:30 -04:00
SalastilandClaude Sonnet 5.5 934dc19820 Twitch video: do not read its prefetch lines as segments (their address changes when the segment is made), which dropped the picture every ten seconds
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 21:39:30 -04:00
SalastilandClaude Sonnet 5.5 d1e39f18b0 Windows can be resized by their edges: channel list, member list, stream above the chat, and the corner panel from every edge
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 21:14:42 -04:00
SalastilandClaude Sonnet 5.5 dd4bd2e257 Twitch: the stage reports watching once a minute while playing; Settings switch
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 21:04:29 -04:00
SalastilandClaude Sonnet 5.5 b5ff4435a3 Emote picker: unique keys; nobilis pointer
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 20:44:15 -04:00
SalastilandClaude Sonnet 5.5 f103f9fc6a Emote picker: channel avatar / Twitch mark on the rail; nobilis pointer
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 19:58:36 -04:00
SalastilandClaude Sonnet 5.5 a6fd981b6f Twitch: no third-party emote services; channel emotes greyed in the picker
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 19:52:54 -04:00
SalastilandClaude Sonnet 5.5 ae98f70d95 Twitch emotes: refresh in the picker, own line draws emotes; check against the real services
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 19:42:45 -04:00
SalastilandClaude Sonnet 5.5 b656e5ee81 Twitch emote rewards: right pools for unlock and change; nobilis pointer
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 19:25:20 -04:00
SalastilandClaude Sonnet 5.5 38794e7cc5 Rewards: the emotes a reward offers are pictures to press, with a search and a second step for changes; integrity as the account
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 18:58:27 -04:00
SalastilandClaude Sonnet 5.5 aacbde768f Rewards panel: choose-an-emote and typed rewards; recent emoji only where they can be sent
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 18:47:33 -04:00
SalastilandClaude Sonnet 5.5 5518f1c534 Rewards panel: cheapest first, available above unavailable
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 18:29:06 -04:00
SalastilandClaude Sonnet 5.5 835878bbc0 Rewards panel: a font size that is defined
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 18:24:36 -04:00
SalastilandClaude Sonnet 5.5 399f521f55 One rewards panel over the chat for Kick and Twitch channel points, opened from the plaque
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 18:23:01 -04:00
SalastilandClaude Sonnet 5.5 46304f7750 Twitch: no bonus claiming; the points plaque shows the balance only
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 18:08:32 -04:00
Salastil 3cc8c14fb5 nobilis pointer 2026-10-14 18:04:00 -04:00
SalastilandClaude Sonnet 5.5 3d77002de3 Twitch: whisper badge shows (no presence dot), a script that checks the Twitch parts of the window
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 17:17:55 -04:00
SalastilandClaude Sonnet 5.5 68c6ec1581 Twitch: the points plaque, and vote and bet buttons that work
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 17:00:04 -04:00
Salastil 9dfb777e2e nobilis pointer 2026-10-14 16:46:45 -04:00
SalastilandClaude Sonnet 5.5 bb2edf573d Sneedchat: greentext in 4chan's green, and a sent greentext line is matched with the site's coloured echo
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 16:36:59 -04:00
SalastilandClaude Sonnet 5.5 34fcddf495 IRC mode explanations (nobilis pointer)
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 16:20:18 -04:00
SalastilandClaude Sonnet 5.5 9ef8a67ac4 Every service notification is drawn as a card; the rule is in ARCHITECTURE.md
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 15:11:23 -04:00
SalastilandClaude Sonnet 5.5 c346b20e3d Twitch: whisper badge, moderation cards with their own glyphs
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 15:03:51 -04:00
SalastilandClaude Sonnet 5.5 e4123abc05 Twitch: nobilis pointer, whispers get their own conversations
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 14:48:39 -04:00
SalastilandClaude Sonnet 5.5 f4fc379a60 Twitch: remove the Forget the video sign-in button
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 14:21:08 -04:00
SalastilandClaude Sonnet 5.5 49a09d8507 Twitch: one sign-in has every feature; the separate moderation button is gone
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 14:02:39 -04:00
SalastilandClaude Sonnet 5.5 98f7d049f0 Twitch: emotes picked from the picker show as pictures in the box; no GIF picker
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 12:05:53 -04:00
SalastilandClaude Sonnet 5.5 b2c793477b Twitch sign-in: type the code into Twitch's Activate page and press Activate; show the code in the form
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 11:53:14 -04:00
SalastilandClaude Sonnet 5.5 be013ea47c Twitch sign-in: wait out the site's own redirect after login and bring the window back to the approval page; find the session by a second cookie too
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 11:39:08 -04:00
SalastilandClaude Sonnet 5.5 5b2438bba5 Twitch: one sign-in window gives the account chat and video together
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 10:56:30 -04:00
SalastilandClaude Sonnet 5.5 0d28308ab8 Twitch: signing in also signs in on twitch.tv for video; the separate button is gone
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 10:36:46 -04:00
SalastilandClaude Sonnet 5.5 b7ee906037 Twitch: follows are opened on first connect (nobilis pointer)
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 10:23:08 -04:00
SalastilandClaude Sonnet 5.5 61044b65b8 Twitch: raid cards that offer to go along, polls and predictions shown read-only, block and shoutout in the menu
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 09:56:47 -04:00
SalastilandClaude Sonnet 5.5 5356ddba55 Twitch: emotes and badges drawn, moderation and whispers in the window, README
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 09:18:31 -04:00
SalastilandClaude Sonnet 5.5 ac60123e7d Twitch: the stream plays in the window like Kick's, with its ad breaks said
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]>
2026-10-14 08:53:25 -04:00
SalastilandClaude Sonnet 5.5 d3a1efc1ef Twitch: Settings page, recent messages on opening a channel, the sign-in scripts
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 00:43:22 -04:00
SalastilandClaude Sonnet 5.5 322cbc8407 Twitch: the window signs in, joins channels and draws them
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]>
2026-10-14 00:32:29 -04:00
SalastilandClaude Sonnet 5.5 dd44e76970 Kick: the points plaque follows Kick's push, and badge pictures are drawn beside names
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-13 23:11:26 -04:00
SalastilandClaude Sonnet 5.5 9b29285f71 nobilis: roster test fix
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-13 21:54:56 -04:00
SalastilandClaude Sonnet 5.5 987644ebf1 Kick: the recently-talking count keeps rising past what is listed
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-13 21:51:35 -04:00
SalastilandClaude Sonnet 5.5 8e3d1100c9 Kick: threads from replies, and removed messages struck through, left out or replaced as chosen
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]>
2026-10-13 21:17:34 -04:00
SalastilandClaude Sonnet 5.5 a7ef798df5 Kick video: no prefetch guesses for streams whose segments differ in length, and a longer lead for long segments
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]>
2026-10-13 20:24:06 -04:00
SalastilandClaude Sonnet 5.5 3aff255375 Kick video: about 3.5 s behind instead of 20, no rebuild on every address, a resolution menu and live captions
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]>
2026-10-13 19:57:03 -04:00
SalastilandClaude Sonnet 5.5 335ac8b59d Merge development into master: 1.1.0, Steam
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
v1.1.0
2026-10-13 15:49:35 -04:00
SalastilandClaude Sonnet 5.5 b877529367 1.1.0: Steam fully ported; the README lists the protocols
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-13 15:49:22 -04:00
Salastil 9eb3078996 Merge remote-tracking branch 'origin/development' into protocol/steam
# Conflicts:
#	nobilis
2026-10-13 15:48:36 -04:00