Skip to content

LocalPreferences Namespace nesting - #77

Open
lukaskollmer wants to merge 2 commits into
mainfrom
lukas/nested-pref-namespaces
Open

LocalPreferences Namespace nesting#77
lukaskollmer wants to merge 2 commits into
mainfrom
lukas/nested-pref-namespaces

Conversation

@lukaskollmer

Copy link
Copy Markdown
Collaborator

♻️ Current situation & Problem

the LocalPreferences API in GroveFoundation currently does not support nested key namespaces.
we consider this a desirable feature, as it will allow fine-grained control over bulk deletion of specific groups of items within a larger parent group.
for example, an app will typically wish to place all of its entries into an app-wide namespace. but if, within that, it has a collection of entries that belong to the same "thing", and it wishes to be able to delete them all at once, that currently is not possible. it'd have to delete all of the entries in its app-wide namespace, which would end up affecting random other things.

⚙️ Release Notes

  • added the ability to define nested namespaces for LocalPreferenceKeys. note that bulk-clearing a namespace will also remove any entries belonging to namespaces nested w/in the namespace being bulk-cleared

📚 Documentation

yes

✅ Testing

yes

Code of Conduct & Contributing Guidelines

By creating and submitting this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

@lukaskollmer lukaskollmer self-assigned this Aug 30, 2026
@lukaskollmer lukaskollmer added the enhancement New feature or request label Aug 30, 2026
@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d004ad1a-153c-4b97-90a9-b5dab8ed4688


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@PSchmiedmayer PSchmiedmayer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @lukaskollmer 🚀

Comment on lines +379 to +380
/// - Note: Bulk-removing a namespace (via ``LocalPreferencesStore/removeAllEntries(in:)``
/// will also remove all entries belonging to nested namespaces within the outer one.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

To be a bit clearer?

Suggested change
/// - Note: Bulk-removing a namespace (via ``LocalPreferencesStore/removeAllEntries(in:)``
/// will also remove all entries belonging to nested namespaces within the outer one.
/// - Note: Bulk-removing a outer namespace (via ``LocalPreferencesStore/removeAllEntries(in:)``
/// will also remove all entries belonging to nested namespaces within the parent namespace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants