Zimin A.N.
3223a5ced7
fix(version): channel-based label, no semver fallback for branch builds
...
Stale package.json создавал ложное впечатление rollback'а: staging
показывал "v1.2.0" хотя последний tag — v1.2.2 (package.json не bump'ился
со времён v1.2.0 release).
Vote A — branch builds НЕ используют package.json как version label.
Vite определяет channel:
serverTag != none → что прод/staging RUNS
clientTag → что build'ил CI tag pipeline (CI_COMMIT_TAG set)
CI без tag → 'dev' literal (staging / branch CI build)
локально → 'local' literal (pnpm dev)
Detection через новый __APP_CI__ define из process.env.CI (GitLab сетает
CI=true). Local pnpm dev: CI undefined → channel='local'.
package.json.version всё ещё инжектится как __APP_VERSION__ и видна в
tooltip badge'а как 'floor vX.Y.Z' — не как primary label.
Files:
- vite.config.ts: + APP_CI from process.env.CI
- src/vite-env.d.ts: + __APP_CI__ declare
- src/components/version/useAppVersion.ts: + clientCI
- src/components/version/VersionBadge.tsx: channel logic вместо fallback
Verify all three modes:
local → 'local · {commit}'
CI branch → 'dev · {commit}'
CI tag v1.3.1 → 'v1.3.1 · {commit}'
Tests: 116 pass.
2026-05-11 14:45:04 +03:00
Zimin A.N.
b94912789f
fix(fonts): semantic typography utilities per handoff (7 roles)
...
Заменяет blanket override из MR !45 на типизированную type scale per
design_handoff_ordinis_mdm/README.md "Scale" section.
Семь semantic @utility в styles.css:
text-title-xl 22/600 — modal title, section header
text-title-lg 17/600 — page title в editor
text-title-md 15/600 — dictionary card title
text-body 13/400 — workhorse: body, buttons, tabs, inputs
text-cell 12.5/500 — table cell text
text-mono 11/500 — Mono: IDs, dates, FK refs (font-mono baked in)
text-cap 10.5/600 — Tektur UPPERCASE caption (font/uppercase baked in)
Audit phases:
P1: добавил 7 утилит, font/uppercase/tracking baked где надо
P2: 43 deterministic codemods (font-mono+text-2xs/[11px] → text-mono,
[15/17/22]px+font-semibold → text-title-*, [12.5]px → text-cell,
[10.5]px+uppercase+tracking → text-cap)
P3: 64 text-sm → text-body (handoff workhorse), 84 text-2xs context-aware
(TableCell → text-cell, bare → text-cell, плюс cleanup caps в backticks
template literals который Phase 2 пропустил), 25 text-xs (6 → text-mono
когда с font-mono, 19 → text-cell), 8 titles text-base/lg → text-title-*
P4: убрал --text-2xs override (no users), оставил --text-sm: 13px scoped
к @nstart/ui passthrough (см. comment в styles.css — убирается в Stage 3.9)
Stats:
text-body: 69 | text-cell: 99 | text-mono: 50 | text-cap: 42
text-title-xl: 5 | text-title-lg: 5 | text-title-md: 7
text-sm/text-2xs/text-xs в src/: 0 (только в styles.css комментариях)
Поведение всех 277 typography usages теперь явно соответствует handoff —
каждое место осознанно выбрано под роль, не плажирующий override.
2026-05-11 14:31:35 +03:00
Zimin A.N.
e62633d903
fix(version): read CI_COMMIT_TAG as source of truth, package.json as fallback
...
Previously: vite read package.json.version only, requiring manual bump
before each tag pipeline (manual sync ломалось — MR !44 пример костыля).
Now: vite reads CI_COMMIT_TAG (passed via Dockerfile ARG GIT_TAG from
.gitlab-ci.yml .docker_base) → strips 'v' prefix → exposes как __APP_TAG__.
'none' sentinel filtered → empty string → fallback к package.json.
VersionBadge priority chain:
1. serverTag (что прод RUNS, через /api/v1/version)
2. clientTag (что build'илось на tag pipeline)
3. v${clientVersion} (package.json fallback floor для local / branch)
Dockerfile: add ARG GIT_TAG=none, ENV CI_COMMIT_TAG=$GIT_TAG (mirrors
существующий pattern с GIT_COMMIT → CI_COMMIT_SHORT_SHA).
Revert package.json 1.3.1 → 1.2.0 (manual bump из MR !44 ). Версия теперь
follows tag, не наоборот.
2026-05-11 14:19:50 +03:00
Zimin A.N.
780de70fc5
fix(version): bump to 1.3.1 and show 8-char commit hash
...
VersionBadge показывал 1.2.0 (stale package.json) и truncate коммита на
7 символов. Пользователь ожидал v1.3.1 · 4c7fa8d7 (full 8-char short).
- package.json: 1.2.0 -> 1.3.1
- VersionBadge: substring(0, 7) -> substring(0, 8)
- vite.config: git rev-parse --short=8 для consistency с CI_COMMIT_SHORT_SHA
2026-05-11 14:09:03 +03:00
Александр Зимин
dc0002f379
fix(admin-ui): UpdateBanner generic message
2026-05-11 10:39:35 +00:00
Александр Зимин
4122aa1fc6
fix(admin-ui): UpdateBanner none-version + tokens
2026-05-11 10:29:45 +00:00
Александр Зимин
580529b977
fix(admin-ui): version display + global search submit
2026-05-11 10:18:22 +00:00
Александр Зимин
6db2a0c345
feat(admin-ui): catalog refresh + token migration (Stage 3.2)
2026-05-11 09:08:38 +00:00
Александр Зимин
b7d2fbd7ce
feat(admin-ui): codemod @nstart/ui → @/ui (Stage 2.2)
2026-05-10 22:17:06 +00:00
Александр Зимин
e8f98230f2
feat: version banner UI + GET /api/v1/version backend endpoint
2026-05-10 16:50:50 +00:00