Commit Graph

646 Commits

Author SHA1 Message Date
Александр Зимин e43e3f617f fix(schema-drafts): /drafts/active returns 200+null instead of 404 (no console spam) 2026-05-14 22:41:45 +00:00
semantic-release-bot 55a1171ac4 chore(release): v2.27.6
## [2.27.6](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.5...v2.27.6) (2026-05-14)

### 🐛 Fixes

* **nginx:** route /api/v1/me/* to writer (closes /me/notifications 500) ([d14d6cc](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/d14d6cc8be7393d18358ed093dbf6fd88bf66a80))
2026-05-14 22:24:08 +00:00
Александр Зимин e0e1a2bd03 Merge branch 'fix/nginx-route-me-notifications-to-writer' into 'main'
fix(nginx): route /api/v1/me/* to writer (closes /me/notifications 500)

See merge request 2-6/2-6-4/terravault/ordinis!197
2026-05-14 22:19:34 +00:00
Александр Зимин d14d6cc8be fix(nginx): route /api/v1/me/* to writer (closes /me/notifications 500) 2026-05-14 22:19:34 +00:00
semantic-release-bot 7f032fad8f chore(release): v2.27.5
## [2.27.5](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.4...v2.27.5) (2026-05-14)

### 🐛 Fixes

* **notifications:** panic-level defensive GET /me/notifications ([f028ec5](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/f028ec5796d06ba89207bd15806dd4472f1d921b))
2026-05-14 21:57:43 +00:00
Александр Зимин 37c97c9a57 Merge branch 'fix/notifications-controller-panic-defense' into 'main'
fix(notifications): panic-level defensive GET /me/notifications

See merge request 2-6/2-6-4/terravault/ordinis!196
2026-05-14 21:50:51 +00:00
Александр Зимин f028ec5796 fix(notifications): panic-level defensive GET /me/notifications 2026-05-14 21:50:51 +00:00
semantic-release-bot 1d8aab1560 chore(release): v2.27.4
## [2.27.4](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.3...v2.27.4) (2026-05-14)

### 🐛 Fixes

* **notifications:** defensive /me/notifications — wrap DB ops in try/catch ([0cf76d2](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/0cf76d23c167554deeb68750f92bd3be01b38970))
2026-05-14 21:07:27 +00:00
Александр Зимин d07b18f7f4 Merge branch 'fix/notifications-controller-defensive' into 'main'
fix(notifications): defensive /me/notifications — wrap DB ops in try/catch

See merge request 2-6/2-6-4/terravault/ordinis!195
2026-05-14 21:00:42 +00:00
Александр Зимин 0cf76d23c1 fix(notifications): defensive /me/notifications — wrap DB ops in try/catch 2026-05-14 21:00:42 +00:00
semantic-release-bot c6c16d4b65 chore(release): v2.27.3
## [2.27.3](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.2...v2.27.3) (2026-05-14)

### 🐛 Fixes

* **ui:** replace raw AxiosError dumps with QueryErrorState across routes ([9e6ddd1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/9e6ddd1bcee459a5eedd688b6ba2f032966c5a57))
2026-05-14 20:47:24 +00:00
Александр Зимин 373215971d Merge branch 'fix/sweep-raw-axios-error-displays' into 'main'
fix(ui): replace raw AxiosError dumps with QueryErrorState across routes

See merge request 2-6/2-6-4/terravault/ordinis!194
2026-05-14 20:42:45 +00:00
Александр Зимин 9e6ddd1bce fix(ui): replace raw AxiosError dumps with QueryErrorState across routes 2026-05-14 20:42:45 +00:00
semantic-release-bot 1a5049aac4 chore(release): v2.27.2
## [2.27.2](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.1...v2.27.2) (2026-05-14)

### ♻️ Refactoring

* **a11y:** 44×44 touch targets + normalize accent-bg alpha ([35c69fd](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/35c69fd010039097c474aefd4c8ce9204a860404))
2026-05-14 17:37:00 +00:00
Александр Зимин 6d70f5d5f9 Merge branch 'refactor/a11y-polish-touch-targets-and-dark-tints' into 'main'
refactor(a11y): 44×44 touch targets + normalize accent-bg alpha

See merge request 2-6/2-6-4/terravault/ordinis!193
2026-05-14 17:32:10 +00:00
Александр Зимин 35c69fd010 refactor(a11y): 44×44 touch targets + normalize accent-bg alpha 2026-05-14 17:32:10 +00:00
semantic-release-bot c866a68f06 chore(release): v2.27.1
## [2.27.1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.0...v2.27.1) (2026-05-14)

### 🐛 Fixes

* **e2e:** disable notifications dispatcher in test profile ([5e10bbb](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/5e10bbb6bb08ab6a6015efe8c66acbbdcc5cdaa4))

### 📝 Docs

* **design:** DESIGN.md v1 — resolve Section 12 open items ([7bd4b0a](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/7bd4b0ad7e002c63637288abf8830f4a61acd2e2))
2026-05-14 15:28:10 +00:00
Александр Зимин 06d3028977 Merge branch 'docs/design-policies-section-12-resolution' into 'main'
docs(design): DESIGN.md v1 — resolve Section 12 open items

See merge request 2-6/2-6-4/terravault/ordinis!192
2026-05-14 15:21:58 +00:00
Александр Зимин 7bd4b0ad7e docs(design): DESIGN.md v1 — resolve Section 12 open items 2026-05-14 15:21:58 +00:00
Александр Зимин 84dd19a3c3 Merge branch 'fix/e2e-notifications-disable' into 'main'
fix(e2e): disable notifications dispatcher in test profile

See merge request 2-6/2-6-4/terravault/ordinis!191
2026-05-14 15:21:56 +00:00
Александр Зимин 5e10bbb6bb fix(e2e): disable notifications dispatcher in test profile 2026-05-14 15:21:56 +00:00
semantic-release-bot 2b7a758e68 chore(release): v2.27.0
## [2.27.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.26.1...v2.27.0) (2026-05-14)

###  Features

* **notifications:** TODO 7 — draft decision toast + email + bell badge ([9050e24](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/9050e2427e0fe85f84ca38f1bbe67f1cd9344acf))

### 📝 Docs

* **todos:** mark all session TODOs shipped + summary table ([14f58b4](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/14f58b49276d7c97a545bca16f140fcf39d61990))
2026-05-14 14:50:58 +00:00
Zimin A.N. 14f58b4927 docs(todos): mark all session TODOs shipped + summary table 2026-05-14 17:41:54 +03:00
Александр Зимин 35b790f975 Merge branch 'feat/notifications-fullstack' into 'main'
feat(notifications): TODO 7 — draft decision toast + email + bell badge

See merge request 2-6/2-6-4/terravault/ordinis!190
2026-05-14 14:40:35 +00:00
Александр Зимин 9050e2427e feat(notifications): TODO 7 — draft decision toast + email + bell badge 2026-05-14 14:40:35 +00:00
semantic-release-bot 50d263745a chore(release): v2.26.1
## [2.26.1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.26.0...v2.26.1) (2026-05-14)

### ♻️ Refactoring

* **reviews:** interaction state polish — 5 UX fixes ([fb64ca4](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/fb64ca4350d2d7581a13e8453158ef80a4592d72))
2026-05-14 14:22:44 +00:00
Александр Зимин e661719869 Merge branch 'refactor/reviews-interaction-polish' into 'main'
refactor(reviews): interaction state polish — 5 UX fixes

See merge request 2-6/2-6-4/terravault/ordinis!189
2026-05-14 14:13:57 +00:00
Александр Зимин fb64ca4350 refactor(reviews): interaction state polish — 5 UX fixes 2026-05-14 14:13:57 +00:00
semantic-release-bot 513b57b6b5 chore(release): v2.26.0
## [2.26.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.25.1...v2.26.0) (2026-05-14)

###  Features

* **reviews:** "Мои" tab — maker self-tracking with status filter ([be58b61](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/be58b6191383e0cecd9c2a06ef99b1835ecd3dce))
2026-05-14 14:11:18 +00:00
Александр Зимин 96589be33f Merge branch 'feat/reviews-mine-tab' into 'main'
feat(reviews): "Мои" tab — maker self-tracking with status filter

See merge request 2-6/2-6-4/terravault/ordinis!188
2026-05-14 14:06:30 +00:00
Александр Зимин be58b61913 feat(reviews): "Мои" tab — maker self-tracking with status filter 2026-05-14 14:06:30 +00:00
semantic-release-bot a6a07428ed chore(release): v2.25.1
## [2.25.1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.25.0...v2.25.1) (2026-05-14)

### ♻️ Refactoring

* **approval-ux:** eng-review fixes — extract helpers, add tests, register i18n ([4c29f4e](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/4c29f4e7cbab6be552603f7791f1de35a882cb71))
2026-05-14 13:57:00 +00:00
Александр Зимин c6f8f095b1 Merge branch 'refactor/approval-ux-eng-review-fixes' into 'main'
refactor(approval-ux): eng-review fixes — extract helpers, add tests, register i18n

See merge request 2-6/2-6-4/terravault/ordinis!187
2026-05-14 13:52:12 +00:00
Александр Зимин 4c29f4e7cb refactor(approval-ux): eng-review fixes — extract helpers, add tests, register i18n 2026-05-14 13:52:12 +00:00
semantic-release-bot 31ad140a02 chore(release): v2.25.0
## [2.25.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.24.0...v2.25.0) (2026-05-14)

###  Features

* **approval-ux:** inline draft CTA + reviewer diff summary + tightened drawer ([fe7f9cd](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/fe7f9cd01f8f2150ecffdc300e260fedb7f8a1cf))
2026-05-14 13:04:42 +00:00
Александр Зимин 139f7d4d30 Merge branch 'feat/approval-ux-editor-cta-and-drawer-diff' into 'main'
feat(approval-ux): inline draft CTA + reviewer diff summary + tightened drawer

See merge request 2-6/2-6-4/terravault/ordinis!186
2026-05-14 12:57:57 +00:00
Andrei Zimin fe7f9cd01f feat(approval-ux): inline draft CTA + reviewer diff summary + tightened drawer
Acts on the two "build now" items from the design review of the approval
workflow UX (other five went to TODOS.md). Plus the TODOS.md file itself,
authored during the same review.

1. **Inline "Создать черновик с моими изменениями" CTA**
   (DictionaryEditorDialog + CreateSchemaDraftModal)

   Was: when a maker edited an approval-required dict, Save disabled and a
   warning told them to "close the editor and click 'Создать черновик схемы'
   on the dict page." Three friction steps and a hunt for a button.

   Now: the warning Alert carries an action button — "Создать черновик с
   моими изменениями" — that opens CreateSchemaDraftModal in-place with the
   maker's in-progress schemaJson pre-loaded. They add a reason and submit.
   No retyping, no hunt.

   Implementation:
   - CreateSchemaDraftModal accepts optional `initialProposedSchema` prop.
     Seed order: edit-mode draft → caller pre-fill → live HEAD.
   - DictionaryEditorDialog mounts the modal inline and triggers it from the
     Alert action. Closes the editor on successful create.

2. **Diff summary chips in ReviewDrawer**

   Was: two raw JSON dumps side by side. Reviewer had to eyeball-diff long
   records to find the actual edit.

   Now: a row of summary chips above the panes — "+N added, −M removed,
   ~K changed" with the field names inline. Computed shallow client-side
   (shallowDiffSummary helper) — ordinis records are flat-ish at the top
   level, no need for a backend diff endpoint. Skipped for CLOSE op (no
   proposed) and when both sides are null.

3. **Tightened drawer header + trimmed empty-state copy**

   Was: single flex-wrap line with four spans (badge + bk + maker + ts) —
   visually busy. Plus a verbose empty-state description: "Когда maker
   отправит schema draft на ревью, он появится здесь."

   Now: two-row layout (identity row on top, provenance row below) so the
   eye lands on Badge + BK first. Empty-state copy shortened to "Очередь
   пуста" / "Схемы на ревью появятся здесь."

Other five gaps (Мои tab, full state-coverage pass, DESIGN.md, a11y audit,
maker notifications) recorded in TODOS.md.
2026-05-14 15:56:50 +03:00
semantic-release-bot bdae52ff28 chore(release): v2.24.0
## [2.24.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.23.1...v2.24.0) (2026-05-14)

###  Features

* **drafts:** audit + outbox для record-draft lifecycle (audit findings) ([0003fb6](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/0003fb68019a39a515f5046df3f039dc3a48f79c))

### 🐛 Fixes

* **approval:** allow non-breaking schema changes inline ([d338c52](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/d338c52c63876d68fabdd5133d6b2e834829a9f9))
* **approval:** close 2 more bypass paths from security audit ([4e09027](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/4e0902706e73e3860eab2618676389aca230e64c))
* **ui:** DictionaryEditorDialog disables Save when draft workflow needed ([898cb34](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/898cb345ec462f2b322a96b3cf5cbc830e4cc079))
2026-05-14 12:52:02 +00:00
Александр Зимин 1b5cea3778 Merge branch 'fix/approval-allow-non-breaking' into 'main'
fix(approval): allow non-breaking schema changes inline

See merge request 2-6/2-6-4/terravault/ordinis!185
2026-05-14 12:35:39 +00:00
Александр Зимин d338c52c63 fix(approval): allow non-breaking schema changes inline 2026-05-14 12:35:39 +00:00
Александр Зимин fe136c9b79 Merge branch 'fix/schema-editor-approval-aware' into 'main'
fix(ui): DictionaryEditorDialog disables Save when draft workflow needed

See merge request 2-6/2-6-4/terravault/ordinis!183
2026-05-14 12:33:43 +00:00
Александр Зимин 898cb345ec fix(ui): DictionaryEditorDialog disables Save when draft workflow needed 2026-05-14 12:33:43 +00:00
Александр Зимин 9ec723dd17 Merge branch 'feat/record-draft-audit-outbox' into 'main'
feat(drafts): audit + outbox для record-draft lifecycle (audit findings)

See merge request 2-6/2-6-4/terravault/ordinis!184
2026-05-14 12:32:06 +00:00
Александр Зимин 0003fb6801 feat(drafts): audit + outbox для record-draft lifecycle (audit findings) 2026-05-14 12:32:06 +00:00
Александр Зимин a7bda82724 Merge branch 'fix/approval-cascade-and-minrole' into 'main'
fix(approval): close 2 more bypass paths from security audit

See merge request 2-6/2-6-4/terravault/ordinis!182
2026-05-14 12:32:03 +00:00
Александр Зимин 4e0902706e fix(approval): close 2 more bypass paths from security audit 2026-05-14 12:32:03 +00:00
semantic-release-bot ce3b495561 chore(release): v2.23.1
## [2.23.1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.23.0...v2.23.1) (2026-05-14)

### 🐛 Fixes

* **schema:** enforce approvalRequired on PUT /{name} + PATCH /{name}/schema ([018ebff](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/018ebff2072952828f6b5e7dbd6b19f204e0432a))
2026-05-14 12:15:02 +00:00
Александр Зимин 27c03c3e58 Merge branch 'fix/schema-edit-approval-gate' into 'main'
fix(schema): enforce approvalRequired on PUT/PATCH schema endpoints

See merge request 2-6/2-6-4/terravault/ordinis!181
2026-05-14 12:07:24 +00:00
Andrei Zimin 018ebff207 fix(schema): enforce approvalRequired on PUT /{name} + PATCH /{name}/schema
Reported 2026-05-14: editing schema on an approvalRequired dictionary
applied inline without going through the schema-draft maker-checker
workflow. Two endpoints both lacked the gate that DictionaryRecordService
already had for record CRUD:

1. PUT /api/v1/admin/dictionaries/{name}
   (frontend SchemaDrivenForm "edit schema" save button hits this).
   DictionaryDefinitionService.updateSchema overwrote schemaJson directly.
   Bonus backdoor: same request could simultaneously flip
   approvalRequired:true→false and rewrite the schema in one transaction
   — review-bypass via toggle.

2. PATCH /api/v1/admin/dictionaries/{name}/schema (inline non-breaking
   patch — description / title / minimum / maximum / enum-add). Frontend
   doesn't currently call this, but backend exposed it without a gate.

Both now reject with `422 approval_required` carrying the schema-drafts
URL in the message. Frontend's existing serverErrorMessage in
DictionaryEditorDialog already surfaces backend `message` to the user,
so no UI changes needed for correctness. UX polish (hide "Save" /
show "Create draft" CTA when approvalRequired=true) is a follow-up.

The PUT gate is narrow on purpose: schemaChanged OR approvalRequired
toggle-off. Pure metadata edits (display name, description, locales,
projection flag) on an approvalRequired dict still go through inline
— those don't affect record validation, no review needed.
2026-05-14 15:05:09 +03:00
semantic-release-bot 7202265da1 chore(release): v2.23.0
## [2.23.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.22.1...v2.23.0) (2026-05-14)

###  Features

* **user-display:** KeycloakAdminUserResolver — Phase 2 on-demand lookup ([83caf9c](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/83caf9c3c80e947dc3ad4ff46a194903192ca1f3))
* **user-display:** persistent DB cache + Keycloak resolver hook (Phase 1+2 wiring) ([ec0c74a](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/ec0c74afdf627eab43310c987f009a7a3a1a89d4))

### 🐛 Fixes

* **ui:** UserCell в changelog/events/history — ещё 6 мест ([455ca2f](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/455ca2ff264f4955b5c5b1259c11ce4c3fdd48ce))
2026-05-14 12:00:15 +00:00