Skip to content

refactor(settings): use typed IAppConfig API for app settings - #2368

Open
Antreesy wants to merge 6 commits into
masterfrom
refactor/typed-app-config
Open

Antreesy wants to merge 6 commits into
masterfrom
refactor/typed-app-config

Conversation

@Antreesy

@Antreesy Antreesy commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator
  • Follow-up to chore(deps): add rector #2366
  • Replace the deprecated IConfig::getAppValue() and setAppValue()
    • with IAppConfig::getValueString() and setValueString()
  • Enable ReplaceInjectedMethodCallRector back
  • Declare all 4 keys in Config lexicon

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI (ClaudeCode:claude-opus-5-5)

Replace the deprecated IConfig::getAppValue() and setAppValue() with
IAppConfig::getValueString() and setValueString(). All settings are
stored as JSON strings, so the string type fits every key. Values that
were stored before as mixed type stay readable.

Enable ReplaceInjectedMethodCallRector again, because no untyped
calls are left.

Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
Declare the four app config keys with their type and default value.
All values stay JSON strings, so the storage format does not change.
Unknown app config keys are rejected.

Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
@Antreesy Antreesy self-assigned this Oct 30, 2026
@Antreesy Antreesy added this to the Nextcloud 36 milestone Oct 30, 2026
@Antreesy
Antreesy marked this pull request as ready for review October 30, 2026 13:40
Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: Joas Schilling <coding@schilljs.com>
Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants