mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-07-04 12:48:01 +02:00
839582c657
* fix: anonymize Windows batch scripts (#735) mime-types maps .bat to application/x-msdownload, the same MIME type as .exe/.dll, so batch scripts were classified as binary and streamed through without any anonymization. Special-case .bat/.cmd as text before the MIME lookup, keeping .exe/.dll binary. * fix: recover files missing from truncated tree listings (#738) GitHub truncates tree listings of very large repositories. Folders whose listing was truncated are recorded in truncatedFolders, but files that fell outside the listing never reached the database, so requesting them returned 404 file_not_found even though they exist on GitHub — and a force refresh could not help. When a file lookup misses and its directory is under a truncated folder, fetch the file metadata directly from GitHub's contents API (object media type, so it works past the 1MB inline limit), cache it in the database, and serve it normally. * feat: warn when a repository uses git submodules (#737) GitHub archives and tree listings never include submodule contents, so submodules end up as empty folders in the anonymized repository, which surprises users. Detect a root .gitmodules file and show a warning banner in the explorer explaining that submodule contents are not included. * feat: allow users to delete their account (#741) Add DELETE /api/user: removes all anonymized repositories, gists, and pull requests owned by the user, best-effort revokes the GitHub OAuth grant, and scrubs personal data (username, emails, tokens, GitHub id, photo) from the user record. The record itself is kept with a placeholder username so removed repoIds stay reserved and owner references remain resolvable. The settings page gains an Account section with a confirmed delete button. * fix: add missing error translations for token_expired and job_is_active The error-code coverage test failed because both backend codes had no frontend translation.
123 lines
10 KiB
JSON
123 lines
10 KiB
JSON
{
|
|
"ERRORS": {
|
|
"unknown_error": "Unknown error, contact the admin.",
|
|
"unreachable": "Anonymous GitHub is unreachable, contact the admin.",
|
|
"request_error": "Unable to download the file, check your connection or contact the admin.",
|
|
"not_found": "The requested resource could not be found.",
|
|
"not_connected": "You must be logged in to perform this action.",
|
|
"not_authorized": "You do not have permission to perform this action.",
|
|
"unable_to_connect_user": "Unable to connect your account. Please try again later.",
|
|
"user_not_found": "The requested user could not be found.",
|
|
"user_banned": "Your account has been banned. Contact the admin for more information.",
|
|
"repo_access_limited": "GitHub blocked access because the repository's organization restricts third-party OAuth apps. Ask an org owner to approve Anonymous GitHub under Settings → Third-party Access → OAuth app policy, or anonymize a personal fork instead.",
|
|
"repo_saml_enforcement": "The repository's organization enforces SAML single sign-on. Authorize your token for that organization (GitHub → Settings → Applications, or re-run the org's SSO sign-in), then retry. Alternatively, anonymize a personal fork.",
|
|
"repo_not_found": "The repository was not found on GitHub. Check the URL and spelling, make sure you are signed in to the account that can see it, and confirm the repo isn't hidden under an org that restricts third-party app access.",
|
|
"repo_empty": "The selected branch has no commits on GitHub. Push at least one commit, or pick a different branch, then retry.",
|
|
"repo_not_accessible": "Anonymous GitHub cannot access this repository. Verify the repository exists and that Anonymous GitHub has been authorized for the owning organization.",
|
|
"repository_expired": "The repository is expired.",
|
|
"repository_not_ready": "Anonymous GitHub is still processing the repository, it can take several minutes.",
|
|
"repository_not_accessible": "This repository is currently not accessible.",
|
|
"repo_is_updating": "Anonymous GitHub is still processing the repository, it can take several minutes.",
|
|
"invalid_repo": "The provided repository is not valid.",
|
|
"invalid_source_repository": "The repository source name is invalid; expected the form 'owner/name'.",
|
|
"repoId_not_defined": "A repository ID must be provided.",
|
|
"repoUrl_not_defined": "The repository URL needs to be defined.",
|
|
"source_not_provided": "A repository source must be provided.",
|
|
"github_rate_limit_exceeded": "GitHub temporarily blocked the request because we hit its API rate limit. Wait a few minutes and try again. If the problem persists and you contact GitHub Support, include the request ID and timestamp shown in GitHub's response (the 'X-GitHub-Request-Id' header).",
|
|
"rate_limited": "GitHub API rate limit reached. The repository will be available shortly — please wait a moment and refresh.",
|
|
"repoId_already_used": "The repository ID is already used.",
|
|
"invalid_repoId": "The format of the repository ID is invalid.",
|
|
"unsupported_source": "The repository source type is not supported.",
|
|
"branch_not_specified": "The branch is not specified.",
|
|
"branch_not_found": "The branch of the repository cannot be found.",
|
|
"commit_not_specified": "A commit must be specified.",
|
|
"commit_not_found": "The configured commit no longer exists in the source repository. It may have been force-pushed, rebased, or removed.",
|
|
"repo_renamed": "The source repository appears to have been renamed or moved on GitHub. Please refresh and try again — the cached name has been updated.",
|
|
"invalid_commit_format": "The commit hash format is invalid. It must be a hexadecimal string.",
|
|
"pull_request_not_found": "The requested pull request could not be found.",
|
|
"pull_request_expired": "This pull request has expired and is no longer available.",
|
|
"pull_request_not_ready": "This pull request is still being prepared. Please try again shortly.",
|
|
"pull_request_not_available": "This pull request is currently not available.",
|
|
"invalid_pullRequestId": "The pull request ID is invalid.",
|
|
"pullRequestId_already_used": "This pull request ID is already in use. Please choose a different one.",
|
|
"repository_not_specified": "A repository must be specified for this pull request.",
|
|
"pullRequestId_not_specified": "A pull request ID must be specified.",
|
|
"pullRequestId_is_not_a_number": "The source pull request ID must be a number.",
|
|
"options_not_provided": "Anonymization options are mandatory.",
|
|
"terms_not_specified": "Anonymization terms must be specified.",
|
|
"invalid_terms_format": "Terms are in an invalid format.",
|
|
"missing_content": "No content was provided to the anonymization preview.",
|
|
"unable_to_anonymize": "An error happened during the anonymization process. Please try later or report the issue.",
|
|
"non_supported_mode": "The selected anonymization mode is invalid, only download and stream are supported.",
|
|
"invalid_path": "The provided path is invalid or missing.",
|
|
"path_not_specified": "A file path must be specified.",
|
|
"path_not_defined": "The file path has not been resolved yet.",
|
|
"invalid_file_path": "The requested file path is not valid.",
|
|
"invalid_request": "The request is missing required fields or is malformed.",
|
|
"no_file_selected": "Please select a file.",
|
|
"file_not_found": "The requested file is not found.",
|
|
"file_not_accessible": "The requested file is not accessible.",
|
|
"file_not_supported": "The file type is not supported. Anonymous GitHub cannot handle it.",
|
|
"file_too_big": "The file size exceeds the limit of Anonymous GitHub.",
|
|
"is_folder": "The path points to a folder.",
|
|
"folder_not_supported": "The path points to a folder. Please select a file.",
|
|
"unable_to_write_file": "Unable to write file on disk.",
|
|
"download_not_enabled": "Repository downloads are not enabled on this server.",
|
|
"unable_to_download": "The repository could not be downloaded. Please try again later.",
|
|
"s3_config_not_provided": "Object storage has not been configured on this server.",
|
|
"stats_unsupported": "Statistics are only supported in download mode.",
|
|
"branches_not_found": "The requested branch is not found.",
|
|
"readme_not_available": "No README for the repository is found.",
|
|
"page_not_supported_on_different_branch": "GitHub Pages is served from a different branch than the one selected. Pick the branch that GitHub Pages is configured to use.",
|
|
"page_not_activated": "GitHub Pages is not enabled on this repository. Enable it in the repository settings on GitHub before anonymizing.",
|
|
"is_removed": "This resource has been removed and is no longer available.",
|
|
"conf_name_missing": "A conference name is required.",
|
|
"conf_id_missing": "A conference ID is required.",
|
|
"conf_id_used": "This conference ID is already in use. Please choose a different one.",
|
|
"conf_start_date_missing": "A start date is required for the conference.",
|
|
"conf_end_date_missing": "An end date is required for the conference.",
|
|
"conf_start_date_invalid": "The start date must be before the end date.",
|
|
"conf_end_date_invalid": "The end date must be in the future.",
|
|
"invalid_plan": "The selected plan is not valid.",
|
|
"conference_not_found": "The requested conference could not be found.",
|
|
"conf_not_found": "The requested conference could not be found.",
|
|
"conf_not_activated": "The conference is not activated.",
|
|
"billing_missing": "Billing information is required for this plan.",
|
|
"billing_name_missing": "A billing name is required.",
|
|
"billing_email_missing": "A billing email is required.",
|
|
"billing_address_missing": "A billing address is required.",
|
|
"billing_city_missing": "A billing city is required.",
|
|
"billing_zip_missing": "A billing ZIP/postal code is required.",
|
|
"billing_country_missing": "A billing country is required.",
|
|
"queue_not_found": "The specified queue could not be found.",
|
|
"job_not_found": "The specified job could not be found in the queue.",
|
|
"error_retrying_job": "An error occurred while retrying the job.",
|
|
"gist_expired": "The gist is expired.",
|
|
"gist_not_ready": "Anonymous GitHub is still processing the gist, it can take several minutes.",
|
|
"gist_not_found": "The requested gist could not be found.",
|
|
"gist_not_available": "This gist is currently not available.",
|
|
"invalid_gistId": "The format of the gist ID is invalid.",
|
|
"gistId_not_specified": "A gist ID must be provided.",
|
|
"gistId_already_used": "The gist ID is already used.",
|
|
"missing_token": "An authentication token is required.",
|
|
"invalid_token": "The provided authentication token is invalid.",
|
|
"login_failed": "Login failed. Please try again.",
|
|
"server_error": "An unexpected server error occurred. Please try again later.",
|
|
"username_not_defined": "A username must be provided.",
|
|
"github_user_not_found": "The specified GitHub user could not be found.",
|
|
"cannot_coauthor_self": "You cannot add yourself as a co-author.",
|
|
"storage_write_size_mismatch": "The downloaded file was smaller than expected. The upstream source may have returned an incomplete response — please try again.",
|
|
"storage_read_error": "An error occurred while reading the file from storage — please try again.",
|
|
"upstream_error": "A temporary error occurred while fetching from GitHub — please try again.",
|
|
"token_expired": "Your GitHub access token has expired. Please log out and log in again to refresh it.",
|
|
"job_is_active": "This job is currently running — wait for it to finish or remove it first."
|
|
},
|
|
"WARNINGS": {
|
|
"page_not_enabled_on_repo": "GitHub Pages is not enabled on this repository. Enable it in the repository's Settings → Pages on GitHub, then refresh.",
|
|
"page_branch_mismatch": "GitHub Pages on this repository is served from the '{{pageBranch}}' branch, but you selected '{{selectedBranch}}'. Switch the branch above to '{{pageBranch}}' to anonymize the Pages site.",
|
|
"folder_truncated": "This folder has more than 10,000 entries; only a partial listing is shown.",
|
|
"repo_truncated": "Some folders in this repository have too many files to be fully listed. Affected folders are marked with a warning icon.",
|
|
"submodules_not_included": "This repository uses git submodules. Submodule contents are not included in the anonymized repository and appear as empty folders."
|
|
}
|
|
}
|