Spaces:
Sleeping
Sleeping
Commit History
-
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
-
fail question generation cleanly on openai quota exhaustion instead of silently returning empty results
taboolac616b38 -
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 "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 -
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 -
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 -
batch passage question generation into stimulus groups of 4+
taboola0de289a -
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 passage-column parsing in question bank upload
tabooladffb9da -
silence mypy overload mismatch on structured output response_format
taboola9e40945 -
fix mypy type errors in answer grid, auth, admin, database
taboola1415a75 -
remove unused imports and fix types in parsers
taboolac6ffec6 -
apply ruff formatting to backend
taboolae07612c -
track uncategorized questions in category history stats
taboolac5e69e1 -
improve question categorization accuracy and reliability
taboolab7ee16b -
add login error messages, shorten category tooltip
taboolac6bdd55
-
fix migration crash due to character limit
taboolaa560609 -
add admin analytics, fix passage-question generation
taboola0828e33 -
fix question generation and auto-confirm answer grid
taboolabc3e443 -
remove raw-file feature, fix upload reliability, remove mock data
taboola7b8d5bb
-
UI changes, mirror data onto student dashboard
taboola8917a3a
-
restore demo data, remove category breakdown
taboola1acff4f
-
fix practice quiz dashboard entries and database storage
taboola2572915 -
auto-issue student credentials, clean up question bank UI
taboolad709204 -
add student login/dashboard, category breakdown, report links, upload visual indicator
taboola63bb1a7
-
add question rewriting + passage generation, question bank browser, skip image desc, fix quiz stats mismatch, demo data overlay
taboola0ad916a
-
save practice quiz review, fix empty-generation bug, add quiz/result delete options, restructure dashboard icons
taboolabb5d170
-
store student email, dashboard changes
taboolabb088d0