Skip to content

Release PR for Sprint ending 2021-03-29#3062

Merged
bjester merged 42 commits into
masterfrom
sprint-release-2021-03-29
Apr 6, 2021
Merged

Release PR for Sprint ending 2021-03-29#3062
bjester merged 42 commits into
masterfrom
sprint-release-2021-03-29

Conversation

@bjester
Copy link
Copy Markdown
Member

@bjester bjester commented Mar 30, 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 (not resolved)
#2816
#2953
#3003 (not resolved)

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
…2.11.3

Bump jinja2 from 2.11.2 to 2.11.3
rtibbles and others added 8 commits March 26, 2021 11:04
- 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
Create tag relations one by one, and use CTEs to minimize queries doing so
Async task fixes and new async calculation of resource size
@radinamatic
Copy link
Copy Markdown
Member

radinamatic commented Apr 5, 2021

Current Der Stand der Dinge of this release PR is as follows:

PR Status Comment
#2961 Not fixed New issue filed
#3027 Fixed -
#3028 (probably) Not fixed publishing on hotfixes branch is slow and errors-prone in the console
#3043 Fixed -
#2709 Not fixed -
#2816 Fixed -
#2953 (possibly) Fixed issue was not reliably replicable to begin with
#3003 Not fixed -

I see more misses than hits, so not sure how should we proceed 😕

cc @bjester @rtibbles

@bjester
Copy link
Copy Markdown
Member Author

bjester commented Apr 5, 2021

| #2961 | Not fixed | [New issue filed]

@radinamatic #2961 was not intended to resolve storage discrepancies in the UI, so we can count that as OK if it's without regressions. The bug tracked in the new issue should be present either way.

Disable modified_since check, since needs further query optimization
@radinamatic
Copy link
Copy Markdown
Member

Let's re-assess our Der Stand der Dinge:

PR Status Comment
#2961 (probably) Fixed user-facing totals still stuttering (new issue filed)
#3027 Fixed -
#3028 Fixed some stubborn errors on hotfixes branch probably due to Google cloud storage
#3043 Fixed -
#2709 Not fixed -
#2816 Fixed -
#2953 (possibly) Fixed issue was not reliably replicable to begin with
#3003 Not fixed -

@bjester @rtibbles are we satisfied with this to merge the release?

@bjester
Copy link
Copy Markdown
Member Author

bjester commented Apr 6, 2021

@bjester @rtibbles are we satisfied with this to merge the release?

I'm satisfied. We just need 2 PR approvals

Copy link
Copy Markdown
Member

@radinamatic radinamatic left a comment

Choose a reason for hiding this comment

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

That was a nice sprint rush! 🎽
Many steps feel more streamlined and productive 💯

@bjester bjester merged commit ee9ff4f into master Apr 6, 2021
rtibbles added a commit that referenced this pull request Apr 10, 2021
…03-29

Merge pull request #3062 from learningequality/sprint-release-2021-03-29
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