3e3578f4d8
Update task list and add runner script
...
- Updated Tasks.md with refined task tracking format
- Added runner.csx script for automated task processing with Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-22 21:05:41 +02:00
0481810226
Fix open redirect vulnerability in LoginPage
...
Validate the ?next= query parameter to prevent open redirects to
external URLs. The parameter is validated to ensure it is a relative
path (starts with / but not //) before using it for navigation.
Invalid paths fall back to '/'.
This prevents attackers from crafting login links like /login?next=https://evil.com
that would transparently redirect authenticated users to malicious sites.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-22 21:04:17 +02:00
a286ede49c
Refactor frontend components and dependencies
...
- Update ESLint configuration for frontend
- Refactor dialog components (ActivateJail, CreateAction, CreateFilter, CreateJail)
- Update JailsTab and RegexTesterTab components
- Refactor TopCountriesPieChart component
- Update package.json dependencies
- Update documentation (Tasks.md)
- Refactor CodeList component for jail page
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-22 20:26:43 +02:00
1bf0645c04
Configure Vite dev proxy via VITE_BACKEND_URL
2026-04-22 20:21:20 +02:00
1d41822a36
Add SEO/security meta tags and favicon to frontend index.html
2026-04-22 20:06:49 +02:00
b7fbad0328
Add dashboard filter context to remove prop drilling
2026-04-21 20:08:54 +02:00
b6d9c649ca
Delete hook barrel files and switch to direct hook imports
2026-04-21 20:02:50 +02:00
1ba82d56e7
Refactor ServerTab and ConfFilesTab to use reducers
2026-04-21 19:52:05 +02:00
260ce7e875
Fix frontend config tests for strict type narrowing
2026-04-21 19:40:51 +02:00
4c313af1c5
Narrow jail config types with explicit union values
2026-04-21 19:39:36 +02:00
fef8f60ee2
Add dark mode support with persisted OS-aware theme selection
2026-04-21 19:30:29 +02:00
4f91e8fdd3
Persist sidebar collapsed preference to localStorage
2026-04-21 19:17:00 +02:00
b3eb5dc6ec
Standardise loading state naming across dashboard hooks
2026-04-21 19:12:43 +02:00
094fb4fece
Replace index keys with stable keys in editable list components
2026-04-21 19:04:18 +02:00
4da2703966
Move constant inline styles into makeStyles
2026-04-21 18:47:18 +02:00
86a7336ac0
Refactor shared data source selection for dashboard and map
2026-04-21 17:56:59 +02:00
e244a85291
Extract generic useListData hook for shared list fetching
2026-04-21 17:53:58 +02:00
e683108965
Standardise AbortController cancellation in setup and server health hooks
...
Add abortable API signals for setup status and server health/log fetches, document hook cancellation patterns, and cover stale refresh cancellation with tests.
2026-04-21 17:38:35 +02:00
cf5a000bf5
Add AbortSignal support to dashboard/blocklist APIs and hooks
2026-04-21 17:29:05 +02:00
51e340fa33
backup
2026-04-20 20:19:43 +02:00
69d5cffabd
Remove duplicate api/file_config.ts and consolidate raw file APIs into api/config.ts
2026-04-20 20:19:20 +02:00
8b4a2f0b71
Fix useMapData debounce loading state
2026-04-20 20:10:48 +02:00
1694ac17f8
Add React.memo to heavy dashboard components
2026-04-20 20:00:59 +02:00
1d6564aa32
Add route code splitting and Vite vendor chunk splitting
2026-04-20 19:53:56 +02:00
27369b43d6
Memoize Fluent chart token resolution
2026-04-20 19:47:10 +02:00
20412dd94b
Memoize dashboard and history table columns
2026-04-20 19:28:29 +02:00
e593498de5
Strengthen setup password validation
...
- Add backend Pydantic password complexity validation for setup
- Update frontend setup page with password rule feedback and strength indicator
- Add/adjust setup API tests for password validation
- Document setup password requirements
- Fix frontend test type annotation issue
2026-04-20 19:23:12 +02:00
cc8c71906f
Add auth expiry interceptor and session-expired redirect
2026-04-19 20:31:49 +02:00
d0991e0d40
Fix SetupGuard error handling and add retry UI
2026-04-19 20:20:31 +02:00
c58eb240b1
Fix KVEditor duplicate key rename validation
...
Prevent users from renaming a KVEditor entry to an existing key and show inline validation errors.
2026-04-19 19:59:13 +02:00
082dcc7ee1
Fix BanUnbanForm floating promises and add submit guards
2026-04-19 19:42:39 +02:00
76c9f388a8
Fix HistoryPage stale appliedQuery effect and add mount query regression test
2026-04-19 19:36:44 +02:00
5446f6c3e1
Fix jail banned IP loading race with AbortController
2026-04-19 19:31:03 +02:00
9e7f881a8a
backup
2026-04-19 19:25:09 +02:00
7fb0cc727f
Surface setup error state instead of console.warn in useSetup
2026-04-19 18:53:02 +02:00
b6303cff72
Remove production test scaffolding from useMapData and update MapPage tests
2026-04-19 18:47:29 +02:00
e7582c4bae
Relocate misplaced frontend files
2026-04-19 18:36:55 +02:00
d44a667592
Fix unsafe frontend casts and mark Task 18 done
2026-04-19 18:25:32 +02:00
e6ee525e0f
Deduplicate TimeRange type in frontend type definitions
2026-04-19 18:21:51 +02:00
09a1d3c7b7
Move frontend runtime constants out of types/ban.ts
2026-04-19 18:18:24 +02:00
d99d6bd119
Replace inline frontend styles with makeStyles and design tokens
2026-04-19 12:04:24 +02:00
91269448d0
Replace ErrorBoundary fallback with Fluent UI styles and dialog compliance
2026-04-19 09:44:14 +02:00
47f9c602d4
Finish Task 13: extract remaining page subcomponents and clean page files
2026-04-19 09:38:23 +02:00
38b9d35255
Refactor frontend pages and config components into single-component files for Task 13
2026-04-19 09:30:35 +02:00
6c053cdaee
Add AbortController cleanup to async frontend effects
2026-04-18 21:30:57 +02:00
2105f8b435
Task 11: Remove direct API calls from components
2026-04-18 21:20:45 +02:00
3f197b1ad7
Split multi-hook frontend modules into single-hook files
2026-04-18 20:47:44 +02:00
fba7675eb8
Move auth and timezone hooks into dedicated hook files
2026-04-18 20:35:28 +02:00
d9550ae4aa
Split frontend config API into file_config, server, and health modules
2026-04-18 20:32:38 +02:00
01f2e07921
Extract shared raw config file helpers and simplify raw_config_io_service
2026-04-18 20:18:54 +02:00