Add manual mirror functionality to UI for mirroring arbitrary URLs #38
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.
This PR adds a manual mirror feature that allows users to input any URL and mirror it to their selected servers, bypassing the hash requirement for URLs that don't contain SHA256 hashes in the filename.
Changes Made
Frontend
New ManualMirror component (
ui_src/src/components/manual-mirror.tsx
): Complete React component with:Upload page integration (
ui_src/src/views/upload.tsx
): Added ManualMirror component to the upload pageKey Features
URL()
constructorBackend Compatibility
The existing
/mirror
endpoint already handles URLs without hashes correctly:None
as the expected hash toprocess_stream
for validation bypassExample Usage
Users can now mirror files like:
The component validates the URL, allows selection of target servers, and displays the mirroring results with proper error handling.
Testing
Fixes #37.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.