Skip to content

olwb 2.0.0

Latest

Choose a tag to compare

@TGPSKI TGPSKI released this 26 Aug 09:46
v2.0.0
5fcf466

Added

  • Instant liners: > olwb -i and Alt-Shift-i open a memory-only liner
    whose captures can use selection, send, export, and issues workflows.
    /save <name> promotes it; switching liners, closing, resuming, or exiting
    discards it without changing durable active-liner state.
  • Explicit entry modes: bindable launch, resume, and instant Lua
    functions default to Alt-o, Alt-Shift-o, and Alt-Shift-i without
    overwriting existing user bindings.
  • Per-invocation autostart: a non-empty OLWB_AUTOSTART opens olwb for one
    micro process, including file-backed launches, without persisting the option.
  • Open-view queries: /open candidates now accept repeated label:
    tokens (ANDed against liner labels) plus case-insensitive text matched
    against liner names, ids, and descriptions.
  • Command aliases: every top-level slash command has a collision-checked
    single-letter alias shown beside it in the live /? menu and help.
  • Errors in the feed: workflow failures (/send, /issues draft,
    /issues file) now land as persistent ⚠ error-labeled messages — in the
    destination's into liner, the issues liner, or a fallback olwb-errors
    liner — carrying full stderr, kept evidence paths, any partially-filed
    issue URLs, and the retry command. The info bar still flashes the short
    version.
  • Failure evidence kept: failed issues jobs save full stderr to
    <datadir>/issues/<id>.err.log and record last_error/last_error_ms on
    the manifest (cleared on a later success); /issues list shows the last
    error under each draft.
  • Progress indicator: background jobs show an animated spinner in the
    bottom bar (and the /issues list overlay) with what is running and
    elapsed time, e.g. ⠹ filing 7 issue(s) on o/r 12s, driven by a
    main-state-safe sleep ticker.
  • /issues open [<id|latest>]: opens a draft's filing script in a new
    tab for the review step — editable, saveable, no more retyping the path
    from the /issues list overlay.
  • Label preflight: generated filing scripts create any missing labels
    (create-if-absent, never --force) before the first gh issue create,
    so a label the drafting model invented no longer aborts the whole run.

Fixed

  • Shared destination sessions: state.json saves now lock and merge
    per-key dest_sessions changes, preserving additions and deletions made by
    other micro instances using the same data directory.
  • Async sends: stale-session retries reuse the original payload and
    provenance; completion clears only the selection sent by that attempt, so
    edits and selections made while it runs survive.
  • Issue filing: /issues file refuses a second invocation while an issues
    job is running, preventing duplicate GitHub issues.

Changed

  • Bare input without a liner: submitting text with no active liner now
    turns it into a live /open query for Tab selection instead of creating a
    notes liner and storing the text there. Slash commands and input within an
    active liner keep their existing behavior.

Docs

  • CONTRIBUTING.md: external contribution policy — trivial
    comment/docstring-only PRs are not merged; deeper contributions (multiple
    issues, code, behavior changes) are welcome.