mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
The Grafana mixin queried gitea_* while modules/metrics/collector.go emits hanzogit_*, so every stat panel rendered empty with no error. All twelve queried names now match names the collector registers. Issue templates sent security reports to [email protected] and help requests to upstream's Discord and forum, which SECURITY.md explicitly tells people not to do; both now point at [email protected] and our docs, and the issue search points at this repository. FUNDING.yml routed sponsorship to upstream's Open Collective, so it is gone. The VS Code build task wrote ./gitea. The Makefile, the README beside it and .gitignore all say gitd. Frontend: initGiteaFomantic, initGiteaAPIViewer and isGiteaError renamed for what they do; the Fomantic hard-fork markers read FORGE-PATCH; base.css named :gitea: as a CUSTOM_EMOJIS example, but the defaults are git, gitlab and github. Container paths are deliberately untouched. /data/gitea is GIT_WORK_DIR's default in docker/root/usr/local/bin/gitd, the deployment does not set GIT_WORK_DIR, and SSH_SERVER_HOST_KEYS is a relative path -- moving the work directory regenerates the host keys and every existing clone reports a changed host identity. /var/lib/gitea, /etc/gitea, gitea.db and gitea-trusted-user-ca-keys.pem keep their names because the matching defaults live in modules/setting, and a path renamed on one side only is a server that starts and then cannot find its own files. Co-authored-by: Hanzo Dev <[email protected]>
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import {POST} from '../../modules/fetch.ts';
|
|
import {hideElem, showElem, toggleElem} from '../../utils/dom.ts';
|
|
|
|
export function initCompWebHookEditor() {
|
|
if (!document.querySelectorAll('.new.webhook').length) {
|
|
return;
|
|
}
|
|
|
|
for (const input of document.querySelectorAll<HTMLInputElement>('.events.checkbox input')) {
|
|
input.addEventListener('change', function () {
|
|
if (this.checked) {
|
|
showElem('.events.fields');
|
|
}
|
|
});
|
|
}
|
|
|
|
for (const input of document.querySelectorAll<HTMLInputElement>('.non-events.checkbox input')) {
|
|
input.addEventListener('change', function () {
|
|
if (this.checked) {
|
|
hideElem('.events.fields');
|
|
}
|
|
});
|
|
}
|
|
|
|
// some webhook types allow to set the request method (GET/POST), and it would toggle the "Content Type" field
|
|
const httpMethodInput = document.querySelector<HTMLInputElement>('#http_method');
|
|
if (httpMethodInput) {
|
|
const updateContentType = function () {
|
|
const visible = httpMethodInput.value === 'POST';
|
|
toggleElem(document.querySelector('#content_type')!.closest('.field')!, visible);
|
|
};
|
|
updateContentType();
|
|
httpMethodInput.addEventListener('change', updateContentType);
|
|
}
|
|
|
|
// Test delivery
|
|
document.querySelector<HTMLButtonElement>('#test-delivery')?.addEventListener('click', async function () {
|
|
this.classList.add('is-loading', 'disabled');
|
|
await POST(this.getAttribute('data-link')!);
|
|
setTimeout(() => window.location.reload(), 5000);
|
|
});
|
|
}
|