ivatar issueshttps://git.linux-kernel.at/oliver/ivatar/-/issues2021-09-17T08:02:50Zhttps://git.linux-kernel.at/oliver/ivatar/-/issues/64The user interface isn't intuitive enough2021-09-17T08:02:50ZGhost UserThe user interface isn't intuitive enoughAs you may know we've been using Libravatar in [Liberapay](https://liberapay.com/) for 4 years. Since the rewrite in 2018, we've gotten several help requests from confused people unable to figure out how to set up their Libravatar accoun...As you may know we've been using Libravatar in [Liberapay](https://liberapay.com/) for 4 years. Since the rewrite in 2018, we've gotten several help requests from confused people unable to figure out how to set up their Libravatar account correctly. The latest one is <https://github.com/liberapay/liberapay.com/issues/1740>.https://git.linux-kernel.at/oliver/ivatar/-/issues/63Idea for Default Avatar2022-12-30T12:21:21ZGhost UserIdea for Default AvatarI love what you have been working on. I have a suggestion for the default avatars.
I love the professional look of the Mystery Man avatar, but the downside of using it is that everyone has the same exact default avatar.
It would be nic...I love what you have been working on. I have a suggestion for the default avatars.
I love the professional look of the Mystery Man avatar, but the downside of using it is that everyone has the same exact default avatar.
It would be nice if you created a new set of default avatars similar to Mystery Man, except it changes the background color for different emails, and then uses a consistent color for that email address.
For example, someone@example.com would always have a blue background color, while someoneelse@example.com would always have a green background color.
You could probably use some algorithm that spits out the same result for each email so that each email address is always the same color.
This would be useful in forums and blog comments where people don't always have a registered Gravatar or Libravatar. At least their replies would have the same color default avatar, so it is easier to tell them apart from others who are using the default avatar.
Unlike the other sets, which are more whimsical, it would be nice if there was a more professional option besides the Mystery Man. Ideally, the generated colors would be muted a bit (grays, light blues, light greens, light reds, etc.) so they do not contrast with the sites and are not too overpowering. For example, a bright magenta avatar might not look that appealing. Also, since people can't choose their colors, neutral colors would be the best option. They can always register a Libravatar or a Gravatar if they don't like the color, but we should probably avoid outrageous colors anyway so it appeals to the widest audience.
Thank you for your time.Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/62libravatar.org footer covers content in firefox2021-09-06T11:41:31ZGhost Userlibravatar.org footer covers content in firefoxIn Firefox, the page footer covers whatever part of the page it is over when the page loads. Scrolling on the page moves the footer as well as the page content.
The page footer has css of "position: absolute;" in FF, but has "position:...In Firefox, the page footer covers whatever part of the page it is over when the page loads. Scrolling on the page moves the footer as well as the page content.
The page footer has css of "position: absolute;" in FF, but has "position: relative;" in Chrome where it behaves as expected.
Of no real consequence: in FF the footer is just a box but in Chrome it is a fancy curve topped element.![libravatar_home_page_in_FF](/uploads/1f101ffaabe2e72c822e18b2d013374a/libravatar_home_page_in_FF.png)https://git.linux-kernel.at/oliver/ivatar/-/issues/61Maintenance page2020-02-25T11:29:27ZOliver Falkoliver@linux-kernel.atMaintenance pageAdd config option to allow a maintenance page to show up instead of the normal user interface, but still allow avatars to be served.
So => No write, just read.Add config option to allow a maintenance page to show up instead of the normal user interface, but still allow avatars to be served.
So => No write, just read.Migration 02/2020Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/60Avatar boxes are too narrow2021-11-22T13:14:32ZGhost UserAvatar boxes are too narrowHaving several similarly named domains turns avatar management into a nightmare
![image](/uploads/a01170dd3cfb22092292d7c567f4d889/image.png)
Why not use wide list like gravatar does?Having several similarly named domains turns avatar management into a nightmare
![image](/uploads/a01170dd3cfb22092292d7c567f4d889/image.png)
Why not use wide list like gravatar does?Redesign Profile pagehttps://git.linux-kernel.at/oliver/ivatar/-/issues/59Email in settings is not editable2021-09-06T11:54:03ZGhost UserEmail in settings is not editableGo to `/accounts/pref/`
There is only one option - email, and you can't edit it
Maybe change it to a select with verified emailsGo to `/accounts/pref/`
There is only one option - email, and you can't edit it
Maybe change it to a select with verified emailsWinter Sprint 2022Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/57Add CORS headers to returned avatars2021-09-06T11:53:49ZGhost UserAdd CORS headers to returned avatarsHello! :wave:
Could you consider adding CORS header (`Access-Control-Allow-Origin: *`) to avatar image responses? Gravatar uses it and it allows fetching avatars without cookies or any other tracking information through `<img src="..."...Hello! :wave:
Could you consider adding CORS header (`Access-Control-Allow-Origin: *`) to avatar image responses? Gravatar uses it and it allows fetching avatars without cookies or any other tracking information through `<img src="..." crossorigin=anonymous>`
More details here: https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes
Reported here: https://photog.social/users/libravatar/statuses/102265339201031638Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/56W3 validator throws issues2019-05-28T08:24:29ZOliver Falkoliver@linux-kernel.atW3 validator throws issueshttps://validator.w3.org/nu/?doc=https%3A%2F%2Fwww.libravatar.org%2Fhttps://validator.w3.org/nu/?doc=https%3A%2F%2Fwww.libravatar.org%2Fhttps://git.linux-kernel.at/oliver/ivatar/-/issues/55Check tool, compatiblity with previous version2021-09-06T11:53:40ZGhost UserCheck tool, compatiblity with previous versionHello,
Our wiki and probably external documents mention the old check tool under the following URL: https://www.libravatar.org/tools/check_domain.
Can we provide a redirect to the new one ?
Regards.Hello,
Our wiki and probably external documents mention the old check tool under the following URL: https://www.libravatar.org/tools/check_domain.
Can we provide a redirect to the new one ?
Regards.Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/54Problem in PIL/Image.py2021-09-06T11:53:33ZGhost UserProblem in PIL/Image.pyHello!
in error.log we have lots of errors that goes like this:
```
[Mon Mar 04 01:56:23.783813 2019] [wsgi:error] [pid 20992:tid 140345052468992] """)
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
...Hello!
in error.log we have lots of errors that goes like this:
```
[Mon Mar 04 01:56:23.783813 2019] [wsgi:error] [pid 20992:tid 140345052468992] """)
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
File "/mnt/data/.virtualenv/lib/python3.6/site-packages/PIL/Image.py", line 614, in __del__
NameError: name 'hasattr' is not defined
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
File "/mnt/data/.virtualenv/lib/python3.6/site-packages/PIL/Image.py", line 614, in __del__
NameError: name 'hasattr' is not defined
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
File "/mnt/data/.virtualenv/lib/python3.6/site-packages/PIL/Image.py", line 614, in __del__
NameError: name 'hasattr' is not defined
```
Would it be possible to fix somehow?
These are not the only errors but the other seems to be a problem in deployment related to deprecation of psycopg2 wheel package. I need to take a look at it.https://git.linux-kernel.at/oliver/ivatar/-/issues/53500 error on trying to upload export in invalid format2021-09-06T11:42:43ZGhost User500 error on trying to upload export in invalid formatHello,
on https://www.libravatar.org/accounts/upload_export/, if i try to upload e.g. a txt file i get 500 error. Instead, the file should be checked for a valid format and only then processed.Hello,
on https://www.libravatar.org/accounts/upload_export/, if i try to upload e.g. a txt file i get 500 error. Instead, the file should be checked for a valid format and only then processed.Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/52No Identica importer2021-09-06T11:53:25ZGhost UserNo Identica importerHello,
While reading the old [photo importers](https://github.com/libravatar/wiki.libravatar.org/commit/89804fc50d4ae61c8bc31daed8254cb0fdaaf66c) page I discovered the previous version of Libravatar had support for automatic import of p...Hello,
While reading the old [photo importers](https://github.com/libravatar/wiki.libravatar.org/commit/89804fc50d4ae61c8bc31daed8254cb0fdaaf66c) page I discovered the previous version of Libravatar had support for automatic import of picture from the Identica micro-blogging platform.
Nobody complained about it so far so we should just document this regression somewhere.Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/51Libravator logo link in wiki is broken2021-09-06T11:53:18ZGhost UserLibravator logo link in wiki is brokenIn the [wiki](https://wiki.libravatar.org) there was a link to a Libravatar logo, which is currently broken. It points to https://seccdn.libravatar.org/nobody/256.png.In the [wiki](https://wiki.libravatar.org) there was a link to a Libravatar logo, which is currently broken. It points to https://seccdn.libravatar.org/nobody/256.png.https://git.linux-kernel.at/oliver/ivatar/-/issues/50Cache-Control and Expires2021-09-06T11:53:10ZGhost UserCache-Control and ExpiresWhen setting up a localhost caching reverse proxy I noticed that libravatar.org doesn't set the `Cache-Control` (and `Expires`) header.
Gravatar sets
```http
Cache-Control: max-age=300
```
Should libravatar use something similar?
T...When setting up a localhost caching reverse proxy I noticed that libravatar.org doesn't set the `Cache-Control` (and `Expires`) header.
Gravatar sets
```http
Cache-Control: max-age=300
```
Should libravatar use something similar?
The [libravatar API](https://wiki.libravatar.org/api/) only mentioned caching in relation to SRV records (1 day = 24 hour?). Should avatars itself be allowed to be cached for 24 hours?
In @tastytea's [libravatarserv](https://schlomp.space/tastytea/libravatarserv) example config for nginx the `Expires` and `Cache-Control` are set to 86400 (24 hours) (+ `Cache-Control` adds `public`):
<https://schlomp.space/tastytea/libravatarserv/src/commit/de7e61a2fed91c0be3ab787907ff39f7f72b4043/doc/nginx-example.conf#L12-L14>
Since the libravatar api very much rely on query string it's affected by <https://httpd.apache.org/docs/trunk/caching.html#http-caching>, under "What Can be Cached?":
> If the URL included a query string (e.g. from a HTML form GET
> method) it will not be cached unless the response specifies an
> explicit expiration by including an "Expires:" header or the
> max-age or s-maxage directive of the "Cache-Control:" header, as
> per RFC2616 sections 13.9 and 13.2.1.
I suppose this might affect caching in clients? I haven't checked that.
Using [mod_expires](https://httpd.apache.org/docs/2.4/mod/mod_expires.html) I used something like:
```apache
ExpiresActive On
ExpiresDefault "A86400"
Header merge "Cache-Control" "public"
```
(Maybe
```apache
ExpiresDefault "access plus 24 hours"`
```
is a bit more readable.)https://git.linux-kernel.at/oliver/ivatar/-/issues/49Content-Type should be "image/jpeg", not "image/jpg"2021-09-06T11:53:02ZGhost UserContent-Type should be "image/jpeg", not "image/jpg"The following:
```console
curl -I "https://seccdn.libravatar.org/avatar/63a75a80e6b1f4adfdb04c1ca02e596c?s=72&d=monsterid"
```
result in:
```http
HTTP/1.1 200 OK
Date: Wed, 27 Feb 2019 13:42:43 GMT
Server: Apache/2.4.34 (Fedora) Open...The following:
```console
curl -I "https://seccdn.libravatar.org/avatar/63a75a80e6b1f4adfdb04c1ca02e596c?s=72&d=monsterid"
```
result in:
```http
HTTP/1.1 200 OK
Date: Wed, 27 Feb 2019 13:42:43 GMT
Server: Apache/2.4.34 (Fedora) OpenSSL/1.1.0i-fips mod_wsgi/4.5.20 Python/3.6
Strict-Transport-Security: max-age=31536000; preload; includeSubDomains
Content-Length: 2210
Vary: Accept-Language,Cookie
Content-Language: en
X-Frame-Options: SAMEORIGIN
Content-Type: image/jpg
```
I suppose `Content-Type` should be `image/jpeg`Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/48Retro images have a margin on the bottom and right sides2021-09-06T11:52:52ZGhost UserRetro images have a margin on the bottom and right sidesThe image generated with the default=retro option have a margin or internal border of some sort:
Example:
https://www.libravatar.org/avatar/13294c5d1d80d103b665a3596a7ed975e75e356b5b6af178eaf097b7c3130bf3?s=60&forcedefault=y&default=re...The image generated with the default=retro option have a margin or internal border of some sort:
Example:
https://www.libravatar.org/avatar/13294c5d1d80d103b665a3596a7ed975e75e356b5b6af178eaf097b7c3130bf3?s=60&forcedefault=y&default=retro
Attached here:
![retro](/uploads/1b7d7c0e858be5b6128382ce3b6c4ddd/retro.png)https://git.linux-kernel.at/oliver/ivatar/-/issues/47check tool doesn't display SHA256 avatars (email)2021-09-06T11:52:45ZGhost Usercheck tool doesn't display SHA256 avatars (email)I use my own libravatar server. The check tool does display the MD5 picture, but not the SHA256 picture. You can replicate with the email address `testlibravatar@tastytea.de`. The server returns the right image¹ and it worked with the ol...I use my own libravatar server. The check tool does display the MD5 picture, but not the SHA256 picture. You can replicate with the email address `testlibravatar@tastytea.de`. The server returns the right image¹ and it worked with the old check tool.
¹ https://avatar.tastytea.de/avatar/926ccda19cfe96f3d714506c74ad3101e5cdfec95aaacef99b7f39242636a3b2
![screenshot_2019-02-19T22_01_31](/uploads/cd66e0f6ccc96ad0117b7c3ecd60418d/screenshot_2019-02-19T22_01_31.png)Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/46Some pictures are not resized2021-09-06T11:52:37ZGhost UserSome pictures are not resizedI checked with two different pictures:
- ![black](/uploads/3c963f7c4702d85fea7618e2cd8d9cc8/black.png) a 512x512 1-bit PNG image ;
- ![wb](/uploads/31bc0aadbabf610eda26625971a7aeed/wb.png) a 32x32 2-bit PNG image.
The first one is corr...I checked with two different pictures:
- ![black](/uploads/3c963f7c4702d85fea7618e2cd8d9cc8/black.png) a 512x512 1-bit PNG image ;
- ![wb](/uploads/31bc0aadbabf610eda26625971a7aeed/wb.png) a 32x32 2-bit PNG image.
The first one is correctly displayed as a 80x80 image when requested without the size option and again correctly resized to other size.
The second is not, ever.Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/45The default option is not respected anymore2021-09-06T11:46:50ZGhost UserThe default option is not respected anymoreA request for a random, non-existing hash such as one generated with `sha256 -qs invalid$RANDOM` with a default of `404` or `retro` or any other valid value for this option is now ignored. Instead ivatar redirects to `/gravatarproxy/...?...A request for a random, non-existing hash such as one generated with `sha256 -qs invalid$RANDOM` with a default of `404` or `retro` or any other valid value for this option is now ignored. Instead ivatar redirects to `/gravatarproxy/...?s=80`, then on `/avatar/...?s=80&forcedefault=y` and finally redirects to nobody.png.
Perhaps all options should be passed instead of just the size ? I tested the same request with a non-default size and it was passed on as expected.
Example:
```
$ curl -iL "https://libravatar-stg.fedorainfracloud.org/avatar/$(sha256 -qs invalid$RANDOM)?d=404"
HTTP/1.1 302 Found
Date: Tue, 19 Feb 2019 16:00:56 GMT
Server: Apache/2.4.34 (Fedora) OpenSSL/1.1.0i-fips mod_wsgi/4.5.20 Python/3.6
Strict-Transport-Security: max-age=31536000; preload
Location: /gravatarproxy/985993fa4f05b8195da128cbf86c6fb1d6c2fbcbf3861865d93fd214aacce2f0?s=80
Content-Length: 0
Vary: Accept-Language,Cookie
Content-Language: en
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=utf-8
HTTP/1.1 302 Found
Date: Tue, 19 Feb 2019 16:00:56 GMT
Server: Apache/2.4.34 (Fedora) OpenSSL/1.1.0i-fips mod_wsgi/4.5.20 Python/3.6
Strict-Transport-Security: max-age=31536000; preload
Location: /avatar/985993fa4f05b8195da128cbf86c6fb1d6c2fbcbf3861865d93fd214aacce2f0?s=80&forcedefault=y
Content-Length: 0
Vary: Accept-Language,Cookie
Content-Language: en
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=utf-8
HTTP/1.1 302 Found
Date: Tue, 19 Feb 2019 16:00:57 GMT
Server: Apache/2.4.34 (Fedora) OpenSSL/1.1.0i-fips mod_wsgi/4.5.20 Python/3.6
Strict-Transport-Security: max-age=31536000; preload
Location: /static/img/nobody/80.png
Content-Length: 0
Vary: Accept-Language,Cookie
Content-Language: en
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=utf-8
HTTP/1.1 200 OK
Date: Tue, 19 Feb 2019 16:00:57 GMT
Server: Apache/2.4.34 (Fedora) OpenSSL/1.1.0i-fips mod_wsgi/4.5.20 Python/3.6
Strict-Transport-Security: max-age=31536000; preload
Last-Modified: Wed, 14 Nov 2018 14:53:30 GMT
ETag: "9f4-57aa118f1484d"
Accept-Ranges: bytes
Content-Length: 2548
Content-Type: image/png
```Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.athttps://git.linux-kernel.at/oliver/ivatar/-/issues/44Valid hash with a forced default option redirects to an invalid page2021-09-06T11:52:22ZGhost UserValid hash with a forced default option redirects to an invalid pageA request for a valid hash such as `4751ed9aae86881d2b45dd0512c3e14a` with a invalid default such as `unicorn` works fine unless the forcedefault option is used. In this case ivatar redirects to an invalid page using `unicorn` as the has...A request for a valid hash such as `4751ed9aae86881d2b45dd0512c3e14a` with a invalid default such as `unicorn` works fine unless the forcedefault option is used. In this case ivatar redirects to an invalid page using `unicorn` as the hash.
A request for an invalid hash with an invalid forced default correctly returns nobody.png.
Example:
```
$ curl -i "https://libravatar-stg.fedorainfracloud.org/avatar/4751ed9aae86881d2b45dd0512c3e14a?d=unicorn&f=y"
HTTP/1.1 302 Found
Date: Tue, 19 Feb 2019 15:44:44 GMT
Server: Apache/2.4.34 (Fedora) OpenSSL/1.1.0i-fips mod_wsgi/4.5.20 Python/3.6
Strict-Transport-Security: max-age=31536000; preload
Location: unicorn
Content-Length: 0
Vary: Accept-Language,Cookie
Content-Language: en
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=utf-8
```Oliver Falkoliver@linux-kernel.atOliver Falkoliver@linux-kernel.at