Go to file
tigerenwork ae918a379c fix: remove redundant CodingKeys conflicting with .convertFromSnakeCase
JSONDecoder.keyDecodingStrategy = .convertFromSnakeCase converts JSON keys
like 'tenant_access_token' to Swift names like 'tenantAccessToken'. Having
explicit CodingKeys that map to the ORIGINAL snake_case keys (e.g.,
case tenantAccessToken = "tenant_access_token") causes a collision:
the decoder first converts the JSON key, then looks for a CodingKey
matching the original name — but the converted name doesn't match.

Removed redundant CodingKeys from OAuthTokenData, TenantAccessTokenData,
UserInfoData, and RecordItem. .convertFromSnakeCase handles all these
mappings automatically.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-29 00:30:51 +08:00
Bugger.xcodeproj fix: change HTTP request/response logging from .debug to .info level 2026-06-29 00:23:07 +08:00
Resources feat: switch OAuth redirect to localhost loopback (RFC 8252) 2026-06-28 23:48:49 +08:00
Sources fix: remove redundant CodingKeys conflicting with .convertFromSnakeCase 2026-06-29 00:30:51 +08:00
docs first commit: project README, high-level design and detailed implementation docs 2026-06-28 20:54:51 +08:00
scripts feat: switch OAuth redirect to localhost loopback (RFC 8252) 2026-06-28 23:48:49 +08:00
.gitignore feat: full macOS menu bar app implementation 2026-06-28 20:56:44 +08:00
Config.xcconfig.example feat: full macOS menu bar app implementation 2026-06-28 20:56:44 +08:00
README.md first commit: project README, high-level design and detailed implementation docs 2026-06-28 20:54:51 +08:00

README.md

Bugger for macOS

A lightweight macOS menu bar app that surfaces bugs assigned to you from a Feishu Bitable. Shows a badge in the menu bar, a popover with your active bugs, and native notifications when bugs are assigned or changed.

Inspired by the Windows Bugger tool.

Status

Early design phase. See docs/ for the high-level design and detailed implementation plan.

Docs