v5.0.0 - New React App, Conversation-First Workspace & One-Click Fixes #378
siddsachar
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
v5.0.0 - New React App, Conversation-First Workspace & One-Click Fixes
This major release replaces Row-Bot's NiceGUI interface with one React app
and rebuilds the workspace around the conversation. Designs, code folders,
goals, delegated agents, approvals and the terminal now live with the
conversation that uses them; Home opens on an Overview of what needs you; a
fresh profile asks one question, "How should Row-Bot think?", and never runs
on a model you didn't choose. Approvals can be answered wherever you are,
Monitor keeps its checks and offers one fix per problem, phones and other
computers connect with a self-renewing QR code, and your profile can be backed
up and restored. Underneath, the server is plain FastAPI run by uvicorn, about
65,000 lines of NiceGUI-era code are gone, and the test and release pipeline
runs each genuine test once. Local-first defaults, approval gates and the
single-owner access model are unchanged. Read Upgrade Notes And Breaking
Changes below before upgrading.
One App, Rebuilt In React
tablets and server mode all open the same React app at
/app-v2/./redirects there and keeps its query string; a remote browser without a
session goes to
/connectfirst.using HTTP and server-sent events only (no WebSockets). Start-up, shutdown
and cleanup keep their order, responses are compressed and the event stream
is never compressed or buffered. NiceGUI and 16 locked packages left the
dependency set.
extraction, checkpoint and thread cleanup, browser tab eviction and the
status tool now see turns running in the app, and sending a message or
opening a conversation marks you active, so background jobs wait while you
work and never extract from the conversation you have open.
while it runs brings the running app forward instead of starting a second
instance against the same profile.
windows reconnect, reopen the conversation and keep unsent drafts, with
Reconnect offered instead of a dead end.
with at most one fix (Retry, Reconnect, Choose a model, open the exact
setting, or Send now); an unexpected one shows its code under Details.
failures and token warnings arrive as short floating notices, once per
device per start, and start-up warnings are listed in Monitor.
right-click menu (Cut, Copy, Paste, Select All, never on password fields),
message text can be selected and copied, the Windows clipboard keeps accents
intact, and exports and downloads use the native Save dialog and land where
you chose.
React app: it follows the selected conversation's turns, drafts and
approvals, docks back reliably, keeps its desktop features through long
sessions, and places itself correctly on high-DPI and multi-monitor setups.
The sidebar Buddy is larger and wears an activity ring.
A Redesigned Workspace
Agents (favourite profiles start a chat in one click; All agents opens the
profile library), and conversations by date with pinning and a type filter
(All, Chats, Designs, Code, Workflows) that covers every conversation, not
only the most recent pages. Settings and the attention indicator sit in the
footer; the collapsed rail keeps every destination as a labelled icon.
Overview greets you with Buddy and an Ask box, then Needs you (approvals,
problems and setup, with their fixes in place), Continue where you left off,
today's agents and workflow runs, Since yesterday evening, and Learned this
week.
the conversation is Working on (designs, code folders, the browser), its
goal, its outputs and its agents. Below desktop width it opens as a sheet.
(your Buddy's image for Row-Bot, a person icon for you), one activity row
per turn ("Used 3 tools · 1 failed") that expands into its steps,
highlighted code with Copy and Download, tables that copy as CSV, citations
as source chips, link chips, inline PDFs, generated media shown once, and
agent runs marked where they start, finish or fail.
once, with limits stated up front (25 MB a file, 32 files, 100 MB a
message); attachments show as thumbnails with progress and Retry, and Send
waits for uploads still running.
/goal,/reasoning,/profileand/agentrun with their argument,@mentions agent profiles, write targetsand files, active skills show as chips, and Send turns into Stop.
in one list above the composer with Send now, Edit and Discard; Stop pauses
waiting messages, and nothing is ever sent twice.
with a Stopped marker, also after a reload.
at once and a short descriptive name after the first reply.
(including message text), commands, settings and saved workflows. It
understands plain intents in any word order ("connect a model", "turn on
developer tools", "phone", "connect telegram", "dark mode"), lists settings
switches as actions showing their current state with Undo, ranks message
matches above scattered letter matches, lists the open design's commands,
and Enter runs only a result that matches what you typed.
renames, exports as Markdown or PDF in one step, and deletes. The Library
lists every conversation with type filters, search and multi-select (Select
all, Clear all) to pin, export or delete many at once, with deletion
progress shown. Deleting the open conversation keeps the app connected.
operating system until you choose, plus accent colour, density and reduce
transparency in Settings › Appearance.
composer, panels as full-screen sheets and 44 px touch targets throughout;
tablets keep centred dialogs; Settings keeps its search at every width.
First Run And Models
model until you choose one; the built-in
qwen3:14b,gemma3:4b,gpt-image-1.5andveo-3.1presets are gone. Channels, workflows, DreamCycle, memory extraction, delegated agents and Buddy's Hatch wait or reply
politely until a model is chosen, and removing a provider keeps your saved
default (shown as unavailable) instead of falling back to another model.
computer (Ollama detected and re-checked automatically, with install steps
for your operating system and your installed models listed), With my
subscription (ChatGPT, Claude or Grok with a device code that is checked
automatically), With an API key (OpenAI, Anthropic, Google Gemini and
OpenRouter first, the rest under More providers; each key is checked before
it is saved), or a custom endpoint. The pick becomes your default, a
one-message test runs and Home opens; if another assistant's data is found,
an import is offered. It replaces the setup wizard.
done and skipped areas separately and reads their real state.
glyph, "Chat only", "Choose a model", or "Unavailable" with the reason and
Reconnect or Choose another model. It never reads "Ready" for a model that
cannot run.
and Video pickers share one grouped, searchable list with billing tags
(Subscription, Pay per use, Credits, Local · free), so subscription models
such as ChatGPT and Claude subscription models can be chosen as Brain and
Vision. Vision defaults to "Same as chat model", and attaching an image to a
model that can't see images says so and offers Choose a vision model.
labelled icon buttons and the default model renamed "Brain model".
its download size and source first; Realtime Talk says it is paid per minute
through OpenAI.
while it refreshes, and an endpoint that doesn't answer reads Unavailable
instead of waiting forever.
Doing Things By Conversation
assistant creates the design or a code folder named after the request, then
keeps working in it. A card in the transcript offers Open, Rename and Undo.
Wording alone never creates or binds anything, and the old keyword-based
setup before a turn is gone.
code folder by name, or offers Choose folder when none matches; "clone " shows a clone card, you choose where it goes, and the conversation continues in the new folder. A "Using code folder" card offers Open and Undo, which unbinds the folder and keeps its files. The model never picks a path.
Developer tools, the transcript asks "Turn on ?" with Turn on and Not
now through the approval-gated settings change; a missing account or channel
shows a Connect card that opens its setup. Not now is final for that
request.
card or with
/goal. It starts at once and continues after each turn untilit is done, with no turn limit by default and optional turn and time limits.
The goal card shows the turn, time running, tokens, the latest progress
reason, Pause or Resume, and Stop.
turns without progress or when the same step fails three times; it waits
out a provider's rate or usage limit and continues when the limit resets
(or pauses and says so when the provider gives no time); approvals pause it;
a conversation's goal continues after Row-Bot restarts, while a channel goal
pauses.
starts, finishes or fails, and in the details card's Agents with Stop and
Message. An agent's own conversation opens with "Task from the parent
conversation" instead of its internal handoff prompt and offers a compact way
back to the parent. Agent work interrupted by a restart can be resumed or
dismissed.
Approvals Answered Where You Are
conversations and delegated agents appear in the attention indicator's list,
in Overview's Needs you, as a floating notice and in Buddy, each with
Approve and Deny in place. A delegated agent's approval can be answered in
its own conversation or in the parent's.
minutes by default, and each shows how long it has waited. A timeout set
explicitly on a workflow step still applies, and while a run waits, the same
workflow's next scheduled run is skipped and says so.
instead of letting the model try another way, its step reads as skipped
rather than spinning, and tool results tell the model whether approval was
needed, given or denied. Stop withdraws every approval the turn was waiting
on.
restart, and conversations waiting for one are marked in the sidebar.
Ctrl+Enter approves only outside text fields.
Design, Code, Terminal And Computer Use Panels
canvas with a page strip, Edit with an inspector that uses font and logo
pickers instead of raw fields, drafting from a brief in one step with
"Drafting · …" progress, add and delete pages with Undo, a Size menu (16:9,
4:3, 1:1, A4, 9:16 phone) that re-fits every page, full-screen Present,
Review with per-issue Fix and "Fix all safe issues", brand colours and fonts
"From a website", and Duplicate.
click saves into the workspace's Exports folder with Open and Show in
folder. Publish asks once, then Share shows the link with Copy, Open, a QR
code drawn locally, and Unpublish.
panel with a status strip (folder and branch) and Changes, Files, Run and
Git tabs; it opens on Changes when there are some and reads the folder
afresh each time. Shell operators such as
&&and|are explained beforea command is sent, Stop all processes ends everything the folder started,
and a missing or signed-out GitHub CLI shows the Connect GitHub card.
folder, Test, on and off, and remove; test commands that need approval use
the standard approval card.
the conversation: keystrokes, colours, history, tab completion, Ctrl+C and
Stop, a resizable height remembered per device, Ctrl+` to show or hide it,
and a full-screen sheet on phones. "Open in your terminal" opens your own
terminal app at the code folder without Row-Bot's keys in its environment.
the app, the latest picture (kept in memory only), Pause to take over,
Resume and Stop.
Workflows
follows it live until "Run finished"; New workflow opens on the page, like
Edit; Overview offers "Run again" for a failed run.
your configured channels, prefilled from your defaults; agent profile and
model pickers; Duplicate (the copy starts switched off, without a
schedule); typing
{{suggests date variables and earlier steps' results;leaving with unsaved changes asks first; a one-off time that has already
passed is refused.
secret sent as the
X-Row-Bot-Webhook-Secretheader, plus an explicit"Make reachable from the internet" that asks first.
settled as stopped at start-up instead of reading "running" for months.
Knowledge And Memory
it settle visibly, shows up to 2,000 memories by default and up to 5,000
with Show all, and searches the whole library.
Review queue, bulk select and delete, full details, Add memory and the
activity logs moved into Knowledge; Settings › Memory keeps the settings.
counts as a change to it, so agents recalling at the same time keep using
semantic recall instead of falling back to word search, and recalls no
longer rewrite wiki vault files.
<Subject>.mdnamesunder an ownership manifest, so the app only writes or removes articles it
created. A renamed memory's article is renamed with it, a clash gets a short
suffix instead of overwriting anything, and the vault status reads quickly
on large vaults.
documents" chosen beside the queue rather than the last conversation's
model.
explanation before anything is saved.
Monitor, Insights And One-Click Fixes
start and every 15 minutes; connection checks (Ollama, the Google, X and
GitHub sign-ins, and internet reachability) run hourly while "Check
connections every hour" is on, and whenever you ask. Results are kept with
their time, so tiles no longer fall back to "Not checked".
Monitor's tiles, its detail drawer, Needs attention and Overview: restart a
stopped channel, renew a Google or X sign-in, choose the default model, open
the exact Settings row, or check again.
needs you (a problem, an approval or an update) and stays quiet otherwise;
an update offer can be put off with Remind me later.
proposal says what it did, and each insight records the model that found it
and says when it may be out of date.
Devices And Remote Access
Connect a phone or computer detects the ways in (Tailscale, Same Wi-Fi, or
the internet through your public link), shows one QR code backed by a
one-time, 10-minute invitation that renews itself, waits for the device and
then shows Connected with Rename and how to install Row-Bot on that phone.
last seen in words, Rename, and Sign out, which ends every session of that
device.
live, the Tailscale share with Stop sharing, the tunnel provider and token,
and one Public line with the address, Copy and Stop.
app and never revive a revoked one. Tailscale's own consent page is linked
when it asks, a Serve conflict comes with next steps, and Same Wi-Fi is
offered only while Row-Bot listens on the network.
crash left behind are stopped at the next start, agents Row-Bot didn't start
are never touched, and Devices & remote access and Monitor report the real
tunnel state.
webhooks reach Row-Bot through the public link and are checked by their own
Twilio signature or webhook secret; every other route still needs a
session.
Connections, Plugins, MCP And Skills
GitHub and plugin setup each use numbered steps with links. Channels add
"Send a test message to me" (confirmed, one message to your own account),
WhatsApp shows its live QR code and Reset session, a channel that needs a
public address opens the tunnel and shows "Reachable at ", and X
shows its callback address with Copy.
Monitor, stored Check results, and Google's short-lived access tokens and
X's expiry read correctly.
review (version, source, checksum, permissions and disclosures) and run only
after you confirm. Marketplace downloads require the index's checksum and
verify it, remote index entries download their source archive, plugins that
run in their own worker get a reviewed Prepare step, and a plugin that fails
to load says so.
values and headers as masked name and value rows; "Add and connect" saves,
tests, accepts tools, turns the server on and connects, stopping at the
first step that needs you. Enable in chat is on the MCP page, the Node.js
runtime install recovers from an interrupted install, and saved servers
connect reliably.
the browse index, sources are read in parallel and partial results show as
they arrive); a skill opens in its own dialog with Install, and new skills
are available in chats by default. Skills created or edited in Settings
reach the agent without a restart.
Settings And Your Data
Capabilities, Connections, System) with 19 pages and a search over pages
and individual rows.
· Undo"; the Save and Revert buttons are gone except for typed credentials
and editors such as a custom endpoint or MCP server. Unbinding a resource and
dismissing an insight can be undone too, and Settings shows times, states
and names in words rather than raw dates and ids.
the workspace's Backups folder, without keys, sign-ins, sessions, caches,
logs or runtimes, with webhook secrets and MCP headers and environment
values blanked, and lists what to set up again. Restore from backup, in the
desktop app, checks the archive (a foreign, newer or unsafe one is refused),
applies it at the next start, keeps the current profile aside in
before-restore-<time>and rolls back if anything fails.Chromium with scripts off and every request refused, or as a text PDF when
Chromium isn't installed.
in its usual folder or picked in the desktop app, with Select all and Clear
all.
Row-Bot itself left behind, by exact name pattern and age only.
Reliability, Security And Privacy Fixes
secret is empty no longer runs for any caller; the secret can travel in a
header instead of the address, while existing
?secret=addresses keepworking and a request carrying two different secrets runs nothing.
longer written to
row_bot.login plain text.secrets, keys and sign-ins are saved as Windows-protected (DPAPI) records
for your user instead of failing; Row-Bot never falls back to plain text.
folder, so an upgrade never leaves a removed module behind.
a source checkout instead of leaving them running.
titles are fixed, and a past one-off schedule no longer fires on save.
database every minute.
document index retry while Windows briefly holds a file that was just
written.
Row-Bot now names itself and sends the session id OpenCode Go requires on
every model route. The id is a private value per conversation, never the
conversation's own id. OpenCode Zen requests carry the same headers.
processing alike, now identify Row-Bot as the app (its website address and
name, as OpenRouter asks apps to) instead of LangChain, which lets OpenRouter
show Row-Bot in its public app rankings. No user, prompt or account data is
added.
advisory), soupsieve 2.10, and image-size 2.0.4 in the client toolchain.
Testing, CI And Release Pipeline
sharded on Linux, beside static checks, the client checks, a Windows (Python
3.13) and macOS platform lane and a Chromium browser smoke, with one
CI / ci-okresult; slow tests run nightly.Windows and macOS, the browser nightly set at desktop and phone sizes, a
Linux package smoke and the docs reference check; installer verification
and Firefox and WebKit smokes weekly.
CI / ci-ok,runs the nightly suite only if that commit has no green nightly run, and
each Windows and macOS build install-smokes its own package.
the network, a missing snapshot fails instead of being recorded, the strict
app smoke requires
/to reach the React app, and low-value andbookkeeping tests were removed.
Documentation And Website
with screenshots captured from it, and the generated reference pages read
the client's settings pages and Home tabs directly.
AGENTS.md,CONTRIBUTING.md, the architecture,source layout and client platform guides describe the React client, the
FastAPI server and the new test lanes.
Upgrade Notes And Breaking Changes
--legacy-uiand--client-v2are deprecated no-ops that log a warning andopen the React app. Bookmarks to
/keep working; addresses that only theold interface served open Home.
Design or Developer panel (Home's Designer and Developer tabs and the
separate studios are gone); the Activity Center is replaced by the
attention indicator, Overview's Needs you and the conversation details card;
agent profiles live in the sidebar's Agents dialog; Settings › Utilities is
now Settings › Tools; Remote Access is Settings › Devices & remote access;
Google is under Accounts; migration is under Data; goals are set in the
conversation. Old Settings links redirect to the new pages.
Home › Knowledge; Settings › Memory keeps memory on and off, extraction,
graph health, the wiki vault and Delete all knowledge.
version keeps the models it was effectively using: the old presets it ran
on are written once as its own choices. Values you saved are never changed.
A new profile chooses its first model in the first run.
in earlier versions and saved settings kept that default. The first start of
5.0.0 turns it on once and says so ("Developer tools are now on · Settings ›
Tools"); if you want it off, turn it off again and it stays off. Its actions
keep their approval gates.
articles in place, under the same names, so Obsidian links keep working.
Vaults written by pre-release builds with
entity-<hash>.mdnames get onereadable article per memory, and the hashed copies move to
raw/.row-bot-retired/hashed-names-<date>/. Nothing is deleted, andhand-edited old articles are left alone and listed for review.
pending approvals keep their expiry); new goals have no turn limit (existing
goals keep theirs).
longer runs; save its trigger again to generate a secret. Prefer sending the
secret in the
X-Row-Bot-Webhook-Secretheader.Ollama, the Google, X and GitHub sign-ins, and internet reachability (a
connection to 1.1.1.1 on port 53). Turning off "Check connections every
hour" in Monitor stops them, along with the periodic account sign-in checks.
longer be downloaded; a plugin that runs in its own worker and reads "Needs
preparing" needs Prepare once.
(
/api/v1/events,text/event-stream) unbuffered. The Caddy example dropsstream_close_delay. The old interface's internal routes (/_nicegui…,/_media/,/api/voice/local,/api/client-error) are gone; scripts usethe authenticated
/api/v1API.remain), Realtime voice diagnostics, the Designer's zero-state quick
actions, its separate command palette (⌘K lists design commands) and its
references list (the conversation's attachments are the references).
frontend/dist; build it once with Node.js 24.15 or later and npm 11(
npm cithennpm run buildinfrontend/). Installers and Docker imagesalready contain the built client.
launcher.lock(held while Row-Bot runs),system_health.json(Monitor's kept checks), backup state, andbefore-restore-<time>folders after a restore.Known Issues And Deferred Work
will be reworked, and Claude subscription is planned to move to the Claude
Agent SDK using your own Claude Code sign-in, in later releases; 5.0.0 keeps
the current sign-ins. Image generation through the ChatGPT subscription is
not offered, because OpenAI's route for outside apps doesn't support it.
agents that turn started; stop them from the details card's Agents.
the app, as a floating notice and in Buddy, but not as an operating-system
notification when the window isn't focused.
models.
with your connected GitHub account comes in a later release.
generating, and a missing image model gives a generic error; both come with
the Buddy revamp after this release.
retained version and candidate link; there is no pruning yet.
a missing ffmpeg (Dictate names the problem), and voice mode doesn't speak
the combined answer of an agent orchestration.
next check, and a workflow run that asks for a second approval after an
approved step can read "running" while it waits.
This discussion was created from the release v5.0.0 - New React App, Conversation-First Workspace & One-Click Fixes.
All reactions