diff --git a/CHANGELOG.md b/CHANGELOG.md index f8a769695..f09fb1dd9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Docs: https://docs.clawd.bot - Docs: make docs:list fail fast with a clear error if the docs directory is missing. - macOS: load menu session previews asynchronously so items populate while the menu is open. - macOS: use label colors for session preview text so previews render in menu subviews. +- macOS: suppress usage error text in the menubar cost view. - Telegram: honor pairing allowlists for native slash commands. ## 2026.1.18-4 diff --git a/apps/macos/Sources/Clawdbot/UsageData.swift b/apps/macos/Sources/Clawdbot/UsageData.swift index c291519b6..7800054c6 100644 --- a/apps/macos/Sources/Clawdbot/UsageData.swift +++ b/apps/macos/Sources/Clawdbot/UsageData.swift @@ -75,18 +75,6 @@ struct UsageRow: Identifiable { extension GatewayUsageSummary { func primaryRows() -> [UsageRow] { self.providers.compactMap { provider in - if let error = provider.error, provider.windows.isEmpty { - return UsageRow( - id: provider.provider, - providerId: provider.provider, - displayName: provider.displayName, - plan: provider.plan, - windowLabel: nil, - usedPercent: nil, - resetAt: nil, - error: error) - } - guard let window = provider.windows.max(by: { $0.usedPercent < $1.usedPercent }) else { return nil } @@ -99,7 +87,7 @@ extension GatewayUsageSummary { windowLabel: window.label, usedPercent: window.usedPercent, resetAt: window.resetAt.map { Date(timeIntervalSince1970: $0 / 1000) }, - error: provider.error) + error: nil) } } } diff --git a/apps/macos/Sources/Clawdbot/UsageMenuLabelView.swift b/apps/macos/Sources/Clawdbot/UsageMenuLabelView.swift index 5e3a52687..d49bb9efd 100644 --- a/apps/macos/Sources/Clawdbot/UsageMenuLabelView.swift +++ b/apps/macos/Sources/Clawdbot/UsageMenuLabelView.swift @@ -37,14 +37,12 @@ struct UsageMenuLabelView: View { Spacer(minLength: 4) - if !self.row.hasError { - Text(self.row.detailText()) - .font(.caption.monospacedDigit()) - .foregroundStyle(self.secondaryTextColor) - .lineLimit(1) - .truncationMode(.tail) - .layoutPriority(2) - } + Text(self.row.detailText()) + .font(.caption.monospacedDigit()) + .foregroundStyle(self.secondaryTextColor) + .lineLimit(1) + .truncationMode(.tail) + .layoutPriority(2) if self.showsChevron { Image(systemName: "chevron.right") @@ -54,15 +52,6 @@ struct UsageMenuLabelView: View { } } - if let error = self.row.error?.nonEmpty { - Text(error) - .font(.caption) - .foregroundStyle(self.secondaryTextColor) - .multilineTextAlignment(.leading) - .lineLimit(2) - .truncationMode(.tail) - .fixedSize(horizontal: false, vertical: true) - } } .padding(.vertical, 10) .padding(.leading, self.paddingLeading)