FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Tags · openbootdotdev/openboot · GitHub

Tags: openbootdotdev/openboot

Tags

v1.0.0

Toggle v1.0.0's commit message
OpenBoot v1.0.0 — install + snapshot, two verbs

v0.66.6

Toggle v0.66.6's commit message
Auto-release: 15 days since v0.66.5 with new commits

v0.66.5

Toggle v0.66.5's commit message
Auto-release: fix present (patch fast lane)

v0.66.4

Toggle v0.66.4's commit message
Auto-release: fix present (patch fast lane)

v0.66.3

Toggle v0.66.3's commit message
Auto-release: fix present (patch fast lane)

v0.66.2

Toggle v0.66.2's commit message
Auto-release: fix present (patch fast lane)

v0.66.1

Toggle v0.66.1's commit message
Auto-release: fix present (patch fast lane)

v0.66.0

Toggle v0.66.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix(tui): correct the v5 UI where real use disagreed with the mock (#150

)

* fix(tui): make the wizard palette follow the terminal, not a design mock

The Redesign v5 tokens were a 10-step hex grey ramp drawn against a
#08080a mock and hardcoded. Measured against a translucent terminal
(effective background lifted to ~#2b4247 by the wallpaper behind it),
the bottom half of that ramp collapsed into the background:

  cDim3 #3f3f46 -> 1.0:1   cDim2 #52525b -> 1.4:1
  cDim4 #3a3a41 -> 1.1:1   cFaint #2e2e34 -> 1.3:1

1.0:1 is the background's own luminance — no terminal can draw that as
visible text. Pending pipeline rows, sidebar counts and the status-bar
key hints were simply gone. (Rolling back would not have helped: v0.63's
own greys measure 1.1:1 / 1.4:1 / 1.9:1 on the same terminal. It only
looked better because it left most text at the terminal's default
foreground — which is exactly the property being restored here.)

The text ramp is now the terminal's own ANSI palette (15 emphasis /
7 body / 8 decorative), which the user's theme guarantees is legible
against the background they actually chose. Brand and status hues stay
hex — they measure 4.4-6.1:1 on the same terminal and they're the
product's identity.

Two follow-ons from the same rule:
- pipeline rows keep a readable label; the glyph and its hue carry the
  state. A label faded toward the background reads as missing, not as
  pending.
- hover uses reverse video instead of a painted background. Any colour
  we picked would be a guess about theirs; the design's #3d3d4a sat at
  1.2:1, so the highlight was a no-op exactly where it was needed.

A test pins the ramp to ANSI indices so a hex grey can't creep back in.

* refactor(tui): the wizard plans, the scrollback shows the install

The v5 redesign unified the scattered planning prompts into one
full-screen flow — that part was right, and stays. It then carried on and
made the *apply* full-screen too, which was wrong: an alt-screen install
takes its own output with it when it exits.

Measured on a real run: 24 lines of live install detail on screen, and
after the program exits, a blank terminal. Twenty minutes and forty-eight
packages, and the only remaining trace of which three failed is a log file.
The footer's "everything is logged to ~/.openboot/logs" was not a
convenience — it was the design apologising for having thrown the record
away. openboot is a command you run once per machine, not an app you live
in; its output belongs in the scrollback, where it can be scrolled back,
copied into an issue, and piped.

So the wizard now stops at the plan. Confirm returns the reviewed
InstallPlan, the alt-screen tears down, and the CLI applies it via
installer.ApplyReviewedPlan on the normal terminal — ConsoleReporter and
the sticky progress bar, which pins the current package to the bottom
while results scroll past above it. Live progress and a permanent record,
which is what the pre-v5 flow got right.

Falling out of it, all of which were alt-screen workarounds:

- plan.Silent is no longer forced on. It only existed to keep huh prompts
  from painting over the TUI, and it gated out the npm-retry confirm and
  the screen-recording reminder as collateral. They work inline again.
- post-install runs in place as Step 8 with its own preview and confirm.
  splitPostInstall / RunPostInstallAfterTUI are gone.
- ShowScreenRecordingReminderAfterTUI is gone: showCompletionFromPlan
  already does it, and now it's reached.
- the "What was installed" breakdown is back. The wizard's log dropped
  Header/Info lines, so it had never been visible there.
- RunPipeline, PhasesForPlan, PlanForConfig and the whole progress-event
  bridge (~650 lines) are gone with the screen they fed. The wizard no
  longer imports the install engine at all — only brew/npm's read-only
  probes for the boot scan.

StickyProgress keeps the abort lifecycle the wizard had earned, instead of
reverting to its old os.Exit(130) from a signal goroutine: the first ctrl+c
stops the bar and lets the cancelled context unwind the install (ApplyContext
gates every remaining step on it), and only a second one force-quits — which
must stay reachable, because signal.NotifyContext swallows later SIGINTs
once it has fired.

v0.65.1

Toggle v0.65.1's commit message
Auto-release: fix present (patch fast lane)

v0.65.0

Toggle v0.65.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(tui): wizard deep-polish — online search, preset & config-mode e…

…ntry, summary (#149)

* fix(npm): carry per-package install durations in streaming events

Sequential npm installs now time each package and emit the duration as
the StepOK detail, so the wizard log shows npm rows with the same
timing brew rows get (npm batch installs have no per-package timing to
report, so those rows stay clean rather than showing invented numbers).

* feat(tui): wizard deep-polish — online search, preset entry, summary, small terminals

Closes the UX gaps found in the v0.63 comparison:

- select screen regains online search (lost in the Redesign v5 rewrite):
  filtering fires a debounced openboot.dev lookup; hits are deduped
  against the catalog, badge-marked, and picks are homed in a synthetic
  'online' sidebar category so they survive clearing the filter.
  PlanFromSelection gains an online parameter so their type info
  reaches categorization.
- 'install -p <preset>' (and OPENBOOT_PRESET) on a TTY now enters the
  full wizard with the loadout preselected on the select screen,
  instead of the linear pre-flight + pipeline-screen stitch. Unknown
  presets keep the linear path and its clear error.
- completion appends a summary to the log tail — counts plus the names
  of failed packages, which had scrolled away by the DONE screen.
- elapsed times render as 3m24s instead of raw seconds everywhere.
- terminals below 60x15 get a resize hint instead of a broken frame.
- the hover background derives its escape from the active lipgloss
  colour profile, so it downsamples on 256/16-colour terminals and
  disappears cleanly without colour support.

* feat(tui): run slug/--from/-u installs through the full wizard (config mode)

Remote-config installs on a TTY previously got a stitched experience:
linear 3-way prompt + the old full-screen customizer, then a jump into
the wizard's live install screen. They now enter the wizard proper via
RunForConfig: boot probe → select (the config's own packages as sidebar
categories, all preselected, installed tools marked) → review plan →
live install.

- installer.PlanForRemoteSelection builds the plan from the config
  filtered to the wizard selection, plus openboot.dev search picks;
  everything declarative (git, shell, dotfiles, prefs, dock, login
  items, post-install) flows through planFromRemoteConfig unchanged.
- config mode never interposes the git screen — the git step already
  keeps an existing config and no-ops when absent, matching the old
  slug pipeline behavior; the review screen says so instead of
  rendering an empty identity.
- post-install can't host its confirm inside the alt-screen: the review
  screen surfaces it as an informational row, the streamed apply strips
  it, and the CLI runs it after teardown from the returned plan
  (mirroring the pipeline path's R1 fix).
- sync-source installs are unchanged (diff pre-flight + RunPipeline);
  --pick, --silent, --dry-run, --update and non-TTY keep their flows.
- promptCustomizeAndApply + RunConfigCustomizer remain for the
  dry-run/update/non-TTY prompt paths and the sync customizer.

* refactor(tui): extract onCtrlC to keep Model.Update under the gocyclo gate

The two online-search message cases pushed Update to complexity 22
(gate is 20). Moving the ctrl+c abort semantics into their own method
reads better than a nolint and drops Update back under the gate.

Back | FazBrowse Home | New Git URL