Skip to content

factorai v0.9.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 09:40
2c719d3

Files

JSON files are syntax highlighted. They rendered as grey plain text, with Plain Text in the viewer's footer — every package.json, tsconfig.json and .claude/settings.json you opened. JSON turned out to be the one common language Monaco's basic grammar set leaves out: css, html, javascript and typescript are all there, but JSON ships only as a full language service, so the viewer had never heard of the extension at all.

It is registered by hand now, with just the tokenizer attached — highlighting and nothing else. No autocomplete, and deliberately no validation: red squiggles on a file you are reading rather than editing are noise, and a config with comments in it is not broken. .jsonc and .json5 are recognised too, and their comments are highlighted as comments.

Sessions

The session header shows which git branch you're on. A quiet marker between the project name and the session title, for when the answer to "what is this agent working against" matters. It is absent rather than empty when the project isn't a repository, and a long branch name truncates instead of shoving the close button around.

It reads the repository on its own schedule rather than borrowing the Changes tab's, so the badge is there whether or not the right panel is open, and it doesn't put a working-tree walk every few seconds behind every session you have open.

Reliability

A crash shows you the crash. An error while rendering used to leave an empty window: no message, and no address bar to reload from. There is now a screen carrying the error, where it happened, and three things to do about it — reload, copy the details, or open a prefilled issue.

Two things it is explicit about. Reloading keeps your sessions running — the agent processes survive it — but the terminal scrollback is cleared, and the screen says so rather than letting you find out. And the issue button opens a GitHub page in your browser with the details filled in; nothing is sent anywhere. You read it, edit it, and decide. factorai still has no telemetry, no analytics and no crash reporting service.

Interface

Buttons, inputs and selects are sized for a desktop app. The shared components still carried the stock web sizing they were vendored with — noticeably too tall for a dense tool, which is why + New session looked oversized. Six places in the app had already been quietly overriding the height by hand; the scale now matches what they were reaching for, and most of those overrides are gone. Inputs and selects moved with the buttons so rows containing both still line up.

Under the hood

  • An untagged development build now says so in its crash report, rather than reporting a version that was never released.
  • The dev QA scripts had a coordinate bug that made every scripted click land a row low, and put the top of the window out of reach entirely. Documented, with the fix queued.

Installing

macOS — the .dmg is unsigned, so Gatekeeper blocks it on first open. Clear the quarantine flag after copying the app across:

xattr -dr com.apple.quarantine /Applications/factorai.app

Linux — the .AppImage needs glibc 2.39 or newer (Ubuntu 24.04+, Debian 13+, Fedora 40+). chmod +x it and run it.

Already running factorai? It will offer this version itself — the update badge appears in the header.

Full Changelog: v0.8.0...v0.9.0