forgejo/routers/web
Mathieu Fenniak 6ad706aa88 feat(ui): Automatically refresh workflows in the "Actions" list (#7361)
- Make the "Actions" list (for example, https://codeberg.org/forgejo/forgejo/actions) dynamically refresh using htmx and partial page reloading. This addresses a pet peeve of mine, I find it common to end up on this page and have workflows in-progress, but not be able to monitor the workflows to success or failure from the page as it currently doesn't do any data refreshing.
- There are a few major risks involves with this change.
  - Increased server-side load & network utilization.  In order to mitigate this risk, I have configured the refresh to occur every 30 seconds **only** when the Page Visibility API indicates that the web page is currently visible to the end-user. It is still reasonable to assume this change will increase server-side load though.
  - UI interactions on the page, such as the "Actor" and "Status" dropdown and the workflow dispatch form, would be replaced from the server with non-expanded UI during the refresh. This problem is prevented by stopping the refresh while these UIs are in their expanded states.
- E2E tests added.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7361
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
2025-04-04 14:38:54 +00:00
..
admin Move ParseBool to optional (#33979) 2025-04-01 02:28:02 +02:00
auth chore(sec): unify usage of crypto/rand.Read (#7453) 2025-04-04 03:31:37 +00:00
devtest ui: improve error pages (#7274) 2025-03-28 19:50:43 +00:00
events chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
explore chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
feed chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
healthcheck chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
misc feat: include a default robots.txt to reduce the impact of crawlers (#7387) 2025-03-30 11:28:19 +00:00
org Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
repo feat(ui): Automatically refresh workflows in the "Actions" list (#7361) 2025-04-04 14:38:54 +00:00
shared chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
user chore(sec): unify usage of crypto/rand.Read (#7453) 2025-04-04 03:31:37 +00:00
base.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
githttp.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
goget.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
home.go ui: improve error pages (#7274) 2025-03-28 19:50:43 +00:00
metrics.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
nodeinfo.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
swagger_json.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
web.go Hide activity contributors, recent commits and code frequrency left tabs if there is no code permission (#34053) 2025-04-01 02:28:02 +02:00
webfinger.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00