diff --git a/TODO.md b/TODO.md index b5cda1e..9ea57c2 100644 --- a/TODO.md +++ b/TODO.md @@ -2524,6 +2524,55 @@ rota de entrada") 1503→1502), áudio bidirecional e chamada sobrevivendo bem além dos 32s que travavam toda tentativa antes do achado 3. +## PHASE 69 — Sessão web expirando cedo demais pra call center (pedido do +usuário: "no minimo 12 hs") +- [x] Access token JWT (`packages/auth/src/tokens.ts`) e o teto absoluto do + cookie de sessão (duplicado em `login`/`post-login`/`select-tenant` + route handlers + `middleware.ts`) subiram de 15min/8h pra 12h. O + refresh silencioso do middleware (decodifica o `exp` do JWT, renova + via `/auth/refresh` uns 60s antes de vencer) continua existindo e + deslizando a sessão a cada requisição — 12h passa a ser só o teto de + segurança pra quando esse refresh falhar (aba parada, logout em + outro lugar), não o intervalo real de renovação. +- [x] Verificado com login real: token decodificado mostra exp−iat = 12h + exatas. + +## PHASE 70 — Softphone WebRTC não registrava, ficava cinza pra sempre +(usuário configurou o proxy QA de verdade e testou o ramal 1501 do tenant +teste01 — "so fica cinza") +- [x] Confirmado primeiro que a config em si estava certa + (`GET /platform/webrtc-proxy` devolvia a URL nova) e que a + infraestrutura de rede/proxy funcionava — DNS resolve, TCP conecta, + certificado TLS válido, e um handshake WebSocket manual (`ws`, com + header `Origin`) completa normal. Um REGISTER SIP cru (autenticação + digest manual) através do proxy chegou até o FreeSWITCH de verdade + (`User-Agent: FreeSWITCH-mod_sofia` na resposta) e voltou 200 OK — + credenciais do ramal 1501 corretas, proxy e FreeSWITCH 100% ok. +- [x] **Achado real, bug no próprio código-fonte do widget** (não + descoberto antes porque a verificação da PHASE 66 só conferia se o + `