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.
When we get an image we can display, rather than just putting the image in we now nest it inside an expander, which allows it to be hidden.
Now if someone has sent you an image you don't want to see anymore, you can make that choice for yourself. Maybe the image was spam, maybe someone was messing with you, or maybe it made perfect sense in context but you're just tired of seeing it in the backscroll. In any case, you hide it and it stays in the history and can be expanded at any time in the future, but it's hidden until then.
This state is preserved across conversation changes and restarts, so leaving a conversation and coming back will still not show the image.
To preserve this the state is changed to a "collapsed" state. It's a little weird to use the file transfer state for this, but it doesn't really make sense to have a collapsed image in any other state than completed, so I didn't want it to be a new boolean column. Actually, it's weird to put this one the transfer at all, but it seems like this table is considered the source of this UI, and there isn't really another place to information about the image other than the transfer object.
We can change this later if we decide it was a bad idea.
Here's what it looks like: