[BUGFIX] detect and surface site settings write failures - #20
Merged
Merged
Conversation
Adds a SiteSettingsWriteGuard service that provides two pre/post-write checks for SiteSettingsService::writeSettings() callers: - assertDirectoryWritable(): pre-flight check before any API call, preventing orphaned remote instances when the config directory is not writable. - assertSettingsPersisted(): post-write verification that detects the silent write failure caused by the TYPO3 core bug tracked in https://forge.typo3.org/issues/110550. All three write sites (InstanceRegistrationService, ApiKeyService, AnalyticsStatusService) are updated accordingly. InstanceRegistration throws on failure; the other two log and return silently, as they run on every dashboard load or background sync. Resolves: #19
sfsmfc
force-pushed
the
bugfix/silent-settings-write-failure
branch
from
August 28, 2026 14:57
d6a7b70 to
7d2debd
Compare
andreaskienast
requested changes
Sep 1, 2026
buchmarv
requested changes
Sep 1, 2026
buchmarv
reviewed
Sep 1, 2026
- riname SiteSettingsWriteGuard → SiteSettingsWriteVerifier (incl. interface) - make SiteSettingsWriteVerifier final - remove $sitesConfigPath test-seam; use Environment::getConfigPath() directly - simplify exception messages to only include the site identifier - improve ApiKeyService log message for writeSettings failure - add `use` statements for SiteSettingsWriteVerifierInterface in all test files - move SiteSettingsWriteVerifierTest to Functional, drop assertDirectoryWritable tests - drop posix_getuid() root check from tests
buchmarv
reviewed
Sep 8, 2026
There was a problem hiding this comment.
Why is the whole test file removed, when only one test needed to be fixed?
buchmarv
requested changes
Sep 8, 2026
buchmarv
approved these changes
Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a SiteSettingsWriteGuard service that provides two pre/post-write checks for SiteSettingsService::writeSettings() callers:
All three write sites (InstanceRegistrationService, ApiKeyService, AnalyticsStatusService) are updated accordingly. InstanceRegistration throws on failure; the other two log and return silently, as they run on every dashboard load or background sync.
Resolves: #19