Set.prototype.difference is not a function

Hi all, I just upgraded to v1.133.0 and can no longer use the web interface. It loads, but gives the error "Failed to load assets". The mobile app works fine. I see there is another support post for this same issue, where the user is on an old version of Firefox which doesn't support Set.prototype.difference. I am on Chrome 109, on a device that unfortunately cannot be upgraded to a newer version of Chrome. There is a shim that I am looking to manually insert into immich's frontend code to get it running again: https://github.com/es-shims/Set.prototype.difference Would you consider fixing support for browsers without Set.prototype.difference ? Up until this update, everything has been working great. It would be appreciated.
15 Replies
Immich
Immich2w ago
:wave: Hey @SpikedCola, Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:. References - Container Logs: docker compose logs docs - Container Status: docker ps -a docs - Reverse Proxy: https://immich.app/docs/administration/reverse-proxy - Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA Checklist I have... 1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :blue_square: tried accessing Immich via local ip (without a custom reverse proxy). 6. :blue_square: uploaded the relevant information (see below). 7. :blue_square: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable (an item can be marked as "complete" by reacting with the appropriate number) Information In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider: - Your docker-compose.yml and .env files. - Logs from all the containers and their status (see above). - All the troubleshooting steps you've tried so far. - Any recent changes you've made to Immich or your system. - Details about your system (both software/OS and hardware). - Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h). - The version of the Immich server, mobile app, and other relevant pieces. - Any other information that you think might be relevant. Please paste files and logs with proper code formatting, and especially avoid blurry screenshots. Without the right information we can't work out what the problem is. Help us help you ;) If this ticket can be closed you can use the /close command, and re-open it later if needed.
bo0tzz
bo0tzz2w ago
The minimum chrome we support now is 111
SpikedCola
SpikedColaOP2w ago
Sorry I didn't notice that in the release notes It would be a shame to drop support for users over support for a single function If I patch out that one usage, the web app otherwise works fine in Chrome 109 get existingDateGroups() { return this.changedDateGroups; /.difference(this.newDateGroups)/ }
Daniel
Daniel2w ago
That's not just it We also upgraded to tailwind v4, which requires >111 https://tailwindcss.com/docs/compatibility
bo0tzz
bo0tzz2w ago
Chrome 109 is pretty old at this point. You shouldn't really be running it anymore, also eg for security reasons
SpikedCola
SpikedColaOP2w ago
I don't disagree with you. Ah I see Well, for now it's working with just that one change, so I'll keep an eye out for anything else the upgrade to tailwind has affected. I expect more difficulty with each new release.
Daniel
Daniel2w ago
Removing .difference is not a viable fix fyi This actively breaks functionality
SpikedCola
SpikedColaOP2w ago
Yes, I am going to write a polyfill for .difference. There are a couple other places it's used, not just that one line.
Daniel
Daniel2w ago
Why can't you not update a newer chrome version? Or maybe firefox?
SpikedCola
SpikedColaOP2w ago
Windows 7, that's the last version of Chrome that's supported. There are hacked builds, or switch to chromium, or firefox as you suggest. At this very moment, it's just quicker for my workflow to fix what's broken, than try to replace Chrome
Daniel
Daniel2w ago
Yeah chromium or firefox (derivates) sounds like great alternatives to me
SpikedCola
SpikedColaOP2w ago
I realize that's entirely of my own doing
Daniel
Daniel2w ago
I think replacing it with chromium should be doable, but whatever you prefer :D
SpikedCola
SpikedColaOP2w ago
Probably not a bad idea to de-google anyway. Thanks for the info, I appreciate it.
Immich
Immich2w ago
This thread has been closed. To re-open, use the button below.

Did you find this page helpful?