PATCH DE COMPATIBILIDADE E FAILOVER - MEDIABOX LAUNCHER
Data: 20/08/2026

DESTINO
=======
Este ZIP deve ser extraído DIRETAMENTE dentro da pasta "launcher" existente.
A raiz do ZIP contém a pasta api/ e o arquivo salvar_mensagem.php.
Não crie uma segunda pasta launcher dentro da primeira.

O QUE ESTE PATCH CORRIGE
========================
1. Restaura a URL /launcher/api/connection_log.json usada pelos APKs antigos.
   A URL é encaminhada para connection_notice.php, que devolve somente os
   campos públicos message, new_message e timestamp.

2. Faz estas três rotas aceitarem um teste seguro por GET/HEAD com HTTP 200:
   - /launcher/api/log_connection.php
   - /launcher/api/update_status.php
   - /launcher/salvar_mensagem.php

   O APK novo testa a rota com GET antes de enviar o POST. Antes do patch, o
   servidor devolvia HTTP 405 e o APK acabava usando o domínio principal.
   O POST original continua funcionando e não foi transformado em GET.

3. Acrescenta marcadores estáveis ao health.php e às respostas de teste. Isso
   prepara o servidor para uma validação de conteúdo no próximo APK, evitando
   aceitar como servidor válido uma página de bloqueio que responda HTTP 200.

4. Mantém bancos, configurações, domínios, imagens, APKs, logs, tokens e chaves
   exatamente como estão. Nenhum desses itens está dentro deste ZIP.

ANTES DE EXTRAIR
================
Faça backup destes arquivos da instalação atual:
  api/.htaccess
  api/connection_notice.php
  api/health.php
  api/log_connection.php
  api/update_status.php
  salvar_mensagem.php

INSTALAÇÃO
==========
1. Abra a pasta launcher no gerenciador de arquivos do servidor.
2. Envie este ZIP para dentro dela.
3. Extraia o ZIP ali e autorize a substituição dos seis arquivos acima.
4. Apague somente o ZIP enviado depois que os testes terminarem.

Se os quatro domínios forem aliases do mesmo DocumentRoot, basta instalar uma
vez. Se cada domínio tiver uma cópia independente da pasta launcher, instale o
mesmo patch nas quatro cópias. Não copie bancos entre servidores sem um plano
de sincronização.

TESTES APÓS A INSTALAÇÃO
========================
Troque SEU-DOMINIO por cada domínio configurado e abra:

  https://SEU-DOMINIO/launcher/api/health.php
  Esperado: HTTP 200, "ok":true e "marker":"MEDIABOX_LAUNCHER_OK_V1".

  https://SEU-DOMINIO/launcher/api/connection_log.json
  Esperado: HTTP 200 e um JSON com message, new_message e timestamp.

  https://SEU-DOMINIO/launcher/api/log_connection.php
  https://SEU-DOMINIO/launcher/api/update_status.php
  https://SEU-DOMINIO/launcher/salvar_mensagem.php
  Esperado: HTTP 200 e "marker":"MEDIABOX_ENDPOINT_OK_V1".

Se health.php retornar HTTP 503, veja no campo "checks" qual verificação está
false. Não force HTTP 200 sem resolver a causa mostrada.

COMPATIBILIDADE
===============
- APKs antigos com apenas o domínio principal continuam usando o mesmo domínio
  e as mesmas URLs. O patch não altera ativação, lista de apps ou atualizações.
- O APK novo passa a conseguir selecionar outro domínio para as três rotas que
  antes respondiam 405 durante o teste.
- Se um provedor interceptar um domínio e devolver uma página de bloqueio com
  HTTP 200, o APK atual ainda pode confundir essa página com o servidor. A
  correção completa desse caso precisa validar os marcadores no APK. Este patch
  já deixa o servidor pronto para essa validação.

ROLLBACK
========
Restaure os seis arquivos do backup. Bancos e configurações não precisam ser
restaurados porque o patch não os modifica.
