Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Database view splitters are hidden if MinimizeOnStartup is enabled and no splitter sizes are configured #11013

Open
laribA opened this issue Jul 1, 2024 · 9 comments · May be fixed by #11014
Labels
Milestone

Comments

@laribA
Copy link

laribA commented Jul 1, 2024

Overview

Enabling both "Minimize window at application startup" and "Show a system tray icon" causes the outside bordering window (the Groups view on the side, the Searches and Tags menu, and the entry details on the bottom) to not appear when the database is unlocked.

Steps to Reproduce

  1. Enable "Minimize window at application startup" in KeePassXC settings (or change MinimizeOnStartup=true in ~/.config/keepassxc/keepassxc.ini).
  2. Enable "Show a system tray icon" in KeePassXC settings (or change ShowTrayIcon=true in ~/.config/keepassxc/keepassxc.ini).
  3. (Re)start KeePassXC.

Expected Behavior

The outside bordering window (the Groups view on the side and the entry details on the bottom) is visible.

Actual Behavior

The outside bordering window is not visible. Neither the Groups view, the Searches and Tags menu, nor the entry details are present. The only things shown are the entries in the current group and the menu and tool bars.

Context

KeePassXC 2.7.9
Revision 8f6dd13

Operating System: Fedora Linux 40
Desktop Environment: KDE Plasma 6.1.1
Windowing System: Wayland

Full Debug Info

KeePassXC - Version 2.7.9
Revision: 8f6dd13

Qt 5.15.14
Debugging mode is disabled.

Operating system: Fedora Linux 40 (Forty)
CPU architecture: x86_64
Kernel: linux 6.9.6-200.fc40.x86_64

Enabled extensions:

  • Auto-Type
  • Browser Integration
  • Passkeys
  • SSH Agent
  • KeeShare
  • YubiKey
  • Secret Service Integration

Cryptographic libraries:

  • Botan 2.19.4
@laribA laribA added the bug label Jul 1, 2024
@droidmonkey
Copy link
Member

These settings don't have anything to do with the group/preview view being collapsed. There is a calculation error somewhere that causes this to happen (once) when moving from 2.7.8 to 2.7.9. Once you resize the group and preview panel it won't happen again. I am still trying to figure out what the circumstances are that cause it, but it is not these settings.

@droidmonkey
Copy link
Member

Although you inspired me to think a bit, and perhaps the cause of this issue is indirectly related to these settings. If your config file doesn't record the splitter sizes correctly and you update to 2.7.9 and you use minimize on startup... then it is possible that main window will have a width/height of 0 which will cause the splitters to hide the group and preview panels.

I attempted to remedy this by also setting the splitter sizes after the database is unlocked, which would normally happen when the main window is shown again and having a proper width/height.

#11014

@laribA
Copy link
Author

laribA commented Jul 1, 2024

These settings don't have anything to do with the group/preview view being collapsed. There is a calculation error somewhere that causes this to happen (once) when moving from 2.7.8 to 2.7.9. Once you resize the group and preview panel it won't happen again. I am still trying to figure out what the circumstances are that cause it, but it is not these settings.

It would make sense that those settings don't affect the group, but if it's useful in debugging the error, I tried wiping my config file, and found out that the issue ONLY happens when those two specific settings are enabled, and persists, even after restarts and reboots. If either of those two settings are disabled, both panels show up like normal. Even in a config file with nothing but MinimizeOnStartup=true and ShowTrayIcon=true under [GUI], the issue occurs if you haven't resized the panels.
Your fix of resizing the panels worked, thanks.

P.S. Wild how we commented at the same time.

@droidmonkey droidmonkey reopened this Jul 1, 2024
@droidmonkey
Copy link
Member

Thank you for the additional context, I will try to see if my fix prevents the issue with the config file wiped but those settings applied

@droidmonkey droidmonkey added this to the v2.7.10 milestone Jul 1, 2024
@droidmonkey droidmonkey linked a pull request Jul 1, 2024 that will close this issue
@droidmonkey droidmonkey linked a pull request Jul 1, 2024 that will close this issue
@droidmonkey
Copy link
Member

Confirmed, that is exactly what happens and what causes the bug. I also noted that if you never resize the KeePassXC window then your splitter locations will never be saved to the config file. That could explain why a handful of people experienced this problem. I will think of a fix for that problem as well.

@droidmonkey droidmonkey changed the title Startup minimization combined with showing an icon in the system tray hides outside window Database view splitters are hidden if MinimizeOnStartup is enabled and no splitter sizes are configured Jul 7, 2024
@7eter
Copy link

7eter commented Jul 9, 2024

Perhaps it shouldn't be possible to hide "group view" completely simply by resizing it. Maybe a dedicated option under the "View" tab - like the "preview panel" has - could be a solution?

@droidmonkey
Copy link
Member

That feature was added at the request of end users who don't want to use groups. I agree though, we should only fully hide the panel if it is explicitly disabled in the view menu.

@djlalle
Copy link

djlalle commented Jul 9, 2024

I do not understand if this issue is related to mine :)
anyway, I have updated to the last keepassxc 2.7.9-2 in Arch aur
and it still not loading the database at startup
my issue was/is this:
#10955

@michaelk83
Copy link

michaelk83 commented Jul 9, 2024

we should only fully hide the panel if it is explicitly disabled in the view menu.

IMO, dragging the splitter all the way is a quick and convenient way to disable the group view (or similarly hide other panels). E.g. I don't think you should enforce any minimum panel size.

However:

  • Dragging all the way should be equivalent to disabling it in the view menu. Following that, re-enabling it in the view menu should reset it to the size it was before it was hidden.
  • There could be a clickable indicator to unhide the panel (and re-enable it in the menu) when it is hidden.
  • There was also talk about a View > Reset menu action.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In review
Development

Successfully merging a pull request may close this issue.

5 participants