Projekte: neue Gitea-Repos beim Oeffnen der Projekte-Seite abholen; Review-Kleinigkeiten
- Projekte-Seite holt neue/archivierte Repos selbst ab (vorher bis zu 10 Minuten unsichtbar) - Import-Drossel: nach einem Fehler sofort neuer Versuch - Zuordnen-Assistent nennt den Status einer vorhandenen Preview - Ticket "Neues Projekt": ungueltige Subdomain wird abgewiesen Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f4c8b235b9
commit
c262268015
5 files changed
+27
-8
No files matched your search
@@ -1,5 +1,7 @@
|
||||
// Ein Aufruf hoechstens alle `maxAgeMs`: ein laufender Aufruf wird geteilt, danach liefert die
|
||||
// Funktion bis zum Ablauf null (uebersprungen). `now` nur fuer Tests.
|
||||
// Funktion bis zum Ablauf null (uebersprungen). Nach einem Fehler darf sofort neu versucht
|
||||
// werden (sonst verschwand der Hinweis und der Abgleich fiel eine Minute lang still aus).
|
||||
// `now` nur fuer Tests.
|
||||
export function throttleRuns(run, maxAgeMs) {
|
||||
let pending = null
|
||||
let doneAt = 0
|
||||
@@ -8,10 +10,10 @@ export function throttleRuns(run, maxAgeMs) {
|
||||
if (doneAt && now - doneAt < maxAgeMs) return Promise.resolve(null)
|
||||
pending = Promise.resolve()
|
||||
.then(run)
|
||||
.finally(() => {
|
||||
doneAt = Date.now()
|
||||
pending = null
|
||||
})
|
||||
.then(
|
||||
(result) => { doneAt = Date.now(); pending = null; return result },
|
||||
(err) => { doneAt = 0; pending = null; throw err }
|
||||
)
|
||||
return pending
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user