Changelog
v0.4.0
🔐 Beta Access System
Comprehensive beta access management and control
- AddedBeta mode configuration and access control - implement beta mode configuration with isBetaModeEnabled() function to check beta mode status and isBetaPrivilegedEmail() to identify admin users.
- AddedAI feature access control - add shouldLockAi() to control AI feature access during beta and isBetaModeClient() for client-side beta mode detection.
- AddedComprehensive beta access code management - implement createBetaAccessCodes() for generating unique access codes, redeemBetaAccessCode() for code redemption with validation, and revokeBetaAccessCode() for code revocation.
- AddedBeta access code verification API - add POST /api/beta/verify-code endpoint for code redemption with authentication validation and IP address extraction from multiple headers.
- AddedBeta access control in middleware - check beta mode status before allowing access, validate beta access via cookie or JWT token, and redirect non-beta users to coming-soon page.
- AddedBeta portal transformation - transform coming-soon page into beta portal with code redemption form, waitlist registration, beta statistics display, and step-by-step onboarding guide.
- AddedReal-time beta statistics - add beta stats broadcasting via Socket.IO with /beta namespace for real-time beta statistics and active beta user count broadcasting.
- AddedBeta user presence tracking - track active beta users in real-time with getActiveBetaUserCount() for statistics and support beta stats broadcasting integration.
- AddedWaitlist and stats API endpoints - add POST /api/beta/apply endpoint for waitlist registration and GET /api/beta/stats endpoint for beta statistics.
- AddedAI feature locking during closed beta - lock AI content generation for non-privileged users during beta with 403 error and beta_mode_locked message, allow privileged admin emails to use AI features.
- AddedBeta lock UI for AI features - add beta lock UI for AI contents page, post form, and community post creator with tooltip support for disabled AI features.
☁️ Cloudflare R2 Storage Integration
Optimized image storage and delivery
- AddedCloudflare R2 storage integration - add uploadImageToR2() for single image uploads, uploadMultipleImagesToR2() for batch image uploads with optimized, small, medium, and large sizes.
- AddedR2 storage utilities - add deleteImageFromR2() for image deletion, imageExistsInR2() for existence checks, and getR2ImageUrl() for public URL generation with S3-compatible API support.
- AddedR2 integration for post images - upload images to Cloudflare R2 instead of database bytes, store R2 URLs in PostImage model with optimizedUrl, smallUrl, mediumUrl, and largeUrl fields.
- AddedR2 URL redirect for optimized images - check for optimizedUrl in PostImage before serving from database, redirect to R2 URL if available with 302 redirect and cache headers.
- AddedR2 URL redirect for responsive sizes - check for R2 URLs (smallUrl, mediumUrl, largeUrl) before serving from database, redirect to appropriate R2 URL based on requested size.
- AddedFallback to database storage - support fallback to database storage if R2 upload fails, maintain backward compatibility with existing image serving.
🗄️ Database & Infrastructure Improvements
Production-ready database configuration
- AddedPrisma models organization - organize Prisma models into separate files (beta-models, chat-models, community-models, content-models, moderation-models, system-models, user-models) for better maintainability.
- AddedPostgreSQL configuration for Vercel - update Prisma schema to use PostgreSQL for Vercel deployment with proper compatibility configuration.
- AddedPrisma Accelerate support - add Prisma Accelerate support with build time migrations skip and DIRECT_URL usage for direct database connections.
- FixedDATABASE_URL validation - fix DATABASE_URL validation for Prisma Data Platform connection strings with proper error handling.
- AddedBeta access and R2 storage schema fields - add BetaAccessCode, BetaAccessLog, and Waitlist models, add hasBetaAccess, betaAccessGrantedAt, betaAccessCodeId to User model, and optimizedUrl, smallUrl, mediumUrl, largeUrl to PostImage model.
- RemovedDeprecated models.prisma file - remove deprecated models.prisma file and consolidate into schema.prisma for simplified database schema management.
👨💼 Admin Panel & Management
Beta access management interface
- AddedAdmin panel for beta access management - add admin UI for beta access code management with API routes for admin operations (/api/admin/beta-codes).
- AddedBetaCodeManager component - add BetaCodeManager component with full CRUD operations for code creation, listing, and revocation with waitlist management functionality.
- AddedAdmin-beta message translations - add admin-beta namespace for admin panel translations with Turkish and English support for beta management UI messages.
🔒 Security & Performance
Production security and logging improvements
- AddedSecure logging utility - add secure logger for production-safe logging to prevent PII exposure in production logs with structured logging and error codes.
- improvedProduction logging improvements - improve production logging for block operations, only log user IDs in development environment, and prevent PII exposure in production logs.
- FixedAdmin email cache refresh - fix production admin email control cache refresh issue for admin email validation and improve beta access service cache management.
🐛 Bug Fixes & Stability
Critical fixes for mobile, authentication, and permissions
- FixedPublic community comment permission - fix comment posting permission for public communities and ensure proper permission checks for community comments.
- FixedBeta code cookie guarantee - add hard redirect after beta code redemption to ensure cookie is properly set before redirect and improve beta access flow reliability.
- FixedWebSocket upgrade requests - add Socket.IO path bypass for WebSocket upgrade requests to support WebSocket connections through proxy and improve real-time communication reliability.
- FixedMobile navigation authentication - fix authentication check in mobile navigation, improve mobile navigation reliability, and ensure proper authentication state handling.
- FixedMobile beta access control - fix beta access control for mobile devices, improve cookie management on mobile, and ensure beta access works correctly on mobile platforms.
- FixedDATABASE_URL client-side error - fix client-side DATABASE_URL error and admin beta access issues with improved error handling for database connections.
- FixedAdmin path regex - fix admin path regex to recognize sub-paths like /tr/admin/beta, improve admin path matching, and support localized admin paths.
- FixedCSP directives update - update CSP directives to allow Google Fonts, add Google Ads permissions to CSP, and improve content security policy configuration.
🎯 UI/UX Improvements
Layout, styling, and user experience enhancements
- improvedCommunity page layout - adjust community page layout and spacing by changing masonry grid columns from [1, 2, 2] to [1, 1, 1] for single column layout and reducing sidebar spacing.
- AddedPost card styling - add post card styling overrides with post-card[data-slot='card'] styles for consistent card appearance, remove default card background, border, and shadow.
- RemovedUnused EchoPostCard component - remove unused EchoPostCard component and clean up unused component code.
- AddedInfinite scroll and scroll-to-top - add scroll event listener for automatic content loading when user is 300px from bottom, add scroll-to-top function for manual refresh with smooth scrolling.
- AddedChat panel disabled on beta landing - hide chat panel on coming-soon/beta landing pages, prevent chat panel toggle events on beta landing, and add pathname check for beta landing detection.
- improvedMinor UI component updates - update component dependencies and imports, improve code consistency across UI components with minor styling and functionality improvements.
🔐 Permission System Refactoring
Simplified permission model
- RemovedEDIT_ANY_POST permission removal - remove EDIT_ANY_POST from CommunityPermission enum, ADMIN role permissions, and permission override logic.
- improvedPost editing simplification - only allow post authors to edit their own posts, simplify permission logic for post editing, and improve error messaging for unauthorized edit attempts.
- RemovedEDIT_ANY_POST permission translations - remove editAnyPost permission from English and Turkish translations, remove editAnyPost action from post translations, and clean up unused permission strings.
🌐 Internationalization
Beta and admin translations
- AddedBeta locked messages for AI features - add betaLocked section with title, description, and callout for AI features with Turkish and English translations.
- AddedComing-soon messages for beta portal - replace marketing content with beta portal messages, add beta code form translations, waitlist registration translations, and beta statistics labels.
- AddedAdmin-beta message namespace - add admin-beta message namespace with import adminBeta messages in English and Turkish for admin panel translations.
🔧 Build & Development
Development tooling and configuration
- AddedBeta mode and R2 storage environment variables - add NEXT_PUBLIC_BETA_MODE for beta mode toggle, BETA_ADMIN_EMAILS for privileged user access, and CLOUDFLARE_R2_* variables for R2 storage configuration.
- AddedDependencies update for R2 storage - add @aws-sdk/client-s3 for Cloudflare R2 integration, update package-lock.json with new dependencies, and support S3-compatible storage API.
- improvedSchema generation script update - update script to work with new schema structure, remove references to deprecated models.prisma, and improve schema generation workflow.
- improvedNext.js type definitions - update Next.js environment type definitions and sync with latest Next.js version requirements.
v0.3.9
🔐 Community Membership Approval System
Access control and membership workflow
- AddedCommunity membership approval for chat access - implement community membership approval for chat access with memberApprovalRequired check.
- AddedMembership approval enforcement - require community membership for private community chats and deny access with 403 error for non-approved users.
- AddedMessage access control - enforce membership approval for message access and posting, block message viewing for non-members when memberApprovalRequired is true.
- AddedMember role calculation enhancement - enhance member role calculation with approval system, add memberApprovalRequired check in member listing endpoint.
- AddedRole recalculation for guests - implement role recalculation for guest users who became members and update member roles in database when community membership is detected.
- AddedAccess denied state management - add access denied state management to chat messages hook to track community approval requirements.
- AddedError handling for access denied - handle access denied errors without throwing exceptions and reset access denied state on successful message fetch.
- AddedCommunity join request UI - add community join request UI for access denied scenarios with 'Apply to Join Community' button for authenticated users.
- AddedAuthentication flow for access denied - add 'Sign Up/Login' link for unauthenticated users and implement join request submission with approval workflow.
- AddedMultilingual access messages - show appropriate messaging in Turkish and English for community access and approval scenarios.
📰 Google AdSense Integration
Monetization foundation
- AddedGoogle AdSense integration - add Google AdSense integration to application layout with google-adsense-account meta tag.
- AddedPublisher account identification - enable AdSense publisher account identification through meta tag integration.
- AddedMonetization foundation - prepare foundation for ad monetization features with proper meta tag configuration.
🎨 Retro Theme Support
New theme variant for chat components
- AddedRetro theme for chat components - add retro theme support for chat components with retro theme colors for chat message bubbles.
- AddedChat-specific CSS classes - add chat-specific CSS classes for retro styling with both light and dark retro variants.
- AddedHover effects and transitions - add hover effects and transitions for chat elements to enhance user experience.
- AddedCompact mode integration - enable compact mode integration with retro theme for better space utilization.
🎯 UI/UX Improvements
Compact mode, avatar controls, and visual balance
- AddedCSS class support for chat components - add CSS class support for chat components with chat-input class to ChatInput and chat-panel class to ChatPanel.
- AddedTheme targeting for chat interface - enable retro theme application to chat interface elements while maintaining backward compatibility with existing styling.
- AddedCompact mode implementation - implement compact mode and avatar visibility controls with reduced padding and gaps for better space utilization.
- AddedDynamic avatar visibility - implement dynamic avatar visibility based on user settings with CSS custom properties for chat display settings.
- AddedTheme-aware message styling - update message bubble styling with theme-aware classes and improve responsive behavior in compact mode.
- FixedMasonry grid spacing optimization - adjust masonry grid spacing for better visual balance by reducing gap values from [16, 20, 28] to [5, 5, 5].
- improvedVisual consistency across screen sizes - improve visual consistency across different screen sizes and optimize spacing for community posts display.
🌐 Internationalization
Community access and approval translations
- AddedCommunity access translations - add English translations for community access messages with proper error handling for access denied scenarios.
- AddedMembership approval workflow translations - add Turkish translations for membership approval workflow with success/failure messages for join requests.
- AddedError messages for access scenarios - include error messages for access denied scenarios and support both authenticated and unauthenticated user flows.
- AddedJoin request messaging - add success/failure messages for join requests with appropriate messaging in Turkish and English.
🔧 Build & Development
TypeScript and development improvements
- FixedNext.js development types path - update Next.js development types path from .next/types/routes.d.ts to .next/dev/types/routes.d.ts.
- AddedLatest Next.js type definitions - align with latest Next.js development type definitions and ensure proper TypeScript support for Next.js routes.
v0.3.8
💬 Chat System
Reply functionality, sub-channels, and real-time improvements
- AddedChat message reply functionality - add replyToId field to ChatMessage model for message replies.
- AddedReply threading support - add replyTo and replies relations for message threading.
- AddedCHAT_REPLY notification type - add CHAT_REPLY notification type for reply notifications.
- AddedReply preview component - add reply preview and cancel functionality in chat input.
- AddedReply display styling - enhance reply display with preview styling and deleted message handling.
- AddedReply integration - integrate reply functionality across chat components (ChatMessages, ChatPanel, ChatRoomList).
- AddedUnread message count - add unread message count to room listing API.
- AddedReal-time unread count updates - implement real-time unread count updates via socket in chat hooks.
- AddedUnread count badges - update ChatRoomList to display unread count badges.
- ChangedSystem notifications via socket - refactor system notifications to send via socket instead of database.
- AddedFilter system notifications - filter out SYSTEM_HIDE_NOTIFICATION messages from database queries.
- AddedSub-channel visibility control - add visibility control for private sub-channels (only community owner can see).
- AddedSub-channel management - add sub-channel management and settings update support (isPrivate, deletion permissions).
- AddedSub-channel message access control - allow parent channel members to access public sub-channel messages.
- AddedMANAGE_CHAT_ROOMS permission checks - add MANAGE_CHAT_ROOMS permission checks for chat room creation, update, and deletion.
- AddedDELETE_MESSAGES permission check - add DELETE_MESSAGES permission check for non-sender message deletions.
- AddedAI-generated message deletion protection - prevent deletion of AI-generated messages (only reporting allowed).
- AddedURL security checks - add URL security checks in chat input and malicious link detection.
- AddedChat components improvements - enhance ChatInput, ChatMessage, ChatMessages, ChatPanel, ChatRoomList, and RoomSettingsModal components.
- AddedMessage rendering and animation improvements - improve message rendering and animations.
- AddedRoom settings modal enhancements - add sub-channel management UI support to room settings modal.
- AddedChat hooks improvements - add real-time updates and sub-channel support to useChatMessages and useChatRooms hooks.
- AddedSocket event listeners - add socket event listeners for room updates.
- AddedSub-channel filtering and management - add sub-channel filtering and management support.
- AddedMessage fetching with permission checks - improve message fetching with permission checks.
- AddedChat security service integration - add URL security service integration and improve malicious link detection.
- AddedSecurity checks for chat messages - add security checks for chat messages.
- AddedChat translations updates - add new chat feature translations, update room management labels, and add sub-channel related translations.
- AddedSub-channel message access control endpoint - add sub-channel message access control and improve permission validation.
- AddedParent channel membership checks - add support for parent channel membership checks.
- AddedCustom role and badge display - include customRoleName and badge in message sender data.
- AddedRole and badge fetching - fetch community member roles and badges for message senders.
- AddedMessage role information - add role and badge information to message response.
- AddedReal-time role/badge updates - include customRoleName and badge in socket message broadcast.
- AddedCommunity membership queries - query community membership for role/badge information.
- AddedRoom members pagination - add pagination support with page and limit parameters.
- AddedPagination metadata - return pagination metadata (total, page, limit, hasMore).
- AddedBackward compatibility - maintain backward compatibility with existing clients.
- AddedRoom members list component - create new component for displaying room members.
- AddedMember list pagination - support pagination for large member lists.
- AddedOnline users display - pass onlineUsers prop to RoomSettingsModal.
- AddedReal-time online tracking - support real-time online user tracking.
🔒 Security Enhancements
JWT validation, encryption, and comprehensive rate limiting
- AddedJWT secret validation - enforce JWT secret validation and minimum 32 character length requirements.
- AddedRequire JWT secret - require NEXTAUTH_SECRET or JWT_SECRET environment variable.
- AddedDescriptive secret errors - throw descriptive errors for missing or weak secrets.
- AddedUser-based rate limiting - add user-based rate limiting for authenticated requests.
- AddedNextAuth session verification - integrate NextAuth session verification for token validation.
- AddedRate limit tracking - track rate limits per user ID with in-memory storage.
- AddedRate limit headers - return proper rate limit headers (X-RateLimit-*) in responses.
- AddedENCRYPTION_KEY documentation - add ENCRYPTION_KEY environment variable documentation with critical security warnings.
- AddedENCRYPTION_KEY validation - enforce ENCRYPTION_KEY validation and production requirements (minimum 32 characters).
- AddedToken encryption functions - add encryptToken() and decryptToken() functions for database storage.
- AddedSecure Google token storage - encrypt Google access tokens before database storage.
- AddedAI content deletion protection - prevent deletion of AI-generated posts (only reporting allowed).
- AddedDELETE_ANY_POST permission check - add DELETE_ANY_POST permission check for non-author post deletions.
- AddedCommunity membership validation - add community membership check for permission validation.
- AddedURL security validation service - implement comprehensive URL validation and security checks.
- AddedMalicious URL detection - detect malicious and suspicious URLs before sharing.
🗄️ Database & Infrastructure
PostgreSQL production optimizations and build improvements
- AddedPostgreSQL SSL - add PostgreSQL SSL and connection pooling to docker-compose.yml.
- AddedSSL mode require - add sslmode=require to DATABASE_URL for production security.
- AddedConnection pooling - add connection_limit=10 and pool_timeout=20 parameters.
- AddedCVE-2025-8713 fix note - update PostgreSQL image comment with CVE-2025-8713 fix note.
- AddedProduction PostgreSQL validation - add production PostgreSQL validation and logging.
- AddedValidate DATABASE_URL - validate DATABASE_URL presence in production environment.
- AddedCheck SSL parameters - check SSL parameters for PostgreSQL connections.
- AddedConnection pooling warnings - warn about missing connection pooling parameters.
- AddedReduce logging verbosity - reduce logging verbosity in production (error and warn only).
- AddedSupport PostgreSQL and SQLite - support both PostgreSQL and SQLite connection types.
- AddedGoogle OAuth token fields - add googleAccessToken and tokenExpiresAt fields to User model.
- AddedDocker build optimization - add optimization for Docker build to work without database connection (NEXT_PHASE support).
- AddedBuild phase support - add NEXT_PHASE=phase-production-build support to skip DB validation during build phase.
- ChangedDIRECT_URL optional - make DIRECT_URL optional in Prisma schema generation (only add if present).
- AddedBuild-time migration skip - skip migrations for build-time placeholder DATABASE_URL.
- AddedCustom role system database fields - add customRoleName, customPermissions, and badge fields to CommunityMember model.
- AddedCommunityBadge enum - add CommunityBadge enum for SHIELD, CROWN, STAR, MEDAL, TROPHY badges.
- AddedPost edit tracking - add editedBy and editedAt fields to Post model for edit tracking.
- AddedCommunity member list visibility - add showMembersList field to Community model (default: true).
- AddedMember list visibility control - support member list visibility control for communities.
- AddedPost edit history tracking - track post edit history with user ID and timestamp.
🔌 Socket & Real-time
JWT authentication and notification improvements
- AddedSocket JWT authentication - implement JWT authentication for socket connections using NEXTAUTH_SECRET.
- AddedConnection rate limiting - add connection rate limiting middleware (5 connections/min in production).
- AddedEvent rate limiting - implement user-based event rate limiting (100 events/min per user).
- AddedReal-time notification function - add sendRealtimeNotification function for socket-based notifications.
- AddedReply notifications - send reply notifications to original message sender.
- AddedPersonal notification rooms - add user personal notification room support.
- AddedJoin notification rooms - join users to personal notification room (user:userId) on connection.
- AddedTargeted notifications - enable targeted notification delivery to specific users.
- RemovedRemove console.log statements - remove console.log statements for production readiness.
- AddedReal-time room updates - add real-time room updates via socket and sub-channel support.
🎨 UI/UX Improvements
Reply UI, sub-channels, animations, and unread count badges
- AddedReply preview with sender - add reply preview component with sender name and message content.
- AddedCancel reply button - add cancel reply button with X icon.
- AddedReply preview styling - display reply preview with border and background styling.
- AddedDeleted message handling - support deleted message handling in reply preview.
- AddedUser profile links - add link to replied-to user profile when username available.
- AddedVisual hierarchy improvements - improve visual hierarchy with muted background and border accent.
- AddedRoom settings editing form - add editable room settings form for sub-channels (name, description, maxMembers, isPrivate).
- FixedDialog z-index fix - prevent room settings dialog from appearing behind post creator component (z-50 -> z-[70]).
- ChangedMessage animation optimization - reduce message animation duration (spring -> 0.15s easeOut) and remove delays.
- ChangedContainer animation optimization - reduce loading animation duration (0.3s -> 0.15s) and remove y-axis animations.
- AddedCustom roles and permissions management UI - add custom roles and permissions management component with searchable member list.
- AddedCategorized permission selection - add categorized permission selection UI with visual cards and icons.
- AddedBadge selection interface - add badge selection interface for SHIELD, CROWN, STAR, MEDAL, TROPHY.
- AddedPost editing dialog - add post editing dialog with title and subject fields.
- AddedPermission-based editing - implement permission checks for post editing (author or EDIT_ANY_POST permission).
- AddedPersistent interaction states - add persistent interaction states using localStorage for liked/saved posts.
- AddedInteraction persistence across reloads - track liked/saved posts across page reloads.
- AddedContent label update - change title label to 'Content' in post editing as per user request.
- improvedCommunity card interactions - improve community card interaction and display with better visual feedback.
- FixedOnboarding modal z-index - fix z-index issues in onboarding modal dropdowns for proper layering.
- AddedPersistent card effects - add persistent card interaction effects with light and dark theme support.
- AddedRole-assigned communities card - add role-assigned communities card to homepage sidebar.
- AddedManaged communities sidebar - add managed communities sidebar to user profile with grid layout.
- AddedMember list visibility toggle - add member list visibility toggle to community settings.
- AddedAPPROVE_POSTS permission - add APPROVE_POSTS permission to custom roles content category.
- AddedCommunity members modal - add community members modal with role and badge display.
🧰 API & Configuration
Socket token endpoint, security improvements, and build optimizations
- AddedSocket token endpoint - add socket token endpoint for JWT authentication.
- AddedGenerate JWT tokens - generate JWT tokens for socket handshake validation.
- AddedCSP and CORS enhancements - enhance CSP and CORS security settings.
- AddedConditional CORS origin - make Access-Control-Allow-Origin conditional based on NODE_ENV.
- AddedProduction CORS settings - use ALLOWED_ORIGINS or NEXTAUTH_URL in production, wildcard in development.
- AddedGoogle Fonts CSP - add fonts.googleapis.com to style-src and style-src-elem CSP directives.
- AddedFont source CSP - add fonts.googleapis.com to font-src CSP directive.
- ChangedCSP unsafe-eval removal - remove unsafe-eval from CSP script-src directive and improve security.
- FixedNext.js types import path - correct Next.js types import path for development.
- AddedEnvironment variable validation - add environment variable validation utility.
- AddedCentralized validation - create centralized environment variable validation.
- AddedType-safe env access - provide type-safe environment variable access.
- AddedURL security check endpoint - add endpoint for validating URL security before posting/sharing.
- ChangedPostgreSQL port mapping removal - remove PostgreSQL and Redis port mappings for security (Docker internal only).
- AddedEnvironment variable configuration updates - add new environment variables for custom role system and update validation schemas.
- AddedEnvironment variable documentation - improve environment variable documentation.
- AddedCI/CD workflow updates - update build and deployment steps and improve workflow efficiency.
- AddedCommunity API endpoints updates - update settings and posts endpoints for custom role system.
- AddedBackward compatibility - maintain backward compatibility in existing API endpoints.
- AddedCommunity creation dialog cleanup - remove unused imports and clean up component code.
- AddedChat settings tab updates - improve chat settings UI and add new chat configuration options.
- AddedDelete confirmation dialog updates - improve dialog component and update styling and behavior.
- AddedPost editing endpoint - add PATCH endpoint for updating posts with permission checks.
- AddedRole-assigned communities API - add GET endpoint for fetching user's role-assigned communities.
- AddedMember list visibility control - add member list visibility control in community members API.
- AddedShow members list setting - add showMembersList setting to community settings API.
- AddedCommunity list visibility - include showMembersList field in community list responses.
- AddedRole assignment notifications - add notification system for custom role assignments.
- AddedChat room pagination - add pagination support with page and limit parameters to room members endpoint.
🔔 Notifications
CHAT_REPLY support and data improvements
- AddedCHAT_REPLY notification support - add CHAT_REPLY notification type support in hooks.
- AddedUsername in notifications - include username field in actor interface.
- AddedPost and actor IDs - add postId and actorId fields to notification interface.
- AddedNotification data improvements - add username, postId, and actorId fields to notifications API.
👥 Custom Role System
Flexible permission management and community-specific roles
- AddedCustom role system database fields - add customRoleName, customPermissions, and badge fields to CommunityMember model.
- AddedCustom role permission system - implement custom role permission system that prioritizes customPermissions check.
- AddedRemove unnecessary permissions - remove CREATE_POST and INVITE_MEMBERS permissions (unnecessary).
- AddedMEMBER role default permissions - MEMBER role has no default permissions (empty array).
- AddedCustom role management endpoint - add PUT endpoint for updating member custom roles, permissions, and badges.
- AddedRole management restriction - restrict role management to community owners only.
- AddedCustom roles and permissions management component - replace RolesPermissionsTab with CustomRolesPermissionsTab.
- AddedSearchable member list - add searchable member list with username filtering.
- AddedCategorized permission selection - add categorized permission selection UI with icons (Content, Members, Chat, Settings).
- AddedVisual permission cards - add visual permission cards with checkmarks and icons.
- AddedBadge selection - add badge selection for SHIELD, CROWN, STAR, MEDAL, TROPHY.
- AddedMember mute/unmute endpoints - add POST and DELETE endpoints for muting/unmuting members with duration support.
- AddedMUTE_MEMBERS permission - require MUTE_MEMBERS permission for mute operations.
- AddedModeration action logs - create moderation action logs for audit trail.
- AddedInvite link management - update invite link management to use MANAGE_INVITES permission.
- AddedCustom roles system translations - add custom roles system translations for all UI labels.
- RemovedDeprecated RolesPermissionsTab - remove old role-based permissions component.
🧹 Code Quality
Production readiness and cleanup
- AddedSocket initialization improvements - improve socket initialization and cleanup in useChat hook.
- AddedSocket reference storage - store socket reference in useRef for reliable cleanup.
- AddedFix socket cleanup - fix socket cleanup to prevent memory leaks.
- RemovedRemove debug logs - remove debug console.log statements from chat hooks.
- AddedError logging preparation - add error logging and monitoring preparation in auth.
- AddedStructured error logging - log user persistence failures with structured error information.
- AddedError metadata - include user email, userId, and timestamp in error logs.
- AddedSentry integration TODO - add TODO comment for Sentry integration in production.
- RemovedAdmin panel components and routes - remove admin dashboard pages, API endpoints, and UI components.
- RemovedAdmin translations - remove admin translations and clean up unused references.
- RemovedLazy loading admin components - remove admin component exports from lazy loading component exports.
- RemovedProxy configuration cleanup - remove unused proxy settings and simplify proxy implementation.
- AddedPost interaction persistence - add persistent post interaction states using localStorage.
- AddedInteraction state synchronization - initialize likedPosts and savedPosts from backend data.
- AddedReal-time interaction updates - sync interaction states when posts are loaded.
- AddedChat message interface extensions - add customRoleName and badge fields to ChatMessage sender interface.
- AddedRole and badge display support - support role and badge display in chat messages.
- AddedCommunity member interface updates - add customRoleName, customPermissions, and badge fields.
- AddedPermission hooks enhancement - support custom role information in permission hooks.
v0.3.7
💬 Chat System
User hiding, guest role, and chat improvements
- AddedHiddenChatUser database model - add HiddenChatUser model for USER and COMMUNITY_OWNER level hiding.
- AddedHide-user API endpoints - implement hide-user API endpoints (POST, DELETE, GET) with permission enforcement.
- AddedFilter messages from hidden users - filter messages from hidden users while keeping system notifications visible.
- AddedHide-user functionality in chat UI - add hide-user functionality with owner-level support in chat UI.
- AddedSystem notifications integration - integrate hide-user functionality and system notifications.
- AddedHiddenUsersTab component - create HiddenUsersTab component for managing hidden users in room settings.
- AddedHidden users tab in room settings - add hidden users tab to room settings modal.
- AddedUserRole tracking - track userRole in chat hooks and expose setMessages for system message auto-removal.
- AddedGuest role and banning system - add guest role and banning system; enforce community chat access.
- AddedGuest badges and CTAs - add guest badges, hide-sender, and approval CTAs in chat UI.
- AddedText wrapping improvements - improve text wrapping with overflow-wrap and word-break for better mobile experience.
- AddedCommunity chat settings enforcement - enforce community chat settings at query level for better performance.
- AddedChat public access sync - sync chatPublicAccess with room isPublic status automatically.
- AddedPublic chat access support - add public chat access support in rooms listing.
- AddedGuest users blocking - guest users blocked from hiding messages.
- AddedSystem notifications visibility - system notifications remain visible even when users are hidden.
👥 Community Management
Membership approval, invites, and access control
- AddedCommunityMemberRequest model - add CommunityMemberRequest model for approval-required communities.
- AddedMembership approval flow - implement membership approval flow and request management APIs.
- AddedApproval-required state reflection - reflect approval-required state in APIs and feed logic.
- AddedApproval-required joins UI - support approval-required joins and request management in UI.
- AddedCommunityInvite model - add CommunityInvite model for private community token-based invites.
- AddedCommunity invite link management - implement community invite link management with token validation.
- AddedInvite token join API - add invite token join API endpoint with expiration and usage limits.
- AddedInviteStatusModal component - create InviteStatusModal component for invite operation feedback.
- AddedInvites tab in community settings - add invites tab to community settings for invite management.
- AddedPrevent direct joins to private communities - prevent direct joins to private communities; require invite for access.
- AddedCommunity visibility rules - implement community visibility rules for guests and members.
- AddedMembership enforcement for comments - require community membership for comments and pools.
- AddedBlock commenting for non-members - block commenting and pooling on community posts for non-members.
- Added403 errors with clear messages - return appropriate 403 errors with clear messages.
- AddedPrevent unauthorized access - prevent unauthorized access to private community data.
- AddedSystem community visibility - maintain system community grade-based visibility.
- AddedCreatorId exposure - expose creatorId in my-created communities response.
- AddedPrivate community access - private community access now requires invite tokens.
- AddedMembership approval permissions - membership approval flow enforces creator/moderator permissions.
📱 Mobile & Navigation
Subdomain routing, responsive improvements, and mobile UX
- AddedMobile subdomain configuration - add mobile subdomain configuration option with environment variable.
- AddedMobile subdomain redirect system - implement mobile subdomain redirect system with device detection.
- AddedRedirect mobile users - redirect mobile users to app. subdomain when enabled.
- AddedRedirect desktop users - redirect desktop users from app. subdomain to main domain.
- AddedSkip mobile redirect cookie - support skip_mobile_redirect cookie to prevent loops.
- AddedExclude API and extension routes - exclude API and extension routes from redirect logic.
- AddedMobile redirect exclusions - mobile subdomain redirect excludes API and extension routes.
🎨 UI/UX Improvements
Settings refactor, responsive tabs, and layout improvements
- AddedSettings UI refactoring - standardize color scheme with theme-aware classes in settings UI.
- AddedReplace hardcoded colors - replace hardcoded color classes with muted-foreground and primary variants.
- AddedResponsive tabs layout - improve responsive tabs layout with icon-only mode on smaller screens.
- AddedResizeObserver for tabs - use ResizeObserver to detect tab overflow and hide labels.
- AddedTab icons updates - update tab icons (UserCog for roles, UserPlus for invites).
- AddedFeed layout standardization - standardize feed layouts with max-width containers.
- AddedMax-width wrapper - add max-w-6xl mx-auto wrapper to all feed sections.
- AddedMasonryGrid gap increase - increase MasonryGrid gap from 24 to 28px for better spacing.
- AddedButton text wrapping - improve button text wrapping and min-height for better readability.
- AddedWhitespace and hyphenation - enable normal whitespace and hyphenation; set min-h for sizes.
- RemovedRemove community detail page - remove community detail page component (product decision).
- AddedDisable community detail navigation - disable community detail page navigation in CommunityCard.
- AddedCommunity page layout - add community page layout with SEO metadata for slug-based pages.
- AddedDynamic SEO metadata - implement dynamic SEO metadata generation for communities.
- AddedMetadata for public/private - handle metadata for both public and private communities.
🔒 Security & Validation
URL validation and development improvements
- AddedURL validation enhancement - enhance URL validation for development environments with localhost whitelist.
- AddedURL validation for development - URL validation enhanced for development environments.
🧰 API & Configuration
Route updates, i18n, and configuration improvements
- AddedForce-dynamic export - add force-dynamic export to user preferences route for real-time updates.
- AddedNext.js types import path correction - correct Next.js types import path from .next/dev/types to .next/types.
- Addedrobots.txt production readiness - update robots.txt for production readiness.
- AddedRe-enable normal post creation - re-enable normal post creation alongside AI features.
- Addedi18n approval flow strings - add strings for approval flow, guest users, and chat UI (English/Turkish).
- AddedCommunity invite messages - add community invite messages in English and Turkish.
- AddedInvite status messages - include invite status messages: joined, expired, limit reached, restricted.
- AddedAuthentication error messages - add authentication and validation error messages.
- AddedDatabase query level enforcement - community chat settings enforced at database query level.
v0.3.6
📢 Advertising & Monetization
Google AdSense integration and ad components
- AddedGoogleDisplayAd component - add GoogleDisplayAd, GoogleMultiplexAd and GoogleInFeedAd components.
- AddedAds integration - integrate ads across feed, communities, coming-soon, privacy, terms, faq pages.
- AddedAds components integration - ads components integrated consistently across main content pages.
- AddedGoogle AdSense integration - add Google AdSense script to head; SW and CI tweaks.
- Addedads.txt declaration - declare authorized seller for AdSense.
- AddedAdSense script optimization - move AdSense script to top of head for better performance.
- AddedAdSense script moved to top - faster ad loading performance.
📱 PWA & Service Workers
Service worker registration and installation prompts
- AddedServiceWorkerRegister component - register service worker in layout; add ServiceWorkerRegister (production only).
- AddedInstall prompt on root - show install prompt on root; remove suppression so non-installed users see card on every visit.
- AddedPWA install prompt visibility - improved install prompt visibility on root.
- AddedService worker registration - service worker registration gated to production.
- AddedService worker cleanup - service worker cleanup and strategy refresh to align with recent PWA setup.
🛠️ Infrastructure & Routing
Proxy system, routing improvements, and middleware changes
- AddedProxy routing system - add new proxy routing system to replace middleware.
- RemovedRemove old middleware.ts - remove old middleware.ts in favor of proxy routing system.
- AddedRoute-specific layout components - add route-specific layout components.
- AddedLanding page layout component - add landing page layout component.
- AddedGlobal not found page - add global not found page for Next.js 16.
- AddedLegacy routes alignment - align legacy routes (/faq, /privacy, /terms, root) with localized/themed pages.
- AddedMiddleware removal - middleware removed in favor of proxy routing (leaner path).
🔧 Development Tools
ESLint migration and configuration updates
- AddedESLint 9 Flat Config migration - migrate to pure Flat Config for ESLint 9.
- AddedFlat-compatible plugins - add flat-compatible plugins; scripts unchanged.
- AddedLockfile updates - update lockfile after plugin installs.
- AddedConfig adjustments - config adjustments and cleanup; remove .eslintignore.
🎨 UI/UX Improvements
Theme tokens, responsive design, and layout updates
- AddedMain page feed improvements - improve main page feed and add community mode filtering.
- RemovedRemove Discover page - remove Discover page and update navigation components.
- RemovedRemove platform stats - remove platform stats feature from AI contents page.
- AddedSections/footer token updates - update sections/footer to use system tokens; hide footer logo text.
- AddedPrivacy and Terms token alignment - align Privacy and Terms pages with tokens; unify info/notice cards.
- AddedFAQ page token alignment - align FAQ page with tokens; remove hard-coded grays.
- AddedLogo dark-theme glow - add logo dark-theme glow; keep text optional.
- AddedGlobal theme token updates - minor layout/style updates to respect theme tokens globally.
- AddedThemed pages unification - themed pages unified with tokens (FAQ, Privacy, Terms).
- AddedNavigation updates - navigation updated after Discover removal.
🔐 Authentication & Extension
Extension auth flow and callback improvements
- AddedExtension sign-in flow - improve sign-in flow and fallback handling.
- AddedAuth callback handling - fix auth callback handling and typings.
- AddedClient-side auth callback - add client-side auth callback component.
🧰 API & Configuration
Type definitions, environment variables, and build config
- AddedNext.js env type declarations - update Next.js env type declarations and compiler options/paths.
- Addednext-env.d.ts updates - update next-env.d.ts and Next.js type definitions path to .next/dev/types.
- AddedConfig adjustments - minor config adjustments; keep CSP and wasm flags intact.
- AddedPackage metadata sync - package metadata sync.
- AddedContact email unification - set contact to contact@owl-app.com across Docs/Legal/README/Trademarks/Security.
- AddedReplace legacy mailto references - replace legacy mailto: references in content pages (coming-soon, faq, privacy, terms).
- AddedOrganizationSchema contactPoint - use contact@owl-app.com in OrganizationSchema contactPoint.
- Addedi18n contact email updates - i18n(en/tr): update support/contact emails in messages.
- AddedOptional fetchStats - make fetchStats optional in usePostInteractions and add new translation keys.
- Addedrobots.txt updates - allow major AI bots in robots.txt and add experimental llms.txt.
- AddedNo CSP regressions - no CSP regressions; prior OCR allowances preserved.
🧹 Code Quality
Cleanup and documentation improvements
- AddedREADME updates - CodeQL note, PDF.js cleanup guidance.
- AddedCodeQL configuration - ignore minified/vendor; remove vendor pdf.worker; cache update.
- AddedCodeQL configuration - ignore minified/vendor; reduced noise.
v0.3.5
📄 OCR & Document Processing
Tesseract.js integration and document upload improvements
- AddedTesseract worker initialization - initialize tesseract worker with explicit paths for worker/core/lang.
- AddedcreateWorker API - switch to createWorker API and ensure worker termination after recognize.
- AddedWASM and CSP allowances - enable WASM and CSP allowances for tesseract.js in Next config.
- AddedVendor core assets - vendor core assets added under public/tesseract-core/.
- AddedDocument Uploader improvements - accept image/*, OCR preview dialog with adjustable font size, duplicate note prevention.
- AddedOCR preview dialog - OCR preview dialog with adjustable font size.
- AddedCSP extended - CSP extended to allow OCR worker scripts and hosts.
- AddedWorker lifecycle - ensure Tesseract worker termination after recognize.
💬 Chat System
Sub-channels, permissions, and chat room management
- AddedSub-channel creation rules - validate sub-channel creation rules and permissions in API (main chat only, role/setting checks).
- AddedCreateChannelModal updates - disallow nested sub-channels; filter parent to main chats; context community/room.
- AddedChatPanel sub-channel support - ChatPanel passes current community/room; allow members to create sub-channels in system communities.
- AddedChatRoomList visual indent - visual indent for sub-channels with border/padding.
- AddedCommunity setting - members can create sub-channels setting exposed and updatable.
- AddedVisual indentation - visual indentation for chat sub-channels.
- AddedSub-channel permission UX - add new messages for sub-channel permission UX and chat notices.
- ChangedChat rooms API - sub-channel creation validation and permission rules.
📱 PWA & Mobile
Install prompts and pull-to-refresh functionality
- AddedInstallPrompt component - add InstallPrompt and PullToRefresh to layout.
- AddedPullToRefresh component - add PullToRefresh component to layout.
- Addedinstall-prompt namespace - include install-prompt namespace in i18n aggregates.
- AddedNew locale strings - new locale strings for install prompt (en/tr).
- Addedi18n install-prompt texts - add install-prompt texts and related aggregates.
🎨 UI/UX Improvements
Mobile navigation, NSFW settings, and profile enhancements
- AddedMobile Navigation shortcuts - add Settings shortcut and Chat panel toggle in user menu.
- AddedNSFW view preferences - NSFW view preferences (autoUnblur, showWarnings) with i18n in Settings.
- AddedNSFWBlurredImage improvements - allow allowUnblur flag, initialize warnings from user prefs.
- AddedGender and age fields - add gender and age to profile types and forms.
- AddedOnboarding wizard Gender & Age step - add Gender & Age step to onboarding wizard; persist to profile.
- AddedMobile navigation quick access - quick access to Settings and Chat panel toggle.
- AddedReaderDialog responsiveness - ReaderDialog responsiveness and explicit close on mobile.
🧰 API & Configuration
Profile API updates and community settings
- AddedAPI profile route support - support gender/age in GET/PUT for profile API route.
- AddeduseUserProfile gender/age - wire gender and age through initial state, load, and save in useUserProfile.
- AddedCSP extension for OCR - extend CSP for tesseract scripts/workers in middleware.
- AddedDELETE /api/study-notes endpoint - purge all study notes for the authenticated user.
- ChangedCommunities settings API - chatMembersCanCreateSubChannels exposed in GET/PUT.
- ChangedProfile API - support gender and age in GET/PUT.
v0.3.4
🗑️ Echo Removal
Complete removal of echo feature across the platform
- RemovedEcho feature removal - complete removal of echo functionality across the platform.
- RemovedRemoved echo API endpoints - /api/echoes, /api/posts/[id]/echoes, /api/users/[id]/echoes.
- RemovedDeleted Echo components - EchoBanner, EchoButton, EchoIcon components removed.
- RemovedRemoved echo translations - echo translations removed from EN/TR locales.
- RemovedCleaned up echo references - echo references removed from all page components.
- RemovedRemoved echo from PostCard - echo functionality removed from PostCard component.
- RemovedRemoved echo from PostDetailModal - echo props removed from PostDetailModal component.
- RemovedRemoved echo from ContentInteraction - echo interaction removed from ContentInteraction component.
- RemovedEliminated echo from APIs - echo removed from all API routes and algorithms.
- RemovedRemoved echo model - echo model removed from Prisma schema.
- RemovedCleaned up echo notifications - echo notification type and handlers removed.
- ChangedReplaced echo count - replaced echo count with sharesCount in trend detection.
- ChangedRemoved ECHO interaction type - removed ECHO interaction type, added POOL type.
- ChangedUpdated user interest vector - removed ECHO weight, adjusted COMMENT weight, added POOL.
- AddedPrisma schema cleanup - Prisma schema cleanup after echo removal.
💬 Comments System
Enhanced comment functionality with likes and nested replies
- AddedCommentCard component - new CommentCard component with like/unlike functionality.
- AddedCommentDialog improvements - CommentCard integration, dynamic limits, reverse ordering.
- AddedComment like/unlike API - POST /api/comments/[id]/like endpoint for comment likes.
- AddedImproved comment pagination - better pagination and response structure.
- AddedEnhanced comment detail API - comment detail API endpoint with better includes.
- AddedNested reply support - recursive rendering for nested replies.
- AddedOptimistic updates - optimistic updates for comment likes.
- AddedBetter pagination - better pagination and error handling across comment APIs.
🔌 Extension & Authentication
Browser extension support and JWT authentication
- AddedExtension authentication module - JWT token validation for browser extensions.
- AddedExtension UI routes - /extension/auth-callback, /extension/signin routes added.
- AddedExtension API endpoints - /api/extension/auth, /api/extension/validate endpoints.
- AddedNextAuth redirect callback - NextAuth redirect callback for extension routes.
- AddedMiddleware bypass - middleware bypass for extension routes to prevent i18n prefix.
- Added7-day token expiry - 7-day token expiry for extension authentication.
🔌 Socket & Real-time
Real-time post interactions and socket.io integration
- AddedSocket.io /posts namespace - Socket.io namespace for real-time post interactions.
- AddedusePostSocket hook - new usePostSocket hook for managing socket connections.
- AddedReal-time like updates - real-time like count updates for posts.
- AddedReal-time comment updates - real-time comment count updates for posts.
- AddedReal-time pool updates - real-time pool (save) count updates for posts.
- AddedPost room join/leave - post room join/leave functionality for targeted updates.
- AddedAutomatic cleanup - automatic cleanup on component unmount.
🎨 UI/UX Improvements
Post creator, feed refresh, and navigation enhancements
- AddedPostCard UI optimization - removed echo clutter, improved content display.
- AddedFixedBottomPostCreator improvements - Popover-based emoji picker, image upload button, better cursor management.
- AddedChatInput simplification - simplified by removing emoji picker complexity.
- AddedNavigation refresh feed - refresh feed functionality on home button when already on home page.
- AddedMobile Navigation refresh - refresh feed functionality on mobile home button.
- AddedFeedSection improvements - improved refresh UX, removed auto-refresh toggle.
🧰 API & Configuration
API improvements and algorithm updates
- AddedisLikedByCurrentUser support - added isLikedByCurrentUser to feed APIs.
- AddedisSavedByCurrentUser support - added isSavedByCurrentUser to feed APIs.
- AddedOptimized likes API - improved likes API endpoint.
- AddedOptimized pools API - improved pools API endpoint.
- AddedImproved community detail API - enhanced community detail API endpoint.
- AddedEnhanced AI content generation API - improved AI content generation API.
- AddedBetter interaction weighting - better interaction weighting for content recommendations.
- AddedUpdated dependencies - dependencies updated for extension and socket.io support.
- AddedNext.js config updates - Next.js config updates for extension support.
- AddedService worker updates - service worker updates for extension routes.
v0.3.3
👥 Community Management
Ownership rules, API improvements, and community cards
- AddedCommunity ownership enforcement - community owners cannot leave their own community (403 ownerCannotLeave error).
- AddedGET /api/communities improvements - switched to explicit select fields, smaller responses, added creatorId.
- AddedCommunityCard owner management - owner sees Manage Community instead of Leave, locale-aware routing.
- AddedInlineCommunitiesBrowser updates - uses CommunityCard, membership actions, owner-first sorting.
- AddedCommunities widget on home - lists user communities, CTA to view all.
- AddedCommunity cards enhancements - click sound, subtle animations, SEO-friendly slug routes.
- ChangedDELETE /api/communities/[id]/join - blocks owner/creator from leaving, returns ownerCannotLeave (403).
- ChangedGET /api/communities - explicit select, adds creatorId, trims payload.
📱 Mobile Navigation
Enhanced mobile menu and navigation improvements
- AddedMobile Navigation improvements - better controls under More menu.
- AddedFlip panels - Language, Theme and Font Size controls moved to More menu.
- AddedNotifications link - added Notifications link to mobile More menu.
- AddedMy Communities link - added My Communities to mobile More menu.
- AddedLogout action - added Logout action to mobile More menu.
- AddedLocale-aware active route detection - improved active route detection for mobile navigation.
📢 Advertising & SEO
Google AdSense integration and SEO improvements
- AddedGoogle AdSense integration - add Google AdSense script to head; SW and CI tweaks.
- Addedads.txt declaration - declare authorized seller for AdSense.
- AddedAdSense script optimization - move AdSense script to top of head for better performance.
- AddedAdSense script moved to top - faster ad loading performance.
📱 PWA & Service Workers
Workbox updates and service worker improvements
- AddedPWA / Workbox updates - generated assets refreshed and ignored.
- AddedRebuild public/sw.js - rebuilt with updated precache and routes.
- AddedRefresh Workbox runtime bundle - refreshed public/workbox-7af0af7c.js.
- AddedUpdate generated worker - updated public/swe-worker-*.js.
- Added.gitignore updates - ignore Workbox/PWA artifacts.
- AddedWorkbox bundles rebuilt - smaller SW surface and curated precache.
🌐 i18n Updates
Internationalization improvements for communities and navigation
- AddedEnglish i18n updates - EN communities: ownerCannotLeave, manageCommunity, deleteCommunity.
- AddedEnglish navigation i18n - EN navigation: logout, ensure fontSize and new destinations.
- AddedTurkish i18n updates - TR communities: ownerCannotLeave, manageCommunity, deleteCommunity.
- AddedTurkish navigation i18n - TR navigation: logout, fontSize, updated labels.
🧹 Code Quality
CodeQL configuration and documentation updates
- AddedREADME updates - CodeQL note, PDF.js cleanup guidance.
- AddedCodeQL configuration - ignore minified/vendor; remove vendor pdf.worker; cache update.
- AddedCodeQL configuration - ignore minified/vendor; reduced noise.
v0.3.1
👥 Community Discovery
Community browsing, search, and discovery features
- AddedAll Communities page - new discovery surface with search, subject filters, and infinite scrolling at app/[locale]/communities/all.
- AddedMobile-friendly UX - enhanced empty/loading states and clarified status messages for communities discovery.
- AddedInline Communities Browser - contextual communities exploration widget with search, subject filters, and infinite scrolling.
- AddedTight integration - seamless integration with existing pages and layouts.
- AddeduseCommunitiesJoined hook - custom hook to fetch and maintain the list of user's joined communities.
- AddedReal-time reactive updates - live updates on membership changes.
- AddedEnhanced empty/loading states - clarified status messages for communities discovery.
- AddedConsistent spacing - touch targets across mobile/desktop for communities discovery.
🧰 API Improvements
Trend posts, community endpoints, and API enhancements
- AddedTrending posts API endpoint - new endpoint at app/api/posts/trending with limit, offset, optional communityId, and multi-subject support.
- AddedCommunities list endpoint enhancements - improved query, pagination, and filtering.
- AddedCommunity posts endpoint - response structure and filter improvements.
- AddedCommunity detail endpoint - minor refinements for stability and shape.
💬 Chat System
Community selection and chat room improvements
- AddeduseChatRooms hook extension - optional communityId support and improved reload conditions.
- AddedCommunitiesList component - component for community selection and status texts in chat.
- Added3D flip transition - smooth transition between community/room views with state/responsiveness polish.
- AddedSmall UI/flow fixes - improved consistency across screens.
- AddedNavigation updates - desktop chat button disabled/pinned states, tooltip updates.
👥 Community Management
Community settings, deletion, and flow view toggle
- AddedCommunities Settings Danger Zone - added Danger Zone with full delete flow (confirm, DELETE, redirect) in General tab.
- AddedFeed View Toggle - trending vs. communities options, persisted with localStorage, i18n-aware.
- Addedi18n-backed labels - feed view toggle with tooltips and preference persisted via localStorage for return sessions.
📱 PWA & Service Workers
Service worker cleanup and strategy updates
- AddedService worker cleanup - service worker cleanup and strategy refresh to align with recent PWA setup.
🌐 i18n Updates
Internationalization for new features
- Addedi18n keys - new keys for chat community/room listing, communities success/error, feed view labels, danger zone texts.
- AddedEnglish translations - updated en message bundles with new keys.
- AddedTurkish translations - updated tr message bundles with new keys.
- AddedBilingual coverage - i18n parity across EN/TR for new features.
v0.3.0
📱 Progressive Web App
Full PWA support with offline functionality and installation
- AddedProgressive Web App support - complete offline functionality with service workers.
- AddedOffline functionality - complete offline access with service workers.
- AddedInstallation support - users can install app on their devices.
- AddedCache strategies - smart caching with Workbox runtime caching.
- AddedManifest configuration - full PWA manifest with icons and metadata.
- AddedAutomatic updates - service worker updates for seamless experience.
- AddedNext-PWA integration - using @ducanh2912/next-pwa for Next.js 15 compatibility.
- AddedWorkbox caching - image caching with CacheFirst strategy (30 days).
- AddedRuntime caching - StaleWhileRevalidate for pages.
- AddedService workers - automatic registration and update handling.
📱 Mobile Responsiveness
Comprehensive mobile optimization and responsive design
- AddedViewport configuration - mobile-optimized viewport settings.
- AddedMobile responsiveness overhaul - comprehensive mobile responsiveness across all major components.
- AddedResponsive chat panel - fullscreen chat on mobile devices.
- AddedAdaptive navigation - collapsible sidebar with mobile menu toggle.
- AddedSmart padding - device-aware padding for main content.
- AddedMobile detection - conditional rendering based on screen size.
- AddedSafe area support - iOS notch and safe area insets.
- AddedFullscreen mode - chat panel displays fullscreen on mobile.
- AddedClose button - easy-to-access close button for mobile users.
- AddedFixed positioning - proper z-index layering for mobile overlay.
- AddedNo padding impact - doesn't affect main content layout on mobile.
- AddedResponsive width - adapts to screen size dynamically.
- AddedCollapsible sidebar - right navigation can collapse on desktop.
- AddedMobile menu toggle - hamburger menu button on small screens.
- AddedToggle visibility - hidden by default, togglable on mobile.
- AddedContext tooltips - clear tooltip explanations for toggles.
- AddedAdaptive sizing - responsive button sizing and spacing.
- AddedDynamic padding - padding adjusts based on device and chat state.
- AddedMobile-first spacing - optimized spacing for small screens.
- AddedOverflow protection - prevents horizontal overflow on mobile.
- AddedTouch optimization - disabled tap highlights and smooth scrolling.
- AddedMobile navigation enhancements - enhanced mobile navigation bar with safe area padding.
- AddedSafe area padding - iOS notch support with pb-safe utility.
- AddedButton sizing - optimized button sizes for mobile touch.
- AddedFont adjustments - better text sizing (text-[13px] leading-4).
- AddedIcon spacing - improved icon and text spacing.
- AddedBottom bar - fixed bottom position with proper z-index.
- AddedCommunity selector mobile updates - removed max width on mobile devices.
- AddedCreate button - mobile-friendly create community button.
- AddedShortcut button - "My Communities" shortcut for mobile users.
- AddedScroll container - responsive scroll with hidden scrollbars.
- AddedDynamic width - adapts to available screen space.
- AddedLanding page mobile optimization - responsive typography with text-4xl sm:text-5xl md:text-7xl sizing.
- AddedHidden decorative elements - hide blobs on small screens.
- AddedGrid responsiveness - grid adjustments for mobile (grid-cols-1).
- AddedSpacing updates - optimized padding (py-16 sm:py-20).
- AddedText balance - added text-balance for better readability.
- FixedMobile navigation fixed - collapsible sidebar works correctly.
- FixedChat panel mobile - properly displays fullscreen on mobile.
- FixedSafe area support - iOS notch handled correctly.
- FixedResponsive layouts - all components work on mobile.
- FixedDisable on communities - chat toggle disabled where unnecessary.
- FixedContext tooltips - clear explanations for chat state.
- FixedMobile close button - easy chat dismissal on mobile.
- FixedNo layout shift - main content unaffected by chat state.
🎨 Theme System
Glass theme removal and theme system simplification
- RemovedGlass theme support removed - removed glass theme support for cleaner, more maintainable theme system.
- Removedglass.css file removed - completely deleted.
- Removedglass.css import removed from globals.css.
- RemovedGlassSettingsPanel component removed.
- RemovedGlass theme icons removed from theme toggle.
- RemovedGlass theme logic removed from ThemeContext.
- Added-1,200+ lines removed - eliminated unused glass theme code.
- AddedSimpler architecture - reduced theme system complexity.
- AddedBetter performance - less CSS to parse and bundle.
- AddedEasier maintenance - fewer theme options to maintain.
- AddedFocused design - emphasis on retro and dark themes only.
- ChangedGlass theme removed - users with glass theme will be migrated to retro theme.
- ChangedNo data loss - theme preferences preserved.
- ChangedAutomatic migration - glass theme users redirected to retro theme.
- FixedGlass theme removed - eliminated unused theme.
👤 User Profile & Navigation
Profile menu updates and navigation improvements
- AddedUser profile menu - added "My Communities" link to dropdown.
- AddedBuilding2 icon - new icon for communities navigation.
- AddedQuick access - easy access to user's communities.
- AddedTurkish label - "Topluluklarım" in user profile menu.
🎨 UI/UX Improvements
CSS enhancements and styling updates
- AddedCSS enhancements - safe area insets with env() variables for iOS notch support.
- AddedTap highlight - transparent tap highlight for better UX.
- AddedOverscroll behavior - disabled overscroll bounce (none).
- AddedReduced motion - respects prefers-reduced-motion preference.
- AddedBorder color updates - better contrast for retro and root themes.
- AddedTailwind configuration - automatic center alignment.
- AddedResponsive padding - 1rem (default), 1rem (sm), 1.25rem (md), 1.5rem (lg).
- AddedBreakpoint optimization - better responsive behavior.
v0.2.3
- AddedPersonalized user identification with unique usernames.
- AddedUsername validation with format and availability checking.
- AddedUsername availability API with real-time availability checking.
- AddedSEO-friendly profile URLs (/user/username) with username in URLs.
- AddedConsistent username display across all components.
- AddedUserProfileProps with username support.
- AddedEnhanced useUserProfile with username lookup.
- AddedAuthContext with username field integration.
- AddedProfile editing with username management.
- AddedUsername validation rules: Length 3-20 chars, Format letters/numbers/underscores only, Cannot start/end with underscore, Database-level uniqueness, Real-time API availability check.
- AddedProduction-ready chat platform - complete chat system architecture with rooms, messages, and real-time features.
- AddedChatPanel.tsx (456 lines) - Main chat interface.
- AddedChatMessages.tsx - Message display and management.
- AddedChatInput.tsx - Message composition interface.
- AddedChatRoomList.tsx - Room selection and navigation.
- AddedChatSettings.tsx - Chat preferences and configuration.
- AddeduseChat.ts - Main chat state management.
- AddeduseChatMessages.ts - Message operations and real-time updates.
- AddeduseChatRooms.ts - Room management and switching.
- AddeduseOnlineStatus.ts - User presence tracking.
- AddedGET /api/chat/rooms - Fetch available chat rooms.
- AddedPOST /api/chat/rooms - Create new chat rooms.
- AddedGET /api/chat/rooms/[roomId]/messages - Get room messages.
- AddedPOST /api/chat/rooms/[roomId]/messages - Send messages.
- AddedGET /api/chat/rooms/[roomId]/members - Room member management.
- AddedPOST /api/chat/join/[token] - Join rooms via invite links.
- AddedPOST /api/chat/invite-link - Generate invite links.
- AddedReal-time messaging - WebSocket-based communication.
- AddedMessage delivery confirmation.
- AddedTyping indicators.
- AddedOnline/offline status.
- AddedMessage timestamps.
- AddedRoom management - Public and private rooms.
- AddedRoom creation and configuration.
- AddedMember invitation system.
- AddedRoom settings and moderation.
- AddedInvite link generation.
- AddedText messages with formatting.
- AddedMessage reactions and replies.
- AddedMessage editing and deletion.
- AddedFile and media attachments.
- AddedSystem messages.
- AddedResponsive design for mobile/desktop.
- AddedMessage search and filtering.
- AddedUnread message indicators.
- AddedMessage history pagination.
- AddedKeyboard shortcuts.
- AddedSecurity and privacy - Message encryption in transit.
- AddedUser authentication for rooms.
- AddedSpam and abuse prevention.
- AddedContent moderation tools.
- AddedAdvanced PDF processing system - Text extraction from scanned PDFs with OCR support.
- AddedpdfProcessorClient.ts - Main PDF processing orchestrator.
- AddedpdfProcessorClientUnpdf.ts - UnPDF library integration.
- Addedocr.ts - OCR text extraction from scanned PDFs.
- AddedpdfCache.ts - Processing result caching.
- AddedpdfOptimizer.ts - File size optimization.
- AddedmarkdownConverter.ts - PDF to Markdown conversion.
- AddeddocumentChunker.ts - Content chunking for AI processing.
- AddeddocumentParser.ts - Document structure analysis.
- AddednoiseFilter.ts - Content quality filtering.
- AddedProcessing pipeline: File upload, format detection, text extraction, content processing, AI enhancement, study note creation.
- AddedMulti-format support: Native PDF text extraction, scanned PDF OCR processing, multi-language OCR support, image-based PDF processing, mixed content documents.
- AddedProcessing capabilities: Automatic content structuring, table and list preservation, mathematical formula recognition, image caption extraction, heading hierarchy detection.
- AddedPerformance optimizations: Progressive processing with progress tracking, memory-efficient chunked processing, background processing for large files, result caching for repeated files, compression and optimization.
- AddedStudy note integration: Automatic note creation from PDFs, AI-assisted content enhancement, topic and grade level detection, interactive study note editor, flashcard and question generation.
- AddedPOST /api/study-notes - Create study notes from PDFs.
- AddedGET /api/study-notes/[id]/generate - Generate content from notes.
- AddedFile upload progress tracking.
- AddedProcessing status monitoring.
- AddedComprehensive country system - country-based content filtering and user localization.
- AddedCountry selection with user country identification.
- AddedCountry flags with visual country representation.
- AddedLocalized content with country-aware content prioritization.
- AddedRegional communities with location-based community discovery.
- AddedLanguage detection with automatic language selection.
- AddedFlagAvatar.tsx - Country flag display component.
- AddedFlagIcon.tsx - Country flag icon component.
- AddedCountrySelector.tsx - Country selection interface.
- AddedUser profiles integration with country field in user data.
- AddedContent filtering with country-based content recommendations.
- AddedCommunity discovery with regional community recommendations.
- AddedFeed algorithm with country preference scoring.
- AddedNavigation updates - Chat buttons in desktop and mobile navigation.
- AddedUsername display - Usernames in navigation and profiles.
- AddedCountry flags - Visual country indicators.
- AddedProfile enhancements - Username support.
- AddedCountry display - Country information in profiles.
- AddedProfile URLs - SEO-friendly username-based URLs.
- AddedStudy notes sidebar - Custom study notes management.
- AddedDocument uploader - Enhanced PDF upload interface.
- AddedAI modal - Enhanced AI content creation flow.
- AddedType system improvements - Restructured study note types.
- AddedPDF processing types - Comprehensive PDF processing types.
- AddedChat types - Complete chat system type definitions.
- ChangedPerformance optimizations - Improved work environment initialization.
- AddedConnection management - Duplicate connection prevention.
- ChangedCanvas performance - Optimized grid rendering and interactions.
- ChangedCode quality - More modularization.
- ChangedHook optimization - Improved custom hook performance.
- AddedError management - Improved error recovery.
- FixedCritical fixes - Work environment loading race condition fixed (multiple work environment loads).
- FixedDuplicate connections - Connection duplication prevented.
- FixedPDF processing memory leaks - Large file processing issues fixed.
- FixedComponent fixes - Chat message rendering (message display issues fixed).
- FixedStudy notes creation - Improved note creation flow.
- FixedProfile editing - Improved form validation.
- FixedPerformance fixes - Canvas performance (optimized rendering for large work environments).
- FixedMemory management - Better cleanup for PDF processing.
- FixedAPI response times - Improved chat API performance.
- AddedNew packages added - country-flag-icons for country flag SVG icons.
- Addedreact-dropzone (existing but upgraded) for improved file uploads.
- Addedtesseract.js for OCR processing of scanned PDFs.
- ChangedEnhanced PDF.js integration for better PDF processing.
- ChangedSocket.io updates for improved real-time chat.
- ChangedNext.js optimizations for better performance.
- ChangedDatabase schema changes - User.username: New required field (for existing users).
- AddedUser.country: New optional field.
- AddedPost.country: New optional field for content localization.
v0.2.2
- AddedEcho Functionality - Share posts with optional commentary (Twitter-like retweet feature).
- AddedQuote Echo - Add your thoughts when echoing content.
- AddedEcho Feed - Dedicated feed for echoed content.
- AddedEcho Analytics - Track echo counts and engagement.
- AddedEchoButton.tsx - Interactive echo action button with animations.
- AddedEchoBanner.tsx - Visual indicator for echoed posts.
- AddedEchoPostCard.tsx - Display echoed content with original post.
- AddedQuoteEchoDialog.tsx - Dialog for adding quote commentary.
- AddedQuotedPostModal.tsx - Modal viewer for quoted content.
- AddedEchoIcon.tsx - Custom echo icon component.
- AddedPOST /api/echoes - Create new echo with optional comment.
- AddedGET /api/echoes - Fetch user's echoed posts.
- AddedGET /api/posts/[id]/echoes - Get echoes for specific post.
- AddedGET /api/users/[id]/echoes - User-specific echo history.
- AddedDELETE /api/echoes - Remove echo.
- AddedOptimistic Updates - Instant UI feedback.
- AddedAnimation Effects - Smooth echo button transitions.
- AddedQuote Support - Add personal commentary to echoes.
- AddedEcho Count - Real-time echo statistics.
- AddedUser Attribution - Track who echoed what.
- AddedEcho Feed - Dedicated page for echoed content.
- AddedProduction-Ready AI-Powered Feed Algorithm - Intelligent content recommendation engine.
- AddedfeedGenerator.ts - Main feed generation orchestrator.
- AddedhybridScoring.ts - Multi-factor content scoring system.
- AddeduserInterestVector.ts - User preference tracking.
- AddedcollaborativeFiltering.ts - Similar user discovery.
- AddedcountryAwareScoring.ts - Localized content prioritization.
- AddedgradeLevelMatching.ts - Education level alignment.
- AddedcommunityInfluence.ts - Community engagement scoring.
- AddedtimeDecayScoring.ts - Freshness-based ranking.
- AddedwilsonScore.ts - Statistical confidence scoring.
- AddedqualityFilters.ts - Content quality validation.
- AddeddriftDetection.ts - User interest drift monitoring.
- AddedcoldStartHandler.ts - New user onboarding strategy.
- AddeddiversityInjection.ts - Content variety balancing.
- AddedfallbackStrategies.ts - Graceful degradation.
- AddedstableVectorManager.ts - Interest vector persistence.
- AddedstampedeProtection.ts - Cache stampede prevention.
- AddedcacheManager.ts - Multi-layer caching strategy.
- AddedinteractionTracker.ts - User behavior analytics.
- Addedhelpers.ts - Utility functions and calculators.
- AddedREADME.md - Comprehensive algorithm documentation.
- AddedGET /api/feed - Personalized feed generation.
- AddedGET /api/algorithm/health - System health monitoring.
- AddedGET /api/algorithm/metrics - Performance metrics.
- AddedGET /api/algorithm/stats - Algorithm statistics.
- AddedGET /api/algorithm/drift-check - Interest drift detection.
- AddedPOST /api/algorithm/grade-transition - Education level updates.
- AddedPOST /api/cron/algorithm-maintenance - Scheduled maintenance.
- AddedMulti-Factor Scoring System: Hybrid Score = (Base Relevance × 0.30) + (Collaborative Score × 0.20) + (Country Preference × 0.15) + (Grade Level Match × 0.15) + (Time Decay × 0.10) + (Quality Score × 0.10).
- AddedUser Interest Vector: Subject preferences tracking, grade level alignment, interaction pattern analysis, dynamic weight adjustment, interest drift detection, stability scoring (0-1 scale).
- AddedCollaborative Filtering: Similar user discovery, weighted similarity scoring, interest overlap calculation, recommendation propagation, cold start handling.
- AddedCountry-Aware Content: Local content boost (+25%), regional language prioritization, country-specific relevance, fallback to global content, geographic diversity injection.
- AddedQuality Filters: Minimum engagement threshold, content completeness check, spam detection, low-quality filtering, Wilson score confidence.
- AddedDiversity Injection: Category distribution balancing, author variety enforcement, community representation, subject spread optimization, prevents filter bubbles.
- AddedCache Strategy: L1: In-Memory (1 min TTL), L2: Redis (15 min TTL), L3: Database (Fallback), Stampede Protection.
- AddedPerformance Optimizations: Feed generation: <200ms, Cache hit rate: >85%, Personalization depth: 50+ factors, real-time interest updates, graceful degradation.
- AddedalgorithmHealthMonitor.ts - Health check system.
- AddedalgorithmMonitoring.ts - Metrics collection.
- AddedalgorithmJobs.ts - Background maintenance.
- AddedDaily drift detection.
- AddedWeekly interest recalculation.
- AddedPerformance tracking dashboard.
- AddedMassive Component Refactoring - Complete component restructuring: Before: 15 monolithic components (500-1,500 lines each), After: 60+ modular components (50-300 lines each).
- AddedCode Reduction: ~6,000 lines removed through extraction.
- AddedNew Components: 45+ extracted subcomponents.
- AddedUserProfile.tsx (1,155 → 96 lines) - Extracted to 5 components: UserProfileHeader.tsx, UserProfileEdit.tsx, UserProfileStats.tsx, UserProfilePosts.tsx, BlockedUsersModal.tsx.
- AddedFlashcardSystem.tsx (1,383 → 400 lines) - Extracted to 4 components: FlashcardDialogs.tsx, FlashcardList.tsx, FlashcardStats.tsx, FlashcardStudyMode.tsx.
- AddedRichNoteEditor.tsx (1,481 → 300 lines) - Extracted to: EditorToolbar.tsx (569 lines), Markdown parsing utilities, Editor helper functions, OCR processing hooks.
- AddedWorkspaceCard.tsx (846 → 400 lines) - Extracted to: WorkspaceCardHeader.tsx, WorkspaceCardAnchors.tsx, Platform-specific content renderers.
- AddedSpotifyCard.tsx (876 → 200 lines) - Extracted to 5 components: SpotifyOverview.tsx, SpotifyProfile.tsx, SpotifyLibrary.tsx, SpotifySearch.tsx, SpotifyStats.tsx.
- AddedPlatformContentCard.tsx (484 → 150 lines) - Extracted to: VideoContent.tsx, WebContent.tsx, usePlatformContentData.ts.
- AddedRssFeedCard.tsx (435 → 200 lines) - Extracted to: RssFeedList.tsx.
- AddedWebContentViewer.tsx (737 → 300 lines) - Extracted to 4 components: WebContentHeader.tsx, WebContentMetadata.tsx, WebContentRenderer.tsx, WebTypographySettings.tsx.
- AddedImageLightbox.tsx (861 → 400 lines) - Extracted to: lightbox/subcomponents.tsx, lightbox/types.ts, lightbox/use-navigation.ts, lightbox/use-transform.ts.
- AddedSidebar.tsx (505 → 200 lines) - Extracted to: sidebar/sidebar-context.tsx, sidebar/sidebar-menu.tsx.
- Added22 New Custom Hooks (4,349+ lines) - Complete logic extraction from components to reusable hooks.
- AddedWorkspace Hooks (8 Files): useWorkspaceStore.ts, useWorkspaceCards.ts, useWorkspaceConnections.ts, useWorkspaceFlashcards.ts, useWorkspaceRichNotes.ts, useWorkspaceTasks.ts, useWorkspacePomodoro.ts, useWorkspaceCardLock.ts.
- AddedEditor & Content Hooks (6 Files): useRichNoteEditor.ts (345 lines), useFlashcards.ts (373 lines), useFlashcardMedia.ts, useMediaHandler.ts, useNoteExporter.ts, useNoteOrganization.ts.
- AddedStudy & Learning Hooks (2 Files): useStudySession.ts (183 lines), useOCRProcessor.ts.
- AddedIntegration Hooks (5 Files): useSpotifyAuth.ts (136 lines), useSpotifyData.ts (219 lines), useSpotifyLibrary.ts (219 lines), useSpotifySearch.ts (144 lines), useRssFeedLoader.ts (191 lines).
- AddedUser & Notifications (2 Files): useUserProfile.ts (553 lines), useRealtimeNotifications.ts (279 lines).
- AddedCSS Modularization - Separated global.css (1,085 lines) into modular system.
- AddedNew Style Structure: base.css (94 lines), animations.css (178 lines), themes/root.css (155 lines), themes/glass.css (327 lines), themes/retro.css (267 lines), components/grid.css (60 lines).
- AddedStyle Benefits: Faster Loading, Better Caching, Easy Maintenance, Theme Switching, Performance.
- AddedTailwind Config Enhancements: Custom perspective utilities, extended color palette, glass effect utilities, animation presets, grid system helpers.
- AddedProfile Management (NEW Components) - Complete profile editing and display system.
- AddedEdit Mode - Inline profile editing.
- AddedAvatar Upload - Image upload and cropping.
- AddedBio Management - Rich text bio editor.
- AddedPrivacy Settings - Profile visibility controls.
- AddedBlock Management - User blocking system.
- AddedStats Display - Engagement metrics.
- AddedPost History - User's content feed.
- AddedProfile header with edit capability.
- AddedStatistics dashboard.
- AddedBlock/unblock functionality.
- AddedFollow/unfollow system.
- AddedPost filtering and sorting.
- AddedSmart User Onboarding - Guided first-time user experience.
- AddedOnboardingCheck.tsx - Onboarding status checker.
- AddedOnboardingModal.tsx - Multi-step onboarding wizard.
- AddedOnboarding Steps: Welcome, Profile Setup, Interests, Preferences, Completion.
- AddedFeatures: Progress Tracking, Skip Option, Data Validation, Auto-Detection, Grade Levels.
- AddedRedis Integration (NEW) - Multi-layer caching system.
- AddedRedis Modules (3 Files, 344+ lines): cache/redis.ts, cache/smartCacheManager.ts, cache/stampedeProtection.ts.
- AddedCaching Strategy: Memory Cache (1 min), Redis Cache (15 min), Database (Fallback).
- AddedFeatures: Automatic invalidation, stampede protection, smart prefetching, TTL management, cache warming.
- AddedPerformance Metrics: Feed Generation: <200ms (cached), API Response Time: <100ms average, Cache Hit Rate: >85%, Database Queries: Reduced by 70%, Page Load Time: Improved by 40%.
- AddedNew Tables: echoes, user_interest_vectors, similar_users, interactions, algorithm_metrics.
- AddedMigration Scripts (3 Files): safe-migrate.js, test-algorithm-detailed.js, REDIS_SETUP.md.
- AddedMigration Features: Auto-Detection, Data Loss Protection, Environment Aware, Dynamic Schema, Rollback Safety.
- ChangedSchema Cleanup: Removed theme from users (moved to client-side IndexedDB), Removed fontSize from users (moved to client-side IndexedDB), Added country-aware content fields, Enhanced algorithm tracking.
- FixedCodeQL Security Fixes (2 Critical) - Incomplete Hostname Regex (CVE-2025-XXXX) - Severity: MEDIUM.
- FixedIssue: Incomplete YouTube URL validation.
- FixedImpact: Potential URL spoofing attacks.
- FixedBefore: /^https?:\/\/.*youtube\.com\/shorts\//i.
- FixedAfter: /^https?:\/\/(www\.)?youtube\.com\/shorts\//i.
- FixedProtection: Proper hostname validation, prevents bypass.
- FixedFiles Fixed: src/lib/rss/feed.ts (2 instances).
- AddedAuto-Refresh Feeds - All feed pages now auto-refresh.
- AddedConfigurable refresh intervals.
- AddedSmooth content updates.
- AddedNo pagination disruption.
- AddedPost Detail Modal (NEW) - Replaced dedicated post detail page.
- AddedModal-based post viewing.
- AddedFaster navigation.
- AddedBetter mobile experience.
- AddedPreserves scroll position.
- AddedContent Interaction Enhancements - Optimistic like/unlike.
- AddedOptimistic save/unsave.
- AddedOptimistic echo/unecho.
- AddedAnimation feedback.
- AddedError recovery.
- AddedSettings Page Overhaul - Grade level translations.
- AddedOnboarding integration.
- AddedBetter organization.
- AddedVisual improvements.
- AddedNew API Routes (10+ Files): /api/echoes, /api/feed, /api/algorithm/*, /api/cron/algorithm-maintenance.
- AddedEnhanced Existing Routes: /api/posts, /api/comments, /api/likes, /api/notifications, /api/users/profile, /api/owl-search.
- AddedAPI Features: Algorithm interaction recording, country-aware content filtering, grade level matching, real-time notifications, optimistic update support.
- AddedNew Type Definitions (7 Files): connection.ts, flashcard.ts, richNoteEditor.ts, rssFeed.ts, userProfile.ts, workspace-card.types.ts, workspace.ts.
- AddedNew Utilities (9 Files): editorHelpers.ts, markdownParser.ts, mediaHelpers.ts, rssMediaHelpers.ts, spacedRepetition.ts, userProfile.ts, workspaceAudio.ts, workspaceDatabase.ts, workspaceExport.ts.
- AddedUpdated Translation Files - English (en.json): 100+ new keys - Echo system terminology, algorithm features, onboarding steps, profile management, study session terms.
- AddedTurkish (tr.json): 100+ new keys - Türkçe echo terimleri, algoritma özellikleri, onboarding adımları, profil yönetimi, çalışma oturumu terimleri.
- AddedAlgorithm Analytics (NEW) - AlgorithmAnalytics.tsx - 579 lines.
- AddedFeatures: Algorithm health monitoring, user interest distribution, interaction patterns, performance metrics, drift detection reports, quality score analysis, cache hit rates, real-time statistics.
- FixedCritical Fixes: Migration Provider Conflict - Fixed SQLite/PostgreSQL migration issues.
- FixedData Loss Prevention - Added safe migration flags for schema changes.
- FixedYouTube URL Security - Fixed incomplete hostname validation (2 instances).
- FixedComponent Fixes: Fixed theme/fontSize persistence (moved to IndexedDB), Fixed post detail page navigation, Fixed notification real-time updates, Fixed workspace card state synchronization, Fixed Spotify integration edge cases.
- FixedPerformance Fixes: Reduced global.css bundle size by 85%, Optimized component re-renders, Improved feed generation performance, Better cache utilization, Faster API responses.
v0.2.1
- AddedAI Library Modules - Complete Gemini AI integration infrastructure with geminiClient.ts - Google Gemini API client with error handling.
- AddeddocumentParser.ts - Multi-format document parsing (PDF, DOCX, TXT, MD).
- AddeddocumentChunker.ts - Intelligent text chunking for large documents.
- AddedcontentFormatter.ts - Content formatting and validation.
- AddedpromptTemplates.ts - Optimized prompts for different content types.
- AddedFlashcards - Auto-generated study flashcards with difficulty levels.
- AddedQuestions - Practice questions with multiple choice and true/false.
- AddedStudy Notes - Structured notes with key points and summaries.
- AddedAIContentModal.tsx - Main AI generation interface.
- AddedAIFlashcardViewer.tsx - Interactive flashcard display.
- AddedAIQuestionViewer.tsx - Question practice interface.
- AddedAINotesViewer.tsx - Formatted notes viewer.
- AddedDocumentUploader.tsx - Multi-format file upload (PDF, DOCX, etc.).
- AddedContentTypeSelector.tsx - Content type selection UI.
- AddedAgeGroupSelector.tsx - Age-appropriate content generation.
- AddedCardCountSelector.tsx - Customizable output quantity.
- AddedOutputLanguageSelector.tsx - Multi-language support.
- AddedWorkspaceAddButton.tsx - Direct workspace integration.
- AddedPOST /api/ai/generate - Content generation with streaming support.
- AddedPOST /api/ai/parse-document - Document parsing endpoint.
- AddedEnhanced POST /api/posts - AI metadata support.
- AddedAI-generated badge indicator.
- AddedExpandable/collapsible content view.
- AddedDirect workspace integration.
- AddedSource document tracking.
- AddedAge group metadata.
- AddedaiGenerated - Boolean flag for AI content.
- AddedaiContentType - Type identifier (flashcards/questions/notes).
- AddedaiGeneratedContent - JSON storage for structured content.
- AddedaiSourceDocument - Original document reference.
- AddedaiAgeGroup - Target age group metadata.
- FixedCritical XSS Vulnerability Fix (CodeQL #24) - Security Level: CRITICAL.
- FixedIssue: Incomplete multi-character sanitization vulnerability.
- FixedImpact: Potential XSS attacks via nested HTML tags.
- FixedFix: Implemented sanitize-html library for robust sanitization.
- FixedBefore: /<[^>]*>/g regex (bypassable).
- FixedAfter: Industry-standard sanitize-html with zero-tolerance policy.
- FixedProtection: OWASP Top 10 compliance (CWE-20, CWE-80, CWE-116).
- AddedMiddleware Protection: Direct /sounds/ access blocked (403 Forbidden).
- AddedAPI Route: Secure serving via /api/sounds/[filename].
- AddedUser-Agent Validation: Blocks curl/wget direct downloads.
- AddedCache Control: 24-hour caching with proper headers.
- AddedWhitelist: Only approved system sounds accessible.
- Addedglass-light - Light mode glassmorphism with subtle blur.
- Addedglass-dark - Dark mode glassmorphism with enhanced contrast.
- AddedSeparate theme configurations for better visual consistency.
- ChangedUpdated ThemeContext with glass variant support.
- AddedNew icon: Wine glass (replacing GlassWater).
- AddedGlassSettingsPanel Component (NEW) - Centralized theme customization interface.
- AddedReal-time preview of theme changes.
- AddedGlass intensity controls.
- AddedBlur effect adjustments.
- AddedIntegrated into Navigation bar.
- ChangedRemoved: Excessive glassmorphism from Card component.
- ChangedRemoved: Glassmorphism from ImageLightbox for better readability.
- ChangedResult: Cleaner, more focused design with better performance.
- ChangedAll sound files migrated from direct /sounds/ to secure /api/sounds/ route (13 Files Updated).
- ChangedUpdated Components: LoginButton.tsx, ContentInteraction.tsx, NotificationDropdown.tsx, PomodoroTimer.tsx, WorkspaceCard.tsx, useWorkspaceStore.ts.
- AddedSecurity Benefits: Prevents direct file access and hotlinking, user-agent validation, rate limiting capability, audit trail for sound requests, consistent caching strategy.
- AddedAllowed Sounds: button-click.mp3, card-add.mp3 / card-delete.mp3, comment-button.mp3 / like-button.mp3, connection-add.mp3 / connection-remove.mp3, lock.mp3 / unlock.mp3, notification-received.mp3, pomodoro-start.mp3 / pomodoro-complete.mp3, pool-vote.mp3.
- AddedOptimistic Updates & Animations - Instant UI feedback before server response.
- AddedSmooth scale and rotate animations on like/save.
- AddedLocal state management with server sync.
- AddedAnimation timing: 300ms with easing.
- AddedReduced perceived latency significantly.
- AddedShow More/Less - Expandable content for long posts.
- AddedActivity Tracking - View duration tracking (3+ seconds).
- AddedIntersection Observer - Automatic view counting.
- AddedImage Error Handling - Graceful fallback for broken images.
- AddedComment Count Updates - Real-time comment synchronization.
- ChangedPrefetch Disabled - Navigation and MobileNavigation (faster page loads).
- AddedOptimized Images - onError callback support.
- AddedPerspective Utility - Tailwind 3D transformation support (1000px).
- AddedComplete markdown-to-BlockNote conversion with Markdown Parser (167+ lines).
- AddedHeadings: #, ##, ### support.
- AddedLists: Bullet (-, *) and numbered (1., 2.).
- AddedInline Styles: Bold (**text**), italic (*text*), code (`code`).
- AddedLinks: Markdown link syntax ([text](url)).
- AddedCode Blocks: Fenced code with language support.
- AddedBlockquotes: Quote formatting.
- AddedParse AI-generated markdown notes.
- AddedConvert to BlockNote blocks automatically.
- AddedPreserve formatting and structure.
- AddedError recovery for malformed content.
- ChangedTiptap config optimization.
- ChangedConsole warning suppression.
- ChangedBetter error handling.
- AddedContent validation.
- ChangedMajor database schema update: Migrated from user-based to content-based country detection.
- AddedRSS feed country association.
- AddedPost metadata country tracking.
- AddedImproved content localization.
- AddedBetter regional content filtering.
- AddedPrisma Updates - AI content fields schema.
- AddedMigration files for production deployment.
- AddedDatabase index optimizations.
- AddedImproved query performance.
- ChangedIndexedDB Migration - User preferences moved to IndexedDB.
- AddedOffline-first architecture.
- AddedBetter sync with server.
- AddedData migration utilities.
- AddedEnglish (en.json): showMore / showLess - Content expansion controls, Discover section enhancements, Search functionality labels, AI-related terminology.
- AddedTurkish (tr.json): showMore: 'Daha Fazla Göster', showLess: 'Daha Az Göster', AI terminology translations, Enhanced discover section.
- ChangedNext.js 15 Compatibility - Async params support in API routes.
- ChangedPackage Dependencies - Updated lowlight and other dependencies.
- ChangedType Safety - Improved TypeScript definitions.
- AddedBuild Time - ~18.6s compilation time.
- Added55 Routes - All routes successfully compiled.
- Addedcleanup-invalid-images.js - Database image reference cleanup.
- AddedEnhanced Prisma generation scripts.
- AddedDatabase migration utilities.
- AddedError handling for stack trace generation with debug improvements.
- AddedBetter logging in debug logger.
- AddedConditional logging (dev-only admin access logs).
- AddedImproved error messages.
- AddedSecurity Enhancements - Direct sound file access blocked (403 Forbidden).
- AddedEnhanced request validation.
- AddedBetter user-agent filtering.
- AddedImproved error responses.
- ChangedPerformance - Removed excessive console logging.
- AddedConditional debug logging (dev-only).
- AddedOptimized request handling.
- AddedBetter response caching.
- AddedNew Documentation Files (3156+ lines): OWL-App-2025-Trend-Analysis-Report.md, owl-app-2025-trend-analysis.md, granite-docling-scenarios.md.
- FixedXSS Vulnerability (CodeQL #24) - Sanitization bypass prevention.
- FixedNext.js 15 Async Params - API route compatibility.
- FixedPackage Lock Sync - Dependency version conflicts.
- FixedImage icon conflict in FlashcardSystem (Image → ImageIcon).
- FixedTheme and fontSize fields removed from auth query.
- FixedStack trace error handling in debug logger.
- FixedSound path migrations across 13 components.
- AddedNew Packages: sanitize-html - HTML sanitization (security).
- Added@types/sanitize-html - TypeScript types.
- AddedAI-related dependencies for Gemini integration.
- ChangedUpdated Packages: lowlight - Syntax highlighting.
- ChangedVarious package version alignments.
- ChangedNext.js 15 compatibility updates.
v0.2.0
- ChangedFirebase Client SDK and Firebase Admin SDK removed - Migration to Google OAuth.
- ChangedMigration to NextAuth.js + Prisma database completed.
- Changed~200KB bundle size reduction, faster server startup, better CSRF protection.
- ChangedAll users automatically migrated, JWT-based sessions, no data loss.
- AddedExtended session data with complete user profile (role, school, grade, theme, fontSize, etc.).
- ChangedEliminated redundant database calls in API routes.
- AddedAuto-create user on first login with default STUDENT role.
- ChangedSession-based user data for performance optimization.
- AddedGraceful error handling and fallback mechanisms.
- AddedNow Playing Widget: Real-time playback display with controls.
- AddedTop Artists Gallery: Time-range selection (4 weeks, 6 months, all-time).
- AddedTop Tracks Chart: Ranked list with popularity metrics.
- AddedRecently Played Timeline: Chronological history (last 50 tracks).
- AddedPlaylist Management: View, search, and manage playlists.
- AddedLibrary Integration: Saved tracks, albums, followed artists.
- AddedSearch: Multi-type search (tracks, albums, artists, playlists).
- AddedStatistics: Listening analytics and insights.
- AddedZustand Store: 295+ lines of centralized state management.
- AddedIndexedDB Persistence: Auto-save, offline support, data migration.
- Added9 Card Types Supported: Platform Content, Rich Note, Calendar, Pomodoro, Task Board, Flashcards, RSS Feed, Owl Search, Spotify.
- AddedWorkspaceCard: Connection system (4-sided anchors), resize polish (200+ lines).
- AddedPomodoroTimer: Statistics dashboard, session tracking (301+ lines).
- AddedConnectionsOverlay: Visual connection lines between cards.
- AddedVirtualizedCardRenderer: Performance optimization for 100+ cards.
- AddedMiniMap: Workspace navigation with viewport indicator (NEW).
- AddedPlatformContentCard: Better error handling and refresh.
- AddedComplete drag-and-drop workspace (121+ lines).
- AddedAdd new cards menu.
- AddedConnection mode toggle.
- AddedWorkspace templates.
- AddedExport/import functionality.
- AddedFull-screen mode.
- AddedBilateral Block System: Prevent all interactions.
- AddedBlock Status Check: Fast bilateral detection (NEW).
- AddedMutes System: Softer alternative to blocks (NEW).
- AddedFeatures: Cascade delete, audit trail, can't block yourself.
- AddedComment Threading: Reply support with depth limits.
- AddedPagination: Cursor-based for efficiency.
- AddedCRUD Operations: Individual comment endpoints (NEW).
- AddedFeatures: Edit history, like/unlike, notifications.
- AddedEnhanced Queries: Multi-criteria filtering, search.
- AddedMember Management: Roles (member/moderator/admin).
- AddedJoin/Leave: Approval system for private communities.
- AddedCommunity Posts: Separate post management.
- AddedFollow System: Mutual follow detection.
- AddedLikes: Batch operations, optimistic updates.
- AddedMutes: Temporary or permanent, keyword support (NEW).
- AddedPool Categories: Subject-based organization (NEW).
- AddedPool Management: CRUD operations, bulk actions.
- AddedFeatures: Privacy settings, color/icon selection.
- Added418+ lines changed - Complete rewrite with Posts API (MAJOR OVERHAUL).
- AddedRich Media: Images, videos, audio, PDF support.
- AddedContent Processing: XSS protection, Markdown conversion, @mentions, hashtags.
- AddedPrivacy Levels: Public, followers, private, community-only, drafts.
- AddedDiscovery: Trending algorithm, most-read ranking.
- AddedPerformance: Cursor pagination, query optimization.
- AddedSearch & Filters: Name, email, school, role, grade.
- AddedExtended Profile: 99+ lines of profile enhancements.
- AddedProfile Statistics: Posts, comments, likes, followers.
- AddedFollowers/Following Lists: Mutual detection, pagination.
- AddedUser Posts Endpoint: Privacy-filtered post listing.
- AddedUser Comments/Likes History: New endpoints (NEW).
- AddedContent Scraping: YouTube, Vimeo, web articles (152+ lines).
- AddedDocument Processing: PDF, Word, PowerPoint extraction.
- AddedRSS Integration: Feed parsing and caching.
- AddedRecommendations: Collaborative + content-based filtering.
- Added342+ lines added to globals.css.
- AddedDark Mode: Comprehensive support.
- AddedRetro Theme: Synthwave aesthetics with neon colors.
- AddedAnimations: GPU-accelerated, smooth transitions.
- AddedCustom Scrollbars: Styled for all themes.
- AddedThemeContext Enhancement: 51+ lines added.
- AddedThemes: Light, Dark, Retro (synthwave).
- AddedPersistence: localStorage + cross-tab sync.
- AddedKeyboard Shortcut: Ctrl+Shift+T.
- ChangedLoginButton: Google OAuth only, Firebase UI removed.
- AddedUserProfile: Extended fields, theme preference.
- AddedAgeVerification: Better UX, COPPA compliance.
- AddedPostCard: Rich media support, improved interactions (54+ lines).
- AddedContentInteraction: Sound effects integration (94+ lines).
- AddedCommentDialog: Threading support.
- AddedOther: ContentPreview, PostCreationForm, DiscoverNotes, MostReadNotes.
- AddedLogo: New branding assets.
- AddedCard: Theme-aware styling.
- AddedImage Lightbox: Zoom and pan controls.
- AddedTheme Toggle: Retro theme support.
- AddedPoolManagement: Category support (32+ lines).
- AddedSavedPosts: Better organization (108+ lines).
- AddedPoolItemActions: Sound feedback.
- Added241+ lines added - Complete redesign with User Profile Overhaul.
- AddedTabbed Interface: Posts / Comments / Likes tabs.
- AddedActivity Statistics: Total posts, comments, likes received.
- AddedFollow/Unfollow: Integrated button.
- AddedBlock/Report: Moderation options.
- AddedNotificationDropdown: Sound effects (24+ lines).
- AddedUserControls: Block/mute with sound feedback.
- AddedNavigation: Work environment link added.
- AddedMobileNavigation: Enhanced mobile nav.
- Added13 Sound Files Added (NEW) with Sound Effects System.
- AddedInteraction Sounds: button-click.mp3, like-button.mp3, comment-button.mp3, pool-vote.mp3.
- AddedWork Environment: card-add.mp3, card-delete.mp3, connection-add.mp3, connection-remove.mp3.
- AddedModeration: lock.mp3, unlock.mp3.
- AddedNotifications: notification-received.mp3.
- AddedPomodoro: pomodoro-start.mp3, pomodoro-complete.mp3.
- AddedAll sounds <50KB, <1s duration.
- AddedVolume normalized, high quality.
- AddedPreloaded for instant playback.
- AddedUser settings: enable/disable, volume control.
- AddedHome: Personalized feed algorithm (50+ lines).
- AddedDiscover: Enhanced discovery with trending (84+ lines).
- AddedFollowing: Activity feed with filters (20+ lines).
- AddedCommunities: Better discovery (18+ lines).
- AddedAdmin Dashboard: User management, content moderation queue (34+ lines).
- AddedModeration Page: Report queue, quick actions (24+ lines).
- AddedSaved Page: Pool organization (10+ lines).
- AddedSettings: New preferences, theme customization (12+ lines).
- Added/profile/[userId] - Dynamic user profile view (NEW).
- Added/profile/comments - User comments tab (NEW).
- Added/profile/likes - User likes history (NEW).
- Addedclient-providers.tsx - Provider wrapper (NEW).
- AddedLocale Layout: Provider hierarchy (102+ lines).
- AddedRoot Layout: Metadata and SEO updates (9+ lines).
- AddedComing Soon: Better design and features.
- AddedEnglish Translations: 30+ new keys for features.
- AddedTurkish Translations: 22+ new keys (Çalışma Ortamı, Spotify, vb.).
- AddedMiddleware: Locale detection, URL routing, cookie persistence.
- AddedLanguages: Turkish (default), English.
- AddedFeatures: Browser detection, SSR support, type-safe translations.
- ChangedRemoved Unused Packages: glasscn-ui, playwright, firebase, firebase-admin - Total: 26 packages removed, ~100MB saved.
- AddedAdded Dependencies: express (^4.21.2) + @types/express for production server.
- Added.gitignore Updates: CRITICAL: client_secret_*.json - Prevent OAuth secret leaks.
- AddedDatabase: prisma/*.db, prisma/db/*.db, prisma/prisma/*.db.
- AddedTest Results: test-results/ directory.
- AddedCompliance: SOC2, GDPR ready.
- AddedEnvironment Variables: SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, SPOTIFY_REDIRECT_URI added.
- ChangedEnvironment Variables: FIREBASE_* variables removed (deprecated).
- AddedDocumentation: Inline comments, environment-specific examples.
- ChangedUpdated: favicon.ico (15KB, optimized from 42KB).
- ChangedUpdated: favicon.png, logo.png, logo.svg (high-res, new design).
- AddedNEW: favicon.svg (modern browsers).
- AddedNEW: owl-like-icon.png (custom like icon).
- Added141+ utility functions added with utils.ts Enhancements.
- AddedClass name utilities, date formatters, string helpers.
- AddedNumber formatters, URL utilities, array/object helpers.
- AddedValidation functions, color utilities, storage helpers.
- AddedDebounce/throttle, type guards.
- Addednotifications.ts: Real-time delivery, push notifications, email queuing.
- AddedimageOptimizer.ts: Automatic resizing, format conversion, Sharp integration.
- AddedapiDebug.ts: Request logging, performance monitoring.
- AddeduseDragDrop: Better state management, mobile touch support (10+ lines).
- AddeduseBlockCheck: Block status checking with cache (NEW).
- AddedNew Tables: spotifyTokens, mutedUsers, workspaceCards, cardConnections.
- AddedExtended Models: User (theme, fontSize), Post (privacy levels), poolCategories.
- ChangedRemoved: Old duplicate databases (custom.db, dev.db).
- ChangedSize: 716KB (cleaned from 819KB).
- AddedMigration Scripts: migrate-api-routes.js - API migration helper (NEW).
- AddedImage Optimization: Spotify CDN domain (i.scdn.co).
- AddedExperimental Features: serverActions, optimizePackageImports.
- AddedBundle Optimization: Tree shaking, code splitting.
- AddedREADME: Advanced media support, work environment features, Spotify guide.
- AddedArchitecture: Technology stack updates, installation instructions.
v0.1.9
- AddedWeighted heuristics for article detection (length/paragraphs/headings/sentences).
- AddedStructured content output (heading/paragraph/list/quote/image).
- AddedPlain-text generation without image placeholders.
- AddedFrequency-based (TextRank-like) sentence scoring.
- AddedNoise cleanup (Image placeholders, sponsored/read more/related, etc.).
- AddedMinimum-length support (defaults to 500 chars) with auto sentence-count ramp-up.
- Changed/api/web-content switched to local extractor + summarizer.
- AddedPreserves structuredContent for the viewer.
- AddedFilters non-content images: logos/icons/banners/ads/social/pinterest/pinimg/kaydet/tracking/analytics/avatar/badge.
- AddedIgnores .svg, .gif, /animation paths and small data URLs.
- AddedDrops tiny/odd-ratio images via size and aspect heuristics.
- AddedNew AISummary component with toggle in WebContentViewer.
- AddedDefault min length 500 chars; toggle in settings menu.
- AddedElastic spring-based quadratic paths (rubber-like).
- AddedLive DOM rects for precise endpoints.
- AddedStable on pan/zoom; rAF only while dragging/linking.
- AddedOwlSearchCard component.
- Added/api/owl-search endpoint scaffold.
- AddedOAuth2 login via NextAuth.js Spotify provider.
- AddedUser profile & playlists browsing.
- AddedIn-app Spotify search (tracks/albums/artists/playlists).
- AddedEmbedded player cards created from selections.
- AddedAuto-resizing embed players (100% width/height).
- AddedGroup locking with lockedGroups state management.
- AddedSmooth tween animations (120ms ease-out) for locked card movements.
- AddedVisual feedback: pulse ring animation on lock/unlock.
- AddedAudio feedback: lock/unlock sound effects via public/sounds/.
- AddedCustom events for animation coordination.
- AddedLock/unlock sound effects moved to public/sounds/.
- Addedlock.mp3 and unlock.mp3 audio files.
- AddedIntegrated into WorkspaceCard lock button interactions.
- AddedEnv-aware Prisma generate script scripts/prisma-generate.js.
- AddedLocal: generate with native engines.
- AddedVercel/Prod: --no-engine.
- Changed.gitignore: ignore release/ directory.
- Changed@mdxeditor/editor: 3.46.0 → 3.46.1 updated.
- Changed@playwright/test: 1.55.0 → 1.55.1 updated.
- Changed@react-pdf/renderer: 4.3.0 → 4.3.1 updated.
- Changed@reactuses/core: 6.0.6 → 6.1.0 updated.
- Changed@tanstack/react-query: 5.90.1 → 5.90.2 updated.
- Changedeslint-config-next: 15.5.3 → 15.5.4 updated.
- Changedframer-motion: 12.23.16 → 12.23.21 updated.
- Changednext: 15.5.3 → 15.5.4 updated.
- Changedtw-animate-css: 1.3.8 → 1.4.0 updated.
- Changedwavesurfer.js: 7.10.1 → 7.10.3 updated.
v0.1.8
- AddedInteractive demo component designed with 80s aesthetic.
- AddedColor palette, interactive elements, and gradient effects.
- AddedShowcase of retro shadows, borders, and visual effects.
- AddedDemo instructions for theme switching in settings.
- AddedResponsive grid layout for demo cards.
- AddedExtended theme types: Added 'retro-light' and 'retro-dark' theme types.
- AddedSeparate custom retro theme management from next-themes.
- AddedLocalStorage persistence for retro themes.
- AddedTheme bridge creation for retro theme management.
- AddedDocument class management for retro themes.
- Addedretro-light and retro-dark color schemes.
- AddedRetro shadow system in xs, sm, md, lg, xl sizes.
- AddedRetro-themed button, card, and input styles.
- AddedRetro theme support for BlockNote editor.
- AddedRetro gradient effects and text styling.
- AddedRetro border and pixel effects.
- AddedAdded retro-light and retro-dark options to settings page.
- AddedTheme selector with proper labels.
- AddedTheme preview and switching implementation.
- AddedUI updates to accommodate retro theme selection.
- AddedFirefox Reading Mode similar content extraction.
- AddedMozilla Readability integration for article parsing.
- AddedSpecific content selectors for Turkish websites.
- AddedFallback content cleaning methods.
- AddedRemoval of unwanted elements like ads, navigation, etc.
- AddedRSS content cleaning with HTML and text output.
- AddedLink density analysis and spam detection.
- AddedUse of contentCleaner for RSS content processing.
- AddedcleanRssContent function calls for HTML/text extraction.
- AddedEnhanced content parsing for RSS feeds.
- AddedContent quality improvement by removing unwanted elements.
- AddedAdded Evrim Ağacı, Bilim ve Gelecek, Popular Science TR, TÜBİTAK Bilim Genç Turkish science providers.
- AddedAcademia & Announcements (TR): Added TÜBİTAK, YÖK, TÜBA, TÜSEB, Türkiye Ulusal Ajansı (Erasmus+).
- AddedTurkish News: Added BBC Türkçe, NTV, CNN Türk, Anadolu Ajansı, DW Türkçe.
- AddedExisting international providers: Kept BBC, The Verge, TechCrunch and more.
- AddedComprehensive loading message types (connecting, processing, etc.).
- AddedInterval-based message cycling implementation.
- AddedInternationalization support with next-intl.
- AddedCustomizable message keys and intervals.
- AddedLoading state management with React hooks.
- AddedTypeScript types for loading message keys.
- Added30+ loading message translations.
- AddedSpecific messages for connecting, processing, analyzing.
- AddedContent loading messages (feed, profile, settings).
- AddedUpload/download status messages.
- AddedAuthentication and validation messages.
- AddedTranslation of all English loading messages to Turkish.
- AddedConsistent terminology across languages.
- AddedTurkish-specific loading message phrasing for user experience.
- AddedProper Turkish localization.
- Addedpost_images table with optimized image storage.
- AddedSmall, medium, large multiple image size variants.
- AddedResponsive image JSON storage implementation.
- AddedImage metadata fields (dimensions, mime type, etc.).
- AddedUnique index on postId for image relationships.
- AddedRetro theme configuration to user preferences.
- Addedpost_images model with image optimization fields.
- AddedSchema relationship updates for enhanced content management.
- AddedNew fields for retro theme settings.
- ChangedVersion update from 0.1.x to 0.1.8.
- AddedNew dependencies for enhanced functionality.
- ChangedUpdate existing packages to latest versions.
- ChangedSecurity updates and performance improvements.
- AddedDevelopment dependencies for better tooling.
- AddedTheme switching logic to handle retro themes.
- AddedVisual feedback for theme changes.
- AddedAccessibility improvements for theme selection.
- AddedRetro theme styling variants.
- AddedTheme-aware logo rendering.
- AddedLogo colors and effects update for retro aesthetic.
- AddedLogo visibility across all themes.
- AddedRetro theme styles and effects.
- ChangedImproved content display for RSS feeds.
- AddedContent cleaning integration for better readability.
- ChangedCard layout updates for enhanced user experience.
- AddedContentCleaner integration for RSS content processing.
- AddedClean content display with HTML/text options.
- ChangedImproved RSS feed parsing.
- AddedError handling for content cleaning failures.
- AddedDual-pane editing with merge-right-to-left utility.
- AddedDebounced autosave with image blob → data URL persistence.
- Addedtesseract.js with language selection (TR/EN) OCR support.
- AddedCreate media cards (YouTube/Spotify/direct/file) connected to notes.
- AddedSimple TXT/Markdown export helpers.
- AddedPrevent canvas pan conflicts while editing.
- AddedSpotify Web API integration: Playlist, album, and artist tracks as RSS feed items.
- AddedIndividual tracks with album artwork, artist info, and playable embeds.
- AddedSequential numbering for playlist tracks.
- AddedMulti-format support for Spotify URLs, embed codes, and direct IDs.
- AddedEnvironment variables for Spotify Client ID and Secret.
- ChangedCSP headers updated for Spotify embed player security.
- AddedNeon-arc anchors, retro-aware colors, click-to-link, double-click to remove.
- ChangedImproved fullscreen/resize behavior; drag limited to handle.
- AddedClean routing to PlatformContent, RichNote, Calendar, Pomodoro, TaskBoard, Flashcards, RSS.
- AddedContent cleaning integration for thumbnail extraction.
- ChangedImproved image detection algorithms.
- ChangedBetter thumbnail quality selection.
- AddedSupport for various image formats and sources.
- AddedImage upload support with optimization.
- ChangedImproved form validation.
- AddedLoading states with new loading messages.
- ChangedEnhanced user experience with better feedback.
- AddedRetro theme styling options.
- AddedTheme-aware button appearance.
- ChangedAuthentication flow integration update.
- AddedAccessibility improvements.
v0.1.7
- AddedAdded comprehensive RSS and Atom feed parsing with autodiscovery.
- AddedYouTube channel ID resolver supporting handles, URLs, and UC... formats.
- AddedAdded webpage link scanning and common RSS endpoint discovery.
- AddedIntegrated thumbnail extraction from RSS items using pickThumbnail utility.
- AddedAdded YouTube Shorts detection and slicing with paging support.
- AddedAdded region-based mostPopular endpoint with duration-based Shorts filtering.
- ChangedImproved logging and comprehensive error handling throughout RSS pipeline.
- AddedComprehensive RSS provider catalog including YouTube, Reddit, Hacker News, Medium, DEV.to, GitHub, Stack Overflow, Product Hunt, BBC, The Verge, and TechCrunch.
- AddedYouTube special modes: support for user resolve and popular by region modes.
- AddedAdded getProvider and rssCategories helper functions for UI integration.
- AddedComplete TypeScript type definitions for provider configurations.
- AddedRobust thumbnail extraction from item HTML content.
- AddedMultiple source support: Extract from <img src>, data-src, srcset, Open Graph images, or plain URLs.
- AddedAutomatic relative URL absolutization against link URLs.
- AddedpickThumbnail helper prioritizing media/enclosure content.
- ChangedFixed top/bottom connection anchors to align perfectly with card edges.
- ChangedCorrected arc orientation to match left/right anchor styling.
- ChangedFine-tuned transforms for consistent anchor visibility.
- ChangedRemoved side edge resize handles, keeping only corner handles.
- ChangedSimplified component structure by removing unused edge handle elements.
- AddedBuild feed URLs from configurable RSS providers with dropdown interface.
- AddedIntegrated with /api/rss endpoint with comprehensive error handling and limits.
- AddedSplit YouTube items into Videos and Shorts with toggle functionality.
- AddedClick RSS items to spawn PlatformContent cards (YouTube/Spotify/Web).
- AddedFull card state persistence via onUpdate mechanism.
- AddedAdded dedicated web content viewer with typography controls.
- AddedFont family, size, line spacing, and word spacing controls.
- AddedPersistent typography settings using useWebTypography hook.
- AddedDOM-based highlight ranges with color palette.
- AddedCollapsible highlights panel with unique highlight listing.
- AddedConvert highlights to Rich Notes via richNoteManager.
- AddedHighlight storage per contentId in localStorage.
- AddedAutomatic sensible title generation from selected text.
- AddedSupport for YouTube/Spotify/direct media with video metadata.
- AddedConvert highlights to Rich Notes with source connections.
- AddedComplete article annotation system with highlight management.
- AddedOptional split editor panes for enhanced productivity.
- AddedMerge-right-to-left utility for content consolidation.
- AddedIntelligent auto-save with 2-second minimum intervals.
- AddedComplete version history updates on save operations.
- AddedConvert blob image URLs to data URLs for reliable persistence.
- AddedAdded OCR modal with language selection using tesseract.js.
- AddedCreate connected PlatformContent cards (YouTube/Spotify/direct/file).
- AddedSVG connection rendering between related cards.
- ChangedPrevent canvas pan conflicts when editing rich notes.
- ChangedImproved focus handling within editor environment.
- ChangedMaintain split-view compatible content structure.
- AddedFont family options, size, line and word spacing controls.
- AddedPersistent reading preferences across sessions.
- AddedExpose style helpers for WebContentViewer integration.
- AddedEnhanced accessible reading experience.
- AddedDetect existing rich note connections for source cards.
- AddedAppend new paragraph blocks or create new cards as needed.
- AddedPreserve split-view compatible content structure.
- AddedSave versions and add connections with proper anchors.
- AddedAdded comprehensive RSS interface labels and controls.
- AddedSupport for RSS provider names and modes.
- AddedRich note, toolbar, and help text translations.
- ChangedComplete translation synchronization with refinements.
- ChangedEnhanced user interface consistency across languages.
- AddedAdded YOUTUBE_API_KEY documentation for YouTube integrations.
- AddedOrganized configuration sections with optional service placeholders.
- AddedComprehensive API key and service configuration guidance.
- ChangedUpdated to custom OWL non-commercial license v1.0.
- AddedDefined permitted and prohibited uses with clear boundaries.
- AddedAdded attribution, warranty disclaimer, and commercial licensing contact.
- ChangedEnhanced legal compliance and usage transparency.
- AddedRobust HTML fetching with proper headers and timeout handling.
- AddedExtract title, author, publish/modify times, siteName and images.
- AddedParse headings, paragraphs, lists, quotes, and images.
- AddedProduce cleaned text content and smart excerpt generation.
- AddedComprehensive URL validation and non-HTML/error state handling.
v0.1.6
- AddedAdded server endpoint for RSS/Atom autodiscovery and parsing.
- AddedStrict content-type validation - accept only XML/Atom/RSS.
- AddedYouTube heuristics: channel and playlist URLs mapped to feeds/videos.xml.
- AddedVerbose server logs for discover/fetch flows.
- AddedNew rssFeed card type with site URL input and 'Discover' action.
- AddedFeed selection dropdown and item list (title, date, summary).
- AddedDetailed client logs to aid troubleshooting.
- AddedClicking a YouTube/Spotify item creates a new linked media card.
- AddedRSS card remains open; media card appears next to it.
- AddedConnection persisted in content.connectedTo.sourceCardId.
- ChangedVirtualization updated to keep media cards mounted even offscreen.
- ChangedPrevents playback from stopping when card leaves viewport.
- AddedAdded rssFeed to all card type unions and dialogs.
- ChangedPage and store types updated; AddCardDialog extended with RSS option.
- FixedDeleting a card now cancels pending debounced saves.
- FixedImmediate IndexedDB persistence prevents deleted cards from reappearing.
- AddedAdd interactive anchors on four sides of every card.
- AddedSingle-click to start linking, click target anchor to complete.
- AddedDouble-click an anchor to remove all connections at that anchor.
- AddedElastic, curved SVG connectors that follow the cursor during linking.
- AddedReal-time updates while dragging cards; stable during pan/zoom.
- AddedAnchors use neon half-circle styling (purple idle, green when connected).
- AddedNew IndexedDB store 'connections' (db version bump).
- AddedConnections are created/removed transactionally and loaded on init.
- AddedDeleting a card removes all connections for that card.
- AddedGlobal cursor tracking while linking for smoother temporary line.
- ChangedSafer cancel logic: linking cancels only on background click, not generic mouseup.
- ChangedRemoved drag-end transform transition to eliminate jump effect.
v0.1.5
- AddedComprehensive flashcard system: Implemented complete spaced repetition learning with SM-2 algorithm.
- AddedMedia support for flashcards: Added support for images, audio, and video content in flashcards.
- AddedStudy session tracking: Implemented detailed statistics and performance analytics.
- AddedImport/export functionality: Added data portability for flashcard collections.
- AddedOCR integration: Text extraction from images for enhanced learning content.
- AddedDifficulty tracking: Advanced performance monitoring and adaptive learning features.
- AddedSplit-view editing: Complete split-view editing capability for enhanced productivity.
- ChangedAuto-save with debouncing: Intelligent auto-save system with 2-second idle periods.
- AddedOCR integration: Text extraction from images directly within the editor.
- AddedMedia insertion: Video and audio insertion functionality for rich content.
- AddedVersion history: Complete version tracking and content management.
- AddedCross-reference features: Advanced organization and linking capabilities.
- AddedExport functionality: PDF and Markdown export options for content portability.
- ChangedEnhanced UX: Improved keyboard event handling and user experience.
- AddedYouTube and Spotify support: Complete embed support for major content platforms.
- AddedVideo content detection: Automatic detection and rendering of video content.
- AddedContent filtering: Advanced filtering and search capabilities for platform content.
- AddedAuto-refresh: Configurable auto-refresh functionality with custom intervals.
- AddedPagination support: Efficient handling of large content sets.
- AddedError handling: Comprehensive fallback UI for blocked or unavailable content.
- ChangedOptimized drag & drop: Enhanced drag and drop with useDragDrop hook integration.
- AddedFullscreen mode: Better content viewing experience with fullscreen capabilities.
- ChangedResize handles: Improved resize handles with grid snapping functionality.
- ChangedHover state management: Enhanced UX with proper hover state handling.
- ChangedPerformance optimization: Memo and useCallback optimizations for better rendering.
- ChangedKeyboard interactions: Proper event handling for accessibility and keyboard navigation.
- AddedResizeObserverErrorHandler: Global error handling for canvas and workspace components.
- ChangedDocker build improvements: Conditional Google Fonts loading for better build reliability.
- FixedTypeScript compilation: Fixed compilation errors and improved type safety.
- ChangedPWA manifest updates: Improved app name, description, and icon configuration.
- ChangedEnhanced installation: Better PWA installation experience across devices.
- ChangedTheme configuration: Proper theme and background color setup.
- AddedFavicon addition: Added favicon.png for improved site identification.
- ChangedBranding consistency: Updated project name to 'owl-educational-social-platform'.
- ChangedPackage updates: Updated critical dependencies to latest versions: axios: 1.12.1 → 1.12.2, highlight.js: 10.7.3 → 11.11.1, @types/node: 24.3.3 → 24.4.0, @types/dompurify: 3.0.5 → 3.2.0.
- FixedSecurity fixes: Resolved TypeScript compilation issues and dependency conflicts.
- ChangedPackage lock synchronization: Ensured package.json and package-lock.json consistency.
v0.1.4
- ChangedLicense migration: Changed from PolyForm Noncommercial to Apache 2.0 license, enabling commercial use.
- AddedCommunity guidelines: Added comprehensive CONTRIBUTING.md with development setup, coding standards, and contribution workflow.
- AddedCode of conduct: Implemented detailed CODE_OF_CONDUCT.md with enforcement guidelines and community expectations.
- AddedSecurity policy: Enhanced SECURITY.md with vulnerability reporting procedures and security best practices.
- AddedGitHub templates: Created professional issue templates for bug reports and feature requests with structured forms.
- AddedHTML sanitization: Implemented professional-grade HTML sanitization using DOMPurify library for enhanced security.
- ChangedValidation improvements: Enhanced HTML entity decoding order and sanitization logic in validation.ts.
- ChangedWorkflow permissions: Added minimal workflow permissions to GitHub Actions for improved security posture.
- FixedCodeQL alert resolution: Resolved multiple CodeQL security alerts (#6, #7, #13, #14) with comprehensive fixes.
- ChangedFirebase security: Removed hardcoded project ID from firebase-admin.ts for better security practices.
- ChangedREADME enhancement: Updated README.md with comprehensive project information, setup instructions, and social media links.
- AddedContributing guide: Detailed CONTRIBUTING.md with npm usage, development workflow, and project architecture.
- AddedIssue templates: Enhanced GitHub issue templates with better structure, UX improvements, and comprehensive forms.
- AddedTemplate configuration: Added config.yml for issue template customization and better user experience.
- AddedSocial media integration: Added social media links and cleaned up presentation in README.
- ChangedPackage updates: Updated critical dependencies to latest patch versions: @types/node: 24.3.1 → 24.3.3, @types/react: 19.1.12 → 19.1.13, @types/react-big-calendar: 1.16.2 → 1.16.3, axios: 1.12.0 → 1.12.1.
- ChangedSecurity patches: Applied security updates for better compatibility and vulnerability fixes.
- ChangedPackage lock: Comprehensive package-lock.json updates with dependency resolution improvements.
- FixedFont loading fix: Resolved Docker build font issues with fallback fonts and Google Fonts mocking for ARM64 builds.
- ChangedBuild optimization: Enhanced Dockerfile with better font handling and cross-platform compatibility.
- ChangedAsset updates: Updated favicon, logo images, and public assets for better branding consistency.
- ChangedLayout improvements: Enhanced layout files with better font loading and fallback mechanisms.
- ChangedSensitive data removal: Removed competitor-analysis.md containing sensitive business information from public repository.
- ChangedGit ignore updates: Added competitor-analysis.md and .cursor directory to .gitignore to prevent future accidental commits.
- ChangedRepository structure: Cleaned up repository structure and removed unnecessary tracking files.
- ChangedAsset optimization: Updated public assets (favicon.ico, logo.png, logo.svg) with optimized versions.
- AddedIssue management: Enhanced GitHub issue templates with comprehensive forms and better user guidance.
- AddedTemplate structure: Added config.yml for template customization and improved issue categorization.
- AddedCommunity guidelines: Established clear contribution guidelines and code of conduct for open source collaboration.
- ChangedRepository URLs: Updated all documentation with correct repository URLs for contributors.
v0.1.3
- ChangedInfiniteCanvas improvements: Enhanced wheel zoom with exponential scaling and left-click pan functionality.
- ChangedDrag & drop optimization: Pan/zoom aware card dragging with world coordinates and rAF synchronization.
- ChangedPerformance optimization: Debounced IndexedDB writes to prevent unnecessary saves during drag/resize operations.
- AddedSplit-view editor: Complete split-view persistence with content merging and state management.
- ChangedRich Note Editor: Optimized auto-save to trigger only after 2-second idle periods instead of every change.
- ChangedVirtualizedCardRenderer: Enhanced with pan and zoom prop passing for better canvas integration.
- AddedClient-side media conversion: Complete FFmpeg integration for MP4→MP3 conversion, video thumbnails, and image compression.
- AddedMediaUploader component: Drag & drop support with URL input for YouTube/Vimeo/TikTok/Twitch/Dailymotion platforms.
- AddedImagePreview component: Resize slider with quick presets (100%/75%/50%) and alt text input support.
- AddedVideoPlayer component: Universal player supporting react-player for platforms and HTML5 fallback for local files.
- AddedAudioPlayer component: Waveform visualization with WaveSurfer and comprehensive lifecycle event logging.
- AddedSide-by-side media flow: Inline-block flow for media within ProseMirror editor with responsive layout.
- FixedIndexedDB optimization: Fixed timing issues and race conditions in workspace loading.
- AddedError handling: Added ResizeObserverErrorHandler component for canvas and workspace error resilience.
- ChangedDebug log cleanup: Removed all debug console logs for production readiness across all components.
- ChangedDependency updates: Updated critical dependencies and fixed security vulnerabilities.
- ChangedMemory management: Improved state management and reduced unnecessary re-renders.
- AddedFFmpeg integration: Added @ffmpeg/core, @ffmpeg/ffmpeg, and @ffmpeg/util for client-side media processing.
- AddedEnhanced editor: Added @mdxeditor/editor for improved editing capabilities.
- ChangedDrag & drop: Updated @dnd-kit packages for better drag-and-drop functionality.
- ChangedBlockNote update: Updated to version 0.37.0 for latest features.
- FixedSecurity fixes: Updated axios to 1.12.0 (fixes DoS vulnerability), Prisma to 6.16.1, and other critical dependencies.
- ChangedReact resizable panels: Updated to ^3.0.6 for better panel management.
- AddedTranslation updates: Enhanced English and Turkish translations for new split-view and media features.
- ChangedAccessibility: Improved accessibility labels and tooltips across media components.
- AddedError messages: Added comprehensive error handling and success messages.
- ChangedUI polish: Enhanced visual separator and content merging in split-view editor.
- ChangedCursor AI rules: Updated comprehensive MCP tool activation protocols and dynamic rule sets.
- AddedDevelopment workflow: Added utility scripts for development automation.
- ChangedDocumentation: Enhanced commit guides and project documentation.
- ChangedLicense update: Switched to PolyForm Noncommercial 1.0.0 for source-available non-commercial use.
- ChangedGit configuration: Updated .gitignore to exclude documentation files from version control.
- FixedDocker build fix: Prevented Geist font fetch during build time to fix ARM64 build failures.
- ChangedFont optimization: Added preload: false, display: 'swap', and fallback fonts for better performance.
- ChangedCross-platform support: Improved compatibility across different architectures.
- AddedSplit view persistence: Complete implementation of left/right editor content separation and merging.
- ChangedContent structure: Enhanced to support both single and split-view content with proper state management.
- ChangedAuto-save enhancement: Improved to save both editors' content and split-view state.
- ChangedBackward compatibility: Ensured existing single-editor content works seamlessly.
v0.1.2
- ChangedFirebase configuration: Updated to use environment variables for better security and flexibility.
- ChangedNext.js configuration: Enhanced with proper Firebase environment variable integration.
- AddedEnvironment variables: Added comprehensive Firebase configuration variables to .env.example.
- ChangedSecurity headers: Removed unnecessary CORS policies for better compatibility.
- ChangedDatabase configuration: Updated Prisma development database with latest schema changes.
- ChangedFlashcardSystem integration: Complete integration with workspace store and IndexedDB.
- ChangedWorkspaceCard improvements: Enhanced drag-and-drop functionality and event handling.
- ChangedAddCardDialog updates: Added BarChart3 icon and improved UI components.
- FixedInfiniteCanvas fixes: Fixed wheel event handling and improved event listener management.
- ChangeduseWorkspaceStore hook: Comprehensive flashcard support with proper data persistence.
- AddedProgress dashboard translations: Added comprehensive translations for progress tracking features.
- AddedEnglish messages: Enhanced with 35+ new translation keys for progress dashboard.
- AddedTurkish messages: Complete Turkish translations for all new progress features.
- ChangedConsistent localization: Ensured all new features have proper multilingual support.
- ChangedAuthContext improvements: Enhanced authentication state management.
- ChangedLoginButton updates: Improved error handling and user feedback.
- ChangedFirebase integration: Better error handling for authentication failures.
- ChangedSecurity headers: Optimized security configuration for better performance.
- ChangedNext.js update: Upgraded to version 15.5.3 for latest features and security patches.
- ChangedESLint configuration: Updated to match Next.js version for better compatibility.
- AddedNew dependencies added: @blocknote/core, @blocknote/mantine, @blocknote/react - rich text editing.
- Added@react-pdf/renderer - PDF generation capabilities added.
- Addedmammoth - document conversion utilities added.
- Addedreact-zoom-pan-pinch - enhanced zoom and pan functionality added.
- Addedtesseract.js - OCR capabilities added.
- Addedturndown - HTML to Markdown conversion added.
- ChangedPackage lock updates: Comprehensive dependency resolution and security updates.
- ChangedIndexedDB enhancement: Updated to version 3 with flashcard support.
- AddedDatabase schema: Added new stores for flashcards, progress tracking, and study sessions.
- ChangedData migration: Improved data handling and storage efficiency.
- AddedDebug utilities: Added comprehensive debugging tools for IndexedDB operations.
- ChangedFile cleanup: Removed outdated documentation files (EDUCATIONAL_WORKSPACE_ROADMAP.md, FIREBASE_SETUP.md).
- AddedLICENSE addition: Added MIT license with commercial use restrictions.
- ChangedCode organization: Improved code structure and removed redundant dependencies.
- ChangedDocumentation updates: Enhanced inline documentation and code comments.
- FixedEvent handling: Fixed wheel event handling in InfiniteCanvas component.
- ChangedMemory management: Improved memory usage in workspace components.
- ChangedError handling: Enhanced error handling across authentication and data operations.
- ChangedPerformance optimization: Better state management and reduced unnecessary re-renders.
v0.1.1
- FixedFixed missing 'update' translation key for flashcards in both English and Turkish.
- AddedAdded comprehensive flashcard system translations (100+ new keys).
- AddedAdded work environment translations for all new features.
- AddedAdded image viewer translations with keyboard shortcuts.
- FixedFixed MISSING_MESSAGE error in FlashcardSystem component.
- AddedFlashcardSystem: Complete spaced repetition learning system with statistics, categories, and import/export.
- AddedTaskBoard: Full Kanban-style task management with drag-and-drop, priorities, due dates, and subtasks.
- AddedWorkspaceCard: Resizable and draggable workspace cards with fullscreen support.
- AddedCalendarView: Event management system with recurring events and multiple views.
- AddedPomodoroTimer: Productivity timer with customizable work/break intervals and statistics.
- AddedRichNoteEditor: Advanced note-taking with markdown support and version history.
- AddedInfiniteCanvas: Visual workspace with zoom, pan, and grid snap functionality.
- AddedAdded Work Environment navigation item to main menu.
- ChangedEnhanced post detail page with image lightbox functionality.
- ChangedAdded hover effects and click-to-view for post images.
- ChangedImproved image viewer with keyboard shortcuts and better accessibility.
- FixedFixed mini-chart component edge cases and data handling.
- ChangedUpdated navigation with Monitor icon for work environment.
- ChangedImproved content filter service with proper image deletion.
- AddedVirtualizedCardRenderer: Added for large canvas performance improvements.
- ChangedInfiniteCanvas optimization: Implemented memoization and throttled updates.
- ChangeduseDragDrop hook: Optimized performance for drag and drop operations.
- ChangedPlatformContentCard: Enhanced memory management and rendering efficiency.
- ChangedIndexedDB migration: Improved workspace storage performance.
- ChangedPrisma dependencies: Updated to latest version for better performance.
- ChangedEnhanced middleware with permissive CSP for work environment.
- FixedFixed locale prefix handling to prevent undefined locale errors.
- ChangedImproved database transaction handling for post and image deletion.
- AddedAdded comprehensive state management with useWorkspaceStore hook.
- ChangedUpdated API routes with better error handling and data consistency.
- FixedFixed TypeScript compilation issues and dependency management.
- AddedAdded platform-content API endpoint for enhanced content integration.
- AddedIntegrated performance optimizations in work environment page.
- AddedAdded PerformanceMonitor with accurate metrics and monitoring.
- ChangedOptimized WorkspaceCard with advanced memoization techniques.
- ChangedEnhanced AddCardDialog for better work environment integration.
v0.1.0
- AddedInitial release of OWL Academic Social Learning Platform - complete setup with 250 files and 58,962 lines of code.
- AddedFull Next.js application with TypeScript and React infrastructure established.
- AddedDatabase integration with Prisma ORM and SQLite added.
- AddedUser authentication system with NextAuth.js implemented.
- AddedAdmin dashboard and user management features added.
- AddedCommunity and group management system implemented.
- AddedContent creation and sharing capabilities added.
- AddedDocker configuration and CI/CD pipeline setup completed.
- AddedModern UI components with glassmorphism effects - backdrop blur and transparent glass effects.
- AddedVisuallyHidden component added for accessibility.
- ChangedFixed image lightbox positioning issues by removing fullscreen feature.
- ChangedAdded modern hover effects and smooth transitions.
- ChangedOptimized design for both light and dark themes.
- ChangedAdded cross-browser support for backdrop filters.
v0.3.2
🤖 AI Content Generation
Article simplification and age-group based content
- AddedSimplified Article Generation - AI-powered article simplification with two simplification levels: Full Simplified and Executive Summary.
- AddedFull Simplified mode - complete markdown article with glossary and explanations.
- AddedExecutive Summary mode - concise summary with key points.
- AddedAge group-based simplification - AI-powered simplification based on age group (elementary, middle, high, university).
- AddedSmart content parsing - glossary extraction and content parsing.
- AddedReaderDialog component - enhanced article viewing experience with optimized typography.
- AddedSimplificationLevelSelector component - UI component for choosing between full or summary.
- AddedAISimplifiedArticleViewer component - dedicated viewer for simplified articles.
- AddedAIContentRenderer component - unified content rendering for all AI-generated content types.
- AddedIntegration with AI content modal - seamless workflow integration.
- AddedAI Generation API - new content type: simplified-article.
- AddedSimplification level validation - validation for simplification levels.
- AddedCustom token allocation - custom token allocation for full vs summary.
- AddedEnhanced prompt templates - enhanced prompt templates for article simplification.
📱 Mobile & UX
Pull-to-refresh, responsive design, and mobile improvements
- AddedPull-to-Refresh hook - new usePullToRefresh hook for touch-based refresh.
- AddedFollowing page pull-to-refresh - implemented on Following page with visual feedback.
- AddedConfigurable threshold - configurable threshold and max distance for pull-to-refresh.
- AddedSmooth animation - smooth animation with loading state.
- AddedFollowing page improvements - enhanced social feed experience with pull-to-refresh functionality.
- AddedTheme switcher dropdown - Light/Dark theme switcher on Following page.
- AddedLanguage switcher - EN/TR language switcher on Following page.
- AddedQuick logout option - logout option in more menu.
- AddedAI Contents shortcut button - quick access to AI contents.
- AddedImproved mobile responsiveness - better mobile responsiveness on Following page.
- AddedMobile Navigation - added to layout with proper bottom padding.
- AddedResponsive spacing adjustments - improved spacing for mobile.
- AddedImproved touch targets - better touch targets for mobile.
- AddedUserProfile mobile improvements - improved icon sizing and text responsiveness.
- AddedUserProfileHeader mobile optimization - better avatar sizing, button wrapping, responsive layout.
- AddedUserProfilePosts mobile-optimized grid - mobile-optimized grid layout (1-3 columns).
- AddedUserProfileStats responsive cards - responsive card sizing and icon adjustments.
- AddedConsistent spacing - all components with consistent spacing (md: breakpoints).
- FixedMobile responsiveness - better mobile responsiveness across all profile components.
- FixedChat panel transitions - improved chat panel transitions.
👤 User Profile
Profile API improvements and state synchronization
- AddedSettings page improvements - automatic profile refresh after save/failure.
- AddedImproved state synchronization - better state synchronization with server.
- AddedRollback to server state - automatic rollback to server state on errors.
- AddedUser Profile API enhancements - enhanced error handling and consistency.
- AddedBetter error messages - error messages with errorKey support.
- AddedhoursRemaining handling - hoursRemaining handling for rate limit errors.
- AddedAutomatic server sync - automatic server sync after updates/failures.
- AddedConsistent behavior - consistent behavior between /api/users and /api/users/profile.
- FixedError handling improvements - improved error handling in profile updates.
🧰 API & Configuration
Feed API improvements and real-time updates
- AddedUnified API endpoint - unified API endpoint for community and AI content.
- AddedFocus and visibility listeners - auto-refresh on focus and visibility changes.
- AddedGrade change warning - grade change warning display with 24h information.
🌐 i18n Updates
Internationalization for simplified articles
- AddedEnglish translations - added simplifiedArticle content type labels, simplificationLevel selector options, more navigation key.
- AddedTurkish translations - added simplified article translations, simplification level labels, more navigation key.
🐛 Bug Fixes
Critical bug fixes and improvements
- FixedFirst-time country assignment - first-time country assignment doesn't count toward monthly limit.
- FixedTypeScript error fix - fixed TypeScript error in AI generation chunking logic.
- FixedCountry quota logic fix - fixed country quota logic for first-time assignments.
- FixedNavigation structure - fixed navigation structure inconsistencies.