Commit Graph

69 Commits

Author SHA1 Message Date
Nurfog 42620cc9ac Add SECURITY_TRIAGE.md for vulnerability assessment and remediation plan
- Document current state of vulnerabilities in Rust and frontend dependencies
- Outline active vulnerabilities and their remediation status
- Include notes on resolved issues and remaining bugs
- Define a remediation plan with prioritized actions
2026-04-28 15:47:20 -04:00
Nurfog 2c8bfaa20e chore: update dependencies and improve MermaidBlock security
- Updated mermaid from version 11.13.0 to 9.1.7 for compatibility.
- Upgraded next from version 14.2.21 to ^14.2.35 for the latest features and fixes.
- Added @types/dompurify and isomorphic-dompurify for improved sanitization.
- Replaced innerHTML assignment in MermaidBlock with sanitized SVG using DOMPurify.
- Updated eslint-config-next to ^16.2.4 for better linting support.
2026-04-28 15:15:16 -04:00
Nurfog 567fa66428 feat: implement httpOnly cookie for JWT authentication and update related API calls
Co-authored-by: Copilot <copilot@github.com>
2026-04-28 14:36:06 -04:00
Nurfog 2eb887c486 feat: add security headers to nginx configurations and improve environment variable handling 2026-04-28 14:12:28 -04:00
Nurfog e88fd571f0 feat: add mentorship assignments and peer review enhancements
- Create `mentorship_assignments` table with relevant fields and indexes.
- Add `peer_review_settings` table for lesson-specific peer review configurations.
- Enhance `peer_reviews` and `course_submissions` tables with additional fields for instructor reviews and final scores.
- Implement My Notes page to display user annotations with delete functionality.
- Create Lesson Annotations component for managing notes with editing and deletion capabilities.
- Develop Mentor Panel component to display mentor and mentee information.
- Add Course Mentorships page for assigning mentors to students with modal for selection.

Co-authored-by: Copilot <copilot@github.com>
2026-04-28 12:23:22 -04:00
Nurfog 63620e9752 feat: improve collaborative document handling and token management 2026-04-27 16:23:07 -04:00
Nurfog 12d704a139 feat: add collaborative document functionality for lessons
- Create migration scripts for lesson_collaborative_docs table in both cms-service and lms-service.
- Implement CollaborativeDocEditor component for real-time editing of collaborative documents.
- Add LessonCollaborativeDocPage for instructors to view and manage collaborative documents.
- Include conflict resolution handling in the editor.
- Enhance UI with status indicators and formatting options for the document editor.

Co-authored-by: Copilot <copilot@github.com>
2026-04-27 14:47:41 -04:00
Nurfog 7a2afce796 Refactor code structure for improved readability and maintainability
Co-authored-by: Copilot <copilot@github.com>
2026-04-27 13:55:06 -04:00
Nurfog fef731df72 feat: add LTI 1.3 Tool Consumer support with database migrations and API endpoints
- Implemented database migrations for lti_external_tools and lti_grade_passback_events tables in both cms-service and lms-service.
- Created API handlers for managing LTI tools including listing, creating, updating, and deleting tools.
- Added functionality for LTI grade passback with validation and signature verification.
- Developed frontend components for LTI tool management and display in course editor.

Co-authored-by: Copilot <copilot@github.com>
2026-04-27 12:51:13 -04:00
Nurfog f6a3f6aedf feat: add PluginBlock component for rendering external web components in sandboxed iframes
feat: implement PluginsPage for managing plugins with create, toggle, and delete functionalities

feat: create PedagogicalAnalyticsPage for displaying course analytics including quality metrics, discrimination index, and curricular suggestions

Co-authored-by: Copilot <copilot@github.com>
2026-04-27 12:22:05 -04:00
Nurfog e72f479639 feat: add PWA support with service worker, offline sync, and connectivity banners
- Added PWA icons for 192x192 and 512x512 resolutions.
- Implemented service worker (sw.js) for caching static assets and handling fetch requests.
- Created ConnectivityBanner component to notify users of online/offline status.
- Developed OfflineSyncPanel component to manage and display offline sync status.
- Introduced PwaInstallPrompt component to prompt users for PWA installation.
- Added PwaRegistration component to handle service worker registration and online event handling.
- Created AdminAiAuditPage for AI audit logs with filtering and review functionality.
- Developed AdminDataEthicsPage to display AI data ethics summary and recent events.
2026-04-24 09:59:57 -04:00
Nurfog 0d6f1c9f9c feat: implement password reset functionality and global search feature
- Added forgot password and reset password APIs in the LMS service.
- Created database migrations for password reset tokens and xAPI statements.
- Implemented global search functionality with indexing for courses, lessons, discussions, and announcements.
- Developed frontend pages for forgot password and reset password.
- Introduced SCORM player component to handle xAPI statements tracking.
2026-04-22 16:44:03 -04:00
Nurfog 169a0a18a2 feat: fixing certificate and block 2026-04-14 13:07:45 -04:00
Nurfog c750ad0423 feat: add organization exercise settings management
- Created a new SQL migration to define the organization_exercise_settings table with relevant fields and an index.
- Implemented handlers for loading and updating organization exercise settings in Rust, including default values and upsert functionality.
- Developed a React component for managing exercise feature settings, allowing toggling of features and saving updates to the backend.
2026-04-13 16:55:09 -04:00
Nurfog 5e80949269 fix(auth-ui): hide private navigation links until user logs in 2026-04-09 13:00:33 -04:00
Nurfog 9929ff38fb feat(config): disable code-lab options and hide transcripts for graded audio responses 2026-04-09 11:46:12 -04:00
Nurfog 1ed5f4a511 fix(feedback): improve light-mode contrast and add resilient AI feedback fallback 2026-04-09 10:43:08 -04:00
Nurfog 3fcb5696a1 fix(ui): move mobile overlays outside backdrop-filter elements to fix stacking context 2026-04-09 10:19:21 -04:00
Nurfog ac3434454b fix(ui): mobile nav menus, light-mode contrast for Combobox, AppHeader and globals
- Studio Navbar: add hamburger button + slide-out sidebar for mobile
- Studio Combobox: replace dark-hardcoded colors with light/dark variants
- Experience AppHeader: fix low-contrast borders/text/icons in light mode;
  mobile sidebar now uses bg-white/bg-gray-900 instead of glass-only
- Experience globals.css: glass-card hover visible in light mode;
  scrollbar thumb visible in light mode (rgba black instead of white)
2026-04-09 09:54:38 -04:00
Nurfog c07ca05572 feat(users): add delete user functionality and confirmation modal
feat(assets): implement S3 proxy for private asset access
2026-04-09 09:36:28 -04:00
Nurfog e4866c6dee feat: SAM integration, deployment scripts, and audio response enhancements
- Add SAM (Sistema de Administración Académica) integration with sync endpoints
- Add deployment automation (deploy.sh, remote-setup.sh, setup-nginx-ssl.sh)
- Add nginx proxy configuration for SSL with Let's Encrypt
- Add audio response support for student lessons (migrations, handlers)
- Add audio evaluations admin page
- Update CORS to support wildcard subdomains for norteamericano.cl
- Add comprehensive deployment documentation (DESPLIEGUE.md, ManualDeConfiguracion.md)
- Update docker-compose.yml with nginx-proxy and acme-companion services
- Remove outdated documentation files

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-27 09:20:23 -03:00
Nurfog ef213a61a0 fix: Quiz score submission - use correct submitScore method
- QuizPlayer: Fixed method name from submitLessonScore to submitScore
- Lesson page: Fixed method name and parameter order
- submitScore signature: submitScore(userId, courseId, lessonId, score, metadata)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-23 13:29:46 -03:00
Nurfog 2ff06ee7ae feat: i18n full support, responsive UI, multi-model AI config, and bug fixes
Major Features:
- Internationalization (i18n) with auto-detection for ES/EN/PT
- Mobile-first responsive design for Studio and Experience
- Multi-model AI configuration (llama3.2:3b, qwen3.5:9b, gpt-oss:latest)
- Course language configuration (auto-detect or fixed per course)

Backend Changes:
- shared/common: ModelType enum for intelligent model selection
- LMS: log_ai_usage function migration (fix chat tutor 500 error)
- LMS/CMS: course language config fields (language_setting, fixed_language)
- LMS: /courses/{id}/language-config endpoint for language detection

Frontend Changes:
- Experience: Enhanced i18n with browser language detection
- Experience: Audio recording with HTTPS check and error handling
- Studio: Memory game with unique pair IDs and debug logging
- Studio: Expanded translations (250+ keys for ES, EN, PT)
- Both: Language selector in headers (mobile responsive)

Documentation:
- AI_MODELS_CONFIG.md: Multi-model configuration guide
- RESPONSIVIDAD_GUIA.md: Mobile-first design patterns
- I18N_RESPONSIVIDAD_IMPLEMENTACION.md: Implementation details
- DEBUG_AUDIO_RECORDING.md: Audio troubleshooting guide
- DEBUG_MEMORY_GAME.md: Memory game debugging steps

Bug Fixes:
- Fix chat tutor 500 error (missing log_ai_usage function)
- Fix audio recording (HTTPS check, browser compatibility)
- Fix memory game pair IDs (unique ID generation)
- Fix HotspotBlock TypeScript errors

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-23 12:24:22 -03:00
Nurfog be699ad6ab feat: token count implement 2026-03-17 12:07:56 -03:00
Nurfog 2fe6dcea59 feat: Implement default branding synchronization and improve API header handling. 2026-03-09 17:55:10 -03:00
Nurfog bde5be22e7 feat: Introduce AI code hinting, enforce single-tenant organization model, and add a Code Lab block component. 2026-03-09 17:24:15 -03:00
Nurfog b9c17ce67b feat: Add Mermaid diagram block with AI generation capabilities to lessons. 2026-03-09 14:45:52 -03:00
Nurfog bc5b240984 feat: Implement AI-generated Role Playing and Hotspot interactive content blocks with UI and service integration. 2026-03-09 13:46:47 -03:00
Nurfog 01c54429a0 feat: Introduce course marketing features with dedicated metadata, image generation, and UI in both studio and experience apps. 2026-03-04 15:41:34 -03:00
Nurfog fe730998a9 Update TypeScript build information. 2026-03-02 14:46:19 -03:00
Nurfog 420003f2d5 feat: Allow super-admins to retrieve courses across organizations and update navigation link styles to text-sm and text-slate-600. 2026-03-02 11:59:38 -03:00
Nurfog 9abe631782 refactor: apply nav-link-standard utility class to standardize navigation link styling across components. 2026-03-02 11:37:31 -03:00
Nurfog 81e1830563 feat: Implement dark mode styling across UI components and update README with roadmap and system requirements. 2026-03-02 11:29:55 -03:00
Nurfog e5373919c9 feat: Implement dark mode support by adjusting background and text colors across various pages and components. 2026-02-26 16:57:28 -03:00
Nurfog 947abcb0bc feat: Implement organization-based SSO login with an AsyncCombobox and add logo variant branding options. 2026-02-26 11:50:34 -03:00
Nurfog f6c48ca8f0 a11y: Enhance accessibility across various components by adding ARIA attributes, semantic elements, and input labels. 2026-02-25 17:18:12 -03:00
Nurfog 59732f3706 feat: improve accessibility with semantic HTML, ARIA attributes, and visible focus states across components. 2026-02-25 16:09:54 -03:00
Nurfog 1868f64415 feat: Adjust roadmap priorities to elevate accessibility and implement ARIA attributes in AppHeader for improved screen reader support. 2026-02-25 16:06:52 -03:00
Nurfog 04dbe05704 feat: Implement LTI deep linking, live sessions, predictive analytics, and portfolios with associated UI and database migrations. 2026-02-24 09:37:16 -03:00
Nurfog 7f7ea3d70c feat: Add LTI launch, lesson preview, course progress, bookmarks, and asset management features. 2026-02-23 15:43:45 -03:00
Nurfog 1d7e5a39ce feat: Add comprehensive peer assessment functionality including new data models, API endpoints, database migrations, and dedicated UI components for Studio and Experience applications. 2026-02-16 20:22:02 -03:00
Nurfog fbac6b4405 refactor: switch to named debounce import from lodash 2026-02-16 02:48:46 -03:00
Nurfog 3ae1ae6fd6 feat: Implement student notes functionality for lessons, including API endpoints, database schema, and frontend UI. 2026-02-16 02:13:50 -03:00
Nurfog 6927ac2d23 feat: Enhance JWT authentication error logging, gate notification fetching by user status, and enable Rust debug logging in Docker Compose. 2026-02-15 15:10:42 -03:00
Nurfog 23d761bada feat: mensajes 2026-01-27 11:13:08 -03:00
Nurfog 26f4283d0e feat: add comprehensive discussion forums with threads, nested replies, voting, and moderation, alongside updates to authentication flows. 2026-01-26 17:51:49 -03:00
Nurfog c774c3608b feat: implement AI tutor memory and RAG system for continuous learning
- Added chat sessions and message persistence for interaction history.
- Integrated Knowledge Base (RAG) using PostgreSQL Full Text Search.
- Implemented automated ingestion of lesson content during course sync.
- Updated AITutor frontend to support persistent session IDs via localStorage.
- Added database migrations for chat_sessions, chat_messages, and knowledge_base.
- Fixed SQLx build issues to allow offline Docker image compilation.
2026-01-23 15:59:53 -03:00
Nurfog 470c7f0172 feat: Implement AI tutor functionality, add branding fields, and improve API URL handling. 2026-01-23 14:48:41 -03:00
Nurfog 3ae67b23c9 feat: add favicon, logo and Update the platform name (only available to the superuser) and company names 2026-01-23 09:32:36 -03:00
Nurfog fa8ca6cb61 feat: fix hotspot test 2026-01-22 16:52:36 -03:00