Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
76012c0
feat: php 8.2
DeepDiver1975 Sep 18, 2023
739fcb4
fix: param declarations and deprecations
DeepDiver1975 Sep 19, 2023
7acdeea
chore: move adjustments
DeepDiver1975 Sep 19, 2023
b9b7201
ci: adjust .drone.star format
phil-davis Sep 20, 2023
75ca904
feat: fix phpstan & phan
DeepDiver1975 Sep 25, 2023
010c2b2
fix: style & phan
DeepDiver1975 Sep 25, 2023
494578b
fix: add oc version back to DefinitionParameter::jsonSerialize
DeepDiver1975 Sep 25, 2023
39580e1
fix: more php8.x deprecations
DeepDiver1975 Sep 25, 2023
cdd98a7
fix: more php8.x deprecations
DeepDiver1975 Sep 25, 2023
9ae76fc
fix: preview generation
DeepDiver1975 Sep 26, 2023
694476a
fix: more fixes ....
DeepDiver1975 Sep 26, 2023
3f52ece
fix: ShareTest and MemcacheLockingProvider
DeepDiver1975 Sep 27, 2023
743c8aa
fix: drop ext-apc - this is unused for decades
DeepDiver1975 Sep 27, 2023
4af82eb
fix: cache tests + usage of TestCase::getUniqueID()
DeepDiver1975 Sep 28, 2023
182da90
fix: dynamic properties
DeepDiver1975 Sep 28, 2023
6c78a73
feat: move php version check to base.php
DeepDiver1975 Sep 29, 2023
6619f0e
fix: installation on MySql
DeepDiver1975 Sep 29, 2023
5e6d07c
fix: MigratorTest for MySQL
DeepDiver1975 Sep 29, 2023
d99d100
chore: write log messagen an exception to error_log in case of except…
DeepDiver1975 Oct 1, 2023
9a91932
fix: Share20OcsController
DeepDiver1975 Oct 2, 2023
1d52567
fix: Dispatcher/DispatcherTest
DeepDiver1975 Oct 2, 2023
19a39b0
fix: Http and tests
DeepDiver1975 Oct 2, 2023
f6e2e3f
fix: more deprcations ...
DeepDiver1975 Oct 2, 2023
c51c850
fix: UserControllerTest
DeepDiver1975 Oct 4, 2023
e690425
fix: owncloud log command tests
DeepDiver1975 Oct 4, 2023
10826c8
fix: more deprecation warnings
DeepDiver1975 Oct 4, 2023
28280ca
chore: :zzz:
DeepDiver1975 Oct 4, 2023
c7ecd66
chore: migrate to symfony/mailer
DeepDiver1975 Jan 20, 2023
5734917
fix: mail logger method signature
DeepDiver1975 Oct 9, 2023
96f4905
fix: make OC_image::loadFromBase64 public again
DeepDiver1975 Oct 9, 2023
ab6a650
feat: php 8.3
DeepDiver1975 Feb 17, 2026
0eee9be
fix: Query::jsonSerialize() return type
DeepDiver1975 Feb 17, 2026
f1a36bc
Revert "Merge pull request #40747 from owncloud/ci-ubuntu22"
DeepDiver1975 Feb 17, 2026
274e0b2
fix: php 8.3 is min version
DeepDiver1975 Feb 17, 2026
c4e98fb
fix: QueryLogger::getMicrotime() returns int
DeepDiver1975 Feb 17, 2026
f3b0ca4
fix: MySQLPlatform casing and MapperTest
DeepDiver1975 Feb 26, 2026
42270e3
fix: composer update + remove roave/security-advisories for the time …
DeepDiver1975 Feb 26, 2026
f7f9517
ci: use php 8.3 in GH workflows as well
DeepDiver1975 Feb 26, 2026
2835079
fix: SVG preview generation
DeepDiver1975 Feb 26, 2026
b884476
fix: Office preview generation + fixing CryptoSessionDataTest
DeepDiver1975 Feb 26, 2026
9161d3e
fix: deprecations in ViewTest
DeepDiver1975 Feb 26, 2026
3c762f1
fix: mysql setup
DeepDiver1975 Feb 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 13 additions & 35 deletions .drone.star
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ SONARSOURCE_SONAR_SCANNER_CLI = "sonarsource/sonar-scanner-cli:5"
TOOLHIPPIE_CALENS = "toolhippie/calens:latest"
WEBHIPPIE_REDIS = "webhippie/redis:latest"

DEFAULT_PHP_VERSION = "7.4"
DEFAULT_PHP_VERSION = "8.3"
DEFAULT_NODEJS_VERSION = "14"

# minio mc environment variables
Expand Down Expand Up @@ -85,18 +85,6 @@ config = {
"oracle",
],
},
"ubuntu22": {
"phpVersions": [
"7.4-ubuntu22.04",
],
# These pipelines are run just to help avoid any obscure regression
# on Ubuntu 22.04. We do not need coverage for this.
"coverage": False,
"databases": [
"mariadb:10.6",
"mariadb:10.11",
],
},
"external-samba": {
"phpVersions": [
DEFAULT_PHP_VERSION,
Expand Down Expand Up @@ -251,10 +239,6 @@ config = {
"testingRemoteSystem": False,
},
"cliEncryption": {
"phpVersions": [
DEFAULT_PHP_VERSION,
"7.4-ubuntu22.04",
],
"suites": [
"cliEncryption",
],
Expand Down Expand Up @@ -420,18 +404,6 @@ config = {
"runAllSuites": True,
"numberOfParts": 8,
},
"apiUbuntu22": {
"phpVersions": [
"7.4-ubuntu22.04",
],
"suites": {
"apiUbuntu22": "apiUbuntu22",
},
"useHttps": False,
"filterTags": "@smokeTest&&~@notifications-app-required&&~@local_storage&&~@files_external-app-required",
"runAllSuites": True,
"numberOfParts": 8,
},
"apiOnSqlite": {
"suites": {
"apiOnSqlite": "apiOnSqlite",
Expand Down Expand Up @@ -1153,15 +1125,18 @@ def phpTests(ctx, testType, withCoverage):
else:
command = "unknown tbd"

# Shorten PHP docker tags that have longer names like 7.4-ubuntu22.04
phpVersionString = phpVersion.replace("-ubuntu", "-u")
# Get the first 3 characters of the PHP version (7.4 or 8.0 etc)
# And use that for constructing the pipeline name
# That helps shorten pipeline names when using owncloud-ci images
# that have longer names like 7.4-ubuntu20.04
phpMinorVersion = phpVersion[0:3]

for db in params["databases"]:
for externalType in params["externalTypes"]:
keyString = "-" + category if params["includeKeyInMatrixName"] else ""
filesExternalType = externalType if externalType != "none" else ""
externalNameString = "-" + externalType if externalType != "none" else ""
name = "%s%s-php%s-%s%s" % (testType, keyString, phpVersionString, getShortDbNameAndVersion(db), externalNameString)
name = "%s%s-php%s-%s%s" % (testType, keyString, phpMinorVersion, getShortDbNameAndVersion(db), externalNameString)
maxLength = 50
nameLength = len(name)
if nameLength > maxLength:
Expand Down Expand Up @@ -1426,8 +1401,11 @@ def acceptance(ctx):
for federatedServerVersion in params["federatedServerVersions"]:
for browser in params["browsers"]:
for phpVersion in params["phpVersions"]:
# Shorten PHP docker tags that have longer names like 7.4-ubuntu22.04
phpVersionString = phpVersion.replace("-ubuntu", "-u")
# Get the first 3 characters of the PHP version (7.4 or 8.0 etc)
# And use that for constructing the pipeline name
# That helps shorten pipeline names when using owncloud-ci images
# that have longer names like 7.4-ubuntu20.04
phpMinorVersion = phpVersion[0:3]
for db in params["databases"]:
for runPart in range(1, params["numberOfParts"] + 1):
debugPartsEnabled = (len(params["skipExceptParts"]) != 0)
Expand All @@ -1449,7 +1427,7 @@ def acceptance(ctx):
keyString = "-" + category if params["includeKeyInMatrixName"] else ""
partString = "" if params["numberOfParts"] == 1 else "-%d-%d" % (params["numberOfParts"], runPart)
federatedServerVersionString = "-" + federatedServerVersion.replace("daily-", "").replace("-qa", "") if (federatedServerVersion != "") else ""
name = "%s%s%s%s%s-%s-php%s" % (alternateSuiteName, keyString, partString, federatedServerVersionString, browserString, getShortDbNameAndVersion(db), phpVersionString)
name = "%s%s%s%s%s-%s-php%s" % (alternateSuiteName, keyString, partString, federatedServerVersionString, browserString, getShortDbNameAndVersion(db), phpMinorVersion)
maxLength = 50
nameLength = len(name)
if nameLength > maxLength:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ jobs:
name: PHP Unit
uses: ./.github/workflows/php-unit.yml
with:
php-versions: '["7.4"]'
php-versions: '["8.3"]'
2 changes: 1 addition & 1 deletion .github/workflows/lint-and-codestyle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-version: ["7.4"]
php-version: ["8.3"]
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/php-unit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ jobs:
php: ${{ fromJSON(inputs.php-versions) }}
database: [sqlite]
include:
- php: "7.4"
- php: "8.3"
database: "mysql:8.0"
- php: "7.4"
- php: "8.3"
database: "postgres:10.21"

services:
Expand Down
23 changes: 5 additions & 18 deletions apps/dav/lib/CalDAV/Schedule/IMipPlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,21 +41,12 @@
* @license http://sabre.io/license/ Modified BSD License
*/
class IMipPlugin extends SabreIMipPlugin {
/** @var IMailer */
private $mailer;

/** @var ILogger */
private $logger;

/** @var IRequest */
private $request;
private IMailer $mailer;
private ILogger $logger;
private IRequest $request;

/**
* Creates the email handler.
*
* @param IMailer $mailer
* @param ILogger $logger
* @param IRequest $request
*/
public function __construct(IMailer $mailer, ILogger $logger, IRequest $request) {
parent::__construct('');
Expand Down Expand Up @@ -123,14 +114,10 @@ public function schedule(ITip\Message $iTipMessage) {
->setFrom([$sender => $senderName])
->setTo([$recipient => $recipientName])
->setSubject($subject)
->setBody($iTipMessage->message->serialize(), $contentType);
->attach($iTipMessage->message->serialize(), "event.ics", $contentType);
try {
$failed = $this->mailer->send($message);
$this->mailer->send($message);
$iTipMessage->scheduleStatus = '1.1; Scheduling message is sent via iMip';
if ($failed) {
$this->logger->error('Unable to deliver message to {failed}', ['app' => 'dav', 'failed' => \implode(', ', $failed)]);
$iTipMessage->scheduleStatus = '5.0; EMail delivery failed';
}
} catch (\Exception $ex) {
$this->logger->logException($ex, ['app' => 'dav']);
$iTipMessage->scheduleStatus = '5.0; EMail delivery failed';
Expand Down
10 changes: 5 additions & 5 deletions apps/dav/lib/Connector/Sabre/Principal.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,10 @@ public function getPrincipalsByPrefix($prefixPath) {
* getPrincipalsByPrefix.
*
* @param string $path
* @return array
* @return array|null
*/
public function getPrincipalByPath($path) {
list($prefix, $name) = \Sabre\Uri\split($path);
public function getPrincipalByPath($path): ?array {
[$prefix, $name] = \Sabre\Uri\split($path);

if ($prefix === $this->principalPrefix) {
$user = $this->userManager->get($name);
Expand Down Expand Up @@ -219,12 +219,12 @@ public function findByUri($uri, $principalPrefix) {
* @param IUser $user
* @return array
*/
protected function userToPrincipal($user) {
protected function userToPrincipal(IUser $user): array {
$userId = $user->getUID();
$displayName = $user->getDisplayName();
$principal = [
'uri' => $this->principalPrefix . '/' . $userId,
'{DAV:}displayname' => $displayName === null ? $userId : $displayName,
'{DAV:}displayname' => $displayName,
];

$email = $user->getEMailAddress();
Expand Down
1 change: 0 additions & 1 deletion apps/dav/lib/Server.php
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,6 @@ public function __construct(IRequest $request, $baseUri) {
$acl->principalCollectionSet = [
'principals/users', 'principals/groups'
];
$acl->defaultUsernamePath = 'principals/users';
$this->server->addPlugin($acl);
}

Expand Down
7 changes: 5 additions & 2 deletions apps/dav/lib/Upload/AssemblyStream.php
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,12 @@ public static function wrap(array $nodes) {
'assembly' => [
'nodes' => $nodes]
]);
\stream_wrapper_register('assembly', '\OCA\DAV\Upload\AssemblyStream');
$existed = \in_array("assembly", stream_get_wrappers());
if (!$existed) {
\stream_wrapper_register('assembly', __CLASS__);
}
try {
$wrapped = \fopen('assembly://', 'r', null, $context);
$wrapped = \fopen('assembly://', 'r', false, $context);
} catch (\BadMethodCallException $e) {
\stream_wrapper_unregister('assembly');
throw $e;
Expand Down
4 changes: 2 additions & 2 deletions apps/dav/tests/unit/CalDAV/CalendarTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ public function setUp(): void {
$this->l10n
->expects($this->any())
->method('t')
->will($this->returnCallback(function ($text, $parameters = []) {
->willReturnCallback(function ($text, $parameters = []) {
return \vsprintf($text, $parameters);
}));
});
}

public function testDelete() {
Expand Down
Loading