Skip to content

Conversation

@geokoko
Copy link
Owner

@geokoko geokoko commented Nov 26, 2025

No description provided.

bootstrap Drive download before H2 init using config/env settings

add OAuth Drive service for sign-in/out, manual uploads, shutdown sync

add Profile UI controls plus config template, docs, and Drive deps
drop WindowPreferencesService along with saved window/tab order handling in StudySyncUI, defaulting window size and centering on launch

set panel scroll panes to avoid fit-to-height and remove tab-content max-height styling so content scrolls naturally
Copilot AI review requested due to automatic review settings November 26, 2025 15:44
@geokoko geokoko self-assigned this Nov 26, 2025
@geokoko geokoko added the enhancement New feature or request label Nov 26, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces Google Drive cloud synchronization functionality to StudySync, allowing users to backup and sync their H2 database across multiple devices. The integration includes OAuth 2.0 authentication, automatic upload on shutdown, manual sync triggers, and a new UI panel for managing Drive connectivity.

Key Changes

  • Google Drive Integration: Adds complete OAuth 2.0 flow and Drive API integration for database backup/restore
  • UI Enhancements: New Drive Sync section in Profile view with sign-in, sign-out, and manual sync controls
  • Architecture Simplification: Removes window state persistence (WindowPreferencesService) and CSS height constraints
  • Build Configuration: Adds Google API client dependencies and CI workflow, includes gradle-wrapper.jar

Reviewed changes

Copilot reviewed 23 out of 26 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
src/main/java/com/studysync/integration/drive/* Core Google Drive service classes handling OAuth, credentials, settings, and Drive API communication
src/main/java/com/studysync/presentation/ui/components/ProfileViewPanel.java Adds Drive Sync UI panel with async action handlers and state management
src/main/java/com/studysync/presentation/ui/components/*.java Updates ScrollPane behavior (setFitToHeight: false) across all panel components
src/main/java/com/studysync/presentation/ui/StudySyncUI.java Removes WindowPreferencesService dependency and window state persistence
src/main/java/com/studysync/domain/service/WindowPreferencesService.java Deletes entire service (breaking change)
src/main/java/com/studysync/StudySyncApplication.java Adds GoogleDriveBootstrap initialization before Spring context
src/main/java/com/studysync/config/GoogleDriveConfiguration.java Spring configuration for Drive settings bean
config/google/drive.properties.template Template for Google OAuth credentials configuration
build.gradle Adds Google API client libraries and maven.google.com repository
README.md & ARCHITECTURE.md Documents Drive sync setup, flow, and architecture
.gitignore Adds config/google/drive.properties, removes gradle-wrapper.jar exclusion
.github/workflows/ci.yml New CI workflow (currently configured for v0.1.0 branch only)
gradle/wrapper/gradle-wrapper.jar Adds Gradle wrapper JAR for reproducible builds
src/main/resources/styles.css Removes fixed tab-content-area height constraint

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI commented Nov 27, 2025

@geokoko I've opened a new pull request, #7, to work on those changes. Once the pull request is ready, I'll request review from you.

geokoko and others added 12 commits November 27, 2025 13:58
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: geokoko <71934918+geokoko@users.noreply.github.com>
Co-authored-by: geokoko <71934918+geokoko@users.noreply.github.com>
Add security best practices documentation to drive.properties.template
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link

Copilot AI commented Dec 22, 2025

@geokoko I've opened a new pull request, #8, to work on those changes. Once the pull request is ready, I'll request review from you.

geokoko and others added 2 commits December 22, 2025 17:03
[WIP] Update main branch based on feedback from PR #6
Copy link

Copilot AI commented Dec 22, 2025

@geokoko I've opened a new pull request, #9, to work on those changes. Once the pull request is ready, I'll request review from you.

[WIP] Address feedback on updating main branch with version 0.1.0
@geokoko
Copy link
Owner Author

geokoko commented Dec 22, 2025

Merging final v0.1.0 of the app to the base branch.

@geokoko geokoko merged commit 33bb4f0 into master Dec 22, 2025
1 check passed
geokoko added a commit that referenced this pull request Dec 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants