Axon v1.3.4
Axon v1.3.4 is an architecture and responsiveness release. It separates terminal
process ownership from the editor Core, introduces a shared buffer engine for
fast file reopening, limits expensive language work on very large documents,
and completes the built-in Markdown experience. It also closes reliability gaps
around managed language tools, Python environments, workspace watchers, and
multi-window command-line launches.
Terminal architecture and delivery
- Terminal sessions now belong to a dedicated
axon-pty-hostprocess instead
of Axon Core. Core can recover without terminating active shells or discarding
their scrollback. - Packaged macOS and Linux builds use owner-only Unix sockets for PTY control,
while Windows uses owner-scoped named pipes. High-volume output remains on a
separately authenticated local stream. - Terminal tickets are bound to the renderer-approved workspace root, and
reconnect attempts cannot reuse a session from another workspace. - Unexpected Core exits produce an explicit recovery choice when live terminal
sessions are at risk instead of silently restarting underneath the user. - Byte delivery and xterm commit latency are measured without recording terminal
content, making stalls diagnosable without weakening terminal privacy. - Detached scrollback receives coalesced viewport repainting after committed
writes, preserving the user's reading position while keeping older output
visible as new agent output arrives.
Files, buffers, and workspace speed
- Workspace search prefers cancellable ripgrep JSON output, stops as soon as the
result limit is reached, validates every result against the workspace, and
falls back to the Go walker when ripgrep is unavailable. - Nested ignore files, global Git excludes, generated directories, and Python
environments identified throughpyvenv.cfgare honored without relying on
a small hardcoded list of environment names. - Large files use a shared policy at 2 MiB or 20,000 lines. Axon disables costly
whole-document services, bounds find results, and uses lightweight lazy syntax
tokenization while retaining useful JSON and common-language coloring. - Semantic token merging now uses ordered linear passes instead of repeated
overlap searches, preventing large documents from triggering quadratic work. - The Axon Buffer Engine adds a process-wide validated text cache, deduplicates
concurrent reads, retains clean Monaco models within a byte budget, and
prefetches likely files from explorer hover and pointer interaction. - Monaco mounts against the real path-backed model immediately, avoiding the
empty one-line flash when reopening a cached file. - Native recursive watching begins before the broader watcher finishes scanning,
so deep files created by agents appear quickly. Explorer refreshes target the
affected expanded folder, and Git keeps one trailing refresh when events arrive
during an active status request.
Language tools and Python projects
- Managed archive extraction now reports continued byte progress, propagates
cancellation through ZIP, TAR, XZ, and gzip paths, and cleans abandoned staging
directories without blocking the active install promise. - Large macOS ZIP packages use validated native extraction outside Electron's
main process with a phase-aware watchdog, preventing legitimate large entry
flushes from being mistaken for a frozen installer. - Language servers warm from loaded files after installation, queue document
synchronization while starting, flush it after initialization, and remove
failed sessions so refresh or retry can create a clean process. - JVM servers receive realistic cold-start and hover budgets, while the UI keeps
them in a starting state until initialization and workspace indexing complete. - Python discovery finds arbitrary environments through
pyvenv.cfg, examines
relevant nested projects with bounded traversal, and consults Poetry, Pipenv,
uv, pyenv, Conda, active virtual environments, and the system PATH only when
applicable. - Axon automatically selects a valid project environment, exposes both its folder
and canonical interpreter, and supplies Pyright with real import and editable
source paths. - Nested backend or core workspaces can discover unambiguous sibling environments
up to three ancestor levels away, while ambiguous candidates remain a manual
choice instead of being selected by filesystem order.
Markdown, MDX, and editor workflow
- Markdown previews render Mermaid diagrams lazily with strict security,
theme-aware colors, bounded graph complexity, serialized rendering, and compact
errors that do not break the rest of the document. - Fenced code uses Monaco tokenization, math uses KaTeX, and previews support GFM
footnotes, frontmatter metadata, bibliography citations, callouts, wiki links,
and source-editing task checkboxes. - Source and preview scrolling stay synchronized without feedback loops. Printing
and PDF export run through an isolated script-disabled Electron window. - Raw HTML and static MDX are sanitized through an allowlist that blocks scripts,
embedded executable content, event handlers, and unsafe links. - Preview controls now work consistently for
.md,.mdx, and.markdown. axon .requests are captured before Electron readiness and routed to the
correct renderer window. New terminals also work in secondary windows that do
not yet have a workspace by starting from the user's home directory.- Save dispatch is cancelable and coalesced, preserving edits made during
format-on-save while keeping a cached-model fallback when no editor is mounted.
Interface and extension development
- Editor components, libraries, and tests are grouped by navigation, panes,
surfaces, tabs, buffers, formatting, Git, language, layout, and inspection. - Passive borders are quieter across dark themes, including Axon Black, while
light themes retain their authored contrast and focus borders remain distinct. - The native Electron background, boot splash, pre-React renderer shell, and
Windows titlebar overlay use the saved theme palette from a tiny startup cache.
Startup remains opaque and lightweight. - The project documentation now reflects the PTY host and current editor
architecture, with working examples for themes, language metadata, snippets,
runtime commands, terminals, debugging, indexing, and disposal.
Included commits
209d5dethroughe5fcba6protect terminals, bind workspace ownership, add
latency diagnostics, isolate the PTY host, and secure its control channel.5c29d44andf041b94add cancellable, project-aware workspace search.c1cfcac,8b6b3df, and517af11stabilize language-tool extraction and
activation.d193145,03c6016,3f4d880, and0c8c4f0complete Python environment
discovery, selection, import resolution, and nested-workspace handling.fd730b9,efcc9e3, andc19380aimprove large-document performance and add
the Axon Buffer Engine.4507417keeps explorer and Git state current during external writes.0e810fe,b636689, and3903a2ecomplete Markdown rendering and terminal
scrollback repainting.fa7c721restores MDX preview and multi-window command-line workflows.34457a9,8868d8d, and607c527organize the editor, soften dark borders,
and make startup theme aware.