Skip to content

feat: migrate charmbracelet/bubbles to v2 (charm.land/bubbles/v2)#21520

Merged
pelikhan merged 3 commits intomainfrom
copilot/migrate-charmbracelet-bubbles-v2
Mar 18, 2026
Merged

feat: migrate charmbracelet/bubbles to v2 (charm.land/bubbles/v2)#21520
pelikhan merged 3 commits intomainfrom
copilot/migrate-charmbracelet-bubbles-v2

Conversation

Copy link
Contributor

Copilot AI commented Mar 18, 2026

Upgrades pkg/console/ and pkg/styles/ from charmbracelet/bubbles v1 to charm.land/bubbles/v2, including the required companion upgrades to charm.land/bubbletea/v2 and charm.land/lipgloss/v2. The v1 packages remain as // indirect (needed by huh).

Breaking changes fixed

pkg/console/progress.go

  • WithScaledGradient(a, b string)WithColors(lipgloss.Color(a), lipgloss.Color(b)) + WithScaled(true)
  • prog.EmptyColor = "#hex"prog.EmptyColor = lipgloss.Color("#hex")

pkg/console/list.go

  • tea.KeyMsgtea.KeyPressMsg
  • Styles.FilterPrompt / Styles.FilterCursor consolidated into Styles.Filter (textinput.Styles):
    l.Styles.Filter.Focused.Prompt = lipgloss.NewStyle().Foreground(styles.ColorInfo)
    l.Styles.Filter.Blurred.Prompt = lipgloss.NewStyle().Foreground(styles.ColorComment)
    l.Styles.Filter.Cursor.Color   = styles.ColorSuccess
  • View() stringView() tea.View; alt-screen moved from tea.WithAltScreen() option to view.AltScreen = true on the returned tea.View

pkg/console/spinner.go

  • tea.KeyMsgtea.KeyPressMsg
  • View() stringView() tea.View

Lipgloss v2 migration (pkg/styles/theme.go)

lipgloss.AdaptiveColor{Light: "#hex", Dark: "#hex"} (string fields, removed in v2) → compat.AdaptiveColor{Light: lipgloss.Color("#hex"), Dark: lipgloss.Color("#hex")}. Unexported hex constants added so tests can compare against hardcoded Dracula palette values without self-referential comparisons.

