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
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
Wilson
a62d9f8643
feat: courses repo ( #3777 )
2025-08-28 12:02:58 -04:00
wcjord
4e3f82331c
Update-sample-course ( #3823 )
...
* chore(courses): update test/sample coures
* feat(activity_planner): addition of goals, location, and description to activities
* formatting
* added activity ids and renamed bookMarkId to activityId
* formatting
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-08-27 16:41:03 -04:00
ggurdin
f9ee134cdd
feat: course planner
2025-08-25 15:43:17 -04:00
ggurdin
7c03c70105
3517 non local storage of bookmarked activities ( #3761 )
2025-08-18 11:43:00 -04:00
Brord van Wierst
598820295f
Android in Google Analytics ( #3685 )
...
* android GA
* test for now
* removed test android
* formatting and pangea comments
---------
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-08-18 09:29:01 -04:00
Kelrap
7ca87a9179
Use status codes to decide activity search behavior ( #3718 )
...
* Add status codes to activity search
* Fix strange request error handling
* Make search react appropriately to 400+ status codes
* Small readability fixes
* Use enum for activity search status
* Fix switched logic in hideCards
2025-08-14 12:28:02 -04:00
ggurdin
9e190d483a
chore: use activity IDs from the choreo response ( #3706 )
2025-08-12 15:34:57 -04:00
ggurdin
39fc047961
feat: space analytics page
2025-08-06 15:18:10 -04:00
ggurdin
62140c56da
feat: activity sessions
2025-08-04 16:31:00 -04:00
ggurdin
3bd840c621
feat: set app language to user's L1 ( #3554 )
2025-07-24 13:03:19 -04:00
ggurdin
4e8e9eb6af
chore: remove unused choreo URLs ( #3540 )
2025-07-23 11:09:26 -04:00
ggurdin
3dd0542703
chore: fix TTS voice initialization ( #3469 )
2025-07-15 16:22:57 -04:00
ggurdin
ab64e09506
fix: make pangea login state listener trigger on login ( #3464 )
2025-07-15 12:28:51 -04:00
ggurdin
8493e28d96
chore: make IGC button more prominent and added tooltip, set auto-IGC false by default ( #3461 )
2025-07-15 10:43:25 -04:00
Kelrap
657b652bc2
Fix activity timeout overflow ( #3442 )
...
* Fix activity timeout overflow
* chore: wrap error message
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-07-11 16:43:09 -04:00
ggurdin
f6f4c60287
chore: add more specific error messages
2025-07-11 12:57:48 -04:00
ggurdin
a41b2d2dde
More specific error messages ( #3418 )
...
* chore: add more specific error messages
* chore: more specific error messages
* chore: more specific error messages
* chore: more specific error messages
2025-07-11 09:51:49 -04:00
ggurdin
182269da97
merge main
2025-07-08 09:19:17 -04:00
ggurdin
f50f202c03
chore: save lemma edits to database ( #3360 )
2025-07-07 14:48:00 -04:00
ggurdin
aeb92b1b89
refactor: new message selection mode
2025-07-03 12:36:21 -04:00