Skip to content

Add Exact and Calm information modes to the floating bar (SOU-178)#45

Closed
tsouth89 wants to merge 4 commits into
feat/sou-122-enforcement-statesfrom
feat/sou-178-floatbar-info-modes
Closed

Add Exact and Calm information modes to the floating bar (SOU-178)#45
tsouth89 wants to merge 4 commits into
feat/sou-122-enforcement-statesfrom
feat/sou-178-floatbar-info-modes

Conversation

@tsouth89

@tsouth89 tsouth89 commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Stacked on #44#43. Base retargets down the stack as each merges.

Gives users control over how much the always-on floating bar exposes, without conflating content with visual density. Exact stays the default, so existing bars are unchanged.

Behavior

  • Exact (default): today's provider icon, exact %, window label, optional inline reset — untouched.
  • Calm: leads with a trustworthy pace state (On pace / Running low) and the next reset of the displayed window; the exact % is revealed on click/Enter.

Trust rules (per the issue)

  • Pace is claimed only when the snapshot is live and the provider reports usable pace data — it never invents an "on pace" state. "Running low" only appears when there's a real, finite ETA to run out.
  • When pace is unavailable, Calm falls back to the next reset (neutral); when that's missing too, it shows the exact %. A Calm pill is never blank, and usage-pressure tone (border) still shows so a critical provider isn't hidden.
  • Reset is taken from the displayed/constraining window and labeled.

Accessibility / preservation

  • The Calm pill is a focusable role="button" (Tab + Enter/Space), so exact % isn't hover-only. It opts out of the native drag region and stops propagation so a click never starts a window move; drag the bar by its handle.
  • No new motion (reduced-motion unaffected); density, contrast, multi-monitor, and notification behavior are untouched. Information mode is a separate setting from density.

Implementation

  • Setting float_bar_information_mode ("exact"|"calm"), default exact, normalized (unknown/older → exact, never silently calm), threaded through raw loader → floatbar SettingsPatch → bridge snapshot/update → TS types. An "Information" select in the float-bar settings.
  • Pure calmPresentation() holds the trust logic; the component only renders.

Verification

  • Rust codexbar lib 632, desktop crate 380 (incl. settings default/normalization/round-trip).
  • Frontend 230 (incl. 4 Calm-logic branch tests + a FloatBar render/expand test); tsc clean; locale-drift OK.

Summary by CodeRabbit

  • New Features

    • Added a Float Bar information setting with Exact and Calm modes.
    • Calm mode displays helpful pace indicators and lets you expand individual provider details to view exact percentages.
    • Added keyboard-accessible interactions and improved styling for Calm mode.
    • Settings are saved and restored across sessions, defaulting to Exact mode.
  • Tests

    • Added coverage for Calm mode displays, accessibility behavior, setting persistence, and fallback states.

tsouth89 added 2 commits July 17, 2026 20:40
Adds the Exact/Calm information-mode setting (separate from density) with
safe migration, and the pure Calm presentation logic. No rendering yet;
Exact stays the default so existing bars are unchanged.

- settings: float_bar_information_mode ("exact"|"calm"), default exact,
  normalized (unknown/older -> exact, never silently calm), threaded
  through raw loader, floatbar SettingsPatch, bridge snapshot/update, and
  TS types. Settings default/normalization/round-trip tests.
- capacityPresentation.calmPresentation(): trustworthy pace state only
  when the snapshot is live and pace is actually supported (never invents
  "on pace"); falls back to next reset, then to exact %. Unit tests cover
  every branch (steady / running-low-with-eta / no-eta-silent / missing /
  stale / errored / reset-vs-exact fallback).
Wires the Exact/Calm information mode into the float bar and settings.

- FloatBar: Calm pills lead with the trustworthy pace state ("On pace" /
  "Running low") and the next reset of the displayed window; the exact %
  is revealed on click/Enter (keyboard-accessible, not hover-only). The
  Calm pill is a focusable button that opts out of the native drag region
  (drag the bar by its handle) and stops propagation so a click never
  starts a move. Usage-pressure tone (border) still shows, so a critical
  provider isn't hidden; no new motion, so reduced-motion is unaffected.
