Skip to content

Front-end assets not found after castopod/castopod container image update

Describe the bug

After updating to 1.12.4 and also 1.12.5 I've got front-end resource loading problem on my deployment of castopod/castopod behind my own Nginx working on the host system.

Steps to reproduce

Docker Compose configuration used at the moment: Forgejo link

  1. Update castopod/castopod to 1.12.4
  2. docker compose up -d
  3. Fully update the page (CTRL+F5 for example)
  4. Front-end is broken, a bunch of assets failed to load.
  5. Set image tag to 1.12.3
  6. docker compose up -d
  7. Fully update the page (CTRL+F5 for example)
  8. It's fixed again.

Expected behavior

As it was on 1.12.3:

image

Actual behavior

Since 1.12.4:

image

Relevant logs and/or screenshots

docker compose logs -f at the moment of completely reloading the page after update:

castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /@sporadic_podcast HTTP/1.1" 200 77310 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/light-BUaidzFK.css HTTP/1.1" 200 5504 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/play-episode-button-CliCOL17.js HTTP/1.1" 200 5165 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/light-SyAvfB0_.js HTTP/1.1" 200 141122 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/audio-player.ts-Bo5uV_i2.js HTTP/1.1" 200 3203 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/Time-BqYcytJL.js HTTP/1.1" 200 16205 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/state-BCIH6RRi.js HTTP/1.1" 200 17364 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /themes/colors HTTP/1.1" 200 3432 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /media/podcasts/sporadic_podcast/banner_medium.webp HTTP/1.1" 200 68861 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/styles/index-uC0PoWqC.css HTTP/1.1" 404 14 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/Dropdown-BJrbJEf6.js HTTP/1.1" 404 14 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/Tooltip-C8Nl_B6-.js HTTP/1.1" 404 14 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/app.ts-DgXc6XfL.js HTTP/1.1" 404 14 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /assets/podcast.ts-BZEq7pmp.js HTTP/1.1" 404 14 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /media/podcasts/sporadic_podcast/cover_thumbnail.webp HTTP/1.1" 200 8928 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /media/podcasts/sporadic_podcast/cover_federation.jpg HTTP/1.1" 200 47356 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /favicon.ico HTTP/1.1" 200 21238 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /sw.js HTTP/1.1" 200 2460 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /workbox-cbf83eee.js HTTP/1.1" 200 15031 "https://p.skobk.in/sw.js" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /media/index.html HTTP/1.1" 404 14 "https://p.skobk.in/sw.js" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
castopod        | 172.23.0.1 - - [08/Aug/2024:16:17:44 +0000] "GET /@sporadic_podcast/manifest.webmanifest HTTP/1.1" 200 697 "https://p.skobk.in/@sporadic_podcast" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"

Context

  • Castopod: 1.12.4+
  • OS: Linux & Docker
  • Web server: Nginx

Possible fixes

It looked like a problem with some resources which were built earlier, but their sources changed and they weren't rebuilt on update.

I was able to fix the problem by running ./spark cache:clear in the castopod container.

I think it'll be a good idea to clear the cache when version changes.