3442 Commits
Author SHA1 Message Date
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
Kari LintulaaksoandGitHub ee1421a5bd Merge pull request #1171 from nowcommunity/feature/380-persist-table-filters
Persist table column filters
2026-05-25 13:42:30 +03:00
karilint 5c29b9d8e6 Persist table column visibility with filters 2026-05-25 12:57:21 +03:00
karilint 2749baa18a Persist table column filters 2026-05-25 12:42:00 +03:00
Kari LintulaaksoandGitHub 157967c10a Merge pull request #1170 from nowcommunity/fix/99-request-error-handling
Handle unanswered API requests
2026-05-25 12:34:05 +03:00
Kari LintulaaksoandGitHub 95efbcb37f Merge branch 'main' into fix/99-request-error-handling 2026-05-25 12:33:45 +03:00
karilint dc15b29f7b Handle unanswered API requests 2026-05-25 12:25:05 +03:00
Kari LintulaaksoandGitHub c164f932b7 Merge pull request #1169 from nowcommunity/fix/1168-freeze-main-page-map
Freeze front page map image
2026-05-25 12:19:53 +03:00
karilint 65216e84bd Freeze front page map image 2026-05-25 11:43:58 +03:00
Kari LintulaaksoandGitHub c23d9425a0 Merge pull request #1167 from nowcommunity/fix/79-table-data-cy-selectors
Add stable table data-cy selectors
2026-05-25 11:34:51 +03:00
karilint 6a5e1da6ed Add stable table data-cy selectors 2026-05-22 11:47:56 +03:00
Kari LintulaaksoandGitHub 7b840a8e91 Merge pull request #1166 from nowcommunity/fix/908-cross-search-export-transform
Optimize cross-search CSV export
2026-05-22 11:34:06 +03:00
karilint 1dff663be7 Optimize cross-search CSV export 2026-05-22 11:10:32 +03:00
Kari LintulaaksoandGitHub 696de213f0 Merge pull request #1165 from nowcommunity/fix/1164-toolbar-test-notification-provider
[codex] Fix toolbar column test notification context
2026-05-22 10:54:44 +03:00
karilint 552b91eaad Fix toolbar column test notification context 2026-05-22 10:47:18 +03:00
Kari LintulaaksoandGitHub 83f7b021cb Merge pull request #1163 from nowcommunity/codex/express-validator-crosssearch-733
Add express-validator list middleware
2026-05-21 16:17:56 +03:00
Kari Lintulaakso 143fcce2ae Add express-validator list middleware 2026-05-21 16:02:24 +03:00
Kari LintulaaksoandGitHub 23baf8f154 Merge pull request #1161 from nowcommunity/codex/crosssearch-export-content-tests-757
Add cross-search export content tests
2026-05-21 15:33:01 +03:00
copilot-swe-agent[bot]andGitHub 5b62f18d93 Revert unintended lockfile change
Agent-Logs-Url: https://github.com/nowcommunity/nowdatabase/sessions/fca3e4df-2a68-4f69-b9e8-b84af5d961e9
2026-05-21 12:15:36 +00:00
copilot-swe-agent[bot]andGitHub b4c81acc88 Complete PR review request
Agent-Logs-Url: https://github.com/nowcommunity/nowdatabase/sessions/fca3e4df-2a68-4f69-b9e8-b84af5d961e9
2026-05-21 12:13:37 +00:00
Kari LintulaaksoandGitHub f974e50779 Merge branch 'main' into codex/crosssearch-export-content-tests-757 2026-05-21 14:57:58 +03:00
Kari LintulaaksoandGitHub 300f8a9856 Merge pull request #1162 from nowcommunity/codex/crosssearch-post-fallback
Fallback cross-search table requests to legacy GET
2026-05-21 14:57:36 +03:00
karilint d00e51f3a2 Fallback cross-search table requests to legacy GET 2026-05-21 14:52:24 +03:00