Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Controller/GuestController.php4
-rw-r--r--lib/GuestManager.php3
-rw-r--r--lib/Migration/Version10000Date20200819121721.php8
-rw-r--r--lib/Migration/Version10000Date20201012144235.php4
-rw-r--r--lib/Migration/Version10000Date20201015134000.php36
-rw-r--r--lib/Migration/Version11000Date20200922161218.php6
-rw-r--r--lib/Migration/Version11000Date20201011082810.php4
-rw-r--r--lib/Migration/Version2000Date20170707093535.php30
-rw-r--r--lib/Migration/Version2001Date20170707115443.php10
-rw-r--r--lib/Migration/Version2001Date20170913104501.php10
-rw-r--r--lib/Migration/Version2001Date20170921145301.php4
-rw-r--r--lib/Migration/Version2001Date20171009132424.php6
-rw-r--r--lib/Migration/Version2001Date20171026134605.php40
-rw-r--r--lib/Migration/Version2001Date20171031102049.php4
-rw-r--r--lib/Migration/Version2001Date20180103144447.php22
-rw-r--r--lib/Migration/Version3003Date20180707222130.php4
-rw-r--r--lib/Migration/Version3003Date20180718112436.php4
-rw-r--r--lib/Migration/Version3003Date20180718133519.php4
-rw-r--r--lib/Migration/Version3003Date20180720162342.php6
-rw-r--r--lib/Migration/Version3003Date20180722152849.php4
-rw-r--r--lib/Migration/Version3003Date20180730080327.php4
-rw-r--r--lib/Migration/Version4099Date20181001123058.php4
-rw-r--r--lib/Migration/Version5099Date20190121102337.php16
-rw-r--r--lib/Migration/Version5099Date20190319134820.php4
-rw-r--r--lib/Migration/Version6099Date20190627172429.php6
-rw-r--r--lib/Migration/Version7000Date20190717141457.php4
-rw-r--r--lib/Migration/Version7000Date20190724121136.php6
-rw-r--r--lib/Migration/Version8000Date20200407115318.php4
-rw-r--r--psalm.xml9
-rw-r--r--src/assets/variables.scss2
-rw-r--r--src/components/CallView/CallView.vue15
-rw-r--r--src/components/CallView/shared/LocalMediaControls.vue24
-rw-r--r--src/components/CallView/shared/VideoBottomBar.vue2
-rw-r--r--src/components/ChatView.vue17
-rw-r--r--src/components/ConversationSettings/ConversationSettingsDialog.vue2
-rw-r--r--src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue4
-rw-r--r--src/components/MessagesList/MessagesList.vue33
-rw-r--r--src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue14
-rw-r--r--src/components/NewMessageForm/NewMessageForm.vue58
-rw-r--r--src/components/RightSidebar/Description/Description.vue2
-rw-r--r--src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue17
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue7
-rw-r--r--src/store/callViewStore.js22
-rw-r--r--src/utils/webrtc/models/CallParticipantModel.js5
-rw-r--r--src/utils/webrtc/models/LocalMediaModel.js12
-rw-r--r--src/utils/webrtc/simplewebrtc/peer.js2
-rw-r--r--src/utils/webrtc/webrtc.js5
-rw-r--r--tests/psalm-baseline.xml41
48 files changed, 313 insertions, 241 deletions
diff --git a/lib/Controller/GuestController.php b/lib/Controller/GuestController.php
index 468fb28b1..20ea8716c 100644
--- a/lib/Controller/GuestController.php
+++ b/lib/Controller/GuestController.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
namespace OCA\Talk\Controller;
-use Doctrine\DBAL\DBALException;
+use Doctrine\DBAL\Exception;
use OCA\Talk\GuestManager;
use OCA\Talk\Participant;
use OCP\AppFramework\Http;
@@ -63,7 +63,7 @@ class GuestController extends AEnvironmentAwareController {
try {
$this->guestManager->updateName($this->getRoom(), $participant, $displayName);
- } catch (DBALException $e) {
+ } catch (Exception $e) {
return new DataResponse([], Http::STATUS_INTERNAL_SERVER_ERROR);
}
diff --git a/lib/GuestManager.php b/lib/GuestManager.php
index 3d7a6f178..fa4a6e426 100644
--- a/lib/GuestManager.php
+++ b/lib/GuestManager.php
@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace OCA\Talk;
+use Doctrine\DBAL\Exception;
use OCA\Talk\Events\AddEmailEvent;
use OCA\Talk\Events\ModifyParticipantEvent;
use OCA\Talk\Exceptions\ParticipantNotFoundException;
@@ -88,7 +89,7 @@ class GuestManager {
* @param Room $room
* @param Participant $participant
* @param string $displayName
- * @throws \Doctrine\DBAL\DBALException
+ * @throws Exception
*/
public function updateName(Room $room, Participant $participant, string $displayName): void {
$sessionHash = $participant->getAttendee()->getActorId();
diff --git a/lib/Migration/Version10000Date20200819121721.php b/lib/Migration/Version10000Date20200819121721.php
index c15fa02db..c4a26fd3d 100644
--- a/lib/Migration/Version10000Date20200819121721.php
+++ b/lib/Migration/Version10000Date20200819121721.php
@@ -26,7 +26,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
@@ -44,15 +44,15 @@ class Version10000Date20200819121721 extends SimpleMigrationStep {
if (!$schema->hasTable('talk_bridges')) {
$table = $schema->createTable('talk_bridges');
- $table->addColumn('id', Type::BIGINT, [
+ $table->addColumn('id', Types::BIGINT, [
'autoincrement' => true,
'notnull' => true,
]);
- $table->addColumn('room_id', Type::BIGINT, [
+ $table->addColumn('room_id', Types::BIGINT, [
'notnull' => true,
'unsigned' => true,
]);
- $table->addColumn('json_values', Type::TEXT, [
+ $table->addColumn('json_values', Types::TEXT, [
'notnull' => true,
]);
$table->addUniqueIndex(['room_id'], 'tbr_room_id');
diff --git a/lib/Migration/Version10000Date20201012144235.php b/lib/Migration/Version10000Date20201012144235.php
index 9ee1d7f89..f7d22cb51 100644
--- a/lib/Migration/Version10000Date20201012144235.php
+++ b/lib/Migration/Version10000Date20201012144235.php
@@ -26,7 +26,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
@@ -43,7 +43,7 @@ class Version10000Date20201012144235 extends SimpleMigrationStep {
$schema = $schemaClosure();
$table = $schema->getTable('talk_rooms');
- $table->addColumn('sip_enabled', Type::SMALLINT, [
+ $table->addColumn('sip_enabled', Types::SMALLINT, [
'notnull' => true,
'default' => 0,
'unsigned' => true,
diff --git a/lib/Migration/Version10000Date20201015134000.php b/lib/Migration/Version10000Date20201015134000.php
index aa7e5bb5e..b3e870f0f 100644
--- a/lib/Migration/Version10000Date20201015134000.php
+++ b/lib/Migration/Version10000Date20201015134000.php
@@ -26,7 +26,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCA\Talk\Model\Attendee;
use OCA\Talk\Participant;
use OCP\AppFramework\Utility\ITimeFactory;
@@ -66,58 +66,58 @@ class Version10000Date20201015134000 extends SimpleMigrationStep {
$table = $schema->createTable('talk_attendees');
// Auto increment id
- $table->addColumn('id', Type::BIGINT, [
+ $table->addColumn('id', Types::BIGINT, [
'autoincrement' => true,
'notnull' => true,
]);
// Unique key
- $table->addColumn('room_id', Type::BIGINT, [
+ $table->addColumn('room_id', Types::BIGINT, [
'notnull' => true,
'unsigned' => true,
]);
- $table->addColumn('actor_type', Type::STRING, [
+ $table->addColumn('actor_type', Types::STRING, [
'notnull' => true,
'length' => 32,
]);
- $table->addColumn('actor_id', Type::STRING, [
+ $table->addColumn('actor_id', Types::STRING, [
'notnull' => true,
'length' => 255,
]);
- $table->addColumn('display_name', Type::STRING, [
+ $table->addColumn('display_name', Types::STRING, [
'notnull' => false,
'default' => '',
'length' => 64,
]);
- $table->addColumn('pin', Type::STRING, [
+ $table->addColumn('pin', Types::STRING, [
'notnull' => false,
'length' => 32,
]);
- $table->addColumn('participant_type', Type::SMALLINT, [
+ $table->addColumn('participant_type', Types::SMALLINT, [
'notnull' => true,
'length' => 6,
'default' => 0,
'unsigned' => true,
]);
- $table->addColumn('favorite', Type::BOOLEAN, [
+ $table->addColumn('favorite', Types::BOOLEAN, [
'default' => 0,
]);
- $table->addColumn('notification_level', Type::INTEGER, [
+ $table->addColumn('notification_level', Types::INTEGER, [
'default' => Participant::NOTIFY_DEFAULT,
'notnull' => false,
]);
- $table->addColumn('last_joined_call', Type::INTEGER, [
+ $table->addColumn('last_joined_call', Types::INTEGER, [
'notnull' => true,
'length' => 11,
'default' => 0,
'unsigned' => true,
]);
- $table->addColumn('last_read_message', Type::BIGINT, [
+ $table->addColumn('last_read_message', Types::BIGINT, [
'default' => 0,
'notnull' => false,
]);
- $table->addColumn('last_mention_message', Type::BIGINT, [
+ $table->addColumn('last_mention_message', Types::BIGINT, [
'default' => 0,
'notnull' => false,
]);
@@ -135,28 +135,28 @@ class Version10000Date20201015134000 extends SimpleMigrationStep {
$table = $schema->createTable('talk_sessions');
// Auto increment id
- $table->addColumn('id', Type::BIGINT, [
+ $table->addColumn('id', Types::BIGINT, [
'autoincrement' => true,
'notnull' => true,
]);
// Unique key (for now, might remove this in the future,
// so a user can join multiple times.
- $table->addColumn('attendee_id', Type::BIGINT, [
+ $table->addColumn('attendee_id', Types::BIGINT, [
'notnull' => true,
'unsigned' => true,
]);
// Unique key to avoid duplication issues
- $table->addColumn('session_id', Type::STRING, [
+ $table->addColumn('session_id', Types::STRING, [
'notnull' => true,
'length' => 512,
]);
- $table->addColumn('in_call', Type::INTEGER, [
+ $table->addColumn('in_call', Types::INTEGER, [
'default' => 0,
]);
- $table->addColumn('last_ping', Type::INTEGER, [
+ $table->addColumn('last_ping', Types::INTEGER, [
'notnull' => true,
'length' => 11,
'default' => 0,
diff --git a/lib/Migration/Version11000Date20200922161218.php b/lib/Migration/Version11000Date20200922161218.php
index a43760f3f..16bed5732 100644
--- a/lib/Migration/Version11000Date20200922161218.php
+++ b/lib/Migration/Version11000Date20200922161218.php
@@ -26,7 +26,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
@@ -55,14 +55,14 @@ class Version11000Date20200922161218 extends SimpleMigrationStep {
if ($schema->hasTable('talk_bridges')) {
$table = $schema->getTable('talk_bridges');
if (!$table->hasColumn('enabled')) {
- $table->addColumn('enabled', Type::SMALLINT, [
+ $table->addColumn('enabled', Types::SMALLINT, [
'notnull' => true,
'default' => 0,
'unsigned' => true,
]);
}
if (!$table->hasColumn('pid')) {
- $table->addColumn('pid', Type::INTEGER, [
+ $table->addColumn('pid', Types::INTEGER, [
'notnull' => true,
'default' => 0,
'unsigned' => true,
diff --git a/lib/Migration/Version11000Date20201011082810.php b/lib/Migration/Version11000Date20201011082810.php
index 7714c2a81..64199421e 100644
--- a/lib/Migration/Version11000Date20201011082810.php
+++ b/lib/Migration/Version11000Date20201011082810.php
@@ -26,7 +26,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
@@ -45,7 +45,7 @@ class Version11000Date20201011082810 extends SimpleMigrationStep {
$table = $schema->getTable('talk_rooms');
if (!$table->hasColumn('description')) {
- $table->addColumn('description', Type::TEXT, [
+ $table->addColumn('description', Types::TEXT, [
'notnull' => false,
'default' => '',
]);
diff --git a/lib/Migration/Version2000Date20170707093535.php b/lib/Migration/Version2000Date20170707093535.php
index cbbd0031c..3d5a35aa1 100644
--- a/lib/Migration/Version2000Date20170707093535.php
+++ b/lib/Migration/Version2000Date20170707093535.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -45,27 +45,27 @@ class Version2000Date20170707093535 extends SimpleMigrationStep {
if (!$schema->hasTable('spreedme_messages')) {
$table = $schema->createTable('spreedme_messages');
- $table->addColumn('id', Type::INTEGER, [
+ $table->addColumn('id', Types::INTEGER, [
'autoincrement' => true,
'notnull' => true,
'length' => 11,
]);
- $table->addColumn('sender', Type::STRING, [
+ $table->addColumn('sender', Types::STRING, [
'notnull' => true,
'length' => 255,
]);
- $table->addColumn('recipient', Type::STRING, [
+ $table->addColumn('recipient', Types::STRING, [
'notnull' => true,
'length' => 255,
]);
- $table->addColumn('sessionId', Type::STRING, [
+ $table->addColumn('sessionId', Types::STRING, [
'notnull' => true,
'length' => 255,
]);
- $table->addColumn('object', Type::TEXT, [
+ $table->addColumn('object', Types::TEXT, [
'notnull' => true,
]);
- $table->addColumn('timestamp', Type::INTEGER, [
+ $table->addColumn('timestamp', Types::INTEGER, [
'notnull' => true,
'length' => 11,
]);
@@ -76,22 +76,22 @@ class Version2000Date20170707093535 extends SimpleMigrationStep {
if (!$schema->hasTable('spreedme_rooms')) {
$table = $schema->createTable('spreedme_rooms');
- $table->addColumn('id', Type::INTEGER, [
+ $table->addColumn('id', Types::INTEGER, [
'autoincrement' => true,
'notnull' => true,
'length' => 11,
]);
- $table->addColumn('name', Type::STRING, [
+ $table->addColumn('name', Types::STRING, [
'notnull' => false,
'length' => 255,
'default' => '',
]);
- $table->addColumn('token', Type::STRING, [
+ $table->addColumn('token', Types::STRING, [
'notnull' => false,
'length' => 32,
'default' => '',
]);
- $table->addColumn('type', Type::INTEGER, [
+ $table->addColumn('type', Types::INTEGER, [
'notnull' => true,
'length' => 11,
]);
@@ -104,19 +104,19 @@ class Version2000Date20170707093535 extends SimpleMigrationStep {
if (!$schema->hasTable('spreedme_room_participants')) {
$table = $schema->createTable('spreedme_room_participants');
- $table->addColumn('userId', Type::STRING, [
+ $table->addColumn('userId', Types::STRING, [
'notnull' => false,
'length' => 255,
]);
- $table->addColumn('roomId', Type::INTEGER, [
+ $table->addColumn('roomId', Types::INTEGER, [
'notnull' => true,
'length' => 11,
]);
- $table->addColumn('lastPing', Type::INTEGER, [
+ $table->addColumn('lastPing', Types::INTEGER, [
'notnull' => true,
'length' => 11,
]);
- $table->addColumn('sessionId', Type::STRING, [
+ $table->addColumn('sessionId', Types::STRING, [
'notnull' => true,
'length' => 255,
]);
diff --git a/lib/Migration/Version2001Date20170707115443.php b/lib/Migration/Version2001Date20170707115443.php
index 63264fa48..0fc990d21 100644
--- a/lib/Migration/Version2001Date20170707115443.php
+++ b/lib/Migration/Version2001Date20170707115443.php
@@ -24,8 +24,8 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Platforms\PostgreSqlPlatform;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Platforms\PostgreSQL94Platform;
+use Doctrine\DBAL\Types\Types;
use OCA\Talk\Participant;
use OCA\Talk\Room;
use OCP\DB\ISchemaWrapper;
@@ -62,7 +62,7 @@ class Version2001Date20170707115443 extends SimpleMigrationStep {
$table = $schema->getTable('spreedme_room_participants');
if (!$table->hasColumn('participantType')) {
- $table->addColumn('participantType', Type::SMALLINT, [
+ $table->addColumn('participantType', Types::SMALLINT, [
'notnull' => true,
'length' => 6,
'default' => 0,
@@ -126,7 +126,7 @@ class Version2001Date20170707115443 extends SimpleMigrationStep {
protected function makeOne2OneParticipantsOwners(array $one2oneRooms): int {
$update = $this->db->getQueryBuilder();
- if (!$this->db->getDatabasePlatform() instanceof PostgreSqlPlatform) {
+ if (!$this->db->getDatabasePlatform() instanceof PostgreSQL94Platform) {
$update->update('spreedme_room_participants')
->set('participantType', $update->createNamedParameter(Participant::OWNER))
->where($update->expr()->in('roomId', $update->createNamedParameter($one2oneRooms, IQueryBuilder::PARAM_INT_ARRAY)));
@@ -146,7 +146,7 @@ class Version2001Date20170707115443 extends SimpleMigrationStep {
protected function makeGroupParticipantsModerators(array $one2oneRooms): int {
$update = $this->db->getQueryBuilder();
- if (!$this->db->getDatabasePlatform() instanceof PostgreSqlPlatform) {
+ if (!$this->db->getDatabasePlatform() instanceof PostgreSQL94Platform) {
$update->update('spreedme_room_participants')
->set('participantType', $update->createNamedParameter(Participant::MODERATOR))
->where($update->expr()->nonEmptyString('userId'));
diff --git a/lib/Migration/Version2001Date20170913104501.php b/lib/Migration/Version2001Date20170913104501.php
index dd85e30e0..4762f3403 100644
--- a/lib/Migration/Version2001Date20170913104501.php
+++ b/lib/Migration/Version2001Date20170913104501.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -45,18 +45,18 @@ class Version2001Date20170913104501 extends SimpleMigrationStep {
if (!$schema->hasTable('videocalls_signaling')) {
$table = $schema->createTable('videocalls_signaling');
- $table->addColumn('sender', Type::STRING, [
+ $table->addColumn('sender', Types::STRING, [
'notnull' => true,
'length' => 255,
]);
- $table->addColumn('recipient', Type::STRING, [
+ $table->addColumn('recipient', Types::STRING, [
'notnull' => true,
'length' => 255,
]);
- $table->addColumn('message', Type::TEXT, [
+ $table->addColumn('message', Types::TEXT, [
'notnull' => true,
]);
- $table->addColumn('timestamp', Type::INTEGER, [
+ $table->addColumn('timestamp', Types::INTEGER, [
'notnull' => true,
'length' => 11,
]);
diff --git a/lib/Migration/Version2001Date20170921145301.php b/lib/Migration/Version2001Date20170921145301.php
index f366a6040..1d8121108 100644
--- a/lib/Migration/Version2001Date20170921145301.php
+++ b/lib/Migration/Version2001Date20170921145301.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -43,7 +43,7 @@ class Version2001Date20170921145301 extends SimpleMigrationStep {
$schema = $schemaClosure();
$table = $schema->getTable('spreedme_rooms');
- $table->addColumn('password', Type::STRING, [
+ $table->addColumn('password', Types::STRING, [
'notnull' => false,
'length' => 255,
'default' => '',
diff --git a/lib/Migration/Version2001Date20171009132424.php b/lib/Migration/Version2001Date20171009132424.php
index d1f6e7257..0c82cddee 100644
--- a/lib/Migration/Version2001Date20171009132424.php
+++ b/lib/Migration/Version2001Date20171009132424.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -43,10 +43,10 @@ class Version2001Date20171009132424 extends SimpleMigrationStep {
$schema = $schemaClosure();
$table = $schema->getTable('spreedme_rooms');
- $table->addColumn('activeSince', Type::DATETIME, [
+ $table->addColumn('activeSince', Types::DATETIME_MUTABLE, [
'notnull' => false,
]);
- $table->addColumn('activeGuests', Type::INTEGER, [
+ $table->addColumn('activeGuests', Types::INTEGER, [
'notnull' => true,
'length' => 4,
'default' => 0,
diff --git a/lib/Migration/Version2001Date20171026134605.php b/lib/Migration/Version2001Date20171026134605.php
index 958cc16ab..370d1c93f 100644
--- a/lib/Migration/Version2001Date20171026134605.php
+++ b/lib/Migration/Version2001Date20171026134605.php
@@ -26,8 +26,8 @@ namespace OCA\Talk\Migration;
use Doctrine\DBAL\Exception\InvalidFieldNameException;
use Doctrine\DBAL\Exception\TableNotFoundException;
-use Doctrine\DBAL\Platforms\PostgreSqlPlatform;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Platforms\PostgreSQL94Platform;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IConfig;
@@ -67,18 +67,18 @@ class Version2001Date20171026134605 extends SimpleMigrationStep {
* if (!$schema->hasTable('talk_signaling')) {
* $table = $schema->createTable('talk_signaling');
*
- * $table->addColumn('sender', Type::STRING, [
+ * $table->addColumn('sender', Types::STRING, [
* 'notnull' => true,
* 'length' => 255,
* ]);
- * $table->addColumn('recipient', Type::STRING, [
+ * $table->addColumn('recipient', Types::STRING, [
* 'notnull' => true,
* 'length' => 255,
* ]);
- * $table->addColumn('message', Type::TEXT, [
+ * $table->addColumn('message', Types::TEXT, [
* 'notnull' => true,
* ]);
- * $table->addColumn('timestamp', Type::INTEGER, [
+ * $table->addColumn('timestamp', Types::INTEGER, [
* 'notnull' => true,
* 'length' => 11,
* ]);
@@ -90,34 +90,34 @@ class Version2001Date20171026134605 extends SimpleMigrationStep {
if (!$schema->hasTable('talk_rooms')) {
$table = $schema->createTable('talk_rooms');
- $table->addColumn('id', Type::INTEGER, [
+ $table->addColumn('id', Types::INTEGER, [
'autoincrement' => true,
'notnull' => true,
'length' => 11,
]);
- $table->addColumn('name', Type::STRING, [
+ $table->addColumn('name', Types::STRING, [
'notnull' => false,
'length' => 255,
'default' => '',
]);
- $table->addColumn('token', Type::STRING, [
+ $table->addColumn('token', Types::STRING, [
'notnull' => false,
'length' => 32,
'default' => '',
]);
- $table->addColumn('type', Type::INTEGER, [
+ $table->addColumn('type', Types::INTEGER, [
'notnull' => true,
'length' => 11,
]);
- $table->addColumn('password', Type::STRING, [
+ $table->addColumn('password', Types::STRING, [
'notnull' => false,
'length' => 255,
'default' => '',
]);
- $table->addColumn('activeSince', Type::DATETIME, [
+ $table->addColumn('activeSince', Types::DATETIME_MUTABLE, [
'notnull' => false,
]);
- $table->addColumn('activeGuests', Type::INTEGER, [
+ $table->addColumn('activeGuests', Types::INTEGER, [
'notnull' => true,
'length' => 4,
'default' => 0,
@@ -131,23 +131,23 @@ class Version2001Date20171026134605 extends SimpleMigrationStep {
if (!$schema->hasTable('talk_participants')) {
$table = $schema->createTable('talk_participants');
- $table->addColumn('userId', Type::STRING, [
+ $table->addColumn('userId', Types::STRING, [
'notnull' => false,
'length' => 255,
]);
- $table->addColumn('roomId', Type::INTEGER, [
+ $table->addColumn('roomId', Types::INTEGER, [
'notnull' => true,
'length' => 11,
]);
- $table->addColumn('lastPing', Type::INTEGER, [
+ $table->addColumn('lastPing', Types::INTEGER, [
'notnull' => true,
'length' => 11,
]);
- $table->addColumn('sessionId', Type::STRING, [
+ $table->addColumn('sessionId', Types::STRING, [
'notnull' => true,
'length' => 255,
]);
- $table->addColumn('participantType', Type::SMALLINT, [
+ $table->addColumn('participantType', Types::SMALLINT, [
'notnull' => true,
'length' => 6,
'default' => 0,
@@ -216,7 +216,7 @@ class Version2001Date20171026134605 extends SimpleMigrationStep {
*/
protected function copyParticipants(array $roomIdMap): void {
$insert = $this->connection->getQueryBuilder();
- if (!$this->connection->getDatabasePlatform() instanceof PostgreSqlPlatform) {
+ if (!$this->connection->getDatabasePlatform() instanceof PostgreSQL94Platform) {
$insert->insert('talk_participants')
->values([
'userId' => $insert->createParameter('userId'),
@@ -252,7 +252,7 @@ class Version2001Date20171026134605 extends SimpleMigrationStep {
->setParameter('lastPing', (int) $row['lastPing'], IQueryBuilder::PARAM_INT)
->setParameter('sessionId', $row['sessionId'])
;
- if (!$this->connection->getDatabasePlatform() instanceof PostgreSqlPlatform) {
+ if (!$this->connection->getDatabasePlatform() instanceof PostgreSQL94Platform) {
$insert->setParameter('participantType', (int) $row['participantType'], IQueryBuilder::PARAM_INT);
} else {
$insert->setParameter('participantType', (int) $row['participanttype'], IQueryBuilder::PARAM_INT);
diff --git a/lib/Migration/Version2001Date20171031102049.php b/lib/Migration/Version2001Date20171031102049.php
index 067ff2826..34bf3ea54 100644
--- a/lib/Migration/Version2001Date20171031102049.php
+++ b/lib/Migration/Version2001Date20171031102049.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -44,7 +44,7 @@ class Version2001Date20171031102049 extends SimpleMigrationStep {
$table = $schema->getTable('talk_participants');
- $table->addColumn('inCall', Type::BOOLEAN, [
+ $table->addColumn('inCall', Types::BOOLEAN, [
'default' => 0,
]);
diff --git a/lib/Migration/Version2001Date20180103144447.php b/lib/Migration/Version2001Date20180103144447.php
index fc2d6206a..096d1601d 100644
--- a/lib/Migration/Version2001Date20180103144447.php
+++ b/lib/Migration/Version2001Date20180103144447.php
@@ -24,8 +24,8 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Platforms\PostgreSqlPlatform;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Platforms\PostgreSQL94Platform;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\IConfig;
use OCP\IDBConnection;
@@ -61,10 +61,10 @@ class Version2001Date20180103144447 extends SimpleMigrationStep {
$table = $schema->getTable('talk_rooms');
if (!$table->hasColumn('active_since')) {
- $table->addColumn('active_since', Type::DATETIME, [
+ $table->addColumn('active_since', Types::DATETIME_MUTABLE, [
'notnull' => false,
]);
- $table->addColumn('active_guests', Type::INTEGER, [
+ $table->addColumn('active_guests', Types::INTEGER, [
'notnull' => true,
'length' => 4,
'default' => 0,
@@ -75,34 +75,34 @@ class Version2001Date20180103144447 extends SimpleMigrationStep {
$table = $schema->getTable('talk_participants');
if (!$table->hasColumn('user_id')) {
- $table->addColumn('user_id', Type::STRING, [
+ $table->addColumn('user_id', Types::STRING, [
'notnull' => false,
'length' => 255,
]);
- $table->addColumn('room_id', Type::INTEGER, [
+ $table->addColumn('room_id', Types::INTEGER, [
'notnull' => true,
'length' => 11,
'default' => 0,
'unsigned' => true,
]);
- $table->addColumn('last_ping', Type::INTEGER, [
+ $table->addColumn('last_ping', Types::INTEGER, [
'notnull' => true,
'length' => 11,
'default' => 0,
'unsigned' => true,
]);
- $table->addColumn('session_id', Type::STRING, [
+ $table->addColumn('session_id', Types::STRING, [
'notnull' => true,
'length' => 255,
'default' => '0',
]);
- $table->addColumn('participant_type', Type::SMALLINT, [
+ $table->addColumn('participant_type', Types::SMALLINT, [
'notnull' => true,
'length' => 6,
'default' => 0,
'unsigned' => true,
]);
- $table->addColumn('in_call', Type::BOOLEAN, [
+ $table->addColumn('in_call', Types::BOOLEAN, [
'default' => 0,
]);
}
@@ -122,7 +122,7 @@ class Version2001Date20180103144447 extends SimpleMigrationStep {
return;
}
- if (!$this->connection->getDatabasePlatform() instanceof PostgreSqlPlatform) {
+ if (!$this->connection->getDatabasePlatform() instanceof PostgreSQL94Platform) {
$update = $this->connection->getQueryBuilder();
$update->update('talk_rooms')
->set('active_since', 'activeSince')
diff --git a/lib/Migration/Version3003Date20180707222130.php b/lib/Migration/Version3003Date20180707222130.php
index 187ffe291..95bde82ba 100644
--- a/lib/Migration/Version3003Date20180707222130.php
+++ b/lib/Migration/Version3003Date20180707222130.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -44,7 +44,7 @@ class Version3003Date20180707222130 extends SimpleMigrationStep {
$table = $schema->getTable('talk_participants');
if (!$table->hasColumn('favorite')) {
- $table->addColumn('favorite', Type::BOOLEAN, [
+ $table->addColumn('favorite', Types::BOOLEAN, [
'default' => 0,
]);
}
diff --git a/lib/Migration/Version3003Date20180718112436.php b/lib/Migration/Version3003Date20180718112436.php
index dacb4481e..73e92fdf3 100644
--- a/lib/Migration/Version3003Date20180718112436.php
+++ b/lib/Migration/Version3003Date20180718112436.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
@@ -53,7 +53,7 @@ class Version3003Date20180718112436 extends SimpleMigrationStep {
$table = $schema->getTable('talk_rooms');
if (!$table->hasColumn('last_activity')) {
- $table->addColumn('last_activity', Type::DATETIME, [
+ $table->addColumn('last_activity', Types::DATETIME_MUTABLE, [
'notnull' => false,
]);
diff --git a/lib/Migration/Version3003Date20180718133519.php b/lib/Migration/Version3003Date20180718133519.php
index 3a195cc4c..e40272e4f 100644
--- a/lib/Migration/Version3003Date20180718133519.php
+++ b/lib/Migration/Version3003Date20180718133519.php
@@ -22,7 +22,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\IDBConnection;
use OCP\Migration\SimpleMigrationStep;
@@ -51,7 +51,7 @@ class Version3003Date20180718133519 extends SimpleMigrationStep {
$table = $schema->getTable('talk_rooms');
if (!$table->hasColumn('last_message')) {
- $table->addColumn('last_message', Type::BIGINT, [
+ $table->addColumn('last_message', Types::BIGINT, [
'notnull' => false,
'default' => 0,
]);
diff --git a/lib/Migration/Version3003Date20180720162342.php b/lib/Migration/Version3003Date20180720162342.php
index d6706a85e..ac10c3ad0 100644
--- a/lib/Migration/Version3003Date20180720162342.php
+++ b/lib/Migration/Version3003Date20180720162342.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -45,12 +45,12 @@ class Version3003Date20180720162342 extends SimpleMigrationStep {
$table = $schema->getTable('talk_rooms');
if (!$table->hasColumn('object_type')) {
- $table->addColumn('object_type', Type::STRING, [
+ $table->addColumn('object_type', Types::STRING, [
'notnull' => false,
'length' => 64,
'default' => '',
]);
- $table->addColumn('object_id', Type::STRING, [
+ $table->addColumn('object_id', Types::STRING, [
'notnull' => false,
'length' => 64,
'default' => '',
diff --git a/lib/Migration/Version3003Date20180722152849.php b/lib/Migration/Version3003Date20180722152849.php
index 3bd92746a..c19aa0bcb 100644
--- a/lib/Migration/Version3003Date20180722152849.php
+++ b/lib/Migration/Version3003Date20180722152849.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -43,7 +43,7 @@ class Version3003Date20180722152849 extends SimpleMigrationStep {
$schema = $schemaClosure();
$table = $schema->getTable('talk_participants');
- $table->addColumn('in_call', Type::INTEGER, [
+ $table->addColumn('in_call', Types::INTEGER, [
'default' => 0,
]);
diff --git a/lib/Migration/Version3003Date20180730080327.php b/lib/Migration/Version3003Date20180730080327.php
index 3860d631f..ba8a16181 100644
--- a/lib/Migration/Version3003Date20180730080327.php
+++ b/lib/Migration/Version3003Date20180730080327.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
*/
namespace OCA\Talk\Migration;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -44,7 +44,7 @@ class Version3003Date20180730080327 extends SimpleMigrationStep {
$table = $schema->getTable('talk_participants');
if (!$table->hasColumn('last_mention')) {
- $table->addColumn('last_mention', Type::DATETIME, [
+ $table->addColumn('last_mention', Types::DATETIME_MUTABLE, [
'notnull' => false,
]);
}
diff --git a/lib/Migration/Version4099Date20181001123058.php b/lib/Migration/Version4099Date20181001123058.php
index 4aaac033d..a679514dc 100644
--- a/lib/Migration/Version4099Date20181001123058.php
+++ b/lib/Migration/Version4099Date20181001123058.php
@@ -23,7 +23,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCA\Talk\Participant;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
@@ -44,7 +44,7 @@ class Version4099Date20181001123058 extends SimpleMigrationStep {
$table = $schema->getTable('talk_participants');
if (!$table->hasColumn('notification_level')) {
- $table->addColumn('notification_level', Type::INTEGER, [
+ $table->addColumn('notification_level', Types::INTEGER, [
'default' => Participant::NOTIFY_DEFAULT,
'notnull' => false,
]);
diff --git a/lib/Migration/Version5099Date20190121102337.php b/lib/Migration/Version5099Date20190121102337.php
index 50b4055ec..c8e9f1029 100644
--- a/lib/Migration/Version5099Date20190121102337.php
+++ b/lib/Migration/Version5099Date20190121102337.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -43,33 +43,33 @@ class Version5099Date20190121102337 extends SimpleMigrationStep {
if (!$schema->hasTable('talk_commands')) {
$table = $schema->createTable('talk_commands');
- $table->addColumn('id', Type::INTEGER, [
+ $table->addColumn('id', Types::INTEGER, [
'autoincrement' => true,
'notnull' => true,
'length' => 20,
]);
- $table->addColumn('app', Type::STRING, [
+ $table->addColumn('app', Types::STRING, [
'notnull' => false,
'length' => 64,
'default' => '',
]);
- $table->addColumn('name', Type::STRING, [
+ $table->addColumn('name', Types::STRING, [
'notnull' => true,
'length' => 64,
]);
- $table->addColumn('command', Type::STRING, [
+ $table->addColumn('command', Types::STRING, [
'notnull' => true,
'length' => 64,
]);
- $table->addColumn('script', Type::TEXT, [
+ $table->addColumn('script', Types::TEXT, [
'notnull' => true,
]);
- $table->addColumn('response', Type::INTEGER, [
+ $table->addColumn('response', Types::INTEGER, [
'notnull' => true,
'length' => 6,
'default' => 1,
]);
- $table->addColumn('enabled', Type::INTEGER, [
+ $table->addColumn('enabled', Types::INTEGER, [
'notnull' => true,
'length' => 6,
'default' => 1,
diff --git a/lib/Migration/Version5099Date20190319134820.php b/lib/Migration/Version5099Date20190319134820.php
index 3501d7977..a3a7a61f1 100644
--- a/lib/Migration/Version5099Date20190319134820.php
+++ b/lib/Migration/Version5099Date20190319134820.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -45,7 +45,7 @@ class Version5099Date20190319134820 extends SimpleMigrationStep {
$table = $schema->getTable('talk_rooms');
if (!$table->hasColumn('read_only')) {
- $table->addColumn('read_only', Type::INTEGER, [
+ $table->addColumn('read_only', Types::INTEGER, [
'notnull' => true,
'length' => 6,
'default' => 0,
diff --git a/lib/Migration/Version6099Date20190627172429.php b/lib/Migration/Version6099Date20190627172429.php
index f505c69ff..bcb3279e5 100644
--- a/lib/Migration/Version6099Date20190627172429.php
+++ b/lib/Migration/Version6099Date20190627172429.php
@@ -24,7 +24,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -45,12 +45,12 @@ class Version6099Date20190627172429 extends SimpleMigrationStep {
$table = $schema->getTable('talk_rooms');
if (!$table->hasColumn('lobby_state')) {
- $table->addColumn('lobby_state', Type::INTEGER, [
+ $table->addColumn('lobby_state', Types::INTEGER, [
'notnull' => true,
'length' => 6,
'default' => 0,
]);
- $table->addColumn('lobby_timer', Type::DATETIME, [
+ $table->addColumn('lobby_timer', Types::DATETIME_MUTABLE, [
'notnull' => false,
]);
}
diff --git a/lib/Migration/Version7000Date20190717141457.php b/lib/Migration/Version7000Date20190717141457.php
index 2f415264f..1b7bad6f5 100644
--- a/lib/Migration/Version7000Date20190717141457.php
+++ b/lib/Migration/Version7000Date20190717141457.php
@@ -23,7 +23,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
@@ -42,7 +42,7 @@ class Version7000Date20190717141457 extends SimpleMigrationStep {
$table = $schema->getTable('talk_participants');
if (!$table->hasColumn('last_joined_call')) {
- $table->addColumn('last_joined_call', Type::DATETIME, [
+ $table->addColumn('last_joined_call', Types::DATETIME_MUTABLE, [
'notnull' => false,
]);
}
diff --git a/lib/Migration/Version7000Date20190724121136.php b/lib/Migration/Version7000Date20190724121136.php
index beb972b79..9ad66ec99 100644
--- a/lib/Migration/Version7000Date20190724121136.php
+++ b/lib/Migration/Version7000Date20190724121136.php
@@ -25,7 +25,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Doctrine\DBAL\Schema\SchemaException;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
@@ -55,11 +55,11 @@ class Version7000Date20190724121136 extends SimpleMigrationStep {
$table = $schema->getTable('talk_participants');
if (!$table->hasColumn('last_read_message')) {
- $table->addColumn('last_read_message', Type::BIGINT, [
+ $table->addColumn('last_read_message', Types::BIGINT, [
'default' => 0,
'notnull' => false,
]);
- $table->addColumn('last_mention_message', Type::BIGINT, [
+ $table->addColumn('last_mention_message', Types::BIGINT, [
'default' => 0,
'notnull' => false,
]);
diff --git a/lib/Migration/Version8000Date20200407115318.php b/lib/Migration/Version8000Date20200407115318.php
index 59fa05e44..18618926e 100644
--- a/lib/Migration/Version8000Date20200407115318.php
+++ b/lib/Migration/Version8000Date20200407115318.php
@@ -26,7 +26,7 @@ declare(strict_types=1);
namespace OCA\Talk\Migration;
use Closure;
-use Doctrine\DBAL\Types\Type;
+use Doctrine\DBAL\Types\Types;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
@@ -44,7 +44,7 @@ class Version8000Date20200407115318 extends SimpleMigrationStep {
$table = $schema->getTable('talk_rooms');
if (!$table->hasColumn('assigned_hpb')) {
- $table->addColumn('assigned_hpb', Type::INTEGER, [
+ $table->addColumn('assigned_hpb', Types::INTEGER, [
'notnull' => false,
'length' => 4,
'unsigned' => false,
diff --git a/psalm.xml b/psalm.xml
index 2d11ccffa..fa0add4bd 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -17,18 +17,23 @@
<issueHandlers>
<UndefinedClass>
<errorLevel type="suppress">
+ <referencedClass name="Doctrine\DBAL\Exception" />
+ <referencedClass name="Doctrine\DBAL\Exception\InvalidFieldNameException" />
+ <referencedClass name="Doctrine\DBAL\Exception\TableNotFoundException" />
<referencedClass name="Doctrine\DBAL\Exception\UniqueConstraintViolationException" />
- <referencedClass name="Doctrine\DBAL\Types\Type" />
+ <referencedClass name="Doctrine\DBAL\Platforms\PostgreSQL94Platform" />
<referencedClass name="Doctrine\DBAL\Types\Types" />
<referencedClass name="OC" />
</errorLevel>
</UndefinedClass>
<UndefinedDocblockClass>
<errorLevel type="suppress">
+ <referencedClass name="Doctrine\DBAL\Driver\Statement" />
+ <referencedClass name="Doctrine\DBAL\Exception" />
<referencedClass name="Doctrine\DBAL\Exception\UniqueConstraintViolationException" />
+ <referencedClass name="Doctrine\DBAL\Platforms\AbstractPlatform" />
<referencedClass name="Doctrine\DBAL\Schema\Schema" />
<referencedClass name="Doctrine\DBAL\Schema\SchemaException" />
- <referencedClass name="Doctrine\DBAL\Driver\Statement" />
<referencedClass name="Doctrine\DBAL\Schema\Table" />
</errorLevel>
</UndefinedDocblockClass>
diff --git a/src/assets/variables.scss b/src/assets/variables.scss
index cd0a3aa4c..ca33b524b 100644
--- a/src/assets/variables.scss
+++ b/src/assets/variables.scss
@@ -66,7 +66,7 @@ $message-max-width: 680px;
$message-utils-width: 100px;
//message form max height
-$message-form-max-height: 150px;
+$message-form-max-height: 180px;
$top-bar-height: 60px;
diff --git a/src/components/CallView/CallView.vue b/src/components/CallView/CallView.vue
index a75928805..6de1cea6a 100644
--- a/src/components/CallView/CallView.vue
+++ b/src/components/CallView/CallView.vue
@@ -409,7 +409,8 @@ export default {
this.raisedHandUnwatchers[removedModelId]()
// Not reactive, but not a problem
delete this.raisedHandUnwatchers[removedModelId]
- this.$store.dispatch('setParticipantHandRaised', { peerId: removedModelId, raised: false })
+ // FIXME: when using HPB sessionId doesn't match
+ this.$store.dispatch('setParticipantHandRaised', { sessionId: removedModelId, raisedHand: { state: false } })
const index = this.speakers.findIndex(speaker => speaker.id === removedModelId)
this.speakers.splice(index, 1)
@@ -488,17 +489,21 @@ export default {
const nickName = callParticipantModel.attributes.name || callParticipantModel.attributes.userId
// sometimes the nick name is not available yet...
if (nickName) {
- if (raisedHand) {
- showMessage(t('spreed', 'Participant {nickName} raised their hand.', { nickName: nickName }))
+ if (raisedHand?.state) {
+ showMessage(t('spreed', '{nickName} raised their hand.', { nickName: nickName }))
}
} else {
- if (raisedHand) {
+ if (raisedHand?.state) {
showMessage(t('spreed', 'A participant raised their hand.'))
}
}
// update in callViewStore
- this.$store.dispatch('setParticipantHandRaised', { peerId: callParticipantModel.attributes.peerId, raised: raisedHand })
+ this.$store.dispatch('setParticipantHandRaised', {
+ // FIXME: this is a bit hacky to fix the HPB session mismatch
+ sessionId: raisedHand?.sessionId ? raisedHand?.sessionId : callParticipantModel.attributes.peerId,
+ raisedHand: raisedHand,
+ })
},
_setScreenAvailable(id, screen) {
diff --git a/src/components/CallView/shared/LocalMediaControls.vue b/src/components/CallView/shared/LocalMediaControls.vue
index 28c5bc748..ce115030f 100644
--- a/src/components/CallView/shared/LocalMediaControls.vue
+++ b/src/components/CallView/shared/LocalMediaControls.vue
@@ -84,8 +84,8 @@
v-shortkey.once="['r']"
v-tooltip="t('spreed', 'Lower hand')"
class="lower-hand"
- :class="model.attributes.raisedHand ? '' : 'hidden-visually'"
- :tabindex="model.attributes.raisedHand ? 0 : -1"
+ :class="model.attributes.raisedHand.state ? '' : 'hidden-visually'"
+ :tabindex="model.attributes.raisedHand.state ? 0 : -1"
:aria-label="t('spreed', 'Lower hand')"
@shortkey="toggleHandRaised"
@click.stop="toggleHandRaised">
@@ -218,13 +218,12 @@ export default {
qualityWarningInGracePeriodTimeout: null,
audioEnabledBeforeSpacebarKeydown: undefined,
spacebarKeyDown: false,
- raisingHandNotification: null,
}
},
computed: {
raiseHandButtonLabel() {
- if (!this.model.attributes.raisedHand) {
+ if (!this.model.attributes.raisedHand.state) {
return t('spreed', 'Raise hand')
}
return t('spreed', 'Lower hand')
@@ -578,13 +577,16 @@ export default {
},
toggleHandRaised() {
- const raisedHand = !this.model.attributes.raisedHand
- if (this.raisingHandNotification) {
- this.raisingHandNotification.hideToast()
- this.raisingHandNotification = null
- }
- this.model.toggleHandRaised(raisedHand)
- this.$store.dispatch('setParticipantHandRaised', { peerId: this.localCallParticipantModel.attributes.peerId, raised: raisedHand })
+ const state = !this.model.attributes.raisedHand?.state
+ this.model.toggleHandRaised(state)
+ this.$store.dispatch(
+ 'setParticipantHandRaised',
+ {
+ // FIXME: when using HPB these don't match
+ sessionId: this.localCallParticipantModel.attributes.peerId,
+ raisedHand: this.model.attributes.raisedHand,
+ }
+ )
},
shareScreen() {
diff --git a/src/components/CallView/shared/VideoBottomBar.vue b/src/components/CallView/shared/VideoBottomBar.vue
index c351506f7..a8daaca00 100644
--- a/src/components/CallView/shared/VideoBottomBar.vue
+++ b/src/components/CallView/shared/VideoBottomBar.vue
@@ -26,7 +26,7 @@
:class="{'bottom-bar--video-on' : hasShadow, 'bottom-bar--big': isBig }">
<transition name="fade">
<div
- v-if="!connectionStateFailedNoRestart && model.attributes.raisedHand"
+ v-if="!connectionStateFailedNoRestart && model.attributes.raisedHand.state"
class="bottom-bar__statusIndicator">
<Hand
class="handIndicator"
diff --git a/src/components/ChatView.vue b/src/components/ChatView.vue
index 299bc7916..9668e6db8 100644
--- a/src/components/ChatView.vue
+++ b/src/components/ChatView.vue
@@ -45,9 +45,12 @@
<MessagesList
role="region"
:aria-label="t('spreed', 'Conversation messages')"
- :token="token" />
+ :is-chat-scrolled-to-bottom="isChatScrolledToBottom"
+ :token="token"
+ @setChatScrolledToBottom="setScrollStatus" />
<NewMessageForm
role="region"
+ :is-chat-scrolled-to-bottom="isChatScrolledToBottom"
:aria-label="t('spreed', 'Post message')" />
</div>
</template>
@@ -77,6 +80,12 @@ export default {
data: function() {
return {
isDraggingOver: false,
+ /**
+ * Initialised as true as when we open a new conversation we're scrolling to
+ * the bottom for now. In the future when we'll open the conversation close
+ * to the scroll position of the last read message, we will need to change this.
+ */
+ isChatScrolledToBottom: true,
}
},
@@ -128,6 +137,10 @@ export default {
// Uploads and shares the files
processFiles(files, this.token, uploadId)
},
+
+ setScrollStatus(payload) {
+ this.isChatScrolledToBottom = payload
+ },
},
}
@@ -152,7 +165,7 @@ export default {
background: var(--color-primary-light);
z-index: 11;
display: flex;
- box-shadow: 0px 0px 36px var(--color-box-shadow);
+ box-shadow: 0 0 36px var(--color-box-shadow);
border-radius: var(--border-radius);
opacity: 90%;
}
diff --git a/src/components/ConversationSettings/ConversationSettingsDialog.vue b/src/components/ConversationSettings/ConversationSettingsDialog.vue
index 6e55e61af..ab479b671 100644
--- a/src/components/ConversationSettings/ConversationSettingsDialog.vue
+++ b/src/components/ConversationSettings/ConversationSettingsDialog.vue
@@ -136,7 +136,7 @@ export default {
margin-top: 25px;
&:first-child {
- margin-top: 0px;
+ margin-top: 0;
}
}
</style>
diff --git a/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue b/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue
index 3135f79f1..4b474b8f4 100644
--- a/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue
+++ b/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue
@@ -381,7 +381,7 @@ it back */
display: flex;
flex: 0 0 40px;
height: 50px;
- box-shadow: 0px -10px 5px var(--color-main-background);
+ box-shadow: 0 -10px 5px var(--color-main-background);
z-index: 1;
// Same as above
width: $dialog-width - $dialog-margin * 2;
@@ -407,7 +407,7 @@ it back */
margin-top: 25px;
&:first-child {
- margin-top: 0px;
+ margin-top: 0;
}
}
diff --git a/src/components/MessagesList/MessagesList.vue b/src/components/MessagesList/MessagesList.vue
index fe98af035..6d316f9fb 100644
--- a/src/components/MessagesList/MessagesList.vue
+++ b/src/components/MessagesList/MessagesList.vue
@@ -52,7 +52,7 @@ get the messagesList array and loop through the list to generate the messages.
:count="15" />
</template>
<transition name="fade">
- <button v-show="!isScrolledToBottom"
+ <button v-show="!isChatScrolledToBottom"
:aria-label="scrollToBottomAriaLabel"
class="scroll-to-bottom"
@click="smoothScrollToBottom">
@@ -98,6 +98,11 @@ export default {
type: String,
required: true,
},
+
+ isChatScrolledToBottom: {
+ type: Boolean,
+ required: true,
+ },
},
data: function() {
@@ -115,12 +120,6 @@ export default {
*/
cancelFetchMessages: () => {},
/**
- * Initialised as true as when we open a new conversation we're scrolling to
- * the bottom for now. In the future when we'll open the conversation close
- * to the scroll position of the last red message, we wil need to change this.
- */
- isScrolledToBottom: true,
- /**
* When scrolling to the top of the div .scroller we start loading previous
* messages. This boolean allows us to show/hide the loader.
*/
@@ -187,7 +186,7 @@ export default {
* @returns {boolean}
*/
isSticky() {
- return this.isScrolledToBottom
+ return this.isChatScrolledToBottom
},
/**
@@ -544,7 +543,7 @@ export default {
debounceHandleScroll: debounce(function() {
this.handleScroll()
- }, 200),
+ }, 50),
/**
* When the div is scrolled, this method checks if it's been scrolled to the top
* or to the bottom of the list bottom.
@@ -556,7 +555,7 @@ export default {
const elementHeight = this.scroller.clientHeight
const tolerance = 10
if (scrollOffset < elementHeight + tolerance && scrollOffset > elementHeight - tolerance) {
- this.isScrolledToBottom = true
+ this.setChatScrolledToBottom(true)
this.displayMessagesLoader = false
this.previousScrollTopValue = scrollTop
} else if (scrollHeight > elementHeight && scrollTop < 800 && scrollTop <= this.previousScrollTopValue) {
@@ -567,7 +566,7 @@ export default {
this.displayMessagesLoader = false
this.previousScrollTopValue = scrollTop
} else {
- this.isScrolledToBottom = false
+ this.setChatScrolledToBottom(false)
this.displayMessagesLoader = false
this.previousScrollTopValue = scrollTop
}
@@ -578,9 +577,9 @@ export default {
* @param {boolean} options.force Set to true, if the chat should be scrolled to the bottom even when it was not before
*/
handleScrollChatToBottomEvent(options) {
- if ((options && options.force) || this.isScrolledToBottom) {
+ if ((options && options.force) || this.isChatScrolledToBottom) {
this.scrollToBottom()
- this.isScrolledToBottom = true
+ this.setChatScrolledToBottom(true)
}
},
@@ -593,7 +592,7 @@ export default {
top: this.scroller.scrollHeight,
behavior: 'smooth',
})
- this.isScrolledToBottom = true
+ this.setChatScrolledToBottom(true)
})
},
/**
@@ -602,7 +601,7 @@ export default {
scrollToBottom() {
this.$nextTick(function() {
this.scroller.scrollTop = this.scroller.scrollHeight
- this.isScrolledToBottom = true
+ this.setChatScrolledToBottom(true)
})
},
@@ -688,6 +687,10 @@ export default {
}
}
},
+
+ setChatScrolledToBottom(boolean) {
+ this.$emit('setChatScrolledToBottom', boolean)
+ },
},
}
</script>
diff --git a/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue b/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue
index a03d3dbe0..8a9b9aac5 100644
--- a/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue
+++ b/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue
@@ -22,6 +22,7 @@
<template>
<At ref="at"
v-model="text"
+ class="atwho-wrapper"
name-key="label"
:members="autoCompleteMentionCandidates"
:filter-match="atFilter"
@@ -389,6 +390,10 @@ export default {
<style lang="scss" scoped>
@import '../../../assets/variables';
+.atwho-wrapper {
+ display: flex;
+}
+
.new-message-form__advancedinput {
overflow: visible;
width: 100%;
@@ -397,12 +402,21 @@ export default {
margin-left: 6px !important;
word-break: break-word;
white-space: pre-wrap;
+ padding: 8px 16px;
}
// Support for the placeholder text in the div contenteditable
div[contenteditable] {
font-size: $chat-font-size;
line-height: $chat-line-height;
+ min-height: $clickable-area;
+ border-radius: $clickable-area / 2;
+ border: 1px solid var(--color-border-dark);
+ &:hover,
+ &:focus,
+ &:active {
+ border: 1px solid var(--color-primary-element) !important;
+ }
}
// Support for the placeholder text in the div contenteditable
diff --git a/src/components/NewMessageForm/NewMessageForm.vue b/src/components/NewMessageForm/NewMessageForm.vue
index d7ee2cc21..d61141bd3 100644
--- a/src/components/NewMessageForm/NewMessageForm.vue
+++ b/src/components/NewMessageForm/NewMessageForm.vue
@@ -21,7 +21,8 @@
<template>
<div
- class="wrapper">
+ class="wrapper"
+ :class="{'wrapper--chatScrolledToBottom': isChatScrolledToBottom}">
<!--native file picker, hidden -->
<input id="file-upload"
ref="fileUploadInput"
@@ -76,11 +77,12 @@
</EmojiPicker>
</div>
<div class="new-message-form__input">
- <Quote
- v-if="messageToBeReplied"
- :is-new-message-form-quote="true"
- :parent-id="messageToBeReplied.id"
- v-bind="messageToBeReplied" />
+ <div v-if="messageToBeReplied" class="new-message-form__quote">
+ <Quote
+ :is-new-message-form-quote="true"
+ v-bind="messageToBeReplied" />
+ </div>
+
<AdvancedInput
ref="advancedInput"
v-model="text"
@@ -96,8 +98,12 @@
:disabled="isReadOnly"
type="submit"
:aria-label="t('spreed', 'Send message')"
- class="new-message-form__button submit icon-confirm-fade"
- @click.prevent="handleSubmit" />
+ class="new-message-form__button submit"
+ @click.prevent="handleSubmit">
+ <Send
+ :size="20"
+ decorative />
+ </button>
</form>
</div>
</div>
@@ -117,6 +123,7 @@ import { processFiles } from '../../utils/fileUpload'
import { CONVERSATION } from '../../constants'
import createTemporaryMessage from '../../utils/temporaryMessage'
import EmoticonOutline from 'vue-material-design-icons/EmoticonOutline'
+import Send from 'vue-material-design-icons/Send'
const picker = getFilePickerBuilder(t('spreed', 'File to share'))
.setMultiSelect(false)
@@ -134,6 +141,14 @@ export default {
ActionButton,
EmojiPicker,
EmoticonOutline,
+ Send,
+ },
+
+ props: {
+ isChatScrolledToBottom: {
+ type: Boolean,
+ required: true,
+ },
},
data: function() {
return {
@@ -397,32 +412,45 @@ export default {
.wrapper {
position: sticky;
bottom: 0;
- background-color: var(--color-main-background);
display: flex;
justify-content: center;
- border-top: 1px solid var(--color-border-dark);
- padding: 4px 0;
+ padding: 12px 0;
+ border-top: 1px solid var(--color-border);
+ &--chatScrolledToBottom {
+ border-top: none;
+ }
}
.new-message {
- max-width: $messages-list-max-width;
+ max-width: $messages-list-max-width + 145px;
flex: 1 1 100%;
&-form {
display: flex;
- align-items: center;
+ align-items: flex-end;
&__input {
flex-grow: 1;
max-height: $message-form-max-height;
overflow-y: auto;
overflow-x: hidden;
- max-width: $message-max-width;
+ max-width: 638px;
}
&__button {
width: 44px;
height: 44px;
- margin-top: auto;
background-color: transparent;
border: none;
+ margin: 0 4px;
+ color: var(--color-main-text);
+ opacity: .9;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ &__quote {
+ margin: 0 16px 12px 24px;
+ background-color: var(--color-background-hover);
+ padding: 8px;
+ border-radius: var(--border-radius-large);
}
// put a grey round background when popover is opened
diff --git a/src/components/RightSidebar/Description/Description.vue b/src/components/RightSidebar/Description/Description.vue
index 82e6b471c..400add171 100644
--- a/src/components/RightSidebar/Description/Description.vue
+++ b/src/components/RightSidebar/Description/Description.vue
@@ -379,7 +379,7 @@ export default {
border-radius: var(--border-radius-pill);
position: absolute;
top: 0;
- right: 0px;
+ right: 0;
display: flex;
align-items: center;
justify-content: center;
diff --git a/src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue b/src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue
index d632f9e5e..97797426a 100644
--- a/src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue
+++ b/src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue
@@ -114,6 +114,7 @@ export default {
* Sort two participants by:
* - online status
* - in call
+ * - who raised hand first
* - type (moderators before normal participants)
* - user status (dnd at the end)
* - display name
@@ -151,6 +152,22 @@ export default {
return p1inCall ? -1 : 1
}
+ const p1HandRaised = this.$store.getters.getParticipantRaisedHand(session1)
+ const p2HandRaised = this.$store.getters.getParticipantRaisedHand(session2)
+ if (p1HandRaised.state !== p2HandRaised.state) {
+ return p1HandRaised.state ? -1 : 1
+ }
+ // both had raised hands, then pick whoever raised hand first
+ if (p1HandRaised) {
+ // use MAX_VALUE if not defined to avoid zeroes making it look like
+ // one raised their hands at the birth of time...
+ const t1 = p1HandRaised.timestamp || Number.MAX_VALUE
+ const t2 = p2HandRaised.timestamp || Number.MAX_VALUE
+ if (t1 !== t2) {
+ return t1 - t2
+ }
+ }
+
const moderatorTypes = [PARTICIPANT.TYPE.OWNER, PARTICIPANT.TYPE.MODERATOR, PARTICIPANT.TYPE.GUEST_MODERATOR]
const moderator1 = moderatorTypes.indexOf(participant1.participantType) !== -1
const moderator2 = moderatorTypes.indexOf(participant2.participantType) !== -1
diff --git a/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue b/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue
index fe3e75343..6cd1d03b5 100644
--- a/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue
+++ b/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue
@@ -277,18 +277,19 @@ export default {
label() {
return this.participant.label
},
- raisedHand() {
+ isHandRaised() {
if (this.isSearched || this.participant.inCall === PARTICIPANT.CALL_FLAG_DISCONNECTED) {
return false
}
- return this.$store.getters.isParticipantRaisedHand(this.participant.sessionId)
+ const state = this.$store.getters.isParticipantRaisedHand(this.participant.sessionId)
+ return state
},
callIcon() {
if (this.isSearched || this.participant.inCall === PARTICIPANT.CALL_FLAG.DISCONNECTED) {
return ''
}
- if (this.raisedHand) {
+ if (this.isHandRaised) {
return 'hand'
}
const withVideo = this.participant.inCall & PARTICIPANT.CALL_FLAG.WITH_VIDEO
diff --git a/src/store/callViewStore.js b/src/store/callViewStore.js
index 76855de8c..5f67569bd 100644
--- a/src/store/callViewStore.js
+++ b/src/store/callViewStore.js
@@ -53,7 +53,12 @@ const getters = {
getBlurRadius: (state) => (width, height) => {
return (width * height * state.videoBackgroundBlur) / 1000
},
- isParticipantRaisedHand: (state) => (peerId) => !!state.participantRaisedHands[peerId],
+ getParticipantRaisedHand: (state) => (sessionId) => {
+ return state.participantRaisedHands[sessionId] || { state: false, timestamp: null }
+ },
+ isParticipantRaisedHand: (state) => (sessionId) => {
+ return state.participantRaisedHands[sessionId]?.state
+ },
}
const mutations = {
@@ -76,11 +81,14 @@ const mutations = {
presentationStarted(state, value) {
state.presentationStarted = value
},
- setParticipantHandRaised(state, { peerId, raised }) {
- if (raised) {
- Vue.set(state.participantRaisedHands, peerId, raised)
+ setParticipantHandRaised(state, { sessionId, raisedHand }) {
+ if (!sessionId) {
+ throw new Error('Missing or empty sessionId argument in call to setParticipantHandRaised')
+ }
+ if (raisedHand && raisedHand.state) {
+ Vue.set(state.participantRaisedHands, sessionId, raisedHand)
} else {
- Vue.delete(state.participantRaisedHands, peerId)
+ Vue.delete(state.participantRaisedHands, sessionId)
}
},
clearParticipantHandRaised(state) {
@@ -140,8 +148,8 @@ const actions = {
}
},
- setParticipantHandRaised(context, { peerId, raised }) {
- context.commit('setParticipantHandRaised', { peerId, raised })
+ setParticipantHandRaised(context, { sessionId, raisedHand }) {
+ context.commit('setParticipantHandRaised', { sessionId, raisedHand })
},
/**
diff --git a/src/utils/webrtc/models/CallParticipantModel.js b/src/utils/webrtc/models/CallParticipantModel.js
index 4cc7f6706..159bc5aa3 100644
--- a/src/utils/webrtc/models/CallParticipantModel.js
+++ b/src/utils/webrtc/models/CallParticipantModel.js
@@ -53,7 +53,10 @@ export default function CallParticipantModel(options) {
speaking: undefined,
videoAvailable: undefined,
screen: null,
- raisedHand: false,
+ raisedHand: {
+ state: false,
+ timestamp: null,
+ },
}
this._handlers = []
diff --git a/src/utils/webrtc/models/LocalMediaModel.js b/src/utils/webrtc/models/LocalMediaModel.js
index 4c83c2dbd..4ddb185d6 100644
--- a/src/utils/webrtc/models/LocalMediaModel.js
+++ b/src/utils/webrtc/models/LocalMediaModel.js
@@ -228,7 +228,7 @@ LocalMediaModel.prototype = {
this.set('videoAvailable', false)
}
- this.set('raisedHand', false)
+ this.set('raisedHand', { state: false, timestamp: Date.now() })
},
_handleLocalStreamChanged: function(localStream) {
@@ -441,11 +441,17 @@ LocalMediaModel.prototype = {
throw new Error('WebRtc not initialized yet')
}
- this._webRtc.sendToAll('raiseHand', { raised: raised })
+ const raisedHand = {
+ state: raised,
+ timestamp: Date.now(),
+ sessionId: this._webRtc.connection?.nextcloudSessionId,
+ }
+
+ this._webRtc.sendToAll('raiseHand', raisedHand)
// Set state locally too, as even when sending to all the sender will not
// receive the message.
- this.set('raisedHand', raised)
+ this.set('raisedHand', raisedHand)
},
}
diff --git a/src/utils/webrtc/simplewebrtc/peer.js b/src/utils/webrtc/simplewebrtc/peer.js
index a6cc32a6c..6790c279a 100644
--- a/src/utils/webrtc/simplewebrtc/peer.js
+++ b/src/utils/webrtc/simplewebrtc/peer.js
@@ -256,7 +256,7 @@ Peer.prototype.handleMessage = function(message) {
this.parent.emit('unshareScreen', { id: message.from })
this.end()
} else if (message.type === 'raiseHand') {
- this.parent.emit('raisedHand', { id: message.from, raised: message.payload.raised })
+ this.parent.emit('raisedHand', { id: message.from, raised: message.payload })
}
}
diff --git a/src/utils/webrtc/webrtc.js b/src/utils/webrtc/webrtc.js
index 39a10a17e..52c117bcd 100644
--- a/src/utils/webrtc/webrtc.js
+++ b/src/utils/webrtc/webrtc.js
@@ -409,7 +409,10 @@ export default function initWebRTC(signaling, _callParticipantCollection, _local
if (callParticipantModel) {
callParticipantModel.set('speaking', (event.flags & PARTICIPANT.SIP_FLAG.SPEAKING) > 0)
callParticipantModel.set('audioAvailable', (event.flags & PARTICIPANT.SIP_FLAG.MUTE_MICROPHONE) === 0)
- callParticipantModel.set('raisedHand', (event.flags & PARTICIPANT.SIP_FLAG.RAISE_HAND) === 0)
+ callParticipantModel.set('raisedHand', {
+ state: (event.flags & PARTICIPANT.SIP_FLAG.RAISE_HAND) === 0,
+ timestamp: Date.now(),
+ })
}
})
signaling.on('usersInRoom', function(users) {
diff --git a/tests/psalm-baseline.xml b/tests/psalm-baseline.xml
index 3ed9828e5..d072bd8fe 100644
--- a/tests/psalm-baseline.xml
+++ b/tests/psalm-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<files psalm-version="4.1.1@16bfbd9224698bd738c665f33039fade2a1a3977">
+<files psalm-version="4.3.2@57b53ff26237074fdf5cbcb034f7da5172be4524">
<file src="lib/AppInfo/Application.php">
<UndefinedClass occurrences="2">
<code>BeforeTemplateRenderedEvent</code>
@@ -173,11 +173,6 @@
<code>ShareNotFound</code>
</MissingDependency>
</file>
- <file src="lib/Controller/GuestController.php">
- <UndefinedClass occurrences="1">
- <code>DBALException</code>
- </UndefinedClass>
- </file>
<file src="lib/Controller/PageController.php">
<MissingDependency occurrences="2">
<code>IRootFolder</code>
@@ -244,13 +239,8 @@
<file src="lib/Flow/Operation.php">
<InvalidArgument occurrences="1"/>
</file>
- <file src="lib/GuestManager.php">
- <UndefinedDocblockClass occurrences="1">
- <code>\Doctrine\DBAL\DBALException</code>
- </UndefinedDocblockClass>
- </file>
<file src="lib/Manager.php">
- <InvalidArgument occurrences="12"/>
+ <InvalidArgument occurrences="10"/>
</file>
<file src="lib/MatterbridgeManager.php">
<UndefinedClass occurrences="3">
@@ -269,33 +259,6 @@
<InvalidArrayAccess occurrences="1">
<code>$return['num_rooms']</code>
</InvalidArrayAccess>
- <UndefinedClass occurrences="2">
- <code>PostgreSqlPlatform</code>
- <code>PostgreSqlPlatform</code>
- </UndefinedClass>
- <UndefinedDocblockClass occurrences="2">
- <code>$this-&gt;db-&gt;getDatabasePlatform()</code>
- <code>$this-&gt;db-&gt;getDatabasePlatform()</code>
- </UndefinedDocblockClass>
- </file>
- <file src="lib/Migration/Version2001Date20171026134605.php">
- <UndefinedClass occurrences="4">
- <code>PostgreSqlPlatform</code>
- <code>TableNotFoundException</code>
- <code>TableNotFoundException</code>
- <code>TableNotFoundException</code>
- </UndefinedClass>
- <UndefinedDocblockClass occurrences="1">
- <code>$this-&gt;connection-&gt;getDatabasePlatform()</code>
- </UndefinedDocblockClass>
- </file>
- <file src="lib/Migration/Version2001Date20180103144447.php">
- <UndefinedClass occurrences="1">
- <code>PostgreSqlPlatform</code>
- </UndefinedClass>
- <UndefinedDocblockClass occurrences="1">
- <code>$this-&gt;connection-&gt;getDatabasePlatform()</code>
- </UndefinedDocblockClass>
</file>
<file src="lib/Migration/Version7000Date20190724121136.php">
<InvalidArgument occurrences="1"/>