Merge branch '1.8.x' of https://github.com/appwrite/appwrite into joins3

# Conflicts:
#	composer.json
#	composer.lock
This commit is contained in:
fogelito
2026-03-18 10:35:55 +02:00
249 changed files with 33630 additions and 3480 deletions
@@ -6477,11 +6477,12 @@ class ProjectsConsoleClientTest extends Scope
$userId = $response['body']['userId'];
$lastEmail = $this->getLastEmail(1, function ($email) use ($url) {
$userEmail = $this->getUser()['email'];
$lastEmail = $this->getLastEmailByAddress($userEmail, function ($email) use ($url) {
$this->assertStringContainsString($url, $email['html'] ?? '');
});
$this->assertEquals($this->getUser()['email'], $lastEmail['to'][0]['address']);
$this->assertEquals('Password Reset for ' . $this->getProject()['name'], $lastEmail['subject']);
$expectedUrl = $url . "&userId=" . $userId . "&secret=";
@@ -6500,7 +6501,7 @@ class ProjectsConsoleClientTest extends Scope
], $this->getHeaders()),
[
'userId' => ID::unique(),
'email' => $this->getUser()['email'],
'email' => $userEmail,
'url' => $url,
]
);
@@ -6510,11 +6511,10 @@ class ProjectsConsoleClientTest extends Scope
$userId = $response['body']['userId'];
$lastEmail = $this->getLastEmail(1, function ($email) use ($url) {
$lastEmail = $this->getLastEmailByAddress($userEmail, function ($email) use ($url) {
$this->assertStringContainsString($url, $email['html'] ?? '');
});
$this->assertEquals($this->getUser()['email'], $lastEmail['to'][0]['address']);
$this->assertEquals('Password Reset for ' . $this->getProject()['name'], $lastEmail['subject']);
$expectedUrl = $url . "&userId=" . $userId . "&secret=";
@@ -6533,7 +6533,7 @@ class ProjectsConsoleClientTest extends Scope
], $this->getHeaders()),
[
'userId' => ID::unique(),
'email' => $this->getUser()['email'],
'email' => $userEmail,
'url' => $url,
]
);
@@ -6543,11 +6543,10 @@ class ProjectsConsoleClientTest extends Scope
$userId = $response['body']['userId'];
$lastEmail = $this->getLastEmail(1, function ($email) use ($url, $userId) {
$lastEmail = $this->getLastEmailByAddress($userEmail, function ($email) use ($url, $userId) {
$this->assertStringContainsString($url . '?userId=' . $userId, $email['html'] ?? '');
});
$this->assertEquals($this->getUser()['email'], $lastEmail['to'][0]['address']);
$this->assertEquals('Password Reset for ' . $this->getProject()['name'], $lastEmail['subject']);
$expectedUrl = $url . "?userId=" . $userId . "&secret=";
@@ -6566,7 +6565,7 @@ class ProjectsConsoleClientTest extends Scope
], $this->getHeaders()),
[
'userId' => ID::unique(),
'email' => $this->getUser()['email'],
'email' => $userEmail,
'url' => $url,
]
);
@@ -6576,11 +6575,10 @@ class ProjectsConsoleClientTest extends Scope
$userId = $response['body']['userId'];
$lastEmail = $this->getLastEmail(1, function ($email) use ($url, $userId) {
$lastEmail = $this->getLastEmailByAddress($userEmail, function ($email) use ($url, $userId) {
$this->assertStringContainsString($url . '?userId=' . $userId, $email['html'] ?? '');
});
$this->assertEquals($this->getUser()['email'], $lastEmail['to'][0]['address']);
$this->assertEquals('Password Reset for ' . $this->getProject()['name'], $lastEmail['subject']);
$expectedUrl = $url . "?userId=" . $userId . "&secret=";
@@ -6599,7 +6597,7 @@ class ProjectsConsoleClientTest extends Scope
], $this->getHeaders()),
[
'userId' => ID::unique(),
'email' => $this->getUser()['email'],
'email' => $userEmail,
'url' => $url,
]
);
@@ -6609,11 +6607,10 @@ class ProjectsConsoleClientTest extends Scope
$userId = $response['body']['userId'];
$lastEmail = $this->getLastEmail(1, function ($email) {
$lastEmail = $this->getLastEmailByAddress($userEmail, function ($email) {
$this->assertStringContainsString('INJECTED', $email['html'] ?? '');
});
$this->assertEquals($this->getUser()['email'], $lastEmail['to'][0]['address']);
$this->assertEquals('Password Reset for ' . $this->getProject()['name'], $lastEmail['subject']);
$this->assertStringContainsString('INJECTED', $lastEmail['html']);