Commit Graph

90 Commits

Author SHA1 Message Date
c90e842cad Update media upload button UI to show an active uploading state 2026-07-01 19:05:17 -05:00
df1df8a681 Fix media upload logic: generate DB document with magic SEO formatting 2026-07-01 18:49:23 -05:00
92a57d01b8 feat: soporte para videos de biblioteca de medios en publicaciones 2026-07-01 08:31:37 -05:00
74e0563349 fix(forms): enforce string field length limits globally 2026-06-22 14:33:06 -05:00
08b9445eec fix: ensure posts are parsed in all public pages even if media is empty 2026-06-22 13:05:32 -05:00
447569569b fix: resolve RSC plain object leak in AdWrappers 2026-06-22 12:00:46 -05:00
31bf643d3b fix: adjust seo_titulo max length to 60, add banner options to tipo enum, and resolve RSC plain object error 2026-06-22 11:54:51 -05:00
da4fbaa9e8 feat: add edit button to media cards 2026-06-22 10:25:02 -05:00
2b545b28d5 chore: format dates globally in datatable and entity form 2026-06-22 10:01:51 -05:00
54220a6c7e fix: Restrict month filter to admins only while keeping pagination public 2026-06-21 14:44:49 -05:00
08c5cdbe18 feat: Allow all users to see and use month filter on the news feed 2026-06-21 14:43:11 -05:00
f77523519e feat: Add admin month filter and fix cauca post generation 2026-06-21 12:00:49 -05:00
e00faf1ace feat: Add Evolution API webhook and utilities 2026-06-21 11:54:55 -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
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
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
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
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
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
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
ae4e242252 refactor: UX enhancements, SEO automation, Entity Singleton and Media URLs 2026-03-28 17:09:35 -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
5279af2003 refactor: global project hardening and integrity verification
- Add safety checks for direct Appwrite document index access across all root pages.
- Harden NewsTicker and AdWrappers with robust fallback settings and length checks.
- Apply strict typing to dashboard settings page and resolve icon conflicts.
- Final global audit for deprecated Zod .errors usage (0 occurrences remaining).
- Standardize PublicationLayout across creation and edit workflows for posts.
2026-03-28 10:07:32 -05:00
956360a693 fix: resolve build-time type error in dashboard pages by relaxing submitAction return type
- Update PublicationLayoutProps and PublicationDrawerProps to allow 'void' as a valid return type for server actions (supporting redirects).
- Improve error handling in PublicationLayout and PublicationDrawer to safely process both object and void responses.
- Update EditEntityPage to include missing user authentication and use specialized PublicationLayout for 'posts' entity.
2026-03-28 10:03:54 -05:00
339ac0125e refactor: improve project integrity with shared types and strict Appwrite document casting
- Create shared Settings interface in @/types/settings.
- Refactor NewsTicker, AdWrappers, and page components to use shared types.
- Remove risky 'as any' casting from Appwrite document resolution.
- Update Post interface to include resolved_media for consistent data handling.
- Verify Zod error handling consistency across the src directory.
2026-03-28 09:57:42 -05:00