Fechamento da versão 1.0.11

This commit is contained in:
2026-09-23 15:05:02 -03:00
parent 086cad88f5
commit 343d9d7728
11 changed files with 682 additions and 68 deletions

View File

@@ -17,6 +17,7 @@ Extensao Chrome Manifest V3 que injeta o Arch Panel em paginas Oracle usadas pel
- `src/content/manage-time-controller.js`: controller da modal Manage Time, incluindo carregamento, diff, foco, validacao e gravacao.
- `src/content/export-html.js`: geracao do relatorio HTML standalone baixado pelo usuario.
- `src/repositories/workbench-repository.js`: acesso e normalizacao de dados do Workload Workbench e Worklist user API.
- `src/repositories/crm-repository.js`: busca paginada de Service Requests no CRM Fusion para cobertura por oportunidade (OptyNumber).
- `src/repositories/comcip-repository.js`: acesso e normalizacao de dados COMCIP, Manage Time e Service Requests.
- `src/repositories/cache-repository.js`: persistencia dos payloads de dashboard, task types e token Worklist no IndexedDB.
- `src/domain/ramp-forecast.js`: regras puras de calculo de ramp, delta de forecast e payload de atualizacao de forecast.
@@ -58,6 +59,7 @@ src/
repositories/
cache-repository.js
comcip-repository.js
crm-repository.js
workbench-repository.js
views/
dashboard-view.js
@@ -93,6 +95,26 @@ Requests, cache especifico da extensao e normalizadores de payload de APIs exter
## Fluxos principais
- Workload dashboard: carrega usuario, customers, workloads, actions e service requests.
- Cobertura de SRs: faz POST em
`https://eeho.fa.us2.oraclecloud.com/crmRestApi/searchResources/latest/custom-actions/queries`
com `CRMServiceRequest`, `ORA_SVC_MY_SR_TEAM_SRS` e `SVC_PENDING_DELIVERY`.
Percorre todas as paginas de 15 itens enquanto `hasMore` for true; o offset
avanca pelo numero de itens retornados. O dashboard cruza
`OpportunityName_Id_c.OptyNumber` com `workload.opportunityNumber` (sem diferenciar
maiusculas/minusculas e ignorando espacos externos). Workloads da mesma
oportunidade compartilham o indicador `hasSR`; SRs sem oportunidade nao geram
correspondencias. Nao ha consulta nem fallback para SRs por workload.
- Autenticacao CRM: a page bridge roda desde `document_start` nas telas HCM/FSCM,
captura headers de fetch/XHR de `/crmRestApi/` na origem Fusion e os reaproveita
nas paginas seguintes, junto aos cookies da sessao (`credentials: include`).
Se a chamada direta retornar 401/403, a mesma pagina e repetida pelo proxy
COMCIP ja configurado para esse endpoint `queries`, com o payload inalterado.
Todas as paginas restantes da extracao usam esse proxy. O background reutiliza
a sessao COMCIP, `authorization: Session`, `x-appbuilder-client-id` obtido pelo
probe e os cookies da origem; nao precisa capturar previamente uma chamada CRM
na tela FuseWelcome. Falhas no proxy interrompem a extracao sem salvar dados
parciais. Os headers CRM ficam separados dos tokens do provider SPA. A consulta
existente de SRs/horas no COMCIP permanece independente da cobertura por oportunidade.
- HCM tile: adiciona o tile `Arch Panel` dentro de `yourapps_groupNode_my_information` em `FuseWelcome`.
- Worklist token: captura o token do iframe Worklist SaasUI e persiste em IndexedDB para resolver o usuario atual.
- SPA Workbench iframe: cria um iframe oculto do Workload Workbench para obter contexto autenticado e executar requests da origem `spa.oracle.com`.
@@ -107,7 +129,9 @@ Store: `datasets`
Chaves conhecidas:
- `workload-dashboard`: ultimo dataset do dashboard.
- `workload-dashboard-opportunity-srs`: ultimo dataset com cobertura por oportunidade.
Snapshots antigos em `workload-dashboard` nao sao usados pela nova estrategia;
o usuario deve executar Refresh data para gerar o novo snapshot.
- `time-management-task-types`: cache de task types atualizado apenas em refresh data.
- `worklist-saasui-token`: token atual extraido do iframe Worklist.
@@ -120,6 +144,13 @@ Chaves conhecidas:
## Validacao local
Regressoes de paginacao, associacao por OptyNumber, fluxo completo do dashboard,
cache e headers/cookies da page bridge (dados simulados; sem chamadas Oracle):
```powershell
node --test tests/opportunity-service-requests.test.js
```
```powershell
node --check content-script.js
node --check background.js
@@ -133,6 +164,7 @@ node --check src/content/shell-view.js
node --check src/content/templates.js
node --check src/content/workbench-controller.js
node --check src/repositories/workbench-repository.js
node --check src/repositories/crm-repository.js
node --check src/repositories/comcip-repository.js
node --check src/repositories/cache-repository.js
node --check src/domain/ramp-forecast.js
@@ -156,14 +188,10 @@ node --check src/services/transport-service.js
A versao oficial da extensao fica em `manifest.json`.
Toda alteracao funcional, visual ou tecnica na extensao deve incrementar a terceira casa da versao antes da entrega:
```powershell
powershell -ExecutionPolicy Bypass -File tools/bump-extension-version.ps1
```
Nao incrementar a versao nem criar commits automaticamente a cada pedido de mudanca.
O fechamento de versao deve ocorrer apenas quando solicitado explicitamente pelo usuario.
Quando uma versao especifica for solicitada, informe o valor explicitamente:
```powershell
powershell -ExecutionPolicy Bypass -File tools/bump-extension-version.ps1 -Version 1.0.25
powershell -ExecutionPolicy Bypass -File tools/bump-extension-version.ps1 -Version 1.0.11
```