fix: Resolve race condition in cache directory creation#499
Merged
bartmcleod merged 4 commits intolexik:masterfrom Mar 9, 2026
Merged
fix: Resolve race condition in cache directory creation#499bartmcleod merged 4 commits intolexik:masterfrom
bartmcleod merged 4 commits intolexik:masterfrom
Conversation
- Removed the version declaration from the docker-compose.yml file to streamline the configuration. This change does not affect the functionality of the services defined in the file.
- Added .docs and .demo to the .gitignore file to prevent tracking of documentation and demo files in the repository.
- Enhanced the directory creation logic to throw a RuntimeException if the cache directory cannot be created, ensuring better error handling and robustness in the CleanTranslationCacheListener class.
- Refactored grid initialization to ensure it runs after the DOM is fully loaded, with a small delay for better reliability. - Implemented URL filter parsing from both query strings and hash fragments, allowing for dynamic filter application on the grid. - Added functionality to update the URL with current filter values without reloading the page, improving user experience. - Updated links in the overview template to maintain locale context when navigating to the translation grid.
bartmcleod
reviewed
Mar 9, 2026
|
|
||
| document.addEventListener('DOMContentLoaded', function () { | ||
| reloadGrid(); | ||
| const initializeGrid = () => { |
Collaborator
There was a problem hiding this comment.
Is there no better DomReady event?
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.
🎯 Purpose
This PR fixes a race condition in cache directory creation that caused
Warning: mkdir(): File existserrors, and includes minor improvements to Docker Compose configuration and.gitignore.🔧 Changes
Fix Race Condition in Cache Directory Creation
CleanTranslationCacheListener::isCacheExpired()method to handle concurrent directory creationWarning: mkdir(): File existserror that occurred when multiple processes tried to create the cache directory simultaneouslymkdir($cache_dir, 0777, true))RuntimeExceptiononly if the directory truly cannot be createdDocker Compose Configuration
version: '3.8'declaration fromdocker-compose.ymlGitignore Updates
.docsand.demodirectories to.gitignore✅ Testing
Warning: mkdir(): File existserrors📝 Breaking Changes
None - This PR is fully backward compatible.
🔗 Related Issues
Fixes:
Warning: mkdir(): File existserror inCleanTranslationCacheListener::isCacheExpired()when multiple processes access the cache directory simultaneously📚 Documentation