folletto / Blipshot

Google Chrome Extension to make screenshots
intenseminimalism.com
114 stars 19 forks source link

Doesn't work with Plex #26

Open turkeyphant opened 2 years ago

turkeyphant commented 2 years ago

Keeps requesting to "reload the page". Blipshot still doesn't work immediately after reloading the page.

image

folletto commented 2 years ago

Can you please share the link to the page that doesn't work?

turkeyphant commented 2 years ago

Can you please share the link to the page that doesn't work?

I cannot. It's a local server.

folletto commented 2 years ago

Ah ok, that might be the problem. I think Chrome has a different access level for locally loaded pages, and probably won't allow it at all for local files (not served via a HTTP server). Can you still (in anonymized form if necessary) paste the URL?

turkeyphant commented 2 years ago

It is served by at HTTP server. It's just not on the public internet. Again, this is simply the Plex web client.

The URL is https://192.168.0.100:32400 so it makes no difference if I give it to you or not.

folletto commented 2 years ago

Thanks. I don't know Plex so I have no idea how it loads local files.

Thanks for the URL too. I didn't ask because I wanted to access, I asked because it provides informations on how the file is served (https, numeric ip, special port, no sub-folder).

I'll have a look.

turkeyphant commented 2 years ago

Sorry that redirects to http://IP:32400/web/index.html

Some pages are served like this:

http://IP:32400/web/index.html#!/media/d4e31e86faee098031f50e9b6dd3cf34e99b9c00/com.plexapp.plugins.library?source=playlists

Also, if it's any help, I usually access via custom hostname not numeric IP.

folletto commented 2 years ago

Ok I checked the Chrome limitations, and it seems it should work (the block is only for file access). I ruled out that option.

I then installed Plex locally, and it seems working... However... it doesn't scroll.

This screenshot is taken with Blipshot: pageshot of 'Plex' @ 2021-12-26-1845'50

As far as I dug into it, Plex scrolling is done by adding overflow-y: scroll to a div instead of having the whole page scroll, which means the plugin as it is built today is unable to get that scrolling, as it's not the full page scrolling, but just a piece of it. I'm not even sure it's possible for any plugin to make that work, because even the Developer Console "Capture full size screenshot" is not able to scroll it.

Screenshot 2021-12-26 at 18 53 05

I'm sorry I don't have better news.

turkeyphant commented 2 years ago

Thanks for this.

The issue I am having doesn't seem related to overflow-y: scroll styling. As per my screenshot, it won't even start and it gives a misleading error message.

However, if it's not possible without adapting the plugin to scroll div elements that's also good to know.

folletto commented 2 years ago

Yes the issue you mention is separate, it doesn't seem to be related to that: I wasn't able to identify exactly what's triggering it.

For background, that error message usually happens when the page-side JS from the plugin isn't injected correctly (it tries to call the function, and the function doesn't exist): that's why it suggests a reload. My guess is that there's something on that page that might be rewriting the content in some way and either disrupting the plugin JS or blocking it from loading entirely.

I just noted the overflow-y: scroll issue to say that even if I was able to fix that issue, given Plex is not scrolling a page normally but using that CSS feature to scroll part of the page, it still wouldn't work.

The plugin can't easily adapted to scroll that because inherently overflow: scroll behaviours would scroll just a chunk of a page, and there might be multiple on the page, so even if it was possible to select the one to scroll, how would it deal with the rest of the page? (like, in a universal way).

That said, as a workaround, maybe that specific page is different and all... you can try to use that Developer Console feature and see if it works in your case? https://www.howtogeek.com/423558/how-to-take-full-page-screenshots-in-google-chrome-without-using-an-extension/

turkeyphant commented 2 years ago

Unfortunately that just takes a screenshot of the currently-viewable area.

folletto commented 2 years ago

Them I'm afraid it won't be possible to screenshot that full page without rewriting the specific page CSS. Sorry about that.

turkeyphant commented 2 years ago

If I used inspect element to change the CSS or to remove other parts of the page leaving on the main <div> would that help?

folletto commented 2 years ago

Yup. If you can edit the CSS / HTML to create a normal scrolling page it should.