Watch EPIRent version and archive its download packages
- Poll the public download page for "Aktuelle Version <nr> vom <date>", report changes through the normal change feed and notification mail, and show the current version as a card on the overview. Runs on its own interval (default 30 min); the first run only records a baseline. - Archive epirentServer.zip / epirentClient.zip per version number so we keep a download cache and history: streamed to disk with SHA-256 and size, fetched in a background thread so ticket polling is unaffected, with a free-space check before downloading (~1.1 GB per version). - Retention is configurable via EPIRENT_DOWNLOAD_KEEP, where 0 means unlimited; a successful archive is reported as a change and by mail. - New Downloads page listing the archived versions with checksums and links to fetch the cached files. - Notification lines now omit the arrow when there is no previous value and drop the "#" for entries without a ticket. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+13
-1
@@ -33,7 +33,7 @@ footer { max-width: 1100px; margin: 2rem auto; padding: 1rem; color: var(--muted
|
||||
background: #e8f5ee; border: 1px solid #b7e0c9; border-radius: 6px;
|
||||
}
|
||||
|
||||
.cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1.4rem; }
|
||||
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1rem; margin-bottom: 1.4rem; }
|
||||
.card {
|
||||
background: var(--panel); border: 1px solid var(--line); border-radius: 10px;
|
||||
padding: 1rem 1.2rem; box-shadow: var(--shadow);
|
||||
@@ -106,6 +106,18 @@ footer { max-width: 1100px; margin: 2rem auto; padding: 1rem; color: var(--muted
|
||||
.tag-article { background: #e8f5ee; color: #0b6e4f; }
|
||||
.tag-new_ticket { background: #f3e8fd; color: #6b27a8; }
|
||||
.tag-priority { background: #fff3d6; color: #8a6300; }
|
||||
.tag-epirent_version { background: #e6f7f4; color: #0a6b62; }
|
||||
.tag-epirent_download { background: #eef0fd; color: #3b3fa8; }
|
||||
|
||||
/* --- Download-Archiv --- */
|
||||
.dl-version { padding: .8rem 1.1rem; border-bottom: 1px solid var(--line); }
|
||||
.dl-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
|
||||
.dl-ver { font-weight: 700; }
|
||||
.dl-meta { color: var(--muted); font-size: .82rem; }
|
||||
.dl-files { list-style: none; margin: .5rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .3rem; }
|
||||
.dl-files li { display: flex; align-items: center; gap: .7rem; font-size: .88rem; flex-wrap: wrap; }
|
||||
.dl-size { color: var(--muted); font-size: .82rem; }
|
||||
.dl-hash { color: #8a95a0; font-size: .75rem; }
|
||||
|
||||
.chips { display: flex; flex-wrap: wrap; gap: .4rem; padding: 1rem 1.1rem; }
|
||||
.chip { background: #eef2f5; padding: .25rem .6rem; border-radius: 999px; font-size: .82rem; }
|
||||
|
||||
Reference in New Issue
Block a user