phyrox-portable icon indicating copy to clipboard operation
phyrox-portable copied to clipboard

Syncing data between multiple devices may cause the program to fail to start properly

Open Huiaei opened this issue 3 months ago • 1 comments

Abstract

After synchronizing a directory containing an application's configuration profile from one computer to another via a USB flash drive using FreeFileSync, launching the application on the second device results in an issue where the interface is mostly blank, with only a few unresponsive buttons visible. This problem may be related to the synchronization of the prefs.js file.

Background and Environment

  • Project Version: I am using a personally maintained forked version to keep it updated, not the official version.
    • Fork Project Address: Huiaei/phyrox-portable
  • Deployment Environment: The application is deployed on a USB flash drive for use between two PCs (home and office).
  • Synchronization Method:
    • Office Computer: The application is run directly from the USB flash drive.
    • Home Computer: FreeFileSync is used to perform a two-way synchronization of the USB flash drive files with the local disk, and the application is run locally (it has been set as the default application via the registry).

Steps to Reproduce the Issue

  1. Use and exit the application normally on the home computer.
  2. Use FreeFileSync to synchronize the application directory (including the profile folder) from the home computer to the USB flash drive.
  3. Connect the USB flash drive to the office computer.
  4. Launch the application directly from the USB flash drive.

Expected Behavior

The application should start normally, with all interface elements, configurations, and extensions fully loaded.

Actual Behavior

The application exhibits severe display issues upon launch:

  • The main interface is mostly blank.
  • Only a very small number of buttons are displayed, and all of them are unresponsive.
  • The application is unusable and can only be force-closed via the taskbar.

Temporary Workaround

The following steps can temporarily restore the application's functionality, but with side effects:

  1. Navigate to the profile folder and rename the prefs.js file (e.g., to prefs.js.bak).
  2. Restart the application. It will generate a new prefs.js file, and the interface will return to normal.
  3. Close the application and delete the newly generated prefs.js file.
  4. Rename the prefs.js.bak file back to prefs.js.
  5. Launch the application again. It should now load correctly.

Side Effects

  • After restoring the application using the method above, some extensions fail to load successfully.
  • It is necessary to manually go into the extension settings page, disable the unloaded extensions, and then re-enable them to restore their functionality.

Additional Notes

First, my sincere apologies. I understand that I am not using the official project version and have not tested this in a clean environment, so this issue may be specific to my personal setup.

The reason I am bringing this up here is that I cannot resolve this issue on my own and am hoping to get some possible ideas or assistance. If this issue is not appropriate for discussion here or if it has caused any inconvenience, please disregard it. Thank you very much for your understanding and time.


The above text was optimized and translated by Gemini 2.5 Pro.

Huiaei avatar Sep 22 '25 03:09 Huiaei

I tried synchronizing only the 'data' folder within the directory in FreeFileSync, and it seems the issue no longer occurs.

Huiaei avatar Oct 04 '25 15:10 Huiaei