Commit 712a3da
v1.0.16: TTS fix (AudioContext/iOS), typewriter animation, swipe handle, avatar glow, Quick Study chip, personalization
- Fix TTS on iOS Chrome: unlock shared AudioContext synchronously in user
gesture (handleSpeak), then decode/play via decodeAudioData in Promise
chain — avoids autoplay-policy rejection from HTMLAudioElement.play()
- Add typewriter animation: SSE tokens queued; 20ms interval reveals 5
chars/tick with smooth scroll to keep new text visible
- Avatar pulse/glow on TTS instead of bounce: CSS @Keyframes aica-speaking-glow
applied to toggle button via .aica-speaking class
- Restrict mobile swipe-to-close to dedicated .aica-swipe-handle bar above
header — prevents accidental dismissal when scrolling content
- Add Quick Study starter chip: time picker (5/10/15/30 min) + topic selector
(AI-guided default + course topics + custom); tracks sessions in localStorage
- Personalization: store last session topic; show 'Continue where you left off'
suggestion on re-open; tracks quiz history for welcome-back context
- db/upgrade.php: add savepoint for 2026030700 (no schema changes)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 576cc20 commit 712a3da
File tree
11 files changed
+521
-34
lines changed- amd
- build
- src
- db
- lang/en
- templates
11 files changed
+521
-34
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
409 | 409 | | |
410 | 410 | | |
411 | 411 | | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
412 | 420 | | |
413 | 421 | | |
414 | 422 | | |
| |||
765 | 773 | | |
766 | 774 | | |
767 | 775 | | |
768 | | - | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
769 | 779 | | |
770 | 780 | | |
771 | | - | |
772 | | - | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
773 | 784 | | |
774 | 785 | | |
775 | 786 | | |
776 | 787 | | |
777 | | - | |
| 788 | + | |
778 | 789 | | |
779 | 790 | | |
780 | | - | |
781 | | - | |
| 791 | + | |
| 792 | + | |
782 | 793 | | |
783 | 794 | | |
784 | 795 | | |
| |||
1152 | 1163 | | |
1153 | 1164 | | |
1154 | 1165 | | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
1155 | 1170 | | |
1156 | 1171 | | |
1157 | 1172 | | |
| |||
1166 | 1181 | | |
1167 | 1182 | | |
1168 | 1183 | | |
1169 | | - | |
1170 | | - | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
1171 | 1242 | | |
1172 | 1243 | | |
1173 | 1244 | | |
1174 | 1245 | | |
1175 | 1246 | | |
1176 | 1247 | | |
1177 | 1248 | | |
1178 | | - | |
1179 | | - | |
1180 | | - | |
1181 | | - | |
1182 | | - | |
1183 | | - | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
1184 | 1252 | | |
1185 | 1253 | | |
1186 | 1254 | | |
| |||
1191 | 1259 | | |
1192 | 1260 | | |
1193 | 1261 | | |
| 1262 | + | |
| 1263 | + | |
1194 | 1264 | | |
1195 | 1265 | | |
1196 | 1266 | | |
| |||
2590 | 2660 | | |
2591 | 2661 | | |
2592 | 2662 | | |
| 2663 | + | |
| 2664 | + | |
| 2665 | + | |
| 2666 | + | |
| 2667 | + | |
| 2668 | + | |
| 2669 | + | |
| 2670 | + | |
| 2671 | + | |
| 2672 | + | |
| 2673 | + | |
| 2674 | + | |
| 2675 | + | |
| 2676 | + | |
| 2677 | + | |
| 2678 | + | |
| 2679 | + | |
| 2680 | + | |
| 2681 | + | |
| 2682 | + | |
| 2683 | + | |
| 2684 | + | |
| 2685 | + | |
| 2686 | + | |
| 2687 | + | |
| 2688 | + | |
| 2689 | + | |
| 2690 | + | |
| 2691 | + | |
| 2692 | + | |
| 2693 | + | |
| 2694 | + | |
| 2695 | + | |
| 2696 | + | |
| 2697 | + | |
| 2698 | + | |
| 2699 | + | |
| 2700 | + | |
| 2701 | + | |
| 2702 | + | |
| 2703 | + | |
| 2704 | + | |
| 2705 | + | |
| 2706 | + | |
| 2707 | + | |
| 2708 | + | |
| 2709 | + | |
| 2710 | + | |
| 2711 | + | |
| 2712 | + | |
| 2713 | + | |
| 2714 | + | |
| 2715 | + | |
2593 | 2716 | | |
2594 | 2717 | | |
2595 | 2718 | | |
| |||
2665 | 2788 | | |
2666 | 2789 | | |
2667 | 2790 | | |
| 2791 | + | |
2668 | 2792 | | |
2669 | 2793 | | |
2670 | 2794 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
192 | 198 | | |
193 | 199 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
408 | 408 | | |
409 | 409 | | |
410 | 410 | | |
| 411 | + | |
411 | 412 | | |
412 | 413 | | |
413 | 414 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
570 | 570 | | |
571 | 571 | | |
572 | 572 | | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
573 | 593 | | |
574 | 594 | | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
575 | 599 | | |
576 | 600 | | |
577 | 601 | | |
| |||
2477 | 2501 | | |
2478 | 2502 | | |
2479 | 2503 | | |
2480 | | - | |
2481 | | - | |
2482 | | - | |
2483 | | - | |
2484 | | - | |
2485 | | - | |
2486 | | - | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
2487 | 2509 | | |
2488 | 2510 | | |
2489 | | - | |
2490 | | - | |
2491 | | - | |
| 2511 | + | |
| 2512 | + | |
2492 | 2513 | | |
2493 | 2514 | | |
2494 | 2515 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
77 | 80 | | |
78 | 81 | | |
79 | 82 | | |
| |||
260 | 263 | | |
261 | 264 | | |
262 | 265 | | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
263 | 273 | | |
264 | 274 | | |
265 | 275 | | |
| |||
0 commit comments