Commit ed8be8c
fix(aiquotas): fire.9.3 - keep AI Quotas item out of Ice's section mgmt
Dogfooding caught it: the AI Quotas status item wasn't visible. Ice was
treating its own Fire-owned status item as a managed third-party item
and, during the cross-MCP layout demo, pushed it into the Always-Hidden
section — macOS persisted a far-left "Preferred Position" (11298),
rendering it at x=-9501, off-screen. (This is the exclusion the MVP spec
called out as a non-goal/follow-up; now needed.)
Fix:
- MenuBarItemManager.isValidForCaching excludes Fire-owned non-control
items: by window-title prefix "Fire." and as any .ice-namespace item
that isn't one of Ice's three control items. Ice no longer caches,
classifies, or moves the AI Quotas item.
- AIQuotaStatusItemController stamps the status item's window title
("Fire.AIQuotas.Combined") so the title-based exclusion is reliable
regardless of how sourcePID resolves on macOS 26.
- Self-heal: on creation, if the persisted preferred position is far
off-screen (> 8000), drop the autosave key so macOS re-places the
item in the visible status area. Fixes already-parked installs
automatically; the exclusion prevents recurrence.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent d051a2d commit ed8be8c
3 files changed
Lines changed: 40 additions & 4 deletions
File tree
- Ice.xcodeproj
- Ice
- AIQuotas
- MenuBar/MenuBarItems
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
520 | 520 | | |
521 | 521 | | |
522 | 522 | | |
523 | | - | |
| 523 | + | |
524 | 524 | | |
525 | 525 | | |
526 | 526 | | |
| |||
536 | 536 | | |
537 | 537 | | |
538 | 538 | | |
539 | | - | |
| 539 | + | |
540 | 540 | | |
541 | 541 | | |
542 | 542 | | |
| |||
553 | 553 | | |
554 | 554 | | |
555 | 555 | | |
556 | | - | |
| 556 | + | |
557 | 557 | | |
558 | 558 | | |
559 | 559 | | |
| |||
569 | 569 | | |
570 | 570 | | |
571 | 571 | | |
572 | | - | |
| 572 | + | |
573 | 573 | | |
574 | 574 | | |
575 | 575 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
25 | 34 | | |
26 | 35 | | |
27 | 36 | | |
28 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
29 | 41 | | |
30 | 42 | | |
31 | 43 | | |
32 | 44 | | |
33 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
34 | 58 | | |
35 | 59 | | |
36 | 60 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
256 | 256 | | |
257 | 257 | | |
258 | 258 | | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
259 | 271 | | |
260 | 272 | | |
261 | 273 | | |
| |||
0 commit comments