main ← fix-save-ai-search-discovery-user-preference
Previously, plugins needed to use `modifyClass` to extend the
`saveAttrNames` li…st in preference controllers. This approach is
not ideal as it overrides controller methods and can be fragile.
This commit introduces a `preferences-save-attributes` value
transformer that provides a supported way for plugins to add
custom fields to any preference page's save list.
The transformer passes a `page` context parameter so plugins can
target specific preference pages:
```javascript
api.registerValueTransformer(
"preferences-save-attributes",
({ value: attrs, context }) => {
if (context.page === "interface") {
attrs.push("my_custom_field");
}
return attrs;
}
);
Available pages: account, emails, interface, navigation-menu,
notifications, profile, tags, tracking, users.