WootingKb / wootility-issues

A place to report issues with the Wootility and help with feedback on existing issues
25 stars 3 forks source link

Using profile manager and closing Wootility without saving changes causes desynced and loss of profiles #51

Open DarrenVs opened 4 years ago

DarrenVs commented 4 years ago

Describe the bug Profiles start to desync/corrupt when using the profile manager without manually saving changes to the keyboard after. This issue is also an example for #49 as the profile get destroyed when something goes wrong during the process of making it an Active Profile without any indication of something going wrong in Wootility.

To Reproduce

  1. Have a profile with some RGB presets saved on the keyboard
  2. Make a second (inactive) profile in the profile manager with different RGB presets
  3. Drag the new inactive profile to replace the active profile
  4. Close Wootility
  5. Re-open Wootility or switch profiles on your keyboard
  6. Notice the desynced profile possibly containing a 'corrupt' merge of RGB presets. Your previous active profile has been lost in the process.

Screenshots / Video (Click on the gif for video controls, they're long clips)

Moving profiles around and then closing Wootility P3y0FI7D6p

Also happens when editing a single profile XM4wjUs4Jm

Mixes of profiles; 'corruption' which can happen when switching profiles while it's still saving the inactive profile over the active one image image


Desktop

Wootility and Firmware version

Keyboard Type

PastaJ36 commented 4 years ago

I think we'll prevent this from happening with the profile backend rework we're working on. I'm going to add all of the profile issues listed so we can check them later.

Rocky04 commented 4 years ago

This bug is just because of an inconsistency, like the changed bindings are correctly saved, it seems to be just related to the RGB. This is a bug in the design flaw so if not correclty considered it would also happen with the other mechanic to handle the profiles.

I would expect that after swapping the profile the then temporary RGB also get saved. Unfortunately it's handled the same as a normal RGB change from the user (but a swap is different). So I would expect not a big deal to fix, just add a save command after the swap so that the temporayry RGB values are stored.