All releases
Release notes

Orbit Pi v0.0.10

Release on GitHub

Added

  • Explorer — a Zed-style file-and-folder explorer for the active workspace. A left project panel (cmd-shift-e, top-bar folder toggle, or the ⌘P row) renders the workspace as a virtualized tree: expand/collapse, case-insensitive filter, a hidden-files toggle, devicon glyphs, M/A/D/R/U git-status badges, and keyboard navigation (arrows, home/end, cmd-←/cmd-→, enter/space). The walk is gitignore-aware (nested .gitignore/.ignore, global and repo excludes; symlinks never followed) and runs off-thread with a bounded entry cap surfaced honestly as "truncated". Right-clicking a row offers Open, Open in Default App, Reveal in File Manager, and Copy Path / Relative Path. Clicking a file opens a full-page Files editor: a tab strip over syntax-highlighted code with line numbers, editable Markdown (with an Edit/Preview toggle), or an image, with a path/size/line-count toolbar and a save-status chip. Code, text, and Markdown files are editable and autosave to disk (debounced; cmd-s saves now); unsaved tabs carry a dot, and external changes are flagged rather than silently overwriting edits. Binary files, oversized files (2 MiB), truncated files, non-UTF-8 files, and directories get an honest notice instead of a lossy dump, and never enter the editor. The workspace watcher refreshes the tree and the open file on change. cmd-w closes the active tab (the last tab, or cmd-shift-w, closes the surface), and the toolbar X returns to the chat.
  • Editing — the Explorer's editor (and the chat composer) supports undo/redo (cmd-z / cmd-shift-z), where a run of typing within 400 ms coalesces into a single undo step and a caret move starts a new one. History is bounded by both step count and total bytes so a whole-file buffer cannot balloon memory.
  • Explorer file operations — create, rename, and delete files and folders from the project panel. New File and New Folder sit in the panel header and in a directory's right-click menu; Rename edits a row's name in place; Delete asks first and moves the item to the OS Trash on macOS (permanent delete elsewhere, with the confirmation worded to match). Names are validated before anything touches disk, a create never clobbers an existing file, and a rename refuses an occupied name. An operation is refused while an open Files tab under the target has unsaved edits, so it can never race an autosave or silently discard a buffer; a renamed file's open tab follows the new path, and a deleted one closes.
  • More code fonts — the Code font picker now offers seven more bundled faces alongside the existing set: DM Mono, IBM Plex Mono, Inconsolata, Noto Sans Mono, Space Mono, Anonymous Pro, and Martian Mono. Like the rest of the catalog they ship as subset static TTFs, so a picked face resolves without an OS dependency.

Fixed

  • Explorer rows now fill the panel width, matching the Review pane's file tree. The selection/hover highlight no longer collapses to a narrow pill around the devicon, and git badges align to the right. This also fixes the inline rename and new-file prompts, which rendered as an empty bubble: the prompt input is a ComposerInput, which has no intrinsic width, so on a content-sized row its flex_1 collapsed to zero. A regression test renders the real panel and asserts the prompt input keeps a usable width.
  • The Explorer's row context menu opens at the pointer, flipping above/left when it would overflow the window. It was pinned to the panel's top-left, so a row's menu always appeared at the top of the tree regardless of where the row was right-clicked.
  • Closing a file tab keeps keyboard focus inside the Files surface: it moves to the newly active editor, or to the surface itself for preview/read-only tabs, instead of being dropped with the removed editor. Previously focus was lost after the first close (when the next tab did not paint an editor), so cmd-w stopped working. Closing a tab to the left of the active one also selected the wrong neighbour.
  • Search and filter placeholders (provider, model, settings, plugins, skills, side pane, git panel, usage, in-transcript find, branch/workspace pickers) now follow a language change immediately instead of keeping the language they were created in. Placeholders are resolved from translation keys at paint time.
  • With no saved language preference, System now walks the OS's ordered preferred-language list and picks the first language Orbit ships (falling back through unshipped choices such as Hindi) instead of defaulting to English. The macOS bundle also declares its supported localizations.
  • The setup page's dependency descriptions follow a language change without re-probing the host.
Previousv0.0.9Nextv0.0.11