Skip to content

Conversation

@Pringels
Copy link
Contributor

Summary

Moves user management column settings (like showing the storage path) from localStorage to the database (in user preferences). This ensures configuration persists across browsers, sessions, and devices.

Also refactors the users Vuex store to decouple internal state properties from backend configuration keys, simplifying state management and improving maintainability.

Checklist

@Pringels Pringels marked this pull request as ready for review December 14, 2025 12:47
@Pringels Pringels requested review from a team as code owners December 14, 2025 12:47
@Pringels Pringels requested review from CarlSchwan, artonge, come-nc, icewind1991, skjnldsv and susnux and removed request for a team December 14, 2025 12:47
@Pringels Pringels force-pushed the enhancement/15632/persist-user-management-columns branch from d322e65 to c9a45f8 Compare December 15, 2025 08:05
@Pringels Pringels marked this pull request as draft December 15, 2025 08:05
@Pringels Pringels force-pushed the enhancement/15632/persist-user-management-columns branch 2 times, most recently from 37418ed to 00002fc Compare December 15, 2025 08:37
@Pringels Pringels marked this pull request as ready for review December 15, 2025 08:38
Copy link
Member

@provokateurin provokateurin left a comment

Choose a reason for hiding this comment

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

The move away from IConfig is somewhat necessary, because it is deprecated usage and we block adding any new code that uses deprecated code. You can check that locally by running psalm.

@Pringels Pringels force-pushed the enhancement/15632/persist-user-management-columns branch from d881697 to 4039847 Compare December 15, 2025 16:07
@Pringels
Copy link
Contributor Author

Will squash and sign off again shortly

@Pringels Pringels force-pushed the enhancement/15632/persist-user-management-columns branch from f065327 to 20c7a45 Compare December 16, 2025 15:14
@Pringels Pringels force-pushed the enhancement/15632/persist-user-management-columns branch from 2696436 to 3d19865 Compare December 18, 2025 08:41
@artonge
Copy link
Contributor

artonge commented Dec 18, 2025

@Pringels psalm seems unhappy, can you look into it? It might only be a matter of rebasing

Previously, column visibility settings were stored in localStorage, causing them to be lost when logging out or switching browsers.
This change moves the persistence to the database as user preferences.
It also refactors the frontend to use clean `userList.*` keys for better consistency between the store and the API.

Signed-off-by: Peter Ringelmann <[email protected]>
@Pringels Pringels force-pushed the enhancement/15632/persist-user-management-columns branch from d464ef0 to 6a9be2e Compare December 19, 2025 08:31
@Pringels
Copy link
Contributor Author

Pringels commented Dec 19, 2025

@Pringels psalm seems unhappy, can you look into it? It might only be a matter of rebasing

Fixed - I think something went wrong with my previous rebase. Psalm is happy again when I run it locally 🙂

@Pringels
Copy link
Contributor Author

I see there's a cypress test failing related to my changes. Looking into it.

image

@Pringels
Copy link
Contributor Author

Ah I noticed the AppSettingsController also loads the same user management bundle, but does not inject userSettings since it is no relevant there. I added optional chaining on the showConfig object. The tests now pass locally:

image

@Pringels
Copy link
Contributor Author

The other failing cypress test might be flaky since it passes locally and seems unrelated

@artonge artonge merged commit 9019c56 into nextcloud:master Dec 20, 2025
252 of 270 checks passed
@artonge
Copy link
Contributor

artonge commented Dec 20, 2025

Thank you @Pringels for the fix and for being reactive until the end :)

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.

Persist user management column settings as user config values (not localstorage)

3 participants