diff --git a/core/src/views/UpdaterAdmin.vue b/core/src/views/UpdaterAdmin.vue
index 9197707b0cebb..2c63f61f5bb9c 100644
--- a/core/src/views/UpdaterAdmin.vue
+++ b/core/src/views/UpdaterAdmin.vue
@@ -93,6 +93,20 @@ async function onStartUpdate() {
isUpdateRunning.value = true
const eventSource = new OCEventSource(generateFilePath('core', '', 'ajax/update.php'))
+
+ // Disable auto-reconnect -- update.php is non-idempotent
+ eventSource.source.onerror = function() {
+ eventSource.source.close()
+ if (!isUpdateDone.value) {
+ messages.value.push({
+ message: t('core', 'Update connection lost. The update may still be running. Please reload this page to check the current status.'),
+ type: 'warning',
+ })
+ isUpdateRunning.value = false
+ isUpdateDone.value = true
+ }
+ }
+
eventSource.listen('success', (message) => {
messages.value.push({ message, type: 'success' })
})
diff --git a/dist/5910-5910.js b/dist/5910-5910.js
new file mode 100644
index 0000000000000..b1aea6763e53a
--- /dev/null
+++ b/dist/5910-5910.js
@@ -0,0 +1,2 @@
+"use strict";(globalThis.webpackChunknextcloud_ui_legacy=globalThis.webpackChunknextcloud_ui_legacy||[]).push([[5910,7471],{77743(t,e,n){n.d(e,{A:()=>i});var s=n(71354),a=n.n(s),r=n(76314),o=n.n(r)()(a());o.push([t.id,"\n._updater__appsList_Yz6nW {\n\tlist-style-type: disc;\n\tmargin-inline-start: var(--default-clickable-area);\n}\n._updater__updateButton_Mwnuk {\n\tmargin-inline: auto;\n\tmargin-block: 1rem;\n}\n._updater__messageList_qo5F5 {\n\tmax-height: 50vh;\n\toverflow: visible scroll;\n\tpadding-inline-start: var(--default-grid-baseline);\n}\n._updater__message_ySGY4 {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: start;\n\tgap: var(--default-grid-baseline);\n}\n._updater__messageText_woqJ3 {\n\ttext-align: start;\n}\n._updater__messageIcon_success_DY21y {\n\tcolor: var(--color-element-success);\n}\n._updater__messageIcon_info_Rx8RF {\n\tcolor: var(--color-element-info);\n}\n._updater__messageIcon_error_Pu5Pl {\n\tcolor: var(--color-element-error);\n}\n._updater__messageIcon_warning_t7k_k {\n\tcolor: var(--color-element-warning);\n}\n._updater__transition_active_VFUFS {\n\ttransition: all var(--animation-slow);\n}\n._updater__transition_collapsed_N3hdT {\n\topacity: 0;\n\tmax-height: 0px;\n}\n","",{version:3,sources:["webpack://./core/src/views/UpdaterAdmin.vue"],names:[],mappings:";AAuRA;CACA,qBAAA;CACA,kDAAA;AACA;AAEA;CACA,mBAAA;CACA,kBAAA;AACA;AAEA;CACA,gBAAA;CACA,wBAAA;CACA,kDAAA;AACA;AAEA;CACA,aAAA;CACA,mBAAA;CACA,sBAAA;CACA,iCAAA;AACA;AAEA;CACA,iBAAA;AACA;AAEA;CACA,mCAAA;AACA;AAEA;CACA,gCAAA;AACA;AAEA;CACA,iCAAA;AACA;AAEA;CACA,mCAAA;AACA;AAEA;CACA,qCAAA;AACA;AAEA;CACA,UAAA;CACA,eAAA;AACA",sourcesContent:["\x3c!--\n - SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\\n\\n\\n\\t\\n\\t\\t\\n\\t\\t\\t{{ updateInfo.isAppsOnlyUpgrade\\n\\t\\t\\t\\t? t('core', 'App update required')\\n\\t\\t\\t\\t: t('core', '{productName} will be updated to version {version}', { productName: updateInfo.productName, version: updateInfo.version }) }}\\n\\t\\t
\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'The theme {oldTheme} has been disabled.', { oldTheme: updateInfo.oldTheme }) }}\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'These incompatible apps will be disabled:') }}\\n\\t\\t\\t\\n\\t\\t\\t\\t- \\n\\t\\t\\t\\t\\t{{ app.name }} ({{ app.id }})\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'These apps will be updated:') }}\\n\\t\\t\\t\\n\\t\\t\\t\\t- \\n\\t\\t\\t\\t\\t{{ t('core', '{app} from {oldVersion} to {version}', { app: `${app.name} (${app.id})`, oldVersion: app.oldVersion, version: app.version }) }}\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'Please make sure that the database, the config folder and the data folder have been backed up before proceeding.') }}\\n\\t\\t\\t
\\n\\t\\t\\t{{ t('core', 'To avoid timeouts with larger installations, you can instead run the following command from your installation directory:') }}\\n\\t\\t\\t
./occ upgrade
\\n\\t\\t
\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'Start update') }}\\n\\t\\t\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'Continue to {productName}', { productName: updateInfo.productName }) }}\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\t
{{ t('core', 'Update to {version}', { version: updateInfo.version }) }}
\\n\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ statusMessage }}
\\n\\t\\t\\t\\t{{ redirectMessage }}\\n\\t\\t\\t
\\n\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t{{ isShowingDetails ? t('core', 'Hide details') : t('core', 'Show details') }}\\n\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t- \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t{{ message }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"updater__appsList\": `_updater__appsList_Yz6nW`,\n\t\"updater__updateButton\": `_updater__updateButton_Mwnuk`,\n\t\"updater__messageList\": `_updater__messageList_qo5F5`,\n\t\"updater__message\": `_updater__message_ySGY4`,\n\t\"updater__messageText\": `_updater__messageText_woqJ3`,\n\t\"updater__messageIcon_success\": `_updater__messageIcon_success_DY21y`,\n\t\"updater__messageIcon_info\": `_updater__messageIcon_info_Rx8RF`,\n\t\"updater__messageIcon_error\": `_updater__messageIcon_error_Pu5Pl`,\n\t\"updater__messageIcon_warning\": `_updater__messageIcon_warning_t7k_k`,\n\t\"updater__transition_active\": `_updater__transition_active_VFUFS`,\n\t\"updater__transition_collapsed\": `_updater__transition_collapsed_N3hdT`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcGuestContent,[_c('h2',[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.updateInfo.isAppsOnlyUpgrade\n\t\t\t? _setup.t('core', 'App update required')\n\t\t\t: _setup.t('core', '{productName} will be updated to version {version}', { productName: _setup.updateInfo.productName, version: _setup.updateInfo.version }))+\"\\n\\t\")]),_vm._v(\" \"),(!!_setup.updateInfo.oldTheme)?_c(_setup.NcNoteCard,{attrs:{\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'The theme {oldTheme} has been disabled.', { oldTheme: _setup.updateInfo.oldTheme }))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_setup.updateInfo.incompatibleAppsList.length)?_c(_setup.NcNoteCard,{attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'These incompatible apps will be disabled:'))+\"\\n\\t\\t\"),_c('ul',{class:_vm.$style.updater__appsList,attrs:{\"aria-label\":_setup.t('core', 'Incompatible apps')}},_vm._l((_setup.updateInfo.incompatibleAppsList),function(app){return _c('li',{key:'app-disable-' + app.id},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(app.name)+\" (\"+_vm._s(app.id)+\")\\n\\t\\t\\t\")])}),0)]):_vm._e(),_vm._v(\" \"),(_setup.updateInfo.incompatibleAppsList.length)?_c(_setup.NcNoteCard,{attrs:{\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'These apps will be updated:'))+\"\\n\\t\\t\"),_c('ul',{class:_vm.$style.updater__appsList,attrs:{\"aria-label\":_setup.t('core', 'Apps to update')}},_vm._l((_setup.updateInfo.appsToUpgrade),function(app){return _c('li',{key:'app-update-' + app.id},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.t('core', '{app} from {oldVersion} to {version}', { app: `${app.name} (${app.id})`, oldVersion: app.oldVersion, version: app.version }))+\"\\n\\t\\t\\t\")])}),0)]):_vm._e(),_vm._v(\" \"),_c('p',[_c('strong',[_vm._v(_vm._s(_setup.t('core', 'Please make sure that the database, the config folder and the data folder have been backed up before proceeding.')))]),_vm._v(\" \"),_c('br'),_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'To avoid timeouts with larger installations, you can instead run the following command from your installation directory:'))+\"\\n\\t\\t\"),_c('pre',[_vm._v(\"./occ upgrade\")])]),_vm._v(\" \"),(!_setup.isUpdateRunning && !_setup.isUpdateDone)?_c(_setup.NcButton,{class:_vm.$style.updater__updateButton,attrs:{\"variant\":\"primary\"},on:{\"click\":_setup.onStartUpdate}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'Start update'))+\"\\n\\t\")]):_c(_setup.NcButton,{class:_vm.$style.updater__updateButton,attrs:{\"disabled\":_setup.isUpdateRunning,\"variant\":\"primary\"},on:{\"click\":_setup.reloadPage}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'Continue to {productName}', { productName: _setup.updateInfo.productName }))+\"\\n\\t\")]),_vm._v(\" \"),(_setup.isUpdateRunning || _setup.isUpdateDone)?_c('div',[_c('h2',[_vm._v(_vm._s(_setup.t('core', 'Update to {version}', { version: _setup.updateInfo.version })))]),_vm._v(\" \"),(_setup.isUpdateRunning)?_c(_setup.NcLoadingIcon):_c(_setup.NcIconSvgWrapper,{class:{\n\t\t\t\t[_vm.$style.updater__messageIcon_success]: _setup.wasSuccessfull,\n\t\t\t\t[_vm.$style.updater__messageIcon_error]: _setup.hasErrors && !_setup.wasSuccessfull,\n\t\t\t\t[_vm.$style.updater__messageIcon_warning]: !_setup.hasErrors && !_setup.wasSuccessfull,\n\t\t\t},attrs:{\"path\":_setup.resultIcon}}),_vm._v(\" \"),_c('div',{attrs:{\"aria-live\":\"polite\"}},[_c('em',[_vm._v(_vm._s(_setup.statusMessage))]),_c('br'),_vm._v(\" \"),(_setup.redirectMessage)?_c('span',[_vm._v(_vm._s(_setup.redirectMessage))]):_vm._e()]),_vm._v(\" \"),_c(_setup.NcButton,{attrs:{\"aria-controlls\":\"core-update-details\",\"aria-expanded\":_setup.isShowingDetails,\"variant\":\"tertiary\"},on:{\"click\":function($event){_setup.isShowingDetails = !_setup.isShowingDetails}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.isShowingDetails ? _setup.mdiChevronUp : _setup.mdiChevronDown}})]},proxy:true}],null,false,793381276)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_setup.isShowingDetails ? _setup.t('core', 'Hide details') : _setup.t('core', 'Show details'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('Transition',{attrs:{\"enter-active-class\":_vm.$style.updater__transition_active,\"leave-active-class\":_vm.$style.updater__transition_active,\"leave-to-class\":_vm.$style.updater__transition_collapsed,\"enter-class\":_vm.$style.updater__transition_collapsed}},[_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.isShowingDetails),expression:\"isShowingDetails\"}],class:_vm.$style.updater__messageList,attrs:{\"id\":\"core-update-details\",\"aria-label\":_setup.t('core', 'Update details')}},_vm._l((_setup.messages),function({ message, type }){return _c('li',{key:message,class:_vm.$style.updater__message},[_c(_setup.NcIconSvgWrapper,{class:{\n\t\t\t\t\t\t\t[_vm.$style.updater__messageIcon_error]: type === 'error' || type === 'failure',\n\t\t\t\t\t\t\t[_vm.$style.updater__messageIcon_info]: type === 'notice',\n\t\t\t\t\t\t\t[_vm.$style.updater__messageIcon_success]: type === 'success',\n\t\t\t\t\t\t\t[_vm.$style.updater__messageIcon_warning]: type === 'warning',\n\t\t\t\t\t\t},attrs:{\"path\":_setup.getSeverityIcon(type)}}),_vm._v(\" \"),_c('span',{class:_vm.$style.updater__messageText},[_vm._v(_vm._s(message))])],1)}),0)])],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2015 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getRequestToken } from './requesttoken.ts'\n\n/**\n * Create a new event source\n *\n * @param {string} src\n * @param {object} [data] to be send as GET\n *\n * @constructs OCEventSource\n */\nfunction OCEventSource(src, data) {\n\tlet dataStr = ''\n\tlet name\n\tlet joinChar\n\tthis.typelessListeners = []\n\tthis.closed = false\n\tthis.listeners = {}\n\tif (data) {\n\t\tfor (name in data) {\n\t\t\tdataStr += name + '=' + encodeURIComponent(data[name]) + '&'\n\t\t}\n\t}\n\tdataStr += 'requesttoken=' + encodeURIComponent(getRequestToken())\n\tif (!this.useFallBack && typeof EventSource !== 'undefined') {\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tthis.source = new EventSource(src + joinChar + dataStr)\n\t\tthis.source.onmessage = function(e) {\n\t\t\tfor (let i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](JSON.parse(e.data))\n\t\t\t}\n\t\t}.bind(this)\n\t} else {\n\t\tconst iframeId = 'oc_eventsource_iframe_' + OCEventSource.iframeCount\n\t\tOCEventSource.fallBackSources[OCEventSource.iframeCount] = this\n\t\tconst iframe = document.createElement('iframe')\n\t\tiframe.id = iframeId\n\t\tiframe.style.display = 'none'\n\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tiframe.src = src + joinChar + 'fallback=true&fallback_id=' + OCEventSource.iframeCount + '&' + dataStr\n\n\t\tthis.iframe = iframe\n\t\tdocument.body.appendChild(this.iframe)\n\t\tthis.useFallBack = true\n\t\tOCEventSource.iframeCount++\n\t}\n\t// add close listener\n\tthis.listen('__internal__', function(data) {\n\t\tif (data === 'close') {\n\t\t\tthis.close()\n\t\t}\n\t}.bind(this))\n}\nOCEventSource.fallBackSources = []\nOCEventSource.iframeCount = 0// number of fallback iframes\nOCEventSource.fallBackCallBack = function(id, type, data) {\n\tOCEventSource.fallBackSources[id].fallBackCallBack(type, data)\n}\nOCEventSource.prototype = {\n\ttypelessListeners: [],\n\tiframe: null,\n\tlisteners: {}, // only for fallback\n\tuseFallBack: false,\n\t/**\n\t * Fallback callback for browsers that don't have the\n\t * native EventSource object.\n\t *\n\t * Calls the registered listeners.\n\t *\n\t * @private\n\t * @param {string} type event type\n\t * @param {object} data received data\n\t */\n\tfallBackCallBack: function(type, data) {\n\t\tlet i\n\t\t// ignore messages that might appear after closing\n\t\tif (this.closed) {\n\t\t\treturn\n\t\t}\n\t\tif (type) {\n\t\t\tif (typeof this.listeners.done !== 'undefined') {\n\t\t\t\tfor (i = 0; i < this.listeners[type].length; i++) {\n\t\t\t\t\tthis.listeners[type][i](data)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](data)\n\t\t\t}\n\t\t}\n\t},\n\tlastLength: 0, // for fallback\n\t/**\n\t * Listen to a given type of events.\n\t *\n\t * @param {string} type event type\n\t * @param {Function} callback event callback\n\t */\n\tlisten: function(type, callback) {\n\t\tif (callback && callback.call) {\n\t\t\tif (type) {\n\t\t\t\tif (this.useFallBack) {\n\t\t\t\t\tif (!this.listeners[type]) {\n\t\t\t\t\t\tthis.listeners[type] = []\n\t\t\t\t\t}\n\t\t\t\t\tthis.listeners[type].push(callback)\n\t\t\t\t} else {\n\t\t\t\t\tthis.source.addEventListener(type, function(e) {\n\t\t\t\t\t\tif (typeof e.data !== 'undefined') {\n\t\t\t\t\t\t\tcallback(JSON.parse(e.data))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcallback('')\n\t\t\t\t\t\t}\n\t\t\t\t\t}, false)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.typelessListeners.push(callback)\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Closes this event source.\n\t */\n\tclose: function() {\n\t\tthis.closed = true\n\t\tif (typeof this.source !== 'undefined') {\n\t\t\tthis.source.close()\n\t\t}\n\t},\n}\n\nexport default OCEventSource\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\n/**\n * Get the current CSRF token.\n */\nexport function getRequestToken() {\n return document.head.dataset.requesttoken;\n}\n/**\n * Set a new CSRF token (e.g. because of session refresh).\n * This also emits an event bus event for the updated token.\n *\n * @param token - The new token\n * @fires Error - If the passed token is not a potential valid token\n */\nexport function setRequestToken(token) {\n if (!token || typeof token !== 'string') {\n throw new Error('Invalid CSRF token given', { cause: { token } });\n }\n document.head.dataset.requesttoken = token;\n emit('csrf-token-update', { token });\n}\n/**\n * Fetch the request token from the API.\n * This does also set it on the current context, see `setRequestToken`.\n *\n * @fires Error - If the request failed\n */\nexport async function fetchRequestToken() {\n const url = generateUrl('/csrftoken');\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error('Could not fetch CSRF token from API', { cause: response });\n }\n const { token } = await response.json();\n setRequestToken(token);\n return token;\n}\n","import { N as NcActionButton } from \"./chunks/NcActionButton-1gSJfFUC.mjs\";\nimport { N as NcActionButtonGroup } from \"./chunks/NcActionButtonGroup-eZxqibUd.mjs\";\nimport NcActionCaption from \"./Components/NcActionCaption.mjs\";\nimport { N as NcActionCheckbox } from \"./chunks/NcActionCheckbox-23CmleUh.mjs\";\nimport { N as NcActionInput } from \"./chunks/NcActionInput-UPwE2Dky.mjs\";\nimport NcActionLink from \"./Components/NcActionLink.mjs\";\nimport { N as NcActionRadio } from \"./chunks/NcActionRadio-Dd3CsuiD.mjs\";\nimport NcActionRouter from \"./Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./chunks/NcActions-BcLis_nr.mjs\";\nimport NcActionSeparator from \"./Components/NcActionSeparator.mjs\";\nimport NcActionText from \"./Components/NcActionText.mjs\";\nimport { N as NcActionTextEditable } from \"./chunks/NcActionTextEditable-CIsAP-pp.mjs\";\nimport { N as NcAppContent } from \"./chunks/NcAppContent-CeVqX0gV.mjs\";\nimport NcAppContentDetails from \"./Components/NcAppContentDetails.mjs\";\nimport NcAppContentList from \"./Components/NcAppContentList.mjs\";\nimport { N as NcAppNavigation } from \"./chunks/NcAppNavigation-BfzJA6cb.mjs\";\nimport { N as NcAppNavigationCaption } from \"./chunks/NcAppNavigationCaption-3YHrxAYS.mjs\";\nimport NcAppNavigationIconBullet from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport { N as NcAppNavigationItem } from \"./chunks/NcAppNavigationItem-D30ztZfZ.mjs\";\nimport NcAppNavigationList from \"./Components/NcAppNavigationList.mjs\";\nimport { N as NcAppNavigationNew } from \"./chunks/NcAppNavigationNew-Ce_TheyK.mjs\";\nimport { N as NcAppNavigationNewItem } from \"./chunks/NcAppNavigationNewItem-BskLwwWH.mjs\";\nimport { N as NcAppNavigationSearch } from \"./chunks/NcAppNavigationSearch-CkcBGG0H.mjs\";\nimport { N as NcAppNavigationSettings } from \"./chunks/NcAppNavigationSettings-BjyBA5Mj.mjs\";\nimport NcAppNavigationSpacer from \"./Components/NcAppNavigationSpacer.mjs\";\nimport { N as NcAppSettingsDialog } from \"./chunks/NcAppSettingsDialog-vBeCGFqk.mjs\";\nimport { N as NcAppSettingsSection } from \"./chunks/NcAppSettingsSection-BjQllLEA.mjs\";\nimport { N as NcAppSettingsShortcutsSection } from \"./chunks/NcAppSettingsShortcutsSection-DblUBaWP.mjs\";\nimport { N as NcAppSidebar } from \"./chunks/NcAppSidebar-Cx0PlofZ.mjs\";\nimport { N as NcAppSidebarHeader } from \"./chunks/NcAppSidebarHeader-CBE4tNYb.mjs\";\nimport NcAppSidebarTab from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as NcAssistantButton } from \"./chunks/NcAssistantButton-D1Miejvu.mjs\";\nimport NcAssistantContent from \"./Components/NcAssistantContent.mjs\";\nimport { N as NcAssistantIcon } from \"./chunks/NcAssistantIcon-DCx6AaSW.mjs\";\nimport { N as NcAvatar } from \"./chunks/NcAvatar-DC2fiCH-.mjs\";\nimport { u } from \"./chunks/NcAvatar-DC2fiCH-.mjs\";\nimport { N as NcBlurHash } from \"./chunks/NcBlurHash-KSj0HXbX.mjs\";\nimport { N as NcBreadcrumb } from \"./chunks/NcBreadcrumb-VwnF27KB.mjs\";\nimport { N as NcBreadcrumbs } from \"./chunks/NcBreadcrumbs-CpXJ-OQ1.mjs\";\nimport { N as NcButton } from \"./chunks/NcButton-BaZAY-tN.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./chunks/NcCheckboxRadioSwitch-DJmw98x9.mjs\";\nimport { N as NcCollectionList } from \"./chunks/NcCollectionList-U0EoWgeN.mjs\";\nimport { N as NcColorPicker } from \"./chunks/NcColorPicker-BfApfazi.mjs\";\nimport { N as NcContent } from \"./chunks/NcContent-DFOsZ6pm.mjs\";\nimport { N as NcCounterBubble } from \"./chunks/NcCounterBubble-oxV8oMlX.mjs\";\nimport { N as NcDashboardWidget } from \"./chunks/NcDashboardWidget-Cp3DMHz7.mjs\";\nimport { N as NcDashboardWidgetItem } from \"./chunks/NcDashboardWidgetItem-BCjppWNJ.mjs\";\nimport { N as NcDateTime } from \"./chunks/NcDateTime-enXYuwj8.mjs\";\nimport NcDateTimePicker from \"./Components/NcDateTimePicker.mjs\";\nimport NcDateTimePickerNative from \"./Components/NcDateTimePickerNative.mjs\";\nimport { N as NcDialog } from \"./chunks/NcDialog-CDFWleNp.mjs\";\nimport { N as NcDialogButton } from \"./chunks/NcDialogButton-tB5RGMME.mjs\";\nimport NcEllipsisedOption from \"./Components/NcEllipsisedOption.mjs\";\nimport { N as NcEmojiPicker } from \"./chunks/NcEmojiPicker-Cw593Jp6.mjs\";\nimport NcEmptyContent from \"./Components/NcEmptyContent.mjs\";\nimport { N as NcFilePicker } from \"./chunks/NcFilePicker-CDHKrfPj.mjs\";\nimport { N as NcFormBox } from \"./chunks/NcFormBox-DtoCXLMx.mjs\";\nimport { N as NcFormBoxButton } from \"./chunks/NcFormBoxButton-BQi11xQX.mjs\";\nimport { N as NcFormBoxCopyButton } from \"./chunks/NcFormBoxCopyButton-BkunQ3me.mjs\";\nimport { N as NcFormBoxSwitch } from \"./chunks/NcFormBoxSwitch-E6sxPL4n.mjs\";\nimport { N as NcFormGroup } from \"./chunks/NcFormGroup-DblLoFMf.mjs\";\nimport NcGuestContent from \"./Components/NcGuestContent.mjs\";\nimport { N as NcHeaderButton } from \"./chunks/NcHeaderButton-BI15lyn_.mjs\";\nimport { N as NcHeaderMenu } from \"./chunks/NcHeaderMenu-B2gYavD4.mjs\";\nimport { N as NcHighlight } from \"./chunks/index-CxTT94_h.mjs\";\nimport { N as NcHotkey } from \"./chunks/NcHotkey-CLLtt9LG.mjs\";\nimport { N as NcHotkeyList } from \"./chunks/NcHotkeyList-Co7MBL5U.mjs\";\nimport { N as NcIconSvgWrapper } from \"./chunks/NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport { N as NcInputField } from \"./chunks/NcInputField-Cfm1bJR4.mjs\";\nimport { N as NcListItem } from \"./chunks/NcListItem-RKTfRg06.mjs\";\nimport { N as NcListItemIcon } from \"./chunks/NcListItemIcon-D49wESTI.mjs\";\nimport NcLoadingIcon from \"./Components/NcLoadingIcon.mjs\";\nimport NcModal from \"./Components/NcModal.mjs\";\nimport NcNoteCard from \"./Components/NcNoteCard.mjs\";\nimport { N as NcPasswordField } from \"./chunks/NcPasswordField-lE4m20vf.mjs\";\nimport { N as NcPopover } from \"./chunks/NcPopover-UAg26Qdd.mjs\";\nimport { N as NcProgressBar } from \"./chunks/NcProgressBar-D7zYeXBH.mjs\";\nimport { N as NcRadioGroup } from \"./chunks/NcRadioGroup-BbBX9X2J.mjs\";\nimport { N as NcRadioGroupButton } from \"./chunks/NcRadioGroupButton-BkxlxjIA.mjs\";\nimport { N as NcRelatedResourcesPanel } from \"./chunks/NcRelatedResourcesPanel-C2sLodV8.mjs\";\nimport { N as NcMentionBubble } from \"./chunks/index-TmAR7I2T.mjs\";\nimport { r } from \"./chunks/index-TmAR7I2T.mjs\";\nimport { N as NcAutoCompleteResult, a as NcRichContenteditable } from \"./chunks/NcRichContenteditable-SA1zbfkk.mjs\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport \"@nextcloud/sharing/public\";\nimport \"@vueuse/core\";\nimport \"vue\";\nimport \"vue-router\";\nimport { a, g, b, c, s, d } from \"./chunks/referencePickerModal-DD_GM6xV.mjs\";\nimport { N, h, c as c2, i, e, r as r2, f, a as a2 } from \"./chunks/customPickerElements-DLFtgReB.mjs\";\nimport \"unist-builder\";\nimport \"unist-util-visit\";\nimport \"./chunks/logger-D3RVzcfQ.mjs\";\nimport { N as NcRichText } from \"./chunks/NcRichText-rNfwY_Oc.mjs\";\nimport { N as NcSelect } from \"./chunks/NcSelect-CbWXsDdZ.mjs\";\nimport { N as NcTextField } from \"./chunks/NcTextField-DZHP0Dfw.mjs\";\nimport \"@nextcloud/event-bus\";\nimport { N as NcSavingIndicatorIcon } from \"./chunks/NcSavingIndicatorIcon-U7AIamCl.mjs\";\nimport { N as NcSelectTags } from \"./chunks/NcSelectTags-CqVn5iU9.mjs\";\nimport { N as NcSelectUsers } from \"./chunks/NcSelectUsers-DGnn4yBW.mjs\";\nimport { N as NcSettingsInputText } from \"./chunks/NcSettingsInputText-BwnkZzWL.mjs\";\nimport { N as NcSettingsSection } from \"./chunks/NcSettingsSection-Dz_b9rcq.mjs\";\nimport { N as NcSettingsSelectGroup } from \"./chunks/NcSettingsSelectGroup-BaSHNm1x.mjs\";\nimport { N as NcTextArea } from \"./chunks/NcTextArea-fGUiK7p2.mjs\";\nimport { N as NcThemeProvider } from \"./chunks/NcThemeProvider-BA_zMjAf.mjs\";\nimport { N as NcTimezonePicker } from \"./chunks/NcTimezonePicker-w7XtRhLb.mjs\";\nimport { N as NcUserBubble } from \"./chunks/NcUserBubble-CIOqCO9S.mjs\";\nimport { N as NcUserStatusIcon } from \"./chunks/NcUserStatusIcon-Cq1RnTfF.mjs\";\nimport NcVNodes from \"./Components/NcVNodes.mjs\";\nimport { useFormatDateTime, useFormatRelativeTime, useFormatTime } from \"./Composables/useFormatDateTime.mjs\";\nimport { useHotKey } from \"./Composables/useHotKey.mjs\";\nimport { useIsDarkTheme, useIsDarkThemeElement } from \"./Composables/useIsDarkTheme.mjs\";\nimport { isFullscreenState, useIsFullscreen } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT, MOBILE_SMALL_BREAKPOINT, isMobileState, useIsMobile, useIsSmallMobile } from \"./Composables/useIsMobile.mjs\";\nimport { isA11yActivation } from \"./Functions/a11y.mjs\";\nimport { getEnabledContactsMenuActions, registerContactsMenuAction } from \"./Functions/contactsMenu.mjs\";\nimport { spawnDialog } from \"./Functions/dialog.mjs\";\nimport { E, a as a3, e as e2, g as g2, s as s2 } from \"./chunks/emoji-BgZdRy3v.mjs\";\nimport { checkIfDarkTheme, isDarkTheme } from \"./Functions/isDarkTheme.mjs\";\nimport { preloadImage } from \"./Functions/preloadImage.mjs\";\nimport { usernameToColor } from \"./Functions/usernameToColor.mjs\";\nimport directive from \"./Directives/Focus.mjs\";\nimport directive$1 from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as default2 } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as default3 } from \"./Mixins/isFullscreen.mjs\";\nimport { default as default4 } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { VTooltip as VTooltip2 } from \"floating-vue\";\nconst NcComponents = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsSectionShortcuts: NcAppSettingsShortcutsSection,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFilePicker,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NcDirectives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: directive,\n Linkify: directive$1,\n Tooltip: VTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NextcloudVuePlugin = {\n install(Vue) {\n Object.entries(NcComponents).forEach(([name, component]) => {\n Vue.component(component.name || name, component);\n });\n Object.entries(NcDirectives).forEach(([name, directive2]) => {\n Vue.directive(name, directive2);\n });\n }\n};\nexport {\n E as EmojiSkinTone,\n directive as Focus,\n directive$1 as Linkify,\n MOBILE_BREAKPOINT,\n MOBILE_SMALL_BREAKPOINT,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsShortcutsSection as NcAppSettingsSectionShortcuts,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n N as NcCustomPickerRenderResult,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFilePicker,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes,\n NextcloudVuePlugin,\n VTooltip2 as Tooltip,\n a as anyLinkProviderId,\n checkIfDarkTheme,\n default2 as clickOutsideOptions,\n a3 as emojiAddRecent,\n e2 as emojiSearch,\n g2 as getCurrentSkinTone,\n getEnabledContactsMenuActions,\n g as getLinkWithPicker,\n b as getProvider,\n c as getProviders,\n h as hasInteractiveView,\n isA11yActivation,\n c2 as isCustomPickerElementRegistered,\n isDarkTheme,\n default3 as isFullscreen,\n isFullscreenState,\n default4 as isMobile,\n isMobileState,\n i as isWidgetRegistered,\n preloadImage,\n registerContactsMenuAction,\n e as registerCustomPickerElement,\n r2 as registerWidget,\n f as renderCustomPickerElement,\n a2 as renderWidget,\n r as richEditor,\n s as searchProvider,\n s2 as setCurrentSkinTone,\n d as sortProviders,\n spawnDialog,\n useFormatDateTime,\n useFormatRelativeTime,\n useFormatTime,\n useHotKey,\n useIsDarkTheme,\n useIsDarkThemeElement,\n useIsFullscreen,\n useIsMobile,\n useIsSmallMobile,\n u as userStatus,\n usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdaterAdmin.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdaterAdmin.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdaterAdmin.vue?vue&type=style&index=0&id=5dc8b1b4&prod&module=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdaterAdmin.vue?vue&type=style&index=0&id=5dc8b1b4&prod&module=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UpdaterAdmin.vue?vue&type=template&id=5dc8b1b4\"\nimport script from \"./UpdaterAdmin.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UpdaterAdmin.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./UpdaterAdmin.vue?vue&type=style&index=0&id=5dc8b1b4&prod&module=true&lang=css\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","OCEventSource","src","data","name","joinChar","dataStr","this","typelessListeners","closed","listeners","encodeURIComponent","document","head","dataset","requesttoken","useFallBack","EventSource","iframeId","iframeCount","fallBackSources","iframe","createElement","style","display","indexOf","body","appendChild","source","onmessage","e","i","length","JSON","parse","bind","listen","close","N","Symbol","toStringTag","fallBackCallBack","type","prototype","done","lastLength","callback","call","addEventListener","_defineComponent","__name","setup","__props","updateInfo","loadState","isShowingDetails","ref","isUpdateRunning","isUpdateDone","messages","wasSuccessfull","computed","value","every","msg","hasErrors","some","resultIcon","mdiCheckCircleOutline","mdiCloseCircleOutline","mdiAlertCircleOutline","statusMessage","t","at","message","redirectCountdown","redirectMessage","productName","count","updateCountdown","window","setTimeout","reloadPage","onUnload","event","preventDefault","returnValue","location","reload","onMounted","onUnmounted","removeEventListener","__sfc","getSeverityIcon","mdiInformationOutline","onStartUpdate","eventSource","generateFilePath","onerror","mdiChevronDown","mdiChevronUp","NcButton","NcIconSvgWrapper","NcLoadingIcon","NcGuestContent","NcNoteCard","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","_vm","_c","_self","_setup","_setupProxy","_v","_s","isAppsOnlyUpgrade","version","oldTheme","attrs","_e","incompatibleAppsList","class","$style","updater__appsList","_l","app","key","appsToUpgrade","oldVersion","updater__updateButton","on","updater__messageIcon_success","updater__messageIcon_error","updater__messageIcon_warning","$event","scopedSlots","_u","fn","proxy","updater__transition_active","updater__transition_collapsed","directives","rawName","expression","updater__messageList","updater__message","updater__messageIcon_info","updater__messageText","context"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/5910-5910.js.map.license b/dist/5910-5910.js.map.license
new file mode 120000
index 0000000000000..8207c7cd42136
--- /dev/null
+++ b/dist/5910-5910.js.map.license
@@ -0,0 +1 @@
+5910-5910.js.license
\ No newline at end of file
diff --git a/dist/9396-9396.js b/dist/9396-9396.js
deleted file mode 100644
index a050cbadb17cd..0000000000000
--- a/dist/9396-9396.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(globalThis.webpackChunknextcloud_ui_legacy=globalThis.webpackChunknextcloud_ui_legacy||[]).push([[7471,9396],{23040(t,e,n){n.d(e,{A:()=>i});var s=n(71354),a=n.n(s),r=n(76314),o=n.n(r)()(a());o.push([t.id,"\n._updater__appsList_Yz6nW {\n\tlist-style-type: disc;\n\tmargin-inline-start: var(--default-clickable-area);\n}\n._updater__updateButton_Mwnuk {\n\tmargin-inline: auto;\n\tmargin-block: 1rem;\n}\n._updater__messageList_qo5F5 {\n\tmax-height: 50vh;\n\toverflow: visible scroll;\n\tpadding-inline-start: var(--default-grid-baseline);\n}\n._updater__message_ySGY4 {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: start;\n\tgap: var(--default-grid-baseline);\n}\n._updater__messageText_woqJ3 {\n\ttext-align: start;\n}\n._updater__messageIcon_success_DY21y {\n\tcolor: var(--color-element-success);\n}\n._updater__messageIcon_info_Rx8RF {\n\tcolor: var(--color-element-info);\n}\n._updater__messageIcon_error_Pu5Pl {\n\tcolor: var(--color-element-error);\n}\n._updater__messageIcon_warning_t7k_k {\n\tcolor: var(--color-element-warning);\n}\n._updater__transition_active_VFUFS {\n\ttransition: all var(--animation-slow);\n}\n._updater__transition_collapsed_N3hdT {\n\topacity: 0;\n\tmax-height: 0px;\n}\n","",{version:3,sources:["webpack://./core/src/views/UpdaterAdmin.vue"],names:[],mappings:";AAyQA;CACA,qBAAA;CACA,kDAAA;AACA;AAEA;CACA,mBAAA;CACA,kBAAA;AACA;AAEA;CACA,gBAAA;CACA,wBAAA;CACA,kDAAA;AACA;AAEA;CACA,aAAA;CACA,mBAAA;CACA,sBAAA;CACA,iCAAA;AACA;AAEA;CACA,iBAAA;AACA;AAEA;CACA,mCAAA;AACA;AAEA;CACA,gCAAA;AACA;AAEA;CACA,iCAAA;AACA;AAEA;CACA,mCAAA;AACA;AAEA;CACA,qCAAA;AACA;AAEA;CACA,UAAA;CACA,eAAA;AACA",sourcesContent:["\x3c!--\n - SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\\n\\n\\n\\t\\n\\t\\t\\n\\t\\t\\t{{ updateInfo.isAppsOnlyUpgrade\\n\\t\\t\\t\\t? t('core', 'App update required')\\n\\t\\t\\t\\t: t('core', '{productName} will be updated to version {version}', { productName: updateInfo.productName, version: updateInfo.version }) }}\\n\\t\\t
\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'The theme {oldTheme} has been disabled.', { oldTheme: updateInfo.oldTheme }) }}\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'These incompatible apps will be disabled:') }}\\n\\t\\t\\t\\n\\t\\t\\t\\t- \\n\\t\\t\\t\\t\\t{{ app.name }} ({{ app.id }})\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'These apps will be updated:') }}\\n\\t\\t\\t\\n\\t\\t\\t\\t- \\n\\t\\t\\t\\t\\t{{ t('core', '{app} from {oldVersion} to {version}', { app: `${app.name} (${app.id})`, oldVersion: app.oldVersion, version: app.version }) }}\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'Please make sure that the database, the config folder and the data folder have been backed up before proceeding.') }}\\n\\t\\t\\t
\\n\\t\\t\\t{{ t('core', 'To avoid timeouts with larger installations, you can instead run the following command from your installation directory:') }}\\n\\t\\t\\t
./occ upgrade
\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'Start update') }}\\n\\t\\t\\n\\t\\t\\n\\t\\t\\t{{ t('core', 'Continue to {productName}', { productName: updateInfo.productName }) }}\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\t
{{ t('core', 'Update to {version}', { version: updateInfo.version }) }}
\\n\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ statusMessage }}
\\n\\t\\t\\t\\t{{ redirectMessage }}\\n\\t\\t\\t
\\n\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t{{ isShowingDetails ? t('core', 'Hide details') : t('core', 'Show details') }}\\n\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t- \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t{{ message }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"updater__appsList\": `_updater__appsList_Yz6nW`,\n\t\"updater__updateButton\": `_updater__updateButton_Mwnuk`,\n\t\"updater__messageList\": `_updater__messageList_qo5F5`,\n\t\"updater__message\": `_updater__message_ySGY4`,\n\t\"updater__messageText\": `_updater__messageText_woqJ3`,\n\t\"updater__messageIcon_success\": `_updater__messageIcon_success_DY21y`,\n\t\"updater__messageIcon_info\": `_updater__messageIcon_info_Rx8RF`,\n\t\"updater__messageIcon_error\": `_updater__messageIcon_error_Pu5Pl`,\n\t\"updater__messageIcon_warning\": `_updater__messageIcon_warning_t7k_k`,\n\t\"updater__transition_active\": `_updater__transition_active_VFUFS`,\n\t\"updater__transition_collapsed\": `_updater__transition_collapsed_N3hdT`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcGuestContent,[_c('h2',[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.updateInfo.isAppsOnlyUpgrade\n\t\t\t? _setup.t('core', 'App update required')\n\t\t\t: _setup.t('core', '{productName} will be updated to version {version}', { productName: _setup.updateInfo.productName, version: _setup.updateInfo.version }))+\"\\n\\t\")]),_vm._v(\" \"),(!!_setup.updateInfo.oldTheme)?_c(_setup.NcNoteCard,{attrs:{\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'The theme {oldTheme} has been disabled.', { oldTheme: _setup.updateInfo.oldTheme }))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_setup.updateInfo.incompatibleAppsList.length)?_c(_setup.NcNoteCard,{attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'These incompatible apps will be disabled:'))+\"\\n\\t\\t\"),_c('ul',{class:_vm.$style.updater__appsList,attrs:{\"aria-label\":_setup.t('core', 'Incompatible apps')}},_vm._l((_setup.updateInfo.incompatibleAppsList),function(app){return _c('li',{key:'app-disable-' + app.id},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(app.name)+\" (\"+_vm._s(app.id)+\")\\n\\t\\t\\t\")])}),0)]):_vm._e(),_vm._v(\" \"),(_setup.updateInfo.incompatibleAppsList.length)?_c(_setup.NcNoteCard,{attrs:{\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'These apps will be updated:'))+\"\\n\\t\\t\"),_c('ul',{class:_vm.$style.updater__appsList,attrs:{\"aria-label\":_setup.t('core', 'Apps to update')}},_vm._l((_setup.updateInfo.appsToUpgrade),function(app){return _c('li',{key:'app-update-' + app.id},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.t('core', '{app} from {oldVersion} to {version}', { app: `${app.name} (${app.id})`, oldVersion: app.oldVersion, version: app.version }))+\"\\n\\t\\t\\t\")])}),0)]):_vm._e(),_vm._v(\" \"),_c('p',[_c('strong',[_vm._v(_vm._s(_setup.t('core', 'Please make sure that the database, the config folder and the data folder have been backed up before proceeding.')))]),_vm._v(\" \"),_c('br'),_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'To avoid timeouts with larger installations, you can instead run the following command from your installation directory:'))+\"\\n\\t\\t\"),_c('pre',[_vm._v(\"./occ upgrade\")])]),_vm._v(\" \"),(!_setup.isUpdateRunning && !_setup.isUpdateDone)?_c(_setup.NcButton,{class:_vm.$style.updater__updateButton,attrs:{\"variant\":\"primary\"},on:{\"click\":_setup.onStartUpdate}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'Start update'))+\"\\n\\t\")]):_c(_setup.NcButton,{class:_vm.$style.updater__updateButton,attrs:{\"disabled\":_setup.isUpdateRunning,\"variant\":\"primary\"},on:{\"click\":_setup.reloadPage}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('core', 'Continue to {productName}', { productName: _setup.updateInfo.productName }))+\"\\n\\t\")]),_vm._v(\" \"),(_setup.isUpdateRunning || _setup.isUpdateDone)?_c('div',[_c('h2',[_vm._v(_vm._s(_setup.t('core', 'Update to {version}', { version: _setup.updateInfo.version })))]),_vm._v(\" \"),(_setup.isUpdateRunning)?_c(_setup.NcLoadingIcon):_c(_setup.NcIconSvgWrapper,{class:{\n\t\t\t\t[_vm.$style.updater__messageIcon_success]: _setup.wasSuccessfull,\n\t\t\t\t[_vm.$style.updater__messageIcon_error]: _setup.hasErrors && !_setup.wasSuccessfull,\n\t\t\t\t[_vm.$style.updater__messageIcon_warning]: !_setup.hasErrors && !_setup.wasSuccessfull,\n\t\t\t},attrs:{\"path\":_setup.resultIcon}}),_vm._v(\" \"),_c('div',{attrs:{\"aria-live\":\"polite\"}},[_c('em',[_vm._v(_vm._s(_setup.statusMessage))]),_c('br'),_vm._v(\" \"),(_setup.redirectMessage)?_c('span',[_vm._v(_vm._s(_setup.redirectMessage))]):_vm._e()]),_vm._v(\" \"),_c(_setup.NcButton,{attrs:{\"aria-controlls\":\"core-update-details\",\"aria-expanded\":_setup.isShowingDetails,\"variant\":\"tertiary\"},on:{\"click\":function($event){_setup.isShowingDetails = !_setup.isShowingDetails}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.isShowingDetails ? _setup.mdiChevronUp : _setup.mdiChevronDown}})]},proxy:true}],null,false,793381276)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_setup.isShowingDetails ? _setup.t('core', 'Hide details') : _setup.t('core', 'Show details'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('Transition',{attrs:{\"enter-active-class\":_vm.$style.updater__transition_active,\"leave-active-class\":_vm.$style.updater__transition_active,\"leave-to-class\":_vm.$style.updater__transition_collapsed,\"enter-class\":_vm.$style.updater__transition_collapsed}},[_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.isShowingDetails),expression:\"isShowingDetails\"}],class:_vm.$style.updater__messageList,attrs:{\"id\":\"core-update-details\",\"aria-label\":_setup.t('core', 'Update details')}},_vm._l((_setup.messages),function({ message, type }){return _c('li',{key:message,class:_vm.$style.updater__message},[_c(_setup.NcIconSvgWrapper,{class:{\n\t\t\t\t\t\t\t[_vm.$style.updater__messageIcon_error]: type === 'error' || type === 'failure',\n\t\t\t\t\t\t\t[_vm.$style.updater__messageIcon_info]: type === 'notice',\n\t\t\t\t\t\t\t[_vm.$style.updater__messageIcon_success]: type === 'success',\n\t\t\t\t\t\t\t[_vm.$style.updater__messageIcon_warning]: type === 'warning',\n\t\t\t\t\t\t},attrs:{\"path\":_setup.getSeverityIcon(type)}}),_vm._v(\" \"),_c('span',{class:_vm.$style.updater__messageText},[_vm._v(_vm._s(message))])],1)}),0)])],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2015 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getRequestToken } from './requesttoken.ts'\n\n/**\n * Create a new event source\n *\n * @param {string} src\n * @param {object} [data] to be send as GET\n *\n * @constructs OCEventSource\n */\nfunction OCEventSource(src, data) {\n\tlet dataStr = ''\n\tlet name\n\tlet joinChar\n\tthis.typelessListeners = []\n\tthis.closed = false\n\tthis.listeners = {}\n\tif (data) {\n\t\tfor (name in data) {\n\t\t\tdataStr += name + '=' + encodeURIComponent(data[name]) + '&'\n\t\t}\n\t}\n\tdataStr += 'requesttoken=' + encodeURIComponent(getRequestToken())\n\tif (!this.useFallBack && typeof EventSource !== 'undefined') {\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tthis.source = new EventSource(src + joinChar + dataStr)\n\t\tthis.source.onmessage = function(e) {\n\t\t\tfor (let i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](JSON.parse(e.data))\n\t\t\t}\n\t\t}.bind(this)\n\t} else {\n\t\tconst iframeId = 'oc_eventsource_iframe_' + OCEventSource.iframeCount\n\t\tOCEventSource.fallBackSources[OCEventSource.iframeCount] = this\n\t\tconst iframe = document.createElement('iframe')\n\t\tiframe.id = iframeId\n\t\tiframe.style.display = 'none'\n\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tiframe.src = src + joinChar + 'fallback=true&fallback_id=' + OCEventSource.iframeCount + '&' + dataStr\n\n\t\tthis.iframe = iframe\n\t\tdocument.body.appendChild(this.iframe)\n\t\tthis.useFallBack = true\n\t\tOCEventSource.iframeCount++\n\t}\n\t// add close listener\n\tthis.listen('__internal__', function(data) {\n\t\tif (data === 'close') {\n\t\t\tthis.close()\n\t\t}\n\t}.bind(this))\n}\nOCEventSource.fallBackSources = []\nOCEventSource.iframeCount = 0// number of fallback iframes\nOCEventSource.fallBackCallBack = function(id, type, data) {\n\tOCEventSource.fallBackSources[id].fallBackCallBack(type, data)\n}\nOCEventSource.prototype = {\n\ttypelessListeners: [],\n\tiframe: null,\n\tlisteners: {}, // only for fallback\n\tuseFallBack: false,\n\t/**\n\t * Fallback callback for browsers that don't have the\n\t * native EventSource object.\n\t *\n\t * Calls the registered listeners.\n\t *\n\t * @private\n\t * @param {string} type event type\n\t * @param {object} data received data\n\t */\n\tfallBackCallBack: function(type, data) {\n\t\tlet i\n\t\t// ignore messages that might appear after closing\n\t\tif (this.closed) {\n\t\t\treturn\n\t\t}\n\t\tif (type) {\n\t\t\tif (typeof this.listeners.done !== 'undefined') {\n\t\t\t\tfor (i = 0; i < this.listeners[type].length; i++) {\n\t\t\t\t\tthis.listeners[type][i](data)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](data)\n\t\t\t}\n\t\t}\n\t},\n\tlastLength: 0, // for fallback\n\t/**\n\t * Listen to a given type of events.\n\t *\n\t * @param {string} type event type\n\t * @param {Function} callback event callback\n\t */\n\tlisten: function(type, callback) {\n\t\tif (callback && callback.call) {\n\t\t\tif (type) {\n\t\t\t\tif (this.useFallBack) {\n\t\t\t\t\tif (!this.listeners[type]) {\n\t\t\t\t\t\tthis.listeners[type] = []\n\t\t\t\t\t}\n\t\t\t\t\tthis.listeners[type].push(callback)\n\t\t\t\t} else {\n\t\t\t\t\tthis.source.addEventListener(type, function(e) {\n\t\t\t\t\t\tif (typeof e.data !== 'undefined') {\n\t\t\t\t\t\t\tcallback(JSON.parse(e.data))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcallback('')\n\t\t\t\t\t\t}\n\t\t\t\t\t}, false)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.typelessListeners.push(callback)\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Closes this event source.\n\t */\n\tclose: function() {\n\t\tthis.closed = true\n\t\tif (typeof this.source !== 'undefined') {\n\t\t\tthis.source.close()\n\t\t}\n\t},\n}\n\nexport default OCEventSource\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\n/**\n * Get the current CSRF token.\n */\nexport function getRequestToken() {\n return document.head.dataset.requesttoken;\n}\n/**\n * Set a new CSRF token (e.g. because of session refresh).\n * This also emits an event bus event for the updated token.\n *\n * @param token - The new token\n * @fires Error - If the passed token is not a potential valid token\n */\nexport function setRequestToken(token) {\n if (!token || typeof token !== 'string') {\n throw new Error('Invalid CSRF token given', { cause: { token } });\n }\n document.head.dataset.requesttoken = token;\n emit('csrf-token-update', { token });\n}\n/**\n * Fetch the request token from the API.\n * This does also set it on the current context, see `setRequestToken`.\n *\n * @fires Error - If the request failed\n */\nexport async function fetchRequestToken() {\n const url = generateUrl('/csrftoken');\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error('Could not fetch CSRF token from API', { cause: response });\n }\n const { token } = await response.json();\n setRequestToken(token);\n return token;\n}\n","import { N as NcActionButton } from \"./chunks/NcActionButton-1gSJfFUC.mjs\";\nimport { N as NcActionButtonGroup } from \"./chunks/NcActionButtonGroup-eZxqibUd.mjs\";\nimport NcActionCaption from \"./Components/NcActionCaption.mjs\";\nimport { N as NcActionCheckbox } from \"./chunks/NcActionCheckbox-23CmleUh.mjs\";\nimport { N as NcActionInput } from \"./chunks/NcActionInput-UPwE2Dky.mjs\";\nimport NcActionLink from \"./Components/NcActionLink.mjs\";\nimport { N as NcActionRadio } from \"./chunks/NcActionRadio-Dd3CsuiD.mjs\";\nimport NcActionRouter from \"./Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./chunks/NcActions-BcLis_nr.mjs\";\nimport NcActionSeparator from \"./Components/NcActionSeparator.mjs\";\nimport NcActionText from \"./Components/NcActionText.mjs\";\nimport { N as NcActionTextEditable } from \"./chunks/NcActionTextEditable-CIsAP-pp.mjs\";\nimport { N as NcAppContent } from \"./chunks/NcAppContent-CeVqX0gV.mjs\";\nimport NcAppContentDetails from \"./Components/NcAppContentDetails.mjs\";\nimport NcAppContentList from \"./Components/NcAppContentList.mjs\";\nimport { N as NcAppNavigation } from \"./chunks/NcAppNavigation-BfzJA6cb.mjs\";\nimport { N as NcAppNavigationCaption } from \"./chunks/NcAppNavigationCaption-3YHrxAYS.mjs\";\nimport NcAppNavigationIconBullet from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport { N as NcAppNavigationItem } from \"./chunks/NcAppNavigationItem-D30ztZfZ.mjs\";\nimport NcAppNavigationList from \"./Components/NcAppNavigationList.mjs\";\nimport { N as NcAppNavigationNew } from \"./chunks/NcAppNavigationNew-Ce_TheyK.mjs\";\nimport { N as NcAppNavigationNewItem } from \"./chunks/NcAppNavigationNewItem-BskLwwWH.mjs\";\nimport { N as NcAppNavigationSearch } from \"./chunks/NcAppNavigationSearch-CkcBGG0H.mjs\";\nimport { N as NcAppNavigationSettings } from \"./chunks/NcAppNavigationSettings-BjyBA5Mj.mjs\";\nimport NcAppNavigationSpacer from \"./Components/NcAppNavigationSpacer.mjs\";\nimport { N as NcAppSettingsDialog } from \"./chunks/NcAppSettingsDialog-vBeCGFqk.mjs\";\nimport { N as NcAppSettingsSection } from \"./chunks/NcAppSettingsSection-BjQllLEA.mjs\";\nimport { N as NcAppSettingsShortcutsSection } from \"./chunks/NcAppSettingsShortcutsSection-DblUBaWP.mjs\";\nimport { N as NcAppSidebar } from \"./chunks/NcAppSidebar-Cx0PlofZ.mjs\";\nimport { N as NcAppSidebarHeader } from \"./chunks/NcAppSidebarHeader-CBE4tNYb.mjs\";\nimport NcAppSidebarTab from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as NcAssistantButton } from \"./chunks/NcAssistantButton-D1Miejvu.mjs\";\nimport NcAssistantContent from \"./Components/NcAssistantContent.mjs\";\nimport { N as NcAssistantIcon } from \"./chunks/NcAssistantIcon-DCx6AaSW.mjs\";\nimport { N as NcAvatar } from \"./chunks/NcAvatar-DC2fiCH-.mjs\";\nimport { u } from \"./chunks/NcAvatar-DC2fiCH-.mjs\";\nimport { N as NcBlurHash } from \"./chunks/NcBlurHash-KSj0HXbX.mjs\";\nimport { N as NcBreadcrumb } from \"./chunks/NcBreadcrumb-VwnF27KB.mjs\";\nimport { N as NcBreadcrumbs } from \"./chunks/NcBreadcrumbs-CpXJ-OQ1.mjs\";\nimport { N as NcButton } from \"./chunks/NcButton-BaZAY-tN.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./chunks/NcCheckboxRadioSwitch-DJmw98x9.mjs\";\nimport { N as NcCollectionList } from \"./chunks/NcCollectionList-U0EoWgeN.mjs\";\nimport { N as NcColorPicker } from \"./chunks/NcColorPicker-BfApfazi.mjs\";\nimport { N as NcContent } from \"./chunks/NcContent-DFOsZ6pm.mjs\";\nimport { N as NcCounterBubble } from \"./chunks/NcCounterBubble-oxV8oMlX.mjs\";\nimport { N as NcDashboardWidget } from \"./chunks/NcDashboardWidget-Cp3DMHz7.mjs\";\nimport { N as NcDashboardWidgetItem } from \"./chunks/NcDashboardWidgetItem-BCjppWNJ.mjs\";\nimport { N as NcDateTime } from \"./chunks/NcDateTime-enXYuwj8.mjs\";\nimport NcDateTimePicker from \"./Components/NcDateTimePicker.mjs\";\nimport NcDateTimePickerNative from \"./Components/NcDateTimePickerNative.mjs\";\nimport { N as NcDialog } from \"./chunks/NcDialog-CDFWleNp.mjs\";\nimport { N as NcDialogButton } from \"./chunks/NcDialogButton-tB5RGMME.mjs\";\nimport NcEllipsisedOption from \"./Components/NcEllipsisedOption.mjs\";\nimport { N as NcEmojiPicker } from \"./chunks/NcEmojiPicker-Cw593Jp6.mjs\";\nimport NcEmptyContent from \"./Components/NcEmptyContent.mjs\";\nimport { N as NcFilePicker } from \"./chunks/NcFilePicker-CDHKrfPj.mjs\";\nimport { N as NcFormBox } from \"./chunks/NcFormBox-DtoCXLMx.mjs\";\nimport { N as NcFormBoxButton } from \"./chunks/NcFormBoxButton-BQi11xQX.mjs\";\nimport { N as NcFormBoxCopyButton } from \"./chunks/NcFormBoxCopyButton-BkunQ3me.mjs\";\nimport { N as NcFormBoxSwitch } from \"./chunks/NcFormBoxSwitch-E6sxPL4n.mjs\";\nimport { N as NcFormGroup } from \"./chunks/NcFormGroup-DblLoFMf.mjs\";\nimport NcGuestContent from \"./Components/NcGuestContent.mjs\";\nimport { N as NcHeaderButton } from \"./chunks/NcHeaderButton-BI15lyn_.mjs\";\nimport { N as NcHeaderMenu } from \"./chunks/NcHeaderMenu-B2gYavD4.mjs\";\nimport { N as NcHighlight } from \"./chunks/index-CxTT94_h.mjs\";\nimport { N as NcHotkey } from \"./chunks/NcHotkey-CLLtt9LG.mjs\";\nimport { N as NcHotkeyList } from \"./chunks/NcHotkeyList-Co7MBL5U.mjs\";\nimport { N as NcIconSvgWrapper } from \"./chunks/NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport { N as NcInputField } from \"./chunks/NcInputField-Cfm1bJR4.mjs\";\nimport { N as NcListItem } from \"./chunks/NcListItem-RKTfRg06.mjs\";\nimport { N as NcListItemIcon } from \"./chunks/NcListItemIcon-D49wESTI.mjs\";\nimport NcLoadingIcon from \"./Components/NcLoadingIcon.mjs\";\nimport NcModal from \"./Components/NcModal.mjs\";\nimport NcNoteCard from \"./Components/NcNoteCard.mjs\";\nimport { N as NcPasswordField } from \"./chunks/NcPasswordField-lE4m20vf.mjs\";\nimport { N as NcPopover } from \"./chunks/NcPopover-UAg26Qdd.mjs\";\nimport { N as NcProgressBar } from \"./chunks/NcProgressBar-D7zYeXBH.mjs\";\nimport { N as NcRadioGroup } from \"./chunks/NcRadioGroup-BbBX9X2J.mjs\";\nimport { N as NcRadioGroupButton } from \"./chunks/NcRadioGroupButton-BkxlxjIA.mjs\";\nimport { N as NcRelatedResourcesPanel } from \"./chunks/NcRelatedResourcesPanel-C2sLodV8.mjs\";\nimport { N as NcMentionBubble } from \"./chunks/index-TmAR7I2T.mjs\";\nimport { r } from \"./chunks/index-TmAR7I2T.mjs\";\nimport { N as NcAutoCompleteResult, a as NcRichContenteditable } from \"./chunks/NcRichContenteditable-SA1zbfkk.mjs\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport \"@nextcloud/sharing/public\";\nimport \"@vueuse/core\";\nimport \"vue\";\nimport \"vue-router\";\nimport { a, g, b, c, s, d } from \"./chunks/referencePickerModal-DD_GM6xV.mjs\";\nimport { N, h, c as c2, i, e, r as r2, f, a as a2 } from \"./chunks/customPickerElements-DLFtgReB.mjs\";\nimport \"unist-builder\";\nimport \"unist-util-visit\";\nimport \"./chunks/logger-D3RVzcfQ.mjs\";\nimport { N as NcRichText } from \"./chunks/NcRichText-rNfwY_Oc.mjs\";\nimport { N as NcSelect } from \"./chunks/NcSelect-CbWXsDdZ.mjs\";\nimport { N as NcTextField } from \"./chunks/NcTextField-DZHP0Dfw.mjs\";\nimport \"@nextcloud/event-bus\";\nimport { N as NcSavingIndicatorIcon } from \"./chunks/NcSavingIndicatorIcon-U7AIamCl.mjs\";\nimport { N as NcSelectTags } from \"./chunks/NcSelectTags-CqVn5iU9.mjs\";\nimport { N as NcSelectUsers } from \"./chunks/NcSelectUsers-DGnn4yBW.mjs\";\nimport { N as NcSettingsInputText } from \"./chunks/NcSettingsInputText-BwnkZzWL.mjs\";\nimport { N as NcSettingsSection } from \"./chunks/NcSettingsSection-Dz_b9rcq.mjs\";\nimport { N as NcSettingsSelectGroup } from \"./chunks/NcSettingsSelectGroup-BaSHNm1x.mjs\";\nimport { N as NcTextArea } from \"./chunks/NcTextArea-fGUiK7p2.mjs\";\nimport { N as NcThemeProvider } from \"./chunks/NcThemeProvider-BA_zMjAf.mjs\";\nimport { N as NcTimezonePicker } from \"./chunks/NcTimezonePicker-w7XtRhLb.mjs\";\nimport { N as NcUserBubble } from \"./chunks/NcUserBubble-CIOqCO9S.mjs\";\nimport { N as NcUserStatusIcon } from \"./chunks/NcUserStatusIcon-Cq1RnTfF.mjs\";\nimport NcVNodes from \"./Components/NcVNodes.mjs\";\nimport { useFormatDateTime, useFormatRelativeTime, useFormatTime } from \"./Composables/useFormatDateTime.mjs\";\nimport { useHotKey } from \"./Composables/useHotKey.mjs\";\nimport { useIsDarkTheme, useIsDarkThemeElement } from \"./Composables/useIsDarkTheme.mjs\";\nimport { isFullscreenState, useIsFullscreen } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT, MOBILE_SMALL_BREAKPOINT, isMobileState, useIsMobile, useIsSmallMobile } from \"./Composables/useIsMobile.mjs\";\nimport { isA11yActivation } from \"./Functions/a11y.mjs\";\nimport { getEnabledContactsMenuActions, registerContactsMenuAction } from \"./Functions/contactsMenu.mjs\";\nimport { spawnDialog } from \"./Functions/dialog.mjs\";\nimport { E, a as a3, e as e2, g as g2, s as s2 } from \"./chunks/emoji-BgZdRy3v.mjs\";\nimport { checkIfDarkTheme, isDarkTheme } from \"./Functions/isDarkTheme.mjs\";\nimport { preloadImage } from \"./Functions/preloadImage.mjs\";\nimport { usernameToColor } from \"./Functions/usernameToColor.mjs\";\nimport directive from \"./Directives/Focus.mjs\";\nimport directive$1 from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as default2 } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as default3 } from \"./Mixins/isFullscreen.mjs\";\nimport { default as default4 } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { VTooltip as VTooltip2 } from \"floating-vue\";\nconst NcComponents = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsSectionShortcuts: NcAppSettingsShortcutsSection,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFilePicker,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NcDirectives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: directive,\n Linkify: directive$1,\n Tooltip: VTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NextcloudVuePlugin = {\n install(Vue) {\n Object.entries(NcComponents).forEach(([name, component]) => {\n Vue.component(component.name || name, component);\n });\n Object.entries(NcDirectives).forEach(([name, directive2]) => {\n Vue.directive(name, directive2);\n });\n }\n};\nexport {\n E as EmojiSkinTone,\n directive as Focus,\n directive$1 as Linkify,\n MOBILE_BREAKPOINT,\n MOBILE_SMALL_BREAKPOINT,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsShortcutsSection as NcAppSettingsSectionShortcuts,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n N as NcCustomPickerRenderResult,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFilePicker,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes,\n NextcloudVuePlugin,\n VTooltip2 as Tooltip,\n a as anyLinkProviderId,\n checkIfDarkTheme,\n default2 as clickOutsideOptions,\n a3 as emojiAddRecent,\n e2 as emojiSearch,\n g2 as getCurrentSkinTone,\n getEnabledContactsMenuActions,\n g as getLinkWithPicker,\n b as getProvider,\n c as getProviders,\n h as hasInteractiveView,\n isA11yActivation,\n c2 as isCustomPickerElementRegistered,\n isDarkTheme,\n default3 as isFullscreen,\n isFullscreenState,\n default4 as isMobile,\n isMobileState,\n i as isWidgetRegistered,\n preloadImage,\n registerContactsMenuAction,\n e as registerCustomPickerElement,\n r2 as registerWidget,\n f as renderCustomPickerElement,\n a2 as renderWidget,\n r as richEditor,\n s as searchProvider,\n s2 as setCurrentSkinTone,\n d as sortProviders,\n spawnDialog,\n useFormatDateTime,\n useFormatRelativeTime,\n useFormatTime,\n useHotKey,\n useIsDarkTheme,\n useIsDarkThemeElement,\n useIsFullscreen,\n useIsMobile,\n useIsSmallMobile,\n u as userStatus,\n usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdaterAdmin.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdaterAdmin.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdaterAdmin.vue?vue&type=style&index=0&id=3cc7282d&prod&module=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdaterAdmin.vue?vue&type=style&index=0&id=3cc7282d&prod&module=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UpdaterAdmin.vue?vue&type=template&id=3cc7282d\"\nimport script from \"./UpdaterAdmin.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UpdaterAdmin.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./UpdaterAdmin.vue?vue&type=style&index=0&id=3cc7282d&prod&module=true&lang=css\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","OCEventSource","src","data","name","joinChar","dataStr","this","typelessListeners","closed","listeners","encodeURIComponent","document","head","dataset","requesttoken","useFallBack","EventSource","iframeId","iframeCount","fallBackSources","iframe","createElement","style","display","indexOf","body","appendChild","source","onmessage","e","i","length","JSON","parse","bind","listen","close","N","Symbol","toStringTag","fallBackCallBack","type","prototype","done","lastLength","callback","call","addEventListener","_defineComponent","__name","setup","__props","updateInfo","loadState","isShowingDetails","ref","isUpdateRunning","isUpdateDone","messages","wasSuccessfull","computed","value","every","msg","hasErrors","some","resultIcon","mdiCheckCircleOutline","mdiCloseCircleOutline","mdiAlertCircleOutline","statusMessage","t","at","message","redirectCountdown","redirectMessage","productName","count","updateCountdown","window","setTimeout","reloadPage","onUnload","event","preventDefault","returnValue","location","reload","onMounted","onUnmounted","removeEventListener","__sfc","getSeverityIcon","mdiInformationOutline","onStartUpdate","eventSource","generateFilePath","mdiChevronDown","mdiChevronUp","NcButton","NcIconSvgWrapper","NcLoadingIcon","NcGuestContent","NcNoteCard","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","_vm","_c","_self","_setup","_setupProxy","_v","_s","isAppsOnlyUpgrade","version","oldTheme","attrs","_e","incompatibleAppsList","class","$style","updater__appsList","_l","app","key","appsToUpgrade","oldVersion","updater__updateButton","on","updater__messageIcon_success","updater__messageIcon_error","updater__messageIcon_warning","$event","scopedSlots","_u","fn","proxy","updater__transition_active","updater__transition_collapsed","directives","rawName","expression","updater__messageList","updater__message","updater__messageIcon_info","updater__messageText","context"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/9396-9396.js.map.license b/dist/9396-9396.js.map.license
deleted file mode 120000
index 943957fb06213..0000000000000
--- a/dist/9396-9396.js.map.license
+++ /dev/null
@@ -1 +0,0 @@
-9396-9396.js.license
\ No newline at end of file
diff --git a/dist/core-update.js b/dist/core-update.js
index a1e3f435e0b27..2dac02d7e1d70 100644
--- a/dist/core-update.js
+++ b/dist/core-update.js
@@ -1,2 +1,2 @@
-(()=>{"use strict";var e,r,t,o={42716(e,r,t){var o=t(21777),a=t(81222),n=t(85471);t.nc=(0,o.aV)();const i=(0,n.$V)(()=>Promise.all([t.e(4208),t.e(9396)]).then(t.bind(t,31098))),l=(0,n.$V)(()=>Promise.all([t.e(4208),t.e(428)]).then(t.bind(t,428))),c=(0,a.C)("core","updaterView");new n.Ay({name:"NextcloudUpdater",render:e=>e("adminCli"===c?l:i)}).$mount("#core-updater")}},a={};function n(e){var r=a[e];if(void 0!==r)return r.exports;var t=a[e]={id:e,loaded:!1,exports:{}};return o[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=o,e=[],n.O=(r,t,o,a)=>{if(!t){var i=1/0;for(u=0;u=a)&&Object.keys(n.O).every(e=>n.O[e](t[c]))?t.splice(c--,1):(l=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[t,o,a]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((r,t)=>(n.f[t](e,r),r),[])),n.u=e=>e+"-"+e+".js?v="+{428:"2532bb7008a9517fee02",5862:"580b9c2e231a9169a12f",6798:"1a6cf42d93801a926a3d",7471:"b4ac70873a3ab192efd0",9396:"6022b551225ee81ae5ad"}[e],n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="nextcloud-ui-legacy:",n.l=(e,o,a,i)=>{if(r[e])r[e].push(o);else{var l,c;if(void 0!==a)for(var d=document.getElementsByTagName("script"),u=0;u{l.onerror=l.onload=null,clearTimeout(f);var a=r[e];if(delete r[e],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach(e=>e(o)),t)return t(o)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=p.bind(null,l.onerror),l.onload=p.bind(null,l.onload),c&&document.head.appendChild(l)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.j=6344,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var r=globalThis.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{n.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={6344:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise((t,a)=>o=e[r]=[t,a]);t.push(o[2]=a);var i=n.p+n.u(r),l=new Error;n.l(i,t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+a+": "+i+")",l.name="ChunkLoadError",l.type=a,l.request=i,o[1](l)}},"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,t)=>{var o,a,[i,l,c]=t,d=0;if(i.some(r=>0!==e[r])){for(o in l)n.o(l,o)&&(n.m[o]=l[o]);if(c)var u=c(n)}for(r&&r(t);dn(42716));i=n.O(i)})();
-//# sourceMappingURL=core-update.js.map?v=f7c00486abeea321e9dc
\ No newline at end of file
+(()=>{"use strict";var e,r,t,o={42716(e,r,t){var o=t(21777),a=t(81222),n=t(85471);t.nc=(0,o.aV)();const i=(0,n.$V)(()=>Promise.all([t.e(4208),t.e(5910)]).then(t.bind(t,80992))),l=(0,n.$V)(()=>Promise.all([t.e(4208),t.e(428)]).then(t.bind(t,428))),d=(0,a.C)("core","updaterView");new n.Ay({name:"NextcloudUpdater",render:e=>e("adminCli"===d?l:i)}).$mount("#core-updater")}},a={};function n(e){var r=a[e];if(void 0!==r)return r.exports;var t=a[e]={id:e,loaded:!1,exports:{}};return o[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=o,e=[],n.O=(r,t,o,a)=>{if(!t){var i=1/0;for(u=0;u=a)&&Object.keys(n.O).every(e=>n.O[e](t[d]))?t.splice(d--,1):(l=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[t,o,a]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((r,t)=>(n.f[t](e,r),r),[])),n.u=e=>e+"-"+e+".js?v="+{428:"2532bb7008a9517fee02",5862:"580b9c2e231a9169a12f",5910:"666d0c7e645a2a5fae07",6798:"1a6cf42d93801a926a3d",7471:"b4ac70873a3ab192efd0"}[e],n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="nextcloud-ui-legacy:",n.l=(e,o,a,i)=>{if(r[e])r[e].push(o);else{var l,d;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u{l.onerror=l.onload=null,clearTimeout(f);var a=r[e];if(delete r[e],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach(e=>e(o)),t)return t(o)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=p.bind(null,l.onerror),l.onload=p.bind(null,l.onload),d&&document.head.appendChild(l)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.j=6344,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var r=globalThis.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{n.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={6344:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise((t,a)=>o=e[r]=[t,a]);t.push(o[2]=a);var i=n.p+n.u(r),l=new Error;n.l(i,t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+a+": "+i+")",l.name="ChunkLoadError",l.type=a,l.request=i,o[1](l)}},"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,t)=>{var o,a,[i,l,d]=t,c=0;if(i.some(r=>0!==e[r])){for(o in l)n.o(l,o)&&(n.m[o]=l[o]);if(d)var u=d(n)}for(r&&r(t);cn(42716));i=n.O(i)})();
+//# sourceMappingURL=core-update.js.map?v=0606bc7e7a9675a7dd8f
\ No newline at end of file
diff --git a/dist/core-update.js.map b/dist/core-update.js.map
index 80defe7a0fbfe..02f9e66f30c51 100644
--- a/dist/core-update.js.map
+++ b/dist/core-update.js.map
@@ -1 +1 @@
-{"version":3,"file":"core-update.js?v=f7c00486abeea321e9dc","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/core/src/update.ts","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { loadState } from '@nextcloud/initial-state';\nimport Vue, { defineAsyncComponent } from 'vue';\n__webpack_nonce__ = getCSPNonce();\nconst UpdaterAdmin = defineAsyncComponent(() => import('./views/UpdaterAdmin.vue'));\nconst UpdaterAdminCli = defineAsyncComponent(() => import('./views/UpdaterAdminCli.vue'));\nconst view = loadState('core', 'updaterView');\nconst app = new Vue({\n name: 'NextcloudUpdater',\n render: (h) => view === 'adminCli' ? h(UpdaterAdminCli) : h(UpdaterAdmin),\n});\napp.$mount('#core-updater');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"428\":\"2532bb7008a9517fee02\",\"5862\":\"580b9c2e231a9169a12f\",\"6798\":\"1a6cf42d93801a926a3d\",\"7471\":\"b4ac70873a3ab192efd0\",\"9396\":\"6022b551225ee81ae5ad\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6344;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6344: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(42716)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","__webpack_nonce__","getCSPNonce","UpdaterAdmin","defineAsyncComponent","UpdaterAdminCli","view","loadState","Vue","name","render","h","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","globalThis","importScripts","location","currentScript","tagName","toUpperCase","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","error","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"core-update.js?v=0606bc7e7a9675a7dd8f","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/core/src/update.ts","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { loadState } from '@nextcloud/initial-state';\nimport Vue, { defineAsyncComponent } from 'vue';\n__webpack_nonce__ = getCSPNonce();\nconst UpdaterAdmin = defineAsyncComponent(() => import('./views/UpdaterAdmin.vue'));\nconst UpdaterAdminCli = defineAsyncComponent(() => import('./views/UpdaterAdminCli.vue'));\nconst view = loadState('core', 'updaterView');\nconst app = new Vue({\n name: 'NextcloudUpdater',\n render: (h) => view === 'adminCli' ? h(UpdaterAdminCli) : h(UpdaterAdmin),\n});\napp.$mount('#core-updater');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"428\":\"2532bb7008a9517fee02\",\"5862\":\"580b9c2e231a9169a12f\",\"5910\":\"666d0c7e645a2a5fae07\",\"6798\":\"1a6cf42d93801a926a3d\",\"7471\":\"b4ac70873a3ab192efd0\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6344;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6344: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(42716)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","__webpack_nonce__","getCSPNonce","UpdaterAdmin","defineAsyncComponent","UpdaterAdminCli","view","loadState","Vue","name","render","h","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","globalThis","importScripts","location","currentScript","tagName","toUpperCase","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","error","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file