Skip to content

peerd-preview-v0.7.1

Choose a tag to compare

@github-actions github-actions released this 16 Aug 16:46
· 9 commits to main since this release
900efe5

Changed

  • The extension runtime is substantially lighter to start. The MV3 service
    worker now loads exact background and offscreen module surfaces instead of
    whole-module barrels, and Acorn-backed toolbox validation no longer sits in
    the Chrome service worker's cold graph. That static graph drops from about
    4.63 MB to 2.02 MB, and the combined service worker and offscreen cold graph
    drops by about half, so the worker wakes with far less to parse.
  • Release staging compacts authored cold-path JavaScript in the disposable
    packaging tree only, preserving modules, names, lazy imports, and vendored
    bytes. Development is unchanged and still runs the source directly with no
    build step.

Fixed

  • Privileged UI, keepalive, local-model, and toolbox-parser messaging is now
    pinned to the exact document that owns it, so a message cannot be answered by
    a surface that was never meant to handle it.

Added

  • Apps and Notebooks now have browser-native Git history, branches,
    checkpoints, restore, diff inspection, and consent-bound Smart HTTP remotes.
    Repository operations quiesce live editors before touching the working tree.
  • Pods add an ephemeral, isolated WASI shell for agent-driven command and file
    workflows. Cancellation, timeout, workspace ownership, and teardown are
    explicit terminal states rather than best-effort background cleanup.
  • The preview dweb gains the cryptographic and runtime foundation for
    same-person device enrollment and private state restoration: rootless device
    grants, device certificates, private rendezvous, authenticated snapshot
    transfer, live custody wiring, and bounded partial-result reporting. The
    rendered enrollment controller and canonical hosted ceremony remain explicit
    release gates, so this is not presented as an end-user enrollment feature yet.
  • Provider onboarding now verifies key shape and readiness before activation,
    with a first-run flow that does not reappear on established installations.
  • On-device WebGPU inference now supports more than one model. The engine,
    residency tracking, chat picker, and Settings cards are driven by a model
    registry instead of a single hard-coded model, so a new on-device model is a
    registry entry rather than engine surgery. Weights already downloaded on an
    existing install continue to be recognised without re-downloading.
  • Muse Glimmer 30B runs on-device via a second local engine: the Muse Glimmer
    WebGPU GGUF runtime (custom WGSL kernels, from the webml-community Space,
    vendored with provenance and hash-locked). The engine streams the ~12.4 GB
    Q2_K_XL GGUF from Hugging Face, caches it in IndexedDB, splits the model's
    reasoning channel out of the visible stream, and reports the effective
    context window it enforces to the trim layer. Which runtime a model needs is
    a registry fact (engine on the model spec), and each model's support
    verdict comes from its own engine's check, before any download.

Changed

  • The composer, confirmation card, Stop state, onboarding, and narrow-sidebar
    layouts share the refreshed monochrome interaction system, with restored
    focus, clearer recovery actions, and expanded screen-reader coverage.
  • App history and remote operations use the same mutation lanes and recovery
    contracts as the underlying OPFS workspace, including immutable approval
    targets and cleanup of repository data when an App is deleted.
  • Self-device state transfer uses strict versioned schemas, authenticated
    unavailable-surface rows, deterministic byte identities, bounded caches and
    retries, and fail-closed completeness accounting.
  • Release automation, dependency observation, package integrity, Firefox
    validation, and update-feed monitoring use tighter provenance and lifecycle
    gates.
  • A local model download is refused up front when the vendored runtime cannot
    load its architecture, when another model is already downloading, or when the
    model id is unknown, each with the reason, rather than a failure mid-transfer.
  • One on-device model is held in GPU memory at a time; requesting a different
    one unloads the previous model first and loads from cache, never silently
    answering from whichever model happened to be resident.

Fixed

  • Closed portable-identity substitution, root-custody, revocation rollback,
    extension-origin, roster propagation, stale-offer, false-success, and
    post-cancellation mutation gaps found during adversarial review.
  • Git remote approval can no longer authorize one origin and operate on a
    concurrently replaced origin; recent Notebook edits are flushed before
    version operations.
  • Edited Apps receive a new byte-derived transfer identity, so a later restore
    cannot mistake changed content for an already-installed retry.
  • Browser and actor lifecycle recovery now fences cold-start egress, private
    navigation, sign-in transitions, host loss, and stale async completions more
    consistently across Chrome and Firefox.
  • Provider readiness survives worker restarts, preview updates avoid disrupting
    active work, and established vaults no longer regress into first-run setup.
  • Passkey signup could stall right after the biometric prompt: the first
    message from the UI could reach the service worker before its route
    dispatcher had registered, and the browser could then retire the worker with
    that message still unclaimed. Early messages are now held until the
    dispatcher is ready.
  • Settings no longer hides a configured Ollama provider during a temporary
    outage, an available local WebGPU host can be chosen as the default, a
    locked vault offers a direct unlock instead of misleading fallback copy, and
    the Ollama recovery commands are safe to copy and paste.
  • An invalid Pod URL now reaches its visible failure state instead of leaving
    the tab in an indeterminate one.
  • A queued focus restore in the Library could land long after the interaction
    that scheduled it and steal focus from whatever had claimed it since. Only
    the newest restore now acts, and it moves focus only when focus is orphaned
    or still parked where that restore left it.

Install (preview): Firefox: click the .xpi on this page. Chrome: drag
the .crx into chrome://extensions with Developer mode on. Most users
want the store packages (see the README). The auto-update feeds are
attached here and served at peerd.ai/updates/.