Notes: Add autosaving drafts and extending session (no UX changes yet)#2812
Merged
kevinrobinson merged 20 commits intomasterfrom May 1, 2020
Merged
Conversation
…dacter and renaming
…ld, fix const scoping in tests' g
…drafts-with-redaction-extraction
Contributor
Author
|
selfie |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Who is this PR for?
all educators, particularly during remote meetings with multiple apps or windows
What problem does this PR fix?
If someone is running a meeting remotely (eg, MTSS meeting), they start writing a note but then switch to other tabs or browser windows (eg, for videochat). If they don't remember to circle back, they may lose what they had timed when the session times out. #2810 aims to make that scenario more visible.
Similarly, if they prep for the remote meeting and load up the first student profile beforehand, but then that page sits for ~25 minutes before the meeting start, they might start typing the note, switch away to videochat, but have the session expire because there's no server interaction for so long.
What does this PR do?
Debounces changes to draft notes, and sends them up to the server. For now, the server writes these to
EventNoteDraftsbut doesn't otherwise use them. This PR will keep the session alive in this scenario, and the next step will be the UI for discovering unsaved drafts and 'publishing' them as notes. There's no UX changes in this PR.The 'draft' concept is a compromise between making it so folks don't have to think about saving at all (a la docs), and concerns that folks have about the potential for harm with immediately publishing as they type (eg, when typing through how to phrase privacy-sensitive issues).
Separately, this PR factors out a
RestrictedTextRedacterthat different models use to redact sensitive text in#as_jsonby default, and uses it in newEventNoteDraftmodel as well, with tests all around.Checklists
Which features or pages does this PR touch?
Does this PR use tests to help verify we can deploy these changes quickly and confidently?