Skip to content

feat: sync options for google drive in nova#891

Merged
graphite-app[bot] merged 1 commit intomainfrom
04-28-feat_sync_options_for_google_drive_in_nova
Apr 30, 2026
Merged

feat: sync options for google drive in nova#891
graphite-app[bot] merged 1 commit intomainfrom
04-28-feat_sync_options_for_google_drive_in_nova

Conversation

@MaheshtheDev
Copy link
Copy Markdown
Member

No description provided.

@MaheshtheDev MaheshtheDev marked this pull request as ready for review April 28, 2026 21:15
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 28, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
supermemory-mcp 57daef3 Apr 30 2026, 02:26 AM

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 28, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
supermemory-app 57daef3 Commit Preview URL Apr 30 2026, 02:27 AM

Copy link
Copy Markdown
Member Author


How to use the Graphite Merge Queue

Add the label Main to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@claude
Copy link
Copy Markdown

claude Bot commented Apr 28, 2026

Claude finished @MaheshtheDev's task in 59s —— View job


Re-reviewing PR after updates

  • Fetch updated PR diff
  • Review changes for bugs, security issues, and logic errors
  • Check if previous review issues were addressed
  • Submit review summary

Overview: Adds sync scope selection (Files & Folders vs Whole Drive) for Google Drive connections via a dropdown menu in the connector UI.

Previous issues addressed:

Issue Status
High: No scope dropdown in !hasConnections view ✅ Fixed (lines 375-426)
Medium: Dropdown nested inside disabled button ✅ Fixed — dropdown and button are now siblings in a wrapper div
Medium: Missing e.stopPropagation() on menu items ✅ Fixed (lines 289-291, 412-414)

Issues found: None — this looks good to ship.

The implementation is clean:

  • Scope dropdown now appears in both hasConnections (grid) and !hasConnections (list) views
  • Button and dropdown are properly structured as siblings, so dropdown remains accessible when button is disabled
  • Event propagation correctly stopped to prevent unintended API calls when selecting scope
  • Mutation signature updated to accept {provider, syncScope} object
  • Metadata only sent when syncScope === 'full', treating 'scoped' as the default (backward compatible)

Score: 9/10

The 1-point deduction is minor: the scope state (gdriveSyncScope) is shared across both views. If a user sets it to "full" in one view then the page re-renders to show the other view, the selection persists — this is actually desirable UX, but worth noting.

Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview: Adds sync scope selection (Files & Folders vs Whole Drive) for Google Drive connections via a dropdown menu in the connector UI.

Issues found: None — this looks good to ship.

The implementation is clean:

  • Mutation signature correctly updated to accept {provider, syncScope} object
  • isConnecting checks properly updated to use variables?.provider instead of direct comparison
  • Event propagation handled correctly with stopPropagation() to prevent dropdown clicks from triggering the parent button
  • Metadata only sent when syncScope === 'full', treating 'scoped' as the default (backward compatible)

Score: 9/10

Minor note (not blocking): The sync scope dropdown only appears in the hasConnections grid view. Users connecting Google Drive for the first time (in the !hasConnections list view) will default to 'scoped' without the option to choose. This may be intentional for a simpler first-run experience.

Copy link
Copy Markdown
Contributor

@vorflux vorflux Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed -- found 3 issues (1 high, 2 medium).


Review with Vorflux

Comment thread apps/web/components/add-document/connections.tsx
Comment thread apps/web/components/add-document/connections.tsx Outdated
Comment thread apps/web/components/add-document/connections.tsx
@vorflux
Copy link
Copy Markdown
Contributor

vorflux Bot commented Apr 28, 2026

Testing Evidence

The testing agent ran the app and verified the sync scope feature. Here are the key findings with screenshots:

Bug: Selecting a scope triggers unwanted API call (error toast)

Bug: No scope selector in list view (first-time user path)

After fixes: Scope selector visible in list view

After fixes: Dropdown open with both options

After fixes: Grid view "Whole Drive" selected cleanly

Recording: Full walkthrough


Attached Images and Videos

gdrive-whole-drive-selected.png

connections-pro-user-list-view.png

fix-list-view-with-scope-selector.png

fix-list-view-scope-dropdown-open.png

fix-whole-drive-selected-no-error.png

🎥 View recording: pr-891-gdrive-scope-final.webm

@graphite-app
Copy link
Copy Markdown

graphite-app Bot commented Apr 30, 2026

Merge activity

@graphite-app graphite-app Bot force-pushed the 04-28-feat_sync_options_for_google_drive_in_nova branch from a136e62 to 57daef3 Compare April 30, 2026 02:24
@graphite-app graphite-app Bot merged commit 57daef3 into main Apr 30, 2026
6 of 8 checks passed
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.

2 participants