Commit Graph
3414 Commits
Author SHA1 Message Date
juhanikat 5f92b6008f remove phpmyadmin service from docker compose files, since they cause issues 2026-06-09 13:36:28 +03:00
Kari LintulaaksoandGitHub d6ebb0fcc7 Merge pull request #1196 from nowcommunity/codex/730-admin-password-management
[codex] Fix generated password validation
2026-06-04 17:27:37 +03:00
karilint 5376e3a3ea Fix generated password validation 2026-06-04 16:00:26 +03:00
Kari LintulaaksoandGitHub 1fed41da80 Merge pull request #1195 from nowcommunity/codex/1192-occurrence-row-history
[codex] Add occurrence row history
2026-06-04 15:54:09 +03:00
karilint 4394250980 Add occurrence row history 2026-06-04 15:20:34 +03:00
Kari LintulaaksoandGitHub 214ead702b Merge pull request #1194 from nowcommunity/codex/1191-entry-history-locality-relations
[codex] Add locality relation entry history
2026-06-03 17:47:49 +03:00
karilint 146aeeb5d7 Add locality relation entry history 2026-06-03 17:26:55 +03:00
Kari LintulaaksoandGitHub 69387fad37 Merge pull request #1190 from nowcommunity/codex/1183-single-field-update-log-ui
Add field update history popover
2026-06-03 15:06:26 +03:00
karilint a1c105bb50 Fix taxonomy tab context mock 2026-06-03 15:02:28 +03:00
karilint 5a167a408c Address field update history review 2026-06-03 14:26:19 +03:00
karilint 3a6e14d3a4 Add field update history popover 2026-05-29 18:02:10 +03:00
Kari LintulaaksoandGitHub f819ce6909 Merge pull request #1188 from nowcommunity/codex/1056-web-freezing-locality-map
fix: Lazy load country polygons to prevent UI freeze (#1056)
2026-05-29 16:20:11 +03:00
Kari LintulaaksoandGitHub edcd66a4f1 Merge branch 'main' into codex/1056-web-freezing-locality-map 2026-05-29 16:05:11 +03:00
Kari LintulaaksoandGitHub 5ba23e1ecd Merge pull request #1187 from nowcommunity/codex/1184-time-unit-error
fix: Fix invalid blocker state transition in UnsavedChangesProvider (#1184)
2026-05-29 16:02:38 +03:00
Kari LintulaaksoandGitHub 8233244ea4 Merge branch 'main' into codex/1184-time-unit-error 2026-05-29 15:47:53 +03:00
Kari LintulaaksoandGitHub 820b768fd3 Merge pull request #1186 from nowcommunity/codex/1185-error-boundary
feat: Add ErrorBoundary and RouterError for better error UX (#1185)
2026-05-29 15:47:02 +03:00
karilint 88bed7adca fix: Hide router error details in production 2026-05-29 15:22:58 +03:00
copilot-swe-agent[bot]andGitHub 5450e511bb fix: avoid duplicate country border layers 2026-05-29 12:00:42 +00:00
karilint 7e732d9faa Remove redundant blocker state guard 2026-05-29 14:55:42 +03:00
copilot-swe-agent[bot]andGitHub 694181623b fix: avoid map reinit during lazy country border loading 2026-05-29 11:55:00 +00:00
karilint 8eb60884ed fix: Lazy load country polygons to prevent UI freeze (#1056)
Fix #1056: Web freezing when loading locality map.

The countryPolygons.ts file is 4.4MB and was being imported synchronously,
causing the main thread to block and the UI to freeze.

Solution:
- Dynamically import countryPolygons using async import()
- Only load the data after the map component mounts
- Add loading state for country borders

This prevents the large module from blocking the main thread during
initial page load.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-05-29 14:10:44 +03:00
karilint 1d454e7d3e fix: Hide error details from production users in ErrorBoundary
Security fix for PR #1186: ErrorBoundary was leaking internal implementation
details (stack traces, error messages) to end users in production.

- Gate error details section to development mode only using import.meta.env.DEV
- In production, only show generic error message and reload button
- Prevents information disclosure while maintaining debugging capability in dev

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-05-29 13:59:13 +03:00
karilint 4ae003a540 fix: Fix invalid blocker state transition in UnsavedChangesProvider
Fix #1184: Time Unit error caused by invalid blocker state transition.

The error 'Invalid blocker state transition: unblocked -> proceeding' occurred
when calling blocker.proceed() in UnsavedChangesProvider.

Root cause: setDirty(false) was called before blocker.proceed?.(), which
triggered a re-render that could change the blocker state before proceed was
called. This caused React Router's internal state machine to receive a proceed
call when the blocker was no longer in the 'blocked' state.

Fix:
- Call blocker.proceed?.() before setDirty(false) in handleConfirm
- Add additional state check in isSamePathNavigation useEffect to ensure
  blocker is still 'blocked' before calling proceed()

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-05-29 11:35:54 +03:00
karilint 62c79a500d feat: Add ErrorBoundary and RouterError for better error UX
Implement #1185: Provide ErrorBoundary and errorElement to catch and display
application errors gracefully.

- Add ErrorBoundary component to catch React component render errors
- Add RouterError component to catch React Router v6 data router errors
- Wrap RouterProvider with ErrorBoundary in main.tsx
- Add errorElement to root route in router

This provides a better user experience when the application encounters errors,
showing a user-friendly error page with options to reload or go back instead
of the default React error screen.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-05-29 11:15:27 +03:00
Kari LintulaaksoandGitHub 0b3ba3d759 Merge pull request #1182 from nowcommunity/codex/1176-validator-migrations
Apply full-field validation to detail saves
2026-05-29 10:58:35 +03:00
karilint a334eca7e2 Allow new regions without existing id 2026-05-29 10:02:31 +03:00
karilint 02777ab7ae Fix full-form validation error keys 2026-05-28 17:16:31 +03:00
karilint 04a775b347 Fix time unit full-field validation 2026-05-28 15:55:24 +03:00
karilint 94092424c3 Broaden full-field validation coverage 2026-05-28 15:23:38 +03:00
karilint a78fb2d599 Fix reference full-field validation 2026-05-28 14:14:19 +03:00
Kari LintulaaksoandGitHub 7b10b5b48f Merge pull request #1181 from nowcommunity/codex/563-time-unit-update-history
[codex] Show combined time unit update history
2026-05-27 19:54:57 +03:00
karilint 4bf410b023 Update species write button test expectation 2026-05-27 19:34:31 +03:00
karilint 3e201043ec Create time update summaries for time unit writes 2026-05-27 19:12:00 +03:00
karilint a4bf5c050a Allow saved time unit redirect past blocker 2026-05-27 18:47:37 +03:00
karilint 699cbb125b Run time unit save navigation after clean state 2026-05-27 18:40:48 +03:00
karilint ef3b7cbe96 Clear time unit dirty state before save navigation 2026-05-27 18:31:50 +03:00
karilint bae2f2e1f4 Fix time unit save navigation state 2026-05-27 17:53:05 +03:00
karilint a5bfceb257 Clear unsaved state after detail saves 2026-05-27 17:39:33 +03:00
karilint 65fbf5fe1b Expect bound logs in time unit history test 2026-05-27 14:53:03 +03:00
karilint 22d01f9ab7 Show combined time unit update history 2026-05-27 14:41:46 +03:00
Kari LintulaaksoandGitHub bfa8e785d1 Merge pull request #1175 from nowcommunity/codex/649-required-field-validation
[codex] Validate missing required fields
2026-05-27 13:53:29 +03:00
karilint 8c386e150b Fix required field validation for missing keys 2026-05-27 13:34:02 +03:00
Kari LintulaaksoandGitHub 549ba5090a Merge pull request #1174 from nowcommunity/codex/1049-add-new-reference-from-selectors
[codex] Add inline reference creation to staging
2026-05-25 18:16:54 +03:00
karilint 96f6831fc7 Add inline reference creation to staging 2026-05-25 17:53:12 +03:00
Kari LintulaaksoandGitHub 8f2d14e681 Merge pull request #1173 from nowcommunity/codex/1056-lazy-load-map-heavy-code
[codex] Lazy-load occurrence map code
2026-05-25 16:54:16 +03:00
karilint 69c165986d Lazy-load occurrence map code 2026-05-25 16:44:19 +03:00
Kari LintulaaksoandGitHub 7cbc4547fe Merge pull request #1172 from nowcommunity/feature/892-admin-delete-person
Add protected person deletion
2026-05-25 14:59:22 +03:00
karilint 275f2cf11f Show person relation summaries 2026-05-25 14:41:19 +03:00
karilint a78f43bd1a Improve person delete blocker message 2026-05-25 14:25:38 +03:00
karilint 6f4428211c Add protected person deletion 2026-05-25 14:04:06 +03:00