Remove scanAll which relies on the "shareinfo" endpoint that returns the
full cache tree.
The latter can become big for big shares and result in timeouts.
Furthermode, the full tree would be retrieved again for each and every
detected change which can become expensive quickly.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
In https://github.com/nextcloud/server/pull/28774 we disabled the
caching for the groupfolder application since it worked due to the fact
that in groupfolders, getFileIds could be called with the same $cacheId
and path for actually different groupfolders.
This revert this change and instead add the folderId from the
groupFolder to the cacheId. This solve the issue of the uniqueness of
the cacheId inside GroupFolder. Downside is that we introduce
groupfolder specific implementation inside the server repo.
The seconf optimization is to not consider paths starting with
__groupfolders in executeCheck. This is due to the fact that files in
the groupfolder application call two times executeCheck one time with
the url __groupfolder/<folderId>/<path> and the other time with <path>.
The first time will always return an empty systemTags array while the
second call will return the correct system tags.
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
This will only respect the setting inside the file app. For other apps
we will either need to do an API call or add an input field with the
same idea to spare a blocking api call.
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
(cherry picked from commit 1fa58be1aa)
Use a backup table to copy the data, drop table and recreate it with
correct primary key, then copy the data back and drop the backup table.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
for the following query 'SELECT "path" FROM "oc_filecache" WHERE ("storage" = $storage) AND ("size" < 0) ORDER BY "fileid" DESC LIMIT 1;'
currently the database will in some cases decide to priorize the sort by fileid over the filter when picking what index to use, resulting in a much slower query.
by creating an index that allows first sorting by fileid and also filter by storage and size this case will be greatly sped up
Signed-off-by: Robin Appelman <robin@icewind.nl>
Whenever an error occurs, also hide the progress bar.
The logic was also adjusted to properly detect uploads that are pending
deletion, in which case the progress bar can already be hidden.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Add a new approach for flagging an upload as aborted because we can't
rely on the browser fully cancelling the request as we now seem to
receive an error response from the server instead of a jQuery "abort"
message.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When using the browser back button or clicking on sections on the left
sidebar (like favorites), the "changeDirectory" jQuery event did not get
called, so apps like recommendations would not notice the directory
change.
This fixes the issue by also setting changeUrl to true when the file
list's directory got changed as a result from a URL change.
Added optional changedThroughUrl argument to make sure the event
recipient knows if the change was done through a URL change and make it
possible prevent a loop in the onDirectoryChange handler that actually
changes the URL when the origin was already from a URL change.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
For most image formats, the header specifies the width/height.
PHP allocates an image object from that size, even if the actual
image data is much smaller. This image object size is not limited
by the limit configured in PHP.
The memory limit can be configured through "config.php" setting
"preview_max_memory" and defaults to 128 MBytes which should be
enough for most images without filling up all memory.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
publicpage.js is loaded very early and cannot rely on jquery being loaded already.
Move the use of `$` into the `DomContentLoaded` handler.
Signed-off-by: Azul <azul@riseup.net>
Fixes an issue with transfer ownership in move mode where the folder
"files_encryption/keys/files" already exists.
Instead of failing, its existence is checked before calling mkdir.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When remoteIsOwnCloud trows LocalServerException, the storage is
unavailable and instead of crashing the scanner, ignore the specific
storage.
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
remoteIsOwnCloud might throw an exception when the host is localhost.
Handle this case instead of aborting completely. The behavior is the
same as that is done 10 lines under it
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
This only concerns subfolder and files inside a shared folder and is
used as fallback when the OCS api returns a empty result, because it
only works on the shared folder and not the content inside of it.
This unify the tab with the folder list.
This offers a less descriptive share information but making the
OCS api returns all the details even for the subfolder would very
probably be bad for performance (since we would need to fetch the shares
for all the parent folders until we found one or are in the root folder).
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Using iconv for translit depends upon server configuration, locale, and
PHP version. Using htmlentities instead to have a consistent behavior
independent of configuration.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Co-authored-by: MichaIng <micha@dietpi.com>
- the issue was present only when using PHP based resolving of nested
group members. Normally nested members are common in AD (and Samba4) and
are resolved per LDAP_MATCHING_RULE_IN_CHAIN by default
- resolving nested members is recursive
- when the cache entry was created it happend for intermediate groups, too,
containing members from the parent group
- the check was added to only cache the root group with its members
- a runtime cache stores intermediate ldap read results
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Group shares might exist even after a group got deleted.
This fix catches the situation and discards the notification for the
obsolete group.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Co-authored-by: Joas Schilling <coding@schilljs.com>
This avoids fatal errors on PHP>=8, and warnings on older versions.
Log should also be clearer.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
The documentation says it can return false, and even if that is highly
unlikely for sha256, better safe than sorry.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
We cannot set ldap_dn_hash column as notnull because it is empty for
existing users before postSchemaChange is called
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Adds an ldap_full_dn column to store the dn, and only store a sha256
hash in the ldap_dn which is shorter and can be indexed without
trouble.
Migration still needs to be implemented.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2FA set up is allowed when only backup codes are set up but no other
provider and no provider is failing.
This patch syncs up the login controller check with the challenge
controller check 10 lines above.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
When an external storage mount is shared with circles, it triggers the
share icon state to be rerendered. The picking of the mime type icon
would use the regular file icon because there is no actual icon for
"dir-external-root" that is shared.
This fixes the logic to use the "folder-external" icon in such
scenarios.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
In case of error there is no guarantee that $source or $target is set or
is a resource when handling an error.
Without this fix, there's a risk that fclose will fail and the actual
exception will not be thrown, making it impossible to find out about the
root cause.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When reaching the root dir, instead of reloading the file list we reload
the page completely. This trigger a redirection to the login page automatically
with the correct ?redirect_url= in thr url.
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
And hide the type error caused by a constructor call with missing
arguments.
`new $repairStep();` only works for the rare case that no arguments are
required. Anything else will throw. Then we previously hid the trace of
the more important query exception.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
According to PSR-3 the log message can have placeholders that are
replaced from the context object. Our logger implementation did that for
all PSR-3 logger methods. The only exception was our custom `logException`.
Since PsrLoggerAdapter calls logException when an exception key is
present in the context object, log messages were no longer interpolated.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This is cosmetical but if you have a large number of apps installed then
you'll see a wall of text during the server and app upgrade when it
tries to update each app via the app store. In may cases nothing will be
updated. For those boring cases we can hide the verbose info, but show
when occ is run with -v. Any actual update will still print a few lines.
Those are the important ones for the admin.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Directory entry file names are now normalized in getMetaData(),
getDirectoryContents() and opendir().
This makes the scanner work properly as it assumes pre-normalized names.
In case the names were not normalized, the scanner will now skip the
entries and display a warning when applicable.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
The encoding check for file names is now happening the Scanner, and an
event will be emitted only if the storage doesn't contain the encoding
compatibility wrapper.
The event is listened to by the occ scan command to be able to display a
warning in case of file name mismatches when they have NFD encoding.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
The scanner would not find a NFD-encoded file name in an
existing file list that is normalized.
This normalizes the file name before scanning.
Fixes issues where scanning repeatedly would make NFD files flicker in
and out of existence in the file cache.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Using escapeshellcmd to get current locale causes error
if the function is disabled.
Add fallbacks to prevent the error.
Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
When php version = 8, basename('§') does not bug even if LC_ALL is non-UTF-8 locale.
This cause OC_Util::isSetLocaleWorking() to skip setlocale("C.UTF-8").
Fix it by using escapeshellcmd instead of basename.
Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
This involved changing CacheQueryBuilder\whereParentIn to take a
parameter name, renaming the function accordingly.
Signed-off-by: Sijmen Schoon <me@sijmenschoon.nl>
Make sure that when a user copy a file from a directory they don't have
all permissions to a directory where they have more permissions, the
permissions are correctly set to the one from the parent taget folder.
This was caused by the ObjectStoreStorage::copyFromStorage using
the jailed storage and cache entry instead of the unjailed one like other
storages (the local one).
Steps to reproduce
+ Use object storage
+ Create a groupfolder with one group having full permission and another one
who can just read files.
+ With an user who is in the second group, copy a file from the groupfolder to
the home folder of this user.
+ The file in the home folder of the user will be read only and can't be deleted
even though it is in their home folder and they are the owner. In oc_filecache,
the permissions stored for this file are 1 (READ)
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
So far, the functions to find user statuses listed didn't respect user
enumeration settings (`shareapi_allow_share_dialog_user_enumeration`
and `shareapi_restrict_user_enumeration_to_group` core app settings).
Fix this privacy issue by returning an empty list in case
`shareapi_allow_share_dialog_user_enumeration` is unset or
`shareapi_restrict_user_enumeration_to_group` is set.
In the long run, we might want to return users from common groups if
`shareapi_restrict_user_enumeration_to_group` is set. It's complicated
to implement this in a way that scales, though. See the discussion at
https://github.com/nextcloud/server/pull/27879#pullrequestreview-753655308
for details.
Also, don't register the user_status dashboard widget at all if
`shareapi_allow_share_dialog_user_enumeration` is unset or
`shareapi_restrict_user_enumeration_to_group` is set.
Fixes: #27122
Signed-off-by: Jonas Meurer <jonas@freesources.org>
As a developer I have no clue what "Invalid route name" means. If the
exception gives me a hint I might find it easier to figure out why my
route triggers this error.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
For local users it's possible to select their calendar via the principal url and first update their own attendance status.
External users have no calendar event hence the recipient is the organizer.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
If the Federation app is disabled it is not possible to synchronize the
users from a different server.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
When the lookup server is disabled the address books can still be
exchanged between trusted servers. Therefore the user should be able to
set the "Federated" scope in that case.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Using advanced ACL, it is possible that an user has access to a
directory but not to a subdirectory, so the copying use
Common::copyFromStorage instead of Local::copyFromStorage.
Fix https://github.com/nextcloud/groupfolders/issues/1692
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
having the index work properly for the queries we need it for requires some additional options which dbal does not support at the momement.
to prevent making it harder to add the correct index later on we don't create the index for now on postgresql
Signed-off-by: Robin Appelman <robin@icewind.nl>
The reason that `filecache.path` hasn't had an index added is the mysql limitation of ~1kb for indexeded fields,
which is to small for the `path`, however mysql supports indexing only the first N bytes of a column instead of the entire column,
allowing us to add an index even if the column is to long.
Because the index doesn't cover the entire column it can't be used in all situations where a normal index would be used, but it does cover the `path like 'folder/path/%'` queries that are used in various places.
Sqlite and Postgresql don't support prefix indexes, but they also don't have the 1kb limit and DBAL handles the differences in index creation.
Signed-off-by: Robin Appelman <robin@icewind.nl>
mysql really likes to pick an index for sorting if it can't fully satisfy the where
filter with an index, since search queries pretty much never are fully filtered by index
mysql often picks an index for sorting instead of the *much* more useful index for filtering.
To bypass this, we tell mysql explicitly not to use the mtime (the default order field) index,
so it will instead pick an index that is actually useful.
Signed-off-by: Robin Appelman <robin@icewind.nl>
Drag and drop of external (OS filesystem) to subdirectories in the browser would fail on specific cases, mainly when the subdirectory was no longer off the root folder.
This seemed to have been an issue introduced with the subdirectory free space calculation [here](https://github.com/nextcloud/server/commit/f9536b08096ed1c80391af36d33a18198be1fced) and it seems to fail for any subdirectory that doesn't belong to the root folder.
Bug reports:
- https://help.nextcloud.com/t/drag-drop-into-subfolders/120731
- https://github.com/nextcloud/server/issues/24720
I couldn't find any reference on scenarios or quota management that would suggest when a subdirectory's free space would be different to the parent's free space, other than when on the root folder, where subdirectories can be external mounts.
As such, if my understanding is correct (please review), this calculation can - and should - be made by getting the free space from the first subdirectory in the total path, which caters for all subdirectory scenarios.
Please advise, happy to help improve this.
Co-authored-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
Signed-off-by: pjft <pjft@users.noreply.github.com>
- limitation by core tables (e.g. sharing), IDs are always 64chars
- when longer group IDs were requested they are hashed (does not affect
displaynames)
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
- store result when no name could be retrieved, too
- cached value is not an array, was treated wrongly
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
If the first 5 MB are not enough to grab a useful frame for the
thumbnail preview, fall back to reading the full file.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
In case no distributed memory cache is specified this adds
a database backend for ratelimit purposes.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
It's not expected that an app would be unavailable when the app
container is created but when services are registered, but Sentry tells
me on Nextcloud 21 there is an edge case where this can happen.
Therefore this patch hardens the code a bit to log a meaningful error
message and skipping the next code instead of logging a php notice for
the undefined index and an exception for calling a method on null.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This is because php-sodium will solve the missing PASSWORD_ARGON2I
constant problem only on >= php 7.4, previously argon2 wasn't part of
the standard extension and was disabled on Centos/RHEL.
So installing php-sodium on php 7.2 for example wouldn't hide the
message. Tested on Fedora with php 7.4, Centos 7 with php 7.2,
Centos 8 with php 7.2 and openSUSE with php 7.4.
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Whenever the command is run and a "legacy cipher" seems to be detected
when the legacy option is disabled, it's highly likely that the file is
actually unencrypted but the database contains a encrypted version
higher than 0 for some reason.
The command now detects this case and automatically sets the encrypted
version to 0 so that the file can be read again.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When a user has backup codes generated and got their 2FA enforced then
they should be able to set up TOTP and similar providers during the
login.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
On OCI an expression like to_char(events) end up as $row['to_char(events)'] in the query result.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
If 'filesystem_check_changes' was set to never, the cached size was alway set to -1 (Pending) on every access
Signed-off-by: Louis Chemineau <louis@chmn.me>
This should fix route matching in UnifiedSearchController on setups with
Nextcloud in a subfolder (webroot).
Fixes: #24144
Signed-off-by: Jonas Meurer <jonas@freesources.org>
The "name" column is now unused and the code is always inserting an
empty string. While this works with most databases, Oracle complains
because an empty string is equivalent to null.
To fix this, the column definition is changed to allow null values now.
Also added some logging in case of database exceptions, because without
this nothing would be logged to detect the above problem.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
When the option to hide downloads was selected at public link creation, the download button can be hidden by the audio html attribute controlsList="nodownload"
Signed-off-by: Florian Storz <florian.storz@devlix.de>
Applies the suggested transformation mentioned in
https://www.php.net/manual/en/migration80.incompatible.php,
> The @ operator will no longer silence fatal errors (E_ERROR,
> E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR,
> E_PARSE). Error handlers that expect error_reporting to be 0 when
> @ is used, should be adjusted to use a mask check instead
The new code still works on PHP 7, as error_reporting() already
returns 0 when diagnostics are suppressed.
This fixes https://github.com/nextcloud/server/issues/25807 in PHP 8.0.
For PHP 7.x, https://github.com/nextcloud/server/pull/22243 suppresses
the E_NOTICE message from the second session_start() call with the error
suppression operator @, and thus those E_NOTICE messages are still
logged in PHP 8.0.
See also https://github.com/nextcloud/server/issues/25806
Signed-off-by: Chih-Hsuan Yen <yan12125@gmail.com>
The issue is caused by the icon being positionned with negative margins
and the `overflow: hidden` rule when hide the icon when the text
overflows. Remove positioning with negative margins. This was only
happening in Firefox.
This fix#23849
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
The intention obviously was to check whether $lockingCacheClass is defined, and existing class, and available. It was however checked whether the $distributedCacheClass is an existing class, which would have caused an exception already in the previous distributed cache check.
Signed-off-by: MichaIng <micha@dietpi.com>
Depending on some settings (for example, if lookup server upload is
disabled) some items can be hidden in the scope menu. However, if the
user selected an scope in the past once the settings were changed the
scope was no longer visible in the menu. Now the active scope will be
always visible in the menu, although if it is an excluded scope it will
be disabled. Selecting any other scope will then hide the excluded and
no longer active one.
When upload to the lookup server is disabled the scope menu was hidden
for display name and email in the personal information settings; now the
menu will be always shown to enable the above described behaviour.
Note that the menu will be shown even if there is a single available
scope so the user can read its description.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
"parsePhoneNumber()" expects a string, so a TypeError would be thrown if
the phone number value is null.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The controller can receive an optional subset of the properties of the
user settings; values not given are set to "null" by default. However,
those null values overwrote the previously existing values, so in
practice any value not given was deleted from the user settings. Now
only non null values overwrite the previous values.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
"AccountManager::updateUser()" wipes previous user data with whichever
user data is given (except for some adjustments, like resetting the
verified status when needed). As the controller overrode the properties
those properties would lose some of their attributes even if they are
not affected by the changes made by the controller. Now the controller
only modifies the attributes set ("value" and "scope") to prevent that.
Note that with this change the controller no longer removes the
"verified" status, but this is not a problem because, as mentioned,
"AccountManager::updateUser()" resets them when needed (for example,
when the value of the website property changes).
This change is a previous step to fix overwritting properties with null
values, and it will prevent the controller from making unexpected
changes if more attributes are added in the future.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Right now it makes no difference, but this should make future tests
clearer, specially in case of failure.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Return an error when running occ encryption:fix-encrypted-version
when master key encryption is not enabled.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Fixed setup to use EncryptionTrait like other existing tests.
Fix expectations to not rely on side effects from previous test cases.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When running occ encryption:fix-encrypted-version, detect whether the
setting 'encryption_skip_signature_check' is set and abort if it is,
because the repair cannot detect version mismatch errors with it
enabled.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
- determine shares may via Sharing code result in user exists checks
- this may result in an infinite loop when user exists was called before
- the info is really only required at one occ command
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
If, for whatever reason, during the loading of a crash reporter a new
log entry is generated, then the lazy loading mechanism will be invoked
*again* while it's already executed. This doesn't result in an endless
recursion, but means that the crash reporters will be built and
registered many times. This then means any further log entry will be
logged x times instead of once.
Unshift makes sure to take the class off the registration list right
away, so another invokation of the same method won't try to do the same
job.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
addOrderBy expects a order expression. For the migration scenario we have column objects. Column objects are not supported by quoteColumnName yet.
A column object as order expression is most likely an edgy thing when migration database information.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
Before we just turned it off and @suppressed the error if ob was not active.
In PHP 8 this error is no longer suppressed, so try to not cause it at all.
Signed-off-by: Richard de Boer <git@tubul.net>
PHP 8 shows deprecation warnings about this, see #25806
Removes the "default" values, as they actually are required parameters anyway.
Signed-off-by: Richard de Boer <git@tubul.net>
Fixes#26683
Before it used the instance name, which a) doesn't make sense to randomly guess email addresses and b) could contain characters that are not allowed in email addresses like spaces.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
When using S3 storage, we sometimes have open_basedir errors due to aws-sdk-php trying to read ~/.aws/config which is out of open_basedir restrictions.
Christoph Wurst already added csm=false config in #21406 but it wasn't enough, we also need to set use_arn_region=false, added in this commit.
Signed-off-by: Florent <florent@coppint.com>
Internally it is valid to provide multiple values for a property as
plain string. An exampe is given in the PhpDoc of
AddressBookImpl::search().
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
In some cases (for example you never send data to the lookup server)
there is no need for this job to even try.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
- saves an LDAP requests in these cases
- prevents a Protocol Error logged on < 7.3 API (for backports)
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
It was disabled by default for ages. And often resulted in unwanted
behavior. If admins want trusted servers they just have to do it
manually.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
15) Warning
The data provider specified for OCA\Files_Trashbin\Tests\ExpirationTest::testGetMaxAgeAsTimestamp is invalid.
PHPUnit\Util\Exception: Method timestampTestData does not exist
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
It is unreasonable to expect that one of these fields would be longer
than 2048 characters. Whilst some have definitely lower limits (such as
for phone numbers or domain names), a upper bound as sanity check makes
sense.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
The problem is that if a developer creates a structural error in their migration file,
they will already be marked as executed and an not be rerun.
Signed-off-by: Joas Schilling <coding@schilljs.com>
Added additional capability in the provisioning API to signal whether
the federation scope values can be used.
This is based on whether the lookup server upload is enabled or not.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When avatar scope is private, the PlaceholderAvatar is used to deliver a
placeholder avatar based on the user's initials.
This was implemented as a separate class for now to avoid messing with
the existing UserAvatar implementation and its generated vs
non-generated logic.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
The fields for phone number, address, website and twitter are now
editable regardless whether federated sharing and the lookup server
are enabled or not.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Use new scope values in settings page.
Adjust all consumers to use the new constants.
Map old scope values to new ones in account property getter.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Now not all fields have the "v2-private" option in place.
Fix dropdown issue when a scope was stored that is not listed after
disabling the lookup server.
Whenever the lookup server upload is disabled, the scope menu is now
displayed where it makes sense to allow switching between the two private
scopes.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Added new v2-private account manager scope that restricts the scope
further by excluding public link access.
Avatars with v2-private account scope are now showing the guest avatar
instead of the real avatar.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
The reason that `filecache.path` hasn't had an index added is the mysql limitation of ~1kb for indexeded fields,
which is to small for the `path`, however mysql supports indexing only the first N bytes of a column instead of the entire column,
allowing us to add an index even if the column is to long.
Because the index doesn't cover the entire column it can't be used in all situations where a normal index would be used, but it does cover the `path like 'folder/path/%'` queries that are used in various places.
Sqlite and Postgresql don't support prefix indexes, but they also don't have the 1kb limit and DBAL handles the differences in index creation.
Signed-off-by: Robin Appelman <robin@icewind.nl>
When an contact is moved to another address book, the contact is copied to
the second address book.
During copying, the birthday event is created - but it gets the same UID
as the contact's birthday event in the first address book.
To prevent the "Calendar object with uid already exists" error that followed,
we need to delete the old entry before the new one is created.
Resolves: https://github.com/nextcloud/server/issues/20492
Signed-off-by: Christian Weiske <cweiske@cweiske.de>
Remove "ocs-provider" test folder reference as it doesn't exist any
more.
Added back "Test" test subdir and fixed the tests inside.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
It seems Phpunit < 9 was case insensitive.
Fixed the phpunit config to target the correct name for the "Core" test
directory.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
The command is meant to be used when the fonts used to render texts
("core/fonts/NotoSans-Regular.ttf" and "core/fonts/NotoSans-Bold.ttf")
are changed (for example, to add support for other scripts). The avatar
and text file previews will be removed, so they will be generated again
with the updated font when needed.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Generated avatars as well as text file previews are rendered using the
"core/fonts/NotoSans-Regular.ttf" font. The file was the standard hinted
"NotoSans-Regular.ttf" file from https://www.google.com/get/noto/.
However that file does not cover some non LGC (Latin, Greek, Cyrillic)
scripts, like Arabic, Devanagari or Hebrew, to name a few.
Markdown file previews also use "core/fonts/NotoSans-Bold.ttf", which is
in the same situation as the regular one.
Due to limitations in the TTF format it is not possible to provide a
single file for each style that includes all Noto fonts. However, it is
possible to add more scripts to the standard "NotoSans-Regular.ttf" and
"NotoSans-Bold.ttf" files (although no CJK (Chinese, Japanese, Korean)
glyph can be included due to the aforementioned limitations).
This commit replaces the standard files with an extended version created
using the Noto Tools. The build script (as well as a patch for the Noto
Tools) is also included for reference and to be able to update the font
files in the future if needed.
Due to the additional scripts added the font files are now much larger,
although this does not seem to increase the time spent rendering LGC
scripts.
Note that the file for the bold style still contains less scripts than
the regular one, as not all scripts supported by Noto have a bold
weight.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
some smb servers are very insistent in reporting that the root of the share is readonly, even if it isn't.
This works around the problem by adding a hidden option to overwrite the permissions of the root of the share.
This can be enabled using
```bash
occ files_external:config <mount id> root_force_writable true
```
where you can find your mount id using
```bash
occ files_external:list
```
Signed-off-by: Robin Appelman <robin@icewind.nl>
Updating a user or group share now uses the correct method for the
validation of the expiration date. Instead of using the one from links
it uses the one for internal shares.
To avoid future confusion, the method "validateExpirationDate" has been
renamed to "validateExpirationDateLink".
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
The remote URL of a share is always stored in the database with a
trailing slash. However, when a cloud ID is generated trailing slashes
are removed.
The ID of a remote storage is generated from the cloud ID, but the
"cleanup-remote-storage" command directly used the remote URL stored in
the database. Due to this, even if the remote storage was valid, its ID
did not match the ID of the remote share generated by the command and
ended being removed.
Now the command generates the ID of remote shares using the cloud ID
instead, just like done by the remote storage, so there is no longer a
mismatch.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
- allows to delete data of existing LDAP users, which otherwise is safe
guarded
- ensures that the user is not being deleted on LDAP through a plugin
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
streams get closed automatically when dropped, and in some cases the stream seems to be already closed by the S3 library, in which case trying to close it again will raise an error
Signed-off-by: Robin Appelman <robin@icewind.nl>
Because the exceptions don't always contain a useful message for the UI,
but also because in some cases we need to find out what went wrong.
In some setups, a ShareNotFoundException might happen during creation
when we try to re-read the just written share. Usually related to Galera
Cluster where node syncing wait is not enabled.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
* Some implementations might check for different things
* IT will not change how the current ones work
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
even thought we currently have no proper way of limiting the search itself, we can at least limit the construction of the result objects.
this saves about 40% of the time spend in the search request in my local testing
Signed-off-by: Robin Appelman <robin@icewind.nl>
Instead of always clearing the password in the share model, now only do
it when it was actually saved.
Fixes an issue where saving another field would clear the password too
early and prevent it to be saved when the dropdown closed.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
Remote shares currently do not support expiration date.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
The input element is always hidden, so the check always ended falling
back to the label. Moreover, the label is the element that the user
interacts with, so it must be the one used.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Although if the element could not be found an exception would be thrown
and the test aborted if an element is in the DOM but hidden it would be
found and the test would pass.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Instead of looking for the bundle button and then checking its value now
the expected value is included in the locator and the button is checked
similarly to other elements.
No "Disable all" locator was added as it was not currently needed
anywhere.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
"Actor::find" is a more robust way to look for elements, as it handles
some exceptions that may be thrown. Therefore, even if the elements are
not actually used and it is only checked whether they exist or not using
the actor is the preferred way when possible (and it also makes it
consistent with the rest of the acceptance tests).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Adding some missing asserts showed that the "delete user" acceptance
test was silently failing, as the deletion was not being confirmed in
the dialog and thus the user was not being deleted.
The dialog button contains a single quote ("user0's"), so the XPath
expression had to be adjusted (it seems that it is not possible to
escape a single quote in a string enclosed in single quotes in XPath
1.0).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
WaitFor::element... calls only perform the waiting and return whether
the condition succeeded or not, but that result needs to be explicitly
checked to prevent further steps from being executed if the wait failed.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
As no timeout was specified the elements were tried to be found just
once. This caused the steps to fail if the elements did not appear yet
in the page when they were tried to be found.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The owner field is nowadays always empty when adding a federated share
using "Add to your Nextcloud", so don't check for it.
Fixes an issue where "Add to your Nextcloud" doesn't add anything.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Some NC installations may use a LDAP UUID for the username. If that
is the case, then the tooltip for who a file/folder was shared by may say something
like `Shared with Steve McQueen (smqueen@yada.com) by FKDJ39-38D794JG-4398GJODF9H3G-4534`.
This commit changes the value showed for the owner to the full display name.
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
`apple-touch-icon` expects squared corners; only `apple-touch-icon-precomposed` expects pre-rounded corners. iOS and browsers apply their own corner radii to `apple-touch-icon`.
Signed-off-by: Elsie Hupp <github@elsiehupp.com>
Else you can end up that you renewed your password (LDAP for example).
But they still don't work because you did not use them before you logged
in.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Fixes an issue where the dropdown list was not visible on small screens
as it would appear above the field and be hidden behind the container
border.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
In case the server returns more results than expected by the limit, it
is now still interpreted as there being more results to query.
This situation can happen when there are multiple user backends in
place.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Only register the tag info view once as it's stored in a singleton.
This fixes an issue where the tag info view did not get rendered after
swiching between different file views.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
about:Configuration, webserver/proxy or performance issues and other questions
about:I have a question …
- name:💼 Nextcloud Enterprise
url:https://portal.nextcloud.com/
about:If you are a Nextcloud Enterprise customer, or need Professional support, so it can be resolved directly by our dedicated engineers more quickly
about:If you are a customer and are using Nextcloud Enterprise, please submit your issue directly in the Nextcloud Portal so it can be resolved by our dedicated engineers more quickly.
[](https://bestpractices.coreinfrastructure.org/projects/209)
**A safe home for all your data.**
@@ -62,7 +62,7 @@ Otherwise, git checkouts can be handled the same as release archives, by using t
We are moving more and more towards using Vue.js in the frontend, starting with Settings. For building the code on changes, use these terminal commands in the root folder:
```bash
``` bash
# install dependencies
make dev-setup
@@ -76,30 +76,30 @@ make watch-js
make build-js-production
```
#### Committing changes
#### Commiting changes
**When making changes, also commit the compiled files!**
We still use Handlebars templates some places in Files and Settings. We will replace these step-by-step with Vue.js, but in the meantime you need to compile them separately.
If you don’t have Handlebars installed yet, you can do it with this terminal command:
```bash
```
sudo npm install -g handlebars
```
Then inside the root folder of your local Nextcloud development installation, run this command in the terminal every time you changed a `.handlebars` file to compile it:
```bash
```
./build/compile-handlebars-templates.sh
```
Before checking in JS changes, make sure to also build for production:
```bash
```
make build-js-production
```
Then add the compiled files for committing.
To save some time, to only rebuild for a specific app, use the following and replace the module with the app name:
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
"Accessibility options for nextcloud":"Ρυθμίσεις προσβασιμότητας του nextcloud.",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Προσφέρει πολλαπλές επιλογές προσβασιμότητας για να διευκολύνουν τη χρήση του Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"Η πρόσβαση από όλους είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {προδιαγραφές} Προδιαγραφές πρόσβασης περιεχομένου Ιστού 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"Ηγενική πρόσβαση είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {προδιαγραφές} Προδιαγραφές πρόσβασης περιεχομένου Ιστού 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"Αν διαπιστώσετε τυχόν προβλήματα, μη διστάσετε να τα αναφέρετε στον {issuetracker} στον διακομιστή προβλημάτων μας{linkend}. Και αν θέλετε να εμπλακείτε, ελάτε στο {designteam} στην ομάδα σχεδιασμού μας{linkend}!"
"Accessibility options for nextcloud":"Ρυθμίσεις προσβασιμότητας του nextcloud.",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Προσφέρει πολλαπλές επιλογές προσβασιμότητας για να διευκολύνουν τη χρήση του Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"Η πρόσβαση από όλους είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {προδιαγραφές} Προδιαγραφές πρόσβασης περιεχομένου Ιστού 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"Ηγενική πρόσβαση είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {προδιαγραφές} Προδιαγραφές πρόσβασης περιεχομένου Ιστού 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"Αν διαπιστώσετε τυχόν προβλήματα, μη διστάσετε να τα αναφέρετε στον {issuetracker} στον διακομιστή προβλημάτων μας{linkend}. Και αν θέλετε να εμπλακείτε, ελάτε στο {designteam} στην ομάδα σχεδιασμού μας{linkend}!"
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"Tema oscuro facilita la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
"High contrast mode":"Modo de alto contraste",
"Enable high contrast mode":"Habilitar modo de contraste alto",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"Modo de alto contraste facilita tu navegación. La calidad visual puede ser menor pero se incrementa la claridad.",
"Dyslexia font":"Fuente para las personas con dislexia",
"Enable dyslexia font":"Habilita la fuente para personas con dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic es un tipo de letra libre diseñada para reducir algunos de los errores de lectura comunes causados por la dislexia.",
"Accessibility":"Accesibilidad",
"Accessibility options for nextcloud":"Opciones de accesibilidad para nexcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Provee múltiples opciones de accesibilidad para facilitar tu uso de Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"Si encuentras cualquier problema, no dudes en reportarlo en {issuetracker}nuestra lista de errores{linkend}. Y si deseas involucrarte, ¡únete a {designteam}nuestro equipo de diseño{linkend}!"
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"Tema oscuro facilita la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
"High contrast mode":"Modo de alto contraste",
"Enable high contrast mode":"Habilitar modo de contraste alto",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"Modo de alto contraste facilita tu navegación. La calidad visual puede ser menor pero se incrementa la claridad.",
"Dyslexia font":"Fuente para las personas con dislexia",
"Enable dyslexia font":"Habilita la fuente para personas con dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic es un tipo de letra libre diseñada para reducir algunos de los errores de lectura comunes causados por la dislexia.",
"Accessibility":"Accesibilidad",
"Accessibility options for nextcloud":"Opciones de accesibilidad para nexcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Provee múltiples opciones de accesibilidad para facilitar tu uso de Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"Si encuentras cualquier problema, no dudes en reportarlo en {issuetracker}nuestra lista de errores{linkend}. Y si deseas involucrarte, ¡únete a {designteam}nuestro equipo de diseño{linkend}!"
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"Un tema oscuro para ayudar a tus ojos al reducir el brillo y luminosidad en general. Todavía está bajo desarrollo, así que por favor reporta cualquier problema que pudieras encontrar.",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"Un tema oscuro para ayudar a tus ojos al reducir el brillo y luminosidad en general. Todavía está bajo desarrollo, así que por favor reporta cualquier problema que pudieras encontrar.",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"समग्र चमक और चमक को कम करके अपनी आंखों को आराम देने के लिए एक अंधेरे विषय। यह अभी भी विकास के अधीन है, इसलिए कृपया कोई भी समस्या की रिपोर्ट करें।",
"High contrast mode":"उच्च व्यतिरेक मोड",
"Enable high contrast mode":"उच्च व्यतिरेक मोड सक्षम करें",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"आपके नेविगेशन को आसान बनाने के लिए एक उच्च कंट्रास्ट मोड। दृश्य गुणवत्ता कम हो जाएगी लेकिन स्पष्टता बढ़ जाएगी।",
"Dyslexia font":"डिस्लेक्सिया फ़ॉन्ट",
"Enable dyslexia font":"डिस्लेक्सिया फ़ॉन्ट सक्षम करें",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"ओपन डिस्लेक्सिया एक फ्री टाइपफेस / फॉन्ट है जिसे डिस्लेक्सिया के कारण पढ़ने वाली कुछ सामान्य त्रुटियों को कम करने के लिए डिज़ाइन किया गया है।",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic एक फ्री टाइपफेस / फॉन्ट है जिसे डिस्लेक्सिया के कारण पढ़ने वाली कुछ सामान्य त्रुटियों को कम करने के लिए डिज़ाइन किया गया है।",
"Accessibility":"सरल उपयोग",
"Accessibility options for nextcloud":"Nextcloud के लिए पहुंच विकल्प",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Nextcloud के अपने उपयोग को आसान बनाने के लिए कई पहुँच विकल्प प्रदान करता है",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"सार्वभौमिक पहुंच हमारे लिए बहुत महत्वपूर्ण है। हम वेब मानकों का पालन करते हैं और माउस के बिना भी सब कुछ प्रयोग करने योग्य बनाने के लिए जांच करते हैं, और सहायक सॉफ़्टवेयर जैसे स्क्रीनरीडर। हमारा लक्ष्य एए स्तर पर {दिशानिर्देश}वेब सामग्री एक्सेसिबिलिटी दिशानिर्देश{लिंकेंड} 2.1 का अनुपालन करना है, यहां तक कि एएए स्तर पर भी उच्च कंट्रास्ट थीम के साथ।",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"यदि आपको कोई समस्या मिलती है, तो उन्हें {issuetracker}हमारे समस्या ट्रैकर{linkend} पर रिपोर्ट करने में संकोच न करें। और अगर आप इसमें शामिल होना चाहते हैं, तो {designteam}हमारी डिज़ाइन टीम{linkend} में शामिल हों!"
"Provides multiple accessibilities options to ease your use of Nextcloud":"Nextcloud के अपने उपयोग को आसान बनाने के लिए कई पहुँच विकल्प प्रदान करता है"
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"समग्र चमक और चमक को कम करके अपनी आंखों को आराम देने के लिए एक अंधेरे विषय। यह अभी भी विकास के अधीन है, इसलिए कृपया कोई भी समस्या की रिपोर्ट करें।",
"High contrast mode":"उच्च व्यतिरेक मोड",
"Enable high contrast mode":"उच्च व्यतिरेक मोड सक्षम करें",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"आपके नेविगेशन को आसान बनाने के लिए एक उच्च कंट्रास्ट मोड। दृश्य गुणवत्ता कम हो जाएगी लेकिन स्पष्टता बढ़ जाएगी।",
"Dyslexia font":"डिस्लेक्सिया फ़ॉन्ट",
"Enable dyslexia font":"डिस्लेक्सिया फ़ॉन्ट सक्षम करें",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"ओपन डिस्लेक्सिया एक फ्री टाइपफेस / फॉन्ट है जिसे डिस्लेक्सिया के कारण पढ़ने वाली कुछ सामान्य त्रुटियों को कम करने के लिए डिज़ाइन किया गया है।",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic एक फ्री टाइपफेस / फॉन्ट है जिसे डिस्लेक्सिया के कारण पढ़ने वाली कुछ सामान्य त्रुटियों को कम करने के लिए डिज़ाइन किया गया है।",
"Accessibility":"सरल उपयोग",
"Accessibility options for nextcloud":"Nextcloud के लिए पहुंच विकल्प",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Nextcloud के अपने उपयोग को आसान बनाने के लिए कई पहुँच विकल्प प्रदान करता है",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"सार्वभौमिक पहुंच हमारे लिए बहुत महत्वपूर्ण है। हम वेब मानकों का पालन करते हैं और माउस के बिना भी सब कुछ प्रयोग करने योग्य बनाने के लिए जांच करते हैं, और सहायक सॉफ़्टवेयर जैसे स्क्रीनरीडर। हमारा लक्ष्य एए स्तर पर {दिशानिर्देश}वेब सामग्री एक्सेसिबिलिटी दिशानिर्देश{लिंकेंड} 2.1 का अनुपालन करना है, यहां तक कि एएए स्तर पर भी उच्च कंट्रास्ट थीम के साथ।",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"यदि आपको कोई समस्या मिलती है, तो उन्हें {issuetracker}हमारे समस्या ट्रैकर{linkend} पर रिपोर्ट करने में संकोच न करें। और अगर आप इसमें शामिल होना चाहते हैं, तो {designteam}हमारी डिज़ाइन टीम{linkend} में शामिल हों!"
"Provides multiple accessibilities options to ease your use of Nextcloud":"Nextcloud के अपने उपयोग को आसान बनाने के लिए कई पहुँच विकल्प प्रदान करता है"
"Enable high contrast mode":"Ativar modo de alto contraste",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"Um modo de alto contraste para facilitar sua navegação. A qualidade visual será reduzida, mas a clareza será aumentada.",
"Dyslexia font":"Tipo de letra \"Dyslexia\"",
"Enable dyslexia font":"Ativar tipo de letra \"Dyslexia\"",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic é um tipo de letra gratuito, desenhado para mitigar alguns dos problemas causados pela dislexia.",
"Dyslexia font":"Fonte de texto \"Dyslexia\"",
"Enable dyslexia font":"Ativar fonte de dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic é uma fonte de texto gratuita, desenhada para mitigar alguns dos problemas causados pela dislexia.",
"Accessibility":"Acessibilidade",
"Accessibility options for nextcloud":"Opções de acessibilidade para nextcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Fornece várias opções de acessibilidade para facilitar a sua utilização do Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"Se encontrar algum problema, não hesite em o reportar no {issuetracker} nosso issue tracker {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!"
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"Se você encontrar algum problema, não hesite em o reportar no {issuetracker} nosso issue tracker {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!"
"Enable high contrast mode":"Ativar modo de alto contraste",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"Um modo de alto contraste para facilitar sua navegação. A qualidade visual será reduzida, mas a clareza será aumentada.",
"Dyslexia font":"Tipo de letra \"Dyslexia\"",
"Enable dyslexia font":"Ativar tipo de letra \"Dyslexia\"",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic é um tipo de letra gratuito, desenhado para mitigar alguns dos problemas causados pela dislexia.",
"Dyslexia font":"Fonte de texto \"Dyslexia\"",
"Enable dyslexia font":"Ativar fonte de dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic é uma fonte de texto gratuita, desenhada para mitigar alguns dos problemas causados pela dislexia.",
"Accessibility":"Acessibilidade",
"Accessibility options for nextcloud":"Opções de acessibilidade para nextcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Fornece várias opções de acessibilidade para facilitar a sua utilização do Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"Se encontrar algum problema, não hesite em o reportar no {issuetracker} nosso issue tracker {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!"
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"Se você encontrar algum problema, não hesite em o reportar no {issuetracker} nosso issue tracker {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!"
"Accessibility options for nextcloud":"Настройки доступности для Nextcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Предлагает дополнительные настройки для упрощения использования Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"Доступная среда очень важна для нас. При разработке мы следуем веб-стандартам, контролируя возможность пользования всем сервисом без помощи мыши и с использованием вспомогательных программ, например, выполняющих чтение с экрана. Мы стремимся к выполнению рекомендаций {guidelines}Руководства доступности Веб-Контента{linkend} 2.1 на уровне АА, а при использовании режима высокой контрастности — даже на уровне ААА.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"При обнаружении ошибок, не стесняйтесь сообщать о них {issuetracker}на наш форум{linkend}. Если Вы заинтересованы в продвижении проекта присоединяйтесь к {designteam}нашей команде дизайнеров{linkend}!"
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"При обнаружении ошибок, не стесняйтесь сообщать о них {issuetracker}на наш форум{linkend}. Если Вы заинтересованы в продвижении проекта присоединяйтесь к {designteam}команде дизайнеров{linkend}!"
"Accessibility options for nextcloud":"Настройки доступности для Nextcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud":"Предлагает дополнительные настройки для упрощения использования Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"Доступная среда очень важна для нас. При разработке мы следуем веб-стандартам, контролируя возможность пользования всем сервисом без помощи мыши и с использованием вспомогательных программ, например, выполняющих чтение с экрана. Мы стремимся к выполнению рекомендаций {guidelines}Руководства доступности Веб-Контента{linkend} 2.1 на уровне АА, а при использовании режима высокой контрастности — даже на уровне ААА.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"При обнаружении ошибок, не стесняйтесь сообщать о них {issuetracker}на наш форум{linkend}. Если Вы заинтересованы в продвижении проекта присоединяйтесь к {designteam}нашей команде дизайнеров{linkend}!"
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"При обнаружении ошибок, не стесняйтесь сообщать о них {issuetracker}на наш форум{linkend}. Если Вы заинтересованы в продвижении проекта присоединяйтесь к {designteam}команде дизайнеров{linkend}!"
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"Темна тема зменшує навантаження на очі завдяки зменшенню освітлення та яскравості. Вона ще в процесі розробки, тож повідомляйте, будь-ласка, про будь-які проблеми, з якими ви можете зіткнутись.",
"High contrast mode":"Висококонтрастний режим",
"Enable high contrast mode":"Увімкнути висококонтрастний режим",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"Висококонтрастний режим спрощує Вашу навігацію. Візуальна якість буде знижена, але чіткість підвищиться..",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"Контрастна тема спрощує Вашу навігацію. Знижена візуальна якість, проте підвищена ясність і зрозумілість.",
"Dyslexia font":"Шрифт для людей, які страждають від дислексії",
"Enable dyslexia font":"Увімкнути шрифт для людей, які страждають від дислексії",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic - це вільно доступний шрифт, що було розроблено для уникнення деяких загальних помилок, що спричинені дизлексією.",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"Темна тема зменшує навантаження на очі завдяки зменшенню освітлення та яскравості. Вона ще в процесі розробки, тож повідомляйте, будь-ласка, про будь-які проблеми, з якими ви можете зіткнутись.",
"High contrast mode":"Висококонтрастний режим",
"Enable high contrast mode":"Увімкнути висококонтрастний режим",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"Висококонтрастний режим спрощує Вашу навігацію. Візуальна якість буде знижена, але чіткість підвищиться..",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"Контрастна тема спрощує Вашу навігацію. Знижена візуальна якість, проте підвищена ясність і зрозумілість.",
"Dyslexia font":"Шрифт для людей, які страждають від дислексії",
"Enable dyslexia font":"Увімкнути шрифт для людей, які страждають від дислексії",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.":"OpenDyslexic - це вільно доступний шрифт, що було розроблено для уникнення деяких загальних помилок, що спричинені дизлексією.",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"深色主题通过降低色彩的明度和亮度来使您的眼睛保持舒适。这个功能还在完善中,所以请您随时向我们反馈所发现的问题。",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"一款通过降低整体亮度来使您的眼睛放松的深色主题。该主题目前还在开发中,请您及时向我们反馈您可能发现的任何问题。",
"High contrast mode":"高对比度模式",
"Enable high contrast mode":"启用高对比度模式",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"使用高对比度模式。图像质量会下降,但清晰度会提升。",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"深色主题通过降低色彩的明度和亮度来使您的眼睛保持舒适。这个功能还在完善中,所以请您随时向我们反馈所发现的问题。",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.":"一款通过降低整体亮度来使您的眼睛放松的深色主题。该主题目前还在开发中,请您及时向我们反馈您可能发现的任何问题。",
"High contrast mode":"高对比度模式",
"Enable high contrast mode":"启用高对比度模式",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.":"使用高对比度模式。图像质量会下降,但清晰度会提升。",
"Accessibility options for nextcloud":"Nextcloud 協助工具設定",
"Provides multiple accessibilities options to ease your use of Nextcloud":"提供多種協助工具使您更易於操作 Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到{guidelines}網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"如果您發現任何一個問題,請不要猶豫並請在{issuetracker}我們的問題追蹤系統{linkend}回報。而如果您想參與,歡迎加入{designteam}我們的設計團隊{linkend}!"
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"如果您發現任何一個問題,請不要猶豫並請在{issuetracker}我們的問題追蹤系統{linkend}回報。而如果您想參與,歡迎加入{designteam}我們的設計團隊{linked}!"
"Accessibility options for nextcloud":"Nextcloud 協助工具設定",
"Provides multiple accessibilities options to ease your use of Nextcloud":"提供多種協助工具使您更易於操作 Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.":"我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到{guidelines}網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"如果您發現任何一個問題,請不要猶豫並請在{issuetracker}我們的問題追蹤系統{linkend}回報。而如果您想參與,歡迎加入{designteam}我們的設計團隊{linkend}!"
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!":"如果您發現任何一個問題,請不要猶豫並請在{issuetracker}我們的問題追蹤系統{linkend}回報。而如果您想參與,歡迎加入{designteam}我們的設計團隊{linked}!"
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Ofrece a Nextcloud capacidades de registro tales como registrar los accesos a archivos u otras acciones sensibles."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Ofrece a Nextcloud capacidades de registro tales como registrar los accesos a archivos u otras acciones sensibles."
},"pluralForm":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Proporciona capacidades de registro para Nextcloud, como el acceso a archivos de registro o acciones sensibles."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Proporciona capacidades de registro para Nextcloud, como el acceso a archivos de registro o acciones sensibles."
},"pluralForm":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
},"pluralForm":"nplurals=2; plural=(n != 1);"
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.