Release 2.5

Version heading bumped in both layouts, and the tagline under it now
points at the CSS editor instead of ECHO — the banner beside it is
advertising the editor, so the two now say the same thing.

Changelog entry is written for the people who hit this: they saw the
dingus error every time and had no way to know it was not their fault.
It says what happened in their terms and tells them to try again.

README's version log gets the matching line.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NX2SsmUqQftWTZAY4BDuFa
This commit is contained in:
Severian
2026-09-11 04:28:41 +08:00
parent e7c9adbcc5
commit 7444043bbe
2 changed files with 25 additions and 4 deletions
+1
View File
@@ -17,6 +17,7 @@ You can also build and run Sucker as a Docker container with `docker compose bui
### Changelog ### Changelog
- 2.5: Fixed extraction for users whose Janitor sends a request without the blank turn before the first message — sucker read the parts by position rather than by role, so for them it read the wrong ones and errored. Now resolved by role, with tests for both shapes.
- 2.4: CSS editor for Janitor profiles. New banner links to the live-preview editor at tools.from-avalon.com/janitor-profile-maker. - 2.4: CSS editor for Janitor profiles. New banner links to the live-preview editor at tools.from-avalon.com/janitor-profile-maker.
- 2.3: ECHO. Put ECHO: anywhere in a message and sucker repeats whatever comes after it in the reply — for triggering char-side script and lorebook keywords. - 2.3: ECHO. Put ECHO: anywhere in a message and sucker repeats whatever comes after it in the reply — for triggering char-side script and lorebook keywords.
- 2.2: Added support for directly inputting webp file names or character image links when creating PNG character cards - 2.2: Added support for directly inputting webp file names or character image links when creating PNG character cards
+24 -4
View File
@@ -373,9 +373,9 @@ export default function Home() {
{/* Row 1: Title on left, Hamburger on right */} {/* Row 1: Title on left, Hamburger on right */}
<div className="flex justify-between items-start mb-3"> <div className="flex justify-between items-start mb-3">
<div> <div>
<h1 className="text-2xl font-bold">Sucker v2.4</h1> <h1 className="text-2xl font-bold">Sucker v2.5</h1>
<p className="text-xs text-muted-foreground"> <p className="text-xs text-muted-foreground">
ECHO: Consider joining Avalon! New: a CSS editor for your Janitor profile.
</p> </p>
</div> </div>
<DropdownMenu> <DropdownMenu>
@@ -411,9 +411,9 @@ export default function Home() {
{/* Desktop Layout */} {/* Desktop Layout */}
<div className="hidden sm:flex justify-between items-center mb-4"> <div className="hidden sm:flex justify-between items-center mb-4">
<div> <div>
<h1 className="text-3xl font-bold">Sucker v2.4</h1> <h1 className="text-3xl font-bold">Sucker v2.5</h1>
<p className="text-sm text-muted-foreground"> <p className="text-sm text-muted-foreground">
ECHO: Consider joining Avalon! New: a CSS editor for your Janitor profile.
</p> </p>
</div> </div>
<div className="flex gap-2"> <div className="flex gap-2">
@@ -961,6 +961,26 @@ export default function Home() {
</DialogDescription> </DialogDescription>
</DialogHeader> </DialogHeader>
<div className="space-y-6"> <div className="space-y-6">
<div>
<h3 className="font-semibold text-lg mb-2">Sep 2026 - Fixed the dingus error some of you always got</h3>
<div className="space-y-2 text-sm text-muted-foreground">
<p>
If sucker told you to read the directions no matter what you
did, it wasn&apos;t you. Janitor doesn&apos;t send the same
request to everyone: some accounts include an extra blank turn
before the bot&apos;s first message and some don&apos;t. Sucker
was counting positions in that request instead of reading what
each part was, so for anyone on the shorter shape it read the
wrong pieces and fell over.
</p>
<p>
It now finds each part by what it is. Both shapes work, and
longer conversations stay linked to the right card. If sucker
never worked for you, give it another go.
</p>
</div>
</div>
<Separator />
<div> <div>
<h3 className="font-semibold text-lg mb-2">Sep 2026 - CSS Editor for Janitor profiles</h3> <h3 className="font-semibold text-lg mb-2">Sep 2026 - CSS Editor for Janitor profiles</h3>
<div className="space-y-2 text-sm text-muted-foreground"> <div className="space-y-2 text-sm text-muted-foreground">