Commit-Ausblendung (für UI) implementiert
Dieser Commit ist enthalten in:
committet von
Claude Project Manager
Ursprung
dad07c7879
Commit
50da44aabc
@ -1,6 +1,30 @@
|
|||||||
TASKMATE - CHANGELOG
|
TASKMATE - CHANGELOG
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
29.12.2025 - Gitea: Commits aus Anzeige ausblenden
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
FEATURE: COMMITS AUS ANZEIGE ENTFERNEN
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
- X-Button bei jedem Commit zum Ausblenden (erscheint bei Hover)
|
||||||
|
- "Alle ausblenden" Button in der Überschrift
|
||||||
|
- Ausgeblendete Commits werden nur aus der UI entfernt, nicht aus Git
|
||||||
|
- Anzeige zeigt "Alle Commits ausgeblendet" wenn Liste leer
|
||||||
|
|
||||||
|
ÄNDERUNGEN
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
- frontend/index.html: Commits-Header mit "Alle ausblenden" Button
|
||||||
|
- frontend/css/gitea.css:
|
||||||
|
* .commits-header Style für Überschrift mit Button
|
||||||
|
* .commit-delete Button-Style (erscheint bei Hover)
|
||||||
|
- frontend/js/gitea.js:
|
||||||
|
* hiddenCommits Set im Constructor
|
||||||
|
* renderCommits() filtert ausgeblendete Commits
|
||||||
|
* handleCommitListClick() für Event-Delegation
|
||||||
|
* hideCommit(), clearAllCommits() Methoden
|
||||||
|
- frontend/sw.js: Cache-Version auf 125 erhöht
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
29.12.2025 - Gitea: Commit-Autor = eingeloggter Benutzer
|
29.12.2025 - Gitea: Commit-Autor = eingeloggter Benutzer
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|||||||
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
BIN
backups/backup_2025-12-29T19-30-20-564Z.db-wal
Normale Datei
BIN
backups/backup_2025-12-29T19-30-20-564Z.db-wal
Normale Datei
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
@ -391,6 +391,19 @@
|
|||||||
COMMITS PANEL
|
COMMITS PANEL
|
||||||
============================================================================= */
|
============================================================================= */
|
||||||
|
|
||||||
|
.commits-header {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: var(--spacing-3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.commits-header h3 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: var(--text-base);
|
||||||
|
color: var(--text-primary);
|
||||||
|
}
|
||||||
|
|
||||||
.gitea-commits-panel h3 {
|
.gitea-commits-panel h3 {
|
||||||
margin: 0 0 var(--spacing-3) 0;
|
margin: 0 0 var(--spacing-3) 0;
|
||||||
font-size: var(--text-base);
|
font-size: var(--text-base);
|
||||||
@ -452,6 +465,32 @@
|
|||||||
color: var(--text-secondary);
|
color: var(--text-secondary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.commit-delete {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
border: none;
|
||||||
|
background: transparent;
|
||||||
|
color: var(--text-tertiary);
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: var(--radius-sm);
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.15s, color 0.15s, background 0.15s;
|
||||||
|
flex-shrink: 0;
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.commit-item:hover .commit-delete {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.commit-delete:hover {
|
||||||
|
color: var(--error);
|
||||||
|
background: rgba(239, 68, 68, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
/* =============================================================================
|
/* =============================================================================
|
||||||
EMPTY STATE
|
EMPTY STATE
|
||||||
============================================================================= */
|
============================================================================= */
|
||||||
|
|||||||
@ -659,7 +659,12 @@
|
|||||||
|
|
||||||
<!-- Commit-Historie -->
|
<!-- Commit-Historie -->
|
||||||
<div id="gitea-commits-section" class="gitea-commits-panel">
|
<div id="gitea-commits-section" class="gitea-commits-panel">
|
||||||
|
<div class="commits-header">
|
||||||
<h3>Letzte Commits</h3>
|
<h3>Letzte Commits</h3>
|
||||||
|
<button id="btn-clear-commits" class="btn btn-small btn-secondary" title="Alle aus Anzeige entfernen">
|
||||||
|
Alle ausblenden
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<div id="git-commits-list" class="commits-list">
|
<div id="git-commits-list" class="commits-list">
|
||||||
<!-- Dynamisch gefüllt -->
|
<!-- Dynamisch gefüllt -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -19,6 +19,7 @@ class GiteaManager {
|
|||||||
this.initialized = false;
|
this.initialized = false;
|
||||||
this.refreshInterval = null;
|
this.refreshInterval = null;
|
||||||
this.isLoading = false;
|
this.isLoading = false;
|
||||||
|
this.hiddenCommits = new Set(); // Ausgeblendete Commits
|
||||||
}
|
}
|
||||||
|
|
||||||
async init() {
|
async init() {
|
||||||
@ -79,6 +80,10 @@ class GiteaManager {
|
|||||||
// Branch umbenennen
|
// Branch umbenennen
|
||||||
$('#btn-rename-branch')?.addEventListener('click', () => this.openRenameBranchModal());
|
$('#btn-rename-branch')?.addEventListener('click', () => this.openRenameBranchModal());
|
||||||
$('#git-rename-branch-form')?.addEventListener('submit', (e) => this.executeRenameBranch(e));
|
$('#git-rename-branch-form')?.addEventListener('submit', (e) => this.executeRenameBranch(e));
|
||||||
|
|
||||||
|
// Commits ausblenden
|
||||||
|
$('#btn-clear-commits')?.addEventListener('click', () => this.clearAllCommits());
|
||||||
|
$('#git-commits-list')?.addEventListener('click', (e) => this.handleCommitListClick(e));
|
||||||
}
|
}
|
||||||
|
|
||||||
subscribeToStore() {
|
subscribeToStore() {
|
||||||
@ -775,24 +780,73 @@ class GiteaManager {
|
|||||||
|
|
||||||
renderCommits() {
|
renderCommits() {
|
||||||
const listEl = $('#git-commits-list');
|
const listEl = $('#git-commits-list');
|
||||||
|
const clearBtn = $('#btn-clear-commits');
|
||||||
if (!listEl) return;
|
if (!listEl) return;
|
||||||
|
|
||||||
if (this.commits.length === 0) {
|
// Filtern: Ausgeblendete Commits nicht anzeigen
|
||||||
listEl.innerHTML = '<div class="gitea-empty-state" style="padding: var(--spacing-4);"><p>Keine Commits gefunden</p></div>';
|
const visibleCommits = this.commits.filter(commit => {
|
||||||
|
const hash = commit.hash || commit.sha || commit.shortHash;
|
||||||
|
return !this.hiddenCommits.has(hash);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Button-Text anpassen
|
||||||
|
if (clearBtn) {
|
||||||
|
clearBtn.style.display = visibleCommits.length > 0 ? '' : 'none';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (visibleCommits.length === 0) {
|
||||||
|
const message = this.commits.length > 0
|
||||||
|
? 'Alle Commits ausgeblendet'
|
||||||
|
: 'Keine Commits gefunden';
|
||||||
|
listEl.innerHTML = `<div class="gitea-empty-state" style="padding: var(--spacing-4);"><p>${message}</p></div>`;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
listEl.innerHTML = this.commits.map(commit => `
|
listEl.innerHTML = visibleCommits.map(commit => {
|
||||||
<div class="commit-item">
|
const hash = commit.hash || commit.sha || '';
|
||||||
<span class="commit-hash">${escapeHtml(commit.shortHash || commit.sha?.substring(0, 7))}</span>
|
const shortHash = commit.shortHash || hash.substring(0, 7);
|
||||||
|
return `
|
||||||
|
<div class="commit-item" data-hash="${escapeHtml(hash)}">
|
||||||
|
<span class="commit-hash">${escapeHtml(shortHash)}</span>
|
||||||
<div class="commit-info">
|
<div class="commit-info">
|
||||||
<div class="commit-message">${escapeHtml(commit.message?.split('\n')[0] || '')}</div>
|
<div class="commit-message">${escapeHtml(commit.message?.split('\n')[0] || '')}</div>
|
||||||
<div class="commit-meta">
|
<div class="commit-meta">
|
||||||
<span class="author">${escapeHtml(commit.author)}</span> · ${this.formatDate(commit.date)}
|
<span class="author">${escapeHtml(commit.author)}</span> · ${this.formatDate(commit.date)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<button class="commit-delete" title="Ausblenden" data-hash="${escapeHtml(hash)}">
|
||||||
|
<svg viewBox="0 0 24 24" width="16" height="16"><path d="M18 6L6 18M6 6l12 12" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round"/></svg>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
`).join('');
|
`}).join('');
|
||||||
|
}
|
||||||
|
|
||||||
|
handleCommitListClick(e) {
|
||||||
|
const deleteBtn = e.target.closest('.commit-delete');
|
||||||
|
if (deleteBtn) {
|
||||||
|
const hash = deleteBtn.dataset.hash;
|
||||||
|
if (hash) {
|
||||||
|
this.hideCommit(hash);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hideCommit(hash) {
|
||||||
|
this.hiddenCommits.add(hash);
|
||||||
|
this.renderCommits();
|
||||||
|
this.showToast('Commit ausgeblendet', 'info');
|
||||||
|
}
|
||||||
|
|
||||||
|
clearAllCommits() {
|
||||||
|
// Alle sichtbaren Commits ausblenden
|
||||||
|
this.commits.forEach(commit => {
|
||||||
|
const hash = commit.hash || commit.sha || commit.shortHash;
|
||||||
|
if (hash) {
|
||||||
|
this.hiddenCommits.add(hash);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.renderCommits();
|
||||||
|
this.showToast('Alle Commits ausgeblendet', 'info');
|
||||||
}
|
}
|
||||||
|
|
||||||
renderChanges() {
|
renderChanges() {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* Offline support and caching
|
* Offline support and caching
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const CACHE_VERSION = '124';
|
const CACHE_VERSION = '125';
|
||||||
const CACHE_NAME = 'taskmate-v' + CACHE_VERSION;
|
const CACHE_NAME = 'taskmate-v' + CACHE_VERSION;
|
||||||
const STATIC_CACHE_NAME = 'taskmate-static-v' + CACHE_VERSION;
|
const STATIC_CACHE_NAME = 'taskmate-static-v' + CACHE_VERSION;
|
||||||
const DYNAMIC_CACHE_NAME = 'taskmate-dynamic-v' + CACHE_VERSION;
|
const DYNAMIC_CACHE_NAME = 'taskmate-dynamic-v' + CACHE_VERSION;
|
||||||
|
|||||||
222
logs/app.log
222
logs/app.log
@ -33265,3 +33265,225 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
|||||||
[2025-12-29T19:20:08.232Z] [INFO] GET /api/health 200 1ms
|
[2025-12-29T19:20:08.232Z] [INFO] GET /api/health 200 1ms
|
||||||
[2025-12-29T19:20:25.885Z] [INFO] CSRF: Token missing or not stored for user 1, generated new token
|
[2025-12-29T19:20:25.885Z] [INFO] CSRF: Token missing or not stored for user 1, generated new token
|
||||||
[2025-12-29T19:20:25.886Z] [INFO] POST /api/git/commit/4 403 5ms
|
[2025-12-29T19:20:25.886Z] [INFO] POST /api/git/commit/4 403 5ms
|
||||||
|
[2025-12-29T19:20:26.358Z] [INFO] Commit mit Autor: HG <hg@taskmate.local>
|
||||||
|
[2025-12-29T19:20:27.316Z] [INFO] POST /api/git/commit/4 200 1425ms
|
||||||
|
[2025-12-29T19:20:27.832Z] [INFO] GET /api/git/status/4 200 510ms
|
||||||
|
[2025-12-29T19:20:27.952Z] [INFO] GET /api/git/branches/4 304 119ms
|
||||||
|
[2025-12-29T19:20:28.055Z] [INFO] GET /api/git/commits/4?limit=10 200 102ms
|
||||||
|
[2025-12-29T19:20:38.170Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:21:08.088Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:21:35.656Z] [INFO] POST /api/git/push/4 200 2395ms
|
||||||
|
[2025-12-29T19:21:36.140Z] [INFO] GET /api/git/status/4 200 477ms
|
||||||
|
[2025-12-29T19:21:36.227Z] [INFO] GET /api/git/branches/4 304 86ms
|
||||||
|
[2025-12-29T19:21:36.317Z] [INFO] GET /api/git/commits/4?limit=10 304 89ms
|
||||||
|
[2025-12-29T19:21:38.001Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:22:07.921Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:22:37.844Z] [INFO] GET /api/health 200 0ms
|
||||||
|
[2025-12-29T19:23:07.716Z] [INFO] GET /api/health 200 0ms
|
||||||
|
[2025-12-29T19:23:37.640Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:24:07.579Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:24:37.087Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:25:07.038Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:25:32.215Z] [INFO] GET / 304 0ms
|
||||||
|
[2025-12-29T19:25:32.223Z] [INFO] Socket disconnected: HG (SBl_TOuyLp5B7BWvAAAD)
|
||||||
|
[2025-12-29T19:25:32.240Z] [INFO] GET /css/variables.css 304 0ms
|
||||||
|
[2025-12-29T19:25:32.242Z] [INFO] GET /css/board.css 304 1ms
|
||||||
|
[2025-12-29T19:25:32.244Z] [INFO] GET /css/base.css 304 1ms
|
||||||
|
[2025-12-29T19:25:32.244Z] [INFO] GET /css/list.css 304 1ms
|
||||||
|
[2025-12-29T19:25:32.265Z] [INFO] GET /css/admin.css 304 13ms
|
||||||
|
[2025-12-29T19:25:32.263Z] [INFO] GET /css/proposals.css 304 18ms
|
||||||
|
[2025-12-29T19:25:32.264Z] [INFO] GET /css/notifications.css 304 18ms
|
||||||
|
[2025-12-29T19:25:32.264Z] [INFO] GET /css/components.css 304 19ms
|
||||||
|
[2025-12-29T19:25:32.265Z] [INFO] GET /css/modal.css 304 17ms
|
||||||
|
[2025-12-29T19:25:32.265Z] [INFO] GET /css/calendar.css 304 13ms
|
||||||
|
[2025-12-29T19:25:32.287Z] [INFO] GET /css/responsive.css 304 21ms
|
||||||
|
[2025-12-29T19:25:32.287Z] [INFO] GET /css/gitea.css 304 21ms
|
||||||
|
[2025-12-29T19:25:32.288Z] [INFO] GET /js/app.js 304 21ms
|
||||||
|
[2025-12-29T19:25:32.313Z] [INFO] GET /js/store.js 304 4ms
|
||||||
|
[2025-12-29T19:25:32.314Z] [INFO] GET /js/api.js 304 5ms
|
||||||
|
[2025-12-29T19:25:32.314Z] [INFO] GET /js/sync.js 304 4ms
|
||||||
|
[2025-12-29T19:25:32.314Z] [INFO] GET /js/auth.js 304 4ms
|
||||||
|
[2025-12-29T19:25:32.315Z] [INFO] GET /js/offline.js 304 4ms
|
||||||
|
[2025-12-29T19:25:32.315Z] [INFO] GET /js/board.js 304 3ms
|
||||||
|
[2025-12-29T19:25:32.348Z] [INFO] GET /js/calendar.js 304 33ms
|
||||||
|
[2025-12-29T19:25:32.348Z] [INFO] GET /js/list.js 304 32ms
|
||||||
|
[2025-12-29T19:25:32.349Z] [INFO] GET /js/shortcuts.js 304 33ms
|
||||||
|
[2025-12-29T19:25:32.349Z] [INFO] GET /js/task-modal.js 304 33ms
|
||||||
|
[2025-12-29T19:25:32.350Z] [INFO] GET /js/undo.js 304 34ms
|
||||||
|
[2025-12-29T19:25:32.364Z] [INFO] GET /js/proposals.js 304 14ms
|
||||||
|
[2025-12-29T19:25:32.365Z] [INFO] GET /js/notifications.js 304 15ms
|
||||||
|
[2025-12-29T19:25:32.349Z] [INFO] GET /js/admin.js 304 32ms
|
||||||
|
[2025-12-29T19:25:32.366Z] [INFO] GET /js/gitea.js 304 15ms
|
||||||
|
[2025-12-29T19:25:32.366Z] [INFO] GET /js/utils.js 304 15ms
|
||||||
|
[2025-12-29T19:25:32.404Z] [INFO] GET /assets/icons/task.svg 304 5ms
|
||||||
|
[2025-12-29T19:25:32.404Z] [INFO] GET /api/auth/users 401 5ms
|
||||||
|
[2025-12-29T19:25:33.885Z] [INFO] GET /sw.js 304 1ms
|
||||||
|
[2025-12-29T19:25:36.953Z] [INFO] GET /api/health 200 0ms
|
||||||
|
[2025-12-29T19:25:37.493Z] [INFO] Login erfolgreich: hendrik_gebhardt@gmx.de
|
||||||
|
[2025-12-29T19:25:37.494Z] [INFO] POST /api/auth/login 200 263ms
|
||||||
|
[2025-12-29T19:25:37.518Z] [INFO] Socket connected: HG (rSVvS2Q1wUzOL2XNAAAG)
|
||||||
|
[2025-12-29T19:25:37.509Z] [INFO] GET /api/auth/users 304 5ms
|
||||||
|
[2025-12-29T19:25:37.521Z] [INFO] Socket connected: HG (nx3DzRtMh6-KdkM2AAAH)
|
||||||
|
[2025-12-29T19:25:37.543Z] [INFO] GET /api/columns/4 304 8ms
|
||||||
|
[2025-12-29T19:25:37.540Z] [INFO] GET /api/stats/dashboard?projectId=4 304 5ms
|
||||||
|
[2025-12-29T19:25:37.526Z] [INFO] GET /api/projects 304 3ms
|
||||||
|
[2025-12-29T19:25:37.532Z] [INFO] HG joined project:[object Object]
|
||||||
|
[2025-12-29T19:25:37.548Z] [INFO] GET /api/tasks/project/4 304 12ms
|
||||||
|
[2025-12-29T19:25:37.552Z] [INFO] GET /api/labels/4 304 16ms
|
||||||
|
[2025-12-29T19:25:37.563Z] [INFO] GET /api/proposals?sort=date&archived=0&projectId=4 304 3ms
|
||||||
|
[2025-12-29T19:25:37.573Z] [INFO] GET /api/notifications 304 3ms
|
||||||
|
[2025-12-29T19:25:38.966Z] [INFO] GET /api/applications/4 200 3ms
|
||||||
|
[2025-12-29T19:25:39.560Z] [INFO] GET /api/git/branches/4 304 588ms
|
||||||
|
[2025-12-29T19:25:39.469Z] [INFO] GET /api/git/status/4 200 497ms
|
||||||
|
[2025-12-29T19:25:39.647Z] [INFO] GET /api/git/commits/4?limit=10 304 674ms
|
||||||
|
[2025-12-29T19:26:06.476Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:26:36.010Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:27:05.543Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:27:35.094Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:28:04.637Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:28:23.755Z] [INFO] SIGTERM empfangen, fahre herunter...
|
||||||
|
[2025-12-29T19:29:21.591Z] [ERROR] Fehler beim Abrufen der Upload-Einstellungen:
|
||||||
|
[2025-12-29T19:29:21.674Z] [INFO] Datenbank-Tabellen erstellt
|
||||||
|
[2025-12-29T19:29:21.677Z] [INFO] Datenbank initialisiert
|
||||||
|
[2025-12-29T19:29:21.680Z] [INFO] Umgebung: production
|
||||||
|
[2025-12-29T19:29:21.680Z] [INFO] Server läuft auf Port 3000
|
||||||
|
[2025-12-29T19:29:21.681Z] [INFO] Backup-Scheduler gestartet (alle 24 Stunden)
|
||||||
|
[2025-12-29T19:29:21.681Z] [INFO] Automatische Backups aktiviert
|
||||||
|
[2025-12-29T19:29:26.334Z] [INFO] GET /api/health 200 7ms
|
||||||
|
[2025-12-29T19:29:26.809Z] [INFO] Socket connected: HG (VOKhbUt8p5y14j9pAAAB)
|
||||||
|
[2025-12-29T19:29:26.823Z] [INFO] HG joined project:[object Object]
|
||||||
|
[2025-12-29T19:29:31.009Z] [INFO] Socket connected: HG (wdUe3wl2kLUaKfuoAAAD)
|
||||||
|
[2025-12-29T19:29:31.019Z] [INFO] HG joined project:[object Object]
|
||||||
|
[2025-12-29T19:29:48.799Z] [INFO] GET / 200 5ms
|
||||||
|
[2025-12-29T19:29:48.836Z] [INFO] GET /css/variables.css 304 1ms
|
||||||
|
[2025-12-29T19:29:48.852Z] [INFO] GET /css/modal.css 304 0ms
|
||||||
|
[2025-12-29T19:29:48.842Z] [INFO] GET /css/base.css 304 1ms
|
||||||
|
[2025-12-29T19:29:48.855Z] [INFO] GET /css/proposals.css 304 2ms
|
||||||
|
[2025-12-29T19:29:48.850Z] [INFO] GET /css/admin.css 304 4ms
|
||||||
|
[2025-12-29T19:29:48.886Z] [INFO] GET /css/responsive.css 304 21ms
|
||||||
|
[2025-12-29T19:29:48.884Z] [INFO] GET /css/notifications.css 304 23ms
|
||||||
|
[2025-12-29T19:29:48.885Z] [INFO] GET /css/list.css 304 22ms
|
||||||
|
[2025-12-29T19:29:48.856Z] [INFO] GET /css/calendar.css 304 1ms
|
||||||
|
[2025-12-29T19:29:48.887Z] [INFO] GET /css/components.css 304 15ms
|
||||||
|
[2025-12-29T19:29:48.890Z] [INFO] GET /css/board.css 304 21ms
|
||||||
|
[2025-12-29T19:29:48.946Z] [INFO] GET /css/gitea.css 200 80ms
|
||||||
|
[2025-12-29T19:29:48.940Z] [INFO] GET /js/app.js 304 49ms
|
||||||
|
[2025-12-29T19:29:48.999Z] [INFO] GET /js/auth.js 304 17ms
|
||||||
|
[2025-12-29T19:29:49.001Z] [INFO] GET /js/api.js 304 25ms
|
||||||
|
[2025-12-29T19:29:49.002Z] [INFO] GET /js/sync.js 304 19ms
|
||||||
|
[2025-12-29T19:29:49.004Z] [INFO] GET /js/offline.js 304 20ms
|
||||||
|
[2025-12-29T19:29:49.007Z] [INFO] GET /js/board.js 304 22ms
|
||||||
|
[2025-12-29T19:29:49.042Z] [INFO] GET /js/calendar.js 304 32ms
|
||||||
|
[2025-12-29T19:29:49.041Z] [INFO] GET /js/task-modal.js 304 31ms
|
||||||
|
[2025-12-29T19:29:49.042Z] [INFO] GET /js/list.js 304 32ms
|
||||||
|
[2025-12-29T19:29:48.996Z] [INFO] GET /js/store.js 304 19ms
|
||||||
|
[2025-12-29T19:29:49.044Z] [INFO] GET /js/admin.js 304 33ms
|
||||||
|
[2025-12-29T19:29:49.043Z] [INFO] GET /js/undo.js 304 32ms
|
||||||
|
[2025-12-29T19:29:49.043Z] [INFO] GET /js/shortcuts.js 304 32ms
|
||||||
|
[2025-12-29T19:29:49.099Z] [INFO] GET /js/notifications.js 304 54ms
|
||||||
|
[2025-12-29T19:29:49.099Z] [INFO] GET /js/utils.js 304 52ms
|
||||||
|
[2025-12-29T19:29:49.098Z] [INFO] GET /js/proposals.js 304 53ms
|
||||||
|
[2025-12-29T19:29:49.104Z] [INFO] GET /js/gitea.js 200 59ms
|
||||||
|
[2025-12-29T19:29:49.162Z] [INFO] GET /api/auth/users 304 8ms
|
||||||
|
[2025-12-29T19:29:49.169Z] [INFO] GET /assets/icons/task.svg 200 6ms
|
||||||
|
[2025-12-29T19:29:49.180Z] [INFO] GET /api/auth/users 304 4ms
|
||||||
|
[2025-12-29T19:29:49.203Z] [INFO] Socket connected: HG (WLX8rFFdGcDBaqlzAAAF)
|
||||||
|
[2025-12-29T19:29:49.215Z] [INFO] GET /api/projects 304 10ms
|
||||||
|
[2025-12-29T19:29:49.233Z] [INFO] HG joined project:[object Object]
|
||||||
|
[2025-12-29T19:29:49.248Z] [INFO] GET /api/stats/dashboard?projectId=4 304 13ms
|
||||||
|
[2025-12-29T19:29:49.252Z] [INFO] GET /api/columns/4 304 17ms
|
||||||
|
[2025-12-29T19:29:49.258Z] [INFO] GET /api/labels/4 304 22ms
|
||||||
|
[2025-12-29T19:29:49.261Z] [INFO] GET /api/tasks/project/4 304 25ms
|
||||||
|
[2025-12-29T19:29:49.302Z] [INFO] GET /api/notifications 304 7ms
|
||||||
|
[2025-12-29T19:29:49.282Z] [INFO] GET /api/proposals?sort=date&archived=0&projectId=4 304 9ms
|
||||||
|
[2025-12-29T19:29:50.856Z] [INFO] GET /sw.js 200 7ms
|
||||||
|
[2025-12-29T19:29:50.878Z] [INFO] GET / 304 2ms
|
||||||
|
[2025-12-29T19:29:50.881Z] [INFO] GET /css/variables.css 304 4ms
|
||||||
|
[2025-12-29T19:29:50.883Z] [INFO] GET /index.html 200 6ms
|
||||||
|
[2025-12-29T19:29:50.886Z] [INFO] GET /css/components.css 304 0ms
|
||||||
|
[2025-12-29T19:29:50.885Z] [INFO] GET /css/base.css 304 0ms
|
||||||
|
[2025-12-29T19:29:50.899Z] [INFO] GET /css/modal.css 304 1ms
|
||||||
|
[2025-12-29T19:29:50.887Z] [INFO] GET /css/board.css 304 0ms
|
||||||
|
[2025-12-29T19:29:50.900Z] [INFO] GET /css/calendar.css 304 1ms
|
||||||
|
[2025-12-29T19:29:50.900Z] [INFO] GET /css/responsive.css 304 1ms
|
||||||
|
[2025-12-29T19:29:50.913Z] [INFO] GET /js/app.js 304 9ms
|
||||||
|
[2025-12-29T19:29:50.913Z] [INFO] GET /js/utils.js 304 9ms
|
||||||
|
[2025-12-29T19:29:50.914Z] [INFO] GET /js/api.js 304 9ms
|
||||||
|
[2025-12-29T19:29:50.938Z] [INFO] GET /js/sync.js 304 16ms
|
||||||
|
[2025-12-29T19:29:50.938Z] [INFO] GET /js/store.js 304 17ms
|
||||||
|
[2025-12-29T19:29:50.937Z] [INFO] GET /js/auth.js 304 16ms
|
||||||
|
[2025-12-29T19:29:50.948Z] [INFO] GET /js/board.js 304 1ms
|
||||||
|
[2025-12-29T19:29:50.949Z] [INFO] GET /js/task-modal.js 304 1ms
|
||||||
|
[2025-12-29T19:29:50.949Z] [INFO] GET /js/offline.js 304 1ms
|
||||||
|
[2025-12-29T19:29:50.991Z] [INFO] GET /js/list.js 304 29ms
|
||||||
|
[2025-12-29T19:29:50.990Z] [INFO] GET /js/calendar.js 304 28ms
|
||||||
|
[2025-12-29T19:29:50.991Z] [INFO] GET /js/shortcuts.js 304 28ms
|
||||||
|
[2025-12-29T19:29:51.036Z] [INFO] GET /js/tour.js 200 36ms
|
||||||
|
[2025-12-29T19:29:51.038Z] [INFO] GET /js/proposals.js 304 0ms
|
||||||
|
[2025-12-29T19:29:51.033Z] [INFO] GET /js/admin.js 304 32ms
|
||||||
|
[2025-12-29T19:29:51.031Z] [INFO] GET /js/undo.js 304 35ms
|
||||||
|
[2025-12-29T19:29:51.092Z] [INFO] GET /css/admin.css 304 2ms
|
||||||
|
[2025-12-29T19:29:51.081Z] [INFO] GET /js/notifications.js 304 40ms
|
||||||
|
[2025-12-29T19:29:51.080Z] [INFO] GET /js/gitea.js 304 33ms
|
||||||
|
[2025-12-29T19:29:51.082Z] [INFO] GET /css/list.css 304 34ms
|
||||||
|
[2025-12-29T19:29:51.093Z] [INFO] GET /css/proposals.css 304 2ms
|
||||||
|
[2025-12-29T19:29:51.107Z] [INFO] GET /css/gitea.css 304 7ms
|
||||||
|
[2025-12-29T19:29:51.092Z] [INFO] GET /css/notifications.css 304 1ms
|
||||||
|
[2025-12-29T19:29:55.963Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:30:20.586Z] [INFO] Backup erstellt: backup_2025-12-29T19-30-20-564Z.db
|
||||||
|
[2025-12-29T19:30:20.594Z] [INFO] Altes Backup gelöscht: backup_2025-12-22T19-54-01-136Z.db
|
||||||
|
[2025-12-29T19:30:20.601Z] [INFO] Fälligkeits-Check für Benachrichtigungen gestartet
|
||||||
|
[2025-12-29T19:30:25.515Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:30:55.018Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:31:24.576Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:31:53.968Z] [INFO] GET /api/health 200 0ms
|
||||||
|
[2025-12-29T19:32:23.509Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:32:52.954Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:33:22.389Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:33:51.920Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:34:21.306Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:34:50.200Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:35:19.652Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:35:49.096Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:36:18.493Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:36:47.938Z] [INFO] GET /api/health 200 6ms
|
||||||
|
[2025-12-29T19:37:17.376Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:37:46.806Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:38:16.246Z] [INFO] GET /api/health 200 4ms
|
||||||
|
[2025-12-29T19:38:45.667Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:39:15.056Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:39:44.500Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:40:13.943Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:40:43.402Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:41:12.846Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:41:42.287Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:42:11.718Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:42:41.075Z] [INFO] GET /api/health 200 0ms
|
||||||
|
[2025-12-29T19:43:10.518Z] [INFO] GET /api/health 200 0ms
|
||||||
|
[2025-12-29T19:43:39.949Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:44:09.375Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:44:38.799Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:45:08.198Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:45:37.621Z] [INFO] GET /api/health 200 2ms
|
||||||
|
[2025-12-29T19:46:07.021Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:46:36.422Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:47:05.826Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:47:35.221Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:48:04.574Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:48:33.961Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:49:03.354Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:49:32.743Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:50:02.132Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:50:31.491Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:51:00.904Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:51:10.140Z] [INFO] GET /api/applications/4 304 10ms
|
||||||
|
[2025-12-29T19:51:10.824Z] [INFO] GET /api/git/status/4 200 677ms
|
||||||
|
[2025-12-29T19:51:10.984Z] [INFO] GET /api/git/branches/4 304 159ms
|
||||||
|
[2025-12-29T19:51:11.087Z] [INFO] GET /api/git/commits/4?limit=10 304 102ms
|
||||||
|
[2025-12-29T19:51:23.922Z] [INFO] Socket disconnected: HG (VOKhbUt8p5y14j9pAAAB)
|
||||||
|
[2025-12-29T19:51:23.925Z] [INFO] Socket disconnected: HG (wdUe3wl2kLUaKfuoAAAD)
|
||||||
|
[2025-12-29T19:51:30.247Z] [INFO] GET /api/health 200 0ms
|
||||||
|
[2025-12-29T19:51:59.618Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:52:29.002Z] [INFO] GET /api/health 200 1ms
|
||||||
|
[2025-12-29T19:52:34.672Z] [INFO] CSRF: Token missing or not stored for user 1, generated new token
|
||||||
|
[2025-12-29T19:52:34.673Z] [INFO] POST /api/git/commit/4 403 5ms
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren