Skip to content

vibe 0.1.211

Choose a tag to compare

@github-actions github-actions released this 10 Nov 08:41
6ece5ca

Markdown blocks, theme selector and syntax colouring in the conversation; docs moved to ADRs (#21)

Summary

What the agent hands over to be pasted (a PR description, a commit message) now arrives as something you can copy cleanly, and the conversation looks better. The branch also turns the finished plans into ADRs and does two small cleanups.

Conversation page

  • Markdown blocks. A fenced block tagged markdown is drawn as the Markdown it is, and its button copies the raw source. A block that holds a code block of its own (fenced with four backticks) nests properly, and the inner block copies just its code.
  • copyable-blocks base feature. Tells the agent, in every guided sandbox, to put text for the user to paste in one fenced block and say the rest outside it. Its short rule heads the instructions an agent always loads: a fresh agent ignored it when it was only in the read-when-relevant kit text.
  • Theme selector at the end of the power menu: System / Dark / Light. The choice is kept in a cookie, so it is host-wide, and open pages follow a change within a few seconds.
  • Syntax colouring of fenced blocks that have a language tag, through a new POST /api/highlight (token only, no repo) using the highlighter the Review tab uses. Only tagged blocks are coloured, and a block over 200 KB or 5,000 lines stays plain, with a notice saying why. Copying a block still gives plain code. Entities (&) and diff blocks are coloured too.
  • Fix: New conversation stays at the right of the conversation bar when the status text beside it nearly fills the line.
  • Review tab: going to a comment on a file the held diff doesn't have now says the page is behind, but only when the code really has changed since the diff was taken.

Docs and cleanup (no user-facing change)

  • ADRs. Eleven built plans are now ADRs in docs/adr/ (date-stamped names, with an index). Plans only partly built were split: the built parts are in the ADR and what is left is a smaller plan (headless nice-to-have, review-tab enhancements, NuGet and npm, parallel sandbox update, sign-in next steps). Each ADR names the plan it replaced as a working git show <sha>:docs/plan-x.md. Remaining plans' status lines were corrected, and code comments that cited deleted plans now cite the ADRs.
  • One wait for a sandbox to take a command (waitUntilReachable). WaitReachable and the loop at the end of Start were near-copies; they are now one, bounded by a duration the caller passes in and names (reachableToRestore 120 s, reachableToNudge 180 s, startTimeout 60 s). The times differ on purpose.
  • Removed the migration of what earlier vibes kept (claude-theme, git-author, model and effort in settings.yaml): about 23 releases have passed, as the plan said to wait for. A stray old file now counts as an edit to the profile. The user-preferences file is unchanged, and the profile hash format is byte-identical.
  • Test tooling: jsdom 24 to 30 for the page tests (this supersedes Dependabot #14). Master is merged in.
  • A plan for getting files (screenshots, traces) out of the sandbox, not built.

Testing

  • go test ./... and make pass. The jsdom page tests and the real-Firefox tests pass in CI on Linux, macOS and Windows.
  • The wait unification has a test that fails if the limit stops being a duration, and the cleanup has tests that pin what is no longer read.
  • Tried by hand: markdown and nested blocks with fresh agents (including a Usage example in a PR description), the theme in two tabs, Go colouring, and plain copy-out.
  • Not tried by hand: the new wait on a real start of a stopped sandbox, beyond the sandbox that was rebuilt for testing; and the nested-fence rule with an agent is one run, not several.

Closes #14 (jsdom 30 supersedes it).


To install:

  • Linux/macOS: curl -fsSL https://raw.githubusercontent.com/fluffynuts/vibe/master/install.sh | sh
  • Windows: irm https://raw.githubusercontent.com/fluffynuts/vibe/master/install.ps1 | iex
  • Manual: download the zip for your platform (below), unzip it anywhere, and run
    vibe --install from the folder it makes.

To upgrade, run the same command again, or vibe --upgrade once vibe is installed.

Platform Zip
Linux (x86-64) vibe-linux-amd64.zip
Linux (ARM) vibe-linux-arm64.zip
macOS (Apple Silicon) vibe-macos-arm64.zip
macOS (Intel) vibe-macos-amd64.zip
Windows (x86-64) vibe-windows-amd64.zip
Windows (ARM) vibe-windows-arm64.zip

SHA256SUMS holds each zip's checksum. The install scripts and vibe --upgrade check it.

macOS: the binary isn't signed, so if it's blocked after downloading in a browser, run
xattr -dr com.apple.quarantine <folder> once.

What's Changed

  • Markdown blocks, theme selector and syntax colouring in the conversation; docs moved to ADRs by @fluffynuts in #21

Full Changelog: v0.1.209...v0.1.211