add ability to download unsupported attachments #333
Merged
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.
🤔 What's changed?
For attachments that aren't a video, image or text, we previously rendered an error message about the attachment being unsupported.
This PR changes the behaviour so we instead render a button to download the attachment as a file. It:
fileName
from the message if present, generates a filename with the correct extension for the media type if notURL.createObjectURL
API, only creating the URL when first requested and cleaning up again when the component is unmounted - so we are doing this in a standards-compliant way without having to externalise a file or crash the browserIt also includes some slight rework in the Gherkin document accordion, so a panel is only rendered when it's expanded - previously this was just hidden by way of
display: none
. This means we don't render components unless the user is going to see them, and also that any generated download URLs are cleaned up when a panel is closed.⚡️ What's your motivation?
Fixes #80.
🏷️ What kind of change is this?
📋 Checklist:
This text was originally generated from a template, then edited by hand. You can modify the template here.