Hamza-Ayed
|
544c37eee8
|
Update Saqel Platform: 2026-09-13 16:50:10
|
2026-09-13 16:50:10 +03:00 |
|
Hamza-Ayed
|
72c6575765
|
Update Saqel Platform: 2026-09-13 16:31:17
|
2026-09-13 16:31:18 +03:00 |
|
Hamza-Ayed
|
81fa8c5dc8
|
Update Saqel Platform: 2026-09-12 16:23:39
|
2026-09-12 16:23:39 +03:00 |
|
Hamza-Ayed
|
f4d4f02853
|
Update Saqel Platform: 2026-09-12 13:38:49
|
2026-09-12 13:38:49 +03:00 |
|
Hamza-Ayed
|
1f31369893
|
Update Saqel Platform: 2026-09-12 08:50:01
|
2026-09-12 08:50:02 +03:00 |
|
Hamza-Ayed
|
cb4f2a3159
|
Update Saqel Platform: 2026-09-11 20:37:10
|
2026-09-11 20:37:10 +03:00 |
|
Hamza-Ayed
|
e61d56c8e1
|
feat(grade10): add chemistry, biology, and earth sciences virtual labs, fix video CDN playback, teacher submissions SQL, and enable authenticated lesson reading
|
2026-09-11 17:22:28 +03:00 |
|
Hamza-Ayed
|
d1bc39604b
|
feat(ecosystem): full Grade 10 curriculum sync, real device fingerprinting, teacher video dashboard, and official textbook assets
|
2026-09-11 16:46:40 +03:00 |
|
Hamza-Ayed
|
fc8f874bf9
|
Fix nested array reference mutation in getTree with direct key indexing
|
2026-09-11 00:17:00 +03:00 |
|
Hamza-Ayed
|
a6acdce532
|
Add diagnose_tree.php to check tree enrichment and database state
|
2026-09-11 00:15:53 +03:00 |
|
Hamza-Ayed
|
039c977d63
|
Decouple curriculum tree lesson enrichment from optional teacher_submissions table
|
2026-09-11 00:13:36 +03:00 |
|
Hamza-Ayed
|
f599b5ffc7
|
Add publish_grade10_bundle.php management script
|
2026-09-10 23:59:19 +03:00 |
|
Hamza-Ayed
|
67771242b8
|
Fix asset_type and bundle_role to match MySQL ENUM definitions
|
2026-09-10 23:49:31 +03:00 |
|
Hamza-Ayed
|
90d4a871d3
|
Fix file copy source path in promote script
|
2026-09-10 23:47:46 +03:00 |
|
Hamza-Ayed
|
35cb3d34d8
|
Add result summary banner and use PHP_BINARY for preflight
|
2026-09-10 23:43:58 +03:00 |
|
Hamza-Ayed
|
c280cfc004
|
Show explicit blocking gate errors in promote script
|
2026-09-10 23:28:09 +03:00 |
|
Hamza-Ayed
|
12fb6d07e6
|
Update Saqel Platform: 2026-09-10 23:13:50
|
2026-09-10 23:13:50 +03:00 |
|
Hamza-Ayed
|
a742c5bfd6
|
Update Saqel Platform: 2026-09-10 22:16:14
|
2026-09-10 22:16:14 +03:00 |
|
Hamza-Ayed
|
9c80ca9918
|
Update Saqel Platform: 2026-09-10 12:35:38
|
2026-09-10 12:35:38 +03:00 |
|
Hamza-Ayed
|
960d4c8604
|
Update Saqel Platform: 2026-09-10 12:26:22
|
2026-09-10 12:32:01 +03:00 |
|
Hamza-Ayed
|
09dfd665b5
|
Document remaining post-migration execution tasks
|
2026-09-09 17:20:21 +03:00 |
|
Hamza-Ayed
|
139c8667eb
|
Order dependent revenue and review migrations
|
2026-09-09 17:12:03 +03:00 |
|
Hamza-Ayed
|
60be22f418
|
Order watch session migration after video versions
|
2026-09-09 17:11:51 +03:00 |
|
Hamza-Ayed
|
313e994025
|
Make legacy migrations safe on canonical schema
|
2026-09-09 17:07:17 +03:00 |
|
Hamza-Ayed
|
f9851e3b4c
|
Add explicit SSH pull and migration verification flow
|
2026-09-09 17:04:52 +03:00 |
|
Hamza-Ayed
|
5af684a892
|
Implement verified curriculum, video review, watch sessions, ledger safeguards, and remove demo data
|
2026-09-09 17:04:08 +03:00 |
|
Hamza-Ayed
|
0dc5df7b5e
|
docs(rtl): align all markdown documentation files right-to-left for Arabic readability
|
2026-09-09 11:38:30 +03:00 |
|
Hamza-Ayed
|
432ca50204
|
fix(student_app): remove duplicate _showNoVideoAvailableSheet declaration in subject_hub_screen.dart
|
2026-09-09 01:36:06 +03:00 |
|
Hamza-Ayed
|
78ad245ee5
|
fix(playback): isolate curriculum keys and prevent non-uploaded lessons from falling back to previous video
|
2026-09-09 01:33:56 +03:00 |
|
Hamza-Ayed
|
a4d6e34a40
|
fix(curriculum): robustly normalize student grade across app and backend to display subjects
|
2026-09-09 01:28:31 +03:00 |
|
Hamza-Ayed
|
a8e895d5da
|
fix(playback): enable authentic video playback for Intro and Lesson 2 across student app and backend
|
2026-09-09 01:23:51 +03:00 |
|
Hamza-Ayed
|
0a2ca71cb4
|
Fix student grade registration: set grade_10 as default, add auto-heal for legacy tawjihi_2008, add student grade selector and update-grade API
|
2026-09-09 01:06:35 +03:00 |
|
Hamza-Ayed
|
8183e53b86
|
Update Saqel Platform: 2026-09-09 00:52:08
|
2026-09-09 00:52:08 +03:00 |
|
Hamza-Ayed
|
0c239c431d
|
Update Saqel Platform: 2026-09-09 00:24:41
|
2026-09-09 00:24:41 +03:00 |
|
Hamza-Ayed
|
956bb4a674
|
Update Saqel Platform: 2026-09-09 00:12:31
|
2026-09-09 00:12:31 +03:00 |
|
Hamza-Ayed
|
3d9fb16767
|
Update Saqel Platform: 2026-09-08 23:51:07
|
2026-09-08 23:51:07 +03:00 |
|
Hamza-Ayed
|
ef639e804d
|
Update Saqel Platform: 2026-09-08 23:48:05
|
2026-09-08 23:48:05 +03:00 |
|
Hamza-Ayed
|
be60f34148
|
Update Saqel Platform: 2026-09-08 23:44:33
|
2026-09-08 23:44:33 +03:00 |
|
Hamza-Ayed
|
41493f5dd6
|
Update Saqel Platform: 2026-09-08 23:35:48
|
2026-09-08 23:35:48 +03:00 |
|
Hamza-Ayed
|
90487a42ad
|
Update Saqel Platform: 2026-09-08 23:29:32
|
2026-09-08 23:29:32 +03:00 |
|
Hamza-Ayed
|
590326baa0
|
Update Saqel Platform: 2026-09-08 18:55:21
|
2026-09-08 18:55:21 +03:00 |
|
Hamza-Ayed
|
9198a2f974
|
Update Saqel Platform: 2026-09-08 18:49:45
|
2026-09-08 18:49:45 +03:00 |
|
Hamza-Ayed
|
dd8b95035f
|
Update Saqel Platform: 2026-09-08 18:44:36
|
2026-09-08 18:44:36 +03:00 |
|
Hamza-Ayed
|
dbbd7786f2
|
Update Saqel Platform: 2026-09-08 18:35:03
|
2026-09-08 18:35:03 +03:00 |
|
Hamza-Ayed
|
4008d4a435
|
Update Saqel Platform: 2026-09-08 18:26:41
|
2026-09-08 18:26:41 +03:00 |
|
Hamza-Ayed
|
e5cbd89323
|
Update Saqel Platform: 2026-09-08 18:19:28
|
2026-09-08 18:19:28 +03:00 |
|
Hamza-Ayed
|
75451ebc3f
|
Update Saqel Platform: 2026-09-08 17:51:07
|
2026-09-08 17:51:07 +03:00 |
|
Hamza-Ayed
|
902cf00152
|
Update Saqel Platform: 2026-09-08 17:30:46
|
2026-09-08 17:30:46 +03:00 |
|
Hamza-Ayed
|
5fd1f32d4c
|
Update Saqel Platform: 2026-09-08 14:08:24
|
2026-09-08 14:08:24 +03:00 |
|
Hamza-Ayed
|
c3d526c011
|
Update Saqel Platform: 2026-09-08 14:06:11
|
2026-09-08 14:06:11 +03:00 |
|
Hamza-Ayed
|
5bccd13b85
|
Update Saqel Platform: 2026-09-08 14:01:43
|
2026-09-08 14:01:43 +03:00 |
|
Hamza-Ayed
|
9e3750692e
|
Update Saqel Platform: 2026-09-08 13:59:41
|
2026-09-08 13:59:41 +03:00 |
|
Hamza-Ayed
|
10f885b2f1
|
Update Saqel Platform: 2026-09-08 13:55:24
|
2026-09-08 13:55:24 +03:00 |
|
Hamza-Ayed
|
bb37b31cab
|
Update Saqel Platform: 2026-09-08 13:43:36
|
2026-09-08 13:43:36 +03:00 |
|
Hamza-Ayed
|
0f424062fe
|
Update Saqel Platform: 2026-09-05 23:24:49
|
2026-09-05 23:24:49 +03:00 |
|
Hamza-Ayed
|
0e5be7adbb
|
Update Saqel Platform: 2026-09-05 22:17:15
|
2026-09-05 22:17:15 +03:00 |
|
Hamza-Ayed
|
68265a5bc6
|
Update Saqel Platform: 2026-09-05 22:08:42
|
2026-09-05 22:08:42 +03:00 |
|
Hamza-Ayed
|
368f68cc97
|
feat(curriculum): restore video player, organize math & english labs hierarchically, add scoped audio and interactive grammar mind maps
|
2026-09-05 00:33:45 +03:00 |
|
Hamza-Ayed
|
b0c2bfc03b
|
Update Saqel Platform: 2026-09-05 00:11:09
|
2026-09-05 00:11:09 +03:00 |
|
Hamza-Ayed
|
e7bc20bc98
|
fix(platform): grade-gate student app, isolate per-video resume & checkpoints, remove fake teachers, enhance arabic lab, clean flutter analyze
|
2026-09-04 23:41:32 +03:00 |
|
Hamza-Ayed
|
ae00aa943e
|
Update Saqel Platform: 2026-09-04 21:26:55
|
2026-09-04 21:26:55 +03:00 |
|
Hamza-Ayed
|
24f6b5a589
|
Update Saqel Platform: 2026-09-04 03:20:29
|
2026-09-04 03:20:30 +03:00 |
|
Hamza-Ayed
|
1235abc0cb
|
Update Saqel Platform: 2026-09-04 03:09:10
|
2026-09-04 03:09:10 +03:00 |
|
Hamza-Ayed
|
882541a56a
|
Update Saqel Platform: 2026-09-04 02:57:19
|
2026-09-04 02:57:19 +03:00 |
|
Hamza-Ayed
|
1fe97bf3eb
|
Update Saqel Platform: 2026-09-04 02:04:43
|
2026-09-04 02:04:43 +03:00 |
|
Hamza-Ayed
|
58c3c48f69
|
feat: STEM Virtual Lab, English TTS companion, dynamic textbooks and zero-demo video fallback
|
2026-09-03 17:37:15 +03:00 |
|
Hamza-Ayed
|
445a1aa0e3
|
Fix Flutter exam parsing, make exams tab dynamic from API, and add intelligent exam resolution to submitExam
|
2026-09-03 16:59:14 +03:00 |
|
Hamza-Ayed
|
0a61e32033
|
Enrich full codebase with architectural Arabic docblocks and synchronize database_schema.sql with live database
|
2026-09-03 16:51:29 +03:00 |
|
Hamza-Ayed
|
9624cfb4c8
|
Fix exams foreign key constraint on lesson_id by using NULL instead of 0 for unit exams
|
2026-09-03 16:46:17 +03:00 |
|
Hamza-Ayed
|
be4fe3dabf
|
Fix MySQL scope ENUM to unit_exam in AiQuestionBankGeneratorService and ExamController
|
2026-09-03 16:44:37 +03:00 |
|
Hamza-Ayed
|
8d7ffcf2eb
|
Implement Server-Side AI Question Bank Generator, Adaptive Weakness Sampling 60/40, and Curriculum Studio One-Click Generation
|
2026-09-03 15:38:35 +03:00 |
|
Hamza-Ayed
|
c9c03892d1
|
Implement multi-teacher video selector, in-app curriculum document reader, 15-question Unit 1 exam bank, and interactive science simulation engine
|
2026-09-03 15:16:46 +03:00 |
|
Hamza-Ayed
|
7e0aae023a
|
Fix student_question_answers table creation, clean manifest duplicate units, and calibrate Socratic timeline seeking
|
2026-09-03 14:04:39 +03:00 |
|
Hamza-Ayed
|
b41db82537
|
Fix curriculum grounding for Grade 10: replace calculus fallback with authentic Systems of Equations questions and add self-healing guard
|
2026-09-03 13:49:45 +03:00 |
|
Hamza-Ayed
|
db9004c9ed
|
Fix amberGold color token in AppColors and clean unused import
|
2026-09-03 13:31:46 +03:00 |
|
Hamza-Ayed
|
12049fd7da
|
Complete Socratic adaptive exams in Flutter, Guardian WhatsApp alerts, and curriculum robustness
|
2026-09-03 10:14:34 +03:00 |
|
Hamza-Ayed
|
ab482d85e4
|
Update Saqel Platform: 2026-09-02 09:06:45
|
2026-09-02 09:06:45 +03:00 |
|
Hamza-Ayed
|
8c62d81f04
|
Update Saqel Platform: 2026-09-02 08:59:54
|
2026-09-02 08:59:54 +03:00 |
|
Hamza-Ayed
|
5ecfaafa48
|
Update Saqel Platform: 2026-09-02 08:55:31
|
2026-09-02 08:55:32 +03:00 |
|
Hamza-Ayed
|
a9b1819e9a
|
Update Saqel Platform: 2026-09-02 08:47:33
|
2026-09-02 08:47:33 +03:00 |
|
Hamza-Ayed
|
ff9fdbb24e
|
Update Saqel Platform: 2026-09-02 08:20:41
|
2026-09-02 08:20:41 +03:00 |
|
Hamza-Ayed
|
a4536395c5
|
Update Saqel Platform: 2026-09-02 08:12:57
|
2026-09-02 08:12:57 +03:00 |
|
Hamza-Ayed
|
36939a50c1
|
Update Saqel Platform: 2026-09-02 07:52:23
|
2026-09-02 07:52:24 +03:00 |
|
Hamza-Ayed
|
739f934a26
|
Update Saqel Platform: 2026-09-02 07:43:58
|
2026-09-02 07:43:58 +03:00 |
|
Hamza-Ayed
|
310d4b57e9
|
Update Saqel Platform: 2026-09-02 01:25:14
|
2026-09-02 01:25:14 +03:00 |
|
Hamza-Ayed
|
a1c7029838
|
Update Saqel Platform: 2026-09-02 01:23:51
|
2026-09-02 01:23:51 +03:00 |
|
Hamza-Ayed
|
f4ab43d49a
|
Update Saqel Platform: 2026-09-02 00:55:56
|
2026-09-02 00:55:56 +03:00 |
|
Hamza-Ayed
|
1c0cd88a98
|
Fix RTL player time formatting and add interactive chalkboard notes
|
2026-08-31 18:01:26 +03:00 |
|
Hamza-Ayed
|
a9b9c90d20
|
Guarantee 100% success response with Socratic checkpoints on /api/lessons/{id}/playback
|
2026-08-31 17:57:31 +03:00 |
|
Hamza-Ayed
|
7ab10209dc
|
Fix UI overflows in SubjectHub/Grid and guarantee Socratic checkpoints response
|
2026-08-31 17:55:22 +03:00 |
|
Hamza-Ayed
|
43d6b88106
|
Fix lessons table SQL column name in getPlaybackData
|
2026-08-31 17:50:38 +03:00 |
|
Hamza-Ayed
|
d8a50bb105
|
Enhance video playback cubit resilience and K-12 curriculum flow
|
2026-08-31 17:46:03 +03:00 |
|
Hamza-Ayed
|
78b703f625
|
Fix PHP 8 router parameter dispatching and lesson slug playback lookup
|
2026-08-31 17:45:27 +03:00 |
|
Hamza-Ayed
|
ccf5f13a09
|
Update Saqel Platform: 2026-08-31 01:52:23
|
2026-08-31 01:52:24 +03:00 |
|
Hamza-Ayed
|
4e29915383
|
Update Saqel Platform: 2026-08-31 00:19:49
|
2026-08-31 00:19:49 +03:00 |
|
Hamza-Ayed
|
c4c59bc828
|
Update Saqel Platform: 2026-08-29 22:41:36
|
2026-08-29 22:41:36 +03:00 |
|
Hamza-Ayed
|
051b9322f6
|
Update Saqel Platform: 2026-08-29 22:05:41
|
2026-08-29 22:05:41 +03:00 |
|
Hamza-Ayed
|
d10e1c712c
|
Update Saqel Platform: 2026-08-29 21:51:24
|
2026-08-29 21:51:24 +03:00 |
|
Hamza-Ayed
|
22568fe220
|
feat: Implement semantic video naming, MySQL database curriculum synchronization, and live two-way binding between filesystem and DB
|
2026-08-29 05:40:45 +03:00 |
|
Hamza-Ayed
|
9fc60b2cf5
|
fix: Isolate OTP keys and sessions per role in Redis so teacher and student logins on the same phone number never collide
|
2026-08-29 05:29:26 +03:00 |
|