Repository navigation
Releases: yaffalhakim1/Kerenzikov-app
Releases · yaffalhakim1/Kerenzikov-app
Release list
v0.1.65
Android
- Fixed: the app stayed busy the whole time a long task was open. A session
with more than a screenful of history kept redrawing at full rate with
nothing happening — the mark above the oldest message was a spinner, and it
spun for as long as the screen was open. It is a position rather than
progress, so it no longer animates. On a 541-message session this takes the
screen from a permanent 61 fps and a pegged render thread to idle, which is
what makes a long task feel stuck.
v0.1.64
Android
- The model's thinking now has its own panel, above the steps it produced.
Reasoning used to render inside the same row as the tool group, so the row
ran two animations at once — the group's title shimmering while the trace
grew underneath it. That is why the header could read as blank for the whole
run and only correct itself once the turn finished. The trace is now a
Reasoningpanel of its own, which opens while the thinking arrives and
folds away a beat after it stops, and the steps stay in the task group below
it. The header also names what is happening instead of drawing nothing when a
step has not reported its title yet. - Fixed: a screen that could fail while a response was streaming. A
transcript row that gained its fade-in mid-stream could abort the screen with
"Rendered fewer hooks than expected". Every row now animates the same way on
every render.
v0.1.63
Android
- Fixed: the app closed itself while a response was streaming. Since the
PanelUI reskin, a turn that streamed text could kill the app outright — no
error, no log, just a return to the home screen and a fresh launch. The
streaming fade was handing React Native's easing function to the animation
runtime, which runs on the UI thread, where a plain JavaScript function
cannot be called; the runtime aborted the process instead of throwing. It is
the same failure 0.1.61 and 0.1.62 were trying to catch. The fade now uses
Reanimated's own easing, and a streamed response runs to the end.
v0.1.62
Android
- The task screen records what it was doing before it disappears. When the
screen closes itself with nothing to report, the app now leaves a trail of
the moments that led up to it — the turn starting or finishing, and the app
being backgrounded — so the cause can be found and fixed. Send the log from
Settings → Diagnostics as before.
v0.1.61
Android
- A screen that fails now says so instead of vanishing. When a turn was
running or a response was streaming, the task screen could close itself and
take the reason with it. The screen now stays, shows what went wrong, and
offers to try again — and the error is written to a file, so it survives a
restart and can be sent on. - Settings → Diagnostics sends that error log, or clears it.
v0.1.60
Android
- Dark mode reaches every surface. Choosing Dark while the phone was set to
Light repainted the transcript and left the task panel, background work, and
both composers on their light colours — so some text was dark and some light.
The app's theme choice now reaches the whole interface. - Code in a response reads the same everywhere. A code span in a paragraph
was drawn in a different face and colour from one in a list, and the two
drifted further apart in dark mode. Every span is now the same brand-tinted
code. - The task list and background work fold away. Both sat open above the
composer, and a long plan or a busy task pushed the conversation off screen.
Each now starts collapsed behind its own header, which still carries the
progress and status. - Background work reads as a list of jobs. A running command, an agent and
a monitor were nested inside one another with a fold control each. They are
now one row per job — kind, name, what it is doing, and the command — with
Stopwhere the provider allows it. - The agent picker is a button. On New Task it was a labelled chip; it is
now the same round control as the rest of the composer, with the agent's name
on the menu behind it. - Stop and Send are one size. Stop was drawn larger than Send in the same
slot, and heavier than it. - Mentioning a file by name works. Typing
@with a fragment ignored what
you typed and listed the first few entries whatever you asked for. It now
matches what you type, and the list scrolls. - The message field is legible in dark mode. Text typed into the composer
was drawn in the light theme's colour on a dark card. - Loaders are a single rotating ring rather than a pulsing square.
- The task drawer opens on a swipe from the edge, not from anywhere on the
screen — a stray sideways drag on the composer no longer slid it out, and
opening it no longer crashed the screen.
v0.1.59
Desktop
- Live session cost. The usage panel now shows what the running task
costs as it works, priced from the provider's own token split — including
cache savings on Claude. Providers that report only context occupancy have
no cost row rather than a wrong one. - Helper model per provider. Point Settings → Providers at a cheaper
model for Waku's own background steps — commit subjects and memory
extraction — while the task itself keeps running on the strong one. - Fallback models per provider. List backup models to try in order when
a turn fails because the provider is overloaded or rate-limited; the task
retries itself instead of stopping. Queue order is preserved across the
retry. - Protocol bindings and mobile settings fixtures updated for the new
settings surface.
v0.1.58
Android
- Markdown tables in transcripts read like tables again. A wide table used
to squeeze every column to a few characters, wrapping words mid-syllable.
Columns now keep a readable width; a table that genuinely cannot fit pans
sideways instead of scrambling. - Text you can actually read. The dimmest text tier — timestamps, model
names, footers — was far too faint on both themes. The whole text ramp now
passes contrast checks in light and dark, and the green accent darkens to
stay legible in daylight (dark theme keeps its vivid green). - Smaller fixes: loading spinners announce themselves to screen readers,
failed task and transcript loads offer a Try-again button, selection
checkmarks match the rest of the app, and attachment remove buttons no
longer overlap each other.
v0.1.57
Desktop
- Queued follow-ups actually run now. A message queued while an agent was
working could silently never start: the queue was handed over at the exact
moment the agent finished, before the task's status had caught up, and the
handoff gave up instead of waiting. Queued messages from every harness
(Codex, OpenCode, Oh My Pi, …) now start on the agent reliably, whether the
device that queued them is still around or not. - Codex tasks no longer strand on "already has an active writer". Starting
or resuming a Codex task could fail with that error when the task's previous
agent process was still shutting down, leaving the task unable to run until
you retried by hand. The app now waits out the shutdown and retries on its
own.
v0.1.56
Desktop and Android
- A queued follow-up now shows up everywhere. If you queued a message from
your phone while an agent was working, the desktop never showed it waiting —
and a queued message from the desktop did appear on the phone, so the two
disagreed about the same task. The queue is now shared the same way the rest
of the task is: queue on one device and every other device shows it, and when
the agent finishes and picks the follow-up up, the row leaves the queue on
every device instead of lingering as though it were still waiting.