fix(local-replica): sanitize invalid windows chars in project folder name#330
fix(local-replica): sanitize invalid windows chars in project folder name#330astarforbae wants to merge 3 commits intooverleaf-workshop:masterfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR fixes issue #329 where users cannot create local replicas of Overleaf projects with invalid Windows filename characters (like colons) in their titles. The fix adds a sanitization function that replaces invalid characters with underscores, removes trailing dots/spaces, handles empty results, and avoids Windows reserved filenames (like "con", "aux", etc.), but only applies this sanitization on Windows to preserve existing behavior on other platforms.
Changes:
- Added a private static method
sanitizeProjectFolderName()that sanitizes project names for Windows filesystem compatibility - Modified
validateBaseUri()to use the sanitized folder name instead of the raw project name when creating local replica directories - Platform-specific handling ensures sanitization only occurs on Windows (
win32platform)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
style(local-replica): align equality spacing in sanitizer Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
I think this sanitization can be easily extended to Linux and macOS; the blacklist is much smaller on macOS and Linux, but the most typical restriction is that filenames cannot contain |
Thanks for the suggestion. I extended sanitization for non-Windows platforms. |
Fixes #329
Summary
title
win32) to preserve existing behavior on other platformsValidation
:on Windows