Commit Graph

41 Commits

Author SHA1 Message Date
Adrien Ufferte 30c1a9863f Optimization global 2026-06-11 11:16:03 +02:00
Adrien Ufferte 921d13b0cb Keep the current language pack until the new one is downloaded
The package downloader deleted the installed language pack as soon as a
version difference with the server was detected, before the download had
even started. If the download then failed (connection drop, server
error), the device was left with an empty language directory: on the
next offline launch, the directory check failed and the app was unusable
until internet access was restored.

The early cleanup was also redundant: _copy_data() already removes the
existing directory right before extracting the new archive, i.e. after
the download has succeeded (HTTP 200).

Changes in package_downloader.gd:
- Remove the pre-download cleanup of the current language directory; the
  previous pack now stays usable for offline play until the new one has
  been fully downloaded.
- Check the return value of HTTPRequest.request() and show the download
  error popup when the request cannot be started, instead of leaving the
  screen waiting forever on a request that was never sent.
- Surface extraction failures (missing archive, unzip error) through the
  error popup instead of silently returning from the extraction thread
  and leaving the user stuck on a frozen progress screen.

Changes in login.gd:
- Handle the result of UserDataManager.login_student(), which was
  previously logged and ignored. The synchronization performed right
  before the login can delete or move the student locally (e.g. the
  server requested a local deletion), in which case the child was sent
  to the gardens scene with no student session loaded, ending up on a
  dead screen. On failure, play the wrong-password feedback and reset
  the code keyboard instead of changing scene.

Verified with the GUT test suite (58/58 passing).
2026-06-11 08:09:56 +02:00
Adrien Ufferte 641fcc30fa security 2026-02-20 13:04:44 +01:00
Adrien Ufferte 9519450a55 Security 2026-02-20 12:17:35 +01:00
Adrien Ufferte c1f8dd64e5 Improve display of version number 2026-02-20 11:14:08 +01:00
Adrien Ufferte a205d9e48d Remove brain screen and some other useless assets 2026-02-19 15:52:31 +01:00
Adrien Ufferte 2413f2a80e Kalulu animations 2026-02-13 14:17:46 +01:00
Adrien Ufferte 5a23c4dd45 Add logs 2025-12-18 16:00:00 +01:00
Adrien Ufferte e54957ccb7 Developer Settings now access by clicking on version number
(available in both main menu and login menu)
2025-12-05 16:28:14 +01:00
Adrien Ufferte 8d5fc98d22 Add the GDScript type 2025-11-17 09:44:49 +01:00
Adrien Ufferte 890ebe465c New system to open Developer Settings 2025-10-03 16:30:50 +02:00
Adrien Ufferte c0ae8e74ee Clean and prepare new scene 2025-09-30 17:22:06 +02:00
Adrien Ufferte 787d4d089c Nomenclatures corrections 2025-09-05 15:55:48 +02:00
Adrien Ufferte 2e4521e71f Debug data synchronization when login 2025-06-25 14:05:06 +02:00
Adrien Ufferte 47b9e643ae Clean and debug 2025-06-24 08:56:55 +02:00
Adrien Ufferte ab8efbcbf3 Cleaning 2025-06-18 16:43:00 +02:00
Adrien Ufferte c01a38625f Clean code naming convention V2 2025-06-09 12:22:43 +02:00
Adrien Ufferte 24d094d01b Auto sync every 5 minutes of play 2025-06-06 16:07:37 +02:00
Adrien Ufferte 028b73f7eb Auto synchronize when student login 2025-06-06 14:25:07 +02:00
Adrien Ufferte da83547145 Delete "Parent" exception and treat this account type the same as a "Teacher" + Clean warnings / errors in validators 2025-05-15 16:33:32 +02:00
Adrien Ufferte 0cfe83778c Clean and hard-typing 2025-04-30 09:25:36 +02:00
Adrien Ufferte d663b1fca8 Remove all 160 warnings 2025-04-04 09:47:39 +02:00
Dylan Sarrazyn 4217f020db Updates gardens screen animation. Updates teacher settings. 2025-02-24 16:48:19 +01:00
Dylan Sarrazyn 0a8a591dd4 Update the gardens screen to adapt to the number of lessons. Adds a help label to the login screen for the settings. 2024-10-30 16:39:21 +01:00
Dylan Sarrazyn 551aa074a2 Fixes warnings. 2024-10-23 16:36:42 +02:00
Dylan Sarrazyn ba5fb1259b Code cleanup 2024-09-11 10:14:55 +02:00
Dylan Sarrazyn ee4f8dac14 Adds localization to main menu, adult check and package downloader. 2024-07-10 16:38:49 +02:00
Dylan Sarrazyn 1d22612490 Adds es_UY locale to supported locales. Unmutes music. 2024-07-10 14:42:39 +02:00
Dylan Sarrazyn eab2aeb0b0 Updates LocalPackageDownloader. Updates Splash and Main menu. 2024-07-10 13:56:05 +02:00
Laurent Tourte bac650aa46 kalulu speeches in the prof tool 2024-05-07 16:26:14 +02:00
Laurent Tourte f87dc2295e brain screen 2024-04-23 10:49:50 +02:00
Laurent Tourte 0b93fa4ca0 Minigame selection screen + wired everything + bug corrections 2024-04-04 14:17:42 +02:00
Dylan Sarrazyn e5eac1a683 Fixes last step of registration. Fixes password visualizer. Changes the opening curtain to an autoload 2024-02-22 15:33:58 +01:00
Dylan Sarrazyn efaad2a0d0 Adds general conditions step and summary step to the register form. Adds devices summary to the teacher settings scene. 2024-02-20 16:13:37 +01:00
Dylan Sarrazyn d894e912d1 Adds adult checks on register screen. Revamps the code keyboard. 2024-02-20 16:12:19 +01:00
Dylan Sarrazyn 0274f251d5 Finishes register form. Saves register data 2024-02-20 16:10:53 +01:00
Dylan Sarrazyn 48e3940655 Fix rebase issues 2024-01-30 15:07:12 +01:00
Dylan Sarrazyn 19551a7615 Polishing login menu 2024-01-30 12:43:06 +01:00
Dylan Sarrazyn 09b9a74744 Adds teacher_settings logics in UserDataManager. Connects student login screen to UserDataManager. Reworks the night sky scene. 2024-01-30 12:43:04 +01:00
Dylan Sarrazyn 9453214a74 Login screen, adds music manager, fixes kalulu hide and show sounds, fixes global theme 2024-01-30 12:38:17 +01:00
Dylan Sarrazyn a0c1990ef4 Adds student login screen 2024-01-30 12:32:31 +01:00