Commit Graph

864 Commits

Author SHA1 Message Date
Zimin A.N. 9199f380e1 fix(records): scheduled marks on time-travel + non-empty banner + editor validFrom prefill
Три связанных UX бага после v2.31.0 release:

1. **TimeTravel marks**: после !220 slider extended до now+30d, но отметок в
   future window не было → blind drag. Backend теперь возвращает
   upcomingValidFroms (top 50) в /scheduled-summary; frontend merges как marks.

2. **Non-empty banner**: empty-state hint работает только когда список пуст.
   Если currently active записи есть AND ещё запланированы — пользователь
   не видит. Добавлен info banner над таблицей с тем же текстом + CTA.

3. **Editor "Действует с"**: edit mode оставлял поле пустым (bitemporal
   policy «новая версия с now»). User feedback: «показывает ничего, а даты
   заданы» — выглядит как баг. Prefill nowIsoLocal() — теперь юзер видит
   конкретную дату как точку отсчёта.
2026-05-15 21:28:29 +03:00
semantic-release-bot a800d56afa chore(release): v2.31.1
## [2.31.1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.31.0...v2.31.1) (2026-05-15)

### 🐛 Fixes

* **timetravel:** extend modal slider max до now + 30 days (paired с !220) ([1713951](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/1713951f76f02df46a3b470e525d2ec9d79f9545))
2026-05-15 18:13:46 +00:00
Александр Зимин 24ac9fd33a Merge branch 'fix/timetravel-modal-future-window' into 'main'
fix(timetravel): extend modal slider max до now + 30 days (paired с !220)

See merge request 2-6/2-6-4/terravault/ordinis!223
2026-05-15 18:08:45 +00:00
Zimin A.N. 1713951f76 fix(timetravel): extend modal slider max до now + 30 days (paired с !220)
MR !220 расширил range у TimeTravelPicker.tsx, но юзер видит другой компонент —
TimeTravelModal.tsx (fullscreen modal с компарисоном now vs picked moment).
У него своя range logic с max = now + pad (1 day), и фикс !220 туда не дотянулся.

User feedback: создал запись с validFrom=18.05, открыл time-travel modal — слайдер
14.05 → 16.05, не дотянуть до 18-го.

Apply same 30-day future window logic к TimeTravelModal так чтобы оба компонента
вели себя одинаково.
2026-05-15 21:08:02 +03:00
semantic-release-bot d728d4f2fd chore(release): v2.31.0
## [2.31.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.30.1...v2.31.0) (2026-05-15)

###  Features

* **records:** scheduled records empty-state hint ([2341846](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/234184645f235680e43b49d8a6cb5e41946db088))
2026-05-15 17:54:56 +00:00
Александр Зимин fd98ce9d8e Merge branch 'feat/scheduled-records-hint' into 'main'
feat(records): scheduled records empty-state hint

See merge request 2-6/2-6-4/terravault/ordinis!222
2026-05-15 17:20:53 +00:00
Zimin A.N. 234184645f feat(records): scheduled records empty-state hint
Fixes UX bug: пользователь создаёт запись с validFrom на будущую дату
(e.g. 18.05), открывает catalog 15.05 — пустая таблица, никаких хинтов
о том что запись существует.

Backend (read-api):
- New endpoint GET /api/v1/{dict}/records/scheduled-summary
- Returns {count, nearestValidFrom} для записей с validFrom > now AND
  validTo > now в текущем scope view
- Single-aggregate JPA query (COUNT + MIN), respect scope filter same way
  as listActive — INTERNAL scheduled не учитывается для PUBLIC consumer'а

Frontend:
- New useScheduledSummary hook + ScheduledRecordsSummary type
- Empty-state в dictionaries.$name now shows: "Запланировано N, ближайшая
  на DD.MM [Перейти к этой дате]" с CTA который set'ает time-travel на
  nearestValidFrom
- i18n keys для ru/en plural forms

Связан с MR !219 (TimeTravelPicker 30-day future window) — теперь slider
позволяет дойти до даты записи, и empty-state hint позволяет узнать что
запись существует.
2026-05-15 20:17:07 +03:00
semantic-release-bot 8cc78e95b7 chore(release): v2.30.1
## [2.30.1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.30.0...v2.30.1) (2026-05-15)

