Commit Graph

28 Commits

Author SHA1 Message Date
Côme Chilliet 1ab09ec753 chore: Apply new coding standard to all files
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +02:00
Anna Larch b2c9273e5f fix(appconfig,userconfig): restore pre-migration fallback for ownCloud migration
AppConfig and UserConfig unconditionally queried NC-only columns (type,
lazy, flags, indexed) that don't exist in ownCloud's database schema,
breaking ownCloud → Nextcloud upgrades entirely before the schema
migration steps could run.

Restore the fallback pattern in both classes: on first loadConfig() call,
if a DBException with REASON_INVALID_FIELD_NAME is thrown, set
$migrationCompleted = false and retry selecting only the columns present
in ownCloud's schema. INSERT and UPDATE statements also omit NC-only
columns when $migrationCompleted is false.

The catch block also guards against infinite recursion: if $migrationCompleted
is already false when the exception fires, the exception is re-thrown
instead of triggering another recursive call.

Fixes: https://github.com/nextcloud/server/issues/57340

Signed-off-by: Anna Larch <anna@nextcloud.com>
AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 09:46:49 +02:00
skjnldsv b86f463915 fix(config): add null coalescing fallback in getValueBool before strtolower
Followup to #59646: guard against null reaching strtolower() in both
AppConfig and UserConfig getValueBool(). Also aligns AppConfig with the
(string) cast added in UserConfig by the original PR.

Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2026-05-22 10:23:50 +02:00
There Is No TIme ab082611a7 fix(UserConfig): cast getTypedValue() result to string in getValueBool()
PHP 8.4 made passing non-strings to strtolower() a fatal TypeError.
getTypedValue() can return a non-string under certain conditions, causing
the strtolower() call to throw. The (string) cast guards against this.

Signed-off-by: There Is No TIme <37583483+thereisnotime@users.noreply.github.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-05-12 15:24:11 +02:00
Ferdinand Thiessen e0ba4d71b6 chore: add missing Override attribute to OC
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:27 +02:00
Carl Schwan 7b6078875b refactor: Run rector on lib/private
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:18 +01:00
Côme Chilliet b2e332fa69 fix: Add missing @throws annotations in UserConfig
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-27 15:21:23 +01:00
Akhil fe30ca872b feat(config): Add UserConfigChangedEvent whenever user config is updated
Signed-off-by: Akhil <akhil@e.email>
2025-09-26 14:29:58 +05:30
Maxence Lange db23ad5188 fix(userconfig): crop configvalue at 64 before index
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 12:33:04 -01:00
Maxence Lange 70dd0de0ff fix(userconfig): using api bit functions
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 10:17:53 -01:00
Maxence Lange 0249e3a2f5 fix(userconfig): set 'mail' as indexed
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 10:17:52 -01:00
Maxence Lange 46ced9df22 fix(lexicon): send single notice/warning when using unknown config key
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-02 10:51:44 -01:00
Maxence Lange b7cdfddeda feat(preset): compare userconfig lexicon entries
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-25 11:05:56 -01:00
Maxence Lange bbc9ed138c fix(config): fix tests+psalm
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 11:00:49 -01:00
Maxence Lange 33c4fe504d feat(preset): new PresetManager
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 10:58:58 -01:00
Maxence Lange 33bff30e1d feat(lexicon): moving out from unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-24 15:56:33 -01:00
Maxence Lange e64be71e52 feat(lexicon): preset()
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-15 11:29:33 -01:00
Ferdinand Thiessen 5981b7eb51 chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Maxence Lange d860cfd1cb feat(lexicon): better numeric conversion
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 -01:00
Maxence Lange d5e487078a feat(lexicon): using configmanager
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 -01:00
Maxence Lange e39ab65239 feat(lexicon): migrate config key/value
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 -01:00
Richard Steinmetz b6af06d2e0 fix: revive always storing lowercased email addresses
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-06-24 13:53:08 +02:00
Maxence Lange 525eb8312b fix(config): drop value details
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-01-26 12:59:04 +01:00
Maxence Lange 28acc002a2 fix(lexicon): syntax
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-01-14 10:38:15 -01:00
Maxence Lange bd4a154d64 feat(lexicon): configurable default value
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-01-14 10:36:07 -01:00
Maxence Lange 815991741d fix(lexicon): renaming and minor fixes
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-12-13 11:08:20 -01:00
Maxence Lange 96586ba709 feat(config): implementation of lexicon
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-12-13 11:08:20 -01:00
Maxence Lange 5b4f1904c0 feat(user-prefs): renaming to IUserConfig
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-11-18 20:11:31 -01:00