Coder Social home page Coder Social logo

gif-booth's People

Contributors

allcontributors[bot] avatar clif-os avatar crcastle avatar dianaperkinsdesign avatar gisete avatar julianduque avatar letoribo avatar svc-scm avatar vishalol avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gif-booth's Issues

Implement Selected GIF UI

When at /home allow users to click GIF, which populates the url with query params "?gif_id={GIF_ID}"

GIF_Grid_Selected

Error right after GIF recorded

@justjenu and I both hit this error. I got it in Firefox. She got it in Chrome.

It happened as both of us were inputting text in the text box after recording a GIF.

CleanShot 2020-09-01 at 17 59 18@2x

I see this in the Heroku applications logs. Unfortunately I wasn't able to grab any more log lines:

2020-09-02T00:58:27.444311+00:00 app[web.1]: [0] an error happened: ffmpeg exited with code 1: Error while opening decoder for input stream #0:0 : Resource temporarily unavailable
2020-09-02T00:58:27.444323+00:00 app[web.1]: [0] 
2020-09-02T00:58:27.565971+00:00 heroku[router]: at=info method=POST path="/video2gif" host=cascadiajs-gif-booth.herokuapp.com request_id=a3485d88-9584-4d24-8c76-7e9f9759cb01 fwd="75.172.126.59" dyno=web.1 connect=0ms service=1570ms status=200 bytes=282 protocol=https
2020-09-02T00:58:27.567731+00:00 heroku[router]: at=info method=POST path="/video2gif" host=cascadiajs-gif-booth.herokuapp.com request_id=a0ff769a-70c5-4081-9e07-c2097dca7fe5 fwd="75.172.126.59" dyno=web.1 connect=0ms service=950ms status=200 bytes=288 protocol=https
2020-09-02T00:58:27.865231+00:00 heroku[router]: at=info method=POST path="/video2gif" host=cascadiajs-gif-booth.herokuapp.com request_id=184fd8ce-3418-401b-a14c-fcd2f86bb8e1 fwd="75.172.126.59" dyno=web.1 connect=0ms service=1865ms status=200 bytes=282 protocol=https
2020-09-02T00:58:27.886270+00:00 heroku[router]: at=info method=POST path="/video2gif" host=cascadiajs-gif-booth.herokuapp.com request_id=f29f5deb-f43c-4692-958b-c35e0dd2b129 fwd="75.172.126.59" dyno=web.1 connect=0ms service=1693ms status=200 bytes=286 protocol=https
2020-09-02T00:58:27.894345+00:00 heroku[router]: at=info method=POST path="/video2gif" host=cascadiajs-gif-booth.herokuapp.com request_id=2e78d76a-6b19-4cba-83a8-ddf058c7912b fwd="75.172.126.59" dyno=web.1 connect=1ms service=1739ms status=200 bytes=284 protocol=https
2020-09-02T00:58:27.895122+00:00 heroku[router]: at=info method=POST path="/video2gif" host=cascadiajs-gif-booth.herokuapp.com request_id=50c30fea-c0f9-48ef-a067-ca460a3f397f fwd="75.172.126.59" dyno=web.1 connect=0ms service=1228ms status=200 bytes=289 protocol=https
2020-09-02T00:58:27.956680+00:00 heroku[router]: at=info method=POST path="/video2gif" host=cascadiajs-gif-booth.herokuapp.com request_id=200c25f5-3e2e-459c-a5c5-398dee1e6f5b fwd="75.172.126.59" dyno=web.1 connect=2ms service=911ms status=200 bytes=290 protocol=https
2020-09-02T00:58:28.061595+00:00 heroku[router]: at=info method=POST path="/video2gif" host=cascadiajs-gif-booth.herokuapp.com request_id=456faed0-e19f-442a-a91d-b962807d4841 fwd="75.172.126.59" dyno=web.1 connect=0ms service=1024ms status=200 bytes=291 protocol=https

Not sanitizing user input?

I typed this as my caption and got the below GIF "chrome desktop (4:17pm build)"

1599002321743

Looks like the colon broke it.

Output Group Photo as a GIF

Currently we are outputting a static JPEG.

This task is related to potentially implementing a more efficient group photo processor: #27

The sharp image processing library we are currently using supports stitching GIFs together, but I could not get it to work -- it may still be possible with this library.

Update to a generic FOSTIVE branding

  • Add a Powered by Fostive linking to the GitHub repo
  • Change colors to Fostive brand
  • Remove other event logos and branding
  • Add documentation on How to customize the gif-booth app

Implement More Efficient Group Photo Processor

The current implementation is very slow (sorry lol). For 2000 images, processing can take more than 2 minutes.

We should look into adding a more efficient means of making the group photo.

A bonus would be completing this ticket as well in the process: #28

Maybe there is a way to achieve with the current image processing library (https://sharp.pixelplumbing.com/), but we should look into other libraries if needed.

Design / naming tweaks

  • Change any occurrences of Make GIF (old app name) to GIF Booth (new app name)
  • Remove use of React favicon

Missing uploads directory

I'm getting an error about the uploads directory missing. After doing some digging it looks like this is happening because there is a gitignore rule for all files in the uploads directory and git doesn't allow empty folder so this folder is not getting created for new forks.

Delete Image

The readme mentions a URL to moderate/delete an image but I'm not finding any further documentation on that URL. Any help on that would be most appreciated. Thanks!

User-provided GIF breaks group photo creation

When a user uploads a GIF instead of recording one, the group photo creation fails silently.

Steps to reproduce

Upload the GIF below to a deploy and also record a GIF the regular way. Then create a group photo with curl -X POST http://localhost:3001/createGroupPhoto. See error in log from that POST request. It will look something like this. Unfortunately I cannot figure out how to get a stack trace, but I believe the error comes from these lines of code -- specifically the composite() function call.

[Error: VipsImage: memory area too small --- should be 480000 bytes, you passed 360000
]

public_gifs_greeting-1604076477783

Implement Camera Selection

We should let users select which camera they are going to use for recording their GIF. A default <select> directly below the video frame would be fine.

related to #17

Implement CSS Variables

We need to implement CSS Variables, (even if it means moving to scss, etc) so brands can control basic coloring of the application from the top level.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.