Docs: document machine-session fixes, desktop handshake, portal UX changes, and Windows osInfo fallback
This commit is contained in:
parent
328415d9e9
commit
0fb9bf59b2
5 changed files with 53 additions and 4 deletions
|
|
@ -17,6 +17,21 @@
|
|||
- Com esse contexto, o Portal exibe corretamente o nome/e‑mail do colaborador/gestor no cabeçalho e permite abrir chamados em nome do usuário vinculado.
|
||||
- Em sessões de máquina, o botão "Encerrar sessão" no menu do usuário é ocultado por padrão na UI interna.
|
||||
|
||||
#### Detalhes importantes (aprendidos em produção)
|
||||
- CORS com credenciais: as rotas `POST /api/machines/sessions` e `GET /machines/handshake` precisam enviar `Access-Control-Allow-Credentials: true` para que os cookies do Better Auth sejam aceitos na WebView.
|
||||
- Vários `Set-Cookie`: alguns navegadores/ambientes colapsam cabeçalhos. Para confiabilidade, usamos `NextResponse.cookies.set(...)` para cada cookie, em vez de repassar o cabeçalho bruto.
|
||||
- Top-level navigation: mesmo tentando criar a sessão via `POST /api/machines/sessions`, mantemos a navegação final pelo `GET /machines/handshake` (primeira parte) para maximizar a aceitação de cookies no WebView.
|
||||
- Front tolerante: o portal preenche `machineContext` mesmo quando `/api/auth/get-session` retorna `null` na WebView e deriva a role "machine" do contexto — assim o colaborador consegue abrir tickets normalmente.
|
||||
- Página de diagnóstico: `GET /portal/debug` exibe o status/JSON de `/api/auth/get-session` e `/api/machines/session` com os mesmos cookies da aba.
|
||||
|
||||
#### Troubleshooting rápido
|
||||
1. Abra o app desktop e deixe ele redirecionar para `/portal/debug`.
|
||||
2. Se `machines/session` for 200 e `get-session` for `null`, está OK — o portal usa `machineContext` assim mesmo.
|
||||
3. Se `machines/session` for 401/403:
|
||||
- Verifique CORS/credenciais (`Access-Control-Allow-Credentials: true`).
|
||||
- Garante que estamos usando `cookies.set` para aplicar todos os cookies da Better Auth.
|
||||
- Refaça o handshake (feche reabra o desktop). Opcional: renomeie `EBWebView` para limpar cookies no Windows.
|
||||
|
||||
## Requisitos
|
||||
- VPS com Docker/Swarm e Traefik já em execução na rede externa `traefik_public`.
|
||||
- Portainer opcional (para gerenciar a stack “sistema”).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue