factorai v0.12.0
The Graph tab reads as people and places
The rail was lines and dots. It now says who did what, and where a branch lives.
- The commit node is its author — a coloured disc carrying their initials, so scanning a history for "the ones I did" stops needing a click per row. Derived locally from the commit's author email; nothing is fetched from Gravatar or GitHub, because that would mean sending the author identities of every repository you browse to a third party, from an app that otherwise only reads local files. On a busy history with tightly packed lanes the disc gives way to a plain dot, since 18px of avatar would cover three lanes and the rail exists to be traceable.
- Refs are badges, and the icon says where the ref lives — a laptop for a local branch, GitHub's or GitLab's own mark for a remote one, a tag for a tag. The forge is read from
origin's configured URL; it is a config read, not a request to anyone. - Long branch names stop pushing the subject off the row. A chip is capped and truncates, and the full name is on the hover card.
- The hover card opens under the row, inside the panel. It used to open leftwards, over the terminal — and being wider than the panel, it got shoved further left still.
- Uncommitted work is a row of its own, above
HEAD, dashed because nothing in it is a commit yet. It carries the file count, and clicking it opens the Changes tab. Previously this was a hollow dot: a filled and a hollow circle differ by a few pixels at that size, and neither said what to do next.
Fixes
A session's PATH is the login shell's, not the GUI process's. Launched from Finder or an application menu, factorai inherits an environment that never sourced your shell config — so Homebrew and every version-manager shim were missing. Three unrelated-looking symptoms had this one cause: SessionStart hook errors reporting bash: command not found, /mcp failing to reconnect stdio servers, and a statusline rendering nothing. The PATH is now asked of your login shell once at startup and cached.
A dependency pin no longer disagrees with the lockfile. pnpm install --frozen-lockfile is what CI runs first and what nothing local reproduced; it now leads the contributor gate.
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.11.0...v0.12.0