Skip to content

Hotfixes release for sprint ending 2021-04-26 - #3115

Merged
bjester merged 76 commits into
learningequality:hotfixesfrom
bjester:sprint-release-2021-04-26
Apr 26, 2021
Merged

Hotfixes release for sprint ending 2021-04-26#3115
bjester merged 76 commits into
learningequality:hotfixesfrom
bjester:sprint-release-2021-04-26

Conversation

@bjester

@bjesterbjester commented Apr 26, 2021

Copy link
Copy Markdown
Member

Summary

  • Ongoing integration of Kolibri Design System components
  • Channel edit permission fixes
  • Other misc fixes and addressed tech debt
PRIssueCategoryQA Focus
#2789#2725CosmeticSign-in page
#3063kds#157EnhancementSave a search
#3085#3080EnhancementView content library FAQ
#3004kds#158EnhancementDeploy a channel1
View staged channel summary 1
#2997kds#158EnhancementPublish a channel
#2984kds#158EnhancementCopy channel token from channel list
Copy channel token from channel edit page
#2968kds#156EnhancementPublish a channel
Sync channel
#2980kds#156EnhancementView related resources infographic
#2999#2806Bug fixChef a resource with invalid title 1
#3099#3049Bug fixAdd a channel editor
#3108#3079Bug fixView-only channel doesn't show publishing modal
#3107#3105, #3106, #3089Bug fix / tech debtPublish a channel2
#3100#3071Bug fix / tech debtUse view-only channel
Publish channel as admin
Open private channel without any permission
#2958N/ADev enhancementN/A
#3002N/ATech debtN/A
#2957N/ATech debtN/A
#2939#2028Tech debtN/A
#3110N/ASecurity updateN/A

Footnotes:

  1. Requires a sushi chef or cheffed channel
  2. We have temporarily removed the channel metadata (loading spinner and resource size content)

QA Scenarios

Sign-in page

  1. Be signed out of studio
  2. Open the Studio sign-in page
  3. Verify it renders acceptably
  4. Sign in
  5. Verify you're signed in successfully

Save a search

  1. Sign into studio
  2. Open an editable channel
  3. Click "ADD" dropdown button and select "Import from channels"
  4. Type a string into the search input and click the "SEARCH" button
  5. Click "Save search"
  6. Click "View saved searches"
  7. Verify saved searches are shown properly

View content library FAQ

  1. Sign into studio
  2. Navigate to "Content Library"
  3. Click "Frequently asked questions"
  4. Review FAQ copy

View staged channel summary 1

  1. Update a channel from a sushi chef
  2. Sign into studio
  3. View staged channel
  4. Click "View Summary"
  5. Verify summary is displayed correctly

View related resources infographic

  1. Sign into studio
  2. Open an editable channel with resources
  3. Edit a resource
  4. Click "Related" tab
  5. Click "Show me"
  6. Verify modal appears showing related resources in Kolibri

Add a channel editor

  1. Sign into studio
  2. From "My Channels", open the channel menu from the kebab menu and "Edit channel details"
  3. Click "Sharing" tab
  4. Invite another email address as a collaborator who can edit
  5. Verify you cannot invite the same email twice

View-only channel doesn't show publishing modal

  1. Sign into studio
  2. As channel editor, add a collaborator to an editable channel with view only ability
  3. In separate browser, or private browsing, sign in as the collaborator
  4. As view-only collaborator, accept the invitation and open the channel
  5. As channel editor, publish the channel
  6. As view-only collaborator, refresh the channel and verify publishing modal does not show

Publish channel as admin

  1. Sign into studio as an admin
  2. Open a private channel not shared with your user
  3. Verify you can publish the channel

Open private channel without any permission

  1. Sign into studio
  2. Open an editable channel
  3. Copy the URL
  4. Sign out
  5. Sign into studio as a different user that doesn't have any permission to view or edit the channel
  6. Paste and open the copied URL
  7. Verify you cannot view nor edit the channel

sairinaand others added 30 commits January 13, 2021 20:32
Adding dots between languages on sign-in page
- Removes PrimaryDialog from ChannelItem.vue as the modal
handling the deletion pop-up.
- Wraps the <VCard> with a <div> so that KModal can live outside
of the hierarchy of the <VCard>, which wraps internals in an <a>
tag resulting in clicking the action buttons in KModal following
that <a> tag.
Fix a linter issue (RouterNames -> RouteNames)
…v-dependencies
Add flower to dev dependencies
To make migration to KModal simpler
- Remove props that are not used from anywhere
- Remove logic related to copying or moving as `ProgressModal`
is not used for these operations anymore
- Remove `showProgressModal` data that is used only in v-model
of `ProgressModal`. `ProgressModal` doesn't use it at all
to decide if it should be displayed and calculates these
criteria internally instead.
Also required moving ChannelTokenModal usage in ChannelItem
such that it is rendered outside of the active wrapping DOM element
so that clicking the Close button on KModal doesn't click behind it too
…edresourcestab
Replace VDialog with KModal in "Related resources tab"
# Conflicts:
#	contentcuration/contentcuration/frontend/channelEdit/views/progress/ProgressModal.vue
#	contentcuration/contentcuration/frontend/channelEdit/views/progress/__tests__/progressModal.spec.js
radinamaticand others added 18 commits April 11, 2021 17:09
Make ContentNode filter_edit_queryset consistent with other methods.
Reinstate synchronous channel size calculation with lower threshold, and resolve misc task related issues
…log-faq
Update 'customContentAnswer' for catalog FAQ
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](npm/ssri@v6.0.1...v6.0.2)
Signed-off-by: dependabot[bot] <support@github.com>
…abot/npm_and_yarn/ssri-6.0.2
Bump ssri from 6.0.1 to 6.0.2
…publishing-channel-modal
Add editing permissions condition to view/display Publish Modal
…nsivedialog-savedsearchesmodal
KDS to Studio: Replace ResponsiveDialog by KModal in SavedSearchesModal
…nel_editors
Catch duplicate editor assignment for newly created channels.
@codecov

codecovBot commented Apr 26, 2021

Copy link
Copy Markdown

Codecov Report

Merging #3115 (27e7791) into hotfixes (28587f8) will increase coverage by 5.31%.
The diff coverage is 93.05%.

Impacted file tree graph

@@ Coverage Diff @@## hotfixes #3115 +/- ##
============================================
+ Coverage 80.80% 86.12% +5.31% 
============================================
Files 281 305 +24 Lines 12659 16459 +3800 ============================================
+ Hits 10229 14175 +3946 + Misses 2430 2284 -146 
Impacted FilesCoverage Δ
contentcuration/contentcuration/decorators.py56.60% <50.00%> (-37.60%)⬇️
...ntentcuration/contentcuration/db/models/manager.py91.05% <90.83%> (-8.95%)⬇️
contentcuration/contentcuration/db/models/query.py94.23% <93.75%> (-5.77%)⬇️
contentcuration/contentcuration/forms.py82.35% <94.04%> (+33.89%)⬆️
contentcuration/contentcuration/api.py92.06% <100.00%> (+1.43%)⬆️
contentcuration/contentcuration/apps.py100.00% <100.00%> (+11.11%)⬆️
contentcuration/contentcuration/celery.py90.00% <100.00%> (-1.67%)⬇️
...tentcuration/contentcuration/context_processors.py100.00% <100.00%> (ø)
...ontentcuration/contentcuration/db/advisory_lock.py100.00% <100.00%> (ø)
...tcuration/contentcuration/db/models/expressions.py95.23% <100.00%> (-4.77%)⬇️
... and 191 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 016aa65...27e7791. Read the comment docs.

@bjester
bjester marked this pull request as ready for review April 26, 2021 23:16
@bjester
bjester merged commit c3f7bf8 into learningequality:hotfixesApr 26, 2021
@radinamatic

radinamatic commented Apr 29, 2021

Copy link
Copy Markdown
Member

Today status on the hotfixes branch:

PRIssueCategoryQA FocusStatus
#2789#2725CosmeticSign-in page✔️
#3063kds#157EnhancementSave a search✔️ Modal
❌ Saved search (issues #3117 & #3118)
#3085#3080EnhancementView content library FAQ✔️
#3004kds#158EnhancementDeploy a channel1
View staged channel summary 1
➖ (not tested)
#2997kds#158EnhancementPublish a channel✔️
#2984kds#158EnhancementCopy channel token from channel list
Copy channel token from channel edit page
✔️
#2968kds#156EnhancementPublish a channel
Sync channel
✔️
#2980kds#156EnhancementView related resources infographic✔️
#2999#2806Bug fixChef a resource with invalid title 1➖ (not tested)
#3099#3049Bug fixAdd a channel editor✔️
#3108#3079Bug fixView-only channel doesn't show publishing modal❓ (unclear, see comment1 & comment2)
#3107#3105, #3106, #3089Bug fix / tech debtPublish a channel2✔️
#3100#3071Bug fix / tech debtUse view-only channel
Publish channel as admin
Open private channel without any permission
QA Focus is unclear: #3071 talks about deploying a ricecooker channel, but all three scenarios listed to test assume private manually created channels... Was that intentional?
Non-admin Studio users have the expected View-only channel experience, and cannot open private channels without any permissions. Studio admin users can open and publish any non-API-generated channel irregardless of the permissions they have, and they don't see View-only labels (see my comments in #3108 & #3079).

cc @bjester@rtibbles

@bjester

Copy link
Copy Markdown
MemberAuthor

@radinamatic The scope of the changes for #3100 is larger than just fixing #3071. Yes it was intentional that all scenarios are for non-ricecooker channels as the changes in the PR affect permission handling, which isn't linearly connected with any single feature. So the QA scenarios were focused on ensuring regressions against potential permission related bugs

@radinamatic

radinamatic commented Apr 29, 2021

Copy link
Copy Markdown
Member

Fair enough, @bjester, it would be good to add this sort of reasoning in the QA Focus in the future 🙏🏽
The default step for testers when trying to confirm a fix is to refer to the originating issue and the steps described there. If the instructions or details in the QA Focus differ from what can be inferred by reading the original issue, we testers start to doubt ourselves... 🙂

@bjester

Copy link
Copy Markdown
MemberAuthor

@radinamatic Yes it was your own feedback that led us to start adding QA Focus since the issue may not wholly describe the changes that were made, or make it clear how to verify against regressions of the change. So I would say the reasoning for any QA Focus is to regression test features that may be affected by the PR's changes.

@radinamatic

radinamatic commented May 4, 2021

Copy link
Copy Markdown
Member

Let's recap:

PRIssueCategoryQA FocusStatus
#2789#2725CosmeticSign-in page✔️
#3063kds#157EnhancementSave a search✔️ Modal
❌ Saved search issues: #3117 might not be a blocker and we can address it in the next sprint, but #3118 is confusing to the user)
#3085#3080EnhancementView content library FAQ✔️
#3004kds#158EnhancementDeploy a channel1
View staged channel summary 1
✔️ (tested by @bjester)
#2997kds#158EnhancementPublish a channel✔️
#2984kds#158EnhancementCopy channel token from channel list
Copy channel token from channel edit page
✔️
#2968kds#156EnhancementPublish a channel
Sync channel
✔️
#2980kds#156EnhancementView related resources infographic✔️
#2999#2806Bug fixChef a resource with invalid title 1➖ (not tested)
#3099#3049Bug fixAdd a channel editor✔️
#3108#3079Bug fixView-only channel doesn't show publishing modal✔️ Modal
Gherkin scenario update pending
#3107#3105, #3106, #3089Bug fix / tech debtPublish a channel2✔️
#3100#3071Bug fix / tech debtUse view-only channel
Publish channel as admin
Open private channel without any permission
✔️ Non-admin Studio users have the expected View-only channel experience, and cannot open private channels without any permissions.
✔️ Studio admin users can open and publish any non-API-generated channel irregardless of the permissions they have, and they don't see View-only labels.

cc @bjester@rtibbles

@radinamatic

Copy link
Copy Markdown
Member

#3117 & #3118 issues around saved searches are extant on production, and therefore not regressions.

This looks good to approve to me @bjester! 👍🏽
Who should test the fixes related to deploying a sushi chef channel, which are the only ones that remain pending?

@bjester

Copy link
Copy Markdown
MemberAuthor

I was able to stage a channel through a sushi chef and then deploy it. 👍

@bjesterbjester mentioned this pull request May 5, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@bjester@radinamatic@rtibbles@nucleogenesis@sairina@jayoshih@jonboiser@MisRob@marcellamaki