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

Add group search #4705

Merged
merged 1 commit into from May 14, 2020
Merged

Add group search #4705

merged 1 commit into from May 14, 2020

Conversation

ghost
Copy link

@ghost ghost commented May 6, 2020

Screenshots

keepass

Testing strategy

Count results of search with generic and specific group search term

Type of change

  • ✅ New feature (change that adds functionality)

Fixes #3482

@droidmonkey
Copy link
Member

We do not want group names searched without a prefix. (eg, group:)

@ghost
Copy link
Author

ghost commented May 6, 2020

you were the only one wanting this restriction. But fine, I'll try to add it

@phoerious
Copy link
Member

Your screenshot looks like a very old state.

@ghost

This comment has been minimized.

@droidmonkey
Copy link
Member

You can also add an option in the search drop down to include groups in the default results.

@ghost

This comment has been minimized.

found = term.regex.match(entry->resolvePlaceholder(entry->title())).hasMatch()
|| term.regex.match(entry->resolvePlaceholder(entry->username())).hasMatch()
|| term.regex.match(entry->resolvePlaceholder(entry->url())).hasMatch()
|| term.regex.match(entry->notes()).hasMatch();
|| term.regex.match(entry->notes()).hasMatch()
|| !entry->group()->hierarchy(100).filter(term.regex).empty();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is extremely inefficient way to do this. You will be repeating string building and filtering for EACH entry. Since there are less groups than entries you should simply iterating the group list to search for each group name and adding all the entries in that group.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry, I didn't understand.
It should be better now, but is it good enough?

@ghost
Copy link
Author

ghost commented May 6, 2020

kee2
@phoerious ;)

@ghost ghost requested a review from droidmonkey May 6, 2020 12:39
@wolframroesler
Copy link
Contributor

I was on master branch.

You may want to branch your changes off develop to avoid merge conflicts (or, now, merge develop into your branch). The new icons will blow your mind :)

Also, at least in my fork, git pull isn't enough to sync with the upstream repo. Instead I use:

$ git remote add upstream https://github.com/keepassxreboot/keepassxc.git
$ git checkout develop
$ git pull upstream develop
$ git fetch --tags

@ghost ghost mentioned this pull request May 6, 2020
@ghost
Copy link
Author

ghost commented May 6, 2020

You may want to branch your changes off develop to avoid merge conflicts (or, now, merge develop into your branch). The new icons will blow your mind :)

I should be on the latest develop commit.
Not sure why the icons weren't showing

@phoerious
Copy link
Member

You have a peculiar intermediate state. Some icons are not showing, others are your default system icons, but clearly colourised. I recommend you stash your changes and do a full reset to our develop branch.

@ghost
Copy link
Author

ghost commented May 7, 2020

But the diff seems correct. So this shouldn't be a problem to merge :)

Please review

@ghost ghost mentioned this pull request May 7, 2020
@droidmonkey
Copy link
Member

droidmonkey commented May 8, 2020

I made improvements to your code and enabled the searching of the hierarchy which lets you do fun stuff like bound a search to a particular group and it's subgroups!

image

Given the flexibility provided by having a defined group field, I am not going to add the option to search by group by default.

@droidmonkey droidmonkey added this to the v2.6.0 milestone May 8, 2020
* Allow searching by group using the `group:` field.
* Group hierarchies can be searched by including a '/' in the search term.
@Nibir
Copy link

Nibir commented May 12, 2020

you were the only one wanting this restriction. But fine, I'll try to add it

That is not true. Today i accidentally found today that kpxc dont find my groups names and it is terrible, because for me this is equivalent of no find function at all.

I use it like:
group "Forums"
sub group "Clouds"
sub-sub group "https://forum.Example.com"
entity myemail+mypass. (no title)

That is because of original keepass application find fine all this

@droidmonkey droidmonkey merged commit f1080d6 into keepassxreboot:develop May 14, 2020
@ghost ghost deleted the patch-1 branch May 15, 2020 06:16
droidmonkey added a commit that referenced this pull request Jul 7, 2020
Added

- Custom Light and Dark themes [#4110, #4769, #4791, #4796, #4892, #4915]
- Compact mode to use classic Group and Entry line height [#4910]
- View menu to quickly switch themes, compact mode, and toggle UI elements [#4910]
- Search for groups and scope search to matched groups [#4705]
- Save Database Backup feature [#4550]
- Sort entries by "natural order" and move lines up/down [#4357]
- Option to launch KeePassXC on system startup/login [#4675]
- Caps Lock warning on password input fields [#3646]
- Add "Size" column to entry view [#4588]
- Browser-like tab experience using Ctrl+[Num] (Alt+[Num] on Linux) [#4063, #4305]
- Password Generator: Define additional characters to choose from [#3876]
- Reports: Database password health check (offline) [#3993]
- Reports: HIBP online service to check for breached passwords [#4438]
- Auto-Type: DateTime placeholders [#4409]
- Browser: Show group name in results sent to browser extension [#4111]
- Browser: Ability to define a custom browser location (macOS and Linux only) [#4148]
- Browser: Ability to change root group UUID and inline edit connection ID [#4315, #4591]
- CLI: `db-info` command [#4231]
- CLI: Use wl-clipboard if xclip is not available (Linux) [#4323]
- CLI: Incorporate xclip into snap builds [#4697]
- SSH Agent: Key file path env substitution, SSH_AUTH_SOCK override, and connection test [#3769, #3801, #4545]
- SSH Agent: Context menu actions to add/remove keys [#4290]

Changed

- Complete replacement of default database icons [#4699]
- Complete replacement of application icons [#4066, #4161, #4203, #4411]
- Complete rewrite of documentation and manpages using Asciidoctor [#4937]
- Complete refactor of config files; separate between local and roaming [#4665]
- Complete refactor of browser integration and proxy code [#4680]
- Complete refactor of hardware key integration (YubiKey and OnlyKey) [#4584, #4843]
- Significantly improve performance when saving and opening databases [#4309, #4833]
- Remove read-only detection for database files [#4508]
- Overhaul of password fields and password generator [#4367]
- Replace instances of "Master Key" with "Database Credentials" [#4929]
- Change settings checkboxes to positive phrasing for consistency [#4715]
- Improve UX of using entry actions (focus fix) [#3893]
- Set expiration time to Now when enabling entry expiration [#4406]
- Always show "New Entry" in context menu [#4617]
- Issue warning before adding large attachments [#4651]
- Improve importing OPVault [#4630]
- Improve AutoOpen capability [#3901, #4752]
- Check for updates every 7 days even while still running [#4752]
- Improve Windows installer UI/UX [#4675]
- Improve config file handling of portable distribution [#4131, #4752]
- macOS: Hide dock icon when application is hidden to tray [#4782]
- Browser: Use unlock dialog to improve UX of opening a locked database [#3698]
- Browser: Improve database and entry settings experience [#4392, #4591]
- Browser: Improve confirm access dialog [#2143, #4660]
- KeeShare: Improve monitoring file changes of shares [#4720]
- CLI: Rename `create` command to `db-create` [#4231]
- CLI: Cleanup `db-create` options (`--set-key-file` and `--set-password`) [#4313]
- CLI: Use stderr for help text and password prompts [#4086, #4623]
- FdoSecrets: Display existing secret service process [#4128]

Fixed

- Fix changing focus around the main window using tab key [#4641]
- Fix search field clearing while still using the application [#4368]
- Improve search help widget displaying on macOS and Linux [#4236]
- Return keyboard focus after editing an entry [#4287]
- Reset database path after failed "Save As" [#4526]
- Use SHA256 Digest for Windows code signing [#4129]
- Improve handling of ccache when building [#4104, #4335]
- macOS: Properly re-hide application window after browser integration and Auto-Type usage [#4909]
- Auto-Type: Fix crash when performing on new entry [#4132]
- Browser: Send legacy HTTP settings to recycle bin [#4589]
- Browser: Fix merging browser keys [#4685]
- CLI: Fix encoding when exporting database [#3921]
- SSH Agent: Improve reliability and underlying code [#3833, #4256, #4549, #4595]
- FdoSecrets: Fix crash when editing settings before service is enabled [#4332]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable "group" field to be searched
4 participants