Spaces:
Sleeping
Sleeping
Commit History
-
Avoid duplicate PDF indexing for recap
391859f -
Fix quiz summary attempt loading
16e673c
-
fix: normalize at-risk signals for docker build
quachtiensinh27b71beb8 -
feat: Fix at-risk scoring with 3-source model
quachtiensinh27- Quiz không làm = 0 điểm, làm sau deadline = không tính - Tích hợp FastAPI signals vào scanAtRiskStudents() - Auto-resolve snapshot khi học viên về safe - Cải thiện reason generation với đầy đủ risk factors - Fix normalization formula boundaries - Trust backend level field in dashboard - Add error handling for quiz avg calculationcdd8339 -
refactor: Remove unused senderId parameter from callAgentWithFile
quachtiensinh2722b6390 -
feat: Simplify chat-with-file endpoint to only require file and query
quachtiensinh27Backend (ta.service.ts, ta.controller.ts): - Removed senderId and conversationId parameters - Only file and query are now required - Hardcoded senderId to 'TA' for recap workflow Frontend (ta.service.js, TADashboard.jsx): - Updated callAgentWithFile signature to only accept spaceId, query, file - Removed senderId and conversationId from API calls2bc4877 -
fix: Revert to form-data package for both file uploads
quachtiensinh27- Both fastapi.client.ts and ta.service.ts now use form-data + Readable - Fixes TypeScript errors with native FormData/Blob incompatibility8409677 -
fix: Use native FormData with Blob for FastAPI chat-with-file
quachtiensinh27- Revert from form-data package back to native FormData - Use Blob wrapping for file.buffer to satisfy FastAPI - Set proper Content-Type header manually63c7e27 -
refactor: Use Readable stream consistently for file uploads in ta.service
quachtiensinh27- Match the pattern used in fastapi.client.ts - Use Readable.from(file.buffer) instead of raw buffer - Add proper filename and contentType metadata8ea6c94 -
fix: Use form-data package with Readable stream for PDF uploads
quachtiensinh27- Replace native FormData with form-data package - Use Readable.from(Buffer) for proper file streaming - Fix FormData.append Blob type error in Node.js5be1f4c -
refactor: Use consistent Blob type cast for file uploads in ta.service
quachtiensinh278f86e3c -
refactor: Simplify Buffer to Blob conversion using type cast
quachtiensinh270eb59af -
fix: Use Uint8Array for Blob creation in fastapi client
quachtiensinh27ee0baa5 -
fix: Convert Buffer to Blob for FormData in fastapi client
quachtiensinh27- FormData.append requires Blob, not Buffer in Node.js82e1ef3 -
refactor: Clean up debug logs and add Swagger docs for conversationId
quachtiensinh27- Removed debug console.log statements from ta.service.js - Removed redundant FormData append for conversationId (only use query param) - Added @ApiQuery decorators for proper Swagger documentation - Fixed URL construction to only use query parametercedf0da -
feat: Add optional conversationId parameter to chat-with-file API
quachtiensinh27- Backend now accepts optional conversationId query parameter - If not provided, reuses existing space conversation or creates new one - Frontend service updated to pass conversationId when available - Ready for room-based file uploads from ChatInput5901859 -
fix: Reset deadline state on error and add upload timing logs
quachtiensinh27- Fix isDeadlinePassed state leak when quiz load fails - Add upload-specific timing to diagnose 30s delay source014ebf6 -
fix: Refactor QuizPlayer with clean single-state management and add timing logs for PDF chat
quachtiensinh27- Simplified QuizPlayer state into single object, removed complex countdown refs - Re-fixed scroll container with proper minHeight and overflowY - Re-added conversation reuse to prevent re-indexing on every chat - Added detailed timing logs to track where delays occur in PDF processing - Increased timeout to 180s for large file handlinge5a07cb -
feat: rewrite QuizPlayer with clean single-page UI and fix PDF upload FormData
quachtiensinh27145fec4 -
fix: Consistent error messages and archive terminology across quiz components
quachtiensinh27090c7ae -
fix: Improve quiz error messages and modal overflow handling
quachtiensinh271d8c3c9 -
fix: Fix quiz deadline bug and add user profile names in results
quachtiensinh277ac1367 -
fix: Chữa timezone và tránh flash khi reload quiz
quachtiensinh27- Backend: Dùng timestamp comparison để handle timezone +7 đúng - Frontend: Dùng useRef để persist countdown state, tránh flash khi reload - Frontend: Initialize countdown ngay khi fetch quiz hoàn thành - Error messages: Chuẩn hóa tiếng Việt (loại bỏ 'submission')75c124e -
feat: Thêm countdown timer và deadline validation cho quiz
quachtiensinh27- Backend: Validate deadline khi submit quiz (forbidden nếu quá hạn) - Frontend: Countdown timer hiển thị thời gian còn lại - Frontend: Badge hiển thị hạn nộp ở header - Frontend: Block submit và answer selection khi quá hạn - Màu sắc cảnh báo: đỏ (< 1h), amber (< 1 ngày), purple (bình thường)62519f3 -
feat: thêm hạn nộp quiz và cải thiện at-risk scoring
quachtiensinh27- Thêm field due_at cho quiz với deadline validation - Cải thiện at-risk scoring: tăng thresholds (warning: 4.0, critical: 7.5) - Preserves score_breakdown và weights_applied cho UI display - Hiển thị chi tiết tín hiệu risk: vắng mặt, stuck, unanswered questions, frustration - Update UI QuizWorkflow với datetime picker cho hạn nộp - Cải thiện RiskCard hiển thị score breakdown với điểm chi tiết từng nguồn - Thêm migration files cho changes28eb59f
-
fix: Fix at-risk scoring bugs and update UI
quachtiensinh27**Backend Fixes:** - Fix quiz_attempts column name: score → total_score - Simplify quiz percentage calculation (total_score is already 0-100) - Fix normalizeFastApiSignals formula: use correct divisors (2 and 3 instead of 10) - Change null quiz handling: return 0 (neutral) instead of 10 (max risk) - Fix explicit warning count logic - Remove duplicate endpoint decorator **UI Updates:** - Redesign RiskCard to show 3-source score breakdown - Add interactive tooltip showing normalized scores for each source - Display risk score prominently with color-coded level badge - Show signal chips for absence, stuck signals, and low quiz scores - Remove deprecated getRiskColor prop060577f -
feat: Implement 3-source at-risk scoring with normalization and weights
quachtiensinh27- Add at_risk_settings table for configurable weights/thresholds - Add score_breakdown and weights_applied to at_risk_snapshots - Implement normalization functions: - normalizeLastSeen: 0-10 scale based on hours offline - normalizeFastApiSignals: 0-10 scale based on signal count/weight - normalizeQuizAvg: 0-10 inverted scale (low score = high risk) - Implement weighted scoring: total = (last*0.3) + (fastapi*0.4) + (quiz*0.3) - Default thresholds: warning=3.0, critical=6.0 - Add getAtRiskSettingsForUi and updateAtRiskSettings methods - Add API endpoints: GET/POST /ta/at-risk/settings - Calculate quiz average from last 30 days for each student - Store score breakdown for transparency41c548e -
fix: Fix TypeScript build errors in PDF indexing
quachtiensinh274767783 -
Merge branch 'main' of https://github.com/a20-ai-thuc-chien/A20-App-092
quachtiensinh2705cd64a -
feat: Implement PDF indexing to Qdrant and improve quiz send notification
quachtiensinh27- Add indexPdfToQdrant method in ta.service.ts - Add indexPdf endpoint in FastApiClient - Auto-index PDF slides when uploaded (background task) - Include space_name in quiz send response - Update toast messages to show both room and space name - Fix Vietnamese text localization in quiz list - Add delete quiz button with confirmation - Improve handleSendQuizFromList with loading state and error handlingdb4ecbb -
khien cho agent hieu ngu canh room
42214d3 -
fix risk, and new quizz
5b75025 -
Thêm tính năng phân tích học viên có nguy cơ và tích hợp FastAPI cho việc tạo quiz
quachtiensinh278596926 -
feat: add QuizResults component for displaying quiz results and analytics
quachtiensinh27feat: implement QuizWorkflow component for quiz creation and management feat: create StudentQuizPage for student quiz interaction and display2a3577c
-
fix: Address code review feedback for Quiz implementation
quachtiensinh27CRITICAL: - Add transaction-like cleanup in generateQuiz (delete quiz if questions fail) - Schedule generateDailyQuizSummaries in background worker (every 60s) HIGH: - Fix topic validation regex to include uppercase Vietnamese chars - Improve JSON parsing in getQuizSummary (handle string or array) MEDIUM: - Add Quiz ID to chat message card for frontend referenced5c338f -
fix: Fix TypeScript errors in Quiz implementation
quachtiensinh27- Add missing imports (Put, NotFoundException, DTOs) - Fix quizData type checking with proper guards - Fix summary data access after API format change - Fix createMessageDto metadata issue - Add QuizQuestionDto and SendQuizDto imports to servicec206b01 -
feat: Add Quiz Interactive feature - Phase 1 (Database + Backend)
quachtiensinh27- Database: quizzes, questions, quiz_attempts, quiz_summaries tables - RLS policies for TA/student access control - Backend API: generate, edit, send, submit, summary endpoints - AI integration for quiz generation from recap content - Fixed all security issues from code review - Added checkSpaceMembership for student endpoints - Prompt injection protection (topic validation) - Quiz mutability check after attempts - JSON parsing error handling - API response format standardization - Bulk insert optimization - Added composite index for summaries83f8a81 -
feat: Enhance TA service and UI components
quachtiensinh27- Updated `ta.service.ts` to include additional profile fields and improved snapshot handling. - Enhanced the `RecapWorkflow` component to extract deadlines from AI-generated content and improved layout for better user experience. - Modified `TADashboard` to filter at-risk lists based on selected space and updated metrics calculations accordingly. - Added a new `summaryChart` method in the TA service for generating charts from chat analysis.c571297 -
merge k that bai
b589eaa
-
feat: implement TA Dashboard UI with AI-powered communication workflows, signal simulation, and risk monitoring capabilities
quachtiensinh2741c232b -
fix bug v3
quachtiensinh271eca8df -
Update v3 TA-Dashboard
quachtiensinh275c62baa -
feat: implement TA dashboard backend controller and UI components with AI-driven at-risk monitoring and messaging features
quachtiensinh27d4a87c0 -
sửa prompt của TA AI DM
quachtiensinh273bf3525 -
sửa prompt của TA AI DM
quachtiensinh279705fa5 -
update danh sách quán lý thông báo và recap 2
quachtiensinh274b066ab -
update danh sách quán lý thông báo và recap 1
quachtiensinh278924be7 -
Update v2 TA Dashboard
quachtiensinh27d02da55
-
feat: implement TA Dashboard architecture with schema updates, core services, and UI integration
quachtiensinh27722bd5c -
feat: implement TA dashboard recap workflow, AI analysis integration, and backend service modules
quachtiensinh27c7ff5ed