概要
本日はCanopyプロジェクトにおいて、アプリケーションの安定性とmacOSのプライバシー機能への対応を中心に作業を進めました。具体的には、レートリミット表示の最適化とパーセンテージ表示の修正、予期せぬプロセス終了時のハンドリング強化、そしてmacOSのプライバシー関連キー(UsageDescriptionとEntitlement)の追加を行いました。
作業内容
Canopy
- 各タブで独立していたClaude APIのレートリミット表示データをシングルトンとして共有し、APIリクエストの重複を削減しました。
- Webview内のClaudeコンテキスト使用率とネイティブStatusBarの表示値が一致するように、計算式を修正しました。
- ShimプロセスやClaude CLIサブプロセスが予期せず終了した場合に、ユーザーにアラートを表示してランチャー画面に戻るようにハンドリングを強化しました。
- Shimプロセスが外部から終了させられた際に、孤児となるCLIサブプロセスも自動的に終了させるクリーンアップ処理を追加しました。
- Claude CLIから実行されるプロセスがmacOSのプライバシー保護リソース(カメラ、マイクなど)を利用できるように、必要なUsageDescriptionキーとHardened Runtime Entitlementsを
Info.plistとビルド設定に追加しました。 NSRemindersUsageDescriptionとNSSpeechRecognitionUsageDescriptionに対応するEntitlementが不足していたため、それぞれ追加し、UsageDescriptionとEntitlementの対応関係を完全に揃えました。
Generated by CCDiary