fluffychat icon indicating copy to clipboard operation
fluffychat copied to clipboard

feat: add GIF picker integration with Tenor API

Open ariqpradipa opened this issue 4 months ago • 1 comments

Thank you so much for your contribution to FluffyChat ❤️❤️❤️

Please make sure that your Pull Request meet the following acceptance criteria:

  • [x] Code formatting and import sorting has been done with dart format lib/ test/ and dart run import_sorter:main --no-comments
  • [x] The commit message uses the format of Conventional Commits
  • [x] The commit message describes what has been changed, why it has been changed and how it has been changed
  • [] Every new feature or change of the design/GUI is linked to an approved design proposal in an issue
  • [ ] Every new feature in the app or the build system has a strategy how this will be tested and maintained from now on for every release, e.g. a volunteer who takes over maintainership

Pull Request has been tested on:

  • [ ] Android
  • [x] iOS
  • [x] Browser (Chromium based)
  • [x] Browser (Firefox based)
  • [ ] Browser (WebKit based)
  • [ ] Desktop Linux
  • [ ] Desktop Windows
  • [ ] Desktop macOS

address #700

Screenshot 2025-08-19 at 6 46 43 AM Screenshot 2025-08-19 at 6 46 56 AM

Tenor requires an API key. Currently, I’ve set the key to <tenor-api-key>. If this somehow gets merged, it should be replaced with a real API key.

I haven’t found any pricing information for the Tenor API. However, to increase the request rate (beyond the default limit of 1 request per second), we would need to contact the Tenor team.

ariqpradipa avatar Aug 19 '25 00:08 ariqpradipa

FYI, both Element and Cinny could not display the GIFs sent from this implementation, I assume many clients will be picky about rendering a remote URL, using a file upload should allow any client to display them.

I made a change in my fork to account for that: https://github.com/ItsKaa/fluffychat/commit/3ca6d9c79793621f028ed0afaeaa89401f663343, feel free to cherry pick.

ItsKaa avatar Oct 18 '25 21:10 ItsKaa