Skip to content

fix(panel): horas, fotos, marca Forja y tarjeta de costo (ticket #2E75F2) - #80

Draft
santmun wants to merge 2 commits into
mainfrom
cursor/panel-whitelabel-fixes-8c16
Draft

santmun wants to merge 2 commits into
mainfrom
cursor/panel-whitelabel-fixes-8c16

Conversation

@santmun

@santmun santmun commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Qué cambia

El panel deja de mostrar horas en UTC, el código de una foto como texto, la marca Forja cuando el bot es white-label, y la tarjeta "Costo del mes" cuando Costos está oculto.

Por qué

Ticket de soporte #2E75F2 (German Estratega Digital). En el panel del cliente se veían horas adelantadas, el marcador de la galería como texto, la marca Forja y el costo del mes aunque la reventa white-label los quisiera fuera de vista.

Causa y cambio

  1. Horas. Conversaciones, Leads y Tickets ya pasaban por fmtDateTime, pero la zona era solo la compilada en member/config.local.ts. El Worker sigue en UTC. Ahora BOT_TIMEZONE (IANA) gana; si falta o es inválida, se usa la zona del member y, en último caso, America/Mexico_City.
  2. Foto como texto. El hilo hacía escapeHtml de todo el mensaje. Un [[media: img_xxx]] o un [IMAGE_URL: https://…] (así guarda este repo la foto entrante) salía literal. Ahora se pinta como <img> (/media/id o la URL https). El HTML del resto del mensaje sigue escapado.
  3. Marca. Este repo no tiene i18n.ts. La pestaña Conocimiento no dice "mi bot de Forja" ni "Claude Code". Lo que sí se veía: la palabra Forja en el sidebar, "Claude Code" en Conexiones y el enlace a la comunidad en la página de upgrade. Con BRAND_HIDE_FORJA=on eso se reemplaza por el nombre del negocio (o "Panel") y copy neutro. El pie de la tarjeta de costo dice "IA" en vez de "Claude".
  4. Costo del mes. Resumen siempre armaba la tarjeta, sin mirar pestañas ocultas. HIDDEN_TABS (ids separados por coma; válidos: insights, stats, costs, mejoras, campanas) quita la pestaña del menú, redirige su URL a Resumen y, si incluye costs, no pinta "Costo del mes".

Fuera de alcance

Renombrar "Leads" a "Citas" por negocio. El nav ya cambia la etiqueta cuando hay un niche pack (navLabel), pero este starter solo trae el pack genérico. Un nombre libre por negocio sería un ajuste nuevo; no bloquea este PR.

Cómo lo probaste

  • pnpm test pasa (572 tests)
  • pnpm typecheck limpio
  • (si aplica) probado contra un bot real

Para verlo en un bot: BOT_TIMEZONE = "America/Mexico_City", BRAND_HIDE_FORJA = "on", HIDDEN_TABS = "costs". En una conversación con [[media: img_xxx]] o [IMAGE_URL: https://…] el hilo debe mostrar la imagen, las horas en hora de México, el sidebar sin la palabra Forja y el Resumen sin "Costo del mes".

Checklist

  • No toqué la carpeta member/ (config de cada quien)
  • El PR es de un solo tema (enfocado y chico)
  • Si tu agente (Claude) hizo el PR, revisaste el diff tú mismo antes de abrirlo
  • No hay secrets ni API keys en el código
Open in Web Open in Cursor 

cursoragent and others added 2 commits October 8, 2026 18:39
El panel formateaba con la zona compilada del member y el hilo
escapaba el marcador de la foto como texto. BOT_TIMEZONE manda en
las fechas, y [[media: id]] / [IMAGE_URL:] se pintan como imagen.

Co-authored-by: santmun <santmun@users.noreply.github.com>
Con BRAND_HIDE_FORJA el sidebar y Conexiones dejan de nombrar Forja
y Claude Code. Si Costos está en HIDDEN_TABS, desaparece del menú,
de su ruta y de la tarjeta "Costo del mes" del Resumen.

Co-authored-by: santmun <santmun@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 8, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants