Files
zeekay 88b1c08359 brand: white-label residual user/API-facing "Gitea" to "Hanzo Git"
git.hanzo.ai still leaked "Gitea" on several surfaces; scrub the ones a
human or API client sees, leaving internals untouched:

- swagger spec (title/description/summary + deprecation notes) in the
  served v1_json/v1_openapi3 templates AND the api.go/version.go
  annotation source, so generate-swagger stays in sync (no drift)
- openapi-viewer <title>
- en-US locale display strings
- admin auth group-team-map example + webhook default-username placeholders
- 500-page report link -> hanzoai/git; global JS error banner
- /.well-known/security.txt

Kept (external/product/internal, not our self-identity): the
repo.migrate.gitea external migration source, the Gitea OAuth2 login
provider, GiteaUser struct field, X-Gitea-Fetch-Action header,
{{/* */}} template comments, and the /api/v1/version number.
2026-07-21 09:18:21 -07:00

23 lines
1.5 KiB
TypeScript

// DO NOT IMPORT window.config HERE!
// to make sure the error handler always works, we should never import `window.config`, because
// some user's custom template breaks it.
import {showGlobalErrorMessage, processWindowErrorEvent} from './modules/errors.ts';
// A module should not be imported twice, otherwise there will be bugs when a module has its internal states.
// A real example is "generateElemId" in "utils/dom.ts", if it is imported twice in different module scopes,
// It will generate duplicate IDs (ps: don't try to use "random" to fix, it is just a real example to show the importance of "do not import a module twice")
if (!window._globalHandlerErrors?._inited) {
if (!window.config) {
showGlobalErrorMessage(`Hanzo Git JavaScript code couldn't run correctly, please check your custom templates`);
}
// we added an event handler for window error at the very beginning of <script> of page head the
// handler calls `_globalHandlerErrors.push` (array method) to record all errors occur before
// this init then in this init, we can collect all error events and show them.
for (const e of (window._globalHandlerErrors as Iterable<ErrorEvent & PromiseRejectionEvent>) || []) {
processWindowErrorEvent(e);
}
// then, change _globalHandlerErrors to an object with push method, to process further error
// events directly
window._globalHandlerErrors = {_inited: true, push: (e: ErrorEvent & PromiseRejectionEvent) => processWindowErrorEvent(e)} as any;
}