Description
This is related to #311, but focuses specifically on user-triggered export actions in main.js and missing inline Settings UI feedback, not internal settingsStore save methods.
The theme profile export and full settings backup export handlers write files with writeFileSync() without catching errors. If the selected destination is unwritable or the write fails, the IPC call can reject and the Settings UI may show no clear failure message.
Affected Areas
theme-profiles:export IPC handler
settings:export-all IPC handler
- Export actions in
settings.js
Steps to Reproduce
- Open Paraline Settings and create or select a theme profile.
- Click Export Theme Profile or Export All Settings.
- Choose a destination where the application cannot write, such as a protected folder, read-only location, or locked file path.
Expected Behaviour
The export handler should catch write errors and return a structured failure response (for example, { success: false, error: "..." }). The Settings UI should display a clear error message explaining that the export failed and why.
Actual Behaviour
The export handlers write files directly with writeFileSync(). If the write operation fails, the IPC invocation can reject, resulting in inconsistent or missing user-facing error feedback.
Environment
- OS: Windows
- Node Version: v22.17.0
- Electron Version: ^37.0.0
- Repo Version / Commit: v2.2.0 / dbaae83
Description
This is related to #311, but focuses specifically on user-triggered export actions in
main.jsand missing inline Settings UI feedback, not internal settingsStore save methods.The theme profile export and full settings backup export handlers write files with
writeFileSync()without catching errors. If the selected destination is unwritable or the write fails, the IPC call can reject and the Settings UI may show no clear failure message.Affected Areas
theme-profiles:exportIPC handlersettings:export-allIPC handlersettings.jsSteps to Reproduce
Expected Behaviour
The export handler should catch write errors and return a structured failure response (for example,
{ success: false, error: "..." }). The Settings UI should display a clear error message explaining that the export failed and why.Actual Behaviour
The export handlers write files directly with
writeFileSync(). If the write operation fails, the IPC invocation can reject, resulting in inconsistent or missing user-facing error feedback.Environment