Skip to content

Conversation

@Hye-Dev
Copy link
Member

@Hye-Dev Hye-Dev commented Dec 30, 2025

No description provided.

Luxxy-GF and others added 19 commits December 4, 2025 03:07
…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)
…nd-drop support, path validation, and dynamic file permissions
…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>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a 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".

Comment on lines +252 to +256
// 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',
});

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

Comment on lines 665 to 668
<BreadcrumbLink
onClick={() => !editingFile && onNavigate(crumb.path)}
className={!editingFile ? 'cursor-pointer' : ''}
onClick={() => onNavigate(crumb.path)}
className="cursor-pointer"
>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants