Skip to content

[codex] Fix Google Photos Picker discovery#3

Draft
zrm625 wants to merge 2 commits into
mainfrom
codex/fix-google-photos-picker-discovery
Draft

[codex] Fix Google Photos Picker discovery#3
zrm625 wants to merge 2 commits into
mainfrom
codex/fix-google-photos-picker-discovery

Conversation

@zrm625

@zrm625 zrm625 commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Summary

Fix Google APIs whose live Discovery documents only work at their service-hosted URL. This covers Google Photos Picker, Forms, and Keep. Also show required OAuth scopes in the generic OAuth app registration form.

Bug

I added Google Photos Picker support and the Picker bug in the same PR, so there was never a known-good upstream Picker path.

Picker's live Discovery URL is https://photospicker.googleapis.com/$discovery/rest?version=v1; the rewritten central URL returns 404. Its live document also omits OAuth scope metadata, so Picker could be added without the required https://www.googleapis.com/auth/photospicker.mediaitems.readonly scope.

The test fixture missed this because it was more complete than Google's live document. While validating the deployed fix, the default Google bundle exposed the same service-hosted-only Discovery issue for Forms and Keep.

Introduced in: RhysSullivan#1137
Related normalizer change: RhysSullivan#1106

Fix

  • Keep Picker, Forms, and Keep service-hosted Discovery URLs service-hosted.
  • Keep Picker's documented OAuth scope fallback in the same override map.
  • Leave normal central Discovery behavior in place for other Google APIs.
  • Show required OAuth scopes during manual OAuth app registration.

The UI change is disclosure-only. It does not request new permissions.

Screenshot

Headless screenshot of Google Photos OAuth app scopes

Validation

  • bun run --cwd packages/plugins/google test -- src/sdk/discovery.test.ts src/sdk/plugin.test.ts
  • bun run --cwd packages/react test -- src/components/oauth-client-form.test.ts
  • Live deploy smoke on executor v1.5.23: / returns 200 and /mcp returns unauthenticated 401.
  • Live default Google bundle replay returned 200 with 264 tools.

@zrm625 zrm625 force-pushed the codex/fix-google-photos-picker-discovery branch from cc1d167 to 38a17ed Compare June 28, 2026 18:12
@zrm625

zrm625 commented Jun 28, 2026

Copy link
Copy Markdown
Owner Author

@codex

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: 38a17ede4a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@zrm625 zrm625 force-pushed the codex/fix-google-photos-picker-discovery branch 5 times, most recently from 00e9ed3 to cc930b9 Compare June 29, 2026 01:56
@zrm625 zrm625 force-pushed the codex/fix-google-photos-picker-discovery branch from cc930b9 to e91270a Compare June 29, 2026 02:03
@zrm625 zrm625 force-pushed the codex/fix-google-photos-picker-discovery branch from d2a0e7d to 3ff0a97 Compare June 29, 2026 04:08
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