- Settings: an "Information" select (Exact / Calm) in the float-bar
  section, separate from Density (geometry).
- CSS: calm pace states (steady/watch) with light-bg overrides and a
  focus ring.
- Tests: FloatBar renders the pace state, hides the exact % until expand,
  and expands on click; every fixture carries the new setting.
@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6bb6e1d2-da7a-47eb-af12-a64ad53165dc

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a persisted float-bar information mode with exact and calm options. Calm mode derives pace or reset presentation, supports expandable percentages, exposes a settings selector, and updates backend/frontend contracts, styling, and tests.

Changes

Float-bar information mode

Layer / File(s) Summary
Persisted setting and contracts
rust/src/settings.rs, rust/src/settings/raw.rs, rust/src/settings/tests.rs, apps/desktop-tauri/src/types/bridge.ts, apps/desktop-tauri/src/**/*test.tsx
Defines the exact/calm setting, defaults and normalization, persists it through raw settings, and updates settings snapshot fixtures and contracts.
Settings update and snapshot flow
apps/desktop-tauri/src-tauri/src/commands/settings.rs, apps/desktop-tauri/src-tauri/src/commands/bridge.rs, apps/desktop-tauri/src-tauri/src/floatbar/mod.rs
Carries the mode through partial updates and float-bar patches, normalizes it into Settings, and serializes it in SettingsSnapshot.
Calm presentation model
apps/desktop-tauri/src/lib/capacityPresentation.ts, apps/desktop-tauri/src/lib/capacityPresentation.test.ts
Adds pace, reset, freshness, and exact-fallback presentation states with corresponding tests.
Calm FloatBar rendering and expansion
apps/desktop-tauri/src/floatbar/FloatBar.tsx, apps/desktop-tauri/src/floatbar/FloatBar.css, apps/desktop-tauri/src/floatbar/FloatBar.test.tsx
Adds calm provider pills, keyboard and click expansion, resize handling, mode classes, calm styling, and rendering coverage.
Information mode settings control
apps/desktop-tauri/src/floatbar/SettingsSection.tsx, apps/desktop-tauri/src/floatbar/SettingsSection.test.tsx
Adds the Floating Bar Information selector for exact and calm modes.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant SettingsSection
  participant SettingsCommand
  participant SettingsPatch
  participant Settings
  participant FloatBar
  SettingsSection->>SettingsCommand: submit floatBarInformationMode
  SettingsCommand->>SettingsPatch: create information_mode patch
  SettingsPatch->>Settings: normalize and persist mode
  Settings->>FloatBar: provide SettingsSnapshot
  FloatBar->>FloatBar: render exact or calm presentation
Loading

Suggested reviewers: finesssee

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 60.87% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding Exact and Calm information modes to the floating bar.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/sou-178-floatbar-info-modes

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
ceiling cf77517 Commit Preview URL

Branch Preview URL
Jul 18 2026, 01:25 AM

Compact density hides the window/reset elements, which left the calm
reset row with an orphan leading "·" separator, and in a narrow edge
(no pace, a reset with no display time) could collapse the pill to just
the provider icon.

Calm now degrades cleanly in compact: it shows the pace state, or the
exact % when there's no pace, and skips the window·reset row entirely —
matching compact's minimal intent and guaranteeing a non-blank pill.
Standard/detailed density are unchanged. Adds a compact-calm test.
@tsouth89

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (2)
rust/src/settings/tests.rs (1)

251-256: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick win

Cover the missing-key migration path.

