Commit graph

12127 commits

Author SHA1 Message Date
Brord van Wierst
763ffaff09
removed old code (#4446) 2025-10-20 09:11:53 -04:00
ggurdin
09754bdd90
chore: remove vocab tooltip from activity dropdown menu and update copy in end activity button (#4445) 2025-10-17 14:40:30 -04:00
ggurdin
ec646d7675
fix: fix scrolling in delete space dialog (#4436) 2025-10-16 12:54:21 -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
ggurdin
f12bcfd7e5
fix: push route on start to make add course page app bar back button work as expected (#4430) 2025-10-16 10:49:07 -04:00
ggurdin
45a8711f0e
fix: handle room code on join with code (#4427) 2025-10-16 10:22:56 -04:00
ggurdin
16ddaea9d5
fix: if a new user gets to account create page without target language in local storage or from course, direct them back to language selection (#4422) 2025-10-16 09:27:44 -04:00
ggurdin
541423819d
chore: make word card close and flag button the same styling and vertically aligned (#4419) 2025-10-15 16:29:14 -04:00
ggurdin
92e4768704
fix: refresh chat list on join with link (#4417) 2025-10-15 16:12:53 -04:00
ggurdin
68bb85e521
fix: don't delete archived activities on delete space (#4414)
* fix: don't delete archived activities on delete space

* use one list of futures in delete space function
2025-10-15 14:33:47 -04:00
ggurdin
d3e1da20df
chore: add tooltip to describe vocab highlighting in activity dropdown menu (#4412) 2025-10-15 14:18:50 -04:00
ggurdin
9829be619c
chore: message on empty vocab filter (#4410) 2025-10-15 13:44:48 -04:00
ggurdin
2fc52e6a87
chore: add skip button to add course page (#4407) 2025-10-15 13:06:59 -04:00
ggurdin
df65441e5a
chore: add level bar / analytics to space details page on mobiel (#4405) 2025-10-15 13:02:01 -04:00
Copilot
c4de304406
Move word card feedback notification from bottom to top of screen (#4402)
* Initial plan

* Replace bottom SnackBar with top overlay notification for word card feedback

Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>

* auto-close top token feedback snackbar after delay

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-10-15 12:56:10 -04:00
ggurdin
9be0dce1fb
fix: alway hide back button in add course page (#4404) 2025-10-15 12:48:55 -04:00
Copilot
82d1bc788b
Update IT help message and remove unreferenced InstructionsEnum entries (#4391)
* Initial plan

* Update IT help message and remove unreferenced enum entries

Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>

* Revert changes to non-English .arb files

Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>

* remove unreferenced copy

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-10-15 12:28:29 -04:00
Copilot
031f875866
Update onboarding language selection text to "Choose a target language" (#4393)
* Initial plan

* Update chooseLanguage text to "Choose a target language"

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-15 12:20:01 -04:00
ggurdin
f349d65112
fix: don't mutate activity JSON image_url (#4386) 2025-10-14 17:07:24 -04:00
ggurdin
631fb15190
fix: add cms api url to activity image paths to load properly (#4385) 2025-10-14 16:29:55 -04:00
ggurdin
cd03c2ef2d
fix: add base language dropdown to language selection page on identic… (#4384)
* fix: add base language dropdown to language selection page on identical target and system language

* Update lib/pangea/login/utils/lang_code_repo.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-14 16:24:44 -04:00
ggurdin
7579b657f3
4379 show participants in public courses selection (#4383)
* chore: trip body / icons updates

* chore: display participant count in public courses page, update trip-related copy
2025-10-14 15:28:33 -04:00
avashilling
cd2f43c00c
add XP animation on match activity tokens (#4373) 2025-10-14 14:18:04 -04:00
ggurdin
2586ae5442
fix: update isActivityStarted to rely on assignedRoles instead of directly using state event (#4382) 2025-10-14 14:09:10 -04:00
ggurdin
c34b7db20c
fix: after add course to existing space, push redirect route to refresh page (#4381) 2025-10-14 14:00:05 -04:00
ggurdin
ce38f515a7
chore: only show unlocalized language options in course search target language dropdowns (#4380) 2025-10-14 13:46:34 -04:00
Copilot
0b40b1c7ea
Remove L1 (base language) display from course info chips (#4378)
* Initial plan

* Remove L1 display from courses

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:14:33 -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
b9e0ac6ee4
fix: on load course topics, also load location media to get topic images (#4376) 2025-10-14 12:01:43 -04:00
ggurdin
615c3e9601
fix: show screen loading in course settings until activity roles are … (#4374)
* fix: show screen loading in course settings until activity roles are completly loaded

* show loading indicator over activity card on load course summary

* Update lib/pages/chat_details/chat_details.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-14 11:57:34 -04:00
Copilot
5609632641
Fix foreground notification navigation to activity sessions for course pings (#4369)
* Initial plan

* Fix foreground notification navigation to activity sessions

Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>

* Add clarifying comments to notification handling code

Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>

* Refactor to reduce duplicate code between _onOpenNotification and goToRoom

Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>

* chore: fix foreground notif small icon

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-10-14 10:59:25 -04:00
ggurdin
f59f72c53d
fix: stop rebuilding whole course settings tab on screen size change (#4368) 2025-10-13 16:17:57 -04:00
Copilot
bb0206780c
Hide activity end prompt text when activity is archived (#4364)
* Initial plan

* Hide activity end prompt when activity is archived

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-13 14:36:49 -04:00
Copilot
60caaa5218
Hide vocab analytics instructions when filtering or searching (#4362)
* Initial plan

* Hide instructions tooltip when searching or filtering vocabulary

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-13 14:35:01 -04:00
avashilling
bfc6356247
3976 making emoji selection more of an activity (#4255)
* add shimmer in vocab page when no emoji selected

* fix shimmer in 2 column mode and add XP for first emoji selection

* add xp sparkle on emoji selection

* formatting, imports, widget name typo fix

* dont rebuild analytics page on every analytics stream update

* remove listener

* move animation and selection visual after slow function

for better visual flow and hopefully not noticeable stutter

* change transformTargetId into variable, update local display state before awaiting saving to analytics room

---------

Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-10-13 14:22:11 -04:00
ggurdin
8086868b6c
fix: filter out public courses for which course ID failed to load (#4360) 2025-10-13 14:04:52 -04:00
ggurdin
512d7f566d
fix: reload space course after updating course state event, wait for … (#4359)
* fix: reload space course after updating course state event, wait for course ID update in sync after returning from add course to space function

* Update lib/pangea/course_settings/course_settings.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-13 14:00:58 -04:00
ggurdin
096567ecf6
4354 room stuck indefinitely loading (#4357)
* fix: stop loading course if course plan provider if courseId is null

* don't allow padding of null string to loadCoursePlan
2025-10-13 13:30:55 -04:00
Copilot
173ac562a2
Add select all button to the delete space dialog (#4353)
* Initial plan

* Add select all button to delete space dialog

Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>

* Style select all button as CheckboxListTile

Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>

* update copy

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-10-13 13:11:28 -04:00
ggurdin
d4b5d6d059
fix: filter courses only by short lang code (#4350)
* fix: filter courses only by short lang code

* Update lib/pangea/course_creation/course_search_provider.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update lib/pangea/login/pages/public_trip_page.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: always call setState on update target language filter

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-13 13:02:29 -04:00
ggurdin
ac32bd77ec
fix: use same context in show and hide token feedback snackbar to fix closing functionality (#4349) 2025-10-13 11:56: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
97984f85eb
chore: add leave space description (#4341) 2025-10-10 16:40:09 -04:00
ggurdin
76b267b10d
chore: add create at and updated at fields to course plan model (#4340) 2025-10-10 16:17:40 -04:00
ggurdin
255f736a9c
chore: add custom map icons (#4339) 2025-10-10 15:59:11 -04:00
ggurdin
f92548d4af
chore: switch order of buttons in space delete dialog (#4338) 2025-10-10 15:51:50 -04:00
ggurdin
c61f8488ba
chore: dismiss last snackbar before show invite snackbar (#4337) 2025-10-10 15:44:00 -04:00
ggurdin
ff85fc8a9c
chore: more specific error message on not found course with code (#4336) 2025-10-10 15:32:15 -04:00