ik
9c44cfc08f
refactor: extract admin api router
2026-09-13 09:59:55 +07:00
ik
b76da2edd0
refactor: remove legacy submission handlers
2026-09-13 09:42:15 +07:00
ik
30bfccd0e7
refactor: move submission endpoints to router
2026-09-13 09:38:20 +07:00
ik
0abe1a2bb4
feat: lock concurrent moderation decisions
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-13 09:26:18 +07:00
ik
c6ffded8d7
feat: complete moderation history dashboard
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-13 09:07:32 +07:00
ik
fcc26a5b34
feat: add moderation decision history
2026-09-12 21:52:25 +07:00
ik
def5c39aa1
feat: expose safe moderation provenance
2026-09-12 21:49:45 +07:00
ik
0f078ab482
feat: prioritize risky moderation records
2026-09-12 21:45:29 +07:00
ik
8e419c1832
feat: filter external moderation queue
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-12 21:37:10 +07:00
ik
7c28a0c36a
security: rate limit admin authentication
2026-09-12 21:33:26 +07:00
ik
1776283a95
refactor: assign submissions to dedicated router
2026-09-12 21:21:34 +07:00
ik
31bbc15535
refactor: isolate submission rate limiting
2026-09-12 21:19:10 +07:00
ik
e48b9ef876
refactor: extract public data router
2026-09-12 21:15:51 +07:00
ik
6974ae690d
refactor: extract activity and spot router
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-12 21:12:35 +07:00
ik
b84f1fe815
refactor: extract public catalog router
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-12 21:05:13 +07:00
ik
0b7bbc78a6
fix: make report and idempotency insert transactional
2026-09-11 07:47:36 +07:00
ik
fc963101b3
fix: handle concurrent idempotency key conflicts
2026-09-11 07:46:50 +07:00
ik
5b2db1cf48
fix: reject idempotency key payload conflicts
2026-09-11 07:44:07 +07:00
ik
531f1aa82f
fix: replay idempotent upload token safely
2026-09-11 07:42:41 +07:00
ik
bea3b9ccbb
fix: align recovery schema idempotency and record counts
2026-09-11 07:40:58 +07:00
ik
641374ddbc
A05: Add server-side idempotency for catch report creation via Idempotency-Key header
2026-09-11 07:35:01 +07:00
ik
f29ec706fd
R09: Add PaginatedOfficialRecordOut schema and paginated /api/v1/records endpoint
2026-09-10 20:27:45 +07:00
ik
e2bed0db89
R13: Fix X-Forwarded-For trust boundary — only trust from known proxies
...
- Add _is_trusted_proxy() to check client IP against trusted CIDRs
- Only use X-Forwarded-For if connection came from trusted proxy
- Add TRUSTED_PROXY_CIDRS config (default: 127.0.0.1/32, ::1/128)
- Add parse_comma_separated_lists for env var parsing
- Add 3 unit tests: trusted CIDR check, untrusted ignores forwarded, trusted uses forwarded
2026-09-10 05:49:23 +07:00
ik
0b3a5ece4b
fix: R06 community_observations filters by fish/waterbody slug via JOIN ( #1788956171115 )
2026-09-10 05:38:22 +07:00
ik
63e33e1861
fix: audit P0-P1 — T03-T07, D01-D08, U01-U02 ( #1788956171115 )
2026-09-09 20:02:52 +07:00
ik
1f63f71600
Fix review queue pagination and API fallback handling
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-08 13:24:58 +07:00
ik
ddb6909c4d
sync
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-08 09:31:41 +07:00
ik
8b2d7e2e1c
feat: suggest confirmed external aliases
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-07 18:57:09 +07:00
ik
214b328cd2
perf: cache public activity aggregates
2026-09-07 18:54:58 +07:00
ik
fa3b24fb1f
feat: add safe diagnostics export
2026-09-07 18:49:53 +07:00
ik
02b67741f8
feat: expose deployment build identity
2026-09-07 18:43:20 +07:00
ik
486016d977
feat: expose safe source health status
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-07 16:57:14 +07:00
ik
4e037eb7e8
feat: add canonical spot URLs
2026-09-07 16:43:12 +07:00
ik
9275799ce7
feat: display provenance and incomplete signals
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-07 13:21:15 +07:00
ik
5e27a5b066
perf: stabilize list queries for pilot
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-07 08:02:37 +07:00
ik
c45b4511b7
feat: serialize official record imports
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-07 07:54:07 +07:00
ik
687b4c9cb5
feat: harden production security boundaries
2026-09-07 07:51:25 +07:00
ik
870d9cc7f9
feat: harden production data and backups
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
2026-09-06 14:08:07 +07:00
ik
a4bd395856
feat: add production deployment for rf4spotter.ru
2026-09-06 13:52:30 +07:00
ik
398b35e843
feat: add privacy-safe structured logging
2026-09-04 07:49:14 +07:00
ik
3b26c59219
feat: add dependency readiness checks
2026-09-04 07:38:34 +07:00
ik
c4f4deb24b
feat: add external observation review queue
2026-09-03 18:47:31 +07:00
ik
97afd2730e
feat: explain activity data quality
2026-09-03 18:23:43 +07:00
ik
a7bfc7ee8d
Validate screenshot MIME and filename metadata
2026-09-03 08:17:00 +07:00
ik
b73580c720
Persist privacy-safe submission rate limits
2026-09-03 08:16:12 +07:00
ik
0b3e6d4b2f
Add audited user report deletion
2026-09-03 08:14:56 +07:00
ik
03a0ecb5f4
Add Astro moderation queue
2026-09-03 08:11:23 +07:00
ik
ddd8b84055
Add administrative official import API
2026-09-03 07:59:15 +07:00
ik
c5242720b1
Apply reference design to Astro and add screenshot storage
2026-09-03 07:53:53 +07:00
ik
6d536d0ade
Add user catch submission and moderation workflow
2026-09-02 20:33:58 +07:00