pkg/console/console.go: BorderStyle(styles.TableBorder) is now gated on isTTY() — lipgloss v2 no longer suppresses ANSI codes automatically in non-TTY environments, which was breaking golden file tests.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw git /usr/bin/git /usr/bin/git conf�� --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/git --show-toplevel git 0/x64/bin/bash git (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name tags/v6 ache/go/1.25.0/x64/pkg/tool/linu12345 /usr/bin/git -json GO111MODULE /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 9442238/b267/vet--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name --show-toplevel a2465ffd..HEAD /usr/bin/git runs/20260318-03node git 0/x64/bin/node git rev-�� --show-toplevel 0/x64/bin/node /usr/bin/git k/gh-aw/gh-aw/.gnode git ache/node/24.14.0/x64/bin/node git (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha -m Test commit /usr/bin/git "prettier" --chegit sh 64/bin/go git rev-�� --show-toplevel go /usr/bin/git ub/workflows GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha /opt/hostedtoolcxterm-color git /usr/bin/git --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git i-inference/git/git infocmp /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha t0 GO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile --show-toplevel go /usr/bin/git /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile -V=f�� 64/pkg/tool/linu--show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -json GO111MODULE ache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha GOMODCACHE go /usr/bin/gh -json GO111MODULE x_amd64/vet gh run view 12345 /usr/bin/git nonexistent/repogit --json status,conclusio--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 0/x64/bin/node git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha /tmp/TestHashConsistency_GoAndJavaScript2492728481/001/test-frontmatter-with-env-template-expresgit /bin/sh /usr/bin/git cd actions/setupgit GOPROXY 64/bin/go git conf�� user.email test@example.com /usr/bin/git -t security 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha user.email test@example.com e/git npx prettier --cgit GOPROXY At,event,headBra--show-toplevel e/git add test.txt om/owner/repo.git /usr/bin/git prettier --check 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git 9569/001/stabiligit GO111MODULE 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/link /usr/bin/git 597643177 GO111MODULE ortcfg.link git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha go1.25.0 -c=4 -nolocalimports -importcfg /tmp/go-build4119442238/b408/importcfg -pack /tmp/go-build4119442238/b408/_testmain.go env JSyK/YPdsp9N7gdfGOSUMDB GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 8908536/b418/imp-importcfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha go1.25.0 -c=4 -nolocalimports -importcfg /tmp/go-build4119442238/b411/importcfg -pack /tmp/go-build4119442238/b411/_testmain.go env qBn1/q-Elj4DycLQGOSUMDB GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 8908536/b400/imp-importcfg (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --get remote.origin.url /usr/bin/git run lint:cjs 64/bin/go git bran�� /github.com/owner/repo.git npx /opt/hostedtoolcache/node/24.14.0/x64/bin/node --check scripts/**/*.js 64/bin/go node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha 9442238/b191/vet--show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git ache/node/24.14.0/x64/bin/node etup-go/git/ref/git /opt/hostedtoolcrev-parse /usr/bin/git ache/node/24.14.0/x64/bin/node (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha user.name Test User /usr/bin/git run lint:cjs 64/bin/go git comm�� -m Initial commit /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel go /usr/bin/git ache/node/24.14.0/x64/bin/node s-13�� .actor }}, Unsafe: ${{ secrets.TOKEN }} git /usr/bin/git tags/v5 9442238/b413/imprev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha -json GO111MODULE 9442238/b299/vet.cfg GOINSECURE GOMOD GOMODCACHE go env ithub-script/git/ref/tags/v8 GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linu^remote\..*\.gh-resolved$ (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha 0169518/b413/mathutil.test stmain.go ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet rev-�� ry=1 git 0169518/b413/_pkg_.a --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha t0 GO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git gh t-17�� bility_SameInputSameOutput2731482318/001/stability-test.md --jq /usr/bin/git --show-toplevel go /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha r/test-repo/actions/secrets GO111MODULE 0/x64/bin/node GOINSECURE GOMOD GOMODCACHE go -has�� ithub/workflows/artifacts-summary.md GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� runs/20260318-031808-34285/test-4114046032/.github/workflows git /usr/bin/git l go /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 git /usr/bin/gh --git-dir go /opt/hostedtoolc--show-toplevel gh auth�� status node /usr/bin/git /home/REDACTED/worgit go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/gh --show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git /usr/bin/cut --git-dir /opt/hostedtoolcrev-parse /usr/bin/git cut -f1 64/bin/go git ger.test --show-toplevel go /usr/bin/gh ger.test (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 node /usr/bin/git /home/REDACTED/worgit git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --get remote.origin.urrev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 node /usr/bin/wc /home/REDACTED/worgit /opt/hostedtoolcconfig /usr/bin/git wc -l 64/bin/go git /usr/bin/git --show-toplevel go /usr/bin/gh git (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/gh --show-toplevel git /usr/bin/git gh (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 git /usr/bin/git user.name Test User /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --git-dir go /usr/bin/gh git (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 ache/node/24.14.0/x64/bin/node /usr/bin/git .actor }}, Unsafgit git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/infocmp --show-toplevel git /usr/bin/git infocmp (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env hub/workflows GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 git /usr/bin/gh user.email test@example.comrev-parse /usr/bin/git gh auth�� status git /usr/bin/git --show-toplevel go /usr/bin/infocmp--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env hub/workflows GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 node /usr/bin/infocmp /home/REDACTED/worgit go /usr/bin/git infocmp -1 xterm-color git /usr/bin/git --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 git /usr/bin/git --show-toplevel git ache/node/24.14..github/workflows/test.md git rev-�� --show-toplevel ache/node/24.14.0/x64/bin/node /usr/bin/git --show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 git /usr/bin/infocmp --show-toplevel go /usr/bin/git infocmp -1 xterm-color git /usr/bin/git --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 0/x64/bin/node /usr/bin/git {{ secrets.TOKENgit remote.origin.urrev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path /bin/sh (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel bash /usr/bin/git --noprofile GOPROXY ache/node/24.14.--get git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link /usr/bin/git sistency_WithImpgit -importcfg /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha 9HDG/xmnq1EkUILvGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 8908536/b287/imp-buildtags -c 8908536/b287/emb-errorsas GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcconfig (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel go /usr/bin/git runs/20260318-03/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link GO111MODULE ache/go/1.25.0/x/tmp/go-build2090169518/b001/cli.test git rev-�� --show-toplevel ache/go/1.25.0/x-w /usr/bin/git 9442238/b435/strnode GOPROXY 9442238/b435/imp/tmp/TestHashConsistency_GoAndJavaScript850229176/001/test-complex-frontmatter-with-tools.md git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel nly /usr/bin/git ons-test36970541node git /opt/hostedtoolcache/node/24.14.--show-toplevel git rev-�� --show-toplevel node /usr/bin/git runs/20260318-03git git /usr/bin/infocmp/tmp/gh-aw-test-runs/20260318-032123-41242/test-2930130023/.github/workflows git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha 5-uu/Ev5ELQntdjsGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 8908536/b404/imp-buildtags -c 8908536/b404/emb-errorsas GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcrev-parse (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha 4wXJ/4MWVMo_oiDJGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 8908536/b415/imp-buildtags -c k/gh-aw/gh-aw/pk-errorsas k/gh-aw/gh-aw/pk-ifaceassert 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcconfig (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha qkIi/XUyOQNvR6TsGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 8908536/b417/imp-buildtags --ch�� 8908536/b417/emb-errorsas **/*.ts 64/bin/go --ignore-path ../../../.pretti-C 64/bin/go Xi2_CGo/6frMmKtPconfig (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha bsJm/NWAWYodihSsGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 8908536/b411/imp-buildtags -c che/go-build/ec/-errorsas GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolc-tests (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha --show-toplevel go /usr/bin/git Lypu/w2e9HiXqN3v/tmp/go-build2090169518/b397/console.test (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha --show-toplevel nly /usr/bin/git t0 m0s ache/node/24.14.0/x64/bin/node git rev-�� --show-toplevel ache/node/24.14.0/x64/bin/node /usr/bin/git y git 0/x64/bin/node git (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 282733557/.github/workflows GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel bash /usr/bin/git --noprofile GOPROXY ache/node/24.14.-bool git rev-�� --show-toplevel /tmp/go-build411-ifaceassert /usr/bin/git sistency_KeyOrdegit -test.v=true /usr/bin/git git (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE go estl�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion user.name Test User /usr/bin/git 64/pkg/tool/linux_amd64/link rev-�� stants.test git ortcfg.link --show-toplevel go /usr/bin/git 9086z3M_iOm2eWoMNz/tLoCycCqqqQ9mPsn_uZp/k3Jrio0QkNuZgyWPaJh1 (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion -b test-branch /usr/bin/git git conf�� user.email test@example.com 0/x64/bin/node --show-toplevel git ache/node/24.14.--show-toplevel git (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo /usr/bin/git -json GO111MODULE 0/x64/bin/node git rev-�� --show-toplevel go /usr/bin/git ithub/workflows/git GO111MODULE 9442238/b313/vet--show-toplevel git (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build4119442238/b399/cli.test /tmp/go-build4119442238/b399/cli.test -test.testlogfile=/tmp/go-build4119442238/b399/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /tmp/go-build2090169518/b001/cli.test /tmp/go-build2090169518/b001/cli.test -test.testlogfile=/tmp/go-build2090169518/b001/testlog.txt -test.paniconexit0 -test.timeout=10m0s rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git 9442238/b401/_pkgit .cfg 9442238/b401=> git (http block)
    • Triggering command: /tmp/go-build3576498324/b001/cli.test /tmp/go-build3576498324/b001/cli.test -test.testlogfile=/tmp/go-build3576498324/b001/testlog.txt -test.paniconexit0 -test.timeout=10m0s rev-�� --show-toplevel git /usr/bin/git runs/20260318-03node git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git -json GO111MODULE /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 9442238/b191/vet--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --show-toplevel a2465ffd..HEAD /usr/bin/git bility_SameInputnode git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git v1.0.0 git /tmp/go-build2090169518/b417/par--show-toplevel git (http block)

If you need me to access, download, or install something from one of these locations, you can either:


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI linked an issue Mar 18, 2026 that may be closed by this pull request
5 tasks
Copilot AI and others added 2 commits March 18, 2026 03:06
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] [plan] Migrate charmbracelet/bubbles to v2 in pkg/console feat: migrate charmbracelet/bubbles to v2 (charm.land/bubbles/v2) Mar 18, 2026
Copilot AI requested a review from pelikhan March 18, 2026 03:26
@pelikhan pelikhan marked this pull request as ready for review March 18, 2026 03:36
Copilot AI review requested due to automatic review settings March 18, 2026 03:36
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates the project’s terminal UI dependencies from Charmbracelet v1 module paths to the new charm.land/*/v2 packages, updating console components and styles to match Bubble Tea/Lipgloss/Bubbles v2 APIs.

Changes:

  • Update console components (list/spinner/progress/table/banner) to Bubble Tea v2 (tea.View, tea.KeyPressMsg, view-driven alt-screen).
  • Migrate styles to Lipgloss v2 using compat.AdaptiveColor and introduce hex constants to support stable assertions.
  • Update Go module dependencies (go.mod, go.sum) to include the new v2 module paths while retaining v1 libs as indirect deps.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pkg/styles/theme.go Switch adaptive colors to compat.AdaptiveColor and define hex constants used by runtime + tests.
pkg/styles/theme_test.go Adjust tests to validate hex constants and add a new adaptive-color backing test.
pkg/console/spinner.go Migrate spinner to Bubble Tea v2 model interface (tea.View, tea.KeyPressMsg).
pkg/console/spinner_test.go Update assertions for Bubble Tea v2 tea.View return type.
pkg/console/progress.go Update progress bar gradient API to v2 (WithColors + WithScaled(true)) and use lipgloss.Color.
pkg/console/list.go Migrate list to Bubble Tea v2 key message + view-based alt-screen; update filter style wiring.
pkg/console/console.go Use Lipgloss v2 table and gate border styling on isTTY() to avoid ANSI in non-TTY outputs.
pkg/console/banner.go Update Lipgloss import to v2 path.
go.mod Require charm.land/*/v2 modules; keep v1 packages as indirect deps.
go.sum Add/update checksums for new v2 dependencies and transitive updates.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +230 to +236
// TestAdaptiveColorVarsUseHexConstants verifies that the exported AdaptiveColor vars
// are backed by the expected hex constants (spot-check a few key colors).
func TestAdaptiveColorVarsUseHexConstants(t *testing.T) {
// Verify that the compat.AdaptiveColor vars hold non-nil color values.
colors := map[string]compat.AdaptiveColor{
"ColorError": ColorError,
"ColorWarning": ColorWarning,
@pelikhan pelikhan merged commit 40091c1 into main Mar 18, 2026
116 checks passed
@pelikhan pelikhan deleted the copilot/migrate-charmbracelet-bubbles-v2 branch March 18, 2026 04:23
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.

[plan] Migrate charmbracelet/bubbles to v2 in pkg/console

3 participants