Commit Graph

7 Commits

Author SHA1 Message Date
Alexis Reigel 949c30d42b
remove all .ico favicon variations, use png always
the ci status icons are generated client side, wo we don't need the
static files anymore.
2018-06-05 16:20:22 +02:00
Alexis Reigel 9e14f437b6
create favicon overlay on the client
the initial reason for this change was that graphicsmagick does not
support writing to ico files. this fact lead to a chain of changes:

1. use png instead of ico (browser support is good enough)
2. render the overlays on the client using the canvas API. this way we
   only need to store the original favion and generate the overlay versions
   dynamically.
   this change also enables (next step) to simplify the handling of the
   stock favicons as well, as we don't need to generate all the versions
   upfront.
2018-06-05 16:20:21 +02:00
Alexis Reigel 67fe0a17d8
call Gitlab::Favicon.status in serializer
this ways we can keep the `lib/gitlab/ci/status/*` classes to return the
bare favicon name as it was before.

also the favicon uploader versions are now have the same names as the
stock favicons (+ `favicon_` prefix), which makes working with the
status names easier.
2018-06-05 16:20:21 +02:00
Alexis Reigel 40ffa8401b
add request store caching to favicon 2018-06-05 16:20:21 +02:00
Alexis Reigel 822023c64c
Add a '?' to the custom favicon's urls
Without the '?' at the end of the favicon url the custom favicon (i.e.
the favicons that are served through `UploadController`) are not shown
in the browser. It may have something to do with how `#send_file` /
`#send_data` set http headers. When serving the same icon file from the
public directory everything is fine.
2018-06-05 16:20:20 +02:00
Alexis Reigel 44d7b15833
use custom favicon for ci build status favicons 2018-06-05 16:20:19 +02:00
Alexis Reigel a6f3f6b8cd
extract favicon logic to lib class 2018-06-05 16:20:19 +02:00