### 🐛 Fixes

* **sidebar:** hide outbox/audit/webhooks для PUBLIC users ([df704c2](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/df704c28a66b63d97de1f6003263c21a0e97d850))
* **timetravel:** extend slider max до now + 30 days (или future marks) ([4dd67af](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/4dd67af50392cea3ce3b97d5acd2fa0e4f32264a))
2026-05-15 17:14:26 +00:00
Александр Зимин 1d359beb8e Merge branch 'fix/sidebar-admin-nav-internal-only' into 'main'
fix(sidebar): hide outbox/audit/webhooks для PUBLIC users

See merge request 2-6/2-6-4/terravault/ordinis!221
2026-05-15 17:05:51 +00:00
Александр Зимин df704c28a6 fix(sidebar): hide outbox/audit/webhooks для PUBLIC users 2026-05-15 17:05:51 +00:00
Александр Зимин 4c3327b05c Merge branch 'fix/timetravel-future-window' into 'main'
fix(timetravel): extend slider max до now + 30 days (или future marks)

See merge request 2-6/2-6-4/terravault/ordinis!220
2026-05-15 17:03:00 +00:00
Александр Зимин 4dd67af503 fix(timetravel): extend slider max до now + 30 days (или future marks) 2026-05-15 17:03:00 +00:00
semantic-release-bot 836bc6a4e0 chore(release): v2.30.0
## [2.30.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.29.1...v2.30.0) (2026-05-15)

###  Features

* **notifications:** Phase B-2 — per-event-type granular preferences ([f04b1be](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/f04b1be1f6a75ad13d2b7a43e71273a3599f0691))
2026-05-15 17:00:49 +00:00
Александр Зимин 4f1a02de2a Merge branch 'feat/phase-b2-per-event-prefs' into 'main'
feat(notifications): Phase B-2 — per-event-type granular preferences

See merge request 2-6/2-6-4/terravault/ordinis!219
2026-05-15 16:53:32 +00:00
Александр Зимин f04b1be1f6 feat(notifications): Phase B-2 — per-event-type granular preferences 2026-05-15 16:53:32 +00:00
semantic-release-bot 0790abf1d0 chore(release): v2.29.1
## [2.29.1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.29.0...v2.29.1) (2026-05-15)

### 🐛 Fixes

* **reviews:** reset drawer state когда reviewer переключает draft ([641a9a6](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/641a9a64f8b337587b609d9a55d85c834737f298))
2026-05-15 16:45:31 +00:00
Александр Зимин 4bc947b88b Merge branch 'fix/review-drawer-state-leak-between-drafts' into 'main'
fix(reviews): reset drawer state когда reviewer переключает draft

See merge request 2-6/2-6-4/terravault/ordinis!218
2026-05-15 16:40:34 +00:00
Александр Зимин 641a9a64f8 fix(reviews): reset drawer state когда reviewer переключает draft 2026-05-15 16:40:33 +00:00
semantic-release-bot b5c9d07403 chore(release): v2.29.0
## [2.29.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.28.2...v2.29.0) (2026-05-15)

###  Features

* **webhook:** text-wrap payload для chat-bot receivers (stellix pattern) ([2c24d24](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/2c24d249beaa11f5cab65bfb5aa429bc4f292571))

### 🐛 Fixes

* **topbar:** notification bell badge — fix glyph clip ([597e05d](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/597e05db4cca46cfda36fcf6982bb72e43777a89))
2026-05-15 16:35:13 +00:00
Александр Зимин abe9bc31ad Merge branch 'fix/notification-bell-badge-clip' into 'main'
fix(topbar): notification bell badge — fix glyph clip

See merge request 2-6/2-6-4/terravault/ordinis!217
2026-05-15 16:28:49 +00:00
Александр Зимин 597e05db4c fix(topbar): notification bell badge — fix glyph clip 2026-05-15 16:28:49 +00:00
Александр Зимин 116d6fc840 Merge branch 'feat/webhook-text-wrap-stellix-pattern' into 'main'
feat(webhook): text-wrap payload для chat-bot receivers (stellix pattern)

See merge request 2-6/2-6-4/terravault/ordinis!216
2026-05-15 16:24:15 +00:00
Александр Зимин 2c24d249be feat(webhook): text-wrap payload для chat-bot receivers (stellix pattern) 2026-05-15 16:24:15 +00:00
semantic-release-bot 80ae31dc9b chore(release): v2.28.2
## [2.28.2](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.28.1...v2.28.2) (2026-05-15)

### 🐛 Fixes

* **notifications:** tryClaim drop @Modifying — unblocks ALL dispatch ([c41c561](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/c41c561ee616a47dbfce524833fb490f0bd3c7ed))
2026-05-15 16:09:42 +00:00
Александр Зимин 00e6d4e375 Merge branch 'fix/notification-tryclaim-modifying' into 'main'
fix(notifications): tryClaim drop @Modifying — unblocks ALL dispatch

See merge request 2-6/2-6-4/terravault/ordinis!215
2026-05-15 16:02:11 +00:00
Александр Зимин c41c561ee6 fix(notifications): tryClaim drop @Modifying — unblocks ALL dispatch 2026-05-15 16:02:11 +00:00
semantic-release-bot 1eed8be700 chore(release): v2.28.1
## [2.28.1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.28.0...v2.28.1) (2026-05-15)

### 🐛 Fixes

* **actuator:** disable Redis health indicator in writer ([a1989da](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/a1989da1be71a76a243799480bbc04f961abc4aa))
* **notifications:** dispatcher race с OutboxPoller — emails never sent ([9f885e5](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/9f885e50c24dd0e418b6d0f69e9a69b071545cfa))
* **rest-api:** preserve status code from ResponseStatusException ([fd35e71](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/fd35e71fe89ddcb3889f28f8373f269fbbf4d432))
* **webhook:** User-Agent 'ordinis-alerts' (matches Webhook Bot subscription) ([0269542](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/0269542ebeb561c53c6b753026aa3e5766691ec3))
2026-05-15 15:42:31 +00:00
Александр Зимин f56a3bde71 Merge branch 'fix/notifications-dispatcher-poll-race' into 'main'
fix(notifications): dispatcher race с OutboxPoller — emails never sent

See merge request 2-6/2-6-4/terravault/ordinis!214
2026-05-15 15:34:36 +00:00
Александр Зимин 9f885e50c2 fix(notifications): dispatcher race с OutboxPoller — emails never sent 2026-05-15 15:34:36 +00:00
Александр Зимин 11d0846893 Merge branch 'fix/webhook-user-agent-ordinis-alerts' into 'main'
fix(webhook): User-Agent 'ordinis-alerts' (matches Webhook Bot subscription)

See merge request 2-6/2-6-4/terravault/ordinis!213
2026-05-15 15:24:12 +00:00
Александр Зимин 0269542ebe fix(webhook): User-Agent 'ordinis-alerts' (matches Webhook Bot subscription) 2026-05-15 15:24:12 +00:00
Александр Зимин ea1de8e649 Merge branch 'fix/disable-redis-health-in-writer' into 'main'
fix(actuator): disable Redis health indicator in writer

See merge request 2-6/2-6-4/terravault/ordinis!212
2026-05-15 15:20:54 +00:00
Александр Зимин a1989da1be fix(actuator): disable Redis health indicator in writer 2026-05-15 15:20:54 +00:00
Александр Зимин 0cc7ab7485 Merge branch 'fix/response-status-exception-preserve-code' into 'main'
fix(rest-api): preserve status code from ResponseStatusException

See merge request 2-6/2-6-4/terravault/ordinis!211
2026-05-15 15:20:21 +00:00
Александр Зимин fd35e71fe8 fix(rest-api): preserve status code from ResponseStatusException 2026-05-15 15:20:21 +00:00
semantic-release-bot 51b45836de chore(release): v2.28.0
## [2.28.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.13...v2.28.0) (2026-05-15)

###  Features

* **admin-ui:** Phase B frontend — notifications preferences route + UI ([e2fc3bc](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/e2fc3bcbe0b398c15fca20b5603db1152fb2089c))
* **notifications:** Phase B backend — per-user channel preferences ([9452ada](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/9452adaf551e019acfc3b282c3cd0cdf19c7f119))
2026-05-15 15:07:09 +00:00
Александр Зимин 76b3844ad2 Merge branch 'feat/phase-b-prefs-frontend' into 'main'
feat(admin-ui): Phase B frontend — notifications preferences route + UI

See merge request 2-6/2-6-4/terravault/ordinis!210
2026-05-15 14:56:48 +00:00
Александр Зимин e2fc3bcbe0 feat(admin-ui): Phase B frontend — notifications preferences route + UI 2026-05-15 14:56:48 +00:00
Александр Зимин 7fb87e514c Merge branch 'feat/phase-b-notifications-preferences' into 'main'
feat(notifications): Phase B backend — per-user channel preferences

See merge request 2-6/2-6-4/terravault/ordinis!209
2026-05-15 14:56:25 +00:00
Александр Зимин 9452adaf55 feat(notifications): Phase B backend — per-user channel preferences 2026-05-15 14:56:25 +00:00
semantic-release-bot 300fd12d6c chore(release): v2.27.13
## [2.27.13](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.12...v2.27.13) (2026-05-15)

### 🐛 Fixes

* **reviews:** anonymous Mine tab — dedicated empty state с sign-in CTA ([e80d31a](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/e80d31a3400b4c5a79cfe0105c67fa60a950bd19))
2026-05-15 13:33:58 +00:00
Александр Зимин d364a33e3b Merge branch 'fix/my-drafts-anon-empty-state' into 'main'
fix(reviews): anonymous Mine tab — dedicated empty state с sign-in CTA

See merge request 2-6/2-6-4/terravault/ordinis!208
2026-05-15 13:29:11 +00:00
Александр Зимин e80d31a340 fix(reviews): anonymous Mine tab — dedicated empty state с sign-in CTA 2026-05-15 13:29:11 +00:00
semantic-release-bot d31d16a9a6 chore(release): v2.27.12
## [2.27.12](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.11...v2.27.12) (2026-05-15)

### 🐛 Fixes

* **ci:** propose-prod-image-bump needs retag-* (регрессия из !205) ([a8c2432](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/a8c24324a15907b4617d09323473deddf89dbf4f))
2026-05-15 13:03:39 +00:00
Александр Зимин 1803eb4c0e Merge branch 'fix/propose-bump-needs-retag' into 'main'
fix(ci): propose-prod-image-bump needs retag-* (регрессия из !205)

See merge request 2-6/2-6-4/terravault/ordinis!207
2026-05-15 12:57:33 +00:00
Александр Зимин a8c24324a1 fix(ci): propose-prod-image-bump needs retag-* (регрессия из !205) 2026-05-15 12:57:33 +00:00
semantic-release-bot f25c8299ee chore(release): v2.27.11
## [2.27.11](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.27.10...v2.27.11) (2026-05-15)

### 🐛 Fixes

* **notifications:** EmailChannel @Bean registration вместо @Component (race fix) ([fb7fd51](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/fb7fd51c49ac529dae89ae3023009179f20fe44d))
2026-05-15 12:47:08 +00:00
Александр Зимин 76da51c66c Merge branch 'fix/email-channel-bean-wiring' into 'main'
fix(notifications): EmailChannel @Bean registration вместо @Component (race fix)

See merge request 2-6/2-6-4/terravault/ordinis!206
2026-05-15 12:40:39 +00:00
Александр Зимин fb7fd51c49 fix(notifications): EmailChannel @Bean registration вместо @Component (race fix) 2026-05-15 12:40:39 +00:00
Александр Зимин ec40e530e1 Merge branch 'ci/retag-on-tag-pipeline' into 'main'
ci: re-tag on tag pipeline (saves ~5-7 min/release)

See merge request 2-6/2-6-4/terravault/ordinis!205
2026-05-15 10:12:35 +00:00