Commit Graph
140 Commits
Author SHA1 Message Date
Rotimi Best c8154409f5 feat: improve LMS course discovery and enrollment UX
- Add paginated recommended courses to LMS dashboard (top 3, list
    view)
    and explore page (12 per page); exclude courses blocking new
    students
  - Polish course preview modal: remove padding, render requirements as
    HTML, round banner image, secondary close button
  - Redirect to course start page after successful enrollment instead of
    /lms;
    keep spinner active until navigation completes
  - Auto-enable "allow new students" when a course is published
  - Move Explore after My Learning in LMS sidebar nav
  - Move Certificates after Content in course sidebar
  - Add hiddenColumns prop to CourseListRow; show "Learn more" button
    instead of actions menu in LMS explore context
2026-06-11 14:22:18 +01:00
Rotimi Best dcb5cfbc7b feat: make explore more visible in lms 2026-06-10 09:18:20 +01:00
Rotimi Best 02ae9b81b8 fix: get the type of settings 2026-06-10 09:08:57 +01:00
Rotimi Best ab25b8e5d7 chore: improve enrollment documentation 2026-06-10 02:56:00 +01:00
Rotimi Best 8961912530 fix: improve plyr render for youtube video 2026-06-09 22:42:26 +01:00
Rotimi Best cf79b24dc3 fix: restore list markers in lesson editor to match saved prose output
Tailwind's list-style reset stripped bullets and numbers while editing. Mirror dashboard prose list styles in the editor CSS instead.
2026-06-09 22:28:28 +01:00
Rotimi Best f615b06bf8 refactor: update landing page metadata schema 2026-06-08 00:52:37 +01:00
Rotimi Best e1e56a70be fix: courseNo vs coursesNo mismatch on course save 2026-06-08 00:45:00 +01:00
Rotimi Best 5f07184b29 fix: NoSuchKey, The specified key does not exist. 2026-06-07 23:47:14 +01:00
Rotimi Best 4eee866e85 feat: make video uploads faster
- Implemented a new endpoint to delete failed manual p1080 renditions, restoring the master manifest and updating metadata.
- Enhanced the HLS upload process with better error handling and cleanup for aborted uploads.
- Introduced tests for HLS encoder functionality to ensure correct selection of rungs based on video source properties.
- Updated video upload component to manage reserved asset IDs and perform cleanup on abo
2026-06-07 23:20:42 +01:00
Rotimi Best 27a612e92f feat: let AI chat read lesson video transcripts on demand
Add get_lesson_transcript (teacher) and read_lesson_transcript (student)
tools that fetch a lesson's uploaded-video transcript from media_transcript
by the video assetIds. The agents call them only when a question is about
the video's spoken content, so text-only chats keep a cacheable prefix.
2026-06-07 22:30:12 +01:00
Rotimi Best 48ce4d4d64 chore: update queue dashboard authentication and improve course component handling
- Replaced email/token-based authentication with HTTP Basic Auth for the queue dashboard in production.
- Updated course components to use courseId instead of courseSlug for better consistency.
- Adjusted role-based security checks to utilize isStudentExperience for conditional rendering.
- Enhanced view-as-student functionality to redirect correctly based on courseId.
2026-06-07 20:32:37 +01:00
Rotimi Best fa6ca75f67 fix(core): declare moved deps (redis, pdf-parse, mammoth, jszip) in @cio/core
These were used by the redis client and document-parsing services that moved
from apps/api into packages/core, but the dependencies stayed in apps/api,
breaking the @cio/core build with TS2307 module-not-found errors. Move them
(and @types/pdf-parse) to where the code now lives.
2026-06-07 18:50:06 +01:00
Rotimi Best d5b07d356e feat: HLS streaming, transcripts, agent course generation & landing-page course previews (#663)
New features:
- HLS video encoding/streaming (hls routes, hls-encoder) and a media
  transcripts pipeline (transcripts route + media-transcript queries)
- AI assistant chat vs. run model: agent-course-generation worker/queue,
  run-monitor pane, chat-changes card, content ask-ai bar
- Per-theme course-page previews across org landing-page themes (bold,
  classic, corporate, editorial, etc.) with a shared course token/component set
- View-as-student mode and login-link / link-invite invite flows

Refactor:
- Extract packages/core consolidating config (env, storage, dashboard-url),
  services and utils previously duplicated under apps/api/src/config
- Remove legacy agent service modules (chat-tools, chat-context,
  context-window, document, fetch-url, lesson-content)
- Relax Cross-Origin-Resource-Policy to allow cross-origin media embedding
- Add format script to tenant-router so turbo run format covers it
2026-06-07 18:43:05 +01:00
Rotimi Best 730bcee553 fix: send memberid on checkout 2026-05-27 20:44:56 +01:00
Rotimi Best 9082cbebf4 chore: add more agent upcoming features 2026-05-27 11:55:40 +01:00
Rotimi Best 78ab13f54b feat: preview templates, thumbnail features, 2 new org templates 2026-05-23 12:24:57 +01:00
Rotimi Best 4fdd4115b9 chore: marketing updates and video player improvement 2026-05-22 01:28:18 +01:00
Rotimi Best 30e5f9cd54 chore: auto compact chat 2026-05-21 19:46:17 +01:00
Rotimi Best fbbce6b7c0 fix: ci fixes, tenant router debug, select width improvement 2026-05-21 17:52:28 +01:00
Rotimi Best 6f84002fa5 chore: community page fixes. 2026-05-21 16:38:35 +01:00
Rotimi Best ec92fc5083 fix: approximated not verifying domain, change request type for /agents
route
2026-05-21 14:05:37 +01:00
Rotimi Best 61cbb258ea chore: move lms to myclassroomio.com and use approximated for custom
domain
2026-05-21 11:29:47 +01:00
Rotimi Best c875f7bf86 chore: use primary color for sidebar active state 2026-05-21 10:42:56 +01:00
Rotimi Best 29b02c0011 chore: auto enroll, custom domain improvement, course pricing style improv. 2026-05-20 21:58:42 +01:00
Rotimi Best 38c0c0b4f0 feat: enhance tenant provisioning hook to support OAuth state resolution for organization enrollment 2026-05-20 17:12:00 +01:00
Rotimi Best f82e4ff4c4 debug: tenant provisioning hook 2026-05-20 16:50:07 +01:00
Rotimi Best f7570d9a21 refactor: remove request logging from createProfileHook for cleaner output 2026-05-20 16:35:32 +01:00
Rotimi Best 266f9f2b22 chore: simplify workflow for self hosters. 2026-05-20 16:33:11 +01:00
Rotimi Best da71598e4a feat: add console logging for layout data in dashboard 2026-05-20 16:01:07 +01:00
Rotimi Best cbf1218186 chore: move orgRole back to session 2026-05-20 15:58:43 +01:00
Rotimi Best fe455dd3f7 fix: users can retriger transcription 2026-05-20 14:07:45 +01:00
Rotimi Best f7d6f81901 chore: move orgRoles from session to Redis 2026-05-20 11:52:49 +01:00
Rotimi Best 94c75779bf refactor: enhance API routing to include direct handling of /api/auth/* for improved auth flow 2026-05-20 09:04:55 +01:00
Rotimi Best 71fbb2101c feat: auto enroll into org as student and oauth improvements 2026-05-20 08:32:56 +01:00
Rotimi Best bad837a4cb feat: add tenant-router Cloudflare Worker with routing for classroomio domains and update dependencies 2026-05-19 23:53:51 +01:00
Rotimi Best 0f388ae0d3 feat: add hosted embed URL functionality and enhance widget embed options with tabbed interface 2026-05-19 16:32:42 +01:00
Rotimi Best 274acad987 refactor: reorganize imports in auth.ts for better clarity and maintainability 2026-05-19 10:25:08 +01:00
Rotimi Best 35e780b39d feat: enhance CORS handling with public API support and session management 2026-05-19 10:24:18 +01:00
Rotimi Best 917a71ccce feat: support custom domain in TRUSTED_ORIGIN 2026-05-19 09:59:56 +01:00
Rotimi Best 86ebe9ef62 chore: update start script in package.json and adjust Svelte adapter configuration for improved deployment flexibility 2026-05-19 08:15:35 +01:00
Rotimi Best 65962b49d5 chore: remove vitest configuration file and update TypeScript paths in analytics package 2026-05-19 08:00:01 +01:00
Rotimi Best 1d10b852b5 chore: update website name in wrangler config and refactor compliance seeding logic 2026-05-19 04:51:43 +01:00
Rotimi Best 1c08193712 chore: remove unused core-features component and ai-assistant package 2026-05-19 04:43:38 +01:00
Rotimi Best b705e4d42c fix: Object.values missing (TS2550) 2026-05-19 04:39:48 +01:00
Rotimi Best 0048f267e2 fix: deployment errors 2026-05-19 04:32:32 +01:00
Rotimi Best ac3a2c14a7 feat: certificates, landing pages, ai tutor, website update, compliance 2026-05-18 03:47:22 +01:00
Rotimi Best c31ad63955 chore: ai, public course and other ui improvements 2026-05-09 06:05:03 +01:00
Rotimi Best 5717dd8004 feat: widgets and ai chat 2026-04-27 11:40:38 +01:00
Rotimi Best d6e812d08b feat: enhance API and middleware functionality: add public API routes, implement program and course member checks, and improve rate limiting for invite acceptance. Update OpenAPI spec generation to focus on public API endpoints and add new middleware for automation key scopes. Include new documentation for lesson AI features and public API tests. 2026-04-12 08:58:41 +01:00