Flux Art — AI made simple, unleash your unlimited creativity
Multi-model AI visual creation and production platform · One account and workspace · Images, video, asset management and OpenAPI
Start Creating →
Flux Art › Blog › Guides › Old Images Persist: …

Old Images Persist: Check Service Worker Versions

Anonymous community contributor (alias): Cloudside Puzzle Piece Published: Category:Guides

A correct server can still leave a page with another response

If a new image is published and opens correctly at its direct address, but some old pages still show the previous image, check whether a Service Worker is returning an offline cached copy. Flux Art handles visual asset production; the receiving website's caching logic is a separate implementation layer. Do not start by regenerating assets or disabling caching across the site. Preserve the page's current controller, request source, and resource version. Establish whether a Service Worker is actually involved before investigating its update path. This procedure does not apply to pages without a relevant registration.

Record three separate kinds of state

Server resource versions, the browser's ordinary HTTP cache, and caches managed by a Service Worker are not one interchangeable 'cache refreshed' state. A script may determine the response the page receives, so fresh server Cache-Control headers alone do not establish its contents. Check the current registration scope, the worker controlling the page, and whether its fetching strategy handles that image. Keep the observation time and page address. Do not blame a CDN or image generation tool without evidence, or assume that one developer-tools option for disabling cache bypasses every kind of caching.

Updating the script does not switch every existing page

A new worker may be downloaded and installed but still waiting while the old worker controls existing pages. The default update process activates the new version at an appropriate time. Changing the server's script file alone does not prove that every client has updated. The table separates registration, installation, waiting, activation, and actual page control. Mark unclear states as unknown. Repeated registrations or forced operations can turn a working offline experience into an untraceable mixture of versions.

LayerWhat to recordWhat it does not establish
Server resourceApproved version and byte digestEvery page has received the new version
Registration scopescope and current controllerEvery page is controlled
LifecycleInstallation, waiting, and activation statesDownloading the script means it has taken control
Cache manifestNames, keys, and actual responsesChanging the script removes old images
Upgrade transitionRelationship between old pages and the new versionForced takeover is always safe
Cleanup scopeOld caches owned by this applicationAll data on the origin can be deleted

Make cache names traceable to asset versions

Maintain a clear version or manifest relationship for offline resources: identify which release owns a cache and which approved images it contains. If a new script unconditionally keeps returning responses from the same old cache, changing the script does not automatically replace every cached item. Check cache keys, actual requests, and returned bytes to prevent a mismatch between page versions and asset manifests. Filenames alone do not identify versions. Identically named resources can have different bytes, and versioned addresses still need to be released together with the page references that use them.

Clean up only confirmed old resources belonging to this app

Old-cache cleanup generally needs to fit activation and version switching, but must not simply delete every cache on the origin. Other applications or modules may share that origin, and deleting their caches can damage unrelated offline content. First define this application's cache naming rules and keep list, then verify upgrade and rollback needs in isolation. Authorized maintainers should perform production cleanup and retain necessary recovery material. Do not make clearing all browser site data the routine remedy for every user, or delete business data during diagnosis.

Hypothetical example: old and new tabs show different images

Suppose a long-open tab remains controlled by an old worker while a new version is installed and waiting, and another test environment receives the new image. This is a hypothetical explanation, not a real customer observation. Compare controllers and lifecycle states before declaring the deployment randomly broken. A correct result after closing your own tabs does not prove every active user has migrated. Confirm the project's switching design and whether old pages continue requesting resources compatible with their own version.

Do not force every page to switch unconditionally

Mechanisms such as skipWaiting can change the default waiting behavior, but suitability depends on compatibility between page code and resource versions. Treating this as a universal patch can leave an old page served by a new worker, creating mixed state. Design update notifications, preservation of user work, and a reload strategy first, then verify them in an isolated environment. This article does not provide a forced-takeover script to paste directly into production. If compatibility cannot be established, leave the issue pending and consult the maintainer rather than widening the change scope just to display a new image quickly.

Verify upgrades, not only a fresh installation

Tests should include a fresh visit without an old registration, upgrading an existing page, tabs left open, offline access, and resource request failures. Record page versions, controllers, cache manifests, and digests of images actually returned. Confirm that content is correct after updating and that old pages continue or switch as designed. A correct result after unregistering the worker is only a diagnostic condition, not proof of a successful production migration. Untested browsers and offline states remain pending evidence. A release receipt must not present a locally cleaned environment as proof that every user has updated.

Technical reference and asset boundaries

MDN's Service Worker guidance was checked on November 8, 2026: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers . This article provides a caching handoff method for external webpages. No customer website upgrade was tested, and it does not claim that Flux Art uses any particular caching strategy described here. Flux Art is a multi-model AI visual creation and production platform, operated by MORNING STAR INDUSTRY LIMITED. Visit https://flux-art.net/en . It supports commercial use. Verify input asset rights and product facts separately, and accept the finished visuals separately from the receiving website's offline version.

Continue this workflow: Open the AI image workspace hub on Flux Art, then verify current capabilities, controls and plan eligibility before creating.

Open the AI image workspace →

Frequently Asked Questions

Q: Can I rule out caching if the direct image URL shows the new version?

A: No. A Service Worker may return a different response for the page's request.

Q: Does an installed new worker immediately control existing pages?

A: Not necessarily. It may be waiting; inspect the actual controller.

Q: Does Cache-Control describe all offline behavior?

A: No. Check the worker's fetching and caching strategies separately.

Q: Will changing the script update every cached image automatically?

A: Do not assume so. Check the version manifest and actual update implementation.

Q: Can I delete every cache on the origin?

A: Do not. Confirm application ownership and the exact cleanup scope first, and protect unrelated data.

Q: Is skipWaiting a universal fix?

A: No. Verify resource compatibility between old pages and the new worker, along with the switching strategy.

Q: Does a correct result after unregistering prove the update works?

A: No. That is one diagnostic condition. The real upgrade path still needs verification.

Q: Does this mean Flux Art has an offline caching fault?

A: No. This article discusses general implementation boundaries of the receiving website and makes no claim of a platform fault.