Skip to content

[OLD] Release PR for Sprint ending 2021-03-29#3044

Closed
bjester wants to merge 44 commits intomasterfrom
hotfixes
Closed

[OLD] Release PR for Sprint ending 2021-03-29#3044
bjester wants to merge 44 commits intomasterfrom
hotfixes

Conversation

@bjester
Copy link
Copy Markdown
Member

@bjester bjester commented Mar 25, 2021

Summary

This release contains several security updates, including updates for dependent packages and a change to remove an unneeded Django feature in production. It also contains a few bug fixes:

  • Fixes programmatic errors arising from attempts to calculate user storage for non-existent users. Users shouldn't experience anything differently with this change.
  • Adds an asynchronous calculation of channel size shown in Publish modal. Users may have previously experienced timeouts for synchronous requests of the information, which would show as a forever loading spinner in the Publish modal.
  • Fixes to prevent floods of Sentry errors arising from attempts at creating duplicate tags. This resolves an issue that may have prevented successful syncing of user changes, resulting in temporary differences between the user's local view and the saved representation on the server. Users may have seen some of these changes actually reverted.
  • Fixes progress and status reporting of asynchronous backend tasks. This resolves issues where users may have encountered incorrect task progress for publishing, synchronizing imported channel contents, copying, and moving, such as that it's complete before it has actually completed, or that it never completes (forever pending)

Pull Requests

PR Category QA Focus
#2961 Bug fix - File upload
- User storage status
#3027 Security update - Verify /admin is inaccessible
#3028 Enhancement and bug fixes - Publishing a channel
- Adding files to a channel
- Adding files to an existing node
- Moving files to and from trash
- Copying nodes
- Importing resources from another channel
- Synchronizing imported resources
#3043 Bug fix - Add and remove tags from a single node
- Bulk add tags to multiple nodes
#3037 Security update N/A
#3039 Security update N/A
#3042 Security update N/A
#3045 Security update N/A
#3052 Security update N/A

Possibly co-resolved issues

#2709
#2816
#2953
#3003

QA Scenarios

Case: File upload and user storage status

  1. Open an editable channel
  2. Click Add and Upload files
  3. Note your current Total storage used
  4. Upload a file and finish up editing the uploaded file's details
  5. Click Add and Upload files again
  6. Confirm that your Total storage used has updated properly

Case: Publishing a large channel

  1. Open an editable channel with at least 5000 nodes
  2. Click Add and Upload files
  3. Select a file and upload it
  4. Click Publish
  5. If the channel is large enough, you should observe a loading spinner in the Publish modal until the task completes
  6. Verify you can't proceed until the task completes, loader disappears, and the size appears

Case: Adding and deleting a file updates publish channel size

  1. Create a new channel
  2. Click Add and Upload files to upload a small file
  3. Click Publish
  4. Observe the channel size shown in the Publish modal
  5. Close the Publish modal
  6. Click Add and Upload files to upload a large file (like a video)
  7. Allow your browser to finish syncing (wait ~30 seconds)
  8. Click Publish
  9. Verify the channel size has increased in the Publish modal
  10. Close the Publish modal
  11. Delete the large file
  12. Click Publish
  13. Verify the channel size has decreased in the Publish modal

Case: Add and remove tags from a single node

  1. Open an editable channel
  2. Edit an existing content node
  3. Add one or more tags to it
  4. Finish saving the node
  5. Allow some time for the sync to complete (~30 seconds)
  6. Open the channel in a fresh browser session (incognito mode works well)
  7. Verify the tags you added are present on the node
  8. Repeat the above for removing the tags

Case: Bulk add tags to multiple nodes

  1. Open an editable channel
  2. Select 2 or more nodes and click to edit them from the toolbar
  3. Add one or more tags to them
  4. Finish saving the changes
  5. Allow some time for the sync to complete (~30 seconds)
  6. Open the channel in a fresh browser session (incognito mode works well)
  7. Verify the tags you added are present on the nodes
  8. Repeat the above for removing the tags

bjester and others added 30 commits March 5, 2021 13:15
First pass fix for non-existent users being passed to the calculate user storage task
Bumps [jinja2](https://github.com/pallets/jinja) from 2.11.2 to 2.11.3.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/master/CHANGES.rst)
- [Commits](pallets/jinja@2.11.2...2.11.3)

Signed-off-by: dependabot[bot] <support@github.com>
…2.11.3

Bump jinja2 from 2.11.2 to 2.11.3
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.3 to 5.4.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES)
- [Commits](yaml/pyyaml@5.3...5.4)

Signed-off-by: dependabot[bot] <support@github.com>
bjester added 2 commits March 26, 2021 11:23
- Update resource size cache modified date when moving nodes or deleting files
- Relcoate ResourceSizeCache to avoid import issues
- Only allow size calculations for root nodes through the API
@bjester bjester added this to the Sprint 2021-03-29 milestone Mar 26, 2021
Create tag relations one by one, and use CTEs to minimize queries doing so
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 26, 2021

Codecov Report

Merging #3044 (c04ed76) into master (686b753) will increase coverage by 0.20%.
The diff coverage is 90.00%.

❗ Current head c04ed76 differs from pull request most recent head 3c74632. Consider uploading reports for the commit 3c74632 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3044      +/-   ##
==========================================
+ Coverage   85.73%   85.93%   +0.20%     
==========================================
  Files         298      304       +6     
  Lines       15875    16403     +528     
==========================================
+ Hits        13610    14096     +486     
- Misses       2265     2307      +42     
Impacted Files Coverage Δ
contentcuration/contentcuration/settings.py 90.47% <ø> (-0.15%) ⬇️
contentcuration/contentcuration/urls.py 95.16% <ø> (ø)
contentcuration/contentcuration/tasks_test.py 83.33% <25.00%> (-16.67%) ⬇️
...ontentcuration/contentcuration/viewsets/channel.py 79.74% <33.33%> (+0.06%) ⬆️
contentcuration/contentcuration/utils/sync.py 85.03% <50.00%> (+0.19%) ⬆️
contentcuration/contentcuration/viewsets/common.py 91.41% <50.00%> (-2.14%) ⬇️
contentcuration/contentcuration/tasks.py 57.62% <63.26%> (-5.63%) ⬇️
contentcuration/contentcuration/utils/publish.py 77.51% <69.23%> (-0.03%) ⬇️
...tentcuration/contentcuration/utils/celery/tasks.py 76.27% <76.27%> (ø)
contentcuration/contentcuration/utils/cache.py 65.34% <83.58%> (+33.63%) ⬆️
... and 30 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 686b753...3c74632. Read the comment docs.

@bjester bjester marked this pull request as ready for review March 29, 2021 22:00
@bjester bjester requested review from radinamatic and rtibbles March 29, 2021 22:10
Check event has a target before checking the target tagName.
@bjester
Copy link
Copy Markdown
Member Author

bjester commented Mar 30, 2021

Closing this, I have created a new PR off a separate branch: #3062

@bjester bjester closed this Mar 30, 2021
@bjester bjester changed the title Release PR for Sprint ending 2021-03-29 [OLD] Release PR for Sprint ending 2021-03-29 Mar 30, 2021
@bjester bjester removed this from the Sprint 2021-03-29 milestone Mar 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants