Skip to content

build: upgrade copy-to-clipboard to v4 - #110

Closed
agentHits wants to merge 1 commit into
AgentHits-Devfrom
build/copy-to-clipboard-v4
Closed

agentHits wants to merge 1 commit into
AgentHits-Devfrom
build/copy-to-clipboard-v4

Conversation

@agentHits

Copy link
Copy Markdown
Collaborator

Зачем

Часть волны мажорных обновлений UI-библиотек: copy-to-clipboard 3.3.3 вышел в 2022 году, v4 (апрель 2026) переходит на Async Clipboard API с откатом на execCommand.

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

  • copy-to-clipboard: ^3.3.3 → ^4.0.2 (4.0.2 опубликован 2026-04-24) в apps/dokploy/package.json, bun.lock.
  • Код не менялся: все 34 импорта — import copy from "copy-to-clipboard", default export в v4 сохранён (CJS и ESM через exports), типы идут в пакете, отдельного @types/copy-to-clipboard в дереве нет.
  • По release notes v4:
    • copy() теперь асинхронный, возвращает Promise<boolean>. Результат использует только components/dashboard/docker/logs/analyze-logs.tsx, и там уже стоит await. В остальных местах вызов «выстрелил и забыл»; промис внутри библиотеки не отклоняется, тосты показываются как раньше.
    • В защищённом контексте (HTTPS/localhost) используется navigator.clipboard.writeText, на HTTP — execCommand('copy'), как и в v3.
    • Запасной window.prompt() при полном отказе копирования теперь выключен по умолчанию (fallbackToPrompt). Опции format/message/onCopy/debug в коде не используются.
    • Убрана поддержка IE11, сборка переехала в dist/ (глубоких импортов в коде нет).
    • toggle-selection встроен в пакет. swagger-ui-react → react-copy-to-clipboard продолжает использовать свою копию v3.

Проверки

  • bun run typecheck — все воркспейсы без ошибок.
  • bunx biome check apps/dokploy/package.json — чисто.
  • bun audit --audit-level=moderate — уязвимостей нет.
  • Тестов на компоненты с копированием нет (rg -l copy-to-clipboard apps/dokploy/__test__ пусто).
  • next build локально не запускался, его проверяет CI.

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

  • Скопировать значение переменной окружения (поле с кнопкой копирования) и вставить — значение полное, тост показан.
  • Скопировать URL deploy-вебхука приложения.
  • Скопировать публичный SSH-ключ в настройках SSH-ключей.
  • Скопировать строку подключения к базе данных (внутреннюю/внешнюю).
  • По возможности повторить одну проверку при открытии панели по HTTP (откат на execCommand).

🤖 Generated with Claude Code

Что: 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>
@agentHits

Copy link
Copy Markdown
Collaborator Author

Влито в составе #112 одним PR, чтобы вся третья волна вышла одной версией. Этот PR закрываю без слияния, его коммит есть в #112.

@agentHits agentHits closed this Oct 27, 2026
@agentHits
agentHits deleted the build/copy-to-clipboard-v4 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