feat: v6.0.0 – Acknowledge executions, Kebab-Dropdown, AJAX Detail-Reload, Dark Mode - #123
Merged
Conversation
…114) - Raise --cm-faint from #44446a (2.2:1) to #9898c8 (7.1:1) — WCAG AA fix - Raise --cm-muted from #8888bb to #b4b4e0 for comfortable readability - Adjust dark background tokens for consistent blue tint - Add missing --cm-text-muted and --cm-input-bg variables (50+ template uses) - Add missing Tailwind bg-overrides: bg-gray-200, bg-green-50, bg-amber-50, bg-orange-100, bg-purple-50 (previously rendered as bright islands in dark mode) - Bump version to 6.0.0
- Replace single "Öffnen" button with a ⋮ action dropdown per row - Dropdown entries: Öffnen (all users), Kopieren (admin), Löschen (admin, red) - Dropdown uses position:fixed via JS to avoid overflow:hidden clipping - Single-delete reuses bulk-delete modal; bulk selection is preserved (singleDeleteId path in cmBulkModalConfirm bypasses the selected Set) - New cron_actions i18n key added to de.php and en.php
- Fix delete button onclick: json_encode(string) produced "3" (with
literal double-quotes), breaking the HTML onclick attribute. Changed
to (int) $jobId to output a bare integer.
- Fix copy form empty: $agParam ended with bare & before copy_from=,
causing browsers to parse © as the HTML entity © (U+00A9).
The copy_from parameter was silently lost from $_GET, leaving
$sourceJob null and rendering a blank create form. Fixed by using
& as the separator in $agParam across all four templates that
define it (list.php, detail.php, dashboard.php, timeline.php).
- Add "Bearbeiten" entry to kebab dropdown (admin only, links to
/crons/{id}/edit) between Öffnen and Kopieren.
Shows agent URL in muted text next to the name, matching the api_keys/create.php layout (w-4 h-4 checkbox, gap-3, text-xs URL).
#121) - POST/DELETE /execution/{id}/acknowledge on the agent sets or clears acknowledged_at + acknowledged_by_user_id on execution_log - Dashboard failure count and recent-failures list filter out acknowledged entries - Job list and timeline show a muted "Acknowledged" badge on the exit-code cell - Job detail page shows Acknowledge/Unacknowledge toggle button for failed rows - REST API: POST/DELETE /api/v1/executions/{id}/acknowledge (scope executions:acknowledge) - New scope added to operator profile and all-admin; operator profile updated in API.md - DB migration 020_acknowledge.sql adds two columns to execution_log - Audit log records execution.acknowledged / execution.unacknowledged actions
Operator+ users can now acknowledge failed executions directly from the dashboard without navigating to the job detail page. Adds isOperator flag to the DashboardController render call and a new action column in the recent-failures table.
Dashboard: Bestätigen-Button sendet fetch POST, entfernt die Zeile sofort aus dem DOM und dekrementiert den Fehler-Badge – kein Seitenneuladen. Detail: Bestätigen/Zurücknehmen per Event-Delegation auf dem History- Tbody; nach Erfolg wird doFetch() über cm:reload-detail ausgelöst und die History aktualisiert sich ohne Redirect. CronController::acknowledgeExecution gibt bei ?_json=1 JSON zurück statt zu redirecten.
README.md: added feature entries for 'Acknowledge failed executions' and 'Job actions menu' (Kebab-Dropdown) introduced in v6.0.0. API.md: added v6.0.0 changelog entry covering the acknowledge endpoints, executions:acknowledge scope, new history fields, and audit-log events.
StatsEndpoint excluded acknowledged_at IS NULL from failed_today and failed_24h counters. Acknowledged executions remain failures and must be counted; only the recent-failures display list suppresses them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
executions:acknowledge, DB-Migration020_acknowledge.sql.has_running-Erkennung im JSON-Modus,translator()-Methode statt nicht existenter Property, Agent-Auswahl-Styling im Benutzerformular.Test plan
failed_today,failed_24h) zählen bestätigte Fehler weiterhinPOST /api/v1/executions/{id}/acknowledgeundDELETE /api/v1/executions/{id}/acknowledgemitexecutions:acknowledge-Scopeexecution.acknowledged/execution.unacknowledgederscheinen