Skip to content

build: major dependency upgrades, wave 3 - #112

Merged
agentHits merged 3 commits into
AgentHits-Devfrom
build/major-upgrades-wave-3
Oct 27, 2026
Merged

agentHits merged 3 commits into
AgentHits-Devfrom
build/major-upgrades-wave-3

Conversation

@agentHits

@agentHits agentHits commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Зачем

Третья волна мажорных обновлений, библиотеки интерфейса панели, одним PR, чтобы все изменения вошли в одну версию. Заменяет PR #109–#111: в них те же изменения, по одному пакету на PR. Они закрываются без слияния.

Что изменилось

Пакет Было → стало Где Что важно
@tanstack/react-table ^8.21.3 → ^9.3.1 13 таблиц и 5 файлов колонок в apps/dokploy/components В v9 возможности таблицы подключаются явно. Каждая таблица теперь объявляет tableFeatures только с тем, что использует: сортировка, фильтры, пагинация, видимость колонок, выбор строк. useReactTable заменён на useTable, модели строк задаются через create*RowModel. Функции сортировки и фильтров (alphanumeric, datetime, text, includesString, equals) зарегистрированы явно, чтобы автовыбор работал как в v8. Временный слой совместимости useLegacyTable не использован
copy-to-clipboard ^3.3.3 → ^4.0.2 кнопки копирования, 34 файла Код не менялся. copy() теперь асинхронный (Promise<boolean>). Запасное окно prompt, которое появлялось, если копирование не удалось ни одним способом, по умолчанию выключено. Копирование идёт через navigator.clipboard, а по HTTP через execCommand, как раньше
react-markdown ^9.1.0 → ^10.1.0 анализ логов, мастер AI-шаблонов Код не менялся: удалённый в v10 проп className у нас не использовался. HTML совпал с v9 байт в байт
  • bun.lock: 6 новых версий, все из деревьев этих пакетов: @tanstack/table-core 9.3.1, @tanstack/store и @tanstack/react-store 0.11.2. Посторонние пакеты не сдвинулись.

Проверки

На этой ветке:

  • bun install --frozen-lockfile: без изменений.
  • bun audit --audit-level=moderate: уязвимостей нет (1446 пакетов).
  • bunx biome check по 19 изменённым файлам: замечаний нет.
  • Набор новых версий в bun.lock совпадает с объединением наборов из build: upgrade react-markdown to v10 #109–build: upgrade @tanstack/react-table to v9 #111.
  • bun run server:build, затем bun run typecheck: все четыре workspace без ошибок.
  • bun run test в apps/dokploy: 377 файлов и 4292 теста прошли, 1 файл и 5 тестов пропущены, упавших нет. Тестов на таблицы и кнопки копирования в наборе нет, их проверит ручной проход ниже.
  • В build: upgrade @tanstack/react-table to v9 #111 одноразовый скрипт отрисовал таблицу на v9 с тем же набором возможностей через react-dom/server. Сортировка, фильтр без учёта регистра, фильтр по точному совпадению, пагинация и скрытие колонки работают.

Что проверить вручную на dev

Во всех таблицах строки должны отображаться, а в консоли браузера не должно быть ошибок.

Таблица Что проверить
Деплойменты сортировка, пагинация
Audit logs сортировка, серверная пагинация, фильтры
Домены приложения поиск по host, меню Columns, сортировка, пагинация
Docker: события сортировка, пагинация, «Page N of M»
Docker: тома сортировка, в том числе по Size, пагинация
Docker: контейнеры поиск по имени, фильтр по state, меню колонок, сортировка, пагинация
Docker: образы сортировка, пагинация
Docker: disk usage сортировка, пагинация
Сессии сортировка, пагинация, скрытие колонок на узком экране
Swarm: приложения поиск по Name, меню колонок, сортировка, пагинация
Сети сортировка, пагинация
Requests серверная пагинация, меню колонок, сортировка
DNS-записи сортировка, пагинация

Кнопки копирования: значение переменной окружения, URL деплой-вебхука, публичный SSH-ключ, строка подключения к базе.

Анализ логов через AI и шаги 2 и 3 мастера AI-шаблона должны показывать отформатированный текст.

🤖 Generated with Claude Code

agentHits and others added 3 commits October 27, 2026 15:56
Что: @tanstack/react-table ^8.21.3 -> ^9.3.1 в apps/dokploy. Все 13 таблиц
в apps/dokploy/components переведены с useReactTable на useTable: у каждой
таблицы модульный объект features (tableFeatures) с нужными фичами
(сортировка, пагинация, видимость колонок, фильтрация, выбор строк),
row models create*RowModel вместо get*RowModel и явный реестр функций
сортировки/фильтрации (alphanumeric, datetime, text; includesString,
equals), чтобы 'auto' работал как в v8. ColumnDef получил параметр
typeof features, VisibilityState -> ColumnVisibilityState,
table.getState() -> table.state, sortingFn -> sortFn (тома Docker).
DataTable в swarm/applications ограничен TData extends RowData.

Зачем: волна 3 мажорных обновлений UI-библиотек. Слой совместимости
useLegacyTable (@tanstack/react-table/legacy) не использован: в v9 он
помечен deprecated и временным, тянет все фичи.

Риски: в v9 API доступно только для зарегистрированных фич; 'auto'
сортировка/фильтрация находит только зарегистрированные функции.
Поведение таблиц в браузере локально не проверялось.

Проверки: bun run typecheck - ок; bunx biome check по 18 файлам - ок;
bun audit --audit-level=moderate - уязвимостей нет; smoke-скрипт с
useTable и теми же features (сортировка, includesString, equals,
пагинация, скрытие колонок) - ок. Тестов на таблицы в __test__ нет.
next build не запускался (соберёт CI).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Что: copy-to-clipboard в apps/dokploy обновлён с ^3.3.3 до ^4.0.2. Код не менялся.

Зачем: часть волны мажорных обновлений UI-библиотек. v4 пишет в буфер через navigator.clipboard в защищённом контексте и откатывается на execCommand на HTTP, toggle-selection теперь встроен в пакет, типы поставляются вместе с ним.

Риски: copy() теперь асинхронный и возвращает Promise<boolean>. Все 34 места вызова игнорируют результат (кроме analyze-logs.tsx, где уже стоит await), промис никогда не отклоняется, поэтому тосты и поведение не меняются. Запасной window.prompt() при полном отказе копирования в v4 выключен по умолчанию; опции format/message/onCopy в коде не используются. swagger-ui-react по-прежнему тянет v3 через react-copy-to-clipboard.

Проверки: bun run typecheck (все воркспейсы, 0 ошибок), bunx biome check apps/dokploy/package.json, bun audit --audit-level=moderate (уязвимостей нет). Тестов на компоненты с копированием нет. next build локально не запускался.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Что: react-markdown ^9.1.0 -> ^10.1.0 в apps/dokploy. Код не менялся: все три
места (analyze-logs.tsx, ai/step-two.tsx, ai/step-three.tsx) рендерят
<ReactMarkdown> без пропсов, классы уже висят на обёртке-div.

Зачем: волна 3 мажорных обновлений UI-библиотек. В 10.0.0 удалён только
проп className, 10.0.1 ускоряет типы components, 10.1.0 правит MarkdownHooks.
Зависимости пакета (unified 11, remark-parse/remark-rehype 11) те же, что в 9.1.0.

Риски: минимальные. className не используется; плагинов, components и
urlTransform нет. HTML для одного и того же markdown в 9.1.0 и 10.1.0
совпадает байт в байт.

Проверки: bun run typecheck - ок; bunx biome check apps/dokploy/package.json - ок;
bun audit --audit-level=moderate - уязвимостей нет; сравнение
renderToStaticMarkup v9/v10 - идентично. Тестов на эти компоненты нет,
next build локально не запускался.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@agentHits
agentHits merged commit a88270f into AgentHits-Dev Oct 27, 2026
7 checks passed
@agentHits
agentHits deleted the build/major-upgrades-wave-3 branch October 27, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant