Skip to content

Releases: flurrux/insta-loader

v1.3.18 - fixed video downloads on post pages (RIP graphql)

17 Jun 11:53
Compare
Choose a tag to compare

graphql calls are gone and i had to change my strategy for obtaining video urls.
it wasn't too hard to find the urls again. the dom was kind to me in this regard.
the difficult part was in determining which video belongs to which item in a carousel.

please check the quality of your downloaded videos. i can't say if they are always good quality.
also please verify that it's the correct video from the carousel. my method for determining the video index is not pretty.

for more information, please see #41.

something is telling me we're gonna see each other very soon.

v1.3.17 - fixed video downloads from ... you guessed it: post pages

10 Jun 08:46
Compare
Choose a tag to compare

this release fixes #40, which is very similar to the problem from two weeks ago.
my previous fix was not robust enough. now i'm checking exactly the type of the graphql request before using it.
if instagram decides to change the keys in their API, this will might again, but let's hope for the best.

v1.3.16 - fixed video downloads from carousel posts

03 Jun 10:05
Compare
Choose a tag to compare

this release should fix #38, an error that occured when downloading videos from carousel posts.
#39 could be related to this, but i'll have to see if it persists with this new version.
if you run into any errors when downloading from a post page, a first step might be to reload the page and try again.
i wish everybody a great day and see you at the next breakage!

v1.3.15 - fixed error with .heic images and missing download buttons on saved posts

29 May 18:16
Compare
Choose a tag to compare

v1.3.14 - fixed 'wrong images from carousel' bug

06 May 09:48
Compare
Choose a tag to compare

this release should fix #35 where in certain cases, a wrong image was downloaded from single-post carousel pages.
i've made it a habit to always doublecheck my downloaded images/videos to catch this exact scenario and i encourage anyone to do the same. it's tedious, true, but there's no other way of validating your files.

v1.3.13 - fixed download error of videos on single post pages

27 Apr 18:38
Compare
Choose a tag to compare

another update from instagram broke downloads of videos on single-post pages.
good thing it was easy to fix. it was essentially just a swap of two urls. see #34 for more detail.

v1.3.12 - fixed missing download buttons on single post pages (again)

25 Mar 12:24
Compare
Choose a tag to compare

Instagram changed their dom again and it looks like they've reverted to explicit api calls for retrieving video urls (see #33).
this release should resolve both issues.
see y'all at the next breakage.

v1.3.11 - fixed occasional errors with images on single-post pages

11 Mar 10:22
Compare
Choose a tag to compare

this release fixes a bug where sometimes the extension would fail to download an image on single-post pages.
see #32 for more details.

v1.3.10 - fixed missing download buttons on single post pages

25 Feb 15:14
Compare
Choose a tag to compare

Instagram has changed their DOM on single-post pages (those of the pattern https://www.instagram.com/p/[postID]/) and API calls that initially load media urls.

the change in DOM had the consequence that this extension was not able to figure out where to insert its download buttons. i have updated the queries and it appears to be working well again.

another change by Instagram affected the lookup of media urls (also only on single-post pages). previously i have listened to calls of the form *://instagram.com/api/v1/media/[media-ID] and then used the media ID to replicate these requests and so obtain the media urls.
since the recent update, the listener didn't detect any suchs calls. it appears that instagram now uses the following, fixed urls instead: https://www.instagram.com/graphql/query. there are no more media IDs in the url, so my previous approach didn't work anymore. but it turns out that if you replicate the new api call exactly (including headers and form data), then the response is almost the same as it was before, so luckily i could keep much of my previous code.

footnotes:

in order to replicate the api call, i have setup a new listener in the background that listens to form-data that are submitted to https://www.instagram.com/graphql/query.
i have experimented a little bit with different headers and it seems like the exact same headers must be submitted as in the api call that was intercepted by the listener.
here is the replicated api call. the previously collected header and request body are passed as arguments.

v1.3.9 - fixed download of videos in collections

12 Nov 19:45
Compare
Choose a tag to compare

today i've noticed that instagram removed preview-images/posters from videos in collections. posters were a reliable way to tell what item is currently visible in a collection. you see, this extension does not take video sources from the DOM. it fetches the sources of the entire collection from the instagram servers when you press the download button. then it has to decide how to correspond the fetched sources to the visible elements on your page. for example if there is a collection of 4 videos, then the fetched object will be an array of 4 sources. now what is the source of the currently visible video? keep in mind that the videos in the DOM all have a blob url so we can't use them for comparison. previously, i've used the posters because they were included in the fetched sources. now that they are gone, the obvious other way is to look at the small indicator dots overlayed at the bottom of the collection.
here is the code for all of this. i'm not happy with it and unsure how i can do better.
as i wrote in the readme, better expect this to break anytime and also don't forget to check if your downloaded videos from collections are the correct ones.