root
|
c5270926c7
|
feat(audit): add user activity logging with View Logs modal and CSV export on User Management page
|
2026-05-30 23:18:49 +08:00 |
|
root
|
48654e123d
|
feat(stationmgmt): add CSV import and export buttons for station management
|
2026-05-30 22:48:57 +08:00 |
|
root
|
f58fc6fb77
|
fix(controller): resolve F-01 — HomeController now matches MapController dashboard data query
|
2026-05-30 22:20:20 +08:00 |
|
root
|
e6992a03cf
|
fix(nav): resolve F-08 — fix broken stationmanagement link; F-09 — use @lang for Daily Rainfall labels
|
2026-05-30 22:19:28 +08:00 |
|
root
|
795dee8cd4
|
fix(view): resolve F-07 — replace broken '../index.php' link with dashboard route
|
2026-05-30 22:18:54 +08:00 |
|
root
|
05fdfac76d
|
fix(route): resolve F-06 — fix route name typo 'thrshold' to 'threshold'
|
2026-05-30 22:18:38 +08:00 |
|
root
|
8f7ed77612
|
fix(controller): resolve F-05 — fix 'potrait' typo to 'portrait' in SirenController and NotificationController
|
2026-05-30 22:18:16 +08:00 |
|
root
|
d650655d59
|
fix(view): resolve F-04 — remove dead cumulative sum bug; F-10 — remove debug example row from threshold table
|
2026-05-30 22:18:04 +08:00 |
|
root
|
5410e0916d
|
fix(controller): resolve F-01 — create missing HomeController with correct column names (lat/lng)
|
2026-05-30 22:17:29 +08:00 |
|
root
|
6a4de2ba22
|
fix(db): add ON CONFLICT DO NOTHING rules for sensor table duplicate inserts
|
2026-05-28 18:54:20 +08:00 |
|
root
|
bfdf528e76
|
docs: add CHANGELOG.md documenting all audit fixes, config changes, and DB recovery
|
2026-05-28 18:49:06 +08:00 |
|
root
|
90550e9530
|
fix(db): make users.email nullable to match existing data schema
|
2026-05-28 17:35:14 +08:00 |
|
root
|
549932b297
|
chore: add root .gitignore to exclude .env from version control
|
2026-05-28 17:03:20 +08:00 |
|
root
|
02d5c24502
|
chore: add .gitignore to exclude .env from version control
|
2026-05-28 16:52:28 +08:00 |
|
root
|
8538c1b8df
|
fix(security): resolve F-24 — add URL validation for CCTV links, remove hardcoded http:// prefix
|
2026-05-28 16:41:50 +08:00 |
|
root
|
abdb5a9fcc
|
fix(security): resolve F-23 — add Referrer-Policy and CSP headers to Nginx config
|
2026-05-28 16:40:35 +08:00 |
|
root
|
c873e4d261
|
fix(deploy): resolve F-19 — remove redundant COPY and dead comments in Dockerfile
|
2026-05-28 16:40:03 +08:00 |
|
root
|
fd8d392a08
|
fix(config): resolve F-18 — add .env.example with documented environment variables
|
2026-05-28 16:39:07 +08:00 |
|
root
|
118f550d31
|
fix(maintainability): resolve F-15 — remove all commented-out dead code blocks
|
2026-05-28 16:38:26 +08:00 |
|
root
|
f7f2736245
|
fix(reliability): resolve F-12 — wrap AdminController write operations in DB::transaction()
|
2026-05-28 16:36:07 +08:00 |
|
root
|
f9061ade2f
|
fix(reliability): resolve F-11 — add required parameter validation to historical endpoints
|
2026-05-28 16:34:52 +08:00 |
|
root
|
509afdb4c8
|
fix(security): resolve F-10 — replace leaked exception messages with generic user-facing errors
|
2026-05-28 16:33:37 +08:00 |
|
root
|
07f22972ee
|
fix(reliability): resolve F-09 — add error handling for FCM credential loading
|
2026-05-28 16:31:41 +08:00 |
|
root
|
3c83a809ea
|
fix(security): resolve F-07 — standardize password policy to Password::defaults()
|
2026-05-28 16:28:41 +08:00 |
|
root
|
c863f6f81b
|
fix(perf): resolve F-13 — add database indexes on joined/filtered columns
|
2026-05-28 16:27:45 +08:00 |
|
root
|
968c1e626f
|
fix(security): resolve F-06 — escape translated strings in station type badges
|
2026-05-28 16:27:16 +08:00 |
|
root
|
d95cb57275
|
fix(security): resolve F-02 — parameterize SQL queries in WaterLevelController index()
|
2026-05-28 16:26:33 +08:00 |
|
root
|
e9fa6a2912
|
fix(security): resolve F-01 — parameterize SQL queries in RainfallController index()
|
2026-05-28 16:26:01 +08:00 |
|
root
|
b63cb6a3e8
|
Initial commit: existing codebase state
|
2026-05-28 16:25:22 +08:00 |
|