-
Notifications
You must be signed in to change notification settings - Fork 710
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
Remote content browsing final polish #10573
Remote content browsing final polish #10573
Conversation
Build Artifacts
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've done a very quick code read through and nothing sticks out - and some of the vue component clean up looks 💯 - nice job @akolson
I also did some preliminary manual QA with pinned/ no pinned devices, as a guest user, and as a learner. So far looking good.
I feel okay about merging this and getting some good testing/feedback in during the bug catch tomorrow if @rtibbles doesn't see anything blocking in the code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can merge this as is, but we should revisit the back links (as they will be broken on page refresh), and the delayed loading/loading state of the Explore libraries page.
Plus we should come back and fix the skipped tests too.
@@ -111,6 +111,7 @@ export default [ | |||
props: route => { | |||
return { | |||
deviceId: route.params.deviceId, | |||
goBackRoute: route.params.goBackRoute, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hrm, this doesn't seem quite right to me. The goBackRoute
prop of the LibraryPage is a route object, but route params are strings, so I don't quite see how this is meant to be working.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I see how this is kind of working - the underlying params object does get modified, but it doesn't get encoded in the URL. Unfortunately, it means if the page is refreshed the back link no longer works.
I think this is probably best handled in a similar way to the other back links in Learn, by encoding the name of the page in the query parameters.
Can add an additional function to this composable for creating the library page back links: https://github.com/learningequality/kolibri/blob/develop/kolibri/plugins/learn/assets/src/composables/useContentLink.js#L7
return accumulator; | ||
}, []); | ||
|
||
Promise.allSettled(fetchDevicesChannels).then(devicesChannels => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's no loading state in the page while this is happening, and because one of the devices was taking a very long time to respond, I was just looking at a blank Explore Libraries page with no indication what was happening.
I think this change to waiting until all the channel fetches have been resolved makes a worse user experience, because it means that seeing other libraries is limited by the loading speed of the slowest library to load.
Summary
This pr polishes the remote content browsing UI
References
Resolves #10448
Reviewer guidance
UI should respond as specified in the mockups
Testing checklist
PR process
Reviewer checklist
yarn
andpip
)