Commit graph

135 commits

Author SHA1 Message Date
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