Conversation
📝 WalkthroughWalkthroughAdds a new "Service disruption" section to the support policy and inserts a localized "Service disruption policy" link on the pricing page; also adds English message keys for the new content. No runtime logic changes. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d212b4b4c8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
src/pages/support-policy.astro
Outdated
| <h2>{m.support_policy_premium_support_title({}, { locale: Astro.locals.locale })}</h2> | ||
| <p>{m.support_policy_premium_support_desc({}, { locale: Astro.locals.locale })}</p> | ||
|
|
||
| <h2 id="service-disruption-and-ending">Service disruption and plan ending</h2> |
There was a problem hiding this comment.
Move disruption section copy into locale messages
This page is otherwise fully driven by @/paraglide/messages, but the new section is hardcoded in English, so every non-English locale now renders a mixed-language support policy page. In practice this regresses localization quality for all translated routes and bypasses the normal translation workflow for policy text; the new heading/paragraph/list items should be added as message keys and rendered via m.* like the surrounding content.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/pages/pricing.astro`:
- Line 216: The URL passed to getRelativeLocaleUrl is missing a leading slash,
which can cause incorrect relative resolution; update the call site where
getRelativeLocaleUrl(Astro.locals.locale,
'support-policy#service-disruption-and-ending') is used to include a leading
slash in the path string (i.e., '/support-policy#service-disruption-and-ending')
so the helper receives an absolute root-relative path.
- Line 219: Replace the hardcoded link text "Service disruption and plan ending
details" in pricing.astro with a localized message lookup (e.g., use
m.serviceDisruptionDetails or similar on the existing m message object) wherever
the link is rendered, and add the corresponding key ("serviceDisruptionDetails")
with the translated string to the paraglide messages bundle so the page uses
m.serviceDisruptionDetails instead of the literal English text.
In `@src/pages/support-policy.astro`:
- Around line 72-92: Replace the new hardcoded English strings in the "Service
disruption and plan ending" block with localized message keys from the existing
messages module (use the same m.* pattern from "@/paraglide/messages"); add
entries such as m.service_disruption_title, m.service_disruption_intro,
m.service_disruption_timeout, m.service_disruption_if_down,
m.service_disruption_if_billing, m.service_disruption_if_traffic and
m.service_disruption_conclusion (or similar names) in the messages file, then
swap the literal <h2>, <p> and <li> text in the component for the corresponding
m.* references so the section uses the same i18n approach as the rest of the
page.
b04144b to
4c888b2
Compare
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@messages/en.json`:
- Around line 2954-2955: Update the two JSON message values to use
device-neutral and protocol-precise wording: for key
support_policy_service_disruption_if_billing_stopped replace "phone" with
"device", and for key support_policy_service_disruption_if_capgo_down replace
"500-style result" with "5xx response" (keep the rest of each sentence intact
and ensure escaping/quoting remains valid in messages/en.json).
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
messages/en.jsonsrc/pages/pricing.astrosrc/pages/support-policy.astro
🚧 Files skipped from review as they are similar to previous changes (2)
- src/pages/support-policy.astro
- src/pages/pricing.astro
| "support_policy_service_disruption_if_billing_stopped": "<strong>If payment is stopped or billing is canceled:</strong> the last successfully installed update remains on each phone, but no new updates are downloaded.", | ||
| "support_policy_service_disruption_if_capgo_down": "<strong>If Capgo is down:</strong> in background mode, this is usually invisible to users. In direct mode, the service may return a 500-style result when reachable; if the server is simply too slow, the plugin waits up to 3 seconds, cancels the query, and continues normal app startup.", |
There was a problem hiding this comment.
Use device-neutral and protocol-precise wording here.
Line 2954 says “phone” (narrower than the rest of the docs), and Line 2955 says “500-style result” (imprecise). Consider “device” and “5xx response” for consistency and clarity.
Suggested copy tweak
- "support_policy_service_disruption_if_billing_stopped": "<strong>If payment is stopped or billing is canceled:</strong> the last successfully installed update remains on each phone, but no new updates are downloaded.",
- "support_policy_service_disruption_if_capgo_down": "<strong>If Capgo is down:</strong> in background mode, this is usually invisible to users. In direct mode, the service may return a 500-style result when reachable; if the server is simply too slow, the plugin waits up to 3 seconds, cancels the query, and continues normal app startup.",
+ "support_policy_service_disruption_if_billing_stopped": "<strong>If payment is stopped or billing is canceled:</strong> the last successfully installed update remains on each device, but no new updates are downloaded.",
+ "support_policy_service_disruption_if_capgo_down": "<strong>If Capgo is down:</strong> in background mode, this is usually invisible to users. In direct mode, the service may return a 5xx response when reachable; if the server is simply too slow, the plugin waits up to 3 seconds, cancels the query, and continues normal app startup.",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "support_policy_service_disruption_if_billing_stopped": "<strong>If payment is stopped or billing is canceled:</strong> the last successfully installed update remains on each phone, but no new updates are downloaded.", | |
| "support_policy_service_disruption_if_capgo_down": "<strong>If Capgo is down:</strong> in background mode, this is usually invisible to users. In direct mode, the service may return a 500-style result when reachable; if the server is simply too slow, the plugin waits up to 3 seconds, cancels the query, and continues normal app startup.", | |
| "support_policy_service_disruption_if_billing_stopped": "<strong>If payment is stopped or billing is canceled:</strong> the last successfully installed update remains on each device, but no new updates are downloaded.", | |
| "support_policy_service_disruption_if_capgo_down": "<strong>If Capgo is down:</strong> in background mode, this is usually invisible to users. In direct mode, the service may return a 5xx response when reachable; if the server is simply too slow, the plugin waits up to 3 seconds, cancels the query, and continues normal app startup.", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@messages/en.json` around lines 2954 - 2955, Update the two JSON message
values to use device-neutral and protocol-precise wording: for key
support_policy_service_disruption_if_billing_stopped replace "phone" with
"device", and for key support_policy_service_disruption_if_capgo_down replace
"500-style result" with "5xx response" (keep the rest of each sentence intact
and ensure escaping/quoting remains valid in messages/en.json).



Summary\n- Added a new section to the support policy page documenting Capgo disruption/ending scenarios and fallback behavior.\n- Documented 3-second plugin timeout behavior for unreachable or slow update requests in both background and direct update modes.\n- Clarified account/payment plan outcomes: existing installed updates remain, but no new updates are downloaded when payment stops or plan limits are exceeded.\n- Added a direct link from pricing to the new section using an in-page anchor for discoverability.
Summary by CodeRabbit