Commit Graph

251 Commits

Author SHA1 Message Date
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
2b099f86ba fix: resolve build failure by relaxing submitEditAction type in PublicationsList 2026-03-28 10:15:57 -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
ea551469b7 fix: use zod issues instead of errors for build compatibility 2026-03-28 09:53:10 -05:00
dda9ae0f4a feat: implement robust publications module with real-time validation and state management
- Refactor dashboard entity pages to support dynamic publications management.
- Add Publications Module with Atomic Design components (PostCard, PublicationsList, FormSection).
- Implement Zod-based real-time validation for publication forms.
- Manage state using Zustand for optimistic UI and in-place relations.
- Add RBAC protection with PermissionGuard and server-side API validation.
- Fix: Resolve TypeScript type error in AdWrappers.tsx to ensure successful build.
- Add ToastProvider and ErrorBoundary for improved user experience.
- Update dependencies for publications logic.
2026-03-28 08:47:40 -05:00