Commit graph

282 commits

Author SHA1 Message Date
Robin Appelman
9f1d497a0b
Merge pull request #38261 from fsamapoor/replace_strpos_calls_in_lib_private
Refactors "strpos" calls in  lib/private to improve code readability.
2023-06-01 23:10:00 +02:00
Faraz Samapoor
e7cc7653b8 Refactors "strpos" calls in lib/private to improve code readability.
Signed-off-by: Faraz Samapoor <fsamapoor@gmail.com>
2023-05-15 15:17:19 +03:30
Julius Härtl
0ebb00d01d
fix: Do not attempt to use l10n files as sources for combined js files
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-15 08:29:05 +02:00
Ferdinand Thiessen
31c01fa3da fix(JSResourceLocator): Handle missing translations silently
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-05-11 18:22:24 +02:00
Ferdinand Thiessen
a3595f73ac fix(OC/Template): Allow .mjs files within custom app paths
If apps are installed in non standard app paths, we need
to check `$app_path/$script` instead of only doing so for translations.
Without this it would fallback to `.js` extension even if a `.mjs` file exists.

Also tried make the code more selfe explaining.

Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2023-02-22 21:19:37 +01:00
Ferdinand Thiessen
00e041b907 feat(template): Allow JSResourceLocator to find ES6 scripts
Enable module js (ES6) support on the `JSResourceLocator`.
This changes `JSResourceLocator` to look for `.mjs` files first
to allow applications to provide a fallback `.js` for older Nextcloud versions.

Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2023-02-22 21:19:37 +01:00
Ferdinand Thiessen
dbb1fa1273 fix(OC/Template): Remove usage of deprecated functions in JSResourceLocator
Move from `\OC_App::getAppPath` to `IAppManager::getAppPath`.

Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2023-02-22 21:19:37 +01:00
Julius Härtl
4cebfa95e6
fix: Fix loading styles from core/css/
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-02-20 09:28:30 +01:00
Côme Chilliet
f5c361cf44
composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-20 11:45:08 +01:00
Thomas Citharel
34ce53355a
Catch NotFoundException as well in JSCombiner
Follow-up to #35576

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-12-08 11:50:50 +01:00
Julius Härtl
4bcaeb6c2c
Drop 3rdparty root since it is unused and adjust tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-12-07 23:55:32 +01:00
Julius Härtl
3e5838198c
Use single resource locator instance
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-12-07 22:32:05 +01:00
John Molakvoæ
2d98cd1daf
Add config and fix selenium
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-10-19 10:04:51 +02:00
Carl Schwan
54031e370a Fix various other small psalm issues
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 12:40:35 +02:00
Carl Schwan
de168b38e9
Make it possible to load theme/<themename>/dist
This fix a regression with the theming api following the change in
webpack bundling introduced in 24

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-26 13:46:29 +02:00
Christopher Ng
7a13388fe9 Hide deprecated projects in sharing tab by default
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-08-18 01:50:37 +00:00
Ferdinand Thiessen
1da424595f Feature: Add and expose frontend loglevel
This adds a new config variable `loglevel_frontend`,
allowing to configure the logging level of the
browser part as requested in nextcloud/nextcloud-logger#141

If not configured the `loglevel` is used as the fallback.

Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-06-06 13:37:04 +02:00
Joas Schilling
f9efc410fa
Restore old behaviour of sending flase for not found apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-30 12:41:35 +02:00
Joas Schilling
eb1a69d627
Improve JSConfigHelper code quality a bit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-30 12:33:45 +02:00
John Molakvoæ
9a9409e315
Remove SCSSCacher
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-05-13 16:10:45 +02:00
John Molakvoæ
3c6253f965
Remove old legacy SvgController and IconsCacher
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-05-10 23:24:07 +02:00
Carl Schwan
69b36fc2c5 Don't inject Bruteforce capability info in the webui
This capability do DB access and as far I know is not used by the webui.
This remove one DB query for each page load.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-07 17:33:29 +02:00
Côme Chilliet
1809386862
Fix codestyle
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-24 16:21:27 +01:00
Côme Chilliet
6be7aa112f
Migrate from ILogger to LoggerInterface in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-24 16:21:25 +01:00
Julius Härtl
e8cf1a8759
Avoid double-loading dist/core-main.js when apps have scripts named main
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-03-08 15:37:53 +01:00
Julius Härtl
55fd974926
Remove shortFooter/longFooter to avoid unnecessary navigation loading
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-01-12 12:16:39 +01:00
Louis Chemineau
6f62c17a95
Detect app's script higher up as some scripts were shadowed
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-01-08 10:15:48 +01:00
Louis Chemineau
f8f09bff04
Restore some line in JSResourceLocator.php
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-01-08 10:11:58 +01:00
John Molakvoæ (skjnldsv)
b664aad7ab
Move bundles to /dist
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2022-01-08 10:11:58 +01:00
Carl Schwan
dfb569f097
Follow upstream security recommandation
See https://scssphp.github.io/scssphp/docs/#security-considerations

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-12-02 15:57:53 +01:00
MichaIng
9189bc21fb Correct comment about OC_Defaults being used
Signed-off-by: MichaIng <micha@dietpi.com>
2021-11-15 18:44:02 +01:00
Carl Schwan
df3d9107ef
Fix core depending on theming app
This was introduced in 309354852f
to fix a bug but I can't reproduce the bug after reverting this change.

Ideally we would need to create an interface in OCP and cleanup OC_Defaults
instead of depending on OC_Defaults.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-11-12 15:04:24 +01:00
Christopher Ng
309354852f Profile backend
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-10-19 04:59:35 +00:00
Karel Hink
18cc6c11b5 Fix Lots of Error: file_exists(): open_basedir restriction in effect. in Log
Signed-off-by: Karel Hink <info@karelhink.cz>
2021-07-30 19:28:52 +00:00
Julius Härtl
c0474ba364
Use product name in places where it is appropriate rather than the instance name
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-06-16 11:42:53 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Joas Schilling
13b37a5255
Do not allow to overwrite some variables
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-27 13:55:35 +02:00
Vincent Petry
af61486aea
Separate settings for remote share expiration
Added separate settings for default and enforced expiration date for
remote shares.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-04-15 10:06:09 +02:00
Roeland Jago Douma
68ec18323d Fix types in the Group Manager
Psalm found an issue. However the issue found was because of lying
docblocks. Fixed those and did some typing to make it all better.

For #25839

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-03 14:52:47 +01:00
dependabot-preview[bot]
eb502c02ff
Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +01:00
Morris Jobke
5ed673e5eb
Merge pull request #25073 from nextcloud/psalm/24521/remove-unneeded-casts
Remove unneeded casts that were found by Psalm
2021-01-11 14:15:16 +01:00
Morris Jobke
24d436cb60
Remove unneeded casts that were found by Psalm
In preparation of the update of Psalm from 4.2.1 to 4.3.1+ (see https://github.com/nextcloud/server/pull/24521)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-11 13:14:41 +01:00
Christoph Wurst
c3cb288268
Bump scssphp/scssphp from 1.0.3 to 1.4.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-11 12:41:25 +01:00
Roeland Jago Douma
ed1dcd3651
Set the JSCombiner cache if needed
Found while debugging a customer setup. They had to flush their Redis.
Hence the info was no longer there. Since they also used S3 this meant
requesting the files over and over on template render. Which on S3 is
not cheap.

Now we just write it back if we can't get it from the cache in the first
place. So that the next run has it cached properly again.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-06 16:15:17 +01:00
Christoph Wurst
d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
Arthur Schiwon
d8ad4ef6b5
use a consistent default value for sharing.maxAutocompleteResults
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 11:53:39 +01:00
Christoph Wurst
2526c5e042
Fix the config key on the sharing expire checkbox
We don't use `shareapi_internal_enforce_expire_date` anywhere.
`shareapi_enforce_internal_expire_date` is the one we want.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-24 14:17:41 +01:00
Christoph Wurst
979b291a36
Show the full trace of an exception
Because often we catch the exception at some point and then the trace is
misleading. What's really interesting is the trace of the *previous*
exception.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-10 10:35:08 +01:00
Roeland Jago Douma
cd849db8be
Avoid SCSS compilation if not needed
Now we do on each template load a compile with the SCSS variables to see
if they changed or not. However there is no real reason for this if the
variables didn't change.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-06 11:31:36 +01:00
Morris Jobke
4bf891f605
Merge pull request #23478 from nextcloud/fix/21059/fix-deadlock-in-scsscacher
Clear cached app config while waiting for the SCSSCache lock to return
2020-10-16 14:56:43 +02:00
Morris Jobke
cce716f9f3
Clear cached app config while waiting for the SCSSCache to finish processing the file
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 13:28:00 +02:00
Morris Jobke
9273436534
SCSSCacher - Lock should not be removed
This is within the failed lock acquiring branch. So the lock is free by another process and should not be removed because the cached file (that was created by the process having the lock) appeared on the filesystem.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 10:02:18 +02:00
Morris Jobke
e5fe3426c3
Provide log statements for SCSS cache
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 00:09:11 +02:00
Christoph Wurst
d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +02:00
Joas Schilling
87aa9b187e
Use the correct root to determinate the webroot for the resource
Since all the compiled routes are based on the server webroot,
we have to use this, independent from which app this belongs to.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-02 17:13:24 +02:00
Roeland Jago Douma
4768526b81
Give up after 10 seconds in SCSS timeout
Else we keep idling for ages which leads to bad UX

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-06-19 14:39:31 +02:00
Roeland Jago Douma
0209532638
Move to @nextcloud/capabilities package
And kill of oc_capabilities and _oc_capabilities globals

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-29 16:10:08 +02:00
Roeland Jago Douma
e822c33a90
Provide capabilities via initialstate
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-18 16:20:25 +02:00
Christoph Wurst
cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Julius Härtl
cbd20867b5
Provide config though initial state service
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-04-23 19:12:53 +02:00
Christoph Wurst
caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst
14c996d982
Use elseif instead of else if
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +02:00
Christoph Wurst
44577e4345
Remove trailing and in between spaces
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 16:07:47 +02:00
Christoph Wurst
afbd9c4e6e
Unify function spacing to PSR2 recommendation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 13:54:22 +02:00
Christoph Wurst
1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Christoph Wurst
b80ebc9674
Use the short array syntax, everywhere
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +01:00
Christoph Wurst
23eb0462e5
Use lowercase true, false and null constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 21:53:04 +01:00
Christoph Wurst
30d985b639
Migrate leafo/scssphp to scssphp/scssphp
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-01-23 14:52:16 +01:00
Christoph Wurst
5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Roeland Jago Douma
efce1fdfac
Expose internal expiration dates to JS
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-27 14:33:13 +01:00
Roeland Jago Douma
68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Julius Härtl
ee743867d4
Make sure the cache is only reset once at a time
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-10-15 15:17:16 +02:00
Julius Härtl
e51010b0f4
Use a distributed cache for the isCachedCache
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-10-15 11:56:02 +02:00
Roeland Jago Douma
f8aeef7ae9
Lock SCSS so we only run 1 job at a time
This is bit hacky but a start to lock the SCSS compiler properly
Retry during 10s then give up
Properly get error message
Do not clear locks and properly debug scss caching

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-12 16:18:02 +02:00
Joas Schilling
05381f00d2
Fall back to black for non-color values
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-06-20 15:23:06 +02:00
Christoph Wurst
0f3e438f7c
Move OC.theme to the bundle and deprecate oc_defaults
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-14 11:14:29 +02:00
Christoph Wurst
6b46d9f2e5
Move OC.getCapabilities to the bundle and deprecate OC._capabilities, oc_capabilities
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-13 21:30:01 +02:00
Christoph Wurst
acf0ca1541
Move OC.appswebroots to the bundle and deprecate oc_appswebroots
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-07 14:03:14 +02:00
Christoph Wurst
249a5dbdba
Move oc_webroot, OC.webroot and OC.getRootPath() to the bundle
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-06 17:55:30 +02:00
Christoph Wurst
6095ef2235
Move oc_debug to the bundle
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-06 10:12:47 +02:00
Christoph Wurst
d68be1ae4d
Deprecate oc_isadmin and move OC.isUserAdmin() to the bundle
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-03 15:49:49 +02:00
Christoph Wurst
9b79aa664d
Move oc_config to the bundle
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-02 09:42:32 +02:00
Joas Schilling
17d5e47937
Remove spaming debug logs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-15 12:13:44 +01:00
Morris Jobke
3f9cdeeb5f
Cleanup some PHPDoc leftovers and unused variables
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-06 15:43:56 +01:00
Joas Schilling
adbeb42c2c
Fix colorizeSvg with transformations that contain a comma (,)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-17 14:24:07 +01:00
Robin Appelman
2051943487
more caching for theming
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-07 01:27:49 +01:00
Julius Härtl
4acd053e4d
Do not fail if the icon file doesn't exists
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-12 17:31:54 +01:00
Julius Härtl
26b160cc43
Make sure to always load the latest icons-vars.css file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-12 11:00:56 +01:00
Roeland Jago Douma
60bcae55a9
Expose the info to the JS
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-02 13:44:45 +01:00
Morris Jobke
c9e6a99637
Merge pull request #12085 from nextcloud/add-gss-to-excluded-backends
add global site selector as user back-end which doesn't support password confirmation
2018-10-30 10:16:07 +01:00
Julius Härtl
34a71f57fc
Fix tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-29 13:06:55 +01:00
Julius Härtl
aec0a6c096
Fix icon cacher url matching
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-29 12:09:30 +01:00
Bjoern Schiessle
85d9f06cb8
add global site selector as user back-end which doesn't support password confirmation
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-27 15:43:51 +02:00
Julius Härtl
d21ded67a7
Keep list of icons in a separate file for use in the accessibility app
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-25 12:16:10 +02:00
Julius Härtl
0b2ef7e608
Remove default which didn't work
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-25 11:58:00 +02:00
Julius Härtl
152fb08288
Properly track data urls as well
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-25 11:58:00 +02:00
Julius Härtl
845f1b67d5
Directly embed icons into the icon-vars css file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-25 11:58:00 +02:00
Morris Jobke
2a17281cb6
Load apps/APP/l10n/*.js and themes/THEME/apps/APP/l10n/*.js
Before it quit right after finding the theme version of the l10n file which results in a not translated part of the UI.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-22 11:02:25 +02:00
John Molakvoæ (skjnldsv)
3095ec4125 Fix icons cacher regex for compressed output
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-19 13:06:04 +02:00
Julius Härtl
e8938df198
Move SCSS variable fetching before the variables.scss to properly calculate color values
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-08-29 16:47:39 +02:00