Add a case that deserializes an older settings object without float_bar_information_mode and verifies it becomes "exact". This directly protects the backward-compatibility behavior promised by the serde default.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@rust/src/settings/tests.rs` around lines 251 - 256, Add a test in the
settings normalization tests that deserializes an older settings object omitting
float_bar_information_mode, then assert the resulting setting is "exact". Reuse
the existing serde deserialization path and fixtures or construction pattern in
rust/src/settings/tests.rs to verify the missing-key default migration behavior.
apps/desktop-tauri/src/floatbar/FloatBar.test.tsx (1)

253-264: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Exercise Enter and Space activation.

The test verifies role and tabIndex, but not the new onKeyDown behavior. Dispatch both activation keys and assert that aria-expanded and the exact percentage update.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/desktop-tauri/src/floatbar/FloatBar.test.tsx` around lines 253 - 264,
Extend the calm pace pill test around the `.floatbar__pill--calm` element to
dispatch both Enter and Space keyboard activation events, rather than only
calling click. After each activation, assert `aria-expanded` reflects the
expanded state and `.floatbar__pct--calm` contains the exact `60%` text, while
preserving the existing role and tabindex assertions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/desktop-tauri/src-tauri/src/commands/settings.rs`:
- Line 61: Update the notifies_float_bar() predicate to include
float_bar_information_mode alongside the existing FloatBar settings, so
mode-only changes emit the configuration event. Add a regression test covering
an Exact/Calm-only change and verify that it triggers notification.

In `@apps/desktop-tauri/src/floatbar/FloatBar.css`:
- Line 325: Update the border-left declaration in FloatBar.css to use the
Stylelint-compliant casing for the color-mix function keyword, preserving the
existing color values and border styling.

In `@apps/desktop-tauri/src/floatbar/FloatBar.tsx`:
- Around line 215-220: Update the floatbar accessibility label around the
titleBits/onToggleExpand props to use a Calm-specific label that includes the
visible pace/reset state and appends the exact percentage only when expanded;
retain titleBits as the fallback label for non-Calm cases. Apply the resulting
label consistently to aria-label while preserving aria-expanded behavior.

In `@apps/desktop-tauri/src/lib/capacityPresentation.ts`:
- Around line 259-269: The calmPresentation function ignores
PaceSnapshot.windowLabel, allowing pace data from one window to accompany
another window’s reset. Match the provider pace to the supplied window using the
stable window identifier, or set pace to null when they differ; update
apps/desktop-tauri/src/lib/capacityPresentation.ts lines 259-269 accordingly. In
apps/desktop-tauri/src/lib/capacityPresentation.test.ts lines 241-259, replace
the expectation that Weekly pace applies to Monthly and cover both matching and
mismatching window cases.

---

Nitpick comments:
In `@apps/desktop-tauri/src/floatbar/FloatBar.test.tsx`:
- Around line 253-264: Extend the calm pace pill test around the
`.floatbar__pill--calm` element to dispatch both Enter and Space keyboard
activation events, rather than only calling click. After each activation, assert
`aria-expanded` reflects the expanded state and `.floatbar__pct--calm` contains
the exact `60%` text, while preserving the existing role and tabindex
assertions.

In `@rust/src/settings/tests.rs`:
- Around line 251-256: Add a test in the settings normalization tests that
deserializes an older settings object omitting float_bar_information_mode, then
assert the resulting setting is "exact". Reuse the existing serde
deserialization path and fixtures or construction pattern in
rust/src/settings/tests.rs to verify the missing-key default migration behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2a9ef25e-596d-482b-80ec-50a287debdea

📥 Commits

Reviewing files that changed from the base of the PR and between 5aa2278 and aa30319.

📒 Files selected for processing (20)
  • apps/desktop-tauri/src-tauri/src/commands/bridge.rs
  • apps/desktop-tauri/src-tauri/src/commands/settings.rs
  • apps/desktop-tauri/src-tauri/src/floatbar/mod.rs
  • apps/desktop-tauri/src/App.test.tsx
  • apps/desktop-tauri/src/floatbar/FloatBar.css
  • apps/desktop-tauri/src/floatbar/FloatBar.test.tsx
  • apps/desktop-tauri/src/floatbar/FloatBar.tsx
  • apps/desktop-tauri/src/floatbar/SettingsSection.test.tsx
  • apps/desktop-tauri/src/floatbar/SettingsSection.tsx
  • apps/desktop-tauri/src/lib/capacityPresentation.test.ts
  • apps/desktop-tauri/src/lib/capacityPresentation.ts
  • apps/desktop-tauri/src/surfaces/PopOutPanel.test.tsx
  • apps/desktop-tauri/src/surfaces/TrayPanel.test.tsx
  • apps/desktop-tauri/src/surfaces/settings/tabs/AboutTab.test.tsx
  • apps/desktop-tauri/src/surfaces/settings/tabs/GeneralTab.test.tsx
  • apps/desktop-tauri/src/types/bridge.test.ts
  • apps/desktop-tauri/src/types/bridge.ts
  • rust/src/settings.rs
  • rust/src/settings/raw.rs
  • rust/src/settings/tests.rs

pub float_bar_style: Option<String>,
pub taskbar_widget_open_on_hover: Option<bool>,
pub float_bar_density: Option<String>,
pub float_bar_information_mode: Option<String>,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Notify the detached FloatBar when information mode changes.

notifies_float_bar() does not check float_bar_information_mode. Therefore, changing only Exact/Calm can persist to Rust without emitting the configuration event that makes FloatBar.tsx re-fetch its snapshot, leaving the visible bar in the previous mode until another setting change or restart. Include this field in the predicate and add a mode-only update regression test.

Suggested fix
     fn notifies_float_bar(&self) -> bool {
         self.enabled_providers.is_some()
             || self.refresh_interval_secs.is_some()
             || self.codex_custom_sessions_dirs.is_some()
             || self.high_usage_threshold.is_some()
             || self.critical_usage_threshold.is_some()
             || self.provider_usage_thresholds.is_some()
             || self.show_as_used.is_some()
             || self.reset_time_relative.is_some()
             || self.show_reset_when_exhausted.is_some()
+            || self.float_bar_information_mode.is_some()
     }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/desktop-tauri/src-tauri/src/commands/settings.rs` at line 61, Update the
notifies_float_bar() predicate to include float_bar_information_mode alongside
the existing FloatBar settings, so mode-only changes emit the configuration
event. Add a regression test covering an Exact/Calm-only change and verify that
it triggers notification.

.floatbar__pct--calm {
padding-left: calc(6px * var(--floatbar-scale, 1));
margin-left: calc(2px * var(--floatbar-scale, 1));
border-left: 1px solid color-mix(in srgb, currentColor 18%, transparent);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use the Stylelint-compliant keyword casing.

-  border-left: 1px solid color-mix(in srgb, currentColor 18%, transparent);
+  border-left: 1px solid color-mix(in srgb, currentcolor 18%, transparent);
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
border-left: 1px solid color-mix(in srgb, currentColor 18%, transparent);
border-left: 1px solid color-mix(in srgb, currentcolor 18%, transparent);
🧰 Tools
🪛 Stylelint (17.14.0)

[error] 325-325: Expected "currentColor" to be "currentcolor" (value-keyword-case)

(value-keyword-case)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/desktop-tauri/src/floatbar/FloatBar.css` at line 325, Update the
border-left declaration in FloatBar.css to use the Stylelint-compliant casing
for the color-mix function keyword, preserving the existing color values and
border styling.

Source: Linters/SAST tools

Comment on lines +215 to +220
title={titleBits}
role="button"
tabIndex={0}
aria-expanded={expanded}
aria-label={titleBits}
onClick={onToggleExpand}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make the accessible label reflect Calm mode and expansion.

titleBits always announces the exact percentage and never announces the visible pace state. Consequently, screen readers receive “60%” before expansion and cannot perceive what expansion revealed.

Build a Calm-specific label containing the pace/reset state, adding the exact percentage only when expanded or used as the fallback.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/desktop-tauri/src/floatbar/FloatBar.tsx` around lines 215 - 220, Update
the floatbar accessibility label around the titleBits/onToggleExpand props to
use a Calm-specific label that includes the visible pace/reset state and appends
the exact percentage only when expanded; retain titleBits as the fallback label
for non-Calm cases. Apply the resulting label consistently to aria-label while
preserving aria-expanded behavior.

Comment on lines +259 to +269
export function calmPresentation(
provider: ProviderUsageSnapshot,
window: ConstrainingWindow,
nowMs: number = Date.now(),
): CalmPresentation {
const fresh = capacityFreshness(provider, nowMs) === "live";
const pace = fresh && !provider.error ? calmPaceState(provider.pace) : null;
const hasReset = Boolean(
window.window.resetsAt || window.window.resetDescription,
);
return { pace, window, hasReset, showExactFallback: !pace && !hasReset };

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Keep Calm pace and reset information tied to one window.

PaceSnapshot.windowLabel is ignored, allowing pace for one window to be presented with another window’s reset.

  • apps/desktop-tauri/src/lib/capacityPresentation.ts#L259-L269: match pace to the supplied window using a stable identifier, or suppress mismatched pace.
  • apps/desktop-tauri/src/lib/capacityPresentation.test.ts#L241-L259: stop expecting Weekly pace to apply to the selected Monthly window; cover both matching and mismatching cases.
📍 Affects 2 files
  • apps/desktop-tauri/src/lib/capacityPresentation.ts#L259-L269 (this comment)
  • apps/desktop-tauri/src/lib/capacityPresentation.test.ts#L241-L259
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/desktop-tauri/src/lib/capacityPresentation.ts` around lines 259 - 269,
The calmPresentation function ignores PaceSnapshot.windowLabel, allowing pace
data from one window to accompany another window’s reset. Match the provider
pace to the supplied window using the stable window identifier, or set pace to
null when they differ; update apps/desktop-tauri/src/lib/capacityPresentation.ts
lines 259-269 accordingly. In
apps/desktop-tauri/src/lib/capacityPresentation.test.ts lines 241-259, replace
the expectation that Weekly pace applies to Monthly and cover both matching and
mismatching window cases.

- FloatBar calm pill: aria-label now reflects what's visible (provider,
  pace/reset state, and the exact % only once revealed) instead of always
  announcing the hidden percentage — screen readers and sighted users now
  perceive the same thing. aria-expanded still conveys the toggle state.
- Add a regression test proving an information-mode-only change is a
  non-empty float-bar patch, so the detached bar is notified and re-fetches
  (after_settings_saved notifies on a non-empty patch — the reported
  notifies_float_bar() gap does not apply to patch-owned fields).
tsouth89 added a commit that referenced this pull request Jul 18, 2026
…es (#46)

Collapses three reviewed passes onto current `main` (1.0.0-rc.1) as one
clean merge, per the plan. Supersedes #43, #44, #45 (each fully reviewed
by adversarial subagents + CodeRabbit; all findings addressed). Only
conflict was the English-only `.ftl` removals, resolved by accepting the
deletion.

## What's included
- **Codex banked resets (#43):** explicit "0 avail" chip (Codex-only,
all 3 surfaces); backend records `Some(0)` instead of hiding it. **Send
test notification** button that runs the real Windows toast pipeline and
reports success/failure.
- **Explicit enforcement states — SOU-122 (#44):** `EnforcementState {
Tracked, NotEnforced, Unavailable }` exposed to every surface without
fabricating a %. A process-local, per-scope `EnforcementTracker` flags a
core subscription window `unavailable` when it drops out of a successful
response — sticky until it returns, core-windows-only (bonus pools never
false-flag), scoped by provider|source|email|org, ignores errors.
- **Exact & Calm floatbar modes — SOU-178 (#45):**
`float_bar_information_mode` (Exact default, safe migration). Calm leads
with a trustworthy pace state + next reset; exact % on keyboard/click
expand. Pace claimed only when live and actually supported.

## Verification (against this main)
- Rust `codexbar` lib **621**, desktop crate **372** — 0 failures
- Frontend **246** (48 files); `tsc` clean; locale-drift OK
(English-only)

## Review fixes folded in
Sticky/core-only tracker (one-shot bug), org-scoped observations,
compact-density calm layout, calm aria-label matching visible state.

---------

Co-authored-by: tsouth89 <tsouth89@users.noreply.github.com>
@tsouth89

Copy link
Copy Markdown
Owner Author

Superseded by #46, which collapsed all three reviewed passes onto current main (1.0.0-rc.1) and merged. All findings from this PR's reviews were addressed there.

@tsouth89 tsouth89 closed this Jul 18, 2026
@tsouth89
tsouth89 deleted the feat/sou-178-floatbar-info-modes branch July 18, 2026 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant