Skip to content

Support Cap 7#35

Open
papiguy wants to merge 13 commits intoopenforge:mainfrom
papiguy:boengli-main
Open

Support Cap 7#35
papiguy wants to merge 13 commits intoopenforge:mainfrom
papiguy:boengli-main

Conversation

@papiguy
Copy link

@papiguy papiguy commented Sep 30, 2025

No description provided.

wainwrightmark and others added 13 commits October 8, 2024 08:14
Resolved conflicts in:
- package.json: Updated to newer TypeScript and swiftlint versions
- android/build.gradle: Updated to Android Gradle Plugin 8.7.2, compileSdk 35, targetSdk 35
- android/gradlew: Updated gradle wrapper script
- android/gradle/wrapper/gradle-wrapper.jar: Updated gradle wrapper jar
- package-lock.json: Accepted latest version

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
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 pull request upgrades the capacitor-game-connect plugin from Capacitor 5 to Capacitor 7, implementing support for the latest major version of the Capacitor framework. The upgrade includes significant version bumps across dependencies, build tools, and platform requirements, along with improved error handling in iOS code and modernization of Android code patterns.

Changes:

  • Upgraded from Capacitor 5.0.0 to 7.4.3 with corresponding updates to all Capacitor dependencies
  • Added comprehensive test suite with Jest configuration and test coverage for web implementation
  • Updated build tooling including Rollup configuration (migrated to .mjs), TypeScript compiler options, and Gradle wrapper
  • Enhanced iOS implementation with better error handling using guard statements and nil-coalescing operators
  • Modernized Android code by replacing anonymous classes with lambda expressions and improving error handling

Reviewed changes

Copilot reviewed 16 out of 48 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
package.json Bumped version to 7.0.0, upgraded all Capacitor dependencies to 7.4.3, added test scripts and Jest dependencies, changed repository owner from openforge to papiguy, moved @capacitor/cli to dependencies
tsconfig.json Added skipLibCheck compiler option for faster builds
tests/web.test.ts Added comprehensive Jest unit tests for web implementation covering all plugin methods
tests/plugin.test.ts Added basic plugin structure tests verifying all required methods exist
jest.config.js Added Jest configuration with TypeScript support and coverage collection
rollup.config.mjs Migrated configuration to ES module format (.mjs extension)
ios/Podfile Updated minimum iOS deployment target from 13.0 to 14.0
ios/Plugin/CapacitorGameConnectPlugin.swift Added guard statements for view controller availability with proper error handling
ios/Plugin/CapacitorGameConnect.swift Improved signIn method with better error handling, nil-coalescing, and DispatchQueue.main wrapper; fixed typo changing "sucess" to "success"
ios/Plugin.xcodeproj/project.pbxproj Updated deployment target to 15.6 (inconsistent with Podfile)
android/src/main/java Modernized code by replacing anonymous callback classes with lambda expressions and added missing error handlers
android/local.properties Updated with developer-specific SDK path (should not be committed)
android/build.gradle Updated Android Gradle Plugin to 8.7.2, compile/target SDK to 35, min SDK to 23, Java compatibility to VERSION_21, changed lintOptions to lint
android/gradlew, android/gradlew.bat Updated Gradle wrapper scripts
android/gradle/wrapper/* Updated Gradle wrapper to 8.14.3 with binary JAR
OpenforgeCapacitorGameConnect.podspec Updated Swift version from 5.1 to 5.9 and iOS deployment target to 14.0
.gitignore Removed dist/ from gitignore and added IDE directories
README.md Updated compatibility table showing Capacitor v7 as "TESTING"
dist/* Added all generated distribution files to version control
Files not reviewed (6)
  • android/.idea/.gitignore: Language not supported
  • android/.idea/compiler.xml: Language not supported
  • android/.idea/gradle.xml: Language not supported
  • android/.idea/jarRepositories.xml: Language not supported
  • android/.idea/misc.xml: Language not supported
  • android/.idea/vcs.xml: Language not supported

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

| Capacitor v2 | ❌ |
| Capacitor v1 | ❌ |
|-------------------|:--------------:|
| Capacitor v7 | TESTING |
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

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

The README indicates Capacitor v7 is marked as "TESTING" rather than fully supported. However:

  1. The package.json version has been bumped to 7.0.0, suggesting this is a release version
  2. The PR title "Support Cap 7" suggests completion rather than testing phase
  3. This creates confusion about the actual support status

Consider either:

  • Marking v7 as fully supported (✅) if it's ready for release
  • Using a pre-release version (e.g., 7.0.0-beta.1) if still in testing
  • Clarifying in the PR description what "TESTING" means for end users

Copilot uses AI. Check for mistakes.
Comment on lines +84 to 86
"dependencies": {
"@capacitor/cli": "^7.4.3"
}
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

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

The package.json has "@capacitor/cli" listed as a runtime dependency, but it should be in devDependencies instead. The Capacitor CLI is only needed during development and build processes, not at runtime.

Copilot uses AI. Check for mistakes.
Copy link
Member

Choose a reason for hiding this comment

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

@papiguy could you take a look at this?

Comment on lines +7 to +8
#Mon Sep 29 22:50:37 PDT 2025
sdk.dir=/Users/aadikhanna/Library/Android/sdk
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

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

The local.properties file contains a developer-specific SDK path (/Users/aadikhanna/Library/Android/sdk) which should not be committed to version control. This file should remain in .gitignore as it's machine-specific and can cause build issues for other developers. Additionally, the date comment shows "Mon Sep 29 22:50:37 PDT 2025" which appears to be in the future (the current date context shows February 2026).

Suggested change
#Mon Sep 29 22:50:37 PDT 2025
sdk.dir=/Users/aadikhanna/Library/Android/sdk
sdk.dir=/path/to/Android/sdk

Copilot uses AI. Check for mistakes.
Copy link
Member

Choose a reason for hiding this comment

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

@papiguy could you take a look at this?

Comment on lines +20 to +23
"url": "git+https://github.com/papiguy/capacitor-game-connect.git"
},
"bugs": {
"url": "https://github.com/openforge/capacitor-game-connect.git/issues"
"url": "https://github.com/papiguy/capacitor-game-connect/issues"
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

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

The repository URL has changed from "openforge" to "papiguy" organization. This is a significant change that should be documented in the PR description as it affects:

  1. Package identity and trust
  2. Issue tracking and support
  3. Contributor access
  4. Repository ownership

Ensure this change is intentional and authorized, and consider communicating it to existing users.

Copilot uses AI. Check for mistakes.
Comment on lines 472 to +498
@@ -495,7 +495,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = Plugin/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

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

There's an inconsistency in iOS deployment target versions:

  • Podfile specifies iOS 14.0
  • OpenforgeCapacitorGameConnect.podspec specifies iOS 14.0
  • Plugin.xcodeproj specifies iOS 15.6

This inconsistency should be resolved. According to Capacitor 7 requirements, iOS 14.0 is the minimum supported version, so the Plugin.xcodeproj target of 15.6 is unnecessarily restrictive and should be changed to 14.0 for consistency.

Copilot uses AI. Check for mistakes.
s.ios.deployment_target = '14.0'
s.dependency 'Capacitor'
s.swift_version = '5.1'
s.swift_version = '5.9'
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

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

The Swift version has been updated from 5.1 to 5.9. While this aligns with modern Swift versions, ensure that:

  1. All Swift code in the project is compatible with Swift 5.9
  2. This change is documented in migration notes for developers
  3. Minimum Xcode version requirements are updated accordingly (Swift 5.9 requires Xcode 15.0+)

This is a significant version jump that may introduce breaking changes for consumers using older Xcode versions.

Suggested change
s.swift_version = '5.9'
s.swift_versions = ['5.1', '5.9']

Copilot uses AI. Check for mistakes.
Comment on lines +40 to +41
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

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

The Java version has been updated from VERSION_17 to VERSION_21. This is a significant upgrade that:

  1. Requires developers to have JDK 21 installed
  2. May introduce compatibility issues with older build environments
  3. Should be documented in migration notes

Ensure this aligns with Capacitor 7's requirements and that all developers and CI/CD systems are prepared for this change.

Suggested change
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17

Copilot uses AI. Check for mistakes.
@jedihacks
Copy link
Member

Hey @papiguy , appreciate the PR! There's a couple points that need resolved after the code review - could you please take a look? Then we can get this in

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.

7 participants