Skip to content

fix: use non-blocking dialog when settings.json is corrupted - #439

Merged
SamXop123 merged 1 commit into
SamXop123:mainfrom
Kirtan-pc:fix/non-blocking-settings-corruption-dialog
Aug 5, 2026
Merged

fix: use non-blocking dialog when settings.json is corrupted#439
SamXop123 merged 1 commit into
SamXop123:mainfrom
Kirtan-pc:fix/non-blocking-settings-corruption-dialog

Conversation

@Kirtan-pc

Copy link
Copy Markdown
Contributor

Description

Fixes startup blocking when settings.json is corrupted by removing the synchronous modal dialog from the settings load path.

Changes

  • Replaced blocking dialog.showMessageBoxSync() with the async dialog.showMessageBox() in settingsStore.load().
  • Default settings are now returned immediately, so app initialization completes without waiting for user input.
  • The corruption warning is shown asynchronously, so startup no longer hangs on headless systems or automated environments.
  • Corrupted settings file is still backed up and defaults are still applied.
  • Tray/system notification behavior is preserved.

Related Issue

Closes #405

Testing

  • Verified all 43 unit tests pass with:
npm test
  • Verified whitespace and formatting checks:
git diff --check

Benefits

  • App startup no longer blocks when settings.json is corrupted.
  • Headless systems and automated environments can launch and initialize without a dismissible dialog.
  • Users are still informed about the reset via the async dialog and system notification.

Replace dialog.showMessageBoxSync() with the async dialog.showMessageBox()
in settingsStore.load(). The synchronous modal previously blocked the
entire startup sequence during app.whenReady() until the user dismissed
it, which hung indefinitely on headless systems and automated
environments. Defaults are now returned immediately and the warning is
shown asynchronously without blocking initialization.
@vercel

vercel Bot commented Aug 1, 2026

Copy link
Copy Markdown

@Kirtan-pc is attempting to deploy a commit to the Dot_NotSam's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 36146109-f227-4f73-90d1-5f27963f0d69

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@SamXop123
SamXop123 merged commit 4ac053f into SamXop123:main Aug 5, 2026
5 of 7 checks passed
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

🎉 Congratulations @Kirtan-pc! 🎉

Your pull request has been successfully merged into Paraline! Thank you so much for your valuable contribution and effort. Every single improvement helps make Paraline a better desktop experience for everyone! 🙌

🚀 What's Next?

  • Keep the momentum going! Feel free to browse through our open Issues and grab another one that interests you!
  • Support the Project: If you enjoyed contributing to Paraline, please take a second to star our repository! It helps increase the project's visibility and supports our community. ⭐

💬 Stay Connected:
Have any questions, want feedback, or just want to discuss further contributions? Feel free to reach out directly to the maintainer on Discord: dot_notsam!

Thank you again, and keep up the amazing work! 💻✨

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.

[BUG] [ENHANCEMENT] Synchronous dialog blocks entire app startup on corrupted settings

2 participants