-
Notifications
You must be signed in to change notification settings - Fork 2
File Manager Enhancements #130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: yerek
Are you sure you want to change the base?
Conversation
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…into File-Manager
…t-#86 Improve file browser navigation and uploads
…t-#86-btig48 Fix files page path initialization ref and enhance FileBrowser (icons, drag-drop, context menu)
… and support upload progress.
…e updates and progress tracking
…nd-drop support, path validation, and dynamic file permissions
File Manager Enhancements
…tion or class' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
…tion or class' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // 2. Upload new file with progress tracking | ||
| const blob = new Blob([content], { type: 'application/octet-stream' }); | ||
| const file = new File([blob], newName, { | ||
| type: 'application/octet-stream', | ||
| }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Preserve binary content and mode when renaming
The rename path re-creates the file by building a new Blob from content and uploading it, which means the data is round-tripped through apiFetchFileContent’s text decoding and then re-uploaded with default mode rules. This will corrupt binary files (images, archives, executables, etc.) and can also drop original permissions, because the original mode isn’t preserved on upload. Users renaming non-text files will end up with altered content or permissions rather than a pure rename.
Useful? React with 👍 / 👎.
| <BreadcrumbLink | ||
| onClick={() => !editingFile && onNavigate(crumb.path)} | ||
| className={!editingFile ? 'cursor-pointer' : ''} | ||
| onClick={() => onNavigate(crumb.path)} | ||
| className="cursor-pointer" | ||
| > |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid discarding edits on breadcrumb navigation
Breadcrumbs always call onNavigate, and FileBrowser clears the editor state whenever currentPath changes, so clicking a breadcrumb while editing will silently drop unsaved changes. This is a regression from the previous guard that prevented navigation during editing, and it can lead to accidental data loss if a user clicks a breadcrumb before saving.
Useful? React with 👍 / 👎.
No description provided.