Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "maple",
"private": true,
"version": "2.0.28",
"version": "3.0.0",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
2 changes: 1 addition & 1 deletion frontend/src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion frontend/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "maple"
version = "2.0.28"
version = "3.0.0"
description = "Maple AI"
authors = ["tony@trymaple.ai"]
license = "MIT"
Expand Down
4 changes: 2 additions & 2 deletions frontend/src-tauri/gen/apple/maple_iOS/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2.0.28</string>
<string>3.0.0</string>
<key>CFBundleVersion</key>
<string>2.0.28</string>
<string>3.0.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
Expand Down
4 changes: 2 additions & 2 deletions frontend/src-tauri/gen/apple/project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ targets:
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
CFBundleShortVersionString: 2.0.28
CFBundleVersion: 2.0.28
CFBundleShortVersionString: 3.0.0
CFBundleVersion: 3.0.0
entitlements:
path: maple_iOS/maple_iOS.entitlements
scheme:
Expand Down
4 changes: 2 additions & 2 deletions frontend/src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"productName": "Maple",
"version": "2.0.28",
"version": "3.0.0",
"identifier": "cloud.opensecret.maple",
"build": {
"frontendDist": "../dist",
Expand Down Expand Up @@ -89,7 +89,7 @@
"minimumSystemVersion": "16.0"
},
"android": {
"versionCode": 2000028000
"versionCode": 3000000000

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔴 Android versionCode 3000000000 exceeds 32-bit signed integer max, breaking Android builds

The Android versionCode is set to 3000000000, which exceeds the maximum value of a 32-bit signed integer (2,147,483,647). This value is parsed via .toInt() in frontend/src-tauri/gen/android/app/build.gradle.kts:24, which will throw a NumberFormatException and fail the Android build. The encoding scheme in justfile:106 (printf "%d%03d%03d000") produces 10-digit codes where major version ≥ 3 overflows Int.MAX_VALUE. The previous version 2.0.28 had versionCode 2000028000 which was just under the limit.

How the value flows to the build failure
  1. tauri.conf.json sets "versionCode": 3000000000
  2. Tauri writes this to tauri.properties as tauri.android.versionCode=3000000000
  3. build.gradle.kts:24 reads it: versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt()
  4. Kotlin's .toInt() throws NumberFormatException since 3,000,000,000 > 2,147,483,647
Prompt for agents
The Android versionCode encoding scheme in justfile:104-106 uses the format MMMMPPP000 (printf "%d%03d%03d000") which produces values that overflow a 32-bit signed integer when the major version reaches 3. The maximum allowed value is 2,147,483,647.

The versionCode in frontend/src-tauri/tauri.conf.json needs to be changed to a value under 2,147,483,647, and the encoding formula in justfile:106 needs to be updated to a scheme that won't overflow for major version 3+.

Possible approaches:
1. Use a shorter encoding like printf "%d%02d%02d%03d" (MMPPPCCC) giving 300000000 for 3.0.0 - fits easily.
2. Use printf "%d%03d%03d" (MMMMPPP without counter suffix) giving 3000000 for 3.0.0 - fits but loses the counter digits for Play Store re-uploads.
3. Use a multiplicative scheme: major*10000000 + minor*10000 + patch*10 + counter, giving 30000000 for 3.0.0.

Whichever scheme is chosen, also update the bump-android-build recipe (justfile:172+) to match, and ensure the new versionCode is strictly greater than the previous 2000028000 so existing Play Store users can update.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
},
"windows": {
"certificateThumbprint": null,
Expand Down
Loading