diff --git a/CHANGES.md b/CHANGES.md index b37dab683..0dd92eeff 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,7 @@ - Renamed *Devices* to *Sessions* - Add Provider Icon to each Session - Add Anonymous Account Placeholder +- Upgraded telegraf docker image version to v1.1.0 ## Bugs @@ -56,6 +57,8 @@ - Fixed incorrect audit worker event names (#1143) - Increased limit of memberships fetched in `createTeamMembership` to 2000 (#1143) - Fixed exception thrown when SSL certificate is already stored in the database (#1151) +- Fixed user delete button in the Appwrite console (#1216) +- Fixed missing placeholder for user name when empty (#1220) ## Breaking Changes (Read before upgrading!) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 0b9eb64ff..81c4fdab0 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -1268,7 +1268,7 @@ App::post('/v1/projects/:projectId/platforms') ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_PLATFORM) ->param('projectId', null, new UID(), 'Project unique ID.') - ->param('type', null, new WhiteList(['web', 'flutter-ios', 'flutter-android', 'ios', 'android', 'unity'], true), 'Platform type.') + ->param('type', null, new WhiteList(['web', 'flutter-ios', 'flutter-android', 'flutter-linux', 'flutter-macos', 'flutter-windows', 'ios', 'android', 'unity'], true), 'Platform type.') ->param('name', null, new Text(128), 'Platform name. Max length: 128 chars.') ->param('key', '', new Text(256), 'Package name for android or bundle ID for iOS. Max length: 256 chars.', true) ->param('store', '', new Text(256), 'App store or Google Play store ID. Max length: 256 chars.', true) diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 1194b720c..6b33b6da2 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -783,7 +783,7 @@ App::delete('/v1/teams/:teamId/memberships/:membershipId') if ($membership->getAttribute('confirm')) { // Count only confirmed members $team = $projectDB->updateDocument(\array_merge($team->getArrayCopy(), [ - 'sum' => $team->getAttribute('sum', 0) - 1, + 'sum' => \max($team->getAttribute('sum', 0) - 1, 0), // Ensure that sum >= 0 ])); } diff --git a/app/controllers/mock.php b/app/controllers/mock.php index d9cd03f28..307b8c291 100644 --- a/app/controllers/mock.php +++ b/app/controllers/mock.php @@ -191,6 +191,31 @@ App::delete('/v1/mock/tests/bar') ->action(function ($x, $y, $z) { }); +App::get('/v1/mock/tests/general/download') + ->desc('Download File') + ->groups(['mock']) + ->label('scope', 'public') + ->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT]) + ->label('sdk.namespace', 'general') + ->label('sdk.method', 'download') + ->label('sdk.methodType', 'location') + ->label('sdk.description', 'Mock a file download request.') + ->label('sdk.response.type', '*/*') + ->label('sdk.response.code', Response::STATUS_CODE_OK) + ->label('sdk.mock', true) + ->inject('response') + ->action(function ($response) { + /** @var Utopia\Swoole\Request $request */ + + $response + ->setContentType('text/plain') + ->addHeader('Content-Disposition', 'attachment; filename="test.txt"') + ->addHeader('Expires', \date('D, d M Y H:i:s', \time() + (60 * 60 * 24 * 45)).' GMT') // 45 days cache + ->addHeader('X-Peak', \memory_get_peak_usage()) + ->send("Download test passed.") + ; + }); + App::post('/v1/mock/tests/general/upload') ->desc('Upload File') ->groups(['mock']) diff --git a/app/views/console/home/index.phtml b/app/views/console/home/index.phtml index c065a2203..db1b9c32f 100644 --- a/app/views/console/home/index.phtml +++ b/app/views/console/home/index.phtml @@ -184,11 +184,23 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); Platform Logo
- iOS Logo + iOS Logo
- Android Logo + Android Logo +
+ +
+ Linux Logo +
+ +
+ MacOS Logo +
+ +
+ Windows Logo
@@ -317,7 +329,7 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); - @@ -97,7 +97,7 @@

Danger Zone

-
+

This is the area where you can delete this user.

By deleting this user you will lose all data associated with this user.

@@ -218,7 +218,7 @@
- +
@@ -228,7 +228,7 @@ on
- + /
@@ -265,11 +265,11 @@ data-param-user-id="{{router.params.id}}" data-event="load,logs-load"> -