Commit Graph

107 Commits

Author SHA1 Message Date
e00faf1ace feat: Add Evolution API webhook and utilities 2026-06-21 11:54:55 -05:00
1ede00aea8 chore: add outputFileTracingRoot to next.config.ts for Hostinger deployment 2026-06-21 09:54:51 -05:00
1179f0ed54 feat: include pagination in news feed and clean up report scripts 2026-06-21 09:36:39 -05:00
81ccb397f5 Fix PostCard image rendering and ID display, plus image backfill automation 2026-06-21 08:32:13 -05:00
946eae2a25 fix(types): agregar campo 'tipo' a interfaz Post y PostSchema Zod
- Añade PostTipo como union type: 'noticia'|'evento'|'aviso'|'comunicado'|'galeria'
- Incluye 'tipo' como campo requerido en la interfaz Post (types/publications.ts)
- Agrega validación z.enum para 'tipo' en PostSchema (validators/publications.ts)
- Elimina test_action.ts y scripts de diagnóstico que bloqueaban el build
2026-06-20 22:24:48 -05:00
b02eb75c6a chore: ignorar scripts de diagnóstico y zips de build 2026-06-20 22:18:48 -05:00
699cfa232d feat: Live Chat en TV + página overlay transparente para streaming
- Añade componente LiveChatBox con Realtime de Appwrite (subscribe)
- Integra chat en vivo junto al player en /tv con layout 2/3 + 1/3
- Nueva ruta /tv/overlay: página transparente para browser source en OBS
  con renderizadores de LOWER_THIRD, TICKER y COMMENT reactivos en Realtime
- Exporta 'account' desde appwrite.ts para autenticación cliente
- Incluye scripts setup_live_chat.js y setup_stream_state.js para provisionar
  colecciones live_chat y stream_state en Appwrite
- Ajusta versiones SDK: appwrite@22.4.1 y node-appwrite@22.0.0 (compatibles con servidor 1.8.1)
2026-06-20 22:18:29 -05:00
155546f90e fix: agregar atributo requerido 'tipo' en posts
- Añade campo 'tipo' al SCHEMA_MAP de posts (whitelist de extractCleanData)
- Agrega selector 'Tipo de Contenido' en PublicationLayout (Noticia/Evento/Aviso/Clasificado/Blog)
- Agrega fallback server-side en entities.ts: si 'tipo' no llega, se asigna 'noticia' por defecto
- Soluciona AppwriteException: Missing required attribute 'tipo' al crear publicaciones
2026-06-20 22:04:46 -05:00
7e41c48dc1 feat(streaming): Native Restreamer Dashboard integration 2026-06-20 09:24:33 -05:00
9680d8788f fix: safe content rendering, media library server-side fetch, robots & sitemap 2026-06-18 14:05:57 -05:00
45da8c1d46 Fix user admin update, logo persistence, and improve error handling 2026-06-11 22:52:58 -05:00
d61729b92e fix(ui): properly parse boolean setting and enforce dynamic server rendering for NewsCard feed 2026-04-22 16:01:16 -05:00
926c704fdd fix(ui): hide NewsCard footer separator when date and footer text are empty 2026-04-22 15:46:14 -05:00
699631c763 fix(build): resolve settings scope error in NewsTicker 2026-04-22 15:32:34 -05:00
32e5450ab1 feat: redesign NewsTicker, remove redundant dashboard search, and integrate Live TV module 2026-04-22 15:21:51 -05:00
41735c5280 feat(media): add filtering by type and sorting by creation date 2026-04-15 17:05:16 -05:00
2ee9bd00df fix(entity): correctly parse checkbox to boolean to prevent appwrite schema validation crash 2026-04-15 17:04:12 -05:00
242ea2f60f fix(styles): allow whitespace rendering in rich text fields and retain inline styles 2026-04-15 16:35:27 -05:00
9812d70c71 fix(forms): resolve publication state enum mismatch and entity form action issues 2026-04-15 10:19:56 -05:00
2e9310d54a fix(deps): correct appwrite sdk versions to avoid coolify error 2026-04-14 13:02:15 -05:00
1f718afec9 feat: fix m3u8 native playback in LivePlayer & add webhooks API 2026-04-14 11:53:09 -05:00
8993ab3293 feat: add tooltips with title to media items in dashboard and selection modals 2026-03-30 10:35:10 -05:00
7bbaccfdb8 feat: universalize global media search across all selection components 2026-03-30 10:21:13 -05:00
25e92d7ccd fix: stabilize infrastructure, bypass account scopes in emergency mode, and sanitize document serialization 2026-03-30 09:18:53 -05:00
20a1695305 fix: media search server-side and data serialization in actions 2026-03-30 09:18:02 -05:00
86b2e704e9 refactor: refine global player visibility and active signal labels 2026-03-30 08:55:51 -05:00
031e8f4523 feat: synchronize live TV/Radio pages with global floating player 2026-03-30 08:26:32 -05:00
a2d5604d38 fix: align media bucket ID with setup script and update env 2026-03-29 22:48:30 -05:00
3a77a12a21 feat: implement live Radio signal and complete live signals integration 2026-03-29 22:41:35 -05:00
1ea7ff359d feat: implement live TV signal using dynamic entity configuration 2026-03-29 22:41:10 -05:00
4892a3d798 fix: media library pagination, preview URLs and dashboard layout optimization 2026-03-29 22:27:07 -05:00
a99355f76e feat(entity): habilitar MediaGridSelector para elegir y subir logotipo corporativo 2026-03-29 01:41:29 -05:00
0b34e772d0 fix(media): corregir formato buffer originando 'Error: File not found in payload' al subir a Appwrite 2026-03-29 01:08:43 -05:00
58b28378fb feat(ui): optimización de UI/UX en CMS y GlobalPlayer, correcciones backend Appwrite 2026-03-29 00:51:47 -05:00
d48d7bc094 fix: satisfy strict TypeScript compiler checks in Next.js build on publication layouts 2026-03-28 17:36:34 -05:00
b063109af6 fix: finalize NewsCard edit button z-index layer and eliminate nested Server Component Links 2026-03-28 17:34:01 -05:00
a39c059ee2 fix: resolve js null evaluations in entity relations and add on-the-fly appwrite schema bootstrapping for entity config 2026-03-28 17:32:14 -05:00
b1f00e9d19 fix: resolve Next.js Server Component hydration crash by removing onClick handler and refactoring Link hierarchy 2026-03-28 17:14:46 -05:00
ae4e242252 refactor: UX enhancements, SEO automation, Entity Singleton and Media URLs 2026-03-28 17:09:35 -05:00
8ab4915545 chore: sync package-lock.json to fix Coolify build error 2026-03-28 16:29:48 -05:00
6d83697def fix: explicit double click handler on cards, explicit create button on related fields, and correct RBAC labels parsing 2026-03-28 16:26:09 -05:00
682d6620b9 fix: explicit debugging logic on paginations, filters, Zod xss, and UI constraints 2026-03-28 15:22:05 -05:00
3647602413 feat: complete rx editor, media library grid, UX logic, and XSS protection
- Added @tiptap/extension-youtube and extension-image
- Added MediaGridSelector component with robust grid UI and inline uploads
- Integrated MediaGridSelector into PublicationLayout for featured images
- Integrated inline image module in RichTextEditor linked to MediaGridSelector
- Rendered date conditionally on PostCard and disabled bubble propagation
- Added isomorphic-dompurify to mitigate XSS in the public article viewer
2026-03-28 14:34:04 -05:00
97a3d162e0 feat: implement rich text, media previews, interactions, and fix state sync
- Added RichTextEditor to PublicationLayout's 'contenido'
- Added MediaThumbnail to RelationSelectField for dynamic image previews
- Replaced PostCard edit overlay with single click (view) and double click (edit) mechanics
- Fixed persistence/state bugs by adding revalidatePath to entity server actions
- Replaced hard reload in PublicationsList with router.refresh() for optimistic syncing
2026-03-28 14:06:38 -05:00
b2daaa2108 fix: resolve Google Fonts fetch error during build
- Removed next/font/google from layout.tsx
- Added standard Google Fonts <link> in HTML head
- Defined --font-inter and --font-outfit in globals.css
- This allows the build to pass in environments with restricted internet access.
2026-03-28 12:29:19 -05:00
ac0735381f fix: global serialization hardening for layouts and components
- Sanitized getEntityConfig at the source to prevent Navbar errors.
- Sanitized user object in DashboardLayout to protect Sidebar.
- This ensures all collections and custom routes are immune to 'Only plain objects' errors.
2026-03-28 12:14:28 -05:00
b58a2a59fb fix: resolve 'Only plain objects' serialization errors across dashboard and home
- Applied JSON.parse(JSON.stringify()) sanitization to documents and relationData in EditEntityPage.
- Sanitized relationData and user in NewEntityPage.
- Sanitized posts and settings in Homepage.
- Added missing Query import to dashboard edit page.
- This ensures all data passed to Client Components is in a serializable POJO format.
2026-03-28 12:05:41 -05:00
c6cb9a0265 feat: unify dashboard layout and implement pagination for publications
- Refactored EntityPage to share the same Header, Search, and Pagination UI across all modules.
- Implemented server-side pagination for the specialized Publications view (12/page).
- Added search support for Publications module.
- Ensured 100% design consistency between specialized and generic views.
- Fixed 4062 record display issue by implementing blocks of data fetch.
2026-03-28 11:15:36 -05:00
29c124580e fix: stabilize dashboard and harden appwrite actions against production schema mismatches
- Fix Next.js serialization error by sanitizing Appwrite documents (POJO conversion).
- Harden entity configuration actions to handle 404 (collection not found) gracefully.
- Add fallback for NewsTicker WhatsApp messages if 'status' attribute is missing.
- Prevent 'document_missing_data' error in updateEntityConfig by validating input.
2026-03-28 10:46:53 -05:00
0ebe2b691a fix: refactor zod schemas for zod 4 compatibility
- Use 'message' instead of 'errorMap' or 'invalid_type_error' for enum validation.
- Explicitly pass key type to z.record (required in Zod 4).
2026-03-28 10:25:07 -05:00