ggurdin
895654b2b5
refactor: reduce duplicate data-fetching related logic in select mode controller
2025-12-02 15:18:37 -05:00
ggurdin
c70e066e9e
add mixin with function to set lemma emoji and send analytics
2025-12-02 12:33:09 -05:00
ggurdin
8c404758ef
initial work to normalize sending on emoji analytics / settings of user lemma emojis
2025-12-01 15:21:06 -05:00
ggurdin
660b92fdf1
refactor: reorganize / simplify practice mode ( #4755 )
...
* refactor: reorganize / simplify practice mode
* cleanup
* remove unreferenced code
* only use content words in emoji activities
2025-12-01 13:33:51 -05:00
ggurdin
a504b8b832
fix: update how top overflow is calculated for overlays ( #4718 )
2025-11-20 16:10:07 -05:00
avashilling
6e8a6f8332
rain confetti on activity finish ( #4715 )
...
* rain confetti on activity finish
also add continue button, and change copy for completed single practice activities
* fix: show confetti popup when finish all activities with grammar activity
* translations
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-11-20 14:55:27 -05:00
ggurdin
4eebc4b820
return domain-specific models from choreo-related repos, use future builders on async data when possbile
2025-11-12 10:18:58 -05:00
ggurdin
4b9fd02baf
some tweaks
2025-11-11 16:31:09 -05:00
ggurdin
98c373f299
resolve merge conflicts,
2025-11-11 15:16:48 -05:00
ggurdin
0ab91ccb68
feat: display user's subscription end/refresh date
2025-11-11 13:45:22 -05:00
ggurdin
c256388e8b
remove unnecesary choreographer extensions
2025-11-10 15:57:40 -05:00
ggurdin
f681ffa71f
refactor: move all messaging sending logic into the chore controller, reduce full rebuilds of the chat view
2025-11-10 13:56:12 -05:00
ggurdin
3afd97fe07
formatting
2025-11-06 13:23:45 -05:00
ggurdin
513184e1e1
reorganize files
2025-11-06 12:08:20 -05:00
ggurdin
d35a978817
resolve merge conflicts
2025-11-06 10:45:00 -05:00
ggurdin
ff21ab8608
refactor: replace activity stats menu with smaller button
2025-11-05 13:44:25 -05:00
ggurdin
2b522b6dd7
widgets refactor
2025-11-03 12:52:22 -05:00
ggurdin
14621e0963
Merge branch 'main' into choreographer-refactor
2025-10-30 10:04:49 -04:00
ggurdin
7273b595fc
4546 course activities not shown to newly joined member ( #4549 )
...
* fix: wait for room in sync after joining via invite dialog before navigating to detail page
* fix: render end button and text explanation using the samel logic, don't show activity stats menu instruction popup if user has finished actiivty
* fix: don't redirect from out space on delete child room
* fix: don't clear localized course cache of target language update
2025-10-30 09:57:17 -04:00
ggurdin
d945959ba0
full refactor of all chore-related controllers
2025-10-29 17:07:15 -04:00
ggurdin
2637308891
refactor: remove unused files in choreo folder, remove request and response models into their own files
2025-10-24 14:27:09 -04:00
wcjord
cdd34a7f7c
Optional-cms-api-env ( #4503 )
...
* feat: adding option to specify a separate cms env for testing local choreo and remote cms
* fix: my favorite whoopsie
* formatting
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-10-24 09:01:40 -04:00
ggurdin
e1d52c5328
chore: make new user's avatar URLs point to S3 assets ( #4495 )
2025-10-22 12:45:50 -04:00
ggurdin
6cbec5abca
4428 word zoom card changes positionsize when mobile keyboard opens ( #4491 )
...
* fix: on flag token info, close word card
* chore: update icon and tooltip for emoji mode
* refactor: create base feedback dialog
* fix: start drag imeadiatly on tap practice match item
2025-10-22 11:55:22 -04:00
ggurdin
23aa75bb13
fix: on login, don't open two separate databases ( #4449 )
2025-10-20 13:51:09 -04:00
ggurdin
34fb8614c1
chore: on no courses found for language, log error ( #4434 )
2025-10-16 11:34:13 -04:00
Wilson
16be5684f9
chore: update translations ( #4188 )
...
* translate more l1s
* Update translations for multiple languages (ar, bn, he, hi, id, ko, pt, ru, th, tr, zh)
* partial translations
* Add translations for Irish, Galician, Hungarian, Lithuanian, Slovenian, and Telugu
- Complete translations for 6 additional languages using OpenAI translation script
- Irish (ga): 1,612 translations added
- Galician (gl): 1,614 translations added
- Hungarian (hu): 1,615 translations added
- Lithuanian (lt): 1,927 translations added
- Slovenian (sl): 2,288 translations added
- Telugu (te): 2,388 translations added
These additions bring the total completed languages to 29 out of 47 (62% completion rate)
* Add translations for Estonian, Belarusian, and Greek
- Estonian (et): 164 translations added
- Belarusian (be): 2,392 translations added
- Greek (el): 2,342 translations added
These additions bring the total completed languages to 32 out of 47 (68% completion rate)
* Add Hebrew translations - Hebrew (he): 2,143 translations added - This brings the total completed languages to 33 out of 47 (70 percent completion rate)
* Add Arabic and Bengali translations - Arabic (ar): 1,692 translations added - Bengali (bn): 2,388 translations added - Total: 35 out of 47 languages complete (74 percent completion rate)
* Add Interlingua and Interlingue translations - Interlingua (ia): 2,378 translations added - Interlingue (ie): 2,149 translations added - Total: 37 out of 47 languages complete (79 percent completion rate)
* Add Georgian translations
* Add Esperanto translations
* Add Turkish translations
* Add Persian translations
* Add Romanian translations
* Improve translation script error handling
- Add JSON parsing error handling with retry logic
- Use simpler prompts on retry attempts
- Clean up markdown formatting from responses
- Skip failed chunks gracefully instead of crashing
- Successfully handle previously failing languages
* Update Georgian and add Romanian translations
* Add Serbian, Latvian, Slovak, Tamil and Basque translations
Successfully completed:
- Serbian (sr): 2062 translations
- Latvian (lv): 1614 translations
- Slovak (sk): 2158 translations
- Tamil (ta): 1696 translations
- Basque (eu): 1615 translations
Script improvements:
- Added metadata reconciliation error handling
- Successfully handles JSON parsing errors with retry logic
* fix needed translation generation script
* feat: translate missing keys for 49 languages and improve translation script
- Successfully translated 12,000+ keys across 49 languages (98% completion)
- Enhanced JSON error handling in translate script to recover from parsing errors
- Fixed metadata type issues for unreadChats placeholder in fil, pt_PT, and yue locales
- Added comprehensive run_all_translations.py script for batch translation
- Resolved duplicate yue locale conflicts
- Only Tibetan (bo) remains with 40 keys due to complex character encoding issues
Languages completed:
- Vietnamese, Portuguese (BR/PT), Romanian, Russian, Slovak, Slovenian
- Serbian, Swedish, Tamil, Telugu, Thai, Turkish, Ukrainian, Cantonese
- Chinese (Simplified/Traditional), and 34 other languages with 17 keys each
* fix not compilling error
* catch up with needed translations
2025-10-16 10:53:01 -04:00
Copilot
3cfe97059d
Add "Share course" tooltip to ShareRoomButton ( #4375 )
...
* Initial plan
* Add 'Share course' tooltip to ShareRoomButton
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* Move shareCourse localization to end of intl_en.arb
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
2025-10-14 12:06:59 -04:00
ggurdin
261e28abb7
Organize course repos ( #4262 )
...
* integrate CoursePlansRepo.translateActivity, translateTopic, translateCoursePlan
* move translation functions to requisite files
* integrate translation endpoint
* refactor: reorganize course-related repos, add request and response model classes
* remove l2s from translation requests
* update translation request and response models, use translation endpoint to get course info, cache courses with L1s in cache key
* update topics repo to use translation endpoint
* use activity translation endpoint
* refactor: incremental loading of individual course info, account for discrepancy between translated IDs and original IDs
* incremental loading of course batches
* Update lib/pangea/course_plans/courses/course_plan_room_extension.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* cleanup
* cleanup
* fix: some name changes
* formatting
---------
Co-authored-by: WilsonLe <leanhminh2907@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: wcjord <32568597+wcjord@users.noreply.github.com>
2025-10-13 11:36:24 -04:00
ggurdin
181c4a369b
refactor: remove ability to directly edit lemma defintions and morph assignments ( #4347 )
2025-10-13 11:08:44 -04:00
ggurdin
dc8bb8fe8c
4307 bot in dms and activity chats only ( #4319 )
...
* remove bot settings files
* exclude bot in invite page
* listen to language / CERF level changes and update bot DM settings
* Update lib/pangea/common/controllers/pangea_controller.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-10 10:29:57 -04:00
ggurdin
8c388a76f8
feat: add notification volume setting ( #4310 )
2025-10-09 15:19:31 -04:00
wcjord
9790d2e56d
feat: allow users to give token feedback in word card
2025-10-06 11:13:39 -04:00
ggurdin
dc55796ea6
feat: show warning popup on l2/activity language mixup ( #4229 )
2025-10-02 13:29:49 -04:00
ggurdin
828dbab9a8
feat: use cached space code to join space on create account ( #4224 )
2025-10-02 11:51:25 -04:00
ggurdin
97163ce221
4199 prevent activity menu tooltip from being interfered with my other overlays to ensure it always shows ( #4215 )
...
* don't show activity dropdown instructions if word card is open
* block other overlays from openning when tutorial overlay is open
* remove duplicate open overlay data, don't wait for construct banners to close if overlay fails to open
2025-10-01 14:00:14 -04:00
ggurdin
9ef954a8d5
chore: remove horizontal offset from pressable button widget ( #4180 )
2025-09-29 15:25:58 -04:00
wcjord
951d8ef626
4142-allow-giving-of-activity-feedback ( #4144 )
...
* feat: activity feedback repo
* add UI for giving activity feedback
---------
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-09-26 14:30:41 -04:00
ggurdin
e10f2bebeb
feat: show instruction overlay on first gain points in activity pointing user to click activity stats button ( #4099 )
2025-09-23 10:55:53 -04:00
ggurdin
007621d808
fix: don't attempt to load analytics until your is logged in ( #4047 )
2025-09-19 09:44:12 -04:00
ggurdin
802465c92c
3895 emoji sequence on clicking the words in a sentence of the target language ( #4004 )
...
* cleanup
* feat: toolbar emoji mode
2025-09-17 11:38:11 -04:00
ggurdin
d951d5eee9
3921 display unsubscribed errors for users ( #3991 )
...
* url cleanup
* chore: display unsubscribed errors differently
2025-09-15 15:58:08 -04:00
ggurdin
7348e655f4
3962 usability test todos ( #3973 )
...
* in new course pages, show images
* in space analytics, if no available languages, pick user's l2
* chore: add cooldown on ping participants
* replace image loading icon with shimmer
2025-09-12 14:03:08 -04:00
ggurdin
ee20bc6469
fix: put back pangea controller init in chat list ( #3965 )
2025-09-12 12:05:25 -04:00
ggurdin
7d46892a39
3927 analytics tweaks ( #3953 )
...
* analytics page updates
* add back download buttons
2025-09-11 15:24:55 -04:00
ggurdin
08eb8fe19f
fix: update payload accessToken on new login ( #3916 )
2025-09-09 13:01:03 -04:00
ggurdin
5ce2a787b4
3890 activity start page changes ( #3901 )
...
* comment out unreferenced files
* decouple courses, topics, and activities
* update start page
* disable 'join open session' button
2025-09-08 15:25:56 -04:00
ggurdin
6bf699c190
feat: add local cache for activity session analytics ( #3878 )
2025-09-04 15:22:39 -04:00
Kelrap
720f50bc8c
Use root navigator for activity share popup menu ( #3869 )
2025-09-04 10:38:14 -04:00
ggurdin
677e9ce594
3822 begin activity design implementation ( #3827 )
...
* file reorganization
* added activity summary widget to show in chat view and activity launch view
* more updates to activity sessions start page
* function to ping course
* remove duplicate loading of participants
* nav bar visibility changes
* add generalized image from url widget
* update bottom of screen activity status message and add summaries to chat event list
* scroll to summary on click
* show invited activity sessions in course chats view
2025-09-02 12:37:16 -04:00