Compare commits

...
6 changed files with 24 additions and 16 deletions
+4 -2
View File
@@ -75,5 +75,7 @@ jobs:
git config user.email "github-actions[bot]@users.noreply.github.com" git config user.email "github-actions[bot]@users.noreply.github.com"
git add version-beta.json README.md git add version-beta.json README.md
git commit -m "Beta release ${{ github.ref_name }}" git commit -m "Beta release ${{ github.ref_name }}"
git pull --rebase origin main for i in 1 2 3 4 5; do
git push origin HEAD:main git pull --rebase origin main && git push origin HEAD:main && break
echo "Push attempt $i failed, retrying..."; sleep 3
done
+13 -3
View File
@@ -38,7 +38,7 @@ struct DiagnosticsView: View {
Divider() Divider()
Text("Email and org IDs are redacted when copied.") Text("Org IDs are redacted when copied.")
.font(.system(size: 10)) .font(.system(size: 10))
.foregroundColor(.secondary) .foregroundColor(.secondary)
.frame(maxWidth: .infinity, alignment: .leading) .frame(maxWidth: .infinity, alignment: .leading)
@@ -141,15 +141,25 @@ struct DiagnosticsView: View {
} }
private var fullDiagText: String { private var fullDiagText: String {
let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "?"
let build = Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "?"
let orgId = UserDefaults.standard.string(forKey: "claude_org_id") ?? "(none)"
let lastOrg = vm.diagLastActiveOrg.isEmpty ? "(not read)" : vm.diagLastActiveOrg
let lastErr = vm.diagLastError.isEmpty ? "(none)" : vm.diagLastError
var lines: [String] = [] var lines: [String] = []
lines.append("=== ClaudeChecker Diagnostics ===") lines.append("=== ClaudeChecker Diagnostics ===")
lines.append("Version: \(Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "?") (\(Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "?"))") lines.append("Version: \(version) (\(build))")
lines.append("Signed in: \(vm.isSignedIn ? "Yes" : "No")") lines.append("Signed in: \(vm.isSignedIn ? "Yes" : "No")")
lines.append("Org ID: \(orgId)")
lines.append("lastActiveOrg: \(lastOrg)")
lines.append("Error: \(vm.errorMessage ?? "(none)")") lines.append("Error: \(vm.errorMessage ?? "(none)")")
lines.append("") lines.append("")
lines.append("Last path: \(vm.diagLastPath)") lines.append("Last path: \(vm.diagLastPath)")
lines.append("Last status: \(vm.diagLastStatus)") lines.append("Last status: \(vm.diagLastStatus)")
lines.append("Last error: \(vm.diagLastError)") lines.append("Last error: \(lastErr)")
if let t = vm.diagLastFetch {
lines.append("Time: \(t.formatted(date: .omitted, time: .standard))")
}
lines.append("") lines.append("")
lines.append("") lines.append("")
lines.append("Live cookies:") lines.append("Live cookies:")
+2 -2
View File
@@ -15,9 +15,9 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.3.3-beta.3</string> <string>1.3.3-beta.5</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>79</string> <string>81</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>13.0</string> <string>13.0</string>
<key>LSUIElement</key> <key>LSUIElement</key>
+2 -2
View File
@@ -12,8 +12,8 @@
[![License](https://img.shields.io/badge/license-MIT-blue?style=flat)](LICENSE) [![License](https://img.shields.io/badge/license-MIT-blue?style=flat)](LICENSE)
<br/> <br/>
[![macOS Stable](https://img.shields.io/badge/macOS_Stable-1.3.2-orange?style=flat)](https://github.com/superdooper86/claudechecker/releases) [![macOS Stable](https://img.shields.io/badge/macOS_Stable-1.3.2-orange?style=flat)](https://github.com/superdooper86/claudechecker/releases)
[![macOS Beta](https://img.shields.io/badge/macOS_Beta-1.3.3--beta.2-orange?style=flat)](https://github.com/superdooper86/claudechecker/releases/tag/v1.3.3-beta.2) <!-- BETA_BADGE --> [![macOS Beta](https://img.shields.io/badge/macOS_Beta-1.3.3--beta.3-orange?style=flat)](https://github.com/superdooper86/claudechecker/releases/tag/v1.3.3-beta.3) <!-- BETA_BADGE -->
[![Win Beta](https://img.shields.io/badge/Win_Beta-0.0.1--beta.53-blue?style=flat)](https://github.com/superdooper86/claudechecker/releases/tag/win-v0.0.1-beta.53) <!-- WIN_BETA_BADGE --> [![Win Beta](https://img.shields.io/badge/Win_Beta-0.0.1--beta.55-blue?style=flat)](https://github.com/superdooper86/claudechecker/releases/tag/win-v0.0.1-beta.55) <!-- WIN_BETA_BADGE -->
</div> </div>
+1 -5
View File
@@ -1,5 +1 @@
{ {"version": "1.3.3-beta.3", "url": "https://github.com/superdooper86/claudechecker/releases/download/v1.3.3-beta.3/ClaudeChecker.zip", "notes": "## What's new in v1.3.2\n\n### Reliability\n- Data now loads automatically on every app launch without requiring manual re-authentication. The background WebView is anchored in a hidden window so macOS no longer throttles its JavaScript execution."}
"version": "1.3.3-beta.2",
"url": "https://github.com/superdooper86/claudechecker/releases/download/v1.3.3-beta.2/ClaudeChecker.zip",
"notes": "## What's new in v1.3.2\n\n### Reliability\n- Data now loads automatically on every app launch without requiring manual re-authentication. The background WebView is anchored in a hidden window so macOS no longer throttles its JavaScript execution."
}
+2 -2
View File
@@ -1,5 +1,5 @@
{ {
"version": "0.0.1-beta.53", "version": "0.0.1-beta.55",
"url": "https://github.com/superdooper86/claudechecker/releases/download/win-v0.0.1-beta.53/ClaudeChecker-Windows.zip", "url": "https://github.com/superdooper86/claudechecker/releases/download/win-v0.0.1-beta.55/ClaudeChecker-Windows.zip",
"notes": "## What's new in beta.49\r\n\r\n### Architecture\r\n- All data (usage, plan, overage, prepaid credits) now fetched via the persistent background WebView2 — the same always-live session as the macOS app, so Cloudflare cookies never expire between refreshes\r\n- HttpClient path kept only as a brief startup fallback before the browser is ready\r\n- Settings file simplified: only stores session signal, burn history, and user preferences — no more cached API responses\r\n\r\n### Bug fixes\r\n- Plan label (e.g. \"Pro\") now updates on every refresh, not just at login\r\n- Extra Usage Credits values now correct (were 100× too large)\r\n- Limit and balance now update live on every refresh\r\n- Refresh interval dropdown now shows \"1 min\", \"2 min\" etc. correctly\r\n- ComboBox no longer flashes bright blue when clicked\r\n- Buttons now show a visible pressed state\r\n- Footer \"Updated X ago\" counter now ticks every second; shows \"X min, Y sec ago\" past 60 s\r\n- Removed stray sparkline bars from the 5 h and 7 d limit cards\r\n- App window now shown on launch\r\n\r\n### UI improvements\r\n- Gauge percentage larger, \"used\" label removed\r\n- Each limit card now shows an \"after reset\" or \"today HH:MM\" badge\r\n- Session Diary card redesigned to match macOS layout (stats row + sparkline, no Claude header)\r\n- Reset date moved inline with time remaining" "notes": "## What's new in beta.49\r\n\r\n### Architecture\r\n- All data (usage, plan, overage, prepaid credits) now fetched via the persistent background WebView2 — the same always-live session as the macOS app, so Cloudflare cookies never expire between refreshes\r\n- HttpClient path kept only as a brief startup fallback before the browser is ready\r\n- Settings file simplified: only stores session signal, burn history, and user preferences — no more cached API responses\r\n\r\n### Bug fixes\r\n- Plan label (e.g. \"Pro\") now updates on every refresh, not just at login\r\n- Extra Usage Credits values now correct (were 100× too large)\r\n- Limit and balance now update live on every refresh\r\n- Refresh interval dropdown now shows \"1 min\", \"2 min\" etc. correctly\r\n- ComboBox no longer flashes bright blue when clicked\r\n- Buttons now show a visible pressed state\r\n- Footer \"Updated X ago\" counter now ticks every second; shows \"X min, Y sec ago\" past 60 s\r\n- Removed stray sparkline bars from the 5 h and 7 d limit cards\r\n- App window now shown on launch\r\n\r\n### UI improvements\r\n- Gauge percentage larger, \"used\" label removed\r\n- Each limit card now shows an \"after reset\" or \"today HH:MM\" badge\r\n- Session Diary card redesigned to match macOS layout (stats row + sparkline, no Claude header)\r\n- Reset date moved inline with time remaining"
} }