Add lightweight live UI refresh #36

Closed
opened 2026-05-21 14:35:24 +02:00 by parkel · 0 comments
Owner

Goal

Introduce Django-friendly partial refresh behavior for operational pages so pobsync feels more like a live control panel without adopting a full frontend framework.

Suggested Approach

Prefer server-rendered partials with HTMX or small vanilla JavaScript. Avoid a React/Vue/Svelte build step unless a specific interaction genuinely requires it.

Scope

  • Evaluate adding HTMX for partial updates.
  • Add auto-refresh for the most valuable status surfaces first, such as dashboard activity, run detail status/log availability, and possibly log filters.
  • Keep pages usable without complex client-side state.
  • Avoid refreshing forms while a user is editing them.

Acceptance Criteria

  • At least one high-value status panel refreshes automatically without a full page reload.
  • The implementation remains Django-template-first and easy to maintain.
  • Refresh behavior is documented briefly for future UI work.
  • Tests cover the partial view or endpoint used for refreshes.
## Goal Introduce Django-friendly partial refresh behavior for operational pages so pobsync feels more like a live control panel without adopting a full frontend framework. ## Suggested Approach Prefer server-rendered partials with HTMX or small vanilla JavaScript. Avoid a React/Vue/Svelte build step unless a specific interaction genuinely requires it. ## Scope - Evaluate adding HTMX for partial updates. - Add auto-refresh for the most valuable status surfaces first, such as dashboard activity, run detail status/log availability, and possibly log filters. - Keep pages usable without complex client-side state. - Avoid refreshing forms while a user is editing them. ## Acceptance Criteria - At least one high-value status panel refreshes automatically without a full page reload. - The implementation remains Django-template-first and easy to maintain. - Refresh behavior is documented briefly for future UI work. - Tests cover the partial view or endpoint used for refreshes.
parkel added this to the 1.1 milestone 2026-05-21 14:35:24 +02:00
Sign in to join this conversation.