Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use of reactive rather than ref for useProgressTracking state causing potentially unreported reactivity issues #12999

Open
rtibbles opened this issue Jan 13, 2025 · 0 comments
Assignees
Labels
APP: Learn Re: Learn App (content, quizzes, lessons, etc.) P1 - important Priority: High impact on UX

Comments

@rtibbles
Copy link
Member

Observed behavior

useProgressTracking.js:88 [Vue warn]: Avoid using Array as root value for reactive() as it cannot be tracked in watch() or watchEffect(). Use ref() instead. This is a Vue-2-only limitation.

found in

---> <ContentPage> at kolibri/plugins/learn/assets/src/views/ContentPage.vue
       <TopicsContentPage> at kolibri/plugins/learn/assets/src/views/TopicsContentPage.vue
         <NotificationsRoot> at packages/kolibri/components/pages/NotificationsRoot/index.vue
           <Root>

Expected behavior

Ensure that Arrays are refs rather than reactives, and that any associated updates are reassigning the entire ref rather than using array methods.

User-facing consequences

Possible reactivity issues leading to misleading frontend behaviour, and in some cases, log data not being saved.

Steps to reproduce

Open any resource in learn

Context

  • Kolibri version: develop/0.18
@rtibbles rtibbles added APP: Learn Re: Learn App (content, quizzes, lessons, etc.) P1 - important Priority: High impact on UX labels Jan 13, 2025
@rtibbles rtibbles self-assigned this Jan 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
APP: Learn Re: Learn App (content, quizzes, lessons, etc.) P1 - important Priority: High impact on UX
Projects
None yet
Development

No branches or pull requests

1 participant