Skip to content

Dark Mode, N8N Support, and UX Improvements#1

Merged
XHyperDEVX merged 9 commits intomainfrom
cto/implement-webhook-timer
Mar 27, 2026
Merged

Dark Mode, N8N Support, and UX Improvements#1
XHyperDEVX merged 9 commits intomainfrom
cto/implement-webhook-timer

Conversation

@cto-new
Copy link
Copy Markdown

@cto-new cto-new bot commented Mar 27, 2026

This PR introduces several improvements to the Webhook Timer:

UI Enhancements

  • Dark Mode: The UI is now fully dark-themed using Tailwind CSS.
  • Improved UX: Modals now close automatically upon successful timer creation or update.
  • Live Updates: Deleting a timer now removes it from the list immediately for all connected clients via WebSockets (plus optimistic local update).
  • Control: Added a "Call Now" button for each timer to trigger the webhook on demand.

Functional Changes

  • Timer Behavior:
    • When a timer is deactivated, its countdown display stops.
    • When reactivated, the countdown restarts from the beginning of the configured interval.
  • N8N Support:
    • Added a new "N8N Webhook" type.
    • N8N webhooks have specialized success criteria: they must return HTTP 200 and a JSON body {"message": "Workflow was started"}.
    • N8N webhooks have an enforced minimum timeout of 30 seconds to allow for workflow start latency.
    • If the criteria are not met within 30 seconds, the call is logged as "failed," but the timer still restarts for the next interval.

Documentation

  • Added a prominent warning to the README indicating that the project is AI-generated and not actively maintained.

Powered by CTO.new

- Implemented Timer Manager with goroutines for each timer.
- Added SQLite persistence for timer configurations and logs.
- Created a Web UI with Tailwind CSS for managing timers (CRUD, toggle, logs).
- Added WebSocket support for live countdown updates.
- Included Dockerfile and docker-compose.yml for easy deployment.
- Supported both Fixed and Random interval modes.
- Supported POST and GET webhook methods.
- Added prominent warning to README.md about the project being AI-generated and unmaintained.
- Created .github/workflows/docker-build.yml to build the Docker image on pushes to main.
@cto-new cto-new bot changed the title Implement Webhook Timer Daemon Add AI warning and Docker build workflow Mar 27, 2026
XHyperDEVX and others added 3 commits March 27, 2026 23:44
- Updated .github/workflows/docker-build.yml to login to GHCR.
- Configured build and push on push to main branch.
- Added metadata extraction for image tags and labels.
- Ensured image name is lowercased for GHCR compliance.
@cto-new cto-new bot changed the title Add AI warning and Docker build workflow Push Docker image to GHCR on merge to main Mar 27, 2026
XHyperDEVX and others added 4 commits March 27, 2026 23:51
- Implemented full dark mode UI.
- Added "Call Now" button to trigger webhooks immediately.
- Added "N8N Webhook" type with specific success criteria:
  - Expects HTTP 200 and {"message": "Workflow was started"}.
  - Implements a 30s minimum timeout for N8N calls.
- Improved UI responsiveness:
  - Modals close automatically after saving.
  - Deactivating a timer stops the countdown.
  - Reactivating a timer restarts the countdown from the beginning.
  - Deleted entries disappear immediately without page reload.
- Updated README with AI-generated project warning.
@cto-new cto-new bot changed the title Push Docker image to GHCR on merge to main Dark Mode, N8N Support, and UX Improvements Mar 27, 2026
@XHyperDEVX XHyperDEVX merged commit 053354b into main Mar 27, 2026
1 check passed
@XHyperDEVX XHyperDEVX deleted the cto/implement-webhook-timer branch March 27, 2026 23:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant