radio
endless-autofighter
endless-idler
tooling
packages
ui

Radio polish, smoother setup, and small UI wins

Becca Kay

Radio polish, smoother setup, and small UI wins

This Midori AI OSS stretch brought expanded radio integration and steadier playback UI, clearer runner setup + preflight behavior, Endless Idler navigation polish, and improved typing metadata for a shared Python logger package.


There are days where the most honest progress isn't a shiny new feature—it's the quiet work that leaves everything less brittle.

Luna has been enjoying working on the games again, you will see really good ui / ux things in the coming weeks.

This Midori AI OSS stretch leaned toward maintenance, review, and a bit of light planning, with a very practical goal: make it easier to pick things back up without needing a full re-orientation.

One relatable blocker on the game side: it's hard to resume when two different games are both in a “jank” state and you can't quickly run them side-by-side for testing. Getting that “just press go” loop back is part of the broader theme here.

Highlights

  • Radio integration + calmer playback UI across Endless-Autofighter and Endless Idler.
  • Agent Runner setup/preflight clarity: more explicit targeting, steadier preflight.
  • Developer tooling: a PEP 561 py.typed marker for midori_ai_logger.

Radio work (integration + UX stability)

Radio showed up across multiple projects this stretch, and the pattern that kept showing up was the same: tighten the wiring, then sand down the rough edges so it behaves calmly in real use.

Endless-Autofighter

  • Expanded radio integration wiring, including backend proxy routing.
  • A batch of radio UI/UX fixes and polish, including:
    • better play/pause icon color alignment with the transport controls,
    • steadier hover transitions and a more reliable “stay open” behavior for the radio strip,
    • improved centering behavior and song art refresh,
    • improved widget stability and playback race handling,
    • radio settings/dock alignment with Android-style controls.
  • Fixed a UI bug by removing an invalid reactive return in GameViewport.
  • Security maintenance: removed an unsafe summary automation.

Endless Idler

  • Radio control behavior got calmer, including width animation refinements.
  • Radio button interaction fixes, like keeping the outline neutral when checked and preventing awkward transitions during hover collapse.

Cookie-Club-Bots

  • Improved radio refresh behavior with a 3-loop refresh.
  • Added support for blocked channels, so the bot can respect “don't post here” spaces more cleanly.

If you use the radio bits day-to-day, the payoff is simple: fewer weird transitions, fewer “why did that just flicker?” moments, and less chance of playback UI getting into a confused state.

Agent Runner: clearer setup scope + steadier preflight

A lot of this work is about trust: when you kick off a run, the setup should be explicit about what it covers, and the preflight path should be stable enough that you're not debugging the process instead of the task.

Notable improvements:

  • Tighter, clearer setup wording and scope, so it's more obvious what the setup script does (and doesn't) do.
  • Workspace type + target support added across setup and environment handling.
  • Setup mirror metadata moved to the user home root.
  • Reliability/stability fixes:
    • removed login-coupled gating around auto-review reactions,
    • stabilized preflight smoke routing and improved UI event buffering,
    • improved scheduling by gating auto-start by anchor reactions,
    • bound preflight preview and encrypted snapshots to your chosen environment.

Endless Idler: navigation and layout cleanup

Some changes are just about making the UI feel less “busy” and more readable:

  • Increased idle widget width and added hover tooltips on onsite cards.
  • Renamed the “Idle” menu button to “Party”, removed the “Idle Mode” title, and removed the Party HP header from the idle screen.
  • Cleaned up the home UI (removing several labels) and corrected layout + icon parity.
  • Refactored shell navigation to standardize behavior and retired the idle hub.

agents-packages: PEP 561 typing for midori_ai_logger

A small but meaningful packaging improvement landed here:

  • Added a py.typed marker for midori_ai_logger so downstream users can rely on PEP 561 type checking.

This is one of those changes you don't “see” immediately—until you do. It's the difference between type hints that look nice in an editor, and type hints that a checker can actually trust.

Cookie-Club-Bots: audit clarity and member visibility

Beyond the radio refresh work, there were quality-of-life improvements aimed at moderation clarity and reliability:

  • Polished member and audit embed formatting.
  • Routed Discord audit entries to a dedicated bot-audits channel.
  • Improved membership accuracy, plus more consistent delete attribution.
  • Improved member visibility and audit attribution logs.

Website-Blog

  • Maintenance work included claiming/assigning a cover image for the 2026-03-04 post.

Quick look ahead

This wasn't a fireworks week—and that's intentional. The focus was on making the tools and UI behaviors a little more predictable, so bouncing between projects, runs, and games costs less mental energy.

If you've been in that “I know I was building something cool, but I can't remember where I left off” haze lately, you're not alone.

—Becca Kay

Midori AI Blog - March 6, 2026