From e4693fc18f113f66321c7245963d3d948eb3e213 Mon Sep 17 00:00:00 2001 From: SuperDooper <37051355+superdooper86@users.noreply.github.com> Date: Fri, 8 May 2026 19:26:48 +0200 Subject: [PATCH] Fix fetchUserEmail return type and capabilities subscript --- ClaudeChecker/UsageViewModel.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ClaudeChecker/UsageViewModel.swift b/ClaudeChecker/UsageViewModel.swift index adf0ed3..893791c 100644 --- a/ClaudeChecker/UsageViewModel.swift +++ b/ClaudeChecker/UsageViewModel.swift @@ -195,13 +195,14 @@ class UsageViewModel: ObservableObject { req.setValue("application/json", forHTTPHeaderField: "accept") if let cookie = await claudeCookieHeader() { req.setValue(cookie, forHTTPHeaderField: "Cookie") } let (data, response) = try await URLSession.shared.data(for: req) - guard let http = response as? HTTPURLResponse, http.statusCode == 200 else { return nil } + guard let http = response as? HTTPURLResponse, http.statusCode == 200 else { return (nil, nil) } guard let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any], let account = json["account"] as? [String: Any] else { return (nil, nil) } let email = account["email_address"] as? String var planLabel: String? = nil if let memberships = account["memberships"] as? [[String: Any]], - let caps = memberships.first?["organization"]?["capabilities"] as? [String], + let org = memberships.first?["organization"] as? [String: Any], + let caps = org["capabilities"] as? [String], let cap = caps.first(where: { $0.hasPrefix("claude_") }) { let name = String(cap.dropFirst("claude_".count)) planLabel = name.prefix(1).uppercased() + name.dropFirst().lowercased()