Skip to content

Conversation

@vchurbanov
Copy link

Summary

This PR implements automatic event deletion on the frontend side as an initial solution for
[FEATURE] Clear events automatically (server issue #209).

After exploring both backend and frontend approaches, the decision was made to implement the feature entirely on the frontend at this stage, as it provides the desired UX without introducing additional backend complexity.


Rationale

A backend-driven solution would currently require:

  • Persisting auto-delete timeout settings on the server and exposing configuration APIs
  • Introducing background jobs or cron-like mechanisms for timed event cleanup
  • Defining synchronization rules between backend and frontend state (e.g. should users see events already removed on the server)

Given these constraints, a frontend-only implementation was chosen as a pragmatic first step.


What was implemented

  • Added “Delete Events After” setting with a select control
    Available values: no, 1 min, 5 min, 10 min
  • Events are automatically scheduled for deletion when added to the queue
  • Locked events are never auto-deleted
  • Auto-delete timers are safely updated or cleared when:
    • the timeout setting changes
    • an event is removed manually
    • the lock state of an event changes
  • Event deletion is propagated to the backend via WebSocket
  • Introduced two reusable UI components:
    • SelectControl
    • DropdownMenu
  • Full keyboard support: Tab, Esc, Space, arrow keys
  • Added a dark theme variant for the new components

Notes

This implementation focuses on frontend behavior and UX.
A backend-based solution can be introduced later if persistent or shared auto-delete policies are required.

Screenshot

2026-01-07_17-47-03 (2)

@roxblnfk roxblnfk requested review from Kreezag and butschster January 8, 2026 11:01
@butschster butschster self-assigned this Jan 8, 2026
@butschster butschster added the enhancement New feature or request label Jan 8, 2026
@butschster butschster mentioned this pull request Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants