- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.