summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/accessibility/appinfo/app.php3
-rw-r--r--apps/accessibility/appinfo/routes.php5
-rw-r--r--apps/accessibility/css/fontdyslexic.scss2
-rw-r--r--apps/accessibility/css/themehighcontrast.scss34
-rw-r--r--apps/accessibility/lib/AppInfo/Application.php18
-rw-r--r--apps/accessibility/lib/Controller/AccessibilityController.php27
-rw-r--r--apps/accessibility/package-lock.json63
-rw-r--r--apps/accessibility/package.json2
-rw-r--r--apps/comments/.l10nignore2
-rw-r--r--apps/comments/js/commentstabview.js4
-rw-r--r--apps/dav/appinfo/info.xml2
-rw-r--r--apps/dav/composer/composer/autoload_classmap.php1
-rw-r--r--apps/dav/composer/composer/autoload_static.php1
-rw-r--r--apps/dav/lib/Connector/Sabre/File.php11
-rw-r--r--apps/dav/lib/Migration/Version1007Date20181007225117.php54
-rw-r--r--apps/dav/lib/Upload/AssemblyStream.php11
-rw-r--r--apps/federatedfilesharing/js/settings-personal.js4
-rw-r--r--apps/federation/js/settings-admin.js2
-rw-r--r--apps/files/.l10nignore2
-rw-r--r--apps/files/css/files.scss3
-rw-r--r--apps/files/js/detailsview.js5
-rw-r--r--apps/files/js/detailtabview.js9
-rw-r--r--apps/files/js/favoritesfilelist.js6
-rw-r--r--apps/files/js/favoritesplugin.js5
-rw-r--r--apps/files/js/filelist.js22
-rw-r--r--apps/files/js/newfilemenu.js2
-rw-r--r--apps/files/js/recentplugin.js5
-rw-r--r--apps/files/js/sidebarpreviewmanager.js2
-rw-r--r--apps/files/js/templates.js12
-rw-r--r--apps/files/js/templates/detailsview.handlebars1
-rw-r--r--apps/files_external/.l10nignore2
-rw-r--r--apps/files_external/js/settings.js70
-rw-r--r--apps/files_external/js/statusmanager.js3
-rw-r--r--apps/files_external/js/templates.js37
-rw-r--r--apps/files_external/js/templates/credentialsDialog.handlebars8
-rw-r--r--apps/files_external/js/templates/mountOptionsDropDown.handlebars48
-rw-r--r--apps/files_external/list.php1
-rw-r--r--apps/files_external/templates/settings.php5
-rw-r--r--apps/files_sharing/js/app.js30
-rw-r--r--apps/files_sharing/js/sharedfilelist.js22
-rw-r--r--apps/files_sharing/js/sharetabview.js4
-rw-r--r--apps/files_sharing/lib/Controller/ShareController.php23
-rw-r--r--apps/files_trashbin/js/app.js6
-rw-r--r--apps/files_versions/.l10nignore2
-rw-r--r--apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php12
-rw-r--r--apps/lookup_server_connector/lib/UpdateLookupServer.php14
-rw-r--r--apps/oauth2/.l10nignore2
-rw-r--r--apps/oauth2/package-lock.json55
-rw-r--r--apps/oauth2/package.json2
-rw-r--r--apps/systemtags/js/app.js7
-rw-r--r--apps/updatenotification/.l10nignore2
-rw-r--r--apps/updatenotification/package-lock.json36
-rw-r--r--apps/updatenotification/package.json2
-rw-r--r--apps/user_ldap/css/renewPassword.css2
-rw-r--r--apps/user_ldap/js/wizard/wizardTabAbstractFilter.js2
55 files changed, 473 insertions, 244 deletions
diff --git a/apps/accessibility/appinfo/app.php b/apps/accessibility/appinfo/app.php
index 7f8e3c3262b..96621a16829 100644
--- a/apps/accessibility/appinfo/app.php
+++ b/apps/accessibility/appinfo/app.php
@@ -27,4 +27,5 @@ $app = new \OCA\Accessibility\AppInfo\Application();
// Separate from the constructor since the route are not initialized before that
// 1. create the app
// 2. generate css route and inject
-$app->injectCss(); \ No newline at end of file
+$app->injectCss();
+$app->injectJavascript(); \ No newline at end of file
diff --git a/apps/accessibility/appinfo/routes.php b/apps/accessibility/appinfo/routes.php
index ebb845e06a3..52e74918216 100644
--- a/apps/accessibility/appinfo/routes.php
+++ b/apps/accessibility/appinfo/routes.php
@@ -22,8 +22,9 @@
*/
return [
- 'routes' => [
- ['name' => 'accessibility#getCss', 'url' => '/css/user-{md5}.css', 'verb' => 'GET'],
+ 'routes' => [
+ ['name' => 'accessibility#getCss', 'url' => '/css/user-{md5}.css', 'verb' => 'GET'],
+ ['name' => 'accessibility#getJavascript', 'url' => '/js/accessibility', 'verb' => 'GET'],
],
'ocs' => [
[
diff --git a/apps/accessibility/css/fontdyslexic.scss b/apps/accessibility/css/fontdyslexic.scss
index 5df9bfb566c..45638271f90 100644
--- a/apps/accessibility/css/fontdyslexic.scss
+++ b/apps/accessibility/css/fontdyslexic.scss
@@ -19,4 +19,4 @@
src: url('../fonts/OpenDyslexic-Bold.woff') format('woff');
}
-$font-face: OpenDyslexic, 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;
+$font-face: OpenDyslexic, 'Nunito', 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;
diff --git a/apps/accessibility/css/themehighcontrast.scss b/apps/accessibility/css/themehighcontrast.scss
index 3d371365d56..ad6f9a5642a 100644
--- a/apps/accessibility/css/themehighcontrast.scss
+++ b/apps/accessibility/css/themehighcontrast.scss
@@ -1,29 +1,3 @@
-// Fonts
-@font-face {
- font-family: 'Open Sans';
- font-style: normal;
- font-weight: normal;
- src: local('Open Sans'), local('OpenSans'),
- url('../../../core/fonts/OpenSans-Regular.woff') format('woff');
-}
-
-/* overriding default light */
-@font-face {
- font-family: 'Open Sans';
- font-style: normal;
- font-weight: 300;
- src: local('Open Sans'), local('OpenSans'),
- url('../../../core/fonts/OpenSans-Regular.woff') format('woff');
-}
-
-@font-face {
- font-family: 'Open Sans';
- font-style: normal;
- font-weight: 500 700;
- src: local('Open Sans Bold'), local('OpenSans-Bold'),
- url('../../../core/fonts/OpenSans-Bold.woff') format('woff');
-}
-
// SCSS variables
$color-main-text: #000;
$color-main-background: #fff;
@@ -43,14 +17,6 @@ $color-box-shadow: $color-main-text;
$color-border: darken($color-main-background, 50%);
$color-border-dark: darken($color-main-background, 50%);
-$font-face: 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;
-
-
-// Font weight reset
-body {
- font-weight: 400;
-}
-
[class^='icon-'], [class*=' icon-'],
.action {
opacity: 1 !important;
diff --git a/apps/accessibility/lib/AppInfo/Application.php b/apps/accessibility/lib/AppInfo/Application.php
index 068fcc27b7a..6e3dc789d97 100644
--- a/apps/accessibility/lib/AppInfo/Application.php
+++ b/apps/accessibility/lib/AppInfo/Application.php
@@ -60,4 +60,22 @@ class Application extends App {
}
}
}
+
+ public function injectJavascript() {
+ $linkToJs = $this->urlGenerator->linkToRoute(
+ $this->appName . '.accessibility.getJavascript',
+ [
+ 'v' => \OC::$server->getConfig()->getAppValue('accessibility', 'cachebuster', '0'),
+ ]
+ );
+
+ \OCP\Util::addHeader(
+ 'script',
+ [
+ 'src' => $linkToJs,
+ 'nonce' => \OC::$server->getContentSecurityPolicyNonceManager()->getNonce()
+ ],
+ ''
+ );
+ }
}
diff --git a/apps/accessibility/lib/Controller/AccessibilityController.php b/apps/accessibility/lib/Controller/AccessibilityController.php
index 8f1ffa452af..a8fba556acb 100644
--- a/apps/accessibility/lib/Controller/AccessibilityController.php
+++ b/apps/accessibility/lib/Controller/AccessibilityController.php
@@ -28,6 +28,7 @@ use Leafo\ScssPhp\Formatter\Crunched;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataDisplayResponse;
+use OCP\AppFramework\Http\DataDownloadResponse;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\App\IAppManager;
use OCP\IConfig;
@@ -185,6 +186,32 @@ class AccessibilityController extends Controller {
}
/**
+ * @NoCSRFRequired
+ * @PublicPage
+ *
+ * @return DataDownloadResponse
+ */
+ public function getJavascript(): DataDownloadResponse {
+ $user = $this->userSession->getUser();
+
+ if ($user === null) {
+ $theme = false;
+ } else {
+ $theme = $this->config->getUserValue($user->getUID(), $this->appName, 'theme', false);
+ }
+
+ $responseJS = '(function() {
+ OCA.Accessibility = {
+ theme: ' . json_encode($theme) . ',
+
+ };
+})();';
+ $response = new DataDownloadResponse($responseJS, 'javascript', 'text/javascript');
+ $response->cacheFor(3600);
+ return $response;
+ }
+
+ /**
* Return an array with the user theme & font settings
*
* @return array
diff --git a/apps/accessibility/package-lock.json b/apps/accessibility/package-lock.json
index 6bb667631ac..a412f73adec 100644
--- a/apps/accessibility/package-lock.json
+++ b/apps/accessibility/package-lock.json
@@ -1317,7 +1317,7 @@
},
"browserify-aes": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"dev": true,
"requires": {
@@ -1354,7 +1354,7 @@
},
"browserify-rsa": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
"dev": true,
"requires": {
@@ -1721,7 +1721,7 @@
},
"create-hash": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"dev": true,
"requires": {
@@ -1734,7 +1734,7 @@
},
"create-hmac": {
"version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"dev": true,
"requires": {
@@ -1932,7 +1932,7 @@
},
"diffie-hellman": {
"version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
"dev": true,
"requires": {
@@ -1957,9 +1957,9 @@
}
},
"duplexify": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
- "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz",
+ "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==",
"dev": true,
"requires": {
"end-of-stream": "^1.0.0",
@@ -2399,8 +2399,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"aproba": {
"version": "1.2.0",
@@ -2815,8 +2814,7 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -2872,7 +2870,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -2916,14 +2913,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -3605,13 +3600,14 @@
}
},
"md5.js": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
- "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
"dev": true,
"requires": {
"hash-base": "^3.0.0",
- "inherits": "^2.0.1"
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
}
},
"mem": {
@@ -3810,9 +3806,9 @@
}
},
"neo-async": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz",
- "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz",
+ "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==",
"dev": true
},
"nice-try": {
@@ -4045,7 +4041,7 @@
},
"parse-asn1": {
"version": "5.1.1",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
"integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
"dev": true,
"requires": {
@@ -4279,16 +4275,17 @@
"dev": true
},
"public-encrypt": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
- "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
"browserify-rsa": "^4.0.0",
"create-hash": "^1.1.0",
"parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1"
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
}
},
"pump": {
@@ -4631,7 +4628,7 @@
},
"sha.js": {
"version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"dev": true,
"requires": {
@@ -5346,9 +5343,9 @@
}
},
"webpack": {
- "version": "4.20.2",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.20.2.tgz",
- "integrity": "sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==",
+ "version": "4.22.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.22.0.tgz",
+ "integrity": "sha512-2+3EYFqyhPl12buLQ42QPHEEh8BHn3P9ipRvGRHhdfKJ1u9svhZ3QjhIoEdL5SeIhL5gfOZVbBnartYEabkEsg==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.7.8",
diff --git a/apps/accessibility/package.json b/apps/accessibility/package.json
index 1771ceedf50..322f0033c17 100644
--- a/apps/accessibility/package.json
+++ b/apps/accessibility/package.json
@@ -26,7 +26,7 @@
"file-loader": "^1.1.11",
"vue-loader": "^15.4.2",
"vue-template-compiler": "^2.5.17",
- "webpack": "^4.20.2",
+ "webpack": "^4.22.0",
"webpack-cli": "^3.1.2",
"webpack-merge": "^4.1.4"
}
diff --git a/apps/comments/.l10nignore b/apps/comments/.l10nignore
new file mode 100644
index 00000000000..8b832897e3f
--- /dev/null
+++ b/apps/comments/.l10nignore
@@ -0,0 +1,2 @@
+# compiled vue templates
+js/templates.js
diff --git a/apps/comments/js/commentstabview.js b/apps/comments/js/commentstabview.js
index 35e73d3f4a6..8ea4dbc2ff2 100644
--- a/apps/comments/js/commentstabview.js
+++ b/apps/comments/js/commentstabview.js
@@ -89,6 +89,10 @@
return t('comments', 'Comments');
},
+ getIcon: function() {
+ return 'icon-comment';
+ },
+
setFileInfo: function(fileInfo) {
if (fileInfo) {
this.model = fileInfo;
diff --git a/apps/dav/appinfo/info.xml b/apps/dav/appinfo/info.xml
index 852ab9de971..d296661e8ac 100644
--- a/apps/dav/appinfo/info.xml
+++ b/apps/dav/appinfo/info.xml
@@ -5,7 +5,7 @@
<name>WebDAV</name>
<summary>WebDAV endpoint</summary>
<description>WebDAV endpoint</description>
- <version>1.7.0</version>
+ <version>1.7.1</version>
<licence>agpl</licence>
<author>owncloud.org</author>
<namespace>DAV</namespace>
diff --git a/apps/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php
index b03e866ab54..fe7557f7e08 100644
--- a/apps/dav/composer/composer/autoload_classmap.php
+++ b/apps/dav/composer/composer/autoload_classmap.php
@@ -155,6 +155,7 @@ return array(
'OCA\\DAV\\Migration\\Version1005Date20180413093149' => $baseDir . '/../lib/Migration/Version1005Date20180413093149.php',
'OCA\\DAV\\Migration\\Version1005Date20180530124431' => $baseDir . '/../lib/Migration/Version1005Date20180530124431.php',
'OCA\\DAV\\Migration\\Version1006Date20180619154313' => $baseDir . '/../lib/Migration/Version1006Date20180619154313.php',
+ 'OCA\\DAV\\Migration\\Version1007Date20181007225117' => $baseDir . '/../lib/Migration/Version1007Date20181007225117.php',
'OCA\\DAV\\RootCollection' => $baseDir . '/../lib/RootCollection.php',
'OCA\\DAV\\Server' => $baseDir . '/../lib/Server.php',
'OCA\\DAV\\Settings\\CalDAVSettings' => $baseDir . '/../lib/Settings/CalDAVSettings.php',
diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php
index 0d4c8801382..1668f1270f5 100644
--- a/apps/dav/composer/composer/autoload_static.php
+++ b/apps/dav/composer/composer/autoload_static.php
@@ -170,6 +170,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Migration\\Version1005Date20180413093149' => __DIR__ . '/..' . '/../lib/Migration/Version1005Date20180413093149.php',
'OCA\\DAV\\Migration\\Version1005Date20180530124431' => __DIR__ . '/..' . '/../lib/Migration/Version1005Date20180530124431.php',
'OCA\\DAV\\Migration\\Version1006Date20180619154313' => __DIR__ . '/..' . '/../lib/Migration/Version1006Date20180619154313.php',
+ 'OCA\\DAV\\Migration\\Version1007Date20181007225117' => __DIR__ . '/..' . '/../lib/Migration/Version1007Date20181007225117.php',
'OCA\\DAV\\RootCollection' => __DIR__ . '/..' . '/../lib/RootCollection.php',
'OCA\\DAV\\Server' => __DIR__ . '/..' . '/../lib/Server.php',
'OCA\\DAV\\Settings\\CalDAVSettings' => __DIR__ . '/..' . '/../lib/Settings/CalDAVSettings.php',
diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php
index e46bdcb2984..9e927ff85e5 100644
--- a/apps/dav/lib/Connector/Sabre/File.php
+++ b/apps/dav/lib/Connector/Sabre/File.php
@@ -140,6 +140,8 @@ class File extends Node implements IFile {
list($partStorage) = $this->fileView->resolvePath($this->path);
$needsPartFile = $partStorage->needsPartFile() && (strlen($this->path) > 1);
+ $view = \OC\Files\Filesystem::getView();
+
if ($needsPartFile) {
// mark file as partial while uploading (ignored by the scanner)
$partFilePath = $this->getPartFileBasePath($this->path) . '.ocTransferId' . rand() . '.part';
@@ -147,11 +149,11 @@ class File extends Node implements IFile {
// upload file directly as the final path
$partFilePath = $this->path;
- $this->emitPreHooks($exists);
+ if ($view && !$this->emitPreHooks($exists)) {
+ throw new Exception('Could not write to final file, canceled by hook');
+ }
}
- $view = \OC\Files\Filesystem::getView();
-
// the part file and target file might be on a different storage in case of a single file storage (e.g. single file share)
/** @var \OC\Files\Storage\Storage $partStorage */
list($partStorage, $internalPartPath) = $this->fileView->resolvePath($partFilePath);
@@ -159,9 +161,6 @@ class File extends Node implements IFile {
list($storage, $internalPath) = $this->fileView->resolvePath($this->path);
try {
if (!$needsPartFile) {
- if ($view && !$this->emitPreHooks($exists)) {
- throw new Exception('Could not write to final file, canceled by hook');
- }
$this->changeLock(ILockingProvider::LOCK_EXCLUSIVE);
}
diff --git a/apps/dav/lib/Migration/Version1007Date20181007225117.php b/apps/dav/lib/Migration/Version1007Date20181007225117.php
new file mode 100644
index 00000000000..400042f486d
--- /dev/null
+++ b/apps/dav/lib/Migration/Version1007Date20181007225117.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * @copyright Copyright (c) 2018 Georg Ehrke
+ *
+ * @author Georg Ehrke <oc.list@georgehrke.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+declare(strict_types=1);
+
+namespace OCA\DAV\Migration;
+
+use Closure;
+
+use Doctrine\DBAL\Types\Type;
+use OCP\DB\ISchemaWrapper;
+use OCP\Migration\SimpleMigrationStep;
+use OCP\Migration\IOutput;
+
+class Version1007Date20181007225117 extends SimpleMigrationStep {
+
+ /**
+ * @param IOutput $output
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @param array $options
+ * @return null|ISchemaWrapper
+ */
+ public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
+ /** @var ISchemaWrapper $schema */
+ $schema = $schemaClosure();
+
+ $table = $schema->getTable('calendarsubscriptions');
+ $column = $table->getColumn('source');
+
+ $column->setType(Type::getType(Type::TEXT));
+ $column->setLength(null);
+
+ return $schema;
+ }
+}
diff --git a/apps/dav/lib/Upload/AssemblyStream.php b/apps/dav/lib/Upload/AssemblyStream.php
index 24417851f2f..95e324f0468 100644
--- a/apps/dav/lib/Upload/AssemblyStream.php
+++ b/apps/dav/lib/Upload/AssemblyStream.php
@@ -76,9 +76,6 @@ class AssemblyStream implements \Icewind\Streams\File {
return strnatcmp($a->getName(), $b->getName());
});
$this->nodes = array_values($nodes);
- if (count($this->nodes) > 0) {
- $this->currentStream = $this->getStream($this->nodes[0]);
- }
$this->size = array_reduce($this->nodes, function ($size, IFile $file) {
return $size + $file->getSize();
}, 0);
@@ -107,7 +104,11 @@ class AssemblyStream implements \Icewind\Streams\File {
*/
public function stream_read($count) {
if (is_null($this->currentStream)) {
- return '';
+ if ($this->currentNode < count($this->nodes)) {
+ $this->currentStream = $this->getStream($this->nodes[$this->currentNode]);
+ } else {
+ return '';
+ }
}
do {
@@ -191,7 +192,7 @@ class AssemblyStream implements \Icewind\Streams\File {
* @return bool
*/
public function stream_eof() {
- return $this->pos >= $this->size || $this->currentStream === null;
+ return $this->pos >= $this->size || ($this->currentNode >= count($this->nodes) && $this->currentNode === null);
}
/**
diff --git a/apps/federatedfilesharing/js/settings-personal.js b/apps/federatedfilesharing/js/settings-personal.js
index c954f74f323..407493640b1 100644
--- a/apps/federatedfilesharing/js/settings-personal.js
+++ b/apps/federatedfilesharing/js/settings-personal.js
@@ -28,7 +28,7 @@ $(document).ready(function() {
// Clipboard!
var clipboard = new Clipboard('.clipboardButton');
clipboard.on('success', function(e) {
- $input = $(e.trigger);
+ var $input = $(e.trigger);
$input.tooltip('hide')
.attr('data-original-title', t('core', 'Copied!'))
.tooltip('fixTitle')
@@ -41,7 +41,7 @@ $(document).ready(function() {
}, 3000);
});
clipboard.on('error', function (e) {
- $input = $(e.trigger);
+ var $input = $(e.trigger);
var actionMsg = '';
if (/iPhone|iPad/i.test(navigator.userAgent)) {
actionMsg = t('core', 'Not supported!');
diff --git a/apps/federation/js/settings-admin.js b/apps/federation/js/settings-admin.js
index 9e3ed763168..da3f3c2d1a0 100644
--- a/apps/federation/js/settings-admin.js
+++ b/apps/federation/js/settings-admin.js
@@ -77,7 +77,7 @@
console.log("typing away");
- url = $(this).val();
+ var url = $(this).val();
// toggle add-button visiblity based on input length
if ( url.length > 0 )
diff --git a/apps/files/.l10nignore b/apps/files/.l10nignore
new file mode 100644
index 00000000000..8b832897e3f
--- /dev/null
+++ b/apps/files/.l10nignore
@@ -0,0 +1,2 @@
+# compiled vue templates
+js/templates.js
diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss
index 30b61266375..cca8585f439 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -698,9 +698,6 @@ table.dragshadow td.size {
.app-files .actions .button.new {
position: relative;
}
-.app-files .actions .button.new .icon {
- margin-bottom: 2px;
-}
.breadcrumb .canDrop > a,
#filestable tbody tr.canDrop {
diff --git a/apps/files/js/detailsview.js b/apps/files/js/detailsview.js
index 2a5d589a730..cd602961c0a 100644
--- a/apps/files/js/detailsview.js
+++ b/apps/files/js/detailsview.js
@@ -102,7 +102,7 @@
this.$el.insertAfter($('#app-content'));
} else {
if ($appSidebar[0] !== this.el) {
- $appSidebar.replaceWith(this.$el)
+ $appSidebar.replaceWith(this.$el);
}
}
@@ -122,7 +122,8 @@
templateVars.tabHeaders = _.map(this._tabViews, function(tabView, i) {
return {
tabId: tabView.id,
- label: tabView.getLabel()
+ label: tabView.getLabel(),
+ tabIcon: tabView.getIcon()
};
});
diff --git a/apps/files/js/detailtabview.js b/apps/files/js/detailtabview.js
index 0bd34a88188..a66cedbc15d 100644
--- a/apps/files/js/detailtabview.js
+++ b/apps/files/js/detailtabview.js
@@ -50,6 +50,15 @@
},
/**
+ * Returns the tab label
+ *
+ * @return {String}|{null} icon class
+ */
+ getIcon: function() {
+ return null
+ },
+
+ /**
* returns the jQuery object for HTML output
*
* @returns {jQuery}
diff --git a/apps/files/js/favoritesfilelist.js b/apps/files/js/favoritesfilelist.js
index 8c9c125d0a1..44adf5d7b5b 100644
--- a/apps/files/js/favoritesfilelist.js
+++ b/apps/files/js/favoritesfilelist.js
@@ -94,12 +94,6 @@ $(document).ready(function() {
return OCA.Files.FileList.prototype.reloadCallback.call(this, status, result);
},
-
- _onUrlChanged: function (e) {
- if (e && _.isString(e.dir)) {
- this.changeDirectory(e.dir, false, true);
- }
- }
});
OCA.Files.FavoritesFileList = FavoritesFileList;
diff --git a/apps/files/js/favoritesplugin.js b/apps/files/js/favoritesplugin.js
index 7294ef9461c..3ceadca826d 100644
--- a/apps/files/js/favoritesplugin.js
+++ b/apps/files/js/favoritesplugin.js
@@ -67,6 +67,11 @@
return new OCA.Files.FavoritesFileList(
$el, {
fileActions: fileActions,
+ // The file list is created when a "show" event is handled,
+ // so it should be marked as "shown" like it would have been
+ // done if handling the event with the file list already
+ // created.
+ shown: true
}
);
},
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 1f4d230cef0..75cef4afece 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -221,6 +221,10 @@
return;
}
+ if (options.shown) {
+ this.shown = options.shown;
+ }
+
if (options.config) {
this._filesConfig = options.config;
} else if (!_.isUndefined(OCA.Files) && !_.isUndefined(OCA.Files.App)) {
@@ -310,10 +314,10 @@
breadcrumbOptions.onDrop = _.bind(this._onDropOnBreadCrumb, this);
breadcrumbOptions.onOver = function() {
self.$el.find('td.filename.ui-droppable').droppable('disable');
- }
+ };
breadcrumbOptions.onOut = function() {
self.$el.find('td.filename.ui-droppable').droppable('enable');
- }
+ };
}
this.breadcrumb = new OCA.Files.BreadCrumb(breadcrumbOptions);
@@ -1409,6 +1413,10 @@
// rgb(118, 118, 118) / #767676
// min. color contrast for normal text on white background according to WCAG AA
sizeColor = Math.round(118-Math.pow((fileData.size/(1024*1024)),2));
+
+ if (OCA.Accessibility && OCA.Accessibility.theme === 'themedark') {
+ sizeColor = Math.abs(sizeColor);
+ }
} else {
simpleSize = t('files', 'Pending');
}
@@ -1428,6 +1436,16 @@
if (modifiedColor >= '118') {
modifiedColor = 118;
}
+ if (OCA.Accessibility && OCA.Accessibility.theme === 'themedark') {
+ modifiedColor = Math.abs(modifiedColor);
+
+ // ensure that the dimmest color is still readable
+ // rgb(130, 130, 130) / #828282
+ // min. color contrast for normal text on black background according to WCAG AA
+ if (modifiedColor < 130) {
+ modifiedColor = 130;
+ }
+ }
var formatted;
var text;
if (mtime > 0) {
diff --git a/apps/files/js/newfilemenu.js b/apps/files/js/newfilemenu.js
index 01a183a33a7..69450e97c2a 100644
--- a/apps/files/js/newfilemenu.js
+++ b/apps/files/js/newfilemenu.js
@@ -171,7 +171,7 @@
/* Find the right actionHandler that should be called.
* Actions is retrieved by using `actionSpec.id` */
- action = _.filter(self._menuItems, function(item) {
+ var action = _.filter(self._menuItems, function(item) {
return item.id == $target.attr('data-action');
}).pop();
action.actionHandler(newname);
diff --git a/apps/files/js/recentplugin.js b/apps/files/js/recentplugin.js
index 524b556a517..c1b013ef1b8 100644
--- a/apps/files/js/recentplugin.js
+++ b/apps/files/js/recentplugin.js
@@ -67,6 +67,11 @@
return new OCA.Files.RecentFileList(
$el, {
fileActions: fileActions,
+ // The file list is created when a "show" event is handled,
+ // so it should be marked as "shown" like it would have been
+ // done if handling the event with the file list already
+ // created.
+ shown: true
}
);
},
diff --git a/apps/files/js/sidebarpreviewmanager.js b/apps/files/js/sidebarpreviewmanager.js
index 27ccd4fc405..69528ce4e43 100644
--- a/apps/files/js/sidebarpreviewmanager.js
+++ b/apps/files/js/sidebarpreviewmanager.js
@@ -9,7 +9,7 @@
*/
(function () {
- SidebarPreviewManager = function (fileList) {
+ var SidebarPreviewManager = function (fileList) {
this._fileList = fileList;
this._previewHandlers = {};
OC.Plugins.attach('OCA.Files.SidebarPreviewManager', this);
diff --git a/apps/files/js/templates.js b/apps/files/js/templates.js
index 0511873c8fb..a2bdae5b3c4 100644
--- a/apps/files/js/templates.js
+++ b/apps/files/js/templates.js
@@ -7,13 +7,21 @@ templates['detailsview'] = template({"1":function(container,depth0,helpers,parti
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.tabHeaders : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ "</ul>\n";
},"2":function(container,depth0,helpers,partials,data) {
- var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
+ var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
return " <li class=\"tabHeader\" data-tabid=\""
+ alias4(((helper = (helper = helpers.tabId || (depth0 != null ? depth0.tabId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"tabId","hash":{},"data":data}) : helper)))
- + "\" tabindex=\"0\">\n <a href=\"#\" tabindex=\"-1\">"
+ + "\" tabindex=\"0\">\n "
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.tabIcon : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "\n <a href=\"#\" tabindex=\"-1\">"
+ alias4(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"label","hash":{},"data":data}) : helper)))
+ "</a>\n </li>\n";
+},"3":function(container,depth0,helpers,partials,data) {
+ var helper;
+
+ return "<span class=\"icon "
+ + container.escapeExpression(((helper = (helper = helpers.tabIcon || (depth0 != null ? depth0.tabIcon : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"tabIcon","hash":{},"data":data}) : helper)))
+ + "\"></span>";
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {});
diff --git a/apps/files/js/templates/detailsview.handlebars b/apps/files/js/templates/detailsview.handlebars
index 841a8fe25fe..4d489e4fa0d 100644
--- a/apps/files/js/templates/detailsview.handlebars
+++ b/apps/files/js/templates/detailsview.handlebars
@@ -3,6 +3,7 @@
<ul class="tabHeaders">
{{#each tabHeaders}}
<li class="tabHeader" data-tabid="{{tabId}}" tabindex="0">
+ {{#if tabIcon}}<span class="icon {{tabIcon}}"></span>{{/if}}
<a href="#" tabindex="-1">{{label}}</a>
</li>
{{/each}}
diff --git a/apps/files_external/.l10nignore b/apps/files_external/.l10nignore
new file mode 100644
index 00000000000..3179ed23dd6
--- /dev/null
+++ b/apps/files_external/.l10nignore
@@ -0,0 +1,2 @@
+# compiled handlebar templates
+js/templates.js
diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js
index b871fe2f743..2d495281527 100644
--- a/apps/files_external/js/settings.js
+++ b/apps/files_external/js/settings.js
@@ -10,58 +10,6 @@
(function(){
-// TODO: move to a separate file
-var MOUNT_OPTIONS_DROPDOWN_TEMPLATE =
- '<div class="popovermenu open">'+
- // FIXME: options are hard-coded for now
- ' <ul>'+
- ' <li class="optionRow">'+
- ' <span class="menuitem">'+
- ' <input id="mountOptionsEncrypt" class="checkbox" name="encrypt" type="checkbox" value="true" checked="checked"/>'+
- ' <label for="mountOptionsEncrypt">{{t "files_external" "Enable encryption"}}</label>'+
- ' </span>'+
- ' </li>'+
- ' <li class="optionRow">'+
- ' <span class="menuitem">'+
- ' <input id="mountOptionsPreviews" class="checkbox" name="previews" type="checkbox" value="true" checked="checked"/>'+
- ' <label for="mountOptionsPreviews">{{t "files_external" "Enable previews"}}</label>'+
- ' </span>'+
- ' </li>'+
- ' <li class="optionRow">'+
- ' <span class="menuitem">'+
- ' <input id="mountOptionsSharing" class="checkbox" name="enable_sharing" type="checkbox" value="true"/>'+
- ' <label for="mountOptionsSharing">{{t "files_external" "Enable sharing"}}</label>'+
- ' </span>'+
- ' </li>'+
- ' <li class="optionRow">'+
- ' <span class="menuitem icon-search">'+
- ' <label for="mountOptionsFilesystemCheck">{{t "files_external" "Check for changes"}}</label>'+
- ' <select id="mountOptionsFilesystemCheck" name="filesystem_check_changes" data-type="int">'+
- ' <option value="0">{{t "files_external" "Never"}}</option>'+
- ' <option value="1" selected="selected">{{t "files_external" "Once every direct access"}}</option>'+
- ' </select>'+
- ' </span>'+
- ' </li>'+
- ' <li class="optionRow">'+
- ' <span class="menuitem">'+
- ' <input id="mountOptionsEncoding" class="checkbox" name="encoding_compatibility" type="checkbox" value="true"/>'+
- ' <label for="mountOptionsEncoding">{{mountOptionsEncodingLabel}}</label>'+
- ' </span>'+
- ' </li>'+
- ' <li class="optionRow">' +
- ' <span class="menuitem">' +
- ' <input id="mountOptionsReadOnly" class="checkbox" name="readonly" type="checkbox" value="true"/>' +
- ' <label for="mountOptionsReadOnly">{{t "files_external" "Read only"}}</label>' +
- ' </span>' +
- ' </li>' +
- ' <li class="optionRow persistent">' +
- ' <a href="#" class="menuitem remove icon-delete">' +
- ' <span>{{t "files_external" "Delete"}}</span>' +
- ' </a>' +
- ' </li>' +
- ' </ul>'+
- '</div>';
-
/**
* Returns the selection of applicable users in the given configuration row
*
@@ -514,14 +462,16 @@ MountOptionsDropdown.prototype = {
MountOptionsDropdown._last.hide();
}
- var template = MountOptionsDropdown._template;
- if (!template) {
- template = Handlebars.compile(MOUNT_OPTIONS_DROPDOWN_TEMPLATE);
- MountOptionsDropdown._template = template;
- }
-
- var $el = $(template({
- mountOptionsEncodingLabel: t('files_external', 'Compatibility with Mac NFD encoding (slow)')
+ var $el = $(OCA.External.Templates.mountOptionsDropDown({
+ mountOptionsEncodingLabel: t('files_external', 'Compatibility with Mac NFD encoding (slow)'),
+ mountOptionsEncryptLabel: t('files_external', 'Enable encryption'),
+ mountOptionsPreviewsLabel: t('files_external', 'Enable previews'),
+ mountOptionsSharingLabel: t('files_external', 'Enable sharing'),
+ mountOptionsFilesystemCheckLabel: t('files_external', 'Check for changes'),
+ mountOptionsFilesystemCheckOnce: t('files_external', 'Never'),
+ mountOptionsFilesystemCheckDA: t('files_external', 'Once every direct access'),
+ mountOptionsReadOnlyLabel: t('files_external', 'Read only'),
+ deleteLabel: t('files_external', 'Delete')
}));
this.$el = $el;
diff --git a/apps/files_external/js/statusmanager.js b/apps/files_external/js/statusmanager.js
index a65988353af..b8b5e1a9364 100644
--- a/apps/files_external/js/statusmanager.js
+++ b/apps/files_external/js/statusmanager.js
@@ -392,8 +392,7 @@ OCA.External.StatusManager = {
* @param mountData
*/
showCredentialsDialog: function (mountPoint, mountData) {
- var template = Handlebars.compile(OCA.External.StatusManager.credentialsDialogTemplate);
- var dialog = $(template({
+ var dialog = $(OCA.External.Templates.credentialsDialog({
credentials_text: t('files_external', 'Please enter the credentials for the {mount} mount', {
'mount': mountPoint
}),
diff --git a/apps/files_external/js/templates.js b/apps/files_external/js/templates.js
new file mode 100644
index 00000000000..067b3f5f5d7
--- /dev/null
+++ b/apps/files_external/js/templates.js
@@ -0,0 +1,37 @@
+(function() {
+ var template = Handlebars.template, templates = OCA.External.Templates = OCA.External.Templates || {};
+templates['credentialsDialog'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+ var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
+
+ return "<div id=\"files_external_div_form\"><div>\n <div>"
+ + alias4(((helper = (helper = helpers.credentials_text || (depth0 != null ? depth0.credentials_text : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"credentials_text","hash":{},"data":data}) : helper)))
+ + "</div>\n <form>\n <input type=\"text\" name=\"username\" placeholder=\""
+ + alias4(((helper = (helper = helpers.placeholder_username || (depth0 != null ? depth0.placeholder_username : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"placeholder_username","hash":{},"data":data}) : helper)))
+ + "\"/>\n <input type=\"password\" name=\"password\" placeholder=\""
+ + alias4(((helper = (helper = helpers.placeholder_password || (depth0 != null ? depth0.placeholder_password : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"placeholder_password","hash":{},"data":data}) : helper)))
+ + "\"/>\n </form>\n </div>\n</div>\n";
+},"useData":true});
+templates['mountOptionsDropDown'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+ var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
+
+ return "<div class=\"popovermenu open\">\n <ul>\n <li class=\"optionRow\">\n <span class=\"menuitem\">\n <input id=\"mountOptionsEncrypt\" class=\"checkbox\" name=\"encrypt\" type=\"checkbox\" value=\"true\" checked=\"checked\"/>\n <label for=\"mountOptionsEncrypt\">"
+ + alias4(((helper = (helper = helpers.mountOptionsEncryptLabel || (depth0 != null ? depth0.mountOptionsEncryptLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"mountOptionsEncryptLabel","hash":{},"data":data}) : helper)))
+ + "</label>\n </span>\n </li>\n <li class=\"optionRow\">\n <span class=\"menuitem\">\n <input id=\"mountOptionsPreviews\" class=\"checkbox\" name=\"previews\" type=\"checkbox\" value=\"true\" checked=\"checked\"/>\n <label for=\"mountOptionsPreviews\">"
+ + alias4(((helper = (helper = helpers.mountOptionsPreviewsLabel || (depth0 != null ? depth0.mountOptionsPreviewsLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"mountOptionsPreviewsLabel","hash":{},"data":data}) : helper)))
+ + "</label>\n </span>\n </li>\n <li class=\"optionRow\">\n <span class=\"menuitem\">\n <input id=\"mountOptionsSharing\" class=\"checkbox\" name=\"enable_sharing\" type=\"checkbox\" value=\"true\"/>\n <label for=\"mountOptionsSharing\">"
+ + alias4(((helper = (helper = helpers.mountOptionsSharingLabel || (depth0 != null ? depth0.mountOptionsSharingLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"mountOptionsSharingLabel","hash":{},"data":data}) : helper)))
+ + "</label>\n </span>\n </li>\n <li class=\"optionRow\">\n <span class=\"menuitem icon-search\">\n <label for=\"mountOptionsFilesystemCheck\">"
+ + alias4(((helper = (helper = helpers.mountOptionsFilesystemCheckLabel || (depth0 != null ? depth0.mountOptionsFilesystemCheckLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"mountOptionsFilesystemCheckLabel","hash":{},"data":data}) : helper)))
+ + "</label>\n <select id=\"mountOptionsFilesystemCheck\" name=\"filesystem_check_changes\" data-type=\"int\">\n <option value=\"0\">"
+ + alias4(((helper = (helper = helpers.mountOptionsFilesystemCheckOnce || (depth0 != null ? depth0.mountOptionsFilesystemCheckOnce : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"mountOptionsFilesystemCheckOnce","hash":{},"data":data}) : helper)))
+ + "</option>\n <option value=\"1\" selected=\"selected\">"
+ + alias4(((helper = (helper = helpers.mountOptionsFilesystemCheckDA || (depth0 != null ? depth0.mountOptionsFilesystemCheckDA : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"mountOptionsFilesystemCheckDA","hash":{},"data":data}) : helper)))
+ + "</option>\n </select>\n </span>\n </li>\n <li class=\"optionRow\">\n <span class=\"menuitem\">\n <input id=\"mountOptionsEncoding\" class=\"checkbox\" name=\"encoding_compatibility\" type=\"checkbox\" value=\"true\"/>\n <label for=\"mountOptionsEncoding\">"
+ + alias4(((helper = (helper = helpers.mountOptionsEncodingLabel || (depth0 != null ? depth0.mountOptionsEncodingLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"mountOptionsEncodingLabel","hash":{},"data":data}) : helper)))
+ + "</label>\n </span>\n </li>\n <li class=\"optionRow\">\n <span class=\"menuitem\">\n <input id=\"mountOptionsReadOnly\" class=\"checkbox\" name=\"readonly\" type=\"checkbox\" value=\"true\"/>\n <label for=\"mountOptionsReadOnly\">"
+ + alias4(((helper = (helper = helpers.mountOptionsReadOnlyLabel || (depth0 != null ? depth0.mountOptionsReadOnlyLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"mountOptionsReadOnlyLabel","hash":{},"data":data}) : helper)))
+ + "</label>\n </span>\n </li>\n <li class=\"optionRow persistent\">\n <a href=\"#\" class=\"menuitem remove icon-delete\">\n <span>"
+ + alias4(((helper = (helper = helpers.deleteLabel || (depth0 != null ? depth0.deleteLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"deleteLabel","hash":{},"data":data}) : helper)))
+ + "</span>\n </a>\n </li>\n </ul>\n</div>\n";
+},"useData":true});
+})(); \ No newline at end of file
diff --git a/apps/files_external/js/templates/credentialsDialog.handlebars b/apps/files_external/js/templates/credentialsDialog.handlebars
new file mode 100644
index 00000000000..c04ceef096b
--- /dev/null
+++ b/apps/files_external/js/templates/credentialsDialog.handlebars
@@ -0,0 +1,8 @@
+<div id="files_external_div_form"><div>
+ <div>{{credentials_text}}</div>
+ <form>
+ <input type="text" name="username" placeholder="{{placeholder_username}}"/>
+ <input type="password" name="password" placeholder="{{placeholder_password}}"/>
+ </form>
+ </div>
+</div>
diff --git a/apps/files_external/js/templates/mountOptionsDropDown.handlebars b/apps/files_external/js/templates/mountOptionsDropDown.handlebars
new file mode 100644
index 00000000000..09b0d708958
--- /dev/null
+++ b/apps/files_external/js/templates/mountOptionsDropDown.handlebars
@@ -0,0 +1,48 @@
+<div class="popovermenu open">
+ <ul>
+ <li class="optionRow">
+ <span class="menuitem">
+ <input id="mountOptionsEncrypt" class="checkbox" name="encrypt" type="checkbox" value="true" checked="checked"/>
+ <label for="mountOptionsEncrypt">{{mountOptionsEncryptLabel}}</label>
+ </span>
+ </li>
+ <li class="optionRow">
+ <span class="menuitem">
+ <input id="mountOptionsPreviews" class="checkbox" name="previews" type="checkbox" value="true" checked="checked"/>
+ <label for="mountOptionsPreviews">{{mountOptionsPreviewsLabel}}</label>
+ </span>
+ </li>
+ <li class="optionRow">
+ <span class="menuitem">
+ <input id="mountOptionsSharing" class="checkbox" name="enable_sharing" type="checkbox" value="true"/>
+ <label for="mountOptionsSharing">{{mountOptionsSharingLabel}}</label>
+ </span>
+ </li>
+ <li class="optionRow">
+ <span class="menuitem icon-search">
+ <label for="mountOptionsFilesystemCheck">{{mountOptionsFilesystemCheckLabel}}</label>
+ <select id="mountOptionsFilesystemCheck" name="filesystem_check_changes" data-type="int">
+ <option value="0">{{mountOptionsFilesystemCheckOnce}}</option>
+ <option value="1" selected="selected">{{mountOptionsFilesystemCheckDA}}</option>
+ </select>
+ </span>
+ </li>
+ <li class="optionRow">
+ <span class="menuitem">
+ <input id="mountOptionsEncoding" class="checkbox" name="encoding_compatibility" type="checkbox" value="true"/>
+ <label for="mountOptionsEncoding">{{mountOptionsEncodingLabel}}</label>
+ </span>
+ </li>
+ <li class="optionRow">
+ <span class="menuitem">
+ <input id="mountOptionsReadOnly" class="checkbox" name="readonly" type="checkbox" value="true"/>
+ <label for="mountOptionsReadOnly">{{mountOptionsReadOnlyLabel}}</label>
+ </span>
+ </li>
+ <li class="optionRow persistent">
+ <a href="#" class="menuitem remove icon-delete">
+ <span>{{deleteLabel}}</span>
+ </a>
+ </li>
+ </ul>
+</div>
diff --git a/apps/files_external/list.php b/apps/files_external/list.php
index bda484d996e..35ad6e60447 100644
--- a/apps/files_external/list.php
+++ b/apps/files_external/list.php
@@ -28,6 +28,7 @@ $tmpl = new OCP\Template('files_external', 'list', '');
/* Load Status Manager */
\OCP\Util::addStyle('files_external', 'external');
\OCP\Util::addScript('files_external', 'statusmanager');
+\OCP\Util::addScript('files_external', 'templates.js');
\OCP\Util::addScript('files_external', 'rollingqueue');
OCP\Util::addScript('files_external', 'app');
diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php
index b3900aaf93d..1d1fcee1d8a 100644
--- a/apps/files_external/templates/settings.php
+++ b/apps/files_external/templates/settings.php
@@ -14,7 +14,10 @@
$l->t("Once every direct access");
$l->t('Read only');
- script('files_external', 'settings');
+ script('files_external', [
+ 'settings',
+ 'templates'
+ ]);
style('files_external', 'settings');
// load custom JS
diff --git a/apps/files_sharing/js/app.js b/apps/files_sharing/js/app.js
index 750f66236ae..b6ca71e15d1 100644
--- a/apps/files_sharing/js/app.js
+++ b/apps/files_sharing/js/app.js
@@ -34,7 +34,11 @@ OCA.Sharing.App = {
id: 'shares.self',
sharedWithUser: true,
fileActions: this._createFileActions(),
- config: OCA.Files.App.getFilesConfig()
+ config: OCA.Files.App.getFilesConfig(),
+ // The file list is created when a "show" event is handled, so
+ // it should be marked as "shown" like it would have been done
+ // if handling the event with the file list already created.
+ shown: true
}
);
@@ -56,7 +60,11 @@ OCA.Sharing.App = {
id: 'shares.others',
sharedWithUser: false,
fileActions: this._createFileActions(),
- config: OCA.Files.App.getFilesConfig()
+ config: OCA.Files.App.getFilesConfig(),
+ // The file list is created when a "show" event is handled, so
+ // it should be marked as "shown" like it would have been done
+ // if handling the event with the file list already created.
+ shown: true
}
);
@@ -78,7 +86,11 @@ OCA.Sharing.App = {
id: 'shares.link',
linksOnly: true,
fileActions: this._createFileActions(),
- config: OCA.Files.App.getFilesConfig()
+ config: OCA.Files.App.getFilesConfig(),
+ // The file list is created when a "show" event is handled, so
+ // it should be marked as "shown" like it would have been done
+ // if handling the event with the file list already created.
+ shown: true
}
);
@@ -101,7 +113,11 @@ OCA.Sharing.App = {
showDeleted: true,
sharedWithUser: true,
fileActions: this._restoreShareAction(),
- config: OCA.Files.App.getFilesConfig()
+ config: OCA.Files.App.getFilesConfig(),
+ // The file list is created when a "show" event is handled, so
+ // it should be marked as "shown" like it would have been done
+ // if handling the event with the file list already created.
+ shown: true
}
);
@@ -122,7 +138,11 @@ OCA.Sharing.App = {
{
id: 'shares.overview',
config: OCA.Files.App.getFilesConfig(),
- isOverview: true
+ isOverview: true,
+ // The file list is created when a "show" event is handled, so
+ // it should be marked as "shown" like it would have been done
+ // if handling the event with the file list already created.
+ shown: true
}
);
diff --git a/apps/files_sharing/js/sharedfilelist.js b/apps/files_sharing/js/sharedfilelist.js
index 3a6de0d5012..7fa38a58c59 100644
--- a/apps/files_sharing/js/sharedfilelist.js
+++ b/apps/files_sharing/js/sharedfilelist.js
@@ -90,7 +90,7 @@
var permission = fileData.permissions;
$tr.attr('data-share-permissions', permission);
}
-
+
// add row with expiration date for link only shares - influenced by _createRow of filelist
if (this._linksOnly) {
var expirationTimestamp = 0;
@@ -107,6 +107,8 @@
modifiedColor = 160;
}
+ var formatted;
+ var text;
if (expirationTimestamp > 0) {
formatted = OC.Util.formatDate(expirationTimestamp);
text = OC.Util.relativeModifiedDate(expirationTimestamp);
@@ -232,7 +234,7 @@
promises.push($.ajax(remoteShares));
}
if (this._isOverview) {
- shares.data.shared_with_me = !shares.data.shared_with_me
+ shares.data.shared_with_me = !shares.data.shared_with_me;
promises.push($.ajax(shares));
}
}
@@ -242,7 +244,7 @@
return this._reloadCall.then(callBack, callBack);
},
- reloadCallback: function(shares, remoteShares, additionnalShares) {
+ reloadCallback: function(shares, remoteShares, additionalShares) {
delete this._reloadCall;
this.hideMask();
@@ -259,8 +261,8 @@
if (remoteShares && remoteShares[0] && remoteShares[0].ocs) {
remoteShares = remoteShares[0];
}
- if (additionnalShares && additionnalShares[0] && additionnalShares[0].ocs) {
- additionnalShares = additionnalShares[0];
+ if (additionalShares && additionalShares[0] && additionalShares[0].ocs) {
+ additionalShares = additionalShares[0];
}
if (shares.ocs && shares.ocs.data) {
@@ -271,8 +273,8 @@
files = files.concat(this._makeFilesFromRemoteShares(remoteShares.ocs.data));
}
- if (additionnalShares && additionnalShares && additionnalShares.ocs && additionnalShares.ocs.data) {
- files = files.concat(this._makeFilesFromShares(additionnalShares.ocs.data, !this._sharedWithUser));
+ if (additionalShares && additionalShares.ocs && additionalShares.ocs.data) {
+ files = files.concat(this._makeFilesFromShares(additionalShares.ocs.data, !this._sharedWithUser));
}
@@ -444,12 +446,6 @@
// Sort by expected sort comparator
return files.sort(this._sortComparator);
},
-
- _onUrlChanged: function(e) {
- if (e && _.isString(e.dir)) {
- this.changeDirectory(e.dir, false, true);
- }
- }
});
/**
diff --git a/apps/files_sharing/js/sharetabview.js b/apps/files_sharing/js/sharetabview.js
index fc7f2c5f045..3944293d5c1 100644
--- a/apps/files_sharing/js/sharetabview.js
+++ b/apps/files_sharing/js/sharetabview.js
@@ -32,6 +32,10 @@
return t('files_sharing', 'Sharing');
},
+ getIcon: function() {
+ return 'icon-shared';
+ },
+
/**
* Renders this details view
*/
diff --git a/apps/files_sharing/lib/Controller/ShareController.php b/apps/files_sharing/lib/Controller/ShareController.php
index 8d02cc82fd2..1e3cbb51028 100644
--- a/apps/files_sharing/lib/Controller/ShareController.php
+++ b/apps/files_sharing/lib/Controller/ShareController.php
@@ -35,6 +35,7 @@
namespace OCA\Files_Sharing\Controller;
+use OC\Security\CSP\ContentSecurityPolicy;
use OC_Files;
use OC_Util;
use OCA\FederatedFileSharing\FederatedShareProvider;
@@ -158,7 +159,16 @@ class ShareController extends AuthPublicShareController {
$event = new GenericEvent(null, $templateParameters);
$this->eventDispatcher->dispatch('OCA\Files_Sharing::loadAdditionalScripts::publicShareAuth', $event);
- return new TemplateResponse('core', 'publicshareauth', $templateParameters, 'guest');
+ $response = new TemplateResponse('core', 'publicshareauth', $templateParameters, 'guest');
+ if ($this->share->getSendPasswordByTalk()) {
+ $csp = new ContentSecurityPolicy();
+ $csp->addAllowedConnectDomain('*');
+ $csp->addAllowedMediaDomain('blob:');
+ $csp->allowEvalScript(true);
+ $response->setContentSecurityPolicy($csp);
+ }
+
+ return $response;
}
/**
@@ -170,7 +180,16 @@ class ShareController extends AuthPublicShareController {
$event = new GenericEvent(null, $templateParameters);
$this->eventDispatcher->dispatch('OCA\Files_Sharing::loadAdditionalScripts::publicShareAuth', $event);
- return new TemplateResponse('core', 'publicshareauth', $templateParameters, 'guest');
+ $response = new TemplateResponse('core', 'publicshareauth', $templateParameters, 'guest');
+ if ($this->share->getSendPasswordByTalk()) {
+ $csp = new ContentSecurityPolicy();
+ $csp->addAllowedConnectDomain('*');
+ $csp->addAllowedMediaDomain('blob:');
+ $csp->allowEvalScript(true);
+ $response->setContentSecurityPolicy($csp);
+ }
+
+ return $response;
}
protected function verifyPassword(string $password): bool {
diff --git a/apps/files_trashbin/js/app.js b/apps/files_trashbin/js/app.js
index 82e47d510bf..199cb7d4f84 100644
--- a/apps/files_trashbin/js/app.js
+++ b/apps/files_trashbin/js/app.js
@@ -51,7 +51,11 @@ OCA.Trashbin.App = {
iconClass: 'icon-delete',
}
],
- client: this.client
+ client: this.client,
+ // The file list is created when a "show" event is handled, so
+ // it should be marked as "shown" like it would have been done
+ // if handling the event with the file list already created.
+ shown: true
}
);
},
diff --git a/apps/files_versions/.l10nignore b/apps/files_versions/.l10nignore
new file mode 100644
index 00000000000..8b832897e3f
--- /dev/null
+++ b/apps/files_versions/.l10nignore
@@ -0,0 +1,2 @@
+# compiled vue templates
+js/templates.js
diff --git a/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php b/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php
index c0fba230a26..5a7212a6522 100644
--- a/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php
+++ b/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php
@@ -50,9 +50,15 @@ class RetryJob extends Job {
$this->clientService = $clientService;
$this->jobList = $jobList;
+ if ($config->getSystemValue('has_internet_connection', true) === false) {
+ return;
+ }
+
$this->lookupServer = $config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com');
- $this->lookupServer = rtrim($this->lookupServer, '/');
- $this->lookupServer .= '/users';
+ if (!empty($this->lookupServer)) {
+ $this->lookupServer = rtrim($this->lookupServer, '/');
+ $this->lookupServer .= '/users';
+ }
}
/**
@@ -69,7 +75,7 @@ class RetryJob extends Job {
}
protected function run($argument) {
- if($argument['retryNo'] === 5) {
+ if ($argument['retryNo'] === 5 || empty($this->lookupServer)) {
return;
}
diff --git a/apps/lookup_server_connector/lib/UpdateLookupServer.php b/apps/lookup_server_connector/lib/UpdateLookupServer.php
index ae8fcbd67ca..7902ede8816 100644
--- a/apps/lookup_server_connector/lib/UpdateLookupServer.php
+++ b/apps/lookup_server_connector/lib/UpdateLookupServer.php
@@ -64,15 +64,25 @@ class UpdateLookupServer {
$this->signer = $signer;
$this->jobList = $jobList;
+ if($config->getSystemValue('has_internet_connection', true) === false) {
+ return;
+ }
+
$this->lookupServer = $config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com');
- $this->lookupServer = rtrim($this->lookupServer, '/');
- $this->lookupServer .= '/users';
+ if(!empty($this->lookupServer)) {
+ $this->lookupServer = rtrim($this->lookupServer, '/');
+ $this->lookupServer .= '/users';
+ }
}
/**
* @param IUser $user
*/
public function userUpdated(IUser $user) {
+ if(empty($this->lookupServer)) {
+ return;
+ }
+
$userData = $this->accountManager->getUser($user);
$publicData = [];
diff --git a/apps/oauth2/.l10nignore b/apps/oauth2/.l10nignore
new file mode 100644
index 00000000000..e440b631755
--- /dev/null
+++ b/apps/oauth2/.l10nignore
@@ -0,0 +1,2 @@
+# compiled vue templates
+js/oauth2.js
diff --git a/apps/oauth2/package-lock.json b/apps/oauth2/package-lock.json
index afb2f0f8185..b011364dce2 100644
--- a/apps/oauth2/package-lock.json
+++ b/apps/oauth2/package-lock.json
@@ -1097,9 +1097,9 @@
}
},
"duplexify": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
- "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz",
+ "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==",
"dev": true,
"requires": {
"end-of-stream": "^1.0.0",
@@ -1508,8 +1508,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"aproba": {
"version": "1.2.0",
@@ -1924,8 +1923,7 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -1981,7 +1979,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -2025,14 +2022,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -2633,13 +2628,14 @@
}
},
"md5.js": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
- "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
"dev": true,
"requires": {
"hash-base": "^3.0.0",
- "inherits": "^2.0.1"
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
}
},
"mem": {
@@ -2812,9 +2808,9 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"nan": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz",
- "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==",
+ "version": "2.11.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
+ "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
"dev": true,
"optional": true
},
@@ -2838,9 +2834,9 @@
}
},
"neo-async": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz",
- "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz",
+ "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==",
"dev": true
},
"nice-try": {
@@ -3270,16 +3266,17 @@
"dev": true
},
"public-encrypt": {
- "version": "4.0.2",
- "resolved": "http://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
- "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
"browserify-rsa": "^4.0.0",
"create-hash": "^1.1.0",
"parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1"
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
}
},
"pump": {
@@ -4247,9 +4244,9 @@
}
},
"webpack": {
- "version": "4.20.2",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.20.2.tgz",
- "integrity": "sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==",
+ "version": "4.22.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.22.0.tgz",
+ "integrity": "sha512-2+3EYFqyhPl12buLQ42QPHEEh8BHn3P9ipRvGRHhdfKJ1u9svhZ3QjhIoEdL5SeIhL5gfOZVbBnartYEabkEsg==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.7.8",
diff --git a/apps/oauth2/package.json b/apps/oauth2/package.json
index bb061f36bbc..465427cc66d 100644
--- a/apps/oauth2/package.json
+++ b/apps/oauth2/package.json
@@ -24,7 +24,7 @@
"file-loader": "^1.1.11",
"vue-loader": "^15.4.2",
"vue-template-compiler": "^2.5.17",
- "webpack": "^4.20.2",
+ "webpack": "^4.22.0",
"webpack-cli": "^3.1.2",
"webpack-merge": "^4.1.4"
}
diff --git a/apps/systemtags/js/app.js b/apps/systemtags/js/app.js
index 04ac53d3b32..2ef88564528 100644
--- a/apps/systemtags/js/app.js
+++ b/apps/systemtags/js/app.js
@@ -28,7 +28,12 @@
{
id: 'systemtags',
fileActions: this._createFileActions(),
- config: OCA.Files.App.getFilesConfig()
+ config: OCA.Files.App.getFilesConfig(),
+ // The file list is created when a "show" event is handled,
+ // so it should be marked as "shown" like it would have been
+ // done if handling the event with the file list already
+ // created.
+ shown: true
}
);
diff --git a/apps/updatenotification/.l10nignore b/apps/updatenotification/.l10nignore
new file mode 100644
index 00000000000..7439adf0658
--- /dev/null
+++ b/apps/updatenotification/.l10nignore
@@ -0,0 +1,2 @@
+# compiled vue templates
+js/updatenotification.js
diff --git a/apps/updatenotification/package-lock.json b/apps/updatenotification/package-lock.json
index 0683f983a5e..4c40fce75bc 100644
--- a/apps/updatenotification/package-lock.json
+++ b/apps/updatenotification/package-lock.json
@@ -1130,9 +1130,9 @@
}
},
"duplexify": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
- "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz",
+ "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==",
"dev": true,
"requires": {
"end-of-stream": "^1.0.0",
@@ -2645,13 +2645,14 @@
}
},
"md5.js": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
- "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
"dev": true,
"requires": {
"hash-base": "^3.0.0",
- "inherits": "^2.0.1"
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
}
},
"mem": {
@@ -2843,9 +2844,9 @@
}
},
"neo-async": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz",
- "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz",
+ "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==",
"dev": true
},
"nice-try": {
@@ -3275,16 +3276,17 @@
"dev": true
},
"public-encrypt": {
- "version": "4.0.2",
- "resolved": "http://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
- "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
"browserify-rsa": "^4.0.0",
"create-hash": "^1.1.0",
"parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1"
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
}
},
"pump": {
@@ -4243,9 +4245,9 @@
}
},
"webpack": {
- "version": "4.20.2",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.20.2.tgz",
- "integrity": "sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==",
+ "version": "4.22.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.22.0.tgz",
+ "integrity": "sha512-2+3EYFqyhPl12buLQ42QPHEEh8BHn3P9ipRvGRHhdfKJ1u9svhZ3QjhIoEdL5SeIhL5gfOZVbBnartYEabkEsg==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.7.8",
diff --git a/apps/updatenotification/package.json b/apps/updatenotification/package.json
index a3566af5922..3821cb1b3e2 100644
--- a/apps/updatenotification/package.json
+++ b/apps/updatenotification/package.json
@@ -32,7 +32,7 @@
"file-loader": "^1.1.11",
"vue-loader": "^15.4.2",
"vue-template-compiler": "^2.5.17",
- "webpack": "^4.20.2",
+ "webpack": "^4.22.0",
"webpack-cli": "^3.1.2",
"webpack-merge": "^4.1.4"
}
diff --git a/apps/user_ldap/css/renewPassword.css b/apps/user_ldap/css/renewPassword.css
index 7493789eab0..9f49dc23cae 100644
--- a/apps/user_ldap/css/renewPassword.css
+++ b/apps/user_ldap/css/renewPassword.css
@@ -22,7 +22,7 @@
.tooltip {
position:absolute;
display:block;
- font-family:'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;
+ font-family: 'Nunito', 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;
font-style:normal;
font-weight:400;
letter-spacing:normal;
diff --git a/apps/user_ldap/js/wizard/wizardTabAbstractFilter.js b/apps/user_ldap/js/wizard/wizardTabAbstractFilter.js
index c9c3aeb241d..0131816e4ee 100644
--- a/apps/user_ldap/js/wizard/wizardTabAbstractFilter.js
+++ b/apps/user_ldap/js/wizard/wizardTabAbstractFilter.js
@@ -302,7 +302,7 @@ OCA = OCA || {};
if( !view.getFilterItem().$element.val()
&& view.parsedFilterMode === view.configModel.FILTER_MODE_ASSISTED
) {
- view.configModel.requestWizard(view.getFilterItem().keyName)
+ view.configModel.requestWizard(view.getFilterItem().keyName);
}
} else if (payload.feature === view.getGroupsItem().featureName) {
if(view.manyGroupsSupport && payload.data.length > view._groupElementSwitchThreshold) {