O que você pode fazer pelo celular
O que um celular pareado mostra, e as respostas que ele pode enviar. A página, as mensagens e fotos, e o que cada nível de telemetria deixa passar.
O que a página mostra #
Um celular pareado abre uma página. A faixa de cima tem o nome AutoDev, um menu e uma palavra para o estado da execução: working, starting, waiting, your turn, stopped ou completed.
Embaixo fica o feed. É o feed do próprio painel, montado a partir dos mesmos dados, então o celular e o painel não têm como divergir sobre o que aconteceu. O que espera por você fica no topo: um gate mostra a ação que nomeia, com Approve e Deny. As outras coisas que Needs you lista, como um aviso que um participante deixou ou uma tarefa bloqueada, e a sua última mensagem ficam recolhidas numa linha no topo, que abre com um toque, para o feed ficar com a tela. Um bloco recolhido guarda os números da execução. A página recarrega sozinha a cada 10 segundos, mantém o seu lugar no feed e pula o recarregamento enquanto você tem um rascunho ou uma foto escolhida, um controle em foco ou a aba oculta.
Para saber de uma execução sem abrir a página, defina notify.url: o AutoDev então envia uma mensagem ao seu celular quando uma execução termina, para sozinha ou precisa de você. Todas as chaves de configuração trata disso.
O que você pode enviar #
A página tem estes jeitos de responder:
- Uma mensagem. O compositor diz
Message the thread…, e Send a posta como uma mensagem sua. Ela entra na fila e é lida na próxima fronteira de turno, como uma mensagem digitada no painel. - Uma decisão sobre um gate. Quando um participante declarou uma ação irreversível, a página mostra a ação com Approve e Deny.
- Uma foto. O
+ao lado do compositor abre a câmera ou o álbum, e dá para colar uma foto. Uma mensagem leva até 6 imagens. Cada uma precisa ser uma imagem, e ter no máximo 8 MB. Uma mensagem com foto e sem palavras é uma mensagem normal. - Pausar ou parar. Toque no estado da execução na faixa do topo para Pause after turn, que deixa o turno em andamento terminar, e Stop now, que o encerra. Eles aparecem e ficam cinza exatamente como no painel, e uma pausa esperando o seu turno aparece como
Pausing after this turn…. Uma mensagem retoma uma execução pausada. - Nova execução. Depois que a execução parou, o mesmo menu tem New run…. Ele abre uma página que diz o que é arquivado e quais arquivos são esvaziados, e Archive and start over faz isso. Enquanto a execução está andando ele fica cinza, com o motivo.
- Configurações. O menu de projetos tem Settings, com os limites que uma execução respeita e os gates em que ela para:
maxIterations,maxSpendUsd,maxRuntimeMin,perCallBudgetUsd,maxWaitMin,waitRecheckMaxMin,maxAcceptChecks,maxTalkTurns,sessionCapPct,suspendOnCompletion,gateMode,gateAutoApproveegateAutoDeny. Cada um tem Save, e Reset to default quando um arquivo de configuração o define. Uma caixa vazia volta a configuração ao padrão. Uma configuração que uma variável de ambiente sobrepõe diz isso, porque a mudança só vale quando essa variável sair.
A página não pode mudar a equipe, os argumentos de CLI dos participantes, os checkpoints, o uso do computador nem nenhum segredo. Isso fica no painel, e o servidor os recusa seja o que for que um formulário envie.
Para apontar um arquivo, digite @ na mensagem. A página sugere caminhos da lista de arquivos do projeto enquanto você digita, e uma menção é só texto: @ também é apenas um caractere. Um caminho que falta na lista ainda pode ser digitado por inteiro.
O menu lista os projetos que o índice de workspaces conhece, marca o que o servidor está mostrando e o troca. Ele também tem Disconnect this device.
O que cada nível deixa passar #
O painel inicia o servidor no nível full. autodev serve --tier pode iniciá-lo em outro. Um nível decide o que sai da máquina, e não muda quais respostas são aceitas.
| Nível | O que a página e as rotas de leitura levam |
|---|---|
status | Só estrutura. O feed e a lista de Needs you viram cada um uma única linha que diz quanto foi retido, então não há gate para responder, e a lista de arquivos e o menu de projetos ficam vazios. As mensagens dos eventos ficam em branco, e alguns eventos são deixados de fora. |
events | A conversa, a lista de arquivos e o menu de projetos, e a mensagem de cada evento que o servidor lista. |
full | Tudo o que o events leva, e os eventos que o servidor não lista. |
O que as credenciais podem fazer #
A página oferece as respostas acima e nada mais. Um navegador pareado, porém, também pode postar um comando direto ao servidor, com o cabeçalho X-AutoDev-Device: 1. Os comandos que um cliente web pode enviar são pause, resume, stop, approve_gate, deny_gate, ask e answer_notice. Matar uma execução e restaurar um checkpoint não estão entre eles. Settings e New run são formulários próprios, e o servidor os confere de novo: uma configuração fora dos limites e dos gates é recusada, e uma nova execução é recusada enquanto uma execução está andando.
Pareando um celular trata de como o celular recebe o cookie. Os limites do túnel trata do que protege essas rotas, e do que não protege.