sandboxie-plus / Sandboxie

Sandboxie Plus & Classic
https://Sandboxie-Plus.com
GNU General Public License v3.0
13.69k stars 1.52k forks source link

Sandboxie-Plus Main Window UI Usability issues & bugs [priority:low] #359

Closed typpos closed 3 years ago

typpos commented 3 years ago

v0.5.4b and classic 5.46.1 on Win 10 Pro x64.

Just to say it up-front: Sandboxie-Plus is a very nice effort. These issues below are much less significant than ensuring security and maximising the number of applications that can be sandboxed.

1. Column widths

On start, column "Name" is rather narrow. Since sandbox names are limited to 32 chars, should give that a suitable width.

2. Name order

Sandbox names in Sandboxie-Plus are sorted in case-sensitive order. However in File Explorer (for normal Windows NT case-insensitve file systems) they are ordered case-insensitive. Likewise for sandboxie classic.

3. Creating sandbox with existing name

Creating a sandbox with an existing name is silently ignored. This also applies when the name of the new sandbox simply differs in case, eg, "AAA" vs "aaa". Sandboxie classic provides an appropriate error message.

4. [Bug] Single Instance

Sandboxie-Plus ensures that only a single instance of the application can run. However, it does not share this lock with sandboxie classic and it's possible to get the configuration into an undesired state:

  1. In sandboxie-plus, add a new sandbox, then edit the sandbox
  2. In sandboxie classic, delete the sandbox
  3. In sandboxie plus, save the changes

5. [Bug] Broken menu in sandboxie-classic after creating/deleting sandbox in Sandboxie-Plus

  1. In Sandboxie-Plus, create a new sandbox
  2. In sandoxie classic, the dropdown menu "Main Menu > Sandbox" now shows invalid entries, such as, empty lines or separator bars. Sandboxie classic does not show the new sandboxes. Everytime I open the "Sandbox" menu, another empty row is added.
  3. You can reload the config in sandboxie classic to see the sandboxes in the main window and the "Sandbox" menu, but the broken menu entries remain.

Screenshot after adding a sandbox to Sandboxie-Plus, then opening menu in sandboxie classic:

image

6. [Bug] Saving settings of deleted sandbox is silently ignored but breaks state consistency

  1. Create new sandbox
  2. In Sandboxie-Plus open "Sandbox Options" dialog
  3. In Sandboxie Classic delete the sandbox
  4. Sandboxie Plus correctly updates the list of sandboxes
  5. Make a change in the settings dialog and click ok
  6. Sandboxie-Plus silently ignores the missing setting, saves the changes to the sandboxie.ini file, but does not show the sandbox in the main window.
  7. It seems the sandbox is now a "hidden" sandbox (?) that can be revealed in sandboxie classic. Is there such an option in Sandboxie-Plus? Either way, not as anticipated.

This example is fairly benign ("Just don't use both systems, doh!"), but are there other state inconsistencies between UI, sandboxie.ini (snapshots.ini), and sandbox base directories that are more risky? Real concerns would be:

Software design-wise there does not seem to be a single point of authority that is responsible for the all-over state and is conservative/defensive about what settings changes are allowed and which ones are inconsistent and enforces an effectively transactional state change.

7. Incorrect initial tab in "Global Settings"

Global Settings Dialog starts out with "Advanced" tab selected.

8. Tab orders not set

Various dialogs don't have tab order correctly set. Unable to use dialogs without constantly using the mouse. Example: Global Settings Dialog.

9. Sandboxie Global Settings dialog does not invoke default Cancel nor Accept keys

ESC not working to close dialog. ENTER not working to accept changes.

10. Dark Theme: "Donate" shortcut not legible

Strange one:

11. Dark Theme: Disabled menu items are bold white

Instead of looking disabled, disabled menu items are bold white and stand out. Confusing.

image

12. [Bug] Able to delete last/default sandbox

Sandboxie classic adds a new DefaultBox if the last sandbox is deleted. Sandboxie Plus does not. That would be ok, if no other features implicitly would rely on the existence of the "DefaultBox" or at least one existing sandbox. For example:

  1. In Sandboxie plus, delete all sandboxes
  2. Open "Create new Sandbox"
  3. Select Radio button "Copy options from an existing box". Leave dropdown empty.
  4. Click ok
  5. Box is created, but error shows "Failed to copy configuration from sandbox: 0"

Example 2: Windows File Explorer context menu "Run Sandboxed": Dialog to select sandbox dies.

DavidXanatos commented 3 years ago
  1. fixed
  2. fixed
  3. fixed
  4. well some people want to sue booth UI's so I will not add a lock just yet, or should I add a lcok by default and add an ini option to disable it?
  5. see 4
  6. will add an option to revel hidden boxes in plus and may be add a lock to prevent saving when a box is gone
  7. fixed
  8. that can be easy fixed in the form editor but for a window like the sandbox options would be a looooot of work, any volunteers?
  9. fixed
  10. the label color gets only updated on a restart so when theme is changed not absolutely everything gets adapted to the new preset.
  11. fixed
  12. sbie plus will do the same in next build
typpos commented 3 years ago

4 & 5: I think it's fine to let people use classic and plus concurrently. I wouldn't spend time to make an ini-configurable lock. A workaround for now might be to show a one-off "be careful" message in Plus if it sees classic running/starting. If you're planning to fully support classic in the long run (and/or intend to keep going with non-modal configuration dialogs in Plus), then a better solution may be needed, eg, monitor folders & ini and trigger live UI updates, but that's some work.

8: Sorry. I'm Qt agnostic and haven't installed it. In .NET WinForms you simply click on each control in-order in the UI designer.

DavidXanatos commented 3 years ago
  1. yea thats kind of the same for Qt but the box options window with tabs and sub tabs simply has a loooooot of controls to click on, tedious boring work.
DavidXanatos commented 3 years ago

I think i can clsoe this one as well