Aditya Tripathi
19752da6af
feat(analytics): lazy-load traffic pages and batch Sentinel calls
...
- Mark Analytics, Dashboard\TrafficAnalytics and Project\Application\Analytics
Livewire components #[Lazy] with skeleton placeholder() views so pages render
instantly while Sentinel data loads in a deferred request
- Add SentinelTrafficClient::prefetchServerWide() to warm all server-wide
endpoints in a single batched docker exec instead of ~14-15 serial SSH
round-trips, and refactor overview/paths/breakdown URL building into shared
helpers
- Cap per-app leaderboard overviews fetched via MAX_LEADERBOARD_APPS to bound
requests on servers with many apps
- Add hasRequestSeries() to detect empty request charts and render a no-data
state instead of a blank chart
- Gate ServerSetting's automatic Sentinel restart on is_sentinel_enabled so
tuning geoip/traffic settings no longer silently enables Sentinel
- Add reusable skeleton UI components (skeleton, skeleton/table, skeleton/tiles)
for the new placeholder views
2026-08-22 11:13:49 +00:00
..
2026-08-21 10:47:47 +00:00
2026-08-18 09:08:18 +02:00
2026-08-21 12:15:46 +02:00
2026-08-17 18:29:09 +02:00
2026-08-18 15:06:05 +02:00
2026-08-21 12:15:46 +02:00
2026-08-18 09:08:18 +02:00
2026-08-18 13:53:40 +02:00
2026-08-21 12:15:46 +02:00
2026-08-22 11:13:49 +00:00
2026-08-16 08:19:42 +02:00
2026-08-20 09:32:32 +02:00
2026-08-22 11:13:49 +00:00
2026-08-18 13:53:40 +02:00
2026-08-16 21:05:12 +02:00
2026-08-13 12:17:16 +02:00
2026-08-19 11:27:23 +02:00
2026-08-19 11:27:23 +02:00
2026-08-20 09:38:50 +02:00
2026-08-18 09:08:18 +02:00
2026-08-18 09:42:36 +02:00
2026-08-17 16:27:00 +02:00
2026-08-13 22:56:52 +02:00
2026-08-13 22:56:52 +02:00
2026-08-16 21:10:15 +02:00
2026-08-18 13:53:40 +02:00
2026-08-19 12:31:36 +02:00
2026-08-16 21:00:33 +02:00
2026-08-15 19:13:30 +02:00
2026-08-21 12:15:46 +02:00
2026-08-18 12:51:54 +02:00
2026-08-18 13:53:40 +02:00
2026-08-18 12:53:41 +02:00
2026-08-15 15:12:59 +02:00
2026-08-18 09:42:22 +02:00
2026-08-20 11:10:14 +02:00
2026-08-16 08:29:31 +02:00
2026-08-18 14:02:48 +02:00
2026-08-13 12:17:16 +02:00
2026-08-17 21:38:44 +02:00
2026-08-18 21:14:29 +02:00
2026-08-15 19:13:30 +02:00
2026-08-18 23:40:59 +02:00
2026-08-15 17:59:32 +02:00
2026-08-19 16:47:19 +02:00
2026-08-13 11:24:08 +02:00
2026-08-16 21:14:16 +02:00
2026-08-21 12:15:46 +02:00
2026-08-21 12:15:46 +02:00
2026-08-21 12:15:46 +02:00
2026-08-15 10:59:04 +02:00
2026-08-13 12:17:16 +02:00
2026-08-14 18:48:34 +02:00
2026-08-16 20:54:50 +02:00
2026-08-18 14:03:33 +02:00
2026-08-18 09:16:29 +02:00
2026-08-18 23:29:09 +02:00
2026-08-13 22:56:52 +02:00
2026-08-16 21:17:08 +02:00
2026-08-13 14:23:29 +02:00
2026-08-18 12:21:49 +02:00
2026-08-20 09:34:05 +02:00
2026-08-20 09:34:05 +02:00
2026-08-20 09:33:47 +00:00
2026-08-16 21:00:33 +02:00
2026-08-13 11:17:44 +02:00
2026-08-21 12:15:46 +02:00
2026-08-17 23:34:56 +02:00
2026-08-21 11:23:04 +02:00
2026-08-18 09:08:18 +02:00
2026-08-18 10:18:52 +02:00
2026-08-12 23:57:32 +02:00
2026-08-13 12:17:16 +02:00
2026-08-21 12:15:46 +02:00
2026-08-21 12:15:46 +02:00
2026-08-21 12:15:46 +02:00
2026-08-17 16:19:41 +02:00
2026-08-21 12:15:46 +02:00
2026-08-12 23:11:02 +02:00
2026-08-16 20:54:50 +02:00
2026-08-17 16:19:41 +02:00
2026-08-21 12:15:46 +02:00
2026-08-15 18:43:20 +02:00
2026-08-12 23:57:32 +02:00
2026-08-17 16:19:41 +02:00
2026-08-13 22:56:52 +02:00
2026-08-13 22:56:52 +02:00
2026-08-18 13:53:40 +02:00
2026-08-16 18:26:40 +02:00
2026-08-12 16:39:13 +02:00
2026-08-19 15:05:51 +02:00
2026-08-21 12:15:46 +02:00
2026-08-13 12:17:16 +02:00
2026-08-20 09:33:47 +00:00
2026-08-12 23:54:40 +02:00
2026-08-14 18:48:34 +02:00
2026-08-15 18:23:58 +02:00
2026-08-13 11:08:54 +02:00
2026-08-18 16:01:17 +02:00
2026-08-15 19:13:30 +02:00
2026-08-18 09:16:29 +02:00
2026-08-21 12:15:46 +02:00
2026-08-18 12:21:49 +02:00
2026-08-14 12:00:46 +02:00
2026-08-13 11:17:44 +02:00
2026-08-13 12:17:16 +02:00
2026-08-19 11:09:02 +02:00
2026-08-19 11:09:02 +02:00
2026-08-18 21:14:29 +02:00
2026-08-18 09:08:18 +02:00
2026-08-20 09:33:47 +00:00
2026-08-19 16:46:57 +02:00
2026-08-13 11:00:04 +02:00
2026-08-13 22:56:52 +02:00
2026-08-21 12:15:46 +02:00
2026-08-19 11:25:46 +02:00
2026-08-21 12:15:46 +02:00
2026-08-21 12:15:46 +02:00
2026-08-16 21:10:15 +02:00
2026-08-20 09:38:50 +02:00
2026-08-17 16:05:21 +02:00
2026-08-21 12:15:46 +02:00
2026-08-18 09:42:36 +02:00
2026-08-19 11:41:41 +02:00
2026-08-18 10:02:28 +02:00
2026-08-20 09:32:32 +02:00
2026-08-21 12:15:46 +02:00
2026-08-20 11:10:14 +02:00
2026-08-20 09:32:32 +02:00
2026-08-20 09:32:32 +02:00
2026-08-12 16:39:13 +02:00
2026-08-16 20:54:50 +02:00
2026-08-18 09:42:36 +02:00
2026-08-18 13:53:40 +02:00
2026-08-19 10:43:25 +02:00
2026-08-19 11:41:41 +02:00
2026-08-21 12:15:46 +02:00
2026-08-15 19:13:30 +02:00
2026-08-14 13:34:00 +02:00
2026-08-18 15:30:59 +02:00