Add to Discord

5 changes, with what each one does.

Every change
  1. Date stops above the car read right

    The Date Solver reads used stops on the top row correctly, including icons partly hidden by the car.

    • Used juice, flower and pasta stops on the top row no longer look like fresh stops to the reader.
    • Faded icons over the map's transparent margin are recognised as already used, even when they still look bright.
    • Top-row icons have their own references, so a pasta stop partly covered by the car can still be recognised.
    • An icon cut short by the car no longer crashes the reader's fallback.
    Read it in the docs
  2. Premium keeps its remaining time

    Renewing monthly premium early adds to the time left, and staff can move an active premium to another server.

    • A monthly renewal starts from your current expiry instead of today, so renewing early keeps the days you already have.
    • Staff can transfer an active premium with its type, original start date, expiry and payment notes intact.
    • A transfer refuses a destination with active premium and only switches off the source after saving the destination.
  3. Old wishlist counts show their age

    Top Wishlist marks counts that have not been checked in 14 days with ≈, and Karuta search results now refresh counts too.

    • A count not checked in 14 days, or never checked, appears like ♡ ≈10,520, with a footer explaining the mark.
    • Keqing reads every complete character row in Karuta's Character Results, including new pages, without needing a separate lookup for each character.
    • Rows with shortened names or series, and alias rows, are skipped to avoid saving counts under the wrong character.
    Read it in the docs
  4. Try another dye in the Dye Tester

    Dye previews now land at the bottom of the channel and have a 🎨 Try another dye button, so you can compare dyes on the same card.

    • Once your dye and card are in, Keqing posts the preview as a new message under your lookups instead of editing the prompt above them.
    • The first prompt changes to Dye and card received, with a link down to the preview.
    • Press 🎨 Try another dye within two minutes, then run kv $<dye code>, and the same card comes back in that dye as another new message.
    • Earlier previews stay where they are, and an already-dyed card reuses your kdr preview.
    Read it in the docs
  5. Dye any frame in the Frame Tester

    Frame Tester previews of approved frames have a 🎨 Dye button, so you can see a dye on a frame before owning either.

    • Press 🎨 Dye on a 🖌️ preview, then run kv $<dye code> in the same channel within two minutes.
    • Keqing greys out the frame's dye area first, so the frame's own default colour doesn't tint the new dye.
    • The dyed frame comes as a new message, glow included, for regular and Mystic dyes.
    • Try another dye keeps earlier results and opens a new prompt, so you can compare dyes side by side.
    • Only frames with an approved dye mask get the button, and previews with a morph colour don't.
    Read it in the docs