ggurdin
ec2e2f3dbd
chore: remove padding from last entry in activity list ( #5146 )
2026-01-09 10:02:26 -05:00
ggurdin
55a3acdabd
chore: update sort order in space participants list ( #5144 )
2026-01-09 09:59:04 -05:00
ggurdin
1505ce7538
chore: make emoji base shimmer transparent ( #5142 )
2026-01-09 09:50:58 -05:00
ggurdin
067f30cdab
fix: reset voice on langauge update ( #5140 )
2026-01-09 09:40:45 -05:00
ggurdin
2784c9b913
chore: prevent user from spamming disabled vocab practice button ( #5138 )
2026-01-08 15:15:48 -05:00
ggurdin
5e132dd7fe
feat: make construct aggregated case-insensitive ( #5137 )
2026-01-08 15:05:41 -05:00
ggurdin
1d27ca429a
fix: coerce existing aggregate analytics database entries into correct format before merging to avoid data loss ( #5136 )
2026-01-08 14:56:20 -05:00
ggurdin
c4adac38f0
fix: fix practice record construct id assignment for morph activities ( #5133 )
2026-01-08 11:39:30 -05:00
ggurdin
8a669b75e9
chore: add padding to bottom of vocab list view so practice button doesn't block last vocab entries ( #5132 )
2026-01-08 11:18:08 -05:00
ggurdin
69fbe58378
chore: base level icon spacing on xp needed to reach level in vocab details ( #5131 )
2026-01-08 11:12:26 -05:00
ggurdin
0e768b12b9
chore: normalize accents in vocab search ( #5128 )
2026-01-08 10:34:18 -05:00
ggurdin
dc4ce90bf2
fix: add guard to prevent showing screen size popup when expanding screen after showing popup ( #5127 )
2026-01-08 10:23:11 -05:00
ggurdin
13efe9463e
fix: remove invalid expanded widget ( #5124 )
2026-01-08 10:01:03 -05:00
ggurdin
df2aca6f96
fix: remove extra text from end of download file name ( #5121 )
2026-01-07 14:46:25 -05:00
ggurdin
6e009c6d9e
fix: hide ability to change bot chat settings from non-admins ( #5120 )
2026-01-07 14:38:39 -05:00
ggurdin
d512571792
feat: allow users to update bot's voice settings ( #5119 )
2026-01-07 14:33:35 -05:00
ggurdin
57ecf08801
chore: make emoji choice shimmer background match word card background ( #5116 )
2026-01-07 12:16:05 -05:00
ggurdin
3666a3875d
chore: remove margin from last entry in user activity summary list ( #5115 )
2026-01-07 12:10:42 -05:00
ggurdin
9efc40af31
fix: in recording dialog, throw exception on permission denied ( #5114 )
2026-01-07 12:05:01 -05:00
ggurdin
4112fd2a37
chore: don't restrict token length ( #5112 )
2026-01-07 11:58:10 -05:00
ggurdin
1b6dd5bd3f
chore: don't show practice tooltip if mode is complete ( #5108 )
2026-01-07 11:29:09 -05:00
ggurdin
ea3c1d7a6a
fix: use standard loading dialog on submit delete space dialog ( #5107 )
2026-01-07 11:22:47 -05:00
ggurdin
832533b4f7
feat: Directing to click messages with shimmer ( #5106 )
2026-01-07 11:04:00 -05:00
ggurdin
af395d0aeb
4825 vocabulary practice ( #4826 )
...
* chore: move logic for lastUsedByActivityType into ConstructIdentifier
* feat: vocab practice
* add vocab activity progress bar
* fix: shuffle audio practice choices
* update UI of vocab practice
Added buttons, increased text size and change position, cards flip over and turn red/green on click and respond to hover input
* add xp sparkle, shimmering choice card placeholder
* spacing changes
fix padding, make choice cards spacing/sizing responsive to screen size, replace shimmer cards with stationary circle indicator
* don't include duplicate lemma choices
* use constructID and show lemma/emoji on choice cards
add method to clear cache in case the results was an error, and add a retry button on error
* gain xp immediately and take out continue session
also refactor the choice cards to have separate widgets for each type and a parent widget to give each an id for xp sparkle
* add practice finished page with analytics
* Color tweaks on completed page and time card placeholder
* add timer
* give XP for bonuses and change timer to use stopwatch
* simplify card logic, lock practice when few vocab words
* merge analytics changes and fix bugs
* reload on language change
- derive XP data from new analytics
- Don't allow any clicks after correct answer selected
* small fixes, added tooltip, added copy to l10
* small tweaks and comments
* formatting and import sorting
---------
Co-authored-by: avashilling <165050625+avashilling@users.noreply.github.com>
2026-01-07 10:13:34 -05:00
ggurdin
5aa3d759e0
fix: remove reaction subscription to prevent overlay jumping ( #5100 )
2026-01-07 09:31:05 -05:00
ggurdin
532e376895
fix: add new blocks to merge table before fetching previous constructs when calculating points added by construct update ( #5098 )
2026-01-06 16:26:38 -05:00
ggurdin
328a6a4a10
fix: always enable small screen warning dialog on web ( #5097 )
2026-01-06 15:40:33 -05:00
ggurdin
066517a204
chore: force span card to always go above input bar ( #5096 )
2026-01-06 15:34:19 -05:00
ggurdin
ec0ce0496d
chore: reduce min height of span card feedback section ( #5095 )
2026-01-06 15:28:05 -05:00
ggurdin
dda68d1d04
chore: hide nav rail item tooltips when expanded ( #5094 )
2026-01-06 15:22:43 -05:00
ggurdin
83b54188ae
chore: apply border to dialog directly in delete space dialog ( #5093 )
2026-01-06 15:19:13 -05:00
ggurdin
ecec6e898c
Merge pull request #5092 from pangeachat/5081-only-some-saved-activities-have-cefr-level
...
chore: use activity plan CEFR level in saved activity display
2026-01-06 15:14:48 -05:00
ggurdin
20d0d0ad7c
chore: use activity plan CEFR level in saved activity display
2026-01-06 15:14:18 -05:00
ggurdin
4c23bbaf92
Merge pull request #5091 from pangeachat/5082-can-collect-words-in-other-l2s-via-activity-lemmas
...
fix: disable new token collection for token not in L2
2026-01-06 15:10:18 -05:00
ggurdin
5563e43a4c
fix: disable new token collection for token not in L2
2026-01-06 15:09:46 -05:00
ggurdin
ccc4c902a5
Merge pull request #5090 from pangeachat/fix-import-error
...
fix: fix recording dialog import error
2026-01-06 14:49:03 -05:00
ggurdin
71dc18f863
fix: fix recording dialog import error
2026-01-06 14:48:37 -05:00
ggurdin
93853237dd
Merge pull request #5089 from pangeachat/5088-emojis-sometimes-unselectable-in-vocab-page
...
5088 emojis sometimes unselectable in vocab page
2026-01-06 14:18:23 -05:00
ggurdin
581288f220
remove duplicate subscription cancel
2026-01-06 14:17:49 -05:00
ggurdin
e5efb7fbab
fix: in emoji picker, don't set selected emoji based on old stream data
2026-01-06 14:16:42 -05:00
ggurdin
4f53e70135
Merge pull request #5087 from pangeachat/5086-allow-main-word-card-word-text-to-be-copyable
...
chore: allow users to highlight main word in word card
2026-01-06 13:58:03 -05:00
ggurdin
db5bc50694
chore: allow users to highlight main word in word card
2026-01-06 13:57:25 -05:00
ggurdin
b1dbf0cf37
Merge pull request #5085 from pangeachat/merge-prod-into-main
...
Merge prod into main
2026-01-06 13:37:44 -05:00
ggurdin
6fd693554b
merge prod into main
2026-01-06 13:36:50 -05:00
ggurdin
1f9b49308d
Merge pull request #5083 from pangeachat/set-activities-per-topic-to-unlock
...
feat: In teacher mode, allow setting of required number of activities…
2026-01-06 13:18:36 -05:00
ggurdin
cdad9bfef8
if user has completed all activities in topic, always unlock next topic
2026-01-06 13:17:32 -05:00
ggurdin
9ad8266314
build: bump version number
2026-01-06 13:08:33 -05:00
ggurdin
68f3b26dae
feat: In teacher mode, allow setting of required number of activities to unlock next topic
2026-01-06 13:06:45 -05:00
ggurdin
663d4649e5
fix: don't show send button if error in recording dialog ( #5079 )
2026-01-06 11:43:24 -05:00
ggurdin
2c176c052d
5053 can get points from lemma with max score ( #5078 )
...
* make uses a private field for ConstructUses
* expose capped list of uses in ConstructUses
* filter capped construct uses in getUses
2026-01-06 11:39:49 -05:00