gitify-app / gitify

GitHub notifications on your menu bar. Available on macOS, Windows & Linux.
https://www.gitify.io
MIT License
4.39k stars 256 forks source link

Broken avatar on GHE (again) #1224

Open LunaticMuch opened 4 weeks ago

LunaticMuch commented 4 weeks ago

🔍 Is there already an issue for your problem?

📝 Description

In a GHE situation, avatars for users are broken. This seems similar to #564 but in fact is not.

Looking at the inspector tab, the src for the image is correctly populated and points a valid image if I open it from my browser. Incidentally, I have an amount of warnings as

reading cookie in cross-site context will be blocked in future Chrome versions

Whether that's the real problem or not...I am yet to understand. I cannot find any other error.

🪜 Steps To Reproduce

  1. Use in a GHE context
  2. GHE is 3.11

Gitify Version

5.7.0

Operating System

macOS

GitHub Account

GitHub Enterprise

📸 Screenshots

Screenshot 2024-06-12 at 10 39 10

setchy commented 4 weeks ago

thanks for reporting @LunaticMuch

so to confirm, the avatar url returns a valid image, but renders as broken 🤔

LunaticMuch commented 4 weeks ago

so to confirm, the avatar url returns a valid image, but renders as broken 🤔

Yes. I checked the code, the console, but I can get my head around it. I only suspected the cookie, but also I cannot see the "relationship"

setchy commented 4 weeks ago

Puzzling indeed... together I'm sure we'll get to the bottom of it 🤝

Any chance you are able to run gitify from the source code to see if that has the same issue? 🤞

git clone
pnpm i
pnpm watch
pnpm start
bmulholland commented 4 weeks ago

I also wonder whether there's a network request for the image at all? Maybe there's a security policy that prevents the loading, for instance. Would need @LunaticMuch to check that, I don't have GHE to try to repro

LunaticMuch commented 4 weeks ago

@setchy and @bmulholland I can definitely help... give me a bit, feels more a debug I need to squeeze after work 😄

setchy commented 4 weeks ago

@setchy and @bmulholland I can definitely help... give me a bit, feels more a debug I need to squeeze after work 😄

absolutely! thank you again @LunaticMuch 🙇

LunaticMuch commented 3 weeks ago

First debug session, following your guidance @setchy

  1. Console is empty. There's no reported error or warning. Actually nothing at all.
  2. I do not see any call for the image tracing the network... this quite interesting, but it feels weird the security policy. If the connection is not started, this should not be related to a policy. The policy might block the response, not opening a socket for the call
setchy commented 3 weeks ago

Looks like you have Detailed Notifications enabled. In that case, you'll find the logic within src/utils/subject.ts that enriches notifications with the most recent SubjectUser (logic varies by notification type ie: Issues vs PullRequests vs Discussions, etc)

LunaticMuch commented 3 weeks ago

I need to dig into that, but from my initial testing, it's all fine. Actually, the repo icon suffers of the same problem, but the default icon for the runners does not 🤔

Screenshot 2024-06-13 at 12 44 03

setchy commented 3 weeks ago

The default icons used for workflows (and as a default when no avatar available) are from the primer/octicons package

setchy commented 3 weeks ago

Perhaps a fix lies in setting the crossorigin attribute on the img tags...

https://www.geeksforgeeks.org/how-to-allow-cross-origin-use-of-images-and-canvas/

@LunaticMuch - when you said these urls load in a new tab, was that in an incognito/private or a regular instance?