Commit 0ae96b0
committed
sync(main): quiz fixes from golang-version — idempotent reveal, submit reentry lock, A3/A4 answer guard, smd streaming + SW v2.10.0
Frontend (synced from golang-version):
- fix(exam): submitExam reentry lock — prevent double-submit race causing 0-score
- fix(exam): reveal retry with exponential backoff (3 attempts, 180s grace window)
- fix(exam): A3/A4 multi-select must answer before swipe (consistent with btn-next)
- fix(ui): CSS containment during slide animation for smoother frame rate
- revert(ui): explain panel back to sync render (remove double-RAF lazy render)
- feat(ai): smd real-time markdown streaming with per-char water-flow animation
- chore(sw): bump cache version to v2.10.0
Backend (quiz.py):
- fix(exam): idempotent reveal with 180s grace window (was one-shot pop)
- fix(exam): cleanup also purges revealed sessions past grace window
- fix: add missing ai_max_tokens/cleanup_days/debug params to start_quiz signature
- feat(cli): add --debug flag for /api/debug/exam-sessions endpoint1 parent 5397a4b commit 0ae96b0
6 files changed
Lines changed: 441 additions & 148 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
661 | 661 | | |
662 | 662 | | |
663 | 663 | | |
| 664 | + | |
664 | 665 | | |
665 | 666 | | |
666 | 667 | | |
667 | | - | |
| 668 | + | |
668 | 669 | | |
669 | 670 | | |
670 | 671 | | |
| |||
697 | 698 | | |
698 | 699 | | |
699 | 700 | | |
700 | | - | |
| 701 | + | |
701 | 702 | | |
702 | 703 | | |
703 | 704 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| |||
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
| 134 | + | |
133 | 135 | | |
134 | 136 | | |
135 | 137 | | |
| |||
685 | 687 | | |
686 | 688 | | |
687 | 689 | | |
688 | | - | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
689 | 696 | | |
690 | 697 | | |
691 | 698 | | |
| 699 | + | |
692 | 700 | | |
693 | | - | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
694 | 709 | | |
695 | 710 | | |
696 | 711 | | |
| |||
843 | 858 | | |
844 | 859 | | |
845 | 860 | | |
846 | | - | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
847 | 864 | | |
848 | 865 | | |
849 | 866 | | |
| |||
872 | 889 | | |
873 | 890 | | |
874 | 891 | | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
875 | 926 | | |
876 | 927 | | |
877 | 928 | | |
| |||
2032 | 2083 | | |
2033 | 2084 | | |
2034 | 2085 | | |
| 2086 | + | |
2035 | 2087 | | |
2036 | 2088 | | |
2037 | 2089 | | |
| 2090 | + | |
| 2091 | + | |
2038 | 2092 | | |
2039 | 2093 | | |
2040 | 2094 | | |
| |||
2049 | 2103 | | |
2050 | 2104 | | |
2051 | 2105 | | |
| 2106 | + | |
2052 | 2107 | | |
2053 | 2108 | | |
2054 | 2109 | | |
| |||
2068 | 2123 | | |
2069 | 2124 | | |
2070 | 2125 | | |
| 2126 | + | |
2071 | 2127 | | |
2072 | 2128 | | |
2073 | 2129 | | |
| |||
2161 | 2217 | | |
2162 | 2218 | | |
2163 | 2219 | | |
| 2220 | + | |
| 2221 | + | |
2164 | 2222 | | |
2165 | 2223 | | |
2166 | 2224 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2748 | 2748 | | |
2749 | 2749 | | |
2750 | 2750 | | |
2751 | | - | |
2752 | | - | |
2753 | | - | |
| 2751 | + | |
| 2752 | + | |
| 2753 | + | |
| 2754 | + | |
| 2755 | + | |
| 2756 | + | |
| 2757 | + | |
| 2758 | + | |
| 2759 | + | |
| 2760 | + | |
| 2761 | + | |
2754 | 2762 | | |
2755 | | - | |
2756 | | - | |
2757 | | - | |
| 2763 | + | |
| 2764 | + | |
| 2765 | + | |
| 2766 | + | |
| 2767 | + | |
| 2768 | + | |
| 2769 | + | |
| 2770 | + | |
| 2771 | + | |
| 2772 | + | |
| 2773 | + | |
| 2774 | + | |
| 2775 | + | |
| 2776 | + | |
| 2777 | + | |
| 2778 | + | |
| 2779 | + | |
| 2780 | + | |
| 2781 | + | |
| 2782 | + | |
| 2783 | + | |
| 2784 | + | |
| 2785 | + | |
| 2786 | + | |
| 2787 | + | |
| 2788 | + | |
| 2789 | + | |
| 2790 | + | |
| 2791 | + | |
| 2792 | + | |
| 2793 | + | |
| 2794 | + | |
| 2795 | + | |
| 2796 | + | |
| 2797 | + | |
| 2798 | + | |
| 2799 | + | |
| 2800 | + | |
| 2801 | + | |
| 2802 | + | |
| 2803 | + | |
| 2804 | + | |
| 2805 | + | |
| 2806 | + | |
| 2807 | + | |
| 2808 | + | |
| 2809 | + | |
| 2810 | + | |
| 2811 | + | |
| 2812 | + | |
2758 | 2813 | | |
2759 | | - | |
| 2814 | + | |
| 2815 | + | |
2760 | 2816 | | |
2761 | | - | |
| 2817 | + | |
| 2818 | + | |
| 2819 | + | |
| 2820 | + | |
| 2821 | + | |
| 2822 | + | |
2762 | 2823 | | |
2763 | 2824 | | |
2764 | | - | |
| 2825 | + | |
2765 | 2826 | | |
2766 | 2827 | | |
2767 | 2828 | | |
2768 | 2829 | | |
2769 | 2830 | | |
2770 | 2831 | | |
2771 | | - | |
| 2832 | + | |
2772 | 2833 | | |
2773 | 2834 | | |
2774 | 2835 | | |
| |||
0 commit comments