Go to file
tigerenwork f1ef89ef55 fix: tenant_access_token response is flat, not wrapped in data key
The /auth/v3/tenant_access_token/internal endpoint, like the OAuth token
endpoints, returns code, msg, tenant_access_token, and expire at the top
level of the JSON response — NOT nested under a 'data' key.

FeishuAPIResponse<TenantAccessTokenData> decoded successfully but with
data=nil (extra fields silently ignored by JSONDecoder). The guard then
threw FeishuError.apiError(code: 0, message: 'ok') — appearing to succeed
but always failing. This blocked the subsequent OAuth token exchange call.

- Added code/msg fields to TenantAccessTokenData
- tenantAccessToken() now decodes TenantAccessTokenData directly and
  checks data.code != 0 instead of going through FeishuAPIResponse

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-29 00:28:39 +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: tenant_access_token response is flat, not wrapped in data key 2026-06-29 00:28:39 +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