mirror of
https://github.com/nextcloud/server.git
synced 2026-04-28 17:48:40 -04:00
Merge pull request #48323 from nextcloud/chore/legacy-updatenotification
refactor(updatenotification): Migrate legacy code
This commit is contained in:
commit
3e72210eb2
25 changed files with 302 additions and 66 deletions
|
|
@ -24,11 +24,11 @@
|
|||
<job>OCA\UpdateNotification\BackgroundJob\UpdateAvailableNotifications</job>
|
||||
</background-jobs>
|
||||
|
||||
<settings>
|
||||
<admin>OCA\UpdateNotification\Settings\Admin</admin>
|
||||
</settings>
|
||||
|
||||
<commands>
|
||||
<command>OCA\UpdateNotification\Command\Check</command>
|
||||
</commands>
|
||||
|
||||
<settings>
|
||||
<admin>OCA\UpdateNotification\Settings\Admin</admin>
|
||||
</settings>
|
||||
</info>
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
/**
|
||||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2015-2016 ownCloud, Inc.
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
/**
|
||||
* This only gets loaded if an update is available and the notifications app is not enabled for the user.
|
||||
*/
|
||||
window.addEventListener('DOMContentLoaded', function(){
|
||||
var text = t('core', '{version} is available. Get more information on how to update.', {version: oc_updateState.updateVersion}),
|
||||
element = $('<a>').attr('href', oc_updateState.updateLink).attr('target','_blank').text(text);
|
||||
|
||||
OC.Notification.showHtml(element.prop('outerHTML'), { type: 'error' });
|
||||
});
|
||||
|
|
@ -50,7 +50,8 @@ class Application extends App implements IBootstrap {
|
|||
IAppManager $appManager,
|
||||
IGroupManager $groupManager,
|
||||
ContainerInterface $container,
|
||||
LoggerInterface $logger): void {
|
||||
LoggerInterface $logger,
|
||||
): void {
|
||||
if ($config->getSystemValue('updatechecker', true) !== true) {
|
||||
// Updater check is disabled
|
||||
return;
|
||||
|
|
@ -72,8 +73,8 @@ class Application extends App implements IBootstrap {
|
|||
}
|
||||
|
||||
if ($updateChecker->getUpdateState() !== []) {
|
||||
Util::addScript('updatenotification', 'legacy-notification');
|
||||
\OC_Hook::connect('\OCP\Config', 'js', $updateChecker, 'populateJavaScriptVariables');
|
||||
Util::addScript('updatenotification', 'update-notification-legacy');
|
||||
$updateChecker->setInitialState();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -10,19 +10,15 @@ namespace OCA\UpdateNotification;
|
|||
|
||||
use OC\Updater\ChangesCheck;
|
||||
use OC\Updater\VersionCheck;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
|
||||
class UpdateChecker {
|
||||
/** @var VersionCheck */
|
||||
private $updater;
|
||||
/** @var ChangesCheck */
|
||||
private $changesCheck;
|
||||
|
||||
/**
|
||||
* @param VersionCheck $updater
|
||||
*/
|
||||
public function __construct(VersionCheck $updater, ChangesCheck $changesCheck) {
|
||||
$this->updater = $updater;
|
||||
$this->changesCheck = $changesCheck;
|
||||
public function __construct(
|
||||
private VersionCheck $updater,
|
||||
private ChangesCheck $changesCheck,
|
||||
private IInitialState $initialState,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -59,13 +55,17 @@ class UpdateChecker {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
* Provide update information as initial state
|
||||
*/
|
||||
public function populateJavaScriptVariables(array $data) {
|
||||
$data['array']['oc_updateState'] = json_encode([
|
||||
'updateAvailable' => true,
|
||||
'updateVersion' => $this->getUpdateState()['updateVersionString'],
|
||||
'updateLink' => $this->getUpdateState()['updateLink'] ?? '',
|
||||
public function setInitialState(): void {
|
||||
$updateState = $this->getUpdateState();
|
||||
if (empty($updateState)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->initialState->provideInitialState('updateState', [
|
||||
'updateVersion' => $updateState['updateVersionString'],
|
||||
'updateLink' => $updateState['updateLink'] ?? '',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
24
apps/updatenotification/src/update-notification-legacy.ts
Normal file
24
apps/updatenotification/src/update-notification-legacy.ts
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import { showInfo } from '@nextcloud/dialogs'
|
||||
import { loadState } from '@nextcloud/initial-state'
|
||||
import { t } from '@nextcloud/l10n'
|
||||
|
||||
interface IUpdateNotificationState {
|
||||
updateLink: string
|
||||
updateVersion: string
|
||||
}
|
||||
|
||||
/**
|
||||
* This only gets loaded if an update is available and the notifications app is not enabled for the user.
|
||||
*/
|
||||
window.addEventListener('DOMContentLoaded', function() {
|
||||
const { updateLink, updateVersion } = loadState<IUpdateNotificationState>('updatenotification', 'updateState')
|
||||
const text = t('core', '{version} is available. Get more information on how to update.', { version: updateVersion })
|
||||
|
||||
// On click open the update link in a new tab
|
||||
showInfo(text, { onClick: () => window.open(updateLink, '_blank') })
|
||||
})
|
||||
|
|
@ -11,22 +11,28 @@ namespace OCA\UpdateNotification\Tests;
|
|||
use OC\Updater\ChangesCheck;
|
||||
use OC\Updater\VersionCheck;
|
||||
use OCA\UpdateNotification\UpdateChecker;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Test\TestCase;
|
||||
|
||||
class UpdateCheckerTest extends TestCase {
|
||||
/** @var ChangesCheck|\PHPUnit\Framework\MockObject\MockObject */
|
||||
protected $changesChecker;
|
||||
/** @var VersionCheck|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $updater;
|
||||
/** @var UpdateChecker */
|
||||
private $updateChecker;
|
||||
|
||||
private ChangesCheck&MockObject $changesChecker;
|
||||
private VersionCheck&MockObject $updater;
|
||||
private IInitialState&MockObject $initialState;
|
||||
private UpdateChecker $updateChecker;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
||||
$this->updater = $this->createMock(VersionCheck::class);
|
||||
$this->changesChecker = $this->createMock(ChangesCheck::class);
|
||||
$this->updateChecker = new UpdateChecker($this->updater, $this->changesChecker);
|
||||
$this->initialState = $this->createMock(IInitialState::class);
|
||||
$this->updateChecker = new UpdateChecker(
|
||||
$this->updater,
|
||||
$this->changesChecker,
|
||||
$this->initialState,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetUpdateStateWithUpdateAndInvalidLink(): void {
|
||||
|
|
@ -110,4 +116,28 @@ class UpdateCheckerTest extends TestCase {
|
|||
$expected = [];
|
||||
$this->assertSame($expected, $this->updateChecker->getUpdateState());
|
||||
}
|
||||
|
||||
public function testSetInitialState(): void {
|
||||
$this->updater
|
||||
->expects($this->once())
|
||||
->method('check')
|
||||
->willReturn([
|
||||
'version' => '1.2.3',
|
||||
'versionstring' => 'Nextcloud 1.2.3',
|
||||
'web' => 'https://docs.nextcloud.com/myUrl',
|
||||
'url' => 'https://downloads.nextcloud.org/server',
|
||||
'changes' => 'https://updates.nextcloud.com/changelog_server/?version=123.0.0',
|
||||
'autoupdater' => '1',
|
||||
'eol' => '0',
|
||||
]);
|
||||
|
||||
$this->initialState->expects(self::once())
|
||||
->method('provideInitialState')
|
||||
->with('updateState', [
|
||||
'updateVersion' => 'Nextcloud 1.2.3',
|
||||
'updateLink' => 'https://docs.nextcloud.com/myUrl',
|
||||
]);
|
||||
|
||||
$this->updateChecker->setInitialState();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
dist/files-search.js
vendored
4
dist/files-search.js
vendored
|
|
@ -1,2 +1,2 @@
|
|||
(()=>{"use strict";var e,r,t,i={97986:(e,r,t)=>{var i=t(61338),o=t(85168),a=t(63814),n=t(53334);const l=(0,t(35947).YK)().setApp("files").detectUser().build();document.addEventListener("DOMContentLoaded",(function(){const e=window.OCA;e.UnifiedSearch&&(l.info("Initializing unified search plugin: folder search from files app"),e.UnifiedSearch.registerFilterAction({id:"files",appId:"files",label:(0,n.Tl)("files","In folder"),icon:(0,a.d0)("files","app.svg"),callback:()=>{(0,o.a1)("Pick plain text files").addMimeTypeFilter("httpd/unix-directory").allowDirectories(!0).addButton({label:"Pick",callback:e=>{l.info("Folder picked",{folder:e[0]});const r=e[0];(0,i.Ic)("nextcloud:unified-search:add-filter",{id:"files",payload:r,filterUpdateText:(0,n.Tl)("files","Search in folder: {folder}",{folder:r.basename}),filterParams:{path:r.path}})}}).build().pick()}}))}))}},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={id:e,loaded:!1,exports:{}};return i[e].call(t.exports,t,t.exports,a),t.loaded=!0,t.exports}a.m=i,e=[],a.O=(r,t,i,o)=>{if(!t){var n=1/0;for(s=0;s<e.length;s++){t=e[s][0],i=e[s][1],o=e[s][2];for(var l=!0,d=0;d<t.length;d++)(!1&o||n>=o)&&Object.keys(a.O).every((e=>a.O[e](t[d])))?t.splice(d--,1):(l=!1,o<n&&(n=o));if(l){e.splice(s--,1);var c=i();void 0!==c&&(r=c)}}return r}o=o||0;for(var s=e.length;s>0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[t,i,o]},a.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return a.d(r,{a:r}),r},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>e+"-"+e+".js?v="+{802:"eddac441912aee9d7aa8",9291:"077955af818a227340aa"}[e],a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="nextcloud:",a.l=(e,i,o,n)=>{if(r[e])r[e].push(i);else{var l,d;if(void 0!==o)for(var c=document.getElementsByTagName("script"),s=0;s<c.length;s++){var f=c[s];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==t+o){l=f;break}}l||(d=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,a.nc&&l.setAttribute("nonce",a.nc),l.setAttribute("data-webpack",t+o),l.src=e),r[e]=[i];var u=(t,i)=>{l.onerror=l.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(i))),t)return t(i)},p=setTimeout(u.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=u.bind(null,l.onerror),l.onload=u.bind(null,l.onload),d&&document.head.appendChild(l)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.j=2277,(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var r=a.g.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 i=t.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=t[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b=document.baseURI||self.location.href;var e={2277:0};a.f.j=(r,t)=>{var i=a.o(e,r)?e[r]:void 0;if(0!==i)if(i)t.push(i[2]);else{var o=new Promise(((t,o)=>i=e[r]=[t,o]));t.push(i[2]=o);var n=a.p+a.u(r),l=new Error;a.l(n,(t=>{if(a.o(e,r)&&(0!==(i=e[r])&&(e[r]=void 0),i)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+o+": "+n+")",l.name="ChunkLoadError",l.type=o,l.request=n,i[1](l)}}),"chunk-"+r,r)}},a.O.j=r=>0===e[r];var r=(r,t)=>{var i,o,n=t[0],l=t[1],d=t[2],c=0;if(n.some((r=>0!==e[r]))){for(i in l)a.o(l,i)&&(a.m[i]=l[i]);if(d)var s=d(a)}for(r&&r(t);c<n.length;c++)o=n[c],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return a.O(s)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),a.nc=void 0;var n=a.O(void 0,[4208],(()=>a(97986)));n=a.O(n)})();
|
||||
//# sourceMappingURL=files-search.js.map?v=267c1889e44c5562a5a9
|
||||
(()=>{"use strict";var e,r,t,i={97986:(e,r,t)=>{var i=t(61338),o=t(85168),n=t(63814),a=t(53334);const l=(0,t(35947).YK)().setApp("files").detectUser().build();document.addEventListener("DOMContentLoaded",(function(){const e=window.OCA;e.UnifiedSearch&&(l.info("Initializing unified search plugin: folder search from files app"),e.UnifiedSearch.registerFilterAction({id:"files",appId:"files",label:(0,a.Tl)("files","In folder"),icon:(0,n.d0)("files","app.svg"),callback:()=>{(0,o.a1)("Pick plain text files").addMimeTypeFilter("httpd/unix-directory").allowDirectories(!0).addButton({label:"Pick",callback:e=>{l.info("Folder picked",{folder:e[0]});const r=e[0];(0,i.Ic)("nextcloud:unified-search:add-filter",{id:"files",payload:r,filterUpdateText:(0,a.Tl)("files","Search in folder: {folder}",{folder:r.basename}),filterParams:{path:r.path}})}}).build().pick()}}))}))}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={id:e,loaded:!1,exports:{}};return i[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=i,e=[],n.O=(r,t,i,o)=>{if(!t){var a=1/0;for(s=0;s<e.length;s++){t=e[s][0],i=e[s][1],o=e[s][2];for(var l=!0,d=0;d<t.length;d++)(!1&o||a>=o)&&Object.keys(n.O).every((e=>n.O[e](t[d])))?t.splice(d--,1):(l=!1,o<a&&(a=o));if(l){e.splice(s--,1);var c=i();void 0!==c&&(r=c)}}return r}o=o||0;for(var s=e.length;s>0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[t,i,o]},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="+{802:"eddac441912aee9d7aa8",9291:"077955af818a227340aa"}[e],n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="nextcloud:",n.l=(e,i,o,a)=>{if(r[e])r[e].push(i);else{var l,d;if(void 0!==o)for(var c=document.getElementsByTagName("script"),s=0;s<c.length;s++){var f=c[s];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==t+o){l=f;break}}l||(d=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,n.nc&&l.setAttribute("nonce",n.nc),l.setAttribute("data-webpack",t+o),l.src=e),r[e]=[i];var u=(t,i)=>{l.onerror=l.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(i))),t)return t(i)},p=setTimeout(u.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=u.bind(null,l.onerror),l.onload=u.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=2277,(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var r=n.g.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 i=t.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=t[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{n.b=document.baseURI||self.location.href;var e={2277:0};n.f.j=(r,t)=>{var i=n.o(e,r)?e[r]:void 0;if(0!==i)if(i)t.push(i[2]);else{var o=new Promise(((t,o)=>i=e[r]=[t,o]));t.push(i[2]=o);var a=n.p+n.u(r),l=new Error;n.l(a,(t=>{if(n.o(e,r)&&(0!==(i=e[r])&&(e[r]=void 0),i)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",l.name="ChunkLoadError",l.type=o,l.request=a,i[1](l)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,t)=>{var i,o,a=t[0],l=t[1],d=t[2],c=0;if(a.some((r=>0!==e[r]))){for(i in l)n.o(l,i)&&(n.m[i]=l[i]);if(d)var s=d(n)}for(r&&r(t);c<a.length;c++)o=a[c],n.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return n.O(s)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.nc=void 0;var a=n.O(void 0,[4208],(()=>n(97986)));a=n.O(a)})();
|
||||
//# sourceMappingURL=files-search.js.map?v=2b81f7e15411bb21a668
|
||||
2
dist/files-search.js.map
vendored
2
dist/files-search.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/files_sharing-personal-settings.js
vendored
4
dist/files_sharing-personal-settings.js
vendored
File diff suppressed because one or more lines are too long
2
dist/files_sharing-personal-settings.js.map
vendored
2
dist/files_sharing-personal-settings.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
dist/settings-vue-settings-personal-info.js
vendored
4
dist/settings-vue-settings-personal-info.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
dist/theming-admin-theming.js
vendored
4
dist/theming-admin-theming.js
vendored
File diff suppressed because one or more lines are too long
2
dist/theming-admin-theming.js.map
vendored
2
dist/theming-admin-theming.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/updatenotification-update-notification-legacy.js
vendored
Normal file
2
dist/updatenotification-update-notification-legacy.js
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
(()=>{"use strict";var e,t,r,o={3360:(e,t,r)=>{var o=r(85168),n=r(32981),a=r(53334);window.addEventListener("DOMContentLoaded",(function(){const{updateLink:e,updateVersion:t}=(0,n.C)("updatenotification","updateState"),r=(0,a.t)("core","{version} is available. Get more information on how to update.",{version:t});(0,o.cf)(r,{onClick:()=>window.open(e,"_blank")})}))}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,loaded:!1,exports:{}};return o[e].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=o,e=[],a.O=(t,r,o,n)=>{if(!r){var i=1/0;for(u=0;u<e.length;u++){r=e[u][0],o=e[u][1],n=e[u][2];for(var c=!0,l=0;l<r.length;l++)(!1&n||i>=n)&&Object.keys(a.O).every((e=>a.O[e](r[l])))?r.splice(l--,1):(c=!1,n<i&&(i=n));if(c){e.splice(u--,1);var d=o();void 0!==d&&(t=d)}}return t}n=n||0;for(var u=e.length;u>0&&e[u-1][2]>n;u--)e[u]=e[u-1];e[u]=[r,o,n]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((t,r)=>(a.f[r](e,t),t)),[])),a.u=e=>e+"-"+e+".js?v="+{802:"eddac441912aee9d7aa8",9291:"077955af818a227340aa"}[e],a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="nextcloud:",a.l=(e,o,n,i)=>{if(t[e])t[e].push(o);else{var c,l;if(void 0!==n)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var s=d[u];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==r+n){c=s;break}}c||(l=!0,(c=document.createElement("script")).charset="utf-8",c.timeout=120,a.nc&&c.setAttribute("nonce",a.nc),c.setAttribute("data-webpack",r+n),c.src=e),t[e]=[o];var p=(r,o)=>{c.onerror=c.onload=null,clearTimeout(f);var n=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),n&&n.forEach((e=>e(o))),r)return r(o)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=p.bind(null,c.onerror),c.onload=p.bind(null,c.onload),l&&document.head.appendChild(c)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.j=5169,(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=r[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b=document.baseURI||self.location.href;var e={5169:0};a.f.j=(t,r)=>{var o=a.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else{var n=new Promise(((r,n)=>o=e[t]=[r,n]));r.push(o[2]=n);var i=a.p+a.u(t),c=new Error;a.l(i,(r=>{if(a.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;c.message="Loading chunk "+t+" failed.\n("+n+": "+i+")",c.name="ChunkLoadError",c.type=n,c.request=i,o[1](c)}}),"chunk-"+t,t)}},a.O.j=t=>0===e[t];var t=(t,r)=>{var o,n,i=r[0],c=r[1],l=r[2],d=0;if(i.some((t=>0!==e[t]))){for(o in c)a.o(c,o)&&(a.m[o]=c[o]);if(l)var u=l(a)}for(t&&t(r);d<i.length;d++)n=i[d],a.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return a.O(u)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),a.nc=void 0;var i=a.O(void 0,[4208],(()=>a(3360)));i=a.O(i)})();
|
||||
//# sourceMappingURL=updatenotification-update-notification-legacy.js.map?v=2bda0c99d1e564788677
|
||||
191
dist/updatenotification-update-notification-legacy.js.license
vendored
Normal file
191
dist/updatenotification-update-notification-legacy.js.license
vendored
Normal file
|
|
@ -0,0 +1,191 @@
|
|||
SPDX-License-Identifier: MIT
|
||||
SPDX-License-Identifier: ISC
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: (MPL-2.0 OR Apache-2.0)
|
||||
SPDX-FileCopyrightText: inherits developers
|
||||
SPDX-FileCopyrightText: escape-html developers
|
||||
SPDX-FileCopyrightText: assert developers
|
||||
SPDX-FileCopyrightText: Varun A P
|
||||
SPDX-FileCopyrightText: Tobias Koppers @sokra
|
||||
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
|
||||
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Joyent
|
||||
SPDX-FileCopyrightText: Jordan Harband <ljharb@gmail.com>
|
||||
SPDX-FileCopyrightText: Jordan Harband
|
||||
SPDX-FileCopyrightText: John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)
|
||||
SPDX-FileCopyrightText: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
||||
SPDX-FileCopyrightText: Guillaume Chau <guillaume.b.chau@gmail.com>
|
||||
SPDX-FileCopyrightText: Evan You
|
||||
SPDX-FileCopyrightText: Dr.-Ing. Mario Heiderich, Cure53 <mario@cure53.de> (https://cure53.de/)
|
||||
SPDX-FileCopyrightText: David Clark
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: Anthony Fu <https://github.com/antfu>
|
||||
SPDX-FileCopyrightText: Andris Reinman
|
||||
SPDX-FileCopyrightText: @nextcloud/dialogs developers
|
||||
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- @nextcloud/dialogs
|
||||
- version: 6.0.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/l10n
|
||||
- version: 3.1.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/router
|
||||
- version: 3.0.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/vue
|
||||
- version: 8.17.1
|
||||
- license: AGPL-3.0-or-later
|
||||
- @vueuse/core
|
||||
- version: 11.0.3
|
||||
- license: MIT
|
||||
- @vueuse/shared
|
||||
- version: 11.0.3
|
||||
- license: MIT
|
||||
- assert
|
||||
- version: 2.1.0
|
||||
- license: MIT
|
||||
- available-typed-arrays
|
||||
- version: 1.0.7
|
||||
- license: MIT
|
||||
- call-bind
|
||||
- version: 1.0.7
|
||||
- license: MIT
|
||||
- console-browserify
|
||||
- version: 1.2.0
|
||||
- license: MIT
|
||||
- css-loader
|
||||
- version: 6.11.0
|
||||
- license: MIT
|
||||
- define-data-property
|
||||
- version: 1.1.4
|
||||
- license: MIT
|
||||
- define-properties
|
||||
- version: 1.2.1
|
||||
- license: MIT
|
||||
- dompurify
|
||||
- version: 3.1.6
|
||||
- license: (MPL-2.0 OR Apache-2.0)
|
||||
- es-define-property
|
||||
- version: 1.0.0
|
||||
- license: MIT
|
||||
- es-errors
|
||||
- version: 1.3.0
|
||||
- license: MIT
|
||||
- escape-html
|
||||
- version: 1.0.3
|
||||
- license: MIT
|
||||
- floating-vue
|
||||
- version: 1.0.0-beta.19
|
||||
- license: MIT
|
||||
- focus-trap
|
||||
- version: 7.6.0
|
||||
- license: MIT
|
||||
- for-each
|
||||
- version: 0.3.3
|
||||
- license: MIT
|
||||
- function-bind
|
||||
- version: 1.1.2
|
||||
- license: MIT
|
||||
- get-intrinsic
|
||||
- version: 1.2.4
|
||||
- license: MIT
|
||||
- gopd
|
||||
- version: 1.0.1
|
||||
- license: MIT
|
||||
- has-property-descriptors
|
||||
- version: 1.0.2
|
||||
- license: MIT
|
||||
- has-proto
|
||||
- version: 1.0.3
|
||||
- license: MIT
|
||||
- has-symbols
|
||||
- version: 1.0.3
|
||||
- license: MIT
|
||||
- has-tostringtag
|
||||
- version: 1.0.2
|
||||
- license: MIT
|
||||
- hasown
|
||||
- version: 2.0.2
|
||||
- license: MIT
|
||||
- inherits
|
||||
- version: 2.0.4
|
||||
- license: ISC
|
||||
- is-arguments
|
||||
- version: 1.1.1
|
||||
- license: MIT
|
||||
- is-callable
|
||||
- version: 1.2.7
|
||||
- license: MIT
|
||||
- is-generator-function
|
||||
- version: 1.0.10
|
||||
- license: MIT
|
||||
- is-nan
|
||||
- version: 1.3.2
|
||||
- license: MIT
|
||||
- is-typed-array
|
||||
- version: 1.1.13
|
||||
- license: MIT
|
||||
- lodash.get
|
||||
- version: 4.4.2
|
||||
- license: MIT
|
||||
- node-gettext
|
||||
- version: 3.0.0
|
||||
- license: MIT
|
||||
- object-is
|
||||
- version: 1.1.6
|
||||
- license: MIT
|
||||
- object-keys
|
||||
- version: 1.1.1
|
||||
- license: MIT
|
||||
- object.assign
|
||||
- version: 4.1.5
|
||||
- license: MIT
|
||||
- inherits
|
||||
- version: 2.0.3
|
||||
- license: ISC
|
||||
- util
|
||||
- version: 0.10.4
|
||||
- license: MIT
|
||||
- path
|
||||
- version: 0.12.7
|
||||
- license: MIT
|
||||
- possible-typed-array-names
|
||||
- version: 1.0.0
|
||||
- license: MIT
|
||||
- process
|
||||
- version: 0.11.10
|
||||
- license: MIT
|
||||
- set-function-length
|
||||
- version: 1.2.2
|
||||
- license: MIT
|
||||
- style-loader
|
||||
- version: 3.3.4
|
||||
- license: MIT
|
||||
- tabbable
|
||||
- version: 6.2.0
|
||||
- license: MIT
|
||||
- toastify-js
|
||||
- version: 1.12.0
|
||||
- license: MIT
|
||||
- util
|
||||
- version: 0.12.5
|
||||
- license: MIT
|
||||
- vue
|
||||
- version: 2.7.16
|
||||
- license: MIT
|
||||
- webpack
|
||||
- version: 5.94.0
|
||||
- license: MIT
|
||||
- which-typed-array
|
||||
- version: 1.1.15
|
||||
- license: MIT
|
||||
- nextcloud
|
||||
- version: 1.0.0
|
||||
- license: AGPL-3.0-or-later
|
||||
1
dist/updatenotification-update-notification-legacy.js.map
vendored
Normal file
1
dist/updatenotification-update-notification-legacy.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/updatenotification-update-notification-legacy.js.map.license
vendored
Symbolic link
1
dist/updatenotification-update-notification-legacy.js.map.license
vendored
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
updatenotification-update-notification-legacy.js.license
|
||||
|
|
@ -107,6 +107,7 @@ module.exports = {
|
|||
init: path.join(__dirname, 'apps/updatenotification/src', 'init.ts'),
|
||||
'view-changelog-page': path.join(__dirname, 'apps/updatenotification/src', 'view-changelog-page.ts'),
|
||||
updatenotification: path.join(__dirname, 'apps/updatenotification/src', 'updatenotification.js'),
|
||||
'update-notification-legacy': path.join(__dirname, 'apps/updatenotification/src', 'update-notification-legacy.ts'),
|
||||
},
|
||||
user_status: {
|
||||
menu: path.join(__dirname, 'apps/user_status/src', 'menu.js'),
|
||||
|
|
|
|||
Loading…
Reference in a new issue