Skip to content

Bump to 3.0#507

Open
AnthonyRonning wants to merge 2 commits intomasterfrom
bump-3
Open

Bump to 3.0#507
AnthonyRonning wants to merge 2 commits intomasterfrom
bump-3

Conversation

@AnthonyRonning
Copy link
Copy Markdown
Contributor

@AnthonyRonning AnthonyRonning commented May 6, 2026


Open in Devin Review

Summary by CodeRabbit

  • Chores

    • Application version updated to 3.0.0
    • iOS minimum system version requirement updated to 16.0
    • Android bundle versionCode incremented
  • Chores / Release tooling

    • Simplified Android versionCode increment flow in release tooling
  • Documentation

    • Expanded Android platform-detection guidance, Play Store/deep-linking notes, and README clarification on versionCode handling

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

📝 Walkthrough

Walkthrough

This PR increments the project version from 2.0.28 to 3.0.0 across frontend manifests, updates tauri configuration (adds iOS bundle.minimumSystemVersion "16.0" and increments Android bundle.versionCode from 2000028000 to 2000028001), simplifies Android versionCode logic in the release justfile, and adds/updates Android platform and release guidance in docs and README.

Changes

Version & Platform Sync + Release Tooling

Layer / File(s) Summary
Manifest Version Bump
frontend/package.json, frontend/src-tauri/Cargo.toml, frontend/src-tauri/tauri.conf.json
Version fields changed from "2.0.28" → "3.0.0".
Tauri Platform Configuration
frontend/src-tauri/tauri.conf.json
Added bundle.iOS.minimumSystemVersion: "16.0" and updated bundle.android.versionCode 2000028000 → 2000028001.
Release Tooling / VersionCode Logic
justfile
Android versionCode calculation simplified: increment existing versionCode by 1 and validate against Play maximum; update-android-counter updated accordingly.
Documentation: Platform & Release Guidance
docs/android-platform-checks-analysis.md
Adds unified platform-detection design notes, migration guidance, and recommends sequential Android versionCode management; replaces prior derived-versionCode scheme.
Documentation: Quick Notes
README.md
Added note clarifying Android versionCode is internal and to use just update-android-counter for internal/test builds.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰
Hop to three, with tiny feet,
Manifests aligned and neat.
iOS set to sixteen high,
Android counter ticks by one — oh my!
Rabbit drums a release-beat treat.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Bump to 3.0' accurately summarizes the main change: a version bump from 2.0.28 to 3.0.0 across all relevant manifest and configuration files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bump-3

Comment @coderabbitai help to get the list of available commands and usage tips.

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

cloudflare-workers-and-pages Bot commented May 6, 2026

Deploying maple with  Cloudflare Pages  Cloudflare Pages

Latest commit: 4f98ec9
Status: ✅  Deploy successful!
Preview URL: https://25bc874a.maple-ca8.pages.dev
Branch Preview URL: https://bump-3.maple-ca8.pages.dev

View logs

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

View 2 additional findings in Devin Review.

Open in Devin Review

Comment thread frontend/src-tauri/tauri.conf.json Outdated
},
"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.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@frontend/src-tauri/tauri.conf.json`:
- Line 92: The Android versionCode value is too large (3000000000) and must be
reduced to a valid integer ≤ 2100000000 and greater than the previous code
1003002002; update the "versionCode" entry in tauri.conf.json from 3000000000 to
a compliant integer (for example 2100000000 or any value in (1003002002,
2100000000]) ensuring it remains a numeric JSON value.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 83974dfc-608d-4ccd-9a36-17f1a282a31c

📥 Commits

Reviewing files that changed from the base of the PR and between 715b13d and 9928fcb.

⛔ Files ignored due to path filters (3)
  • frontend/src-tauri/Cargo.lock is excluded by !**/*.lock
  • frontend/src-tauri/gen/apple/maple_iOS/Info.plist is excluded by !**/gen/**
  • frontend/src-tauri/gen/apple/project.yml is excluded by !**/gen/**
📒 Files selected for processing (3)
  • frontend/package.json
  • frontend/src-tauri/Cargo.toml
  • frontend/src-tauri/tauri.conf.json

Comment thread frontend/src-tauri/tauri.conf.json Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
justfile (1)

121-121: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Avoid sed for JSON mutation; it can silently miss versionCode updates.

These replacements are text-pattern dependent. If formatting changes, update can fail while the script still reports success, leaving a stale versionCode.

Proposed fix
-    # Update tauri.conf.json Android versionCode
-    sed -i "s/\"versionCode\": [0-9]*/\"versionCode\": $android_version_code/" frontend/src-tauri/tauri.conf.json
+    # Update tauri.conf.json Android versionCode (structure-safe)
+    tmp_json="$(mktemp)"
+    jq --argjson code "$android_version_code" '.bundle.android.versionCode = $code' \
+      frontend/src-tauri/tauri.conf.json > "$tmp_json"
+    mv "$tmp_json" frontend/src-tauri/tauri.conf.json
@@
-    # Update tauri.conf.json Android versionCode
-    sed -i "s/\"versionCode\": $current_code/\"versionCode\": $new_code/" frontend/src-tauri/tauri.conf.json
+    # Update tauri.conf.json Android versionCode (structure-safe)
+    tmp_json="$(mktemp)"
+    jq --argjson code "$new_code" '.bundle.android.versionCode = $code' \
+      frontend/src-tauri/tauri.conf.json > "$tmp_json"
+    mv "$tmp_json" frontend/src-tauri/tauri.conf.json

Also applies to: 197-197

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@justfile` at line 121, The sed-based JSON mutation using the command that
targets "versionCode" (the sed line replacing "versionCode": [0-9]* with
$android_version_code) is brittle and can silently fail; replace it with a
robust JSON-aware update (e.g., use jq or a small Node/Python script) that reads
frontend/src-tauri/tauri.conf.json, parses the JSON, sets .package.versionCode
(or the exact JSON path where "versionCode" lives) to the android_version_code
variable, and writes the file back atomically; apply the same replacement
wherever the sed command is used (the other occurrence noted in the review).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@justfile`:
- Line 121: The sed-based JSON mutation using the command that targets
"versionCode" (the sed line replacing "versionCode": [0-9]* with
$android_version_code) is brittle and can silently fail; replace it with a
robust JSON-aware update (e.g., use jq or a small Node/Python script) that reads
frontend/src-tauri/tauri.conf.json, parses the JSON, sets .package.versionCode
(or the exact JSON path where "versionCode" lives) to the android_version_code
variable, and writes the file back atomically; apply the same replacement
wherever the sed command is used (the other occurrence noted in the review).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ab2c7f39-a82f-4884-8bfd-bc850334210e

📥 Commits

Reviewing files that changed from the base of the PR and between 9928fcb and 4f98ec9.

📒 Files selected for processing (4)
  • README.md
  • docs/android-platform-checks-analysis.md
  • frontend/src-tauri/tauri.conf.json
  • justfile

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