Александр Зимин
93c2708fb0
fix(ui): internal scope filter + dark-theme cards в Связи
2026-05-12 00:31:51 +00:00
Александр Зимин
de476ea597
Merge branch 'docs/v2-integrator' into 'main'
...
docs(integrator): v2.x.x update — workflow API + full changelog + schema extensions
See merge request 2-6/2-6-4/terravault/ordinis!118
2026-05-12 00:26:37 +00:00
Александр Зимин
d790a77313
docs(integrator): v2.x.x update — workflow API + full changelog + schema extensions
2026-05-12 00:26:37 +00:00
semantic-release-bot
bc3373ccd8
chore(release): v2.3.0 [skip ci]
...
## [2.3.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.2.1...v2.3.0 ) (2026-05-12)
### ✨ Features
* **api:** full timeline в /changelog — workflow events + draft kinds ([12975e0 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/12975e0d83ab2cc63ea7f553339aa7ea448aad66 ))
### 🐛 Fixes
* **ui:** visible History button + remove left rail + dark JSON viewer ([2a76b93 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/2a76b9382ec3094e90b7eec9f2167dda10335082 ))
2026-05-12 00:24:16 +00:00
Александр Зимин
861d2f7f16
Merge branch 'fix/editor-history-button-rail-jsonbg' into 'main'
...
fix(ui): visible History button + remove left rail + dark JSON viewer
See merge request 2-6/2-6-4/terravault/ordinis!117
2026-05-12 00:18:03 +00:00
Александр Зимин
2a76b9382e
fix(ui): visible History button + remove left rail + dark JSON viewer
2026-05-12 00:18:03 +00:00
Александр Зимин
aefd6a8428
Merge branch 'feat/changelog-full-timeline' into 'main'
...
feat(api): full timeline в /changelog — workflow events + draft kinds
See merge request 2-6/2-6-4/terravault/ordinis!116
2026-05-12 00:14:10 +00:00
Александр Зимин
12975e0d83
feat(api): full timeline в /changelog — workflow events + draft kinds
2026-05-12 00:14:09 +00:00
semantic-release-bot
50c75eacd3
chore(release): v2.2.1 [skip ci]
...
## [2.2.1](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.2.0...v2.2.1 ) (2026-05-12)
### 🐛 Fixes
* **build:** collapse vendor-graph3d into vendor-misc — Super expression hotfix ([99d5d5d ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/99d5d5d84412ea48d468210e5d4d2f4a11814c37 ))
2026-05-12 00:03:39 +00:00
Александр Зимин
bdcc1ab91f
Merge branch 'fix/graph3d-circular-chunk' into 'main'
...
fix(build): collapse vendor-graph3d into vendor-misc — Super expression hotfix
See merge request 2-6/2-6-4/terravault/ordinis!115
2026-05-11 23:53:55 +00:00
Александр Зимин
99d5d5d844
fix(build): collapse vendor-graph3d into vendor-misc — Super expression hotfix
2026-05-11 23:53:55 +00:00
semantic-release-bot
242972fdd8
chore(release): v2.2.0 [skip ci]
...
## [2.2.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.1.0...v2.2.0 ) (2026-05-11)
### ✨ Features
* **api:** schema workflow API — backend [#3 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/3 ) (drafts/review/decision/publish) ([01fc577 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/01fc5771f28a750573c811ba481ac023464bbc1d ))
* **graph:** space-theme polish — planets, sprite labels, thematic edges, sizes, loader ([9fd63ab ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/9fd63ab2679432aef95f205c03389e66a1a2efef ))
2026-05-11 23:46:43 +00:00
Александр Зимин
aad3dfe4d9
Merge branch 'ci/shorter-artifact-expiry' into 'main'
...
ci: shorter artifact expire_in — storage relief
See merge request 2-6/2-6-4/terravault/ordinis!114
2026-05-11 23:21:23 +00:00
Александр Зимин
1f71808acf
ci: shorter artifact expire_in — storage relief
2026-05-11 23:21:22 +00:00
Александр Зимин
91c48775bf
Merge branch 'feat/schema-workflow-api' into 'main'
...
feat(api): schema workflow API — backend #3 (drafts/review/decision/publish)
See merge request 2-6/2-6-4/terravault/ordinis!113
2026-05-11 23:11:56 +00:00
Александр Зимин
01fc5771f2
feat(api): schema workflow API — backend #3 (drafts/review/decision/publish)
2026-05-11 23:11:56 +00:00
Александр Зимин
61e4cf952e
Merge branch 'feat/graph-space-polish-v2' into 'main'
...
feat(graph): space-theme polish — planets, sprite labels, thematic edges, sizes, loader
See merge request 2-6/2-6-4/terravault/ordinis!112
2026-05-11 22:50:33 +00:00
Александр Зимин
9fd63ab267
feat(graph): space-theme polish — planets, sprite labels, thematic edges, sizes, loader
2026-05-11 22:50:33 +00:00
semantic-release-bot
1178317878
chore(release): v2.1.0 [skip ci]
...
## [2.1.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v2.0.0...v2.1.0 ) (2026-05-11)
### ✨ Features
* **graph:** 3D mode toggle — three.js + WebGL fallback ([fe18bef ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/fe18befb2a34488d1cd460fd12ea9e9e75c3fe49 ))
2026-05-11 22:17:01 +00:00
Александр Зимин
d0362c1136
Merge branch 'feat/graph-3d-mode' into 'main'
...
feat(graph): 3D mode toggle — three.js + WebGL fallback
See merge request 2-6/2-6-4/terravault/ordinis!110
2026-05-11 22:11:41 +00:00
Александр Зимин
fe18befb2a
feat(graph): 3D mode toggle — three.js + WebGL fallback
2026-05-11 22:11:41 +00:00
semantic-release-bot
c2c492b7ef
chore(release): v2.0.0 [skip ci]
...
## [2.0.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v1.7.0...v2.0.0 ) (2026-05-11)
### ✨ Features
* **api:** GET /dictionaries/{name}/changelog — schema versions timeline (backend [#1 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/1 )) ([ebc90d7 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/ebc90d76e97dbdeb42f18cb0578b5854ed6896f4 ))
* **api:** GET /dictionaries/{name}/snapshots — record-change buckets (backend [#2 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/2 )) ([e02e684 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/e02e684cca40da1b855dbc229ea876e5ffe7c2f8 ))
* **api:** PATCH /dictionaries/{name}/schema — inline non-breaking field edit (backend [#4 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/4 )) ([db4f859 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/db4f859ef6129f3bc85af79aa2f7fa4ec873ea5a ))
* **brand:** adopt official Ordinis logo assets ([e6fe9c3 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/e6fe9c3da89f028711c6627d841083e8f58173f3 )), closes [#185FA5](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/185FA5 ) [#378ADD](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/378ADD ) [#185FA5](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/185FA5 ) [#120a8f](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/120a8f )
* **form:** x-section schema metadata + dynamic section bucketing ([1a72418 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/1a72418cb862322ed4ff01ea0b24cf21a99b31c7 ))
* **ui:** 3-dot row menu + history compare/revert + DateTime fitting + tablet touch ([b312ba3 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/b312ba37adb5260625fa792a9078edde5d1d67b8 ))
* **ui:** row click opens edit + wide-mode left section rail in drawer ([54cf563 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/54cf5631620ea44d1a6d0d6f6a180390602c2e33 ))
### 🐛 Fixes
* **a11y:** Drawer always renders SheetDescription — silence Radix warning ([cc131e5 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/cc131e52f2024ebb2e47e230150d43c5d0fc7905 ))
* **audit:** definition action != record action — fix SmokeE2ETest filter ([f5e7348 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/f5e7348f92e4b44f2b16a3872f2f1d2b9414167e )), closes [#1 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/1 )
* **audit:** definition action != record action — fix SmokeE2ETest filter ([083e7be ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/083e7be3be16ecab97445eb01a4e3c331abedb9a )), closes [#1 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/1 )
* **audit:** definition action != record action — fix SmokeE2ETest filter ([5d790ba ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/5d790ba7d56292e73c761420bed9a9960a9b96c0 )), closes [#1 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/1 )
* **brand:** recolor logo — terracotta accent, no blue (theme-aligned) ([7684e0c ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/7684e0c9bd2ad7223f86490578585994ed802b5e )), closes [#d97757](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/d97757 ) [#b05a2e](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/b05a2e ) [#d97757](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/d97757 ) [#b05a2e](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/b05a2e ) [#e6e1d4](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/e6e1d4 ) [#2c2b27](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/2c2b27 ) [#1a1714](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/1a1714 ) [#b05a2e](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/b05a2e )
* **form:** FK select label overflow — truncate + ellipsis (наезжают on chevron) ([b2231a5 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/b2231a5a47b39443f2e3a9a49fb3ec9eb7dd4399 ))
* **ui:** bigger logo + shorter 'Создать' label ([0c978be ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/0c978bec0c6d9a32ed41d9898b7bd61420c0d1c0 ))
* **ui:** logo orbits stroke 5→12 — actually visible at 28px ([fcb0ad0 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/fcb0ad0eb5b5eb28ea0975e155fbbf36c7908021 ))
### 📝 Docs
* **api:** mark 4/5 pending endpoints shipped, workflow API deferred ([6c8cc21 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/6c8cc21204c7afbd6fa1a003575d93f09d0641f3 )), closes [#1 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/1 ) [#2 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/2 ) [#4 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/4 ) [#5 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/5 ) [#3 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/issues/3 )
2026-05-11 22:07:11 +00:00
Александр Зимин
fc9db66c7c
Merge branch 'feat/x-section-metadata' into 'main'
...
feat(form): x-section schema metadata + dynamic section bucketing
See merge request 2-6/2-6-4/terravault/ordinis!109
2026-05-11 21:52:24 +00:00
Александр Зимин
1a72418cb8
feat(form): x-section schema metadata + dynamic section bucketing
2026-05-11 21:52:24 +00:00
Александр Зимин
6d34632220
Merge branch 'fix/drawer-a11y-description' into 'main'
...
fix(a11y): Drawer always renders SheetDescription — silence Radix warning
See merge request 2-6/2-6-4/terravault/ordinis!108
2026-05-11 21:42:41 +00:00
Александр Зимин
cc131e52f2
fix(a11y): Drawer always renders SheetDescription — silence Radix warning
2026-05-11 21:42:41 +00:00
Александр Зимин
2358d95375
Merge branch 'feat/dictionary-snapshots' into 'main'
...
feat(api): GET /dictionaries/{name}/snapshots — TimeTravel slider marks (backend #2 )
See merge request 2-6/2-6-4/terravault/ordinis!97
2026-05-11 21:10:36 +00:00
Александр Зимин
12277071b2
Merge branch 'feat/actions-3dot-v2' into 'main'
...
feat(ui): 3-dot actions menu + history compare/revert + DateTime fitting + tablet
See merge request 2-6/2-6-4/terravault/ordinis!107
2026-05-11 21:04:34 +00:00
Zimin A.N.
b312ba37ad
feat(ui): 3-dot row menu + history compare/revert + DateTime fitting + tablet touch
...
Per user feedback screenshots:
SchemaDrivenForm DateTimeField:
- grid → flex flex-wrap: на узких cells (drawer 520px ÷ 2 cols = ~210px)
time wraps под date вертикально. На wide — inline.
- Date min-w 8rem (128px), time w-24 (96px) — tablet touch-safe.
TableHeaderCell без visible label (sr-only для screen readers).
TableCell содержит DropdownMenu trigger 36×36px (touch target):
- History (always)
- Edit, Separator, Close (только canMutate, Close в danger color)
Заменяет 3 inline IconButton'a — экономит ширину + tablet friendly.
RecordHistoryDrawer accepts onCompare / onRevert callbacks. Каждая
non-current version row показывает:
- Сравнить с текущим — opens ConflictDiffModal (reused diff UI)
- Откатить к v{N} — submit updateMut с этой version данными как
payload (+ confirm dialog). Backend создаёт новую active version,
bitemporal history preserves старые.
JSON viewer переключился с <details> на state-driven (hide/show
без CSS rabbit hole).
history.hideData/compare/revert/revertConfirm (RU + EN).
- 3-dot trigger 36px = comfortable touch target (Apple HIG 44, ours
acceptable для density)
- Drawer на <880px viewport = fullscreen sheet (already)
- DateTime wraps на cell <8rem+9rem+gap = 290px
- Sidebar collapse на <1024 = hamburger overlay
2026-05-12 00:03:44 +03:00
Александр Зимин
11797f88ae
Merge branch 'feat/row-click-and-wide-rail' into 'main'
...
feat(ui): row click → edit drawer + wide-mode left section rail
See merge request 2-6/2-6-4/terravault/ordinis!105
2026-05-11 20:51:42 +00:00
Zimin A.N.
54cf563162
feat(ui): row click opens edit + wide-mode left section rail in drawer
...
Two improvements per user feedback ('по клику открывается редактирование и
в развернутом виде слева навигация'):
## 1. Row click → edit drawer
TableRow в /dictionaries/$name теперь имеет onClick={setEdit({kind:'edit',
record:r})} когда canMutate. cursor-pointer + bubbling guards:
- Checkbox cell и Actions cell имеют onClick stopPropagation чтобы
внутренние controls не открывали drawer случайно.
- Anonymous users (no canMutate) — row не clickable (read-only, no drawer).
## 2. Wide-mode left rail в drawer
SchemaDrivenForm в sections layout теперь умеет ResizeObserver-based detection
своей ширины. Когда контейнер ≥720px (drawer wide mode = 880px) → render'ит
180px sticky left rail с section list + per-section field counts. Click rail
item → smooth scroll к section anchor. Иначе chip strip сверху, как раньше.
Container-based (не viewport-based) чтобы narrow drawer на wide viewport не
рендерил rail (520px не fits 180+1fr grid).
2026-05-11 23:51:03 +03:00
Александр Зимин
bf4a99c1ad
Merge branch 'fix/fk-select-overflow' into 'main'
...
fix(form): FK select label overflow — truncate + ellipsis (наезжают)
See merge request 2-6/2-6-4/terravault/ordinis!104
2026-05-11 20:44:17 +00:00
Zimin A.N.
b2231a5a47
fix(form): FK select label overflow — truncate + ellipsis (наезжают on chevron)
...
Native <select> для FK references показывал label '<code> — <localized name>'
(например 'OPT_MIDRES_MS — Оптический мульти-резолюционный мульти-спектральный')
— текст бьётся на chevron в trigger area из-за тонкого contract'а browser-
specific overflow handling (наезжают per user screenshot 2026-05-11).
Fix:
- buildOption() обрезает name до MAX_FK_LABEL_CHARS=28 (code intact) +
'…' suffix когда combined превышает limit
- select сам получает 'truncate overflow-hidden whitespace-nowrap text-ellipsis'
как защита если browser native truncate не сработал
- pr-10 → pr-9 (38px) — точно совпадает с right-3 chevron position (12px)
+ ~16px icon + 8px gap, не overlap'aет.
2026-05-11 23:43:38 +03:00
Александр Зимин
59067cfcf1
Merge branch 'fix/logo-thicker-orbits' into 'main'
...
fix(ui): logo orbits stroke 5→12 — actually visible at 28px
See merge request 2-6/2-6-4/terravault/ordinis!103
2026-05-11 20:38:37 +00:00
Zimin A.N.
fcb0ad0eb5
fix(ui): logo orbits stroke 5→12 — actually visible at 28px
...
stroke=5 в viewBox 256 при 28px render = 5*28/256 = 0.55px (subpixel,
почти невидимо). stroke=12 даёт ~1.31px real — чёткая линия. Заодно
переключил с --color-line-2 на --color-line чтобы немного контрастнее
на bg-surface.
2026-05-11 23:38:00 +03:00
Александр Зимин
162e97be0e
Merge branch 'fix/logo-prominence-and-create-label' into 'main'
...
fix(ui): bigger sidebar logo + shorter Создать label
See merge request 2-6/2-6-4/terravault/ordinis!102
2026-05-11 20:36:40 +00:00
Zimin A.N.
0c978bec0c
fix(ui): bigger logo + shorter 'Создать' label
...
Logo: при 26px+тонких stroke (1.5) почти невидим. Bumped:
- width/height 26 → 28
- strokes 1.5 → 5 (визуально ~1.5px при 28px render)
- outer dots r=8 → 16/14 (main + secondaries)
- inner dots r=6.4 → 13/11
- core r=15 → 24
- outer orbit stroke использует --color-line-2 (мягче чем --color-line)
Favicon тоже укрупнён (stroke 2.2, dot r=3, core r=4) — читается в 16px tab.
Label: 'Создать запись' → 'Создать' для dict.action.create (RU + EN).
User feedback: 'Создать запись надо сократь на Создать'.
2026-05-11 23:36:00 +03:00
Александр Зимин
934f84ab72
Merge branch 'fix/logo-theme-recolor' into 'main'
...
fix(brand): recolor logo to terracotta accent (theme-aligned)
See merge request 2-6/2-6-4/terravault/ordinis!101
2026-05-11 20:28:53 +00:00
Zimin A.N.
7684e0c9bd
fix(brand): recolor logo — terracotta accent, no blue (theme-aligned)
...
Brand assets из !100 пришли с DeepBlue/SkyBlue colors (design system
prototype). Ordinis app theme uses warm terracotta accent (#d97757 light /
#b05a2e dark) на cream/ink palette. Never blue. Recolored все 5 SVG +
inline Sidebar mark:
- favicon.svg: stroke #d97757, dots/core #b05a2e
- ordinis-mark.svg: orbits #e6e1d4 (line), dots accent gradient terracotta
- ordinis-appicon.svg: dark warm-ink tile (#2c2b27 → #1a1714), accent dots,
white outer dots for contrast on dark
- ordinis-lockup-light.svg: terracotta orbits + warm-ink wordmark (Tektur)
- ordinis-lockup-dark.svg: warm-dark bg + terracotta accents + cream wordmark
- Sidebar inline svg: currentColor + text-accent, var(--color-line) для
orbits — автоматически работает в both light + dark themes
- index.html: theme-color/mask-icon → #b05a2e (terracotta dark)
User feedback: 'DeepBlue никакого синего адаптируй под наши темы'.
2026-05-11 23:28:06 +03:00
Александр Зимин
11e64771fc
Merge branch 'feat/schema-patch-inline' into 'main'
...
feat(api): PATCH /dictionaries/{name}/schema — inline non-breaking field edit (backend #4 )
See merge request 2-6/2-6-4/terravault/ordinis!98
2026-05-11 20:26:43 +00:00
Александр Зимин
ac5f5bea01
Merge branch 'feat/dictionary-changelog' into 'main'
...
feat(api): GET /dictionaries/{name}/changelog — schema versions timeline (backend #1 )
See merge request 2-6/2-6-4/terravault/ordinis!96
2026-05-11 20:24:50 +00:00
Zimin A.N.
f5e7348f92
fix(audit): definition action != record action — fix SmokeE2ETest filter
...
SmokeE2ETest.contextLoadsAndCreatesRecord фильтрует audit_log по
action='CREATE' и ожидает row с businessKey. Мой backend #1 commit
сделал definitionCreated() писать action='CREATE' — конфликт с
record-level CREATE rows: filter подбирал dict-level row первой
(no businessKey → null assertion fail).
Fix: definitionCreated/definitionUpdated теперь пишут action
'DEFINITION_CREATE' / 'DEFINITION_UPDATE'. event_type остаётся
DEFINITION_CREATED/UPDATED (changelog query filter по event_type
IN список, не задеть).
2026-05-11 23:23:21 +03:00
Zimin A.N.
083e7be3be
fix(audit): definition action != record action — fix SmokeE2ETest filter
...
SmokeE2ETest.contextLoadsAndCreatesRecord фильтрует audit_log по
action='CREATE' и ожидает row с businessKey. Мой backend #1 commit
сделал definitionCreated() писать action='CREATE' — конфликт с
record-level CREATE rows: filter подбирал dict-level row первой
(no businessKey → null assertion fail).
Fix: definitionCreated/definitionUpdated теперь пишут action
'DEFINITION_CREATE' / 'DEFINITION_UPDATE'. event_type остаётся
DEFINITION_CREATED/UPDATED (changelog query filter по event_type
IN список, не задеть).
2026-05-11 23:23:12 +03:00
Zimin A.N.
5d790ba7d5
fix(audit): definition action != record action — fix SmokeE2ETest filter
...
SmokeE2ETest.contextLoadsAndCreatesRecord фильтрует audit_log по
action='CREATE' и ожидает row с businessKey. Мой backend #1 commit
сделал definitionCreated() писать action='CREATE' — конфликт с
record-level CREATE rows: filter подбирал dict-level row первой
(no businessKey → null assertion fail).
Fix: definitionCreated/definitionUpdated теперь пишут action
'DEFINITION_CREATE' / 'DEFINITION_UPDATE'. event_type остаётся
DEFINITION_CREATED/UPDATED (changelog query filter по event_type
IN список, не задеть).
2026-05-11 23:23:03 +03:00
Александр Зимин
87b4f319d9
Merge branch 'feat/brand-logo-update' into 'main'
...
feat(brand): adopt official Ordinis logo assets
See merge request 2-6/2-6-4/terravault/ordinis!100
2026-05-11 20:20:26 +00:00
Zimin A.N.
e6fe9c3da8
feat(brand): adopt official Ordinis logo assets
...
Делёные design team 2026-05-11 в Downloads/files:
- ordinis-mark.svg — двойные орбиты + 6 dots + gradient core
(DeepBlue #185FA5 → SkyBlue #378ADD), brand spec
- ordinis-favicon.svg — minimal 32px variant
- ordinis-appicon.svg — 1024px PWA icon с dark rounded tile
- ordinis-lockup-light/dark.svg — horizontal lockup с wordmark
(для landing/splash/marketing — пока не используется но
хранится в public для future use)
Changes:
- public/favicon.svg → minimal 32px variant
- Sidebar logo block: inline ordinis-mark с двойными орбитами +
gradient core. Wordmark 'ORDINIS MDM' остаётся в Tektur.
- index.html: theme-color #185FA5 (был #120a8f), apple-touch-icon
link на appicon, mask-icon color match.
Note: SVG colors hardcoded в Sidebar inline для full design fidelity
(brand assets specifically defined gradient). currentColor не подходит
т.к. brand требует точные DeepBlue/SkyBlue/LightBlue tokens.
2026-05-11 23:19:33 +03:00
Александр Зимин
3119e8c81c
Merge branch 'docs/backend-status-update' into 'main'
...
docs(api): mark 4/5 pending endpoints shipped, workflow API deferred
See merge request 2-6/2-6-4/terravault/ordinis!99
2026-05-11 20:16:46 +00:00
semantic-release-bot
1b577393d6
chore(release): v1.7.0 [skip ci]
...
## [1.7.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/compare/v1.6.1...v1.7.0 ) (2026-05-11)
### ✨ Features
* **api:** GET /dictionaries/graph/outgoing — batch outgoing FK summary ([ff05ef9 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/ff05ef9a9fcc0df55c0da2cb16c2d7d75f9e9db4 ))
* **loader:** real Natural Earth globe via d3-geo + topojson + world-atlas ([acde4e1 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/acde4e134dc7d7610e108e155e2b57426190be08 ))
### 🐛 Fixes
* **a11y:** add sr-only DialogTitle/Description to record/export/timetravel modals ([7429cff ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/7429cff0096918fb0fe9dc2a55506a93ee5ee89e ))
* **form:** break drawer counter/dirty infinite-loop + add GlobeLoader + AppErrorBoundary ([ca53322 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/ca53322b14265c26b94db73c5fed7cb7cdf1f343 ))
* **loader:** remove transform-box fill-box — orbits rotated around offset bbox ([82b754b ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/82b754b3abafc8383c95aecf28a81c116e843512 ))
* **ui:** block route render with centered GlobeLoader until queries resolve ([e165a55 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/e165a552aae42a05a2ad4b0f1187ad684b376fa6 ))
### 📝 Docs
* **api:** pending-endpoints brief for backend team ([a4add24 ](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/commit/a4add2402aea8620d071e48ea8e598e8f62c8249 ))
2026-05-11 20:16:26 +00:00
Zimin A.N.
6c8cc21204
docs(api): mark 4/5 pending endpoints shipped, workflow API deferred
...
Status table в pending-endpoints.md обновлён: endpoints #1 , #2 , #4 , #5
landed в MR !95-!98 в session 2026-05-11. Workflow API (#3 ) deferred —
требует отдельной design discussion + sprint (state machine + RBAC pool
model parallel to record-level DraftController architecture).
2026-05-11 23:15:41 +03:00
Zimin A.N.
db4f859ef6
feat(api): PATCH /dictionaries/{name}/schema — inline non-breaking field edit (backend #4 )
...
Backend #4 из pending-endpoints brief. Frontend Fields tab inline edit:
кликаешь field row → form показывает только allowed (non-breaking) changes
→ submit → patch component bumps (1.4.0 → 1.4.1) без full DictionaryEditorDialog.
Body:
```json
{
"expectedHeadVersion": "1.4.0",
"field": "altitude",
"changes": { "description": {"ru":"Высота орбиты"}, "minimum": 0 }
}
```
Allowed change keys: description / title / minimum / maximum / enum.
Breaking keys (type/format/x-references/etc) → 422 breaking_change_requires_draft.
Validation:
- minimum tighter than current → 422 validation_failed (могло бы invalidate existing)
- maximum tighter than current → 422 validation_failed
- enum removing existing values → 422 (only additions allowed inline)
- expectedHeadVersion != actual → 409 version_mismatch (optimistic lock)
Implementation:
- PatchSchemaRequest DTO (record).
- SchemaPatchService: gates dict/scope/version, applies whitelisted changes
on deep-copied JsonNode, bumps patch component via bumpPatchVersion helper
(semver-safe + fallback для non-semver).
- DictionaryDefinitionController новый @PatchMapping.
- OrdinisException.unprocessableEntity helper (422).
Audit: hooks через existing AuditLogger.definitionUpdated после save.
Tests +10: 4xx scenarios, description update bumps version, enum add ok,
enum remove blocked, minimum expand ok / tighten blocked, version bump
helpers (semver + non-semver fallback).
2026-05-11 23:13:04 +03:00