TimeOn para VS Code — 2.0.1
A partir da 2.0.0, a extensão usa o TimeOn na nuvem: a mesma conta por e-mail, as mesmas empresas e o mesmo chat publicados na web, com API e WebSocket na Railway. O servidor de rede local (nome e PIN) não é mais suportado. Para ele, mantenha a versão 1.11.0.
Instalar
Instale timeon-chat-2.0.1.vsix pelo comando Extensions: Install from VSIX... e recarregue a janela. Abra o ícone TimeOn na barra de atividades.
Entre com o identificador da empresa, e-mail e senha. As abas Solicitar acesso, Ativar conta e Recuperar senha funcionam como no site. Marque Manter conectado neste dispositivo para guardar a sessão no armazenamento seguro do sistema (SecretStorage do VS Code) por até 30 dias. Sem essa opção, a sessão dura enquanto a janela do VS Code estiver aberta.
O que funciona no VS Code
- Conversas, grupos e DMs, histórico, respostas, edição, reações, enquetes, encaminhamento e Markdown.
- Presença, digitação, visualizações, perfil, temas, Mesa, Board Games, quadro de tarefas e referências do GitHub.
- Anexos, figurinhas e GIFs. Baixar abre o diálogo de salvar do VS Code.
- Alertas: ative o sino no chat. As mensagens de outras conversas aparecem como notificações do VS Code, e Abrir leva à conversa. O contador de não lidas aparece no ícone e na barra de status.
- TimeOn: Enviar seleção para o chat (
Ctrl+Alt+Shift+T ou menu de contexto do editor) envia o trecho selecionado, com arquivo e linhas, para a conversa escolhida.
- Links externos e a vinculação do GitHub abrem no navegador.
Limitações: gravação de áudio depende de o VS Code liberar o microfone para webviews, o que normalmente não acontece. Notificações push com o VS Code fechado não estão disponíveis; use o app instalável (PWA) para isso.
Configuração
timeon.apiUrl define a origem HTTPS da API, sem caminho. O padrão é https://timeon-api-homologacao.up.railway.app. Use TimeOn: Configurar endereço da API para alterá-la. Durante o desenvolvimento, http://localhost:<porta> também é aceito. Cada origem tem sua própria sessão.
Como funciona
A webview carrega o cliente web empacotado (media/cloud, copiado de src/account-public, src/chat-public e dos recursos visuais). media/host-bridge.js substitui timeon-client.js e encaminha ao processo da extensão as chamadas HTTP, o WebSocket do chat, a navegação, os downloads e os alertas. A API recusa a Origin da webview, então a extensão se conecta como cliente nativo: Authorization: Bearer, sem Origin, tanto em HTTP quanto no WebSocket (pacote ws, copiado para vendor/ws).
Empacotar
Na raiz do repositório, com as dependências instaladas:
npm run sync:clients
Set-Location vscode-extension
pnpm install --frozen-lockfile
pnpm exec vsce package --no-dependencies
Set-Location ..
vscode:prepublish repete a sincronização. As pastas media/cloud e vendor são geradas e não entram no Git.