nextcloud/all-in-one · warning · InvalidSettingConfigurationException
The dictionaries must not be empty!
Error message
The dictionaries must not be empty!
What it means
Thrown by validateCollaboraDictionaries when the collabora_dictionaries value is empty. The setter stores a space-separated language list that is passed to the Collabora (CODE) container; empty is refused and removal goes through the dedicated deleteCollaboraDictionaries() path (delete_collabora_dictionaries form key).
Source
Thrown at php/src/Data/ConfigurationManager.php:1065
return trim($network);
}
return '';
}
public function getNextcloudStartupApps() : string {
$apps = getenv('NEXTCLOUD_STARTUP_APPS');
if (is_string($apps)) {
return trim($apps);
}
return 'deck twofactor_totp tasks calendar contacts notes';
}
/**
* @throws InvalidSettingConfigurationException
*/
private function validateCollaboraDictionaries(string $CollaboraDictionaries) : void {
if ($CollaboraDictionaries === "") {
throw new InvalidSettingConfigurationException("The dictionaries must not be empty!");
}
if (!preg_match("#^[a-zA-Z_ ]+$#", $CollaboraDictionaries)) {
throw new InvalidSettingConfigurationException("The entered dictionaries do not seem to be a valid!");
}
}
/**
* Provide an extra method since the corresponding attribute setter prevents setting an empty value.
*/
public function deleteCollaboraDictionaries() : void {
$this->set('collabora_dictionaries', '');
}
/**
* @throws InvalidSettingConfigurationException
*/
private function validateCollaboraAdditionalOptions(string $additionalCollaboraOptions) : void {View on GitHub (pinned to 6b788eec5e)
Solutions
- Send a non-empty space-separated list of dictionary codes, e.g. 'de_DE en_GB es_ES'.
- To clear the setting, use the delete_collabora_dictionaries action rather than an empty value.
- Omit the key when the dictionaries should remain unchanged.
Example fix
// before curl -d 'collabora_dictionaries=' https://host/api/webconfig // after curl -d 'collabora_dictionaries=de_DE en_GB' https://host/api/webconfig
Defensive patterns
Strategy: validation
Validate before calling
if (trim($collaboraDictionaries) === '') {
// use the delete action or block the request
} Prevention
- Default the picker to 'en_US' style values instead of empty.
- Use the delete_collabora_dictionaries key to clear.
When it happens
Trigger: POSTing the options form with a 'collabora_dictionaries' key whose value is '' or only whitespace is not enough here (no trim before the check, so a whitespace-only string actually passes the empty check and fails the charset regex instead).
Common situations: Automation sending all option keys with defaults; UI select submitting an empty option after an upstream template change.
Related errors
- The entered dictionaries do not seem to be a valid!
- The additional options must not be empty!
- Domain must contain at least one dot!
- Domain must not contain slashes!
- Domain must not contain colons!
AI-assisted analysis of nextcloud/all-in-one@6b788eec5e (2026-08-21).
Data as JSON: /api/errors/4e4a0237a15e4035.
Report an issue: GitHub.