Spaces:
Sleeping
Sleeping
Commit History
26 days ago
-
rename answers upload block to "Official Answers & Student Answers", link format reference sheet
Yu Chena64bae7 -
remove invite-code gate so login page (with Google SSO) shows directly
Yu Chend5eabc7
-
Merge pull request #1 from chengzhi-edu/feat/google-sso
chihyikuanUnverified signaturefeat: Sign in with Google (Google SSO) for teachers/adminsa8bbae0 -
feat: add "Sign in with Google" (Google SSO) for teachers/admins
chih.yikuan +1: Claude Opus 4.8 (1M context)Ports the Google-SSO design from chengzhi-edu/sel-chat-coach#17 into this FastAPI + React stack (NextAuth itself isn't usable here). Backend - /api/auth/google/login + /api/auth/google/callback (OAuth2 auth-code flow, HttpOnly state cookie for CSRF, same-origin redirect back to the SPA with the app's own JWT in ?token=). - google_login_or_create() admission rule: existing account (by google_id or email) allowed; @taboola.com auto-created as admin on first login; everyone else rejected (NeedInvitation). - teachers.google_id column (unique) + password_hash made nullable for Google-only accounts; alembic migration 0016. - GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET settings. Frontend - "使用 Google 登入" button on the login screen. - App bootstrap consumes ?token= from the OAuth redirect; LoginForm surfaces ?auth_error= codes. Existing email/password login is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>6726707
-
cache raw file blob urls by file id so reopening a quiz reuses the download
taboola76ebd88 -
cache analytics tab data for 60s so flipping tabs back and forth stops refetching all 7 calls
taboolabcd2b4d -
fail question generation cleanly on openai quota exhaustion instead of silently returning empty results
taboolac616b38 -
fade in loading tabs instead of popping in, fix vocab placeholder example
taboola0513a34 -
fix raw-file test fixture missing content_type, keep test uploads out of repo dir
taboolaf09863f -
fix ruff formatting in file_processor.py
taboola7986ac3 -
add student metrics dashboard, save quiz answer records, save original uploaded files
taboola25cb9ab -
Revert "Revert "redesign admin dashboard: new analytics sections, issue reporting, english labels, scroll animations""
taboolaThis reverts commit 38a90da1c364aedd62b9800df63ff9179769fe0a.f169a35 -
Revert "Revert "add teacher retention, feedback-loop, and issue-report analytics to admin backend""
taboolaThis reverts commit 7d40f398290f0cfec63caffef2da53ee416ee812.701a99e -
Revert "add teacher retention, feedback-loop, and issue-report analytics to admin backend"
taboolaThis reverts commit c5b36039af43f2a5fead8efe0ba08ca4b3b49db3.7d40f39 -
Revert "redesign admin dashboard: new analytics sections, issue reporting, english labels, scroll animations"
taboolaThis reverts commit 4a9dfbab9b9156a1acb6fded799ebc385f40f587.38a90da -
redesign admin dashboard: new analytics sections, issue reporting, english labels, scroll animations
taboola4a9dfba -
add teacher retention, feedback-loop, and issue-report analytics to admin backend
taboolac5b3603 -
polish vocabulary list ui, remove word-type field
taboola213b417 -
restrict question bank uploads to admin accounts, keep browsing open to all teachers
taboola31492b9 -
add per-teacher vocabulary list fed into question generation
taboolae0caf3c -
remove stale test for removed category-history feature
taboolaba60f61 -
add a hardcoded admin account override
taboola80272f9 -
restore admin analytics dashboard
taboolaea9634b -
restrict dev question-bank wipe-all button to one account
taboolaa023311 -
redesign student credentials cell with icons, add confirm before password reset
taboola30da35c -
guard step 3 exit paths against losing unsaved reports
taboola1da0afb -
offload bcrypt password hashing/verification off the event loop
taboola1f2c197
-
fix in-app question upload sharing stale parser, hide weak-area toggle after generation, retry passage question shortfalls
taboolac5f6b64 -
remove admin analytics dashboard feature
taboola85ea623 -
keep passage questions grouped, gate practice quizzes behind student login, fix sheet parsing, drop category accuracy feature
taboola5068d16 -
support header-labeled sheet columns in question bank seeding
taboola6fdc109 -
remove quiz delete-all, restore question-bank wipe-all, skip llm category when sheet already has it
taboola6a9a4d0 -
fix stale test asserting flat dict for get_student_category_history
taboolathe function returns {"categories": ..., "uncategorized": ...}, not a flat category dict5f44505 -
remove temporary dev-wipe-all question bank button
taboolano longer needed now that the new question set is uploadedb3d65d6 -
fix dashboard showing results from unsaved quizzes
taboolareport generation writes a StudentResult before "save to database" is clicked, but the dashboard queries had no Quiz.status filter, so it showed results ahead of (or without) a matching 測驗 record4ad06b7 -
remove overly strict completeness check on question bank saves
taboolathe answer/image-placeholder check was rejecting verified-complete uploads; generation-time context check (_has_answerable_context) staysb38bc7a -
add temporary dev button to wipe entire question bank
taboola6c00871 -
group generated passage questions under one shared passage card
taboola0c4ca6e -
batch passage question generation into stimulus groups of 4+
taboola0de289a -
show separate duplicate and incomplete counts on question bank upload
taboola52e471a -
require sufficient passage context before accepting a generated question
taboolaf4ab72b -
fix format b column detection and include options in live-quiz seeding
taboola8298c33 -
require answer and no image placeholder for bank entries; always show all 6 categories
taboola6f81d5a -
fix eslint errors in admin dashboard
taboola2730c77 -
fix eslint errors in teacher dashboard
taboolacbc517b -
fix eslint unsafe-any errors in api error handling
taboola0c45ae1 -
fix eslint promise handling and hook deps in answer grid editor
taboola0da3ed0 -
fix eslint type and promise errors in file upload panel
taboola5983e2f -
fix eslint promise handling in quiz and report viewer
taboola169129a -
remove unused vars in model selector and student dashboard
taboola4a6c2c1