Skip to content

Responsive PiP countdown degradation, Muse Assist extra label, and xAI provider entry - #256

Merged
jaywedgeworth22 merged 5 commits into
mainfrom
ag/pip-responsive-and-xai
Oct 18, 2026
Merged

jaywedgeworth22 merged 5 commits into
mainfrom
ag/pip-responsive-and-xai

Conversation

@jaywedgeworth22

@jaywedgeworth22 jaywedgeworth22 commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Responsive PiP Countdown Degradation, Muse Assist Extra Label, and xAI Provider Entry

Summary

This PR makes the PiP HUD degrade more gracefully as it narrows, ensures Muse Assist quotas never display "Updated…" captions, and separates xAI from Grok as distinct provider entries with corrected branding.

Changes

Responsive PiP countdown degradation

  • The PiP window now drops the platform name before it drops the reset countdown. A new intermediate detail level keeps the provider logo and two-unit countdowns after the title is removed, so the remaining time stays visible longer as the panel shrinks.
  • When the HUD narrows further and can no longer fit a two-unit countdown (e.g. "1h 12m"), the countdown degrades to a single rounded-up unit via a new glanceResetCompactCountdown helper: 1h 12m → 2h, 59m → 59m, 2d 2h → 3d, with <1m for sub-minute and due for elapsed resets.
  • Only after the compact countdown is exhausted does the HUD drop countdowns entirely while retaining the provider logo.
  • The prior noCountdown detail level is replaced by explicit logoWithFullCountdown and logoWithCompactCountdown levels, and width thresholds were updated to match. Legacy aliases remain for compatibility.
  • Countdown labels now use a narrower fixed width in compact mode and support a minimum scale factor for the tightest layouts.

Muse Assist "extra" label and caption suppression

  • Quotas identified as Muse Assist now render an extra label in place of the reset countdown in both the glance meter and PiP meter, styled to stand out, with tooltip text "Extra token usage".
  • Muse Assist meters no longer surface "Updated…" staleness captions or their corresponding tooltips, per product owner direction.

xAI provider entry and Grok separation

  • xai now displays as xAI (previously labelled "Grok") in both provider metadata and widget platform display.
  • grok is now its own distinct provider entry labelled Grok, mapped separately rather than collapsing into xai.
  • Added x-ai as an alias resolving to xai, and included it in the monochrome logo key set.
  • The xai logo now resolves to a dedicated xai resource instead of reusing the Grok mark.

Tests

  • Added coverage for Muse Assist suppressing "Updated…" help text.
  • Added tests verifying the new width degradation order (title drops first, then countdown compacts, then countdowns drop) and the compact countdown rounding behavior.
  • Updated platform ordering and logo resource tests to include the new grok provider entry and xai logo asset.

Summary

Updates the local quota provider identifier for Grok so the publicly exposed provider key matches the name used internally, replacing "xai" with "grok".

Changes

  • Changed LocalQuotaReader.providerKeys to list "grok" instead of "xai", so the documented/supported provider key set reflects the Grok provider name.
  • Updated the Provider.grok.key mapping to return "grok" instead of "xai", keeping the public key and the internal provider case consistent.

Impact

Consumers that read local quota provider keys will now receive "grok" rather than "xai" for the Grok provider. Any downstream code or configuration that references the previous "xai" key must be updated to use "grok".

…I provider entry

- Collapse platform names in PiP to logos only before dropping remaining time countdowns.
- In space-constrained PiP sizes, degrade countdowns to single rounded-up time units (e.g. 1.2h -> 2h, 59m -> 59m, 2d 2h -> 3d).
- Display 'extra' in place of countdown for Muse Assist extra usage bar to maintain uniform quota bar widths.
- Suppress 'Updated...' timestamp strings for Muse Assist in tooltips and speech.
- Add official xAI logo assets and register xAI provider entry.
@jaywedgeworth22
jaywedgeworth22 enabled auto-merge (squash) October 18, 2026 05:10
@kody-ai

This comment has been minimized.

Comment thread Sources/QuotaCore/QuotaModels.swift
@kody-ai

kody-ai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Kody Review Complete

Great news! 🎉
No issues were found that match your current review configurations.

Keep up the excellent work! 🚀

⚠️ 2 Kody Rule(s) were not evaluated

These rules declare that they need repository context beyond this diff, and the review could not retrieve it, so they were not judged on this pull request:

  • Never move or delete existing app support.html URLs
  • Prefer Sentry for new observability; do not add new Datadog RUM/APM surfaces
Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

​

@jaywedgeworth22
jaywedgeworth22 merged commit 5343ee9 into main Oct 18, 2026
3 checks passed
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