|
410 | 410 | } |
411 | 411 | await clearLegacyCache(); |
412 | 412 |
|
| 413 | + const shouldRefreshLess = window.localStorage.getItem(LESS_REFRESH_SCHEDULED_KEY) === 'yes'; |
| 414 | + if(shouldRefreshLess){ |
| 415 | + let lessRefreshInterval = setInterval(()=>{ |
| 416 | + // wait for less to get loaded. less caches css in local storage in production urls |
| 417 | + // and might not load new css classes if we don't reset. less doesn't cache in localhost. |
| 418 | + if(window.less && less.refresh){ |
| 419 | + less.refresh(true).finally(()=>{ |
| 420 | + localStorage.setItem(LESS_REFRESH_SCHEDULED_KEY, "no"); |
| 421 | + }); |
| 422 | + clearInterval(lessRefreshInterval); |
| 423 | + } |
| 424 | + }, 500); |
| 425 | + } |
| 426 | + |
413 | 427 | const currentCacheName = await _readFileSafe(WEB_CACHE_FILE_PATH); |
414 | 428 | if(!currentCacheName) { |
415 | 429 | // fresh install, no cache |
|
423 | 437 | await window.caches.delete(currentCacheName); |
424 | 438 | await _writeFileSafe(WEB_CACHE_FILE_PATH, PHOENIX_APP_CACHE_VERSION); |
425 | 439 | localStorage.setItem(LESS_REFRESH_SCHEDULED_KEY, "yes"); |
426 | | - } |
427 | | - |
428 | | - const shouldRefreshLess = window.localStorage.getItem(LESS_REFRESH_SCHEDULED_KEY) === 'yes'; |
429 | | - if(shouldRefreshLess){ |
430 | | - let lessRefreshInterval = setInterval(()=>{ |
431 | | - // wait for less to get loaded. less caches css in local storage in production urls |
432 | | - // and might not load new css classes if we don't reset. less doesn't cache in localhost. |
433 | | - if(window.less && less.refresh){ |
434 | | - less.refresh(true).finally(()=>{ |
435 | | - localStorage.setItem(LESS_REFRESH_SCHEDULED_KEY, "no"); |
436 | | - }); |
437 | | - clearInterval(lessRefreshInterval); |
438 | | - } |
439 | | - }, 500); |
| 440 | + if(!force){ |
| 441 | + location.reload(); |
| 442 | + // force reload handlers should reload themselves. |
| 443 | + } |
440 | 444 | } |
441 | 445 | } |
442 | 446 | _resetCacheIfNeeded(); |
|
0 commit comments