feat(contacts): admin-defined custom property types via app config - #5659
Open
fberke wants to merge 2 commits into
Open
feat(contacts): admin-defined custom property types via app config#5659fberke wants to merge 2 commits into
fberke wants to merge 2 commits into
Conversation
Assisted-by: Claude:claude-fable-5 Signed-off-by: Frank Berke <fb@wtmr.de>
fberke
requested review from
GVodyanov,
SebastianKrupinski and
hamza221
as code owners
August 24, 2026 18:23
Open
Contributor
|
Hi @fberke Thank you for the PR. I had a quick look at the code, and noticed one thing, we require that any newly created front end files be created in typescript. |
…nfig Assisted-by: Claude:claude-fable-5 Signed-off-by: Frank Berke <fb@wtmr.de>
Author
|
Thanks for the quick look! Fair point — I converted |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Allows admins to define custom property types (custom fields) for the contact editor via app config — no UI, a single
occcommand:The fields show up in the "Add more info" menu and in the contact details, read-only and merge views like built-in fields, and are stored as regular
X-…vCard properties, so they survive sync with other CardDAV clients.Implements the config-based flavor of #3273 / #303.
How it works
CustomPropertiesServicereads and validates thecustomPropertiesapp config (JSON). Onlyx-…property names are accepted; invalid entries are dropped and logged, so a broken config can never break the app. The config schema is documented in the class docblock.PageControllerprovides the sanitized list as initial state.rfcPropsregistry at boot (src/models/customProperties.js), so all existing views pick them up without further changes.Supported keys per entry:
label,force(text, default, orselect),options(TYPE parameter choices for text fields, value choices for select fields),multiple,primary,icon.Notes / limitations
textandselectfor now.Testing
PageControllerTestupdated for the new constructor dependency.X-…properties.🤖 Generated with Claude Code