Skip to content

fix(kobo): default kobo forward to store setting "on"#515

Merged
zachyale merged 1 commit into
grimmory-tools:developfrom
imnotjames:fix/510/default-kobo-proxy-on
Apr 16, 2026
Merged

fix(kobo): default kobo forward to store setting "on"#515
zachyale merged 1 commit into
grimmory-tools:developfrom
imnotjames:fix/510/default-kobo-proxy-on

Conversation

@imnotjames

@imnotjames imnotjames commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Description

defaults the kobo store proxy to "on" because most users today will need it for the sync to work

Linked Issue: Fixes #510

Changes

  • updates the kobo settings DTO so the kobo forward to store setting is "on" when not specified
  • updates the settings persistence helper with a default "on" value for the kobo store

Summary by CodeRabbit

  • Bug Fixes

    • Kobo Store forwarding is now enabled by default, ensuring newly created or missing-pref settings forward to Kobo.
  • Chores

    • Improved loading of Kobo-related settings so default preferences are consistently applied when absent.

@coderabbitai

coderabbitai Bot commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e71e669e-8d8e-4586-993b-b43d4e52efe6

📥 Commits

Reviewing files that changed from the base of the PR and between a558de8 and b3e71a4.

📒 Files selected for processing (2)
  • booklore-api/src/main/java/org/booklore/model/dto/settings/KoboSettings.java
  • booklore-api/src/main/java/org/booklore/service/appsettings/SettingPersistenceHelper.java
✅ Files skipped from review due to trivial changes (1)
  • booklore-api/src/main/java/org/booklore/service/appsettings/SettingPersistenceHelper.java
🚧 Files skipped from review as they are similar to previous changes (1)
  • booklore-api/src/main/java/org/booklore/model/dto/settings/KoboSettings.java
📜 Recent review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Test Suite / Frontend Tests
  • GitHub Check: Test Suite / Backend Tests
  • GitHub Check: Analyze (java-kotlin)
🧰 Additional context used
🔀 Multi-repo context grimmory-tools/grimmory-docs

Linked repositories findings

grimmory-tools/grimmory-docs

  • Docs explicitly document the Kobo integration and administrator defaults that relate to this PR:
    • docs/integration/kobo.md: lines describing how the integration redirects Kobo's sync to Grimmory, device configuration, and note "Admins have Kobo Sync enabled by default." [::grimmory-tools/grimmory-docs::docs/integration/kobo.md]
    • docs/tools/devices.md: "📲 Kobo Integration" section and "⚙️ Kobo Administrator Settings" describing admin-visible Kobo settings and sync-related options (KEPUB conversion, auto-add, etc.). [::grimmory-tools/grimmory-docs::docs/tools/devices.md]
    • docs/tools/devices.md: troubleshooting notes about reverse proxy headers and "Store unavailable" error — relevant because toggling forwardToKoboStore affects whether Grimmory proxies Kobo store requests. [::grimmory-tools/grimmory-docs::docs/integration/kobo.md]
    • Multiple images related to Kobo device setup and admin settings under static/img/kobo/ and static/img/devices/kobo-admin-settings.jpg which may need updates only if UI text or behavior changes. [::grimmory-tools/grimmory-docs::static/img/kobo/, ::grimmory-tools/grimmory-docs::static/img/devices/kobo-admin-settings.jpg]

Relevance summary:

  • The docs already state admins have Kobo sync enabled by default; this PR changes the Kobo "forward to store" (proxy) default to on — consistent with documented intent to make Kobo work out-of-the-box. The docs also warn about reverse proxy configuration and "Store unavailable" errors, which are directly relevant if the proxy behavior changes traffic patterns or headers.

📝 Walkthrough

Walkthrough

KoboSettings now uses a Jackson-annotated no-args constructor for deserialization and the forwardToKoboStore default has been changed from false to true, with the default also set in the settings persistence helper.

Changes

Cohort / File(s) Summary
Kobo settings DTO & defaults
booklore-api/src/main/java/org/booklore/model/dto/settings/KoboSettings.java, booklore-api/src/main/java/org/booklore/service/appsettings/SettingPersistenceHelper.java
Added @JsonCreator to Lombok no-args constructor; changed forwardToKoboStore default from falsetrue and explicitly set it in the default settings builder.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • balazs-szucs
  • zachyale

Poem

🐰 I hopped through code at break of day,
Enabled a proxy to smooth the way.
Defaults flipped true, constructors aligned,
Now Kobo syncs with fewer binds. ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The PR title follows conventional commit format with type 'fix' and scope 'kobo', accurately describing the main change of defaulting the Kobo forward-to-store setting to 'on'.
Description check ✅ Passed The PR description follows the required template with all sections completed, including Description, Linked Issue reference (#510), and a clear summary of changes made.
Linked Issues check ✅ Passed The PR successfully implements the requirement from issue #510 by defaulting the Kobo forward-to-store setting to 'on' in both the DTO and settings helper, enabling out-of-the-box sync.
Out of Scope Changes check ✅ Passed All changes are scoped to defaulting the Kobo forward-to-store setting as specified in issue #510; no unrelated modifications are present.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@imnotjames imnotjames force-pushed the fix/510/default-kobo-proxy-on branch from a558de8 to b3e71a4 Compare April 16, 2026 07:00
@coderabbitai coderabbitai Bot requested a review from zachyale April 16, 2026 07:01
@sonarqubecloud

Copy link
Copy Markdown

@zachyale zachyale merged commit de1eb09 into grimmory-tools:develop Apr 16, 2026
16 checks passed
zachyale pushed a commit to zachyale/grimmory that referenced this pull request Apr 17, 2026
zachyale pushed a commit to zachyale/grimmory that referenced this pull request Apr 17, 2026
@imnotjames imnotjames deleted the fix/510/default-kobo-proxy-on branch April 28, 2026 20:47
dsmouse pushed a commit to dsmouse/grimmory that referenced this pull request May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Kobo proxy is required for most users

3 participants