Skip to content
New issue

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

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

Already on GitHub? # to your account

final "on my own" flow updates #10892

Conversation

thanksameeelian
Copy link
Contributor

@thanksameeelian thanksameeelian commented Jun 22, 2023

Summary

final updates to "on my own" flow: in concert with recently-merged BE changes, this PR introduces specific behavior for "on my own" users upon exiting the setup wizard - "on my own" users will now be redirected right to Learn > Library and greeted by a welcome message once there (just as they were previously greeted by a welcome modal when they were redirected to Device after completing setup).

Before - redirected to Learn > Home with no welcome modal

(before very recent & related BE changes, would redirect to Device with welcome modal)

before-learn-home.mov

After - redirected to Learn > Library with customized message in welcome modal

after-learn-library-redirect.mov

References

closes #10760 (in combination with #11019, which is already merged)

Reviewer guidance

  • start a fresh kolibri instance
  • progress through the setup wizard as an "on my own" user
  • once setup has finalized, expect to be redirected to Learn > Library & greeted by a dismissable welcome modal
  • once dismissed, the welcome modal should not re-render upon navigating to Device for the first time, on subsequent re-visits to Library, or in any other scenarios.

Testing checklist

  • Contributor has fully tested the PR manually
  • If there are any front-end changes, before/after screenshots are included

PR process

  • PR has the correct target branch and milestone
  • PR has 'needs review' or 'work-in-progress' label
  • If PR is ready for review, a reviewer has been added. (Don't use 'Assignees')

Reviewer checklist

  • Automated test coverage is satisfactory
  • PR is fully functional
  • PR has been tested for accessibility regressions
  • External dependency files were updated if necessary (yarn and pip)
  • Documentation is updated
  • Contributor is in AUTHORS.md

@github-actions github-actions bot added APP: Learn Re: Learn App (content, quizzes, lessons, etc.) APP: Setup Wizard Re: Setup Wizard (facility import, superuser creation, settings, etc.) SIZE: small labels Jun 22, 2023
Copy link
Member

@rtibbles rtibbles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'd prefer a cleaner approach here that relied more on internal behaviour within plugins rather than cross plugin redirects.

@thanksameeelian thanksameeelian force-pushed the final-on-my-own-flow-updates branch from 9a88ff3 to a48084b Compare July 26, 2023 21:13
@github-actions github-actions bot added SIZE: very small and removed APP: Setup Wizard Re: Setup Wizard (facility import, superuser creation, settings, etc.) labels Jul 26, 2023
@thanksameeelian thanksameeelian force-pushed the final-on-my-own-flow-updates branch from a48084b to a4d830b Compare July 28, 2023 08:45
@github-actions github-actions bot added the APP: Device Re: Device App (content import/export, facility-syncing, user permissions, etc.) label Jul 28, 2023
@thanksameeelian thanksameeelian removed APP: Device Re: Device App (content import/export, facility-syncing, user permissions, etc.) SIZE: very small labels Jul 28, 2023
@thanksameeelian thanksameeelian added the TODO: needs review Waiting for review label Jul 28, 2023
@thanksameeelian thanksameeelian marked this pull request as ready for review July 28, 2023 09:33
@rtibbles rtibbles changed the base branch from develop to release-v0.16.x August 2, 2023 19:10
Copy link
Member

@rtibbles rtibbles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All seems to be working as intended, just some suggestions for cleanup.

this.search();
if (window.sessionStorage.getItem(welcomeDimissalKey) !== 'true') {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be used directly in the vuex initial state to set the value.

@@ -507,7 +507,12 @@
},
},
created() {
const welcomeDimissalKey = 'DEVICE_WELCOME_MODAL_DISMISSED';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest moving this constant into a common file, maybe in kolibri-common (for reuse across device, learn, and setup wizard plugins).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is called DEVICE_WELCOME_MODAL_DISMISSED not COMMON_... though 🤣

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that I've actually gone and tested the fix I realize the silliness of my previous comment 😬 😆

@@ -16,17 +23,30 @@
import NotificationsRoot from 'kolibri.coreVue.components.NotificationsRoot';
import plugin_data from 'plugin_data';
import { PageNames } from '../constants';
import PostSetupModalGroup from '../../../../device/assets/src/views/PostSetupModalGroup.vue';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally, I'd want to move this to kolibri-common rather than have so many .. - but we can also move all this cleanup to a follow up if you'd prefer.

Copy link
Member

@nucleogenesis nucleogenesis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did some local testing on this and worked as expected so LGTM, the code looks good as well.

I'll leave the approval to Richard re: the follow-up business moving things to kolibri-common.

@@ -507,7 +507,12 @@
},
},
created() {
const welcomeDimissalKey = 'DEVICE_WELCOME_MODAL_DISMISSED';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is called DEVICE_WELCOME_MODAL_DISMISSED not COMMON_... though 🤣

@@ -507,7 +507,12 @@
},
},
created() {
const welcomeDimissalKey = 'DEVICE_WELCOME_MODAL_DISMISSED';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that I've actually gone and tested the fix I realize the silliness of my previous comment 😬 😆

@thanksameeelian thanksameeelian force-pushed the final-on-my-own-flow-updates branch from a4d830b to d30b940 Compare August 15, 2023 19:14
@github-actions github-actions bot added DEV: backend Python, databases, networking, filesystem... APP: Device Re: Device App (content import/export, facility-syncing, user permissions, etc.) APP: Coach Re: Coach App (lessons, quizzes, groups, reports, etc.) SIZE: very large labels Aug 15, 2023
@thanksameeelian thanksameeelian force-pushed the final-on-my-own-flow-updates branch from d30b940 to f6075a8 Compare August 16, 2023 16:19
@github-actions github-actions bot removed DEV: backend Python, databases, networking, filesystem... APP: Coach Re: Coach App (lessons, quizzes, groups, reports, etc.) labels Aug 16, 2023
@github-actions github-actions bot added the APP: Setup Wizard Re: Setup Wizard (facility import, superuser creation, settings, etc.) label Aug 16, 2023
@thanksameeelian thanksameeelian removed APP: Device Re: Device App (content import/export, facility-syncing, user permissions, etc.) APP: Setup Wizard Re: Setup Wizard (facility import, superuser creation, settings, etc.) SIZE: very large labels Aug 16, 2023
@github-actions github-actions bot added APP: Device Re: Device App (content import/export, facility-syncing, user permissions, etc.) APP: Setup Wizard Re: Setup Wizard (facility import, superuser creation, settings, etc.) labels Aug 17, 2023
@thanksameeelian thanksameeelian force-pushed the final-on-my-own-flow-updates branch from ff1da7e to 171c18a Compare August 17, 2023 16:29
Copy link
Member

@rtibbles rtibbles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code changes make sense, and my suggestions only made things break, so let's move forward with this!

@rtibbles rtibbles merged commit 3206e21 into learningequality:release-v0.16.x Aug 17, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
APP: Device Re: Device App (content import/export, facility-syncing, user permissions, etc.) APP: Learn Re: Learn App (content, quizzes, lessons, etc.) APP: Setup Wizard Re: Setup Wizard (facility import, superuser creation, settings, etc.) SIZE: small TODO: needs review Waiting for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

"On my own flow" final improvements
3 participants