Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

cli: pair QR encodes custom JSON payload instead of plain connect URL

Aberta Para iniciantes
#54,871 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
72/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
typescript
Domínio
cli, networking

Direção de pesquisa

Comece pelo comando opencode pair e acompanhe como ele seleciona a URL para o código QR quando imprime links de loopback e da LAN. A issue apresenta uma configuração reproduzível e uma solução alternativa usando --url; compare essas saídas para encontrar o ponto de seleção. O trabalho estará concluído quando o QR padrão codificar um link acessível por outro dispositivo na LAN.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

reproduced

Summary

When the background service listens on all interfaces (hostname 0.0.0.0), opencode pair prints two one-time links (loopback and LAN IP) but the QR code encodes the 127.0.0.1 link, which can never be reached from another device — so scanning it with a phone on the same network always fails.

Environment

  • opencode version: v2.0.27 (latest channel)
  • OS: Darwin 25.6.0 (darwin arm64), macOS MacBook Pro
  • Terminal: Ghostty (TERM_PROGRAM=ghostty, TERM=xterm-ghostty, COLORTERM=truecolor)
  • Shell: /bin/zsh
  • Install/channel: latest release
  • Active plugins: none found in config

Reproduction

  1. opencode service set hostname 0.0.0.0 then opencode service start.
  2. Run opencode pair.
  3. Observe the output: two links are printed — one to http://127.0.0.1:<port>/auth/connect/... and one to http://<lan-ip>:<port>/auth/connect/....
  4. Scan the QR code with a phone on the same LAN (or decode it).

Expected Behavior

The QR code should encode the link reachable from other devices — i.e., the LAN IP link when bound to 0.0.0.0. At minimum, it should not encode the loopback address, which is unreachable by definition from any remote device.

Actual Behavior

The QR encodes http://127.0.0.1:<port>/auth/connect/.... Scanning it with a phone opens a page on the phone itself and fails; the user must manually retype the second printed URL to pair.

Sample output (token redacted):

Open a link to connect. Links work once and expire in 5 minutes.

  http://127.0.0.1:49374/auth/connect/MG_...
  http://192.168.x.x:49374/auth/connect/MG_...

Additional Context

  • Consistently reproducible whenever the service is bound to a non-loopback hostname.
  • Workaround that confirms intent: opencode pair --url http://<lan-ip>:<port> prints only the LAN link, and the QR then encodes it correctly — so the fix likely just needs the default QR payload to prefer the non-loopback link when multiple are printed.
Linguagem predominante
TypeScript
Estrelas
213k
Forks
28.4k
Merge médio
8h 29min
PRs com merge (30d)
252

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de anomalyco/opencode

Todas as issues de anomalyco/opencode

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.