* 3871 activity session issues feedback (#3874)
* fix: add header when fetching image from CMS
* fix: only show activity start page is all roles have never been full
* chore: disable archive button until summary loads
* chore: still save activity analytics summary even if there's a choreo error when fetching summary
* chore: pass location image URL as topic image URL (#3876)
* feat: add local cache for activity session analytics (#3878)
* fix: in new courses, set course_user state event power level to 0 (#3882)
* fix: make activity summary request cache keys unique, use in-memory cache instead of local storage, remove items from cache on error or on state event sent successfully (#3885)
* chore: widen summary cards (#3888)
* Replaced references to spaces with courses in intl files and calls (#3884)
* Replaced references to spaces with courses in intl files and calls
* Change learning community reference to 'public course'
---------
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* chore: update delete course description (#3889)
* 3890 activity start page changes (#3901)
* comment out unreferenced files
* decouple courses, topics, and activities
* update start page
* disable 'join open session' button
* feat: activity dropdown menu
* fix: always initialize course info after fetching (#3907)
* chore: show role goal in text abut button on activity launch page and in tooltip above input bar (#3910)
* chore: go to course settings tab after archiving activity, show check over completed activites (#3913)
* fix: remove dollar sign from copy (#3914)
* fix: update payload accessToken on new login (#3916)
* 3915 course chat view updates (#3919)
* Removes Proper Noun from default analytics morph list (#3918)
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* Level up popup tweaks (#3917)
* Use L10n for 'Level up' text
* Replace drop down button with close button
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* chore: update how activity summary description expansion button layout works (#3930)
* fix: add analytics listener to activity stats menu (#3931)
* fix: don't show join message when user dismisses activity role goal message (#3932)
* chore: hide activity role tooltip when it bar is open (#3933)
* fix: fix null check error in activity role tooltip (#3935)
* fix: when fetching translation, only consider a message to have included IT if the sent message body matches the message at the end of choreo (#3936)
* chore: update messaging in subscription management (#3937)
* feat: join activity session on open app via ping (#3944)
* chore: don't show ping unread badge (#3946)
* fix: Correctly fetch activity images (#3943)
* fix fetching images and parsing url
* small fix for getting activity image URLs
---------
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
* Set thumbVisibility true for grammar activity scrolling (#3942)
* Set thumbVisibility true for grammar activity scrolling
* always show scrollbar
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* reload space hierarchy on invite update (#3949)
* 3927 analytics tweaks (#3953)
* analytics page updates
* add back download buttons
* some activity / invite page tweaks (#3958)
* Wrap invite course avatar in MapClipper (#3957)
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* Add period to end of languageLevelA2Desc (#3959)
* fix: put back pangea controller init in chat list (#3965)
* fix: show bot avatar in open roles indicator (#3966)
* fix: on cancel registration, pop future loading dialog (#3967)
* chore: adjust actvity participant text colot (#3968)
* fix: always reload course on ID change (#3969)
* chore: increase size of text in archived activity popup (#3970)
* feat: add edit course page (#3971)
* 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
* update activity launch page buttons, sort activities in topics by number of participants (#3974)
* chore: topic is completed if user has finished number of activities equal to number of 2 person activities in topic (#3983)
* feat: always show new tokens with green underlines (#3984)
* 3873 add superlatives for most vocab grammar and xp (#3977)
* add grammar and vocab superlatives
- adds superlatives to the summary cards for each user
- WIP, doesn't include XP superlative yet and it continuously reinitializes state which reloads the superlatives
* get analytic superlatives from saved state event
Revert activity user summaries widget to stateless, get info from saved state event instead of awaiting it, and fix some spacing issues.
* add xp superlative
- simplify 3 loop logic into one
- change from constant updates to only generate superlatives on analytics save
* sort imports
* put analytics loading inside buttonControlledCarouselView
* delete commented out code
* return superlative map instead of setting value
* chore: on new token update, clear whole new token cache in case there are identical tokens (#3985)
* fix: fix calculation of completed activities (#3986)
* chore: collection seed always fades up and out (#3987)
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* 3988 activitycourse tweaks (#3989)
* chore: set course and activity descriptions
* chore: remove redundant results button
* 3921 display unsubscribed errors for users (#3991)
* url cleanup
* chore: display unsubscribed errors differently
* chore: show user menu on click participant item (#3992)
* fix: Reintroduce shared isolate (#3981)
* initial scripts n actions
* custom cshared isolate
* kitlin fixes
* integrate and token fix
* executable and gstreamer
* disable check dupes, fix gstreamer
* another linux update, removed 2 android builds
* new updates
* final android attempt
* formatting
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
* chore: add snackbar message after pinging course participants (#3995)
* fix: don't show green underlines on own messages (#3997)
* 3803 indented bullets displayed strangely (#3999)
* make markdown function the same as matrix sdk
* fix: fix newline issues in html messages
* fix: replace build-web script (#4000)
* fix: try to fix build again (#4001)
* chore: don't allow hover of non-selectable activity participants items (#4002)
* 3895 emoji sequence on clicking the words in a sentence of the target language (#4004)
* cleanup
* feat: toolbar emoji mode
* Add dark/light mode check for unassigned participant label color (#4006)
* chore: update emoji button color (#4015)
* chore: move analytics tooltips inside scrollviews (#4016)
* chore: update icon and border of find a course nav rail item (#4005)
* chore: Improve translation script and translate vi, es, et (#3555)
* improve translation script
* update translation script, more translates for es, et, vi
* chore: fix click cursor showing on hover of disabled activity participant widget (#4020)
* chore: add hint text to text fields in course edit page (#4022)
* chore: add placeholder to image in course editting page (#4024)
* chore: show snackbar on course edit save (#4025)
* 4017 usability test todos 91725 (#4026)
* chore: add ability to toggle show password in signup and login pages
* chore: update text in register popup
* chore: disable save edits button if no changes in course edit page (#4033)
* chore: don't animate in-chat tooltips (#4034)
* chore: add scrollbar to topic activities list (#4035)
* Morph analytics scroll (#4032)
* Move download button above scroll view
* Make morph analytics spacing consistent with vocab analytics spacing
* feat: add ability to add course to existing space (#4037)
* fix: don't attempt to load analytics until your is logged in (#4047)
* feat: integrate room preview endpoint (#4014)
* feat: integrate room preview endpoint
* initial work for intermediary activity page
* Update lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update lib/pangea/chat_settings/utils/room_summary_extension.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* formatting
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* 3934 activity summary card visual changes (#4013)
* visual tweaks and confetti rain on results generation
* create star rain widget to trigger when activity finishes
* delete commented out lines
* use new star confetti widget in levelup
---------
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* Set height of activity creation sized box to 0 (#4048)
* 4036 playtest 91825 (#4051)
* chore: improve constrast in message practice
* fix typo
* chore: disable learning settings save button until change is made
* show word card on click vocab in activity dropdown
* Playtest updates (#4054)
* update emoji mode icon and tooltip
* upload CMS url instead of uploading image bytes to matrix
* re-init subscription controller after setting account creation date
* fix: don't allow new users to steal roles (#4055)
* chore: render activity instruction markdown (#4056)
* chore: disable hover effect on loading span card icons (#4057)
* fix: fix needed participants copy (#4058)
* update course plan repo search to correctly query (#4065)
* chore: fix practice mode icon / border contrast (#4067)
* chore: only show emoji button for save-vocab tokens, fix alignment for non-token text (#4071)
* fix: fix button visibility in activity start page (#4073)
* chore: use synapse room_preview to determine which activities users have completed (#4078)
* fix: don't reset edits using the room's title and description (#4080)
* chore: on web, show analytics in course chat view (#4085)
* chore: show user menu on click avatar in topic participant list (#4086)
* fix: fix toolbar buttons on mobile (#4087)
* chore: on course load error, show option to add a different course plan to space (#4089)
* fix: check if can invite to course when deciding if show invite button in activity session in course without enough users, disable instead of hiding (#4095)
* chore: shuffle practice tokens before selecting the ones to include (#4097)
* feat: show instruction overlay on first gain points in activity pointing user to click activity stats button (#4099)
* chore: add descriptions for analytics categories (#4100)
* chore: fix copy issue (#4102)
* fix: make invite button go to course invite page (#4103)
* chore: make autoIGC true for new accounts (#4105)
* 4110 playtest 92325 (#4121)
* style activity role tooltip like instruction inline tooltips
* style updates to activity details
* don't show token underlines in practice mode
* show loading activity analytics
* use all construct types to calculate activity analytics, include audio messages in activity summary request
* update chat context menus for activities
* fix positioning on menu in main chat list
* chore: update activity session notification to open activity start page without joining activity (#4122)
* chore: add copy to describe writing analytics (#4123)
* feat: new onboarding flow (#4112)
* feat: new onboarding flow
* go to course details page on click course template in setup page
* update route redirects
* style tweaks
* chore: add gold shimmer to active token practice buttons (#4131)
* chore: remove unnecessary spacing (#4132)
* fix: don't show end activity button until activity has started (#4134)
* chore: add no courses found indicator (#4135)
* chore: update course edit saving logic (#4136)
* chore: add loading indicator to course settings page (#4137)
* fix: use outer context when navigating via course chat popup (#4139)
* chore: update some copy in filter dropdowns (#4140)
* chore: make terms and conditions links work (#4141)
* chore: remove unnecessary padding (#4143)
* fix: hide activity role tooltip during translation (#4145)
* fix: always allow show menu on click activity participant (#4146)
* chore: remove text scaling in emoji mode (#4147)
* chore: increase size of user activity summary widgets (#4149)
* chore: make whole upper acitivty summary clickable to expand (#4150)
* fix: always set vocab as default tab in analytics page (#4151)
* build: fix lints for new flutter version (#4154)
* chore: changes to chat list main view (#4158)
* chore: changes to chat list main view
* remove onboarding page
* Make underlines translucent so lower parts of letters can be seen (#4160)
* 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>
* fix: don't dispose new word overlay animation early (#4168)
* 4152 onboarding tweaks (#4163)
* filter courses by short lang codes
* reduce padding in course details page
* update home / registration routes
* refactor: replace find your people page with new course page from onboarding
* chore: on course search, always load course IDs from server (#4174)
* fix: fix double analytics view in two column mode (#4175)
* feat: on create course, go to invite page while course creation loads (#4178)
* chore: give activity goal tooltip max width (#4179)
* chore: remove horizontal offset from pressable button widget (#4180)
* chore: in space analytics tab on small screens show language code in language dropdown (#4182)
* chore: in reading asssitance input bar, if all practice activities for message are completed, show all done message (#4183)
* 4181 japanese words grouped when should be separate (#4184)
* fix: only continue pickup up adjacent tokens while they are punctuation
* uncomment commented out code
* chore: when igc has matches, make send button color disabled instead of red (#4185)
* chore: don't show choreo error on timeout after canceling translation (#4189)
* consume image sizes from cms, surface course plan activity locations apis (#4187)
* 4152 onboarding tweaks (#4190)
* filter courses by short lang codes
* reduce padding in course details page
* update home / registration routes
* refactor: replace find your people page with new course page from onboarding
* chore: add redirect to onboarding course plan page if user not in course
* chore: re-style onboarding buttons (#4196)
* chore: match vocab lemma irrespective of case, use static message in activity stats dropdown (#4205)
* chore: show word card in click vocab word in activity summary (#4206)
* feat: integrate course translation group (#4209)
* integrate course translation group
* Update lib/pangea/payload_client/models/course_plan/cms_course_plan_translation_group.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* formatting
---------
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
* chore: wait for user to send at least 3 text or audio messages before showing overlay with instructions about clicking activity status button
* fix: disable ping course participants button if there are no no-bot users in course to ping
* chore: show 'all done' message in practice activity bar for each activity type (#4212)
* Decrease unselected igc underline to 20% opacity (#4214)
* 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
* chore: show selected archived activity, add tooltip to archived activity analytics view (#4217)
* feat: use cached space code to join space on create account (#4224)
* chore: hide course filters in onboarding pages (#4226)
* feat: show warning popup on l2/activity language mixup (#4229)
* chore: add some debugging statement for staging logout issue (#4234)
* fix: on SSO registration, pass langcode to onboarding pages (#4235)
* fix: refresh expired course cache (#4240)
* Adjust unread badge height to compensate for activity header height (#4213)
* Adjust unread badge height to compensate for activity header height
* Limit height instead of hardcoding values
* Hide course analytics download button on mobile (#4241)
* 4242 change course redirect (#4245)
* feat: connect with synapse public courses endpoint
* intergate course IDs into response model
* remove course redirect, update user's l2 on return to language selection page
* display on public courses page to go to page to make your own and display on make your on page to skip to rooms
* fix: hide activity finished status message for archived activities (#4246)
* fix: fix join with code redirect for non-spaces (#4248)
* 4172 color inconsistency of activity elements (#4247)
* activity menu color consistency
And some sizing changes, made the stats button box much smaller
* revert activity button size changes
Also make text bigger to fill box, and make menu/summary buttons solid colors so the shadow under the button works.
* feat: allow users to give token feedback in word card
* feat: set initial L2 via cached space code course target language if available (#4264)
* fix: fix onboarding redirect on login (#4265)
* Updating logo with Vector svg Image (#4263)
* Updated Logo with SVG image & adjusted margins to keep things center
* Un-formated the Index.html
* Remove invite option from participants widget in DM (#4256)
* chore: padding adjustment in selected course view (#4267)
* chore: on invite, also invite to course parent (#4268)
* fix: don't show language mismatch warning popup if activity lang matches L1 (#4269)
* fix: don't update profile until user controller initialized, redirect to rooms from SSO login, in create account page redirect to language selection page if no language available (#4274)
* feat: add selected course page for public courses, redirect there on click public course, filter out already-joined public courses (#4276)
* chore: remove l1 and CERF course filters from start course and public courses pages, update styling of l2 dropdown (#4278)
* integrate original course topic activity field (#4295)
* fix: fix start your own course link in public courses page (#4306)
* change seed to new vocab bubble (#4305)
* change seed to new vocab bubble
and tweak the animation to fade in, then rise/fade out since this looks better than spinning in.
* formatting
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
* Make users return to activity session when use invite back button (#4288)
* feat: add notification volume setting (#4310)
* chore: enable activity stats button if someone else finishes the activity (#4311)
* chore: on play with bot timeout, show warning popup (#4312)
* chore: show activity stats cutout tooltip on other user finish activity (#4316)
* 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>
* fix: don't assume that list of IDs to fetch and list of fetched objects are the same length (#4322)
* chore: remove background color from activity goal tooltip (#4324)
* fix: prevent word card title from bouncing around (#4325)
* fix: on join activity with role, preload activity participants list to get accurate list of assigned roles (#4326)
* chore: give max width to activity participant indicator widgets (#4327)
* fix: add value key based on selected tab to course settings widget to force refresh on navigate from finished activity (#4331)
* fix: prevent overflows in token info feedback dialog on mobile, add more specific unsubscribed error in future loading dialog (#4333)
* fix: fix storage of selected language not working on mobile (#4334)
* chore: reduce padding around message in new trip page (#4335)
* chore: more specific error message on not found course with code (#4336)
* chore: dismiss last snackbar before show invite snackbar (#4337)
* chore: switch order of buttons in space delete dialog (#4338)
* chore: add custom map icons (#4339)
* chore: add create at and updated at fields to course plan model (#4340)
* chore: add leave space description (#4341)
* refactor: remove ability to directly edit lemma defintions and morph assignments (#4347)
* 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>
* fix: use same context in show and hide token feedback snackbar to fix closing functionality (#4349)
* 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>
* 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>
* 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
* 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>
* fix: filter out public courses for which course ID failed to load (#4360)
* 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>
* 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>
* 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>
* fix: stop rebuilding whole course settings tab on screen size change (#4368)
* 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>
* 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>
* fix: on load course topics, also load location media to get topic images (#4376)
* 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>
* 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>
* chore: only show unlocalized language options in course search target language dropdowns (#4380)
* fix: after add course to existing space, push redirect route to refresh page (#4381)
* fix: update isActivityStarted to rely on assignedRoles instead of directly using state event (#4382)
* add XP animation on match activity tokens (#4373)
* 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
* 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>
* fix: add cms api url to activity image paths to load properly (#4385)
* fix: don't mutate activity JSON image_url (#4386)
* 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>
* 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>
* fix: alway hide back button in add course page (#4404)
* 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>
* chore: add level bar / analytics to space details page on mobiel (#4405)
* chore: add skip button to add course page (#4407)
* chore: message on empty vocab filter (#4410)
* chore: add tooltip to describe vocab highlighting in activity dropdown menu (#4412)
* 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
* fix: refresh chat list on join with link (#4417)
* chore: make word card close and flag button the same styling and vertically aligned (#4419)
* 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)
* fix: handle room code on join with code (#4427)
* fix: push route on start to make add course page app bar back button work as expected (#4430)
* 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
* chore: on no courses found for language, log error (#4434)
* fix: fix scrolling in delete space dialog (#4436)
* build: bump version number
* chore: remove vocab tooltip from activity dropdown menu and update copy in end activity button (#4445)
* removed old code (#4446)
* change xp icon to star (#4431)
* fix: on login, don't open two separate databases (#4449)
* fix: register UIA listener on create login client, instead of on login (#4451)
* fix: on click space nav item use context.push to refresh course settings page (#4462)
* chore: add activity roles to activity summary request model (#4479)
* build: bump version number
---------
Co-authored-by: Kelrap <99418823+Kelrap@users.noreply.github.com>
Co-authored-by: Wilson <leanhminh2907@gmail.com>
Co-authored-by: avashilling <165050625+avashilling@users.noreply.github.com>
Co-authored-by: Brord van Wierst <brordvwierst@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: wcjord <32568597+wcjord@users.noreply.github.com>
Co-authored-by: Alexa "Tig" Harriss <alexa.harriss@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
* chore: fully update match info after auto-accepting replacement, add more error handling in construct token span
* bump version
* fix: don't stop activity language on fail to fetch image URL
* fix: don't show copy class code buttons into class code is null
* fix: use activity type enum name in key instead of string
* chore: fully update match info after auto-accepting replacement, add … (#2866)
* chore: fully update match info after auto-accepting replacement, add more error handling in construct token span
* bump version
* fix: don't stop activity language on fail to fetch image URL
* fix: don't show copy class code buttons into class code is null
* fix: use activity type enum name in key instead of string
* build: Update snapcraft
* build: Follow up snapcraft build
* build: Install flutter via git in snapcraft
* chore: Follow up typo
* fix: Request notification permissions on iOS before getToken
* chore: Follow up request iOS permissions
* Revert "chore: Follow up request iOS permissions"
This reverts commit 2625e89a33.
* chore: Combine mimetype types in send file dialog logic
* build: Update flutter to 3.29.0
* Translated using Weblate (Basque)
Currently translated at 99.8% (758 of 759 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/
* Revert "build: Update flutter to 3.29.0"
* fix: Crash in settings when using MAS
* build: Fix build tailwindcss for website
* feat: Navigate in image viewer with keyboard keys
* chore: Nicer colors for reactions
* chore: Better error handling for image rendering
* Translated using Weblate (Latvian)
Currently translated at 100.0% (759 of 759 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/
* fix: Index of numbered lists are off
* fix(macos): update dependencies to make the build work
This commit was generated mostly by running `flutter run -d macos` and then
`pod update` in the `macos/` directory after that failed.
* fix: never use a transition on the shell route
Changing the PageBuilder here based on a MediaQuery causes the child to briefly
be rendered twice with the same GlobalKey, blowing up the rendering.
I believe this fixes https://github.com/krille-chan/fluffychat/issues/1534.
* feat: New video file picker button
* feat: Send optional message with images or files
* chore: Follow up send file dialog design
* chore: Follow up paddings in room input row
* chore: Follow up paddings
* chore: Follow up paddings
* chore: Follow up input row
* Translated using Weblate (Italian)
Currently translated at 99.6% (756 of 759 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/
* Translated using Weblate (Latvian)
Currently translated at 100.0% (759 of 759 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (762 of 762 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (762 of 762 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/
* chore: Follow up gallery picker
* chore: Better no compression supported UX
* fix: prevent users from creating spaces with empty names
* fix: update condition in account deletion function to allow deletion to go through
* Translated using Weblate (Latvian)
Currently translated at 100.0% (762 of 762 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/
* Translated using Weblate (Basque)
Currently translated at 99.8% (762 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/
* Translated using Weblate (Galician)
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/
* Translated using Weblate (Latvian)
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/
* Translated using Weblate (Basque)
Currently translated at 99.8% (762 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/
* Translated using Weblate (Indonesian)
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/
* Translated using Weblate (Korean)
Currently translated at 96.4% (736 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/
* Translated using Weblate (Irish)
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/
* Translated using Weblate (Filipino)
Currently translated at 25.8% (197 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fil/
* Translated using Weblate (Polish)
Currently translated at 98.4% (751 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/pl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/pl/
* fix: Remove too sensitive dismiss gesture on chat list items
* fix: Add missing <s> html tag to render
* Translated using Weblate (Dutch)
Currently translated at 81.6% (623 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/
* refactor: Remove custom font and emoji font workaround
* build: Add android namespace
* build: Update kotlin gradle plugin
* Revert "build: Update kotlin gradle plugin"
* feat: Add advanced configuration page
* refactor: Improved UX for room upgrades
* Translated using Weblate (French)
Currently translated at 86.3% (659 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fr/
* Translated using Weblate (Dutch)
Currently translated at 82.0% (626 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 88.8% (678 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hant/
* Translated using Weblate (Dutch)
Currently translated at 83.3% (636 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/
* Translated using Weblate (German)
Currently translated at 93.9% (717 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/
* Translated using Weblate (German)
Currently translated at 93.9% (717 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/
* Translated using Weblate (German)
Currently translated at 93.9% (717 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/
* Translated using Weblate (German)
Currently translated at 95.6% (730 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/
* Translated using Weblate (Dutch)
Currently translated at 94.4% (721 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (763 of 763 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (764 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/
* Translated using Weblate (Polish)
Currently translated at 99.8% (763 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/pl/
* Translated using Weblate (Ukrainian)
Currently translated at 93.3% (713 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (764 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/
* Translated using Weblate (Indonesian)
Currently translated at 100.0% (764 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/
* chore: divider when scrolled up
* refactor: Easier shift enter logic for text input
* Translated using Weblate (Irish)
Currently translated at 100.0% (764 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/
* Translated using Weblate (Latvian)
Currently translated at 100.0% (764 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (764 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/
* Translated using Weblate (Ukrainian)
Currently translated at 94.8% (725 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/
* build: Downgrade packages and move to fixed flutter typeahead fork
* chore: Use other join endpoint for room upgrades
* chore: disable echoCancel for audio messages
* chore: Simpler changing config variables
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up config editor
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Make push gateway configurable
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up code formatting
* build: Update flutter 3.29.2
Signed-off-by: Krille <c.kussowski@famedly.com>
* Revert "chore: Follow up code formatting"
This reverts commit 0f000f952f.
* Revert "build: Update flutter 3.29.2"
This reverts commit bfd23952b7.
* refactor: Formatting
* build: Update matrix dart sdk
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up update matrix dart sdk
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up formatting
Signed-off-by: Krille <c.kussowski@famedly.com>
* build: Update openssl to 0.5.0
Signed-off-by: Krille <c.kussowski@famedly.com>
* build: Update gorouter package
Signed-off-by: Krille <c.kussowski@famedly.com>
* build: Update to flutter 3.29.2
Signed-off-by: Krille <c.kussowski@famedly.com>
* Translated using Weblate (Dutch)
Currently translated at 100.0% (764 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/
* Added translation using Weblate (Telugu)
* Translated using Weblate (Dutch)
Currently translated at 100.0% (764 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/
* Translated using Weblate (Telugu)
Currently translated at 0.5% (4 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/te/
* Translated using Weblate (German)
Currently translated at 96.5% (738 of 764 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (765 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/
* Translated using Weblate (Irish)
Currently translated at 100.0% (765 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (765 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/
* Translated using Weblate (Galician)
Currently translated at 100.0% (765 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/
* Translated using Weblate (Dutch)
Currently translated at 100.0% (765 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/
* Translated using Weblate (Latvian)
Currently translated at 100.0% (765 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/
* Translated using Weblate (Latvian)
Currently translated at 100.0% (765 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/
* Translated using Weblate (Ukrainian)
Currently translated at 95.9% (734 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/
* Translated using Weblate (Indonesian)
Currently translated at 100.0% (765 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/
* fix: Consistent element padding between server picker and login view
* refactor: Migrate more config options to config viewer
Signed-off-by: Krille <c.kussowski@famedly.com>
* refactor: Reuse unused kotlin imports
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Update pubspec.lock
Signed-off-by: Krille <c.kussowski@famedly.com>
* Revert "build: Install flutter via git in snapcraft"
This reverts commit cd12f773fe.
* chore: Update locale config for localizations
Signed-off-by: Krille <c.kussowski@famedly.com>
* build: Add libpciaccess0 package to snap
Signed-off-by: Krille <c.kussowski@famedly.com>
* Translated using Weblate (Dutch)
Currently translated at 100.0% (765 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 93.3% (714 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hant/
* Translated using Weblate (Russian)
Currently translated at 95.6% (732 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/
* chore: upgrade chewie and video_player packages
This bumps the minimum Flutter version to 3.27. I think this is not an issue, since e93fdebe20 upgraded to 3.29.2 already.
* fix: properly dispose VideoPlayerController
This ensures that a playing video stops playing when we navigate away from the chat.
I also reorganized the code a little.
* feat: support inline video playback on macOS
It turns out that video_player supports macOS, so we can simply enable it.
* feat: clearly mark when a video is to be downloaded
This shows a download icon instead of the play icon on top of the video if the video player isn't supported.
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 93.7% (717 of 765 strings)
Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hant/
* build: Add libpciaccess0 for snapcraft
* build: Add libpciaccess-dev for snapcraft
* build: use singleInstance as launchmode
* fix: Null error in ClientChooserButton
* chore: Improve avatar designg
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up new room design
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Correct availability of desktop builds
* refactor: Replace user bottom sheet with menu and small dialog
Signed-off-by: Krille <c.kussowski@famedly.com>
* refactor: Replace user bottom sheet with menu and small dialog
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up dialog themes
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up dialog themes
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up dialog themes
Signed-off-by: Krille <c.kussowski@famedly.com>
* build: Update matrix dart sdk to 0.39.0
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up user dialog theme
* chore: Use Cupertino Activity Indicator in ChatEventList
* chore: Follow up permissions slider dialog
Signed-off-by: Krille <c.kussowski@famedly.com>
* refactor: Implement avatar image viewer and adjust design
Signed-off-by: Krille <c.kussowski@famedly.com>
* feat: Filter for room members page and easier approve knocking users
Signed-off-by: Krille <c.kussowski@famedly.com>
* refactor: Move public room bottom sheet into dialog
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up public rooms dialog
Signed-off-by: Krille <c.kussowski@famedly.com>
* fix: Text scale factor in Linkify widgets
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Add matrix notifications for issues
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up matrix notification
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up matrix notification
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up matrix notification
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up matrix notification
Signed-off-by: Krille <c.kussowski@famedly.com>
* android updates
* chore: update fetching of chat details display setting in message overlay positioner
* fluffychat merge
* build: Flutter 3.29.3
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Nicer scaffold dialog for column mode
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up scaffold dialog
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up members list
* chore: Follow up message design
* chore: Follow up message design
* chore: Follow up file message design
Signed-off-by: Krille <c.kussowski@famedly.com>
* build: Bump version to 1.26.0
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: Follow up message design
* build: Use 0.1.0 fcm_shared_isolate on ios
Signed-off-by: Krille <c.kussowski@famedly.com>
* chore: disable matrix notification github action
* fix import error
* make overlay message padding match message bubble padding
---------
Signed-off-by: Krille <c.kussowski@famedly.com>
Co-authored-by: Krille-chan <christian-kussowski@posteo.de>
Co-authored-by: Krille <c.kussowski@famedly.com>
Co-authored-by: xabirequejo <xabi.rn@gmail.com>
Co-authored-by: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv>
Co-authored-by: Rafał Hirsch <rafal@hirsch.net>
Co-authored-by: Angelo Schirinzi <Odi-3@users.noreply.hosted.weblate.org>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Poesty Li <poesty7450@gmail.com>
Co-authored-by: josé m <correoxm@disroot.org>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: kdh8219 <kdh8219@monamo.dev>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: searinminecraft <kitakita@disroot.org>
Co-authored-by: Piotr Orzechowski <piotr@orzechowski.tech>
Co-authored-by: Jelv <post@jelv.nl>
Co-authored-by: Antonin Del Fabbro <message@antonin.one>
Co-authored-by: Mare JP <seraphmare@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: Very Able <veryable@proton.me>
Co-authored-by: Kimby <kimisaes@naver.com>
Co-authored-by: José Muñoz <dr.cabra@disroot.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: katakam chakri <katakam.chakri@gmail.com>
Co-authored-by: ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝) <coool@mail.lv>
Co-authored-by: xegim <ja3lpark@gmail.com>
Co-authored-by: miullu <satou.ide@gmail.com>
Co-authored-by: Yurt Page <yurtpage@gmail.com>
Co-authored-by: Lenni <87639068+Lenni-builder@users.noreply.github.com>
* Merge main into production (#2041)
* feat: grammar analytics popup redesign (#1670)
* fix: revert change to how unread notification count is calculated (#1671)
* fix: revert some changes to leaving space logic, updated copy (#1677)
* feat: add github action to add needs testing labels to closed issues (#1678)
* 1653 GitHub action to add needs testing labels (#1679)
* feat: add github action to add needs testing labels to closed issues
* fix: add all needs testing labels
* fix: resolve overflow for long lemmas (#1680)
* 1512 level up notification (#1570)
* feat: initial work for level up notification
* feat: initial animation
* feat: level up slide animation, wait for image data to load
* feat: trigger animation on level up
* feat: added sound to level up notificaton
* fix(class_code): class code was not getting context
* Morph-repo-2 (#1681)
* feat(morphs): repo for getting lang-specific list of morphs
* integrated repo into use of morph features and tags
* generated
* merged with previous push
* generated
* generated
* chore: fix .env file path
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
* 1655-hide-rooms-filters-with-7-rooms (#1656)
* ui(chat_list_body): hide filters if < 7 rooms
* generated
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* Fluffychat merge (#1685)
chore: Merge upstream changes
---------
Signed-off-by: Krille <c.kussowski@famedly.com>
Co-authored-by: krille-chan <christian-kussowski@posteo.de>
Co-authored-by: Krille <c.kussowski@famedly.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: fadelkon <fadelkon@posteo.net>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv>
Co-authored-by: josé m <correoxm@disroot.org>
Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com>
Co-authored-by: Christian <christian-pauly@posteo.de>
Co-authored-by: - <hitekex@yandex.ru>
Co-authored-by: Angelo Schirinzi <Odi-3@users.noreply.hosted.weblate.org>
Co-authored-by: xabirequejo <xabi.rn@gmail.com>
Co-authored-by: Piotr Orzechowski <piotr@orzechowski.tech>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Tewuzij <tenajeza@outlook.com>
Co-authored-by: goknarbahceli <goknarbahceli@proton.me>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Co-authored-by: Erin <erin@erindesu.cz>
Co-authored-by: EpicKiwi <me@epickiwi.fr>
Co-authored-by: Christian Tietze <me@christiantietze.de>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat: don't award analytics data for messages not in l2 (#1686)
* feat: trim username and password fields before login (#1687)
* feat(morph_analytics_view): show all morph icons if support account
* feat: allow users to edit lemmas (#1694)
* feat: move language dropdowns into learning settings dialog (#1695)
* feat: use onInitStateChanged in login function to redirect to chat view quicker (#1696)
* feat: bring back share link to join spaces (#1701)
* fix: added linkify to message token text widget (#1702)
* chore: update reply and link text styling (#1708)
* fix: reenable token clicking after adding linkify spans (#1711)
* chore: update link text color in dark mode (#1716)
* feat: add submit button to learning settings popup (#1717)
* 1547 level indicator for all users (#1722)
* feat: publicly viewable target language and level indicator
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Add message meaning challenge activity (#1706)
* Add message meaning mode to toolbar
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
* Vi-copy (#1724)
* complete all vi translations
* fix typo
* fix: override text field's default error styling to remove gap but still show error outline on username field (#1726)
* 1689-make-separate-room-extensions (#1727)
* fix(room extensions): Made first use of room extensions the original definition
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* feat: added XP offset data to public profile to prevent user from ever going down a level (#1731)
* fix: unfocus keyboard on click outside in activity planner page, add done button to final text field (#1732)
* feat: move reply button to chat view header (#1733)
* fix: replace web preview icons (#1746)
* fix: add back password reset button (#1747)
* feat: update country dropdown to match style of language dropdown (#1756)
* chore: add missing grammar copy (#1762)
* allow user to simply search for username without prefix and suffix (#1761)
* allow user to simply search for username without prefix and suffix
* remove debug print
* generated
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* fix: remove expanded widget from country tile (#1765)
* fix: resolve memory leak on iOS caused by theme data (#1768)
* chore: update vocab copy (#1770)
* Unborked locales (#1741)
* feat: localized languages
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* chore: reduce padding in learning setting dropdowns (#1772)
* chore: updated input bar copy (#1774)
* 1719 grammar detailed view in analytics (#1728)
* feat: grammar analytics details page
---------
Co-authored-by: wcjord <32568597+wcjord@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: update out-of-date language cache (#1775)
* Remove routes that can lead to space chats (#1757)
* Use push instead of go when traversing spaces
* Redirects from space chat page
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* fix: dispose TextPainter after use (#1777)
* fix: combine token with following punctuation to prevent punctuation from causing newline (#1783)
* fix: make learning settings dropdowns stand out against background (#1784)
* fix: remove analytics from memory on logout (#1786)
* feat: use custom vocab and morph icons (#1787)
* Copies for all (#1780)
* initial script
* copies for all!
* revert intl files
* mistaken en to vi translation
* improve translation
* add vi translation, fix trnaalste script to respect existing metdata
* revert translation files
* fix translation to only add more without changing too much existing translations
---------
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* Revert "Copies for all (#1780)" (#1788)
This reverts commit 76f6222e95.
* feat: maintain scroll position in vocab/morph analytics view (#1791)
* feat: custom sort order for morph features (#1794)
* fix: if example message contains multiple of the same lemma, bold each of them instead of showing as seperate messages (#1795)
* fix: update morph feature sort order (#1796)
* make word meaning activity refetch new definition if cache expires (#1779)
* make word meaning activity refetch new definition if cache expires
* generated
* bake expire at into response json
* generated
* add expire at in to and from json method
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* feat: only show window of tokens surrounding highlighted words in lemma use examples messages (#1811)
* fix: when merging punctuation into tokens to prevent line breaks, account for punctuation preceding tokens (#1812)
* fix: if SVG content is already cached, don't use a FutureBuilder in C… (#1816)
* fix: if SVG content is already cached, don't use a FutureBuilder in CustomizedSVG
* chore: fix emoji button width
* choreo: lower case text before tts (#1817)
* fix: more accurate splitting of tokens containing punctuation (#1822)
* fix: lock app in portrait mode (#1823)
* fix: go to space after clicking join even if already in the space (#1827)
* fix: fix for splitting up tokens with combined punctuation (#1828)
* fix: normalize space chat count copy (#1829)
* refactor(morph_meaining): simplifying morph response
* feat(github): GitHub production release flow (#1807)
* changed to produciton push release
* test version title
* set to production
* chore: revert updates to grammar icons in analytics summary (#1831)
* fix: move shouldDoActivity function to pangeaMessageEvent to prevent giving activities for messages not in user's l2 (#1832)
* fix: set profile to public by default (#1840)
* Update background color in language_level_dropdown.dart and p_languag… (#1841)
* Update background color in language_level_dropdown.dart and p_language_dropdown.dart
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: fix emoji rendering issues in message token text (#1842)
* Fix arb types (#1848)
* chore: move over all fluffychat copy changes, revert any differenced between FluffyChat and Pangea copy
* chore: sort copy between FluffyChat and Pangea, update metadata types for FluffyChat copy
* chore: update metadata type for pangea chat copy
* chore: add placeholders to Pangea vietnamese copy
* feat: fetch new tokens for messages without originalsent representations (#1853)
* fix: don't allow users to have same base and target short langCode (#1854)
* fix: always show display event in toolbar (#1855)
* fix: dynamically update input bar height to offset event list (#1859)
* 1814 add future loading dialog to prevent user interaction during signup login loading (#1866)
* chore: updates for running on android for flutter 3.29.0
* feat: show future loading dialog on signup and login
* chore: enable build on iOS for flutter 3.29.0
* Adds logging when redirecting from space chat (#1862)
* Adds logging when redirecting from space chat
* generated
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* fix: wait for bot options to be saved before closing conversation bot dialog (#1868)
* fix: update base/target language on dropdown value change in activity planner (#1869)
* feat: add option to go back from user settings signup page by logging out (#1870)
* fix: delete selection are around input bar textfield (#1871)
* Use system keyboard setting in Learning Settings (#1867)
* Use system keyboard setting in Learning Settings
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
* fix(pangea_token_model): don't give activities on tokens you just use… (#1856)
* fix(pangea_token_model): don't give activities on tokens you just used in a message
* generated
* generated
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* feat: use text instead of icons for analytics buttons (#1878)
* 1846 word specific audio player not working (#1882)
* feat: tie TTS enabled to target lang, show warning popup when disabled
* fix: prevent top overflow for popups
* feat: added reusable widget to show user's public language and level, added to participant list items (#1885)
* fix: add back emoji button (#1886)
* fix: switch vocab / grammar buttons to use icon and text (#1888)
* fix(storage optimization): Removed and replaced used of PStore with G… (#1730)
* fix(storage optimization): Removed and replaced used of PStore with GetStorage
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
* 1797-improve-grammar-icon-loading (#1887)
* fix(image caching): used the CachedNetworkImage for icons to stop fetching them with every rebuild
* generated
* update dependencies
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
* fix: don't call span_details on IT match (#1889)
* 1759-get-rid-of-redundant-language-selection-error (#1799)
* fix(error message): made it so the same error message does not appear twice
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
* fix: fetch morphs once and sort after fetching instead of using future builder in grammar analytics view (#1890)
* fix: before popping in futureloadingdialog, check if canPop (#1914)
* chore: revert deleting selection area in input bar (#1915)
* fix: make text dialog autosubmit work as expected (#1918)
* chore: in TTS, use full langCode voice if available, and short langCode voice if not (#1919)
* chore: account for chat details column width in message overlay max width (#1920)
* chore: make textfields in toolbar work on firefox/safari (#1922)
* fix: update key in MorphFeature.fromJson function (#1925)
* chore: remove filters overflow by replacing ListView with SingleChildScrollView (#1921)
* Mobile stt (#1928)
* chore: if user's language is not in langList, refresh langList
* chore: simplify logic for setting TTS lang, set TTS lang each time speak is called
* chore: move learning settings button to fix overflow in analytics summary (#1929)
* chore: fix some spacing issues on small screens (#1930)
* chore: if in space with knock join rule, redirect to space in public room bottom sheet (#1935)
* fix: removed duplicate question in activities (#1936)
* fix: enable account deletion (#1943)
* chore: when choices array goes off screen, stop playing TTS (#1945)
* fix: update logic for checking if short lang code TTS is available (#1946)
* fix: added fix to remove matches if they don't align with tokens and to use characters when replacing originalInput (#1948)
* chore: simplify enforcement of room capacity, remove capacity option for spaces (#1951)
* chore: revert changes to hide chat filters for new accounts, seperate chat types by default (#1959)
* chore: set enableSuggestions to enableAutocorrect (#1961)
* chore: don't stop TTS after IT choice selection (#1962)
* chore: update Vietnamese translations (#1964)
* fix: force room settings header onto one line with ellipsis for overflow (#1965)
* chore: remove analytics popup header text on mobile (#1966)
* chore: update empty description copy for spaces (#1968)
* chore: added timeout to room creation (#1971)
* fix: when leaving space, do not leave analytics rooms (#1973)
* feat: better UX for event too large error (#1975)
* chore: if originalSent without tokens, edit message to add new tokens (#1976)
* chore: stop audio player on showToolbar (#1979)
* chore: give IT bar choices array steps unique IDs to avoid identical keys (#1980)
* chore: stop audio message playing on 1) navigate to different route, 2) play other message, 3) open toolbar (#1982)
* chore: after adding to stop audio stream to stop other audio messages on play another audio message, wait for stream to go through before playing so it doesn't stop the just-clicked audio (#1983)
* chore: disable creation of space with empty name (#1986)
* chore: link visibility (#1988)
* chore: set active filter to groups after creating new group (#1990)
* chore: don't show toolbar for redacted messages (#1992)
* chore: clear init completer in userController on logout (#1993)
* chore(level_display_name): don't display bot learning stuff (#1999)
* fix(lemma_meaning_activity_generator): filter out empty strings as eligible distractors (#2004)
* filter out empty strings as elible distractors
* generated
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* chore: on click of chat invite, show dialog asking user to accept or decline (#2007)
* chore: update leave room messages (#2010)
* chore: only run leave function if dialog result is yes (#2011)
* chore: add unread room badge to unread room filter (#2014)
* chore: update copy in delete account dialog (#2015)
* chore: revert to fluffychat's add chat dialog (#2017)
* Revert "chore: revert to fluffychat's add chat dialog (#2017)" (#2018)
This reverts commit 8f8789dec6.
* 2016 the confirm and cancel buttons not in the right place (#2019)
* chore: revert to fluffychat's add chat dialog
* chore: revert to fluffychat's add chat dialog
* chore: show loading indicator and don't hide button on subscription page (#2023)
* chore: show spaces filter if user is in any spaces (#2028)
* refactor: add necessary info to subscription options
* fix: prevent rendering error on page resize (#2035)
* chore: try to pull localized price string from revenuecat SDK on mobile (#2038)
* build: bump version number (#2039)
* Merge prod into main (#2040)
* fix: always pass context to classCode function
* chore: bump version number (#1872)
* fix: add release workflow updates to production branch (#1873)
---------
Signed-off-by: Krille <c.kussowski@famedly.com>
Co-authored-by: wcjord <32568597+wcjord@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: krille-chan <christian-kussowski@posteo.de>
Co-authored-by: Krille <c.kussowski@famedly.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: fadelkon <fadelkon@posteo.net>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv>
Co-authored-by: josé m <correoxm@disroot.org>
Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com>
Co-authored-by: Christian <christian-pauly@posteo.de>
Co-authored-by: - <hitekex@yandex.ru>
Co-authored-by: Angelo Schirinzi <Odi-3@users.noreply.hosted.weblate.org>
Co-authored-by: xabirequejo <xabi.rn@gmail.com>
Co-authored-by: Piotr Orzechowski <piotr@orzechowski.tech>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Tewuzij <tenajeza@outlook.com>
Co-authored-by: goknarbahceli <goknarbahceli@proton.me>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Co-authored-by: Erin <erin@erindesu.cz>
Co-authored-by: EpicKiwi <me@epickiwi.fr>
Co-authored-by: Christian Tietze <me@christiantietze.de>
Co-authored-by: Wilson <leanhminh2907@gmail.com>
Co-authored-by: sienna-sterling <112006749+sienna-sterling@users.noreply.github.com>
Co-authored-by: Kelrap <99418823+Kelrap@users.noreply.github.com>
Co-authored-by: Brord van Wierst <brordvwierst@gmail.com>
Co-authored-by: Sofanyas Genene <123987957+Sofanyas@users.noreply.github.com>
* fix: allow users to launch bookmarked activities (#2397)
* build: bump version number (#2407)
* use non caching space hierarchy (#2501)
Co-authored-by: WilsonLe <leanhminh2907@gmail.com>
* build: bump version number (#2502)
---------
Signed-off-by: Krille <c.kussowski@famedly.com>
Co-authored-by: wcjord <32568597+wcjord@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: krille-chan <christian-kussowski@posteo.de>
Co-authored-by: Krille <c.kussowski@famedly.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: fadelkon <fadelkon@posteo.net>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv>
Co-authored-by: josé m <correoxm@disroot.org>
Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com>
Co-authored-by: Christian <christian-pauly@posteo.de>
Co-authored-by: - <hitekex@yandex.ru>
Co-authored-by: Angelo Schirinzi <Odi-3@users.noreply.hosted.weblate.org>
Co-authored-by: xabirequejo <xabi.rn@gmail.com>
Co-authored-by: Piotr Orzechowski <piotr@orzechowski.tech>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Tewuzij <tenajeza@outlook.com>
Co-authored-by: goknarbahceli <goknarbahceli@proton.me>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Co-authored-by: Erin <erin@erindesu.cz>
Co-authored-by: EpicKiwi <me@epickiwi.fr>
Co-authored-by: Christian Tietze <me@christiantietze.de>
Co-authored-by: Wilson <leanhminh2907@gmail.com>
Co-authored-by: sienna-sterling <112006749+sienna-sterling@users.noreply.github.com>
Co-authored-by: Kelrap <99418823+Kelrap@users.noreply.github.com>
Co-authored-by: Brord van Wierst <brordvwierst@gmail.com>
Co-authored-by: Sofanyas Genene <123987957+Sofanyas@users.noreply.github.com>