Feature proposal #7309
closedImplement reaction gifs
Added by krileon about 6 years ago. Updated over 5 years ago.
Description
This should be disabled by default, but should allow adding a reaction gif to a post or comment. This basically just allows selection from and insert of a gif from https://giphy.com/.
Updated by krileon over 5 years ago
This should be nearly entirely powered by JS. Then just have a parser that converts a tag into a gyphy link. For example ((xUA7beks3SyvH5a9mE)) would convert to https://media.giphy.com/media/xUA7beks3SyvH5a9mE/giphy.gif
. Users could in theory put whatever they wanted into ((GIF)) but it wouldn't matter as we'd sanitize to alpha numeric. GIFs would be loaded in entirely using ajax on demand, scrolling to the end of the container should load in the next page, this also needs a search bar, and the endpoint used should be the trending endpoint.
Updated by krileon over 5 years ago
Since emotes use :EMOTE: maybe reactions should just use ::REACTION::
Updated by krileon over 5 years ago
Needs a better syntax as we want to be able to support inline replacements but we can't just convert all ::STRING:: to reaction gifs. Possible syntaxes as follows.
custom syntax(reaction:ID)
(reaction:giphy:ID)
(giphy:ID)
(gif:ID)
:reaction:ID:
:giphy:ID:
:gif:ID:
bbcode syntax[gif]ID[/gif]
[giphy]ID[/giphy]
[reaction]ID[/reaction]
[reaction type="giphy"]ID[/reaction]
markdown syntax![reaction](ID)
The below syntax probably gives the most flexibility as it leaves the potential for different reaction gif sources.
(reaction:giphy:ID)
or (giphy:ID)
Example as follows.
(reaction:giphy:k9b6CX6oZelhK)
or (giphy:k9b6CX6oZelhK)
Updated by krileon over 5 years ago
Doesn't make any sense to be adding reactions inline. They are always displayed as block. So continue with the per word replacement of ::ID:: requiring spaces on both sides of it.
Updated by krileon over 5 years ago
This will be default ENABLED, but since it requires a Giphy API key it won't actually be enabled unless the key was supplied. This will allow for an easier time of enabling it across streams.
Updated by krileon over 5 years ago
- % Done changed from 50 to 60
Inline usage will need to be supported otherwise the insert behavior is going to be confusing for users who don't understand the requirement for a space between it and other content.
Updated by krileon over 5 years ago
- Status changed from Assigned to Resolved
- % Done changed from 90 to 100