Skip to content

fix(cloud-sync): improve cloud backup progress and recovery feedback - #89

Merged
mehradotdev merged 1 commit into
mainfrom
fix.mobile-backup-feedback
Sep 21, 2026
Merged

mehradotdev merged 1 commit into
mainfrom
fix.mobile-backup-feedback

Conversation

@mehradotdev

@mehradotdev mehradotdev commented Sep 21, 2026 •

Copy link
Copy Markdown
Owner

What changed and why?

Cloud backup setup and recovery could appear unresponsive while work continued in the background.

  • Show setup phases, elapsed time, and guidance after 90 seconds.
  • Display attention messages when setup needs intervention.
  • Show recovery spinners and disable recovery and sync buttons while actions run.
  • Add localized progress messages across all supported languages.
  • Add setup progress and translation interpolation tests.
  • Remove the obsolete Hindi “coming soon” option.

Verification

  • Passed mobile TypeScript checks.

  • Passed ESLint for the cloud backup screen.

  • Passed formatting checks for the cloud backup screen.

  • Added tests have not been run in this session.

  • Device testing, including loading states, large text, and RTL layout, remains pending.

  • This PR is focused and its title follows Conventional Commits.

  • I updated relevant tests and documentation, or they are not affected.

  • For mobile text changes, I followed docs/localization.md and updated all catalogs, or text is not affected.

Summary by CodeRabbit

  • New Features

    • Added cloud backup setup progress feedback, including current phase, elapsed time, activity status, and guidance when setup takes longer than expected.
    • Added authorization attention messaging during setup.
    • Added translated setup messages across supported languages.
  • Bug Fixes

    • Prevented recovery and sync actions from being triggered repeatedly while an operation is in progress.
    • Removed the unavailable Hindi placeholder from the language selector.
  • Tests

    • Added coverage for setup progress states, elapsed-time display, slow connections, authorization prompts, and translation interpolation.

- Show setup phases, elapsed time, and guidance after 90 seconds
- Display attention messages when setup needs intervention
- Show recovery spinners and disable actions while processing
- Localize progress messages across all supported languages
- Add setup progress and translation interpolation tests
- Remove the obsolete Hindi coming-soon option
@coderabbitai

coderabbitai Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Understand this PR’s impact

Explore downstream dependencies and potential security impact with Blast Radius.

View blast radius →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: e93069cd-5989-485a-8cdd-dd36393c879e

📥 Commits

Reviewing files that changed from the base of the PR and between b84689a and f1b2b78.

📒 Files selected for processing (14)
  • apps/mobile/src/components/LanguageSelectControl.tsx
  • apps/mobile/src/lib/i18n/translations/ar.ts
  • apps/mobile/src/lib/i18n/translations/de.ts
  • apps/mobile/src/lib/i18n/translations/en.ts
  • apps/mobile/src/lib/i18n/translations/es.ts
  • apps/mobile/src/lib/i18n/translations/he.ts
  • apps/mobile/src/lib/i18n/translations/hi.ts
  • apps/mobile/src/lib/i18n/translations/runtime.test.ts
  • apps/mobile/src/lib/i18n/translations/sv.ts
  • apps/mobile/src/lib/i18n/translations/zh-CN.ts
  • apps/mobile/src/lib/i18n/translations/zh-TW.ts
  • apps/mobile/src/screens/cloudBackup/index.tsx
  • apps/mobile/src/screens/cloudBackup/setup-progress.test.tsx
  • apps/mobile/src/screens/cloudBackup/setup-progress.tsx
💤 Files with no reviewable changes (1)
  • apps/mobile/src/components/LanguageSelectControl.tsx

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The cloud backup screen now displays localized setup progress, elapsed time, slow-setup guidance, and authorization attention states. It prevents concurrent actions and validates the new behavior. The language selector no longer shows the disabled Hindi placeholder.

Changes

Cloud setup progress

Layer / File(s) Summary
Setup progress component and localized messages
apps/mobile/src/screens/cloudBackup/setup-progress.tsx, apps/mobile/src/lib/i18n/translations/*
SetupProgress tracks elapsed seconds, selects messages from the sync snapshot, hides the spinner for authorization attention, and shows slow-setup guidance after 90 seconds. New translations support the added messages.
Cloud backup action and progress integration
apps/mobile/src/screens/cloudBackup/index.tsx
CloudBackupScreen tracks running actions, disables conflicting controls, passes the snapshot to ConnectionChoice, and renders SetupProgress during setup.
Setup progress and translation validation
apps/mobile/src/screens/cloudBackup/setup-progress.test.tsx, apps/mobile/src/lib/i18n/translations/runtime.test.ts
Tests cover phase messages, elapsed time, the 90-second threshold, authorization attention, timer cleanup, and translation placeholders.

Language selection cleanup

Layer / File(s) Summary
Language option rendering
apps/mobile/src/components/LanguageSelectControl.tsx
The disabled Hindi “SOON” option was removed. The dropdown now renders languages from the sorted array.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix

Sequence Diagram(s)

sequenceDiagram
  participant CloudBackupScreen
  participant ConnectionChoice
  participant SetupProgress
  participant TranslationCatalog
  CloudBackupScreen->>ConnectionChoice: render busy setup with snapshot
  ConnectionChoice->>SetupProgress: pass snapshot
  SetupProgress->>TranslationCatalog: request localized setup text
  TranslationCatalog-->>SetupProgress: return status and elapsed-time text
  SetupProgress-->>ConnectionChoice: render setup progress
  ConnectionChoice-->>CloudBackupScreen: display setup state
Loading
🚥 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%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 11 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ 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 clearly and concisely describes the main changes to cloud backup progress and recovery feedback.
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.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@mehradotdev
mehradotdev merged commit 3029215 into main Sep 21, 2026
3 checks passed
@mehradotdev
mehradotdev deleted the fix.mobile-backup-feedback branch September 21, 2026 02:11
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