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

allow editing/unhiding by group #3108

Merged

Conversation

farodin91
Copy link
Contributor

@farodin91 farodin91 commented Jan 5, 2023

Fixes #2989

@BlackDex
Copy link
Collaborator

BlackDex commented Jan 5, 2023

Thanks for the contribution.

I'm not sure if i like the way this is build. Running multiple queries and using matches is a bit counter productive and slows everything down. I would rather have just one query run which returns all the correct info.

I actually think we need to change the schema's of the group-tables to be less normalized to make queries a bit more nice and quicker. I haven't had the time yet to look at it. While this is a patch, i would rather have a better fix.
Also for all the other queries which currently are getting very complex with all the joins because how far normalized the tables are.

@farodin91
Copy link
Contributor Author

I wanted to fix and saw some other query's that are huge. I find it hard to debug query's that have multiple joins. This way you can reuse some code. The location is probably wrong, I will fix this it by moving directly into collections.

@BlackDex
Copy link
Collaborator

BlackDex commented Jan 5, 2023

Still, running multiple queries for just one output and checking everything code-side makes it more complex in the end.

The multiple joins is the pain i also want to fix by changing the schema in some way which is a better fit for our usage.
But that doesn't grant calling multiple separate queries and trying to join them our selfs i think. It could also cause some weird race conditions in this case, if for some strange reason the first queries retrieved unmatchable info compared to the second for example. While the chance is small, it does exists.

@farodin91 farodin91 force-pushed the allow-editing/unhiding-by-group branch from c1f5283 to e99636c Compare January 6, 2023 07:35
@farodin91
Copy link
Contributor Author

@BlackDex I changed it to one query by using find_by_uuid_and_user.

Copy link
Collaborator

@BlackDex BlackDex left a comment

Choose a reason for hiding this comment

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

While I'm still in favor of changing the DB Schema around the whole group handling to make it less complex, probably with a bit less of normalization, this quick fix does provide a good way of allowing this feature to be tested a bit further by more people and give us time to think about a proper and better solution.

So, ill approve this PR, with the side note that i think we do need to rework this feature to be less complex.

@BlackDex
Copy link
Collaborator

BlackDex commented Feb 5, 2023

@farodin91 Could you try to rebase 😄 .

Fixes dani-garcia#2989

Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
@farodin91 farodin91 force-pushed the allow-editing/unhiding-by-group branch from e99636c to b3a351c Compare February 7, 2023 15:20
@farodin91
Copy link
Contributor Author

@BlackDex Rebased.

Do i have write in the discussion for re license thread?

@BlackDex
Copy link
Collaborator

BlackDex commented Feb 7, 2023

@BlackDex Rebased.

Do i have write in the discussion for re license thread?

That would be nice :)

@dani-garcia dani-garcia merged commit 6f6d9de into dani-garcia:main Feb 12, 2023
@bendem
Copy link

bendem commented Feb 13, 2023

Awesome, and thank you for favoring performance. It is indeed a bit harder to read, but users and database admins thank you for it (re #1402).

@farodin91 farodin91 deleted the allow-editing/unhiding-by-group branch February 13, 2023 12:00
RickCoxDev pushed a commit to RickCoxDev/home-cluster that referenced this pull request May 25, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [vaultwarden/server](https://togithub.com/dani-garcia/vaultwarden) |
minor | `1.27.0` -> `1.28.1` |

---

### Release Notes

<details>
<summary>dani-garcia/vaultwarden</summary>

###
[`v1.28.1`](https://togithub.com/dani-garcia/vaultwarden/releases/tag/1.28.1)

[Compare
Source](https://togithub.com/dani-garcia/vaultwarden/compare/1.28.0...1.28.1)

#### What's Changed

- Decode knowndevice `X-Request-Email` as base64url with no padding by
[@&#8203;jjlin](https://togithub.com/jjlin) in
[dani-garcia/vaultwarden#3376
- Fix abort on password reset mail error by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3390
- support `/users/<uuid>/invite/resend` admin api by
[@&#8203;nikolaevn](https://togithub.com/nikolaevn) in
[dani-garcia/vaultwarden#3397
- always return KdfMemory and KdfParallelism by
[@&#8203;stefan0xC](https://togithub.com/stefan0xC) in
[dani-garcia/vaultwarden#3398
- Fix sending out multiple websocket notifications by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3405
- Revert setcap, update rust and crates by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3403

#### New Contributors

- [@&#8203;nikolaevn](https://togithub.com/nikolaevn) made their first
contribution in
[dani-garcia/vaultwarden#3397

**Full Changelog**:
dani-garcia/vaultwarden@1.28.0...1.28.1

###
[`v1.28.0`](https://togithub.com/dani-garcia/vaultwarden/releases/tag/1.28.0)

[Compare
Source](https://togithub.com/dani-garcia/vaultwarden/compare/1.27.0...1.28.0)

#### Major changes

- The project has changed license to the
[**AGPLv3**](https://togithub.com/dani-garcia/vaultwarden/blob/main/LICENSE.txt).
If you're hosting a Vaultwarden instance, you now have a requirement to
distribute the Vaultwarden source code to your users if they request it.
The source code, and any changes you have made, need to be under the
same AGPLv3 license. If you simply use our code without modifications,
just pointing them to this repository is enough.
- Added support for **Argon2** key derivation on the clients. To enable
it for your account, make sure all your clients are using version
v2023.2.0 or greater, then go to account settings > security > keys, and
change the algorithm from PBKDF2 to Argon2id.
- Added support for **Argon2** key derivation for the admin page token.
To update your admin token to use it, [check the
wiki](https://togithub.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page#secure-the-admin_token)
- New **alternative registries** for the docker images are available (In
**BETA** for now):
- **Github Container Registry**: https://ghcr.io/dani-garcia/vaultwarden
    -   **Quay**: https://quay.io/vaultwarden/server

#### What's Changed

- Remove patched multer-rs by
[@&#8203;manofthepeace](https://togithub.com/manofthepeace) in
[dani-garcia/vaultwarden#2968
- Removed unsafe-inline JS from CSP and other fixes by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3058
- Validate YUBICO_SERVER string
([#&#8203;3003](https://togithub.com/dani-garcia/vaultwarden/issues/3003))
by [@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3059
- Log message to stderr if LOG_FILE is not writable by
[@&#8203;pjsier](https://togithub.com/pjsier) in
[dani-garcia/vaultwarden#3061
- Update WebSocket Notifications by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3076
- Optimize config loading messages by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3092
- Percent-encode org_name in links by
[@&#8203;am97](https://togithub.com/am97) in
[dani-garcia/vaultwarden#3093
- Fix failing large note imports by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3087
- Change `text/plain` API responses to `application/json` by
[@&#8203;jjlin](https://togithub.com/jjlin) in
[dani-garcia/vaultwarden#3124
- Remove `shrink-to-fit=no` from viewport-meta-tag by
[@&#8203;redwerkz](https://togithub.com/redwerkz) in
[dani-garcia/vaultwarden#3126
- Update dependencies and MSRV by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3128
- Resolve uninlined_format_args clippy warnings by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3065
- Update Rust to v1.66.1 to patch CVE by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3136
- Fix remaining inline format by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3130
- Use more modern meta tag for charset encoding by
[@&#8203;redwerkz](https://togithub.com/redwerkz) in
[dani-garcia/vaultwarden#3131
- fix (2fa.directory): Allow api.2fa.directory, and remove 2fa.directory
by [@&#8203;GeekCornerGH](https://togithub.com/GeekCornerGH) in
[dani-garcia/vaultwarden#3132
- Optimize CipherSyncData for very large vaults by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3133
- Add avatar color support by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3134
- Add MFA icon to org member overview by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3135
- Minor refactoring concering user.setpassword by
[@&#8203;sirux88](https://togithub.com/sirux88) in
[dani-garcia/vaultwarden#3139
- Validate note sizes on key-rotation. by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3157
- Update KDF Configuration and processing by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3163
- Remove `arm32v6`-specific tag by
[@&#8203;jjlin](https://togithub.com/jjlin) in
[dani-garcia/vaultwarden#3164
- Re-License Vaultwarden to AGPLv3 by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#2561
- Admin password reset by
[@&#8203;sirux88](https://togithub.com/sirux88) in
[dani-garcia/vaultwarden#3116
- "Spell-Jacking" mitigation ~ prevent sensitive data leak … by
[@&#8203;dlehammer](https://togithub.com/dlehammer) in
[dani-garcia/vaultwarden#3145
- Allow listening on privileged ports (below 1024) as non-root by
[@&#8203;jjlin](https://togithub.com/jjlin) in
[dani-garcia/vaultwarden#3170
- don't nullify key when editing emergency access by
[@&#8203;stefan0xC](https://togithub.com/stefan0xC) in
[dani-garcia/vaultwarden#3215
- Fix trailing slash not getting removed from domain by
[@&#8203;BlockListed](https://togithub.com/BlockListed) in
[dani-garcia/vaultwarden#3228
- Generate distinct log messages for regex vs. IP blacklisting. by
[@&#8203;kpfleming](https://togithub.com/kpfleming) in
[dani-garcia/vaultwarden#3231
- allow editing/unhiding by group by
[@&#8203;farodin91](https://togithub.com/farodin91) in
[dani-garcia/vaultwarden#3108
- Fix Javascript issue on non sqlite databases by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3167
- add argon2 kdf fields by [@&#8203;tessus](https://togithub.com/tessus)
in
[dani-garcia/vaultwarden#3210
- add support for system mta though sendmail by
[@&#8203;soruh](https://togithub.com/soruh) in
[dani-garcia/vaultwarden#3147
- Updated Rust and crates by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3234
- docs: add build status badge in readme by
[@&#8203;R3DRUN3](https://togithub.com/R3DRUN3) in
[dani-garcia/vaultwarden#3245
- Validate all needed fields for client API login by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3251
- Fix Organization delete when groups are configured by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3252
- Fix Collection Read Only access for groups by
[@&#8203;Misterbabou](https://togithub.com/Misterbabou) in
[dani-garcia/vaultwarden#3254
- Make the admin session lifetime adjustable by
[@&#8203;mittler-works](https://togithub.com/mittler-works) in
[dani-garcia/vaultwarden#3262
- Add function to fetch user by email address by
[@&#8203;mittler-works](https://togithub.com/mittler-works) in
[dani-garcia/vaultwarden#3263
- Fix vault item display in org vault view by
[@&#8203;jjlin](https://togithub.com/jjlin) in
[dani-garcia/vaultwarden#3277
- Add confirmation for removing 2FA and deauthing sessions in admin
panel by [@&#8203;JCBird1012](https://togithub.com/JCBird1012) in
[dani-garcia/vaultwarden#3282
- Some Admin Interface updates by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3288
- Fix the web-vault v2023.2.0 API calls by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3281
- Fix confirmation for removing 2FA and deauthing sessions in admin
panel by [@&#8203;dpinse](https://togithub.com/dpinse) in
[dani-garcia/vaultwarden#3290
- Admin token Argon2 hashing support by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3289
- Add HEAD routes to avoid spurious error messages by
[@&#8203;jjlin](https://togithub.com/jjlin) in
[dani-garcia/vaultwarden#3307
- Fix web-vault Member UI show/edit/save by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3315
- Upd Crates, Rust, MSRV, GHA and remove Backtrace by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3310
- Add support for `/api/devices/knowndevice` with HTTP header params by
[@&#8203;jjlin](https://togithub.com/jjlin) in
[dani-garcia/vaultwarden#3329
- Update Rust, MSRV and Crates by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3348
- Merge ClientIp with Headers. by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3332
- add endpoints to bulk delete collections/groups by
[@&#8203;stefan0xC](https://togithub.com/stefan0xC) in
[dani-garcia/vaultwarden#3354
- Add support for Quay.io and GHCR.io as registries by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3363
- Some small fixes and updates by
[@&#8203;BlackDex](https://togithub.com/BlackDex) in
[dani-garcia/vaultwarden#3366
- Update web vault to v2023.3.0 by
[@&#8203;dani-garcia](https://togithub.com/dani-garcia)

#### New Contributors

- [@&#8203;manofthepeace](https://togithub.com/manofthepeace) made their
first contribution in
[dani-garcia/vaultwarden#2968
- [@&#8203;pjsier](https://togithub.com/pjsier) made their first
contribution in
[dani-garcia/vaultwarden#3061
- [@&#8203;am97](https://togithub.com/am97) made their first
contribution in
[dani-garcia/vaultwarden#3093
- [@&#8203;redwerkz](https://togithub.com/redwerkz) made their first
contribution in
[dani-garcia/vaultwarden#3126
- [@&#8203;sirux88](https://togithub.com/sirux88) made their first
contribution in
[dani-garcia/vaultwarden#3139
- [@&#8203;dlehammer](https://togithub.com/dlehammer) made their first
contribution in
[dani-garcia/vaultwarden#3145
- [@&#8203;BlockListed](https://togithub.com/BlockListed) made their
first contribution in
[dani-garcia/vaultwarden#3228
- [@&#8203;kpfleming](https://togithub.com/kpfleming) made their first
contribution in
[dani-garcia/vaultwarden#3231
- [@&#8203;farodin91](https://togithub.com/farodin91) made their first
contribution in
[dani-garcia/vaultwarden#3108
- [@&#8203;soruh](https://togithub.com/soruh) made their first
contribution in
[dani-garcia/vaultwarden#3147
- [@&#8203;R3DRUN3](https://togithub.com/R3DRUN3) made their first
contribution in
[dani-garcia/vaultwarden#3245
- [@&#8203;Misterbabou](https://togithub.com/Misterbabou) made their
first contribution in
[dani-garcia/vaultwarden#3254
- [@&#8203;mittler-works](https://togithub.com/mittler-works) made their
first contribution in
[dani-garcia/vaultwarden#3262
- [@&#8203;JCBird1012](https://togithub.com/JCBird1012) made their first
contribution in
[dani-garcia/vaultwarden#3282
- [@&#8203;dpinse](https://togithub.com/dpinse) made their first
contribution in
[dani-garcia/vaultwarden#3290

**Full Changelog**:
dani-garcia/vaultwarden@1.27.0...1.28.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on saturday" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/RickCoxDev/home-cluster).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43OS4xIiwidXBkYXRlZEluVmVyIjoiMzUuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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.

Group members cannot add new entries to collection on testing-branch
4 participants