reordering services in workspaces by drag and drop does not work
Avoid duplicates
- [X] I agree to follow the Code of Conduct that this project adheres to.
- [X] I have searched the issues tracker for a bug report similar to mine, in vain
Ferdium Version
6.7.1
What Operating System are you using?
Other Linux
Operating System Version
fedora 39
What arch are you using?
x64
Last Known Working Ferdium version
No response
Expected Behavior
drag and drop service icons and the (new) order should be kept
Actual Behavior
only works with icons of 'all services' but not in workspaces
Steps to reproduce
see above
Debug link
No response
Screenshots
No response
Additional information
No response
Closing as duplicate of https://github.com/ferdium/ferdium-app/issues/146. Please search the issue board before opening an issue.
Reopening this issue per https://github.com/ferdium/ferdium-app/issues/146#issuecomment-2002190730
Nevertheless, I'm not able to reproduce this issue in Windows neither in macOS. @KelSolaar would you be able to provide your dev console logs by going to help > Publish debug info and pasting the link here? Thank you!
Reopening this issue per #146 (comment)
Nevertheless, I'm not able to reproduce this issue in Windows neither in macOS. @KelSolaar would you be able to provide your dev console logs by going to help > Publish debug info and pasting the link here? Thank you!
Ok, I think I've figure out some of the issues:
- Let's say, that you have 20 services in total.
- Then, you create 3 Workspaces: A, B and C. You put 17 services in "A", and the 3 remaining services into "B".
- Now, you have 4 options in the Workspaces drawer: "All Services", "A", "B", "C"
- You go to the "All Services" option, and re-arrange the icons, any of the 20 icons. And it works, the 20 icons can be re-arranged, for example you could swap the 1st with the 20th.
- Now, to reproduce the problem. You go to the "A" option, and re-arrange the first 5-6 icons, and no problem. Then further down the icon list, you start having issues. if you try to swap the 1st and the 17th, it won't happen. Only the first icons re-arrange (I'm not sure up to what number. I can tell you, that for some reason, when I edited the sqlite db, in the table "services", in the "settings" field, if you search the json object, my services only had the key/value pair "order": number up to the service number 13. I also noted that some of the "higher" number services, without a number, had personalized icons. Maybe the method that writes the icons data, destroys unknowingly the key "order", that I'm not sure. But this is not the real issue. The real issue is below).
After checking the DB, and do some live testing/debugging, I found out this: If you go to the table "Workspaces", look for the "A" workspace", and check the services list object, you could find something interesting. When I move the first icons the guids (I'm guessing they are guids) swapped, but, every time I swapped the icons towards the end, on top of the fact that the icons would move back to their original position, I realized a new 'empty' giud would be created (always the same one): "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0"
Check my services list (I've shortened it for obvious reasons. 32 guids in total (way to many), for 18 services total, and 14 in my workspace): [ "5c628b2d-b473-4b5b-9869-89d9bad76411", "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0", "f186056a-c635-4fed-ad95-fcb0d789a19f", "8db6cb42-1d63-493a-89d3-882410a49fd1", "10afa747-1644-4b29-a4e6-e5486b459f71", "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0", "a8693e80-84a7-4b82-ad0e-1cb5fec756f2", "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0", "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0", ... "c4c8d683-ffdd-4b7b-ad2b-42aa5789ae7e", "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0", "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0", "ffd9c377-1fe6-4d2a-8822-048ee5c7c777", "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0", "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0" ]
I hope this sheds some light about the issues.
PS: After cleaning all the "0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0" guids from the table, everything seemed to work back again. Also, I usually leave Ferdium open while I put my PC to sleep, then waking it up again, for months. Maybe, at that point the corruption occurs, and after the corruption, ordering icons starts to fail again. A simple object validation searching for that rogue guid could work, or maybe comparing the guids main list (or hashtable) vs the services object from workspaces, to find corrupted data. 🤷♂️