Skip to content

fix: replace deprecated GoogleCredential + remove API CSP - #88

Merged
thomasluizon merged 2 commits into
mainfrom
fix/deprecated-google-credential
Mar 29, 2026
Merged

fix: replace deprecated GoogleCredential + remove API CSP#88
thomasluizon merged 2 commits into
mainfrom
fix/deprecated-google-credential

Conversation

@thomasluizon

Copy link
Copy Markdown
Owner

Summary

  • Replace deprecated GoogleCredential.FromJson/FromFile with CredentialFactory.FromJson<ServiceAccountCredential>().ToGoogleCredential() (resolves CS0618 warnings)
  • Remove Content-Security-Policy from API middleware (inappropriate for REST API, was causing issues)

Companion UI PR: thomasluizon/orbit-ui#141

Test plan

  • Build has zero CS0618 warnings
  • Firebase push notifications still work
  • Google OAuth login works end-to-end

🤖 Generated with Claude Code

thomasluizon and others added 2 commits March 28, 2026 21:07
- Use CredentialFactory.FromJson<ServiceAccountCredential>().ToGoogleCredential()
  to resolve CS0618 warnings without breaking Firebase init
- Remove Content-Security-Policy from API middleware (inappropriate for REST API,
  was causing issues when headers leaked through proxy)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@thomasluizon
thomasluizon merged commit 4d2db0d into main Mar 29, 2026
2 checks passed
@thomasluizon
thomasluizon deleted the fix/deprecated-google-credential branch March 29, 2026 00:08
thomasluizon added a commit that referenced this pull request Jun 5, 2026
…ve ordering (#185)

Bundles four correlated chat-agent changes:

- #83: tag chat tools (list/create/update/delete_tag) delegating to existing
  MediatR handlers, registered in DI and catalogued under tags.read/write/delete.
- #89: ReorderGoalsTool (mirrors ReorderHabitsTool) + unit tests for the new/write
  tag and goal tools; reorder_goals added to GoalsWrite.chatTools.
- #88: full executor routing — every mutating MCP method (GoalTools, TagTools,
  ProfileTools, NotificationTools, UserFactTools, SubscriptionTools) now routes
  through McpExecutorBridge → IAgentOperationExecutor for shared policy + audit,
  mapping mismatched methods to their consolidated chat ops. Hard cases routed too:
  assign_tags via a new tag_ids id-path on AssignTagsTool (id-based, replace-all,
  no auto-create; MCP id contract unchanged) and get_referral_code via a new
  GetReferralCodeTool + ReferralsWrite capability + WriteReferrals scope (added to
  ClaudeDefaultScopes). Destructive routed deletes (goal/tag/notification/user-fact)
  accept and forward a confirmation token. No mutating MCP method remains on direct
  MediatR. update_goal_progress widened to accept goal_id so its MCP method can route.
- #87: tool ordering is now data — int Order default-interface member on IAiTool
  (create_habit=0, create_sub_habit=1, assign_tags=2, default int.MaxValue); the
  hardcoded switch in ProcessUserChatCommand is replaced by the registry lookup.
  Adds Chat/Tools/README.md documenting the contract, Order, catalog invariant, and
  MCP-routing relationship.

Existing MCP toolset unit tests migrated to the executor-routed pattern.

Refs thomasluizon/orbit-ui-mobile#83, thomasluizon/orbit-ui-mobile#89,
thomasluizon/orbit-ui-mobile#88, thomasluizon/orbit-ui-mobile#87

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant