ff92733f90
Move runtime application state into a dedicated runtime state manager
2026-04-10 19:07:35 +02:00
6b177f1881
Mark async socket handling task done and implement startup cleanup
2026-04-09 22:13:22 +02:00
148756fb79
Finish external HTTP client resilience: add shared aiohttp config, retry support, and update task status
2026-04-09 22:01:11 +02:00
e1d741956e
Disable session cache by default and make it opt-in for single-process deployments
2026-04-09 21:52:57 +02:00
4043cdfa3c
Harden session cookie security with configurable cookie flags
2026-04-09 21:43:32 +02:00
208f98dc97
Use session_secret for signed auth session tokens
2026-04-09 21:30:08 +02:00
6eab47f7ba
Fix setup persistence and load persisted runtime configuration
2026-04-07 21:41:55 +02:00
be46547114
backup
2026-04-07 21:15:41 +02:00
1fc04ed978
Extract startup resource initialization from main.py
...
Move lifespan startup logic into app.startup and remove local imports from app.main._lifespan. Mark startup wiring issue as done.
2026-04-07 20:48:29 +02:00
effcc65e1b
Document process-local auth session cache semantics
...
Clarify that dependencies.py session cache is process-local and not cluster-safe, and document the limitation in architecture docs.
2026-04-07 20:42:31 +02:00
3cc495dfce
Remove obsolete utility modules after helper refactor
2026-04-07 20:40:38 +02:00
1e39e5a1d6
Refactor app helpers and use AppStateDep in config router
...
Move service-dependent helper wrappers from app.utils to app.helpers and update config router activation/rollback to use explicit AppState dependency.
2026-04-07 20:39:56 +02:00
ed3aa61c35
Refactor routers to use explicit FastAPI app dependencies
2026-04-07 20:27:06 +02:00
30e0dd71c9
Use explicit AppState dependency in config router and update task status
2026-04-07 20:15:28 +02:00
59a56f2e4f
Use dependency injection for health status and add health router regression test
2026-04-07 20:05:54 +02:00
e21f153946
Remove dead task DB fast-path and update task tests
2026-04-07 20:00:13 +02:00
0a70e40d8b
Refactor config router to use explicit dependency injection
2026-04-06 21:11:02 +02:00
ca4b0ed324
backup
2026-04-06 21:02:48 +02:00
95f72018f7
Add backend lifecycle regression tests and fix lifespan cleanup
2026-04-06 20:56:57 +02:00
c2982116a8
Add deployment-safe backend config and production-safe CORS defaults
2026-04-06 20:47:31 +02:00
1a7096b276
Add environment-driven CORS settings and backend regression tests
2026-04-06 20:42:33 +02:00
89ab41cc9e
Convert setup guard to startup-driven cache and update tests
2026-04-06 20:38:15 +02:00
3ccfc20c64
Harden fail2ban integration and mark task complete
2026-04-06 20:20:14 +02:00
594f55d157
Refactor router dependency wiring to explicit app state providers
2026-04-06 20:12:04 +02:00
f0ee466603
backup
2026-04-06 19:49:53 +02:00
5107ff10d7
Mark backend SQLite request-scoping task done and clean up test fixture
2026-04-06 19:49:29 +02:00
3b58179845
Refactor router dependencies to use explicit fail2ban socket and HTTP session injection
2026-04-06 16:38:17 +02:00
42c030c706
Refactor backend to use request-scoped SQLite connections
2026-04-05 23:14:46 +02:00
fde4c480fa
backup
2026-04-05 22:48:33 +02:00
96f75db75f
chore: release v0.9.19
v0.9.19
2026-04-05 22:47:42 +02:00
554c75247f
Update Docs/Tasks.md
2026-04-05 22:45:41 +02:00
6e2abe9d97
Fix world map country selection handling and preserve map during re-fetch
2026-04-05 22:44:50 +02:00
15d53a8e96
Merge branch 'fix/worldmap-hover-highlight'
2026-04-05 22:19:35 +02:00
acdb0e1f03
backup
2026-04-05 22:18:06 +02:00
f1e3d4c4c9
Make Map companion table header and pagination sticky
2026-04-05 22:17:24 +02:00
c51858ec71
Add country-specific companion table filtering for map page
2026-04-05 22:12:06 +02:00
c03a5c1cbc
backup
2026-04-05 21:46:25 +02:00
eb983799cd
chore: release v0.9.18
v0.9.18
2026-04-05 21:45:28 +02:00
d3f564d66f
Remove inline map count labels and hide archive source badges
2026-04-05 20:59:28 +02:00
bbd57c808b
chore: release v0.9.17
v0.9.17
2026-04-05 20:44:43 +02:00
ffaa14f864
Switch dashboard/map/history views to archive source for long-term data
...
Update fail2ban dbpurgeage to 648000 and history sync backfill/pagination for archive-based 7.5 day history.
2026-04-05 20:21:54 +02:00
7d09b78437
chore: release v0.9.16
v0.9.16
2026-04-05 18:54:02 +02:00
8e2bb5d3fb
Migrate WorldMap to d3-geo, fix TopoJSON country ID mappings and update tests
2026-04-05 18:50:44 +02:00
bfe0daf754
Fix WorldMap hover highlight by memoizing style objects and handlers
...
Memoize per-Geography style objects with useMemo so React.memo can
skip re-renders when only the tooltip position changes. Stabilize
mouse event handlers with useCallback using data-* attributes instead
of per-Geography closures. This eliminates the state-update race
condition that caused hover fill colors to flash back to defaults.
2026-04-01 14:53:38 +02:00
13823b1182
fix(history): unify History filter bar with Jail and IP inputs
2026-04-01 09:37:38 +02:00
7967191ccd
backup
2026-03-29 21:24:12 +02:00
470c29443c
chore: release v0.9.15
v0.9.15
2026-03-29 21:21:30 +02:00
6f15e1fa24
fix(map): add test-only useMapData exports for MapPage mock
2026-03-29 21:20:54 +02:00
487cb171f2
fix(history): auto-apply history filters and remove explicit buttons
...
HistoryPage no longer requires Apply/Clear; filter state auto-syncs with query. Added guard to avoid redundant state updates. Updated task list in Docs/Tasks.md to mark completion.
2026-03-29 20:35:11 +02:00
7789353690
Add MapPage pagination and page-size selector; update Web-Design docs
2026-03-29 15:23:47 +02:00