Commit Graph
982 Commits
Author SHA1 Message Date
Rotimi Best ab25b8e5d7 chore: improve enrollment documentation 2026-06-10 02:56:00 +01:00
Rotimi Best bb88847570 chore: performance tracking on root routes 2026-06-09 22:43:07 +01:00
Rotimi Best 201cda75ca fix: make Ask AI button opaque in dark mode 2026-06-09 22:40:24 +01:00
Rotimi Best cde7b501d1 docs: invite students guide 2026-06-08 00:47:33 +01:00
Rotimi Best 82d2ba4014 chore: increase the cache for mutable manifest 2026-06-08 00:47:08 +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 d7225a77b2 chore: move templates images to cdn 2026-06-07 23:23:27 +01:00
Rotimi Best 03dcf812a5 feat: fit ai chat trigger to center of page
- Updated the CSS classes for the AI assistant bar to adjust positioning based on the new side panel width variable.
- Introduced a new `onWidthPreview` prop in the SidePanelRail component to handle live resizing and update the side panel width dynamically.
- Added width state management in the SidePanelStore to ensure proper width handling during panel interactions.
- Improved layout handling in the course layout component to accommodate the new side panel width adjustments.
2026-06-07 23:21:19 +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 4221f93584 feat: enhance HLS upload process with concurrency control and presign batching
- Introduced a concurrency gate to limit parallel uploads, preventing R2 overload.
- Implemented batching for presign requests, allowing up to 1500 paths per request.
- Added content type mapping for HLS uploads to ensure correct MIME types.
- Refactored upload logic to utilize the new concurrency and presign features, improving reliability and performance.
2026-06-07 21:17:47 +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 3561dc0fda fix: undo org search from tenant-router 2026-06-07 19:35:24 +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 7ee544230f fix(dashboard): proxy API auth on custom domains 2026-05-28 08:57:28 +01:00
Rotimi Best 730bcee553 fix: send memberid on checkout 2026-05-27 20:44:56 +01:00
Rotimi Best 607377f191 fix: broken upgrade 2026-05-27 18:35:32 +01:00
Rotimi Best 591a56af2d fix: keep english terms in other translations 2026-05-27 15:28:19 +01:00
Rotimi Best a6331f0d6a fix: update translations 2026-05-27 15:17:05 +01:00
Rotimi Best d855b45eda fix: placeholder names inside {…} were translated 2026-05-27 14:57:21 +01:00
Rotimi Best 9082cbebf4 chore: add more agent upcoming features 2026-05-27 11:55:40 +01:00
Rotimi BestandCursor f0ef45fd67 fix(api): stop SSR org lookups from hitting the global rate limit
Resolve sessions before rate limiting so keys are per-user, exempt trusted server API key calls and get-session, and raise the GET /organization budget for layout loads.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 11:44:57 +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 594bb615d8 debug: reorder comment 2026-05-21 22:34:11 +01:00
Rotimi Best e7bb0f2f26 debug: trigger ci 2026-05-21 22:30:51 +01:00
Rotimi Best 30e5f9cd54 chore: auto compact chat 2026-05-21 19:46:17 +01:00
Rotimi Best 4e4119d597 fix(agent): base64-envelope /agent/* bodies to bypass Render CF WAF 2026-05-21 19:43:23 +01:00
Rotimi Best a4d86dc3c2 debug: update proxy logs 2026-05-21 18:06:25 +01:00
Rotimi Best fbbce6b7c0 fix: ci fixes, tenant router debug, select width improvement 2026-05-21 17:52:28 +01:00
Rotimi Best 0657c32c97 feat: connect sentry to dash and api 2026-05-21 17:18:08 +01:00
Rotimi Best 25a4b1fd19 chore: improve width size on community ask page. 2026-05-21 16:40:05 +01:00
Rotimi Best 6f84002fa5 chore: community page fixes. 2026-05-21 16:38:35 +01:00
Rotimi Best 9435490c43 chore: improve posthog session identificaion 2026-05-21 15:08:40 +01:00
Rotimi Best 9043bede59 chore: handle case where theme is undefined 2026-05-21 14:11:30 +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 c1bbd02f8e chore: improve ui experience of custom domain setup 2026-05-21 11:30:12 +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 c090b7b4d6 fix: truncate long error message in ai chat 2026-05-21 11:02:46 +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 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 4e52a618e5 feat: add view transcription to video card in edit mode 2026-05-20 15:57:52 +01:00
Rotimi Best a4bd49eb85 feat: implement OAuth handoff mechanism with Redis for secure token management and payload storage 2026-05-20 14:32:39 +01:00
Rotimi Best fe455dd3f7 fix: users can retriger transcription 2026-05-20 14:07:45 +01:00
Rotimi Best e66a8d8441 refactor: enhance logging in auth handler to include detailed response information for better debugging 2026-05-20 13:51:23 +01:00
Rotimi Best f7d6f81901 chore: move orgRoles from session to Redis 2026-05-20 11:52:49 +01:00