nextcloud/all-in-one · warning · InvalidSettingConfigurationException
The additional options must not be empty!
Error message
The additional options must not be empty!
What it means
Thrown by validateCollaboraAdditionalOptions when the collabora_additional_options value is empty. These options are extra command-line flags for the Collabora container; the setter requires a non-empty value starting with '--o:' and clearing is done via deleteAdditionalCollaboraOptions() (delete_collabora_additional_options form key).
Source
Thrown at php/src/Data/ConfigurationManager.php:1085
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 {
if ($additionalCollaboraOptions === "") {
throw new InvalidSettingConfigurationException("The additional options must not be empty!");
}
if (!preg_match("#^--o:#", $additionalCollaboraOptions)) {
throw new InvalidSettingConfigurationException("The entered options must start with '--o:'. So the config does not seem to be a valid!");
}
}
/**
* Provide an extra method since the corresponding attribute setter prevents setting an empty value.
*/
public function deleteAdditionalCollaboraOptions() : void {
$this->set('collabora_additional_options', '');
}
public function listAvailableCommunityContainers() : array {
$cc = [];
$dir = scandir(DataConst::GetCommunityContainersDirectory());
if ($dir === false) {View on GitHub (pinned to 6b788eec5e)
Solutions
- Provide a real option string starting with '--o:', e.g. '--o:remote_font_config.url=...'.
- Use the delete_collabora_additional_options action to remove the options.
- Omit the key entirely when the options should stay untouched.
Example fix
// before curl -d 'collabora_additional_options=' https://host/api/webconfig // after curl -d 'collabora_additional_options=--o:logging.level=warning' https://host/api/webconfig
Defensive patterns
Strategy: validation
Validate before calling
if (trim($additionalCollaboraOptions) === '') {
// use delete_collabora_additional_options instead of an empty value
} Prevention
- Only submit the options key when options are actually set.
- Use the delete action to clear the setting.
When it happens
Trigger: POSTing the web configuration form with 'collabora_additional_options' present but '' (or a value containing only multibyte characters that pass the emptiness check but fail the prefix regex).
Common situations: Automation that always includes the options key with an empty string; attempting to disable the extra options by blanking the field instead of using the delete button.
Related errors
- The dictionaries must not be empty!
- The entered dictionaries do not seem to be a valid!
- 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/df0b07ac01f9e2d1.
Report an issue: GitHub.