Browse Source

fix(nc-gui): append reload_attempt query param after hash url (#9352)

pull/9299/head
Ramesh Mane 3 months ago committed by GitHub
parent
commit
5be42ebbd3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 18
      packages/nc-gui/plugins/error-handler.ts

18
packages/nc-gui/plugins/error-handler.ts

@ -4,13 +4,25 @@ export default defineNuxtPlugin((nuxtApp) => {
const QUERY_PARAM_NAME = 'reload_attempt' const QUERY_PARAM_NAME = 'reload_attempt'
const reload = () => { const reload = () => {
const searchParams = new URLSearchParams(window.location.search) const url = new URL(window.location.href)
const hash = url.hash || '' // Get the current hash part
// Extract path and query from the hash
const [path, queryString] = hash.split('?')
const searchParams = new URLSearchParams(queryString || '')
const currentRetry = Number(searchParams.get(QUERY_PARAM_NAME)) || 0 const currentRetry = Number(searchParams.get(QUERY_PARAM_NAME)) || 0
if (currentRetry < MAX_RETRIES) { if (currentRetry < MAX_RETRIES) {
console.log('[nuxt]: Reloading due to chunk error') console.log('[nuxt]: Reloading due to chunk error')
searchParams.set(QUERY_PARAM_NAME, (currentRetry + 1).toString()) searchParams.set(QUERY_PARAM_NAME, (currentRetry + 1).toString())
// Changing the search also causes a refresh
window.location.search = searchParams.toString() // Rebuild the hash with updated query params
const newHash = `${path}?${searchParams.toString()}`
url.hash = newHash
window.location.replace(url.toString())
// sometimes replace will not causes a refresh so we have to reload page
window.location.reload()
} }
} }

Loading…
Cancel
Save