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--CHANGELOG.md71
-rw-r--r--docs/call.md1
-rw-r--r--docs/capabilities.md3
-rw-r--r--l10n/bg.js1
-rw-r--r--l10n/bg.json1
-rw-r--r--l10n/ca.js1
-rw-r--r--l10n/ca.json1
-rw-r--r--l10n/cs.js2
-rw-r--r--l10n/cs.json2
-rw-r--r--l10n/da.js1
-rw-r--r--l10n/da.json1
-rw-r--r--l10n/de.js1
-rw-r--r--l10n/de.json1
-rw-r--r--l10n/de_DE.js2
-rw-r--r--l10n/de_DE.json2
-rw-r--r--l10n/el.js1
-rw-r--r--l10n/el.json1
-rw-r--r--l10n/es.js50
-rw-r--r--l10n/es.json50
-rw-r--r--l10n/eu.js19
-rw-r--r--l10n/eu.json19
-rw-r--r--l10n/fi.js1
-rw-r--r--l10n/fi.json1
-rw-r--r--l10n/fr.js1
-rw-r--r--l10n/fr.json1
-rw-r--r--l10n/gl.js1
-rw-r--r--l10n/gl.json1
-rw-r--r--l10n/he.js1
-rw-r--r--l10n/he.json1
-rw-r--r--l10n/hr.js1
-rw-r--r--l10n/hr.json1
-rw-r--r--l10n/hu.js1
-rw-r--r--l10n/hu.json1
-rw-r--r--l10n/it.js1
-rw-r--r--l10n/it.json1
-rw-r--r--l10n/ja.js1
-rw-r--r--l10n/ja.json1
-rw-r--r--l10n/nb.js1
-rw-r--r--l10n/nb.json1
-rw-r--r--l10n/nl.js1
-rw-r--r--l10n/nl.json1
-rw-r--r--l10n/oc.js4
-rw-r--r--l10n/oc.json4
-rw-r--r--l10n/pl.js2
-rw-r--r--l10n/pl.json2
-rw-r--r--l10n/pt_BR.js13
-rw-r--r--l10n/pt_BR.json13
-rw-r--r--l10n/ro.js31
-rw-r--r--l10n/ro.json31
-rw-r--r--l10n/ru.js1
-rw-r--r--l10n/ru.json1
-rw-r--r--l10n/sc.js1
-rw-r--r--l10n/sc.json1
-rw-r--r--l10n/sk.js1
-rw-r--r--l10n/sk.json1
-rw-r--r--l10n/sl.js1
-rw-r--r--l10n/sl.json1
-rw-r--r--l10n/sr.js1
-rw-r--r--l10n/sr.json1
-rw-r--r--l10n/th.js1
-rw-r--r--l10n/th.json1
-rw-r--r--l10n/tr.js101
-rw-r--r--l10n/tr.json101
-rw-r--r--l10n/uk.js10
-rw-r--r--l10n/uk.json10
-rw-r--r--l10n/vi.js1
-rw-r--r--l10n/vi.json1
-rw-r--r--l10n/zh_CN.js1
-rw-r--r--l10n/zh_CN.json1
-rw-r--r--l10n/zh_HK.js2
-rw-r--r--l10n/zh_HK.json2
-rw-r--r--l10n/zh_TW.js1
-rw-r--r--l10n/zh_TW.json1
-rw-r--r--lib/Capabilities.php7
-rw-r--r--lib/Chat/Parser/SystemMessage.php16
-rw-r--r--lib/Controller/CallController.php4
-rw-r--r--lib/Controller/PageController.php5
-rw-r--r--lib/Controller/SignalingController.php21
-rw-r--r--lib/Events/SilentModifyParticipantEvent.php27
-rw-r--r--lib/Notification/Listener.php12
-rw-r--r--lib/Service/ParticipantService.php9
-rw-r--r--lib/Signaling/BackendNotifier.php2
-rw-r--r--package-lock.json428
-rw-r--r--package.json8
-rw-r--r--src/components/LeftSidebar/LeftSidebar.vue9
-rw-r--r--src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageButtonsBar.spec.js2
-rw-r--r--src/components/NewMessageForm/NewMessageForm.vue64
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue37
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsTab.vue1
-rw-r--r--src/components/RightSidebar/SharedItems/SharedItems.vue7
-rw-r--r--src/init.js10
-rw-r--r--src/services/messagesService.js3
-rw-r--r--src/store/integrationsStore.js (renamed from src/store/messageActionsStore.js)10
-rw-r--r--src/store/messagesStore.js10
-rw-r--r--src/store/messagesStore.spec.js14
-rw-r--r--src/store/storeConfig.js4
-rw-r--r--src/types/vendor/l10n.d.ts2
-rw-r--r--tests/integration/composer.json2
-rw-r--r--tests/integration/composer.lock272
-rw-r--r--tests/integration/features/bootstrap/FeatureContext.php43
-rw-r--r--tests/integration/features/callapi/notifications.feature68
-rw-r--r--tests/integration/features/chat/notifications.feature54
-rw-r--r--tests/integration/features/command/user-remove.feature22
-rw-r--r--tests/php/CapabilitiesTest.php10
-rw-r--r--tests/php/Controller/SignalingControllerTest.php61
105 files changed, 1338 insertions, 501 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a8c86ce6e..3ace36057 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,21 +1,56 @@
# Changelog
All notable changes to this project will be documented in this file.
+## 14.0.2 โ€“ 2022-05-26
+### Changed
+- Add "Others" section to shared items tab to list unknown items
+ [#7350](https://github.com/nextcloud/spreed/pull/7350)
+
+### Fixed
+- Only declare changed sessions as such instead of all sessions of that participant
+ [#7382](https://github.com/nextcloud/spreed/pull/7382)
+- Ensure display name of conversation owner is stored correctly
+ [#7376](https://github.com/nextcloud/spreed/pull/7376)
+- Don't show promotion options for circles and groups
+ [#7404](https://github.com/nextcloud/spreed/pull/7404)
+- Don't show permissions options for circles and groups
+ [#7360](https://github.com/nextcloud/spreed/pull/7360)
+- Don't show reactions option for command messages
+ [#7345](https://github.com/nextcloud/spreed/pull/7345)
+- Fix forwarding replies
+ [#7343](https://github.com/nextcloud/spreed/pull/7343)
+
+## 13.0.6 โ€“ 2022-05-26
+### Fixed
+- Ensure display name of conversation owner is stored correctly
+ [#7377](https://github.com/nextcloud/spreed/pull/7377)
+- Don't show promotion options for circles and groups
+ [#7409](https://github.com/nextcloud/spreed/pull/7409)
+- Don't show permissions options for circles and groups
+ [#7405](https://github.com/nextcloud/spreed/pull/7405)
+
+## 12.2.6 โ€“ 2022-05-26
+### Fixed
+- Ensure display name of conversation owner is stored correctly
+ [#7378](https://github.com/nextcloud/spreed/pull/7378)
+- Don't show promotion options for circles and groups
+ [#7406](https://github.com/nextcloud/spreed/pull/7406)
+
## 14.0.1 โ€“ 2022-05-07
### Fixed
- Fix memory consumption with emoji picker in conversations with a lot of chat messages with reactions
- [7328](https://github.com/nextcloud/spreed/pull/7328)
+ [#7328](https://github.com/nextcloud/spreed/pull/7328)
- Fix endless offer loop with SIP participants
- [7288](https://github.com/nextcloud/spreed/pull/7288)
+ [#7288](https://github.com/nextcloud/spreed/pull/7288)
- Fix room selector in deck and maps integration
- [7290](https://github.com/nextcloud/spreed/pull/7290)
- [7294](https://github.com/nextcloud/spreed/pull/7294)
+ [#7290](https://github.com/nextcloud/spreed/pull/7290)
+ [#7294](https://github.com/nextcloud/spreed/pull/7294)
- Fix transceiver kind for participants without the HPB
- [7263](https://github.com/nextcloud/spreed/pull/7263)
+ [#7263](https://github.com/nextcloud/spreed/pull/7263)
- Fix error on console when initiating a screenshare
- [7330](https://github.com/nextcloud/spreed/pull/7330)
+ [#7330](https://github.com/nextcloud/spreed/pull/7330)
- Add missing translations of 24 branch
- [7330](https://github.com/nextcloud/spreed/pull/7330)
+ [#7330](https://github.com/nextcloud/spreed/pull/7330)
## 14.0.0 โ€“ 2022-05-02
### Added
@@ -35,30 +70,30 @@ All notable changes to this project will be documented in this file.
### Fixed
- Make reactions work for guests and handle guests without name in the summary
- [7217](https://github.com/nextcloud/spreed/pull/7217)
+ [#7217](https://github.com/nextcloud/spreed/pull/7217)
- Add a link to notification sound settings from talk settings
- [7224](https://github.com/nextcloud/spreed/pull/7224)
+ [#7224](https://github.com/nextcloud/spreed/pull/7224)
- Fix migration with Postgres and Oracle
- [7211](https://github.com/nextcloud/spreed/pull/7211)
+ [#7211](https://github.com/nextcloud/spreed/pull/7211)
- Add programmatic output options to talk:active-calls command
- [7227](https://github.com/nextcloud/spreed/pull/7227)
+ [#7227](https://github.com/nextcloud/spreed/pull/7227)
- Fix media tab and reactions summary in read-only rooms
- [7236](https://github.com/nextcloud/spreed/pull/7236)
+ [#7236](https://github.com/nextcloud/spreed/pull/7236)
## 14.0.0-rc.3 โ€“ 2022-04-22
### Fixed
- Move message.reactions.self to message.reactionsSelf to not merge different data structures
- [7182](https://github.com/nextcloud/spreed/pull/7182)
+ [#7182](https://github.com/nextcloud/spreed/pull/7182)
- Use actor and time information from the reaction not the message author
- [7190](https://github.com/nextcloud/spreed/pull/7190)
+ [#7190](https://github.com/nextcloud/spreed/pull/7190)
- Fix migration of attachment types for media
- [7196](https://github.com/nextcloud/spreed/pull/7196)
+ [#7196](https://github.com/nextcloud/spreed/pull/7196)
- Open chat tab by default in sidebar while in a call
- [7201](https://github.com/nextcloud/spreed/pull/7201)
+ [#7201](https://github.com/nextcloud/spreed/pull/7201)
- Fix access to undefined key
- [7195](https://github.com/nextcloud/spreed/pull/7195)
+ [#7195](https://github.com/nextcloud/spreed/pull/7195)
- Only set header when the value changed and the status is not 304
- [7200](https://github.com/nextcloud/spreed/pull/7200)
+ [#7200](https://github.com/nextcloud/spreed/pull/7200)
### Still in progress
- Media tab showing all shared items of the conversation
diff --git a/docs/call.md b/docs/call.md
index 0dc3d788a..92fadce89 100644
--- a/docs/call.md
+++ b/docs/call.md
@@ -38,6 +38,7 @@
field | type | Description
---|---|---
`flags` | int | Flags what streams are provided by the participant (see [Constants - Participant in-call flag](constants.md#participant-in-call-flag))
+ `silent` | bool | Disable start call notifications for group/public calls
* Response:
- Status code:
diff --git a/docs/capabilities.md b/docs/capabilities.md
index 25084a2e2..ce4507633 100644
--- a/docs/capabilities.md
+++ b/docs/capabilities.md
@@ -94,8 +94,11 @@ title: Capabilities
* `rich-object-delete` - When the API allows to delete chat messages which are file or rich object shares
## 15
+* `unified-search` - When the extended attributes of unified search results are there
* `chat-permission` - When permission 128 is required to post chat messages, reaction or share items to the conversation
* `silent-send` - Whether the chat API allows to send chat messages without triggering notifications
* `sip-support-nopin` - Whether SIP can be configured to not require a custom attendee PIN
* `send-call-notification` - When the API allows to resend call notifications for individual users that did not join yet
+* `silent-call` - Allow to start calls without sending notification
* `config => call => enabled` - Whether calling is enabled on the instance or not
+* `config => signaling => session-ping-limit` - Number of sessions the HPB is allowed to ping in the same request
diff --git a/l10n/bg.js b/l10n/bg.js
index 501aaf488..d64272907 100644
--- a/l10n/bg.js
+++ b/l10n/bg.js
@@ -1020,6 +1020,7 @@ OC.L10N.register(
"Add groups" : "ะ”ะพะฑะฐะฒัะฝะต ะฝะฐ ะณั€ัƒะฟะธ",
"Add emails" : "ะ”ะพะฑะฐะฒัะฝะต ะฝะฐ ะธะผะตะนะปะธ",
"Add circles" : "ะ”ะพะฑะฐะฒัะฝะต ะฝะฐ ะบั€ัŠะณะพะฒะต",
+ "Integrations" : "ะ˜ะฝั‚ะตะณั€ะฐั†ะธะธ",
"Add federated users" : "ะ”ะพะฑะฐะฒัะฝะต ะฝะฐ ั„ะตะดะตั€ะธั€ะฐะฝะธ ะฟะพั‚ั€ะตะฑะธั‚ะตะปะธ",
"Searching โ€ฆ" : "ะขัŠั€ัะตะฝะต ...",
"No results" : "ะัะผะฐ ั€ะตะทัƒะปั‚ะฐั‚ะธ",
diff --git a/l10n/bg.json b/l10n/bg.json
index ee6dc7597..6fa660e38 100644
--- a/l10n/bg.json
+++ b/l10n/bg.json
@@ -1018,6 +1018,7 @@
"Add groups" : "ะ”ะพะฑะฐะฒัะฝะต ะฝะฐ ะณั€ัƒะฟะธ",
"Add emails" : "ะ”ะพะฑะฐะฒัะฝะต ะฝะฐ ะธะผะตะนะปะธ",
"Add circles" : "ะ”ะพะฑะฐะฒัะฝะต ะฝะฐ ะบั€ัŠะณะพะฒะต",
+ "Integrations" : "ะ˜ะฝั‚ะตะณั€ะฐั†ะธะธ",
"Add federated users" : "ะ”ะพะฑะฐะฒัะฝะต ะฝะฐ ั„ะตะดะตั€ะธั€ะฐะฝะธ ะฟะพั‚ั€ะตะฑะธั‚ะตะปะธ",
"Searching โ€ฆ" : "ะขัŠั€ัะตะฝะต ...",
"No results" : "ะัะผะฐ ั€ะตะทัƒะปั‚ะฐั‚ะธ",
diff --git a/l10n/ca.js b/l10n/ca.js
index a5daf679b..0cb3b51ee 100644
--- a/l10n/ca.js
+++ b/l10n/ca.js
@@ -734,6 +734,7 @@ OC.L10N.register(
"Add groups" : "Afegeix grups",
"Add emails" : "Afegir correus electrรฒnics",
"Add circles" : "Afegeix cercles",
+ "Integrations" : "Integracions",
"Searching โ€ฆ" : "Cercant โ€ฆ",
"No results" : "No hi ha resultats",
"Search for more users" : "Cercar mรฉs usuaris",
diff --git a/l10n/ca.json b/l10n/ca.json
index 0c5e3141b..0a938fac3 100644
--- a/l10n/ca.json
+++ b/l10n/ca.json
@@ -732,6 +732,7 @@
"Add groups" : "Afegeix grups",
"Add emails" : "Afegir correus electrรฒnics",
"Add circles" : "Afegeix cercles",
+ "Integrations" : "Integracions",
"Searching โ€ฆ" : "Cercant โ€ฆ",
"No results" : "No hi ha resultats",
"Search for more users" : "Cercar mรฉs usuaris",
diff --git a/l10n/cs.js b/l10n/cs.js
index 0b6f28f5a..8baec8ace 100644
--- a/l10n/cs.js
+++ b/l10n/cs.js
@@ -985,6 +985,7 @@ OC.L10N.register(
"Upload new files" : "Nahrรกt novรฉ soubory",
"Share from Files" : "Sdรญlet ze Souborลฏ",
"Add emoji" : "Pล™idat emoji",
+ "Send silently" : "Poslat tiลกe",
"Send message" : "Poslat zprรกvu",
"File to share" : "Soubor ke sdรญlenรญ",
"This conversation has been locked" : "Tato konverzace byla uzamฤena",
@@ -1035,6 +1036,7 @@ OC.L10N.register(
"Add groups" : "Pล™idat skupiny",
"Add emails" : "Pล™idat e-maily",
"Add circles" : "Pล™idat okruhy",
+ "Integrations" : "Napojenรญ",
"Add federated users" : "Pล™idat federovanรฉ uลพivatele",
"Searching โ€ฆ" : "Hledรกnรญโ€ฆ",
"No results" : "ลฝรกdnรฉ vรฝsledky",
diff --git a/l10n/cs.json b/l10n/cs.json
index 72f86c074..c2eeeb632 100644
--- a/l10n/cs.json
+++ b/l10n/cs.json
@@ -983,6 +983,7 @@
"Upload new files" : "Nahrรกt novรฉ soubory",
"Share from Files" : "Sdรญlet ze Souborลฏ",
"Add emoji" : "Pล™idat emoji",
+ "Send silently" : "Poslat tiลกe",
"Send message" : "Poslat zprรกvu",
"File to share" : "Soubor ke sdรญlenรญ",
"This conversation has been locked" : "Tato konverzace byla uzamฤena",
@@ -1033,6 +1034,7 @@
"Add groups" : "Pล™idat skupiny",
"Add emails" : "Pล™idat e-maily",
"Add circles" : "Pล™idat okruhy",
+ "Integrations" : "Napojenรญ",
"Add federated users" : "Pล™idat federovanรฉ uลพivatele",
"Searching โ€ฆ" : "Hledรกnรญโ€ฆ",
"No results" : "ลฝรกdnรฉ vรฝsledky",
diff --git a/l10n/da.js b/l10n/da.js
index e80b1f4e6..b34f35b07 100644
--- a/l10n/da.js
+++ b/l10n/da.js
@@ -391,6 +391,7 @@ OC.L10N.register(
"Add groups" : "Tilfรธj grupper",
"Add emails" : "Tilfรธj emails",
"Add circles" : "Tilfรธj cirkler",
+ "Integrations" : "Integrationer",
"Searching โ€ฆ" : "Sรธger ...",
"No results" : "Ingen resultater",
"Add users or groups" : "Add users or groups",
diff --git a/l10n/da.json b/l10n/da.json
index 43290f40c..9368b0b8d 100644
--- a/l10n/da.json
+++ b/l10n/da.json
@@ -389,6 +389,7 @@
"Add groups" : "Tilfรธj grupper",
"Add emails" : "Tilfรธj emails",
"Add circles" : "Tilfรธj cirkler",
+ "Integrations" : "Integrationer",
"Searching โ€ฆ" : "Sรธger ...",
"No results" : "Ingen resultater",
"Add users or groups" : "Add users or groups",
diff --git a/l10n/de.js b/l10n/de.js
index daa796516..1581cbd04 100644
--- a/l10n/de.js
+++ b/l10n/de.js
@@ -1035,6 +1035,7 @@ OC.L10N.register(
"Add groups" : "Gruppen hinzufรผgen",
"Add emails" : "E-Mails hinzufรผgen",
"Add circles" : "Kreise hinzufรผgen",
+ "Integrations" : "Einbindungen",
"Add federated users" : "Federated-Benutzer hinzufรผgen",
"Searching โ€ฆ" : "Suche โ€ฆ",
"No results" : "Keine Ergebnisse",
diff --git a/l10n/de.json b/l10n/de.json
index 1b1c596b1..d55040631 100644
--- a/l10n/de.json
+++ b/l10n/de.json
@@ -1033,6 +1033,7 @@
"Add groups" : "Gruppen hinzufรผgen",
"Add emails" : "E-Mails hinzufรผgen",
"Add circles" : "Kreise hinzufรผgen",
+ "Integrations" : "Einbindungen",
"Add federated users" : "Federated-Benutzer hinzufรผgen",
"Searching โ€ฆ" : "Suche โ€ฆ",
"No results" : "Keine Ergebnisse",
diff --git a/l10n/de_DE.js b/l10n/de_DE.js
index 1d01f973b..ca5d77964 100644
--- a/l10n/de_DE.js
+++ b/l10n/de_DE.js
@@ -985,6 +985,7 @@ OC.L10N.register(
"Upload new files" : "Neue Dateien hochladen",
"Share from Files" : "Aus Dateien heraus teilen",
"Add emoji" : "Emoji hinzufรผgen",
+ "Send silently" : "Stumm senden",
"Send message" : "Nachricht senden",
"File to share" : "Zu teilende Datei",
"This conversation has been locked" : "Diese Unterhaltung wurde gesperrt",
@@ -1035,6 +1036,7 @@ OC.L10N.register(
"Add groups" : "Gruppen hinzufรผgen",
"Add emails" : "E-Mails hinzufรผgen",
"Add circles" : "Kreise hinzufรผgen",
+ "Integrations" : "Einbindungen",
"Add federated users" : "Federated-Benutzer hinzufรผgen",
"Searching โ€ฆ" : "Suche โ€ฆ",
"No results" : "Keine Ergebnisse",
diff --git a/l10n/de_DE.json b/l10n/de_DE.json
index 83bd5f715..670353dbf 100644
--- a/l10n/de_DE.json
+++ b/l10n/de_DE.json
@@ -983,6 +983,7 @@
"Upload new files" : "Neue Dateien hochladen",
"Share from Files" : "Aus Dateien heraus teilen",
"Add emoji" : "Emoji hinzufรผgen",
+ "Send silently" : "Stumm senden",
"Send message" : "Nachricht senden",
"File to share" : "Zu teilende Datei",
"This conversation has been locked" : "Diese Unterhaltung wurde gesperrt",
@@ -1033,6 +1034,7 @@
"Add groups" : "Gruppen hinzufรผgen",
"Add emails" : "E-Mails hinzufรผgen",
"Add circles" : "Kreise hinzufรผgen",
+ "Integrations" : "Einbindungen",
"Add federated users" : "Federated-Benutzer hinzufรผgen",
"Searching โ€ฆ" : "Suche โ€ฆ",
"No results" : "Keine Ergebnisse",
diff --git a/l10n/el.js b/l10n/el.js
index 7ae2a185b..8ae8f448f 100644
--- a/l10n/el.js
+++ b/l10n/el.js
@@ -859,6 +859,7 @@ OC.L10N.register(
"Add groups" : "ฮ ฯฮฟฯƒฮธฮฎฮบฮท ฮฟฮผฮฌฮดฯ‰ฮฝ",
"Add emails" : "ฮ ฯฮฟฯƒฮธฮฎฮบฮท emails",
"Add circles" : "ฮ ฯฮฟฯƒฮธฮฎฮบฮท ฮบฯฮบฮปฯ‰ฮฝ",
+ "Integrations" : "ฮ•ฮฝฯƒฯ‰ฮผฮฑฯ„ฯŽฯƒฮตฮนฯ‚",
"Searching โ€ฆ" : "ฮ‘ฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ...",
"No results" : "ฮšฮฑฮฝฮญฮฝฮฑ ฮฑฯ€ฮฟฯ„ฮญฮปฮตฯƒฮผฮฑ",
"Search for more users" : "ฮ‘ฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฯ‰ฮฝ ฯ‡ฯฮทฯƒฯ„ฯŽฮฝ",
diff --git a/l10n/el.json b/l10n/el.json
index 06ee40854..f09ee1386 100644
--- a/l10n/el.json
+++ b/l10n/el.json
@@ -857,6 +857,7 @@
"Add groups" : "ฮ ฯฮฟฯƒฮธฮฎฮบฮท ฮฟฮผฮฌฮดฯ‰ฮฝ",
"Add emails" : "ฮ ฯฮฟฯƒฮธฮฎฮบฮท emails",
"Add circles" : "ฮ ฯฮฟฯƒฮธฮฎฮบฮท ฮบฯฮบฮปฯ‰ฮฝ",
+ "Integrations" : "ฮ•ฮฝฯƒฯ‰ฮผฮฑฯ„ฯŽฯƒฮตฮนฯ‚",
"Searching โ€ฆ" : "ฮ‘ฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ...",
"No results" : "ฮšฮฑฮฝฮญฮฝฮฑ ฮฑฯ€ฮฟฯ„ฮญฮปฮตฯƒฮผฮฑ",
"Search for more users" : "ฮ‘ฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฯ‰ฮฝ ฯ‡ฯฮทฯƒฯ„ฯŽฮฝ",
diff --git a/l10n/es.js b/l10n/es.js
index deccf856a..b32c6a21f 100644
--- a/l10n/es.js
+++ b/l10n/es.js
@@ -43,10 +43,13 @@ OC.L10N.register(
"- A preview of your audio and video is shown before joining a call" : "- Una previsualizaciรณn de tu audio y vรญdeo se mostrarรก antes de unirte a la llamada",
"- You can now blur your background in the newly designed call view" : "- Ahora puedes difuminar tu fondo en la vista de llamada rediseรฑada",
"- Moderators can now assign general and individual permissions to participants" : "- Ahora los moderadores pueden asignar permisos generales e individuales a los participantes",
+ "- You can now react to chat message" : "- Ahora puedes reaccionar al mensaje de chat",
+ "- In the sidebar you can now find an overview of the latest shared items" : "- En la barra lateral ahora puedes encontrar un resumen de los รบltimos artรญculos compartidos",
"There are currently no commands available." : "Actualmente no hay comandos disponibles.",
"The command does not exist" : "El comando no existe",
"An error occurred while running the command. Please ask an administrator to check the logs." : "Se ha producido un error al ejecutar el comando. Por favor, contacte con el administrador para que compruebe los registros.",
"Talk updates โœ…" : "Actualizaciones de Talk โœ…",
+ "Reaction deleted by author" : "Reacciรณn borrada por el autor",
"{actor} created the conversation" : "{actor} creaรณ la conversaciรณn",
"You created the conversation" : "Has creado la conversaciรณn",
"An administrator created the conversation" : "Un administrador ha creado la conversaciรณn",
@@ -148,6 +151,8 @@ OC.L10N.register(
"You stopped Matterbridge" : "Tu detuviste Matterbridge",
"{actor} deleted a message" : "{actor} eliminรณ un mensaje",
"You deleted a message" : "Has eliminado un mensaje",
+ "{actor} deleted a reaction" : "{actor} borrรณ una reacciรณn",
+ "You deleted a reaction" : "Has borrado una reacciรณn",
"{actor} cleared the history of the conversation" : "{actor} ha vaciado el historial de la conversaciรณn",
"You cleared the history of the conversation" : "Ha vaciado el historial de la conversaciรณn",
"Message deleted by author" : "Mensaje eliminado por el autor",
@@ -207,6 +212,11 @@ OC.L10N.register(
"A deleted user replied to your message in conversation {call}" : "Un usuario borrado respondiรณ a a su mensaje en la conversaciรณn {call}",
"{guest} (guest) replied to your message in conversation {call}" : "{guest} (guest) respondiรณ su mensaje en la conversaciรณn {call}",
"A guest replied to your message in conversation {call}" : "Un invitado respondiรณ a su mensaje en la conversaciรณn {call}",
+ "{user} reacted with {reaction} to your private message" : "{user} reaccionรณ con {reaction} a su mensaje privado",
+ "{user} reacted with {reaction} to your message in conversation {call}" : "{user} reaccionรณ con {reaction} a su mensaje en la conversaciรณn {call}",
+ "A deleted user reacted with {reaction} to your message in conversation {call}" : "Un usuario eliminado reaccionรณ con {reaction} a su mensaje en la conversaciรณn {call}",
+ "{guest} (guest) reacted with {reaction} to your message in conversation {call}" : "{guest} (guest) reaccionรณ con {reaction} a su mensaje en la conversaciรณn {call}",
+ "A guest reacted with {reaction} to your message in conversation {call}" : "Un invitado reaccionรณ con {reaction} a su mensaje en la conversaciรณn {call}",
"{user} mentioned you in a private conversation" : "{user} te ha mencionado en una conversaciรณn privada",
"{user} mentioned you in conversation {call}" : "{user} te ha mencionado en {call}",
"A deleted user mentioned you in conversation {call}" : "Un usuario eliminado te ha mencionado en {call}",
@@ -539,6 +549,7 @@ OC.L10N.register(
"Everyone" : "Todo el mundo",
"Users and moderators" : "Usuarios y moderadores",
"Moderators only" : "Sรณlo moderadores",
+ "Disable calls" : "Deshabilitar llamadas",
"Save changes" : "Guardar cambios",
"Saving โ€ฆ" : "Guardando โ€ฆ",
"Saved!" : "Guardado",
@@ -594,6 +605,7 @@ OC.L10N.register(
"Downloading โ€ฆ" : "Descargando โ€ฆ",
"Install Talk Matterbridge" : "Instalar Talk Matterbridge",
"Installed version: {version}" : "Versiรณn instalada: {version}",
+ "You can install the Matterbridge to link Nextcloud Talk to some other services, visit their {linkstart1}GitHub page{linkend} for more details. Downloading and installing the app can take a while. In case it times out, please install it manually from the {linkstart2}Nextcloud App Store{linkend}." : "Puedes instalar Matterbridge para enlazar Nextcloud Talk con algunos otros servicios, visita su pรกgina {linkstart1}GitHub{linkend} para mรกs detalles. La descarga e instalaciรณn de la aplicaciรณn puede llevar un tiempo. En caso de que se agote, instรกlala manualmente desde la {linkstart2}Nextcloud App Store{linkend}.",
"Matterbridge binary has incorrect permissions. Please make sure the Matterbridge binary file is owned by the correct user and can be executed. It can be found in \"/.../nextcloud/apps/talk_matterbridge/bin/\"." : "El binario de Matterbridge tiene permisos incorrectos. Asegรบrate de que el archivo binario de Matterbridge tiene como propietario el usuario correcto y se puede ejecutar. Lo encontrarรกs en ยซ/โ€ฆ/nextcloud/apps/talk_matterbridge/bin/ยป.",
"Matterbridge binary was not found or couldn't be executed." : "El binario de Matterbridge no se ha encontrado o no se ha podido ejecutar.",
"You can also set the path to the Matterbridge binary manually via the config. Check the {linkstart}Matterbridge integration documentation{linkend} for more information." : "Tambiรฉn puedes configurar manualmente la ruta al binario de Matterbridge mediante la configuraciรณn. Consulta la {linkstart}documentaciรณn de integraciรณn de Matterbridge{linkend} para mรกs informaciรณn.",
@@ -615,6 +627,8 @@ OC.L10N.register(
"OK: Running version: {version}" : "OK: Versiรณn en uso: {version}",
"Error: Cannot connect to server" : "Error: No se puede conectar con el servidor",
"Error: Server did not respond with proper JSON" : "Error: El servidor no ha respondido con JSON correcto",
+ "Could not get version" : "No se pudo obtener la versiรณn",
+ "Error: Running version: {version}; Server needs to be updated to be compatible with this version of Talk" : "Error: Versiรณn en ejecuciรณn: {versiรณn}; El servidor necesita ser actualizado para ser compatible con esta versiรณn de Talk",
"Error: Server responded with: {error}" : "Error: El servidor ha respondido con: {error}",
"Error: Unknown error occurred" : "Error: Ha sucedido un error desconocido",
"High-performance backend" : "Motor de alto rendimiento",
@@ -641,11 +655,13 @@ OC.L10N.register(
"TURN servers" : "Servidores TURN.",
"A TURN server is used to proxy the traffic from participants behind a firewall. If individual participants cannot connect to others a TURN server is most likely required. See {linkstart}this documentation{linkend} for setup instructions." : "Un servidor TURN se utiliza para hacer de proxy del trรกfico de los participantes trรกs un firewall. Si los participantes individuales no pueden conectarse a otros, lo mรกs probable es que se necesite un servidor TURN. Consulte {linkstart}esta documentaciรณn{linkend} para obtener instrucciones de configuraciรณn.",
"Web server setup checks" : "Comprobaciones de la configuraciรณn del servidor web",
+ "Files required for background blur can be loaded" : "Los archivos necesarios para background blur se pueden cargar",
"Failed" : "Fallado",
"OK" : "OK",
"Checking โ€ฆ" : "Comprobando ...",
"Failed: WebAssembly is disabled or not supported in this browser. Please enable WebAssembly or use a browser with support for it to do the check." : "Fallo: WebAssembly estรก deshabilitado o no estรก soportado por este navegador. Por favor, activa WebAssembly o usa un navegador con soporte para que haga la comprobaciรณn.",
"Failed: \".wasm\" and \".tflite\" files were not properly returned by the web server. Please check \"System requirements\" section in Talk documentation." : "Fallo: los archivos \".wasm\" y \".tflite\" no han sido devueltos correctamente por el servidor web. Por favor compruebe la secciรณn \"Requisitos del sistema\" en la documentaciรณn de Talk.",
+ "OK: \".wasm\" and \".tflite\" files were properly returned by the web server." : "OK: los archivos \".wasm\" y \".tflite\" han sido devueltos correctamente por el servidor web",
"{nickName} raised their hand." : "{nickName} ha levantado la mano",
"A participant raised their hand." : "Alguien ha levantado la mano.",
"Previous page of videos" : "Pรกgina anterior de vรญdeos",
@@ -658,6 +674,8 @@ OC.L10N.register(
"You can invite others in the participant tab of the sidebar" : "Puedes invitar a otros en la pestaรฑa de participantes en la barra lateral",
"You can invite others in the participant tab of the sidebar or share this link to invite others!" : "Puede invitar a otras personas en la pestaรฑa de participantes de la barra lateral o compartir este enlace para invitar a otras personas",
"Share this link to invite others!" : "Comparte este enlace para invitar a otras personas.",
+ "Conversation link copied to clipboard" : "Enlace de la conversaciรณn copiado al portapapeles.",
+ "The link could not be copied" : "El enlace no se pudo copiar.",
"Dismiss" : "Descartar",
"Show your screen" : "Muestre su pantalla",
"Stop screensharing" : "Detenga el compartir pantalla",
@@ -714,6 +732,7 @@ OC.L10N.register(
"An error occurred while starting screensharing." : "Ocurriรณ un error al inciar el compartir pantalla",
"Back" : "Volver",
"Access to camera was denied" : "Se ha denegado el acceso a la cรกmara",
+ "Error while accessing camera: It is likely in use by another program" : "Error al acceder a la cรกmara: puede que la estรฉ usando otro programa",
"Error while accessing camera" : "Error al acceder a la cรกmara",
"You have been muted by a moderator" : "Has sido silenciado por un moderador",
"You" : "Tรบ",
@@ -864,6 +883,8 @@ OC.L10N.register(
"Notify about calls in this conversation" : "Notifรญcame de las llamadas en esta conversaciรณn",
"Allow participants to join from a phone." : "Permite que los participantes se unan por telรฉfono.",
"Enable SIP dial-in" : "Habilitar conexiรณn telefรณnica SIP",
+ "Allow to dial-in without a PIN" : "Permitir la marcaciรณn sin PIN",
+ "SIP dial-in is now possible without PIN requirement" : "Ahora es posible la marcaciรณn SIP sin necesidad de PIN",
"SIP dial-in is now enabled" : "Se ha habilitado la conexiรณn telefรณnica SIP",
"SIP dial-in is now disabled" : "Se ha deshabilitado la conexiรณn telefรณnica SIP",
"Error occurred when enabling SIP dial-in" : "Se ha producido un error al habilitar la conexiรณn telefรณnica SIP",
@@ -925,6 +946,7 @@ OC.L10N.register(
"Not enough free space to upload file" : "No hay espacio libre suficiente para subir el archivo",
"You are not allowed to share files" : "No estรกs autorizado a compartir archivos",
"You cannot send messages to this conversation at the moment" : "No puedes enviar mensajes a esta conversaciรณn en este momento",
+ "No permission to post reactions in this conversation" : "No estรก permitido publicar reacciones en esta conversaciรณn",
"Deleting message" : "Eliminando mensaje",
"Message deleted successfully, but Matterbridge is configured and the message might already be distributed to other services" : "Mensaje borrado con รฉxito, pero estรก configurado Matterbridge y el mensaje puede haber sido filtrado a otros servicios",
"Message deleted successfully" : "Mensaje eliminado con รฉxito",
@@ -937,6 +959,7 @@ OC.L10N.register(
"Mark as unread" : "Marcar como no leรญdo",
"Go to file" : "Ir al archivo",
"Forward message" : "Reenviar mensaje",
+ "Message link copied to clipboard" : "Link del mensaje copiado al portapapeles.",
"Your browser does not support playing audio files" : "Su navegador no admite la reproducciรณn de archivos de audio",
"Contact" : "Contacto",
"{stack} in {board}" : "{stack} en {board}",
@@ -970,6 +993,7 @@ OC.L10N.register(
"Invalid path selected" : "Ruta de archivo seleccionada no vรกlida.",
"Start a call" : "Iniciar una llamada",
"Skip the lobby" : "Saltarse el lobby",
+ "Can post messages and reactions" : "Puede publicar mensajes y reacciones",
"Enable the microphone" : "Habilitar el micrรณfono",
"Enable the camera" : "Habilitar la cรกmara",
"Share the screen" : "Compartir la pantalla",
@@ -988,6 +1012,7 @@ OC.L10N.register(
"Grant all permissions" : "Otorgar todos los permisos",
"Remove all permissions" : "Retirar todos los permisos",
"Resend invitation" : "Reenviar invitaciรณn",
+ "Send call notification" : "Enviar notificaciรณn de llamada",
"Remove group and members" : "Eliminar grupo y miembros",
"Remove participant" : "Eliminar participante",
"Settings for participant \"{user}\"" : "Ajustes para participante ยซ{user}ยป",
@@ -997,7 +1022,10 @@ OC.L10N.register(
"Joined with video" : "Participa con vรญdeo",
"Joined via phone" : "Participa por telรฉfono",
"Raised their hand" : "Levantaron la mano",
+ "Invitation was sent to {actorId}" : "Se ha enviado la invitaciรณn a {actorId}.",
"Could not send invitation to {actorId}" : "No se ha enviado la invitaciรณn a {actorId}.",
+ "Notification was sent to {displayName}" : "La notificaciรณn fue enviada a {displayName}",
+ "Could not send notification to {displayName}" : "No se ha podido enviar la notificaciรณn a {displayName}",
"Permissions granted to {displayName}" : "Se han otorgado permisos a {displayName}",
"Could not modify permissions for {displayName}" : "No se ha podido modificar los permisos para {displayName}",
"Permissions removed for {displayName}" : "Permisos borrados para {displayName}",
@@ -1007,6 +1035,7 @@ OC.L10N.register(
"Add groups" : "Aรฑadir grupos",
"Add emails" : "Aรฑade correos electrรณnicos",
"Add circles" : "Aรฑadir cรญrculos",
+ "Integrations" : "Integraciones",
"Add federated users" : "Aรฑadir usuarios federados",
"Searching โ€ฆ" : "Buscando โ€ฆ",
"No results" : "Sin resultados",
@@ -1022,17 +1051,26 @@ OC.L10N.register(
"Chat" : "Chat",
"Details" : "Detalles",
"Settings" : "Ajustes",
+ "Shared items" : "Elementos compartidos",
"Participants ({count})" : "Participantes ({count})",
"Projects" : "Proyectos",
+ "Show all media" : "Mostrar todos los medios",
"Show all files" : "Mostrar todos los archivos",
+ "Show all deck cards" : "Mostrar todas las tarjetas",
+ "Show all voice messages" : "Mostrar todos los mensajes de voz",
+ "Show all locations" : "Mostrar todas las ubicaciones",
+ "Show all audio" : "Mostrar todos los audios",
+ "Show all other" : "Mostrar todos los demรกs",
"Meeting ID: {meetingId}" : "ID de reuniรณn: {meetingId}",
"Your PIN: {attendeePin}" : "Tu PIN: {attendeePin}",
+ "Display name: <strong>{name}</strong>" : "Mostrar nombre: <strong>{name}</strong>",
"Attachments folder" : "Carpeta de adjuntos",
"Privacy" : "Privacidad",
"Share my read-status and show the read-status of others" : "Mostrar mi confirmaciรณn de lectura y ver la de los demรกs",
"Sounds" : "Sonidos",
"Play sounds when participants join or leave a call" : "Reproducir sonidos cuando los participantes se unen o abandonan una llamada",
"Sounds can currently not be played in Safari browser and iPad and iPhone devices due to technical restrictions by the manufacturer." : "En estos momentos los sonidos no se pueden reproducir en navegadores Safari, dispositivos iPad o iPhone debido a una restricciรณn tรฉcnica impuesta por el fabricante.",
+ "Sounds for chat and call notifications can be adjusted in the personal settings." : "Los sonidos de las notificaciones del chat y de las llamadas pueden ajustarse en los ajustes personales.",
"Keyboard shortcuts" : "Atajos de teclado",
"Speed up your Talk experience with these quick shortcuts." : "Acelera tu experiencia de Talk con estos atajos rรกpidos.",
"Focus the chat input" : "Foco en la entrada del chat",
@@ -1040,6 +1078,7 @@ OC.L10N.register(
"Fullscreen the chat or call" : "Poner el chat o llamada a pantalla completa",
"Search" : "Buscar",
"Shortcuts while in a call" : "Atajos durante una llamada",
+ "Camera on and off" : "Encendido y apagado de la cรกmara",
"Microphone on and off" : "Micrรณfono encendido y apagado",
"Space bar" : "Barra espaciadora",
"Push to talk or push to mute" : "Pulsar para hablar o para silenciar",
@@ -1080,8 +1119,14 @@ OC.L10N.register(
"Link to a conversation" : "Enlace a una conversaciรณn",
"You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Te has unido a la conversaciรณn en otra ventana o dispositivo. Nextcloud Talk no admite esto en la actualidad, por lo que se ha cerrado esta sesiรณn.",
"Join a conversation or start a new one" : "รšnete a una conversaciรณn o empieza una nueva",
+ "Deck card has been posted to the selected <a href=\"{link}\">conversation</a>" : "La tarjeta de Deck se ha publicado en la <a href=\"{link}\">conversaciรณn</a> seleccionada",
+ "An error occurred while posting deck card to conversation" : "Se ha producido un error al publicar la tarjeta de mazo en la conversaciรณn",
"Post to a conversation" : "Publicar en una conversaciรณn",
"Post to conversation" : "Publicar en la conversaciรณn",
+ "Location has been posted to the selected <a href=\"{link}\">conversation</a>" : "La ubicaciรณn ha sido publicada en la conversaciรณn seleccionada",
+ "An error occurred while posting location to conversation" : "Se ha producido un error al publicar la ubicaciรณn en la conversaciรณn",
+ "Share to a conversation" : "Compartir en la conversaciรณn",
+ "Share to conversation" : "Compartir en la conversaciรณn",
"The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Este navegador no es completamente compatible con Nextcloud Talk. Por favor, usa la รบltima versiรณn de Mozilla Firefox, Microsoft Edge, Google Chrome, Opera o Apple Safari.",
"Calls are not supported in your browser" : "Tu navegador no admite llamadas",
"Access to microphone is only possible with HTTPS" : "El acceso al micrรณfono solo es posible con HTTPS",
@@ -1091,6 +1136,8 @@ OC.L10N.register(
"An error occurred while fetching the participants" : "Ha ocurrido un error al recuperar los participantes",
"Media" : "Multimedia",
"Files" : "Archivos",
+ "Deck cards" : "Tarjetas Deck",
+ "Voice messages" : "Mensajes de voz",
"Locations" : "Ubicaciones",
"Audio" : "Audio",
"Other" : "Otro",
@@ -1102,7 +1149,10 @@ OC.L10N.register(
"Not enough free space to upload file \"{fileName}\"" : "No hay espacio libre suficiente para subir el archivo \"{fileName}\"",
"Error while uploading file \"{fileName}\"" : "Error al subir el archivo \"{fileName}\".",
"An error happened when trying to share your file" : "Se ha producido un error al intentar compartir el archivo",
+ "{guest} (guest)" : "{guest} (guest)",
"Could not post message: {errorMessage}" : "No se ha podido publicar el mensaje: {errorMessage}",
+ "Failed to add reaction" : "Fallo en la adiciรณn de la reacciรณn",
+ "Failed to remove reaction" : "No se ha podido eliminar la reacciรณn",
"Failed to join the conversation. Try to reload the page." : "Error al unirte a la conversaciรณn. Prueba a recargar la pรกgina.",
"You are trying to join a conversation while having an active session in another window or device. This is currently not supported by Nextcloud Talk. What do you want to do?" : "Estรกs intentando unirte a una conversaciรณn mientras tienes activa una sesiรณn en otra ventana o dispositivo. Nextcloud Talk no admite esto en la actualidad. ยฟQuรฉ prefieres hacer?",
"Join here" : "Unirte aquรญ",
diff --git a/l10n/es.json b/l10n/es.json
index cb29dcab8..958f49b39 100644
--- a/l10n/es.json
+++ b/l10n/es.json
@@ -41,10 +41,13 @@
"- A preview of your audio and video is shown before joining a call" : "- Una previsualizaciรณn de tu audio y vรญdeo se mostrarรก antes de unirte a la llamada",
"- You can now blur your background in the newly designed call view" : "- Ahora puedes difuminar tu fondo en la vista de llamada rediseรฑada",
"- Moderators can now assign general and individual permissions to participants" : "- Ahora los moderadores pueden asignar permisos generales e individuales a los participantes",
+ "- You can now react to chat message" : "- Ahora puedes reaccionar al mensaje de chat",
+ "- In the sidebar you can now find an overview of the latest shared items" : "- En la barra lateral ahora puedes encontrar un resumen de los รบltimos artรญculos compartidos",
"There are currently no commands available." : "Actualmente no hay comandos disponibles.",
"The command does not exist" : "El comando no existe",
"An error occurred while running the command. Please ask an administrator to check the logs." : "Se ha producido un error al ejecutar el comando. Por favor, contacte con el administrador para que compruebe los registros.",
"Talk updates โœ…" : "Actualizaciones de Talk โœ…",
+ "Reaction deleted by author" : "Reacciรณn borrada por el autor",
"{actor} created the conversation" : "{actor} creaรณ la conversaciรณn",
"You created the conversation" : "Has creado la conversaciรณn",
"An administrator created the conversation" : "Un administrador ha creado la conversaciรณn",
@@ -146,6 +149,8 @@
"You stopped Matterbridge" : "Tu detuviste Matterbridge",
"{actor} deleted a message" : "{actor} eliminรณ un mensaje",
"You deleted a message" : "Has eliminado un mensaje",
+ "{actor} deleted a reaction" : "{actor} borrรณ una reacciรณn",
+ "You deleted a reaction" : "Has borrado una reacciรณn",
"{actor} cleared the history of the conversation" : "{actor} ha vaciado el historial de la conversaciรณn",
"You cleared the history of the conversation" : "Ha vaciado el historial de la conversaciรณn",
"Message deleted by author" : "Mensaje eliminado por el autor",
@@ -205,6 +210,11 @@
"A deleted user replied to your message in conversation {call}" : "Un usuario borrado respondiรณ a a su mensaje en la conversaciรณn {call}",
"{guest} (guest) replied to your message in conversation {call}" : "{guest} (guest) respondiรณ su mensaje en la conversaciรณn {call}",
"A guest replied to your message in conversation {call}" : "Un invitado respondiรณ a su mensaje en la conversaciรณn {call}",
+ "{user} reacted with {reaction} to your private message" : "{user} reaccionรณ con {reaction} a su mensaje privado",
+ "{user} reacted with {reaction} to your message in conversation {call}" : "{user} reaccionรณ con {reaction} a su mensaje en la conversaciรณn {call}",
+ "A deleted user reacted with {reaction} to your message in conversation {call}" : "Un usuario eliminado reaccionรณ con {reaction} a su mensaje en la conversaciรณn {call}",
+ "{guest} (guest) reacted with {reaction} to your message in conversation {call}" : "{guest} (guest) reaccionรณ con {reaction} a su mensaje en la conversaciรณn {call}",
+ "A guest reacted with {reaction} to your message in conversation {call}" : "Un invitado reaccionรณ con {reaction} a su mensaje en la conversaciรณn {call}",
"{user} mentioned you in a private conversation" : "{user} te ha mencionado en una conversaciรณn privada",
"{user} mentioned you in conversation {call}" : "{user} te ha mencionado en {call}",
"A deleted user mentioned you in conversation {call}" : "Un usuario eliminado te ha mencionado en {call}",
@@ -537,6 +547,7 @@
"Everyone" : "Todo el mundo",
"Users and moderators" : "Usuarios y moderadores",
"Moderators only" : "Sรณlo moderadores",
+ "Disable calls" : "Deshabilitar llamadas",
"Save changes" : "Guardar cambios",
"Saving โ€ฆ" : "Guardando โ€ฆ",
"Saved!" : "Guardado",
@@ -592,6 +603,7 @@
"Downloading โ€ฆ" : "Descargando โ€ฆ",
"Install Talk Matterbridge" : "Instalar Talk Matterbridge",
"Installed version: {version}" : "Versiรณn instalada: {version}",
+ "You can install the Matterbridge to link Nextcloud Talk to some other services, visit their {linkstart1}GitHub page{linkend} for more details. Downloading and installing the app can take a while. In case it times out, please install it manually from the {linkstart2}Nextcloud App Store{linkend}." : "Puedes instalar Matterbridge para enlazar Nextcloud Talk con algunos otros servicios, visita su pรกgina {linkstart1}GitHub{linkend} para mรกs detalles. La descarga e instalaciรณn de la aplicaciรณn puede llevar un tiempo. En caso de que se agote, instรกlala manualmente desde la {linkstart2}Nextcloud App Store{linkend}.",
"Matterbridge binary has incorrect permissions. Please make sure the Matterbridge binary file is owned by the correct user and can be executed. It can be found in \"/.../nextcloud/apps/talk_matterbridge/bin/\"." : "El binario de Matterbridge tiene permisos incorrectos. Asegรบrate de que el archivo binario de Matterbridge tiene como propietario el usuario correcto y se puede ejecutar. Lo encontrarรกs en ยซ/โ€ฆ/nextcloud/apps/talk_matterbridge/bin/ยป.",
"Matterbridge binary was not found or couldn't be executed." : "El binario de Matterbridge no se ha encontrado o no se ha podido ejecutar.",
"You can also set the path to the Matterbridge binary manually via the config. Check the {linkstart}Matterbridge integration documentation{linkend} for more information." : "Tambiรฉn puedes configurar manualmente la ruta al binario de Matterbridge mediante la configuraciรณn. Consulta la {linkstart}documentaciรณn de integraciรณn de Matterbridge{linkend} para mรกs informaciรณn.",
@@ -613,6 +625,8 @@
"OK: Running version: {version}" : "OK: Versiรณn en uso: {version}",
"Error: Cannot connect to server" : "Error: No se puede conectar con el servidor",
"Error: Server did not respond with proper JSON" : "Error: El servidor no ha respondido con JSON correcto",
+ "Could not get version" : "No se pudo obtener la versiรณn",
+ "Error: Running version: {version}; Server needs to be updated to be compatible with this version of Talk" : "Error: Versiรณn en ejecuciรณn: {versiรณn}; El servidor necesita ser actualizado para ser compatible con esta versiรณn de Talk",
"Error: Server responded with: {error}" : "Error: El servidor ha respondido con: {error}",
"Error: Unknown error occurred" : "Error: Ha sucedido un error desconocido",
"High-performance backend" : "Motor de alto rendimiento",
@@ -639,11 +653,13 @@
"TURN servers" : "Servidores TURN.",
"A TURN server is used to proxy the traffic from participants behind a firewall. If individual participants cannot connect to others a TURN server is most likely required. See {linkstart}this documentation{linkend} for setup instructions." : "Un servidor TURN se utiliza para hacer de proxy del trรกfico de los participantes trรกs un firewall. Si los participantes individuales no pueden conectarse a otros, lo mรกs probable es que se necesite un servidor TURN. Consulte {linkstart}esta documentaciรณn{linkend} para obtener instrucciones de configuraciรณn.",
"Web server setup checks" : "Comprobaciones de la configuraciรณn del servidor web",
+ "Files required for background blur can be loaded" : "Los archivos necesarios para background blur se pueden cargar",
"Failed" : "Fallado",
"OK" : "OK",
"Checking โ€ฆ" : "Comprobando ...",
"Failed: WebAssembly is disabled or not supported in this browser. Please enable WebAssembly or use a browser with support for it to do the check." : "Fallo: WebAssembly estรก deshabilitado o no estรก soportado por este navegador. Por favor, activa WebAssembly o usa un navegador con soporte para que haga la comprobaciรณn.",
"Failed: \".wasm\" and \".tflite\" files were not properly returned by the web server. Please check \"System requirements\" section in Talk documentation." : "Fallo: los archivos \".wasm\" y \".tflite\" no han sido devueltos correctamente por el servidor web. Por favor compruebe la secciรณn \"Requisitos del sistema\" en la documentaciรณn de Talk.",
+ "OK: \".wasm\" and \".tflite\" files were properly returned by the web server." : "OK: los archivos \".wasm\" y \".tflite\" han sido devueltos correctamente por el servidor web",
"{nickName} raised their hand." : "{nickName} ha levantado la mano",
"A participant raised their hand." : "Alguien ha levantado la mano.",
"Previous page of videos" : "Pรกgina anterior de vรญdeos",
@@ -656,6 +672,8 @@
"You can invite others in the participant tab of the sidebar" : "Puedes invitar a otros en la pestaรฑa de participantes en la barra lateral",
"You can invite others in the participant tab of the sidebar or share this link to invite others!" : "Puede invitar a otras personas en la pestaรฑa de participantes de la barra lateral o compartir este enlace para invitar a otras personas",
"Share this link to invite others!" : "Comparte este enlace para invitar a otras personas.",
+ "Conversation link copied to clipboard" : "Enlace de la conversaciรณn copiado al portapapeles.",
+ "The link could not be copied" : "El enlace no se pudo copiar.",
"Dismiss" : "Descartar",
"Show your screen" : "Muestre su pantalla",
"Stop screensharing" : "Detenga el compartir pantalla",
@@ -712,6 +730,7 @@
"An error occurred while starting screensharing." : "Ocurriรณ un error al inciar el compartir pantalla",
"Back" : "Volver",
"Access to camera was denied" : "Se ha denegado el acceso a la cรกmara",
+ "Error while accessing camera: It is likely in use by another program" : "Error al acceder a la cรกmara: puede que la estรฉ usando otro programa",
"Error while accessing camera" : "Error al acceder a la cรกmara",
"You have been muted by a moderator" : "Has sido silenciado por un moderador",
"You" : "Tรบ",
@@ -862,6 +881,8 @@
"Notify about calls in this conversation" : "Notifรญcame de las llamadas en esta conversaciรณn",
"Allow participants to join from a phone." : "Permite que los participantes se unan por telรฉfono.",
"Enable SIP dial-in" : "Habilitar conexiรณn telefรณnica SIP",
+ "Allow to dial-in without a PIN" : "Permitir la marcaciรณn sin PIN",
+ "SIP dial-in is now possible without PIN requirement" : "Ahora es posible la marcaciรณn SIP sin necesidad de PIN",
"SIP dial-in is now enabled" : "Se ha habilitado la conexiรณn telefรณnica SIP",
"SIP dial-in is now disabled" : "Se ha deshabilitado la conexiรณn telefรณnica SIP",
"Error occurred when enabling SIP dial-in" : "Se ha producido un error al habilitar la conexiรณn telefรณnica SIP",
@@ -923,6 +944,7 @@
"Not enough free space to upload file" : "No hay espacio libre suficiente para subir el archivo",
"You are not allowed to share files" : "No estรกs autorizado a compartir archivos",
"You cannot send messages to this conversation at the moment" : "No puedes enviar mensajes a esta conversaciรณn en este momento",
+ "No permission to post reactions in this conversation" : "No estรก permitido publicar reacciones en esta conversaciรณn",
"Deleting message" : "Eliminando mensaje",
"Message deleted successfully, but Matterbridge is configured and the message might already be distributed to other services" : "Mensaje borrado con รฉxito, pero estรก configurado Matterbridge y el mensaje puede haber sido filtrado a otros servicios",
"Message deleted successfully" : "Mensaje eliminado con รฉxito",
@@ -935,6 +957,7 @@
"Mark as unread" : "Marcar como no leรญdo",
"Go to file" : "Ir al archivo",
"Forward message" : "Reenviar mensaje",
+ "Message link copied to clipboard" : "Link del mensaje copiado al portapapeles.",
"Your browser does not support playing audio files" : "Su navegador no admite la reproducciรณn de archivos de audio",
"Contact" : "Contacto",
"{stack} in {board}" : "{stack} en {board}",
@@ -968,6 +991,7 @@
"Invalid path selected" : "Ruta de archivo seleccionada no vรกlida.",
"Start a call" : "Iniciar una llamada",
"Skip the lobby" : "Saltarse el lobby",
+ "Can post messages and reactions" : "Puede publicar mensajes y reacciones",
"Enable the microphone" : "Habilitar el micrรณfono",
"Enable the camera" : "Habilitar la cรกmara",
"Share the screen" : "Compartir la pantalla",
@@ -986,6 +1010,7 @@
"Grant all permissions" : "Otorgar todos los permisos",
"Remove all permissions" : "Retirar todos los permisos",
"Resend invitation" : "Reenviar invitaciรณn",
+ "Send call notification" : "Enviar notificaciรณn de llamada",
"Remove group and members" : "Eliminar grupo y miembros",
"Remove participant" : "Eliminar participante",
"Settings for participant \"{user}\"" : "Ajustes para participante ยซ{user}ยป",
@@ -995,7 +1020,10 @@
"Joined with video" : "Participa con vรญdeo",
"Joined via phone" : "Participa por telรฉfono",
"Raised their hand" : "Levantaron la mano",
+ "Invitation was sent to {actorId}" : "Se ha enviado la invitaciรณn a {actorId}.",
"Could not send invitation to {actorId}" : "No se ha enviado la invitaciรณn a {actorId}.",
+ "Notification was sent to {displayName}" : "La notificaciรณn fue enviada a {displayName}",
+ "Could not send notification to {displayName}" : "No se ha podido enviar la notificaciรณn a {displayName}",
"Permissions granted to {displayName}" : "Se han otorgado permisos a {displayName}",
"Could not modify permissions for {displayName}" : "No se ha podido modificar los permisos para {displayName}",
"Permissions removed for {displayName}" : "Permisos borrados para {displayName}",
@@ -1005,6 +1033,7 @@
"Add groups" : "Aรฑadir grupos",
"Add emails" : "Aรฑade correos electrรณnicos",
"Add circles" : "Aรฑadir cรญrculos",
+ "Integrations" : "Integraciones",
"Add federated users" : "Aรฑadir usuarios federados",
"Searching โ€ฆ" : "Buscando โ€ฆ",
"No results" : "Sin resultados",
@@ -1020,17 +1049,26 @@
"Chat" : "Chat",
"Details" : "Detalles",
"Settings" : "Ajustes",
+ "Shared items" : "Elementos compartidos",
"Participants ({count})" : "Participantes ({count})",
"Projects" : "Proyectos",
+ "Show all media" : "Mostrar todos los medios",
"Show all files" : "Mostrar todos los archivos",
+ "Show all deck cards" : "Mostrar todas las tarjetas",
+ "Show all voice messages" : "Mostrar todos los mensajes de voz",
+ "Show all locations" : "Mostrar todas las ubicaciones",
+ "Show all audio" : "Mostrar todos los audios",
+ "Show all other" : "Mostrar todos los demรกs",
"Meeting ID: {meetingId}" : "ID de reuniรณn: {meetingId}",
"Your PIN: {attendeePin}" : "Tu PIN: {attendeePin}",
+ "Display name: <strong>{name}</strong>" : "Mostrar nombre: <strong>{name}</strong>",
"Attachments folder" : "Carpeta de adjuntos",
"Privacy" : "Privacidad",
"Share my read-status and show the read-status of others" : "Mostrar mi confirmaciรณn de lectura y ver la de los demรกs",
"Sounds" : "Sonidos",
"Play sounds when participants join or leave a call" : "Reproducir sonidos cuando los participantes se unen o abandonan una llamada",
"Sounds can currently not be played in Safari browser and iPad and iPhone devices due to technical restrictions by the manufacturer." : "En estos momentos los sonidos no se pueden reproducir en navegadores Safari, dispositivos iPad o iPhone debido a una restricciรณn tรฉcnica impuesta por el fabricante.",
+ "Sounds for chat and call notifications can be adjusted in the personal settings." : "Los sonidos de las notificaciones del chat y de las llamadas pueden ajustarse en los ajustes personales.",
"Keyboard shortcuts" : "Atajos de teclado",
"Speed up your Talk experience with these quick shortcuts." : "Acelera tu experiencia de Talk con estos atajos rรกpidos.",
"Focus the chat input" : "Foco en la entrada del chat",
@@ -1038,6 +1076,7 @@
"Fullscreen the chat or call" : "Poner el chat o llamada a pantalla completa",
"Search" : "Buscar",
"Shortcuts while in a call" : "Atajos durante una llamada",
+ "Camera on and off" : "Encendido y apagado de la cรกmara",
"Microphone on and off" : "Micrรณfono encendido y apagado",
"Space bar" : "Barra espaciadora",
"Push to talk or push to mute" : "Pulsar para hablar o para silenciar",
@@ -1078,8 +1117,14 @@
"Link to a conversation" : "Enlace a una conversaciรณn",
"You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Te has unido a la conversaciรณn en otra ventana o dispositivo. Nextcloud Talk no admite esto en la actualidad, por lo que se ha cerrado esta sesiรณn.",
"Join a conversation or start a new one" : "รšnete a una conversaciรณn o empieza una nueva",
+ "Deck card has been posted to the selected <a href=\"{link}\">conversation</a>" : "La tarjeta de Deck se ha publicado en la <a href=\"{link}\">conversaciรณn</a> seleccionada",
+ "An error occurred while posting deck card to conversation" : "Se ha producido un error al publicar la tarjeta de mazo en la conversaciรณn",
"Post to a conversation" : "Publicar en una conversaciรณn",
"Post to conversation" : "Publicar en la conversaciรณn",
+ "Location has been posted to the selected <a href=\"{link}\">conversation</a>" : "La ubicaciรณn ha sido publicada en la conversaciรณn seleccionada",
+ "An error occurred while posting location to conversation" : "Se ha producido un error al publicar la ubicaciรณn en la conversaciรณn",
+ "Share to a conversation" : "Compartir en la conversaciรณn",
+ "Share to conversation" : "Compartir en la conversaciรณn",
"The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Este navegador no es completamente compatible con Nextcloud Talk. Por favor, usa la รบltima versiรณn de Mozilla Firefox, Microsoft Edge, Google Chrome, Opera o Apple Safari.",
"Calls are not supported in your browser" : "Tu navegador no admite llamadas",
"Access to microphone is only possible with HTTPS" : "El acceso al micrรณfono solo es posible con HTTPS",
@@ -1089,6 +1134,8 @@
"An error occurred while fetching the participants" : "Ha ocurrido un error al recuperar los participantes",
"Media" : "Multimedia",
"Files" : "Archivos",
+ "Deck cards" : "Tarjetas Deck",
+ "Voice messages" : "Mensajes de voz",
"Locations" : "Ubicaciones",
"Audio" : "Audio",
"Other" : "Otro",
@@ -1100,7 +1147,10 @@
"Not enough free space to upload file \"{fileName}\"" : "No hay espacio libre suficiente para subir el archivo \"{fileName}\"",
"Error while uploading file \"{fileName}\"" : "Error al subir el archivo \"{fileName}\".",
"An error happened when trying to share your file" : "Se ha producido un error al intentar compartir el archivo",
+ "{guest} (guest)" : "{guest} (guest)",
"Could not post message: {errorMessage}" : "No se ha podido publicar el mensaje: {errorMessage}",
+ "Failed to add reaction" : "Fallo en la adiciรณn de la reacciรณn",
+ "Failed to remove reaction" : "No se ha podido eliminar la reacciรณn",
"Failed to join the conversation. Try to reload the page." : "Error al unirte a la conversaciรณn. Prueba a recargar la pรกgina.",
"You are trying to join a conversation while having an active session in another window or device. This is currently not supported by Nextcloud Talk. What do you want to do?" : "Estรกs intentando unirte a una conversaciรณn mientras tienes activa una sesiรณn en otra ventana o dispositivo. Nextcloud Talk no admite esto en la actualidad. ยฟQuรฉ prefieres hacer?",
"Join here" : "Unirte aquรญ",
diff --git a/l10n/eu.js b/l10n/eu.js
index ac8e58431..d315f11cb 100644
--- a/l10n/eu.js
+++ b/l10n/eu.js
@@ -45,6 +45,7 @@ OC.L10N.register(
"The command does not exist" : "Komandoa ez da existitzen",
"An error occurred while running the command. Please ask an administrator to check the logs." : "Errore bat gertatu da komandoa exekutatzean. Eskatu administratzaile bati egunkariak egiaztatzeko",
"Talk updates โœ…" : "Talk eguneraketak โœ…",
+ "Reaction deleted by author" : "Egileak erreakzioa ezabatu du",
"{actor} created the conversation" : "{actor} erabiltzaileak elkarrizketa sortu du",
"You created the conversation" : "Elkarrizketa zuk sortu duzu",
"An administrator created the conversation" : "Administratzaile batek elkarrizketa sortu du",
@@ -146,6 +147,8 @@ OC.L10N.register(
"You stopped Matterbridge" : "Matterbridge gelditu duzu",
"{actor} deleted a message" : "{actor}(e)k mezua ezabatu du",
"You deleted a message" : "Mezu bat ezabatu duzu",
+ "{actor} deleted a reaction" : "{actor}-(e)k erreakzio bat ezabatu du",
+ "You deleted a reaction" : "Erreakzio bat ezabatu duzu",
"{actor} cleared the history of the conversation" : "{actor} elkarrizketaren historia ezabatu du",
"You cleared the history of the conversation" : "Elkarrizketaren historia ezabatu duzu",
"Message deleted by author" : "Egileak mezua ezabatu du",
@@ -537,6 +540,7 @@ OC.L10N.register(
"Everyone" : "Edonor",
"Users and moderators" : "Erabiltzaileak eta moderatzaileak",
"Moderators only" : "Moderatzaileak soilik",
+ "Disable calls" : "Desgaitu deiak",
"Save changes" : "Gorde aldaketak",
"Saving โ€ฆ" : "Gordetzen โ€ฆ",
"Saved!" : "Gordeta!",
@@ -655,6 +659,8 @@ OC.L10N.register(
"You can invite others in the participant tab of the sidebar" : "Besteak gonbidatu ditzakezu alboko barrako parte-hartzaileak fitxan",
"You can invite others in the participant tab of the sidebar or share this link to invite others!" : "Besteak gonbidatu ditzakezu alboko barrako parte-hartzaileak fitxan edo esteka hau partekatuz!",
"Share this link to invite others!" : "Partekatu esteka hau besteak gonbidatzeko!",
+ "Conversation link copied to clipboard" : "Elkarrizketaren esteka arbelera kopiatu da",
+ "The link could not be copied" : "Ezin izan da esteka kopiatu",
"Dismiss" : "Baztertu",
"Show your screen" : "Erakutsi zure pantaila",
"Stop screensharing" : "Utzi pantaila partekatzeari",
@@ -934,6 +940,7 @@ OC.L10N.register(
"Mark as unread" : "Markatu ez irakurri gisa",
"Go to file" : "Joan fitxategira",
"Forward message" : "Birbidali mezua",
+ "Message link copied to clipboard" : "Mezuaren esteka arbelera kopiatu da",
"Your browser does not support playing audio files" : "Zure nabigatzaileak ez du audio fitxategiak erreproduzitzeko euskarririk",
"Contact" : "Kontaktua",
"{stack} in {board}" : "{stack} {board}-(e)n",
@@ -985,6 +992,7 @@ OC.L10N.register(
"Grant all permissions" : "Eman baimen guztiak",
"Remove all permissions" : "Kendu baimen guztiak",
"Resend invitation" : "Birbidali gonbidapena",
+ "Send call notification" : "Bidali dei jakinarazpena",
"Remove group and members" : "Kendu taldea eta kideak",
"Remove participant" : "Kendu parte-hartzailea",
"Settings for participant \"{user}\"" : "\"{user}\" parte-hartzailearen ezarpenak",
@@ -994,7 +1002,9 @@ OC.L10N.register(
"Joined with video" : "Bideoarekin batuta",
"Joined via phone" : "Telefonoarekin batuta",
"Raised their hand" : "Eskua jaso dute",
+ "Invitation was sent to {actorId}" : "{actorId}-(e)ri gonbidapena bidali zaio",
"Could not send invitation to {actorId}" : "Ezin izan da gonbidapena {actorId}(r)i bidali",
+ "Notification was sent to {displayName}" : "{displayName}-(e)ri jakinarazpena bidali zaio",
"Permissions granted to {displayName}" : "Baimenak emanda {displayName}(r)i",
"Could not modify permissions for {displayName}" : "Ezin izan dira {displayName}(r)en baimenak aldatu",
"Permissions removed for {displayName}" : "Baimenak kendu zaizkio {displayName}(r)i",
@@ -1004,6 +1014,7 @@ OC.L10N.register(
"Add groups" : "Gehitu taldeak",
"Add emails" : "Gehitu helbide elektronikoa",
"Add circles" : "Gehitu zirkuluak",
+ "Integrations" : "Integrazioak",
"Add federated users" : "Gehitu erabiltzaile federatuak",
"Searching โ€ฆ" : "Bilatzen โ€ฆ",
"No results" : "Emaitzarik ez",
@@ -1022,7 +1033,12 @@ OC.L10N.register(
"Shared items" : "Partekatutako elementuak",
"Participants ({count})" : "Parte-hartzaileak ({count})",
"Projects" : "Proiektuak",
+ "Show all media" : "Erakutsi multimedia guztia",
"Show all files" : "Erakustsi fitxategi guztiak",
+ "Show all voice messages" : "Erakutsi ahots-mezu guztiak",
+ "Show all locations" : "Erakutsi kokaleku guztiak",
+ "Show all audio" : "Erakutsi audio guztia",
+ "Show all other" : "Erakutsi beste guztiak",
"Meeting ID: {meetingId}" : "Bileraren ID: {meetingId}",
"Your PIN: {attendeePin}" : "Zure PINa: {attendeePin}",
"Attachments folder" : "Eranskinen karpeta",
@@ -1079,8 +1095,11 @@ OC.L10N.register(
"Link to a conversation" : "Esteka elkarrizketara",
"You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Elkarrizketara batu zara beste leiho edo gailu batean. Nextcloud Talkek ez du hau onartzen une honetan, beraz saioa itxi egin da.",
"Join a conversation or start a new one" : "Batu elkarrizketa batera edo hasi berri bat",
+ "Deck card has been posted to the selected <a href=\"{link}\">conversation</a>" : "Deck txartel bat argitaratu da hautaturiko <a href=\"{link}\">elkarrizketan</a>",
+ "An error occurred while posting deck card to conversation" : "Errore bat gertatu da elkarrizketan deck txartela argitaratzean",
"Post to a conversation" : "Argitaratu elkarrizketa batera",
"Post to conversation" : "Argitaratu elkarrizketan",
+ "An error occurred while posting location to conversation" : "Errorea gertatu da elkarrizketara kokalekua bidaltzean",
"Share to a conversation" : "Partekatu elkarrizketa batera",
"Share to conversation" : "Partekatu elkarrizketara",
"The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Nextcloud Talkek ez dauka erabateko euskarria erabiltzen ari zaren nabigatzailearentzat. Erabili Mozilla Firefox, Microsoft Edge, Google Chrome, Opera edo Apple Safari nabigatzaileen bertsio berriena.",
diff --git a/l10n/eu.json b/l10n/eu.json
index 69985efe4..65237d218 100644
--- a/l10n/eu.json
+++ b/l10n/eu.json
@@ -43,6 +43,7 @@
"The command does not exist" : "Komandoa ez da existitzen",
"An error occurred while running the command. Please ask an administrator to check the logs." : "Errore bat gertatu da komandoa exekutatzean. Eskatu administratzaile bati egunkariak egiaztatzeko",
"Talk updates โœ…" : "Talk eguneraketak โœ…",
+ "Reaction deleted by author" : "Egileak erreakzioa ezabatu du",
"{actor} created the conversation" : "{actor} erabiltzaileak elkarrizketa sortu du",
"You created the conversation" : "Elkarrizketa zuk sortu duzu",
"An administrator created the conversation" : "Administratzaile batek elkarrizketa sortu du",
@@ -144,6 +145,8 @@
"You stopped Matterbridge" : "Matterbridge gelditu duzu",
"{actor} deleted a message" : "{actor}(e)k mezua ezabatu du",
"You deleted a message" : "Mezu bat ezabatu duzu",
+ "{actor} deleted a reaction" : "{actor}-(e)k erreakzio bat ezabatu du",
+ "You deleted a reaction" : "Erreakzio bat ezabatu duzu",
"{actor} cleared the history of the conversation" : "{actor} elkarrizketaren historia ezabatu du",
"You cleared the history of the conversation" : "Elkarrizketaren historia ezabatu duzu",
"Message deleted by author" : "Egileak mezua ezabatu du",
@@ -535,6 +538,7 @@
"Everyone" : "Edonor",
"Users and moderators" : "Erabiltzaileak eta moderatzaileak",
"Moderators only" : "Moderatzaileak soilik",
+ "Disable calls" : "Desgaitu deiak",
"Save changes" : "Gorde aldaketak",
"Saving โ€ฆ" : "Gordetzen โ€ฆ",
"Saved!" : "Gordeta!",
@@ -653,6 +657,8 @@
"You can invite others in the participant tab of the sidebar" : "Besteak gonbidatu ditzakezu alboko barrako parte-hartzaileak fitxan",
"You can invite others in the participant tab of the sidebar or share this link to invite others!" : "Besteak gonbidatu ditzakezu alboko barrako parte-hartzaileak fitxan edo esteka hau partekatuz!",
"Share this link to invite others!" : "Partekatu esteka hau besteak gonbidatzeko!",
+ "Conversation link copied to clipboard" : "Elkarrizketaren esteka arbelera kopiatu da",
+ "The link could not be copied" : "Ezin izan da esteka kopiatu",
"Dismiss" : "Baztertu",
"Show your screen" : "Erakutsi zure pantaila",
"Stop screensharing" : "Utzi pantaila partekatzeari",
@@ -932,6 +938,7 @@
"Mark as unread" : "Markatu ez irakurri gisa",
"Go to file" : "Joan fitxategira",
"Forward message" : "Birbidali mezua",
+ "Message link copied to clipboard" : "Mezuaren esteka arbelera kopiatu da",
"Your browser does not support playing audio files" : "Zure nabigatzaileak ez du audio fitxategiak erreproduzitzeko euskarririk",
"Contact" : "Kontaktua",
"{stack} in {board}" : "{stack} {board}-(e)n",
@@ -983,6 +990,7 @@
"Grant all permissions" : "Eman baimen guztiak",
"Remove all permissions" : "Kendu baimen guztiak",
"Resend invitation" : "Birbidali gonbidapena",
+ "Send call notification" : "Bidali dei jakinarazpena",
"Remove group and members" : "Kendu taldea eta kideak",
"Remove participant" : "Kendu parte-hartzailea",
"Settings for participant \"{user}\"" : "\"{user}\" parte-hartzailearen ezarpenak",
@@ -992,7 +1000,9 @@
"Joined with video" : "Bideoarekin batuta",
"Joined via phone" : "Telefonoarekin batuta",
"Raised their hand" : "Eskua jaso dute",
+ "Invitation was sent to {actorId}" : "{actorId}-(e)ri gonbidapena bidali zaio",
"Could not send invitation to {actorId}" : "Ezin izan da gonbidapena {actorId}(r)i bidali",
+ "Notification was sent to {displayName}" : "{displayName}-(e)ri jakinarazpena bidali zaio",
"Permissions granted to {displayName}" : "Baimenak emanda {displayName}(r)i",
"Could not modify permissions for {displayName}" : "Ezin izan dira {displayName}(r)en baimenak aldatu",
"Permissions removed for {displayName}" : "Baimenak kendu zaizkio {displayName}(r)i",
@@ -1002,6 +1012,7 @@
"Add groups" : "Gehitu taldeak",
"Add emails" : "Gehitu helbide elektronikoa",
"Add circles" : "Gehitu zirkuluak",
+ "Integrations" : "Integrazioak",
"Add federated users" : "Gehitu erabiltzaile federatuak",
"Searching โ€ฆ" : "Bilatzen โ€ฆ",
"No results" : "Emaitzarik ez",
@@ -1020,7 +1031,12 @@
"Shared items" : "Partekatutako elementuak",
"Participants ({count})" : "Parte-hartzaileak ({count})",
"Projects" : "Proiektuak",
+ "Show all media" : "Erakutsi multimedia guztia",
"Show all files" : "Erakustsi fitxategi guztiak",
+ "Show all voice messages" : "Erakutsi ahots-mezu guztiak",
+ "Show all locations" : "Erakutsi kokaleku guztiak",
+ "Show all audio" : "Erakutsi audio guztia",
+ "Show all other" : "Erakutsi beste guztiak",
"Meeting ID: {meetingId}" : "Bileraren ID: {meetingId}",
"Your PIN: {attendeePin}" : "Zure PINa: {attendeePin}",
"Attachments folder" : "Eranskinen karpeta",
@@ -1077,8 +1093,11 @@
"Link to a conversation" : "Esteka elkarrizketara",
"You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Elkarrizketara batu zara beste leiho edo gailu batean. Nextcloud Talkek ez du hau onartzen une honetan, beraz saioa itxi egin da.",
"Join a conversation or start a new one" : "Batu elkarrizketa batera edo hasi berri bat",
+ "Deck card has been posted to the selected <a href=\"{link}\">conversation</a>" : "Deck txartel bat argitaratu da hautaturiko <a href=\"{link}\">elkarrizketan</a>",
+ "An error occurred while posting deck card to conversation" : "Errore bat gertatu da elkarrizketan deck txartela argitaratzean",
"Post to a conversation" : "Argitaratu elkarrizketa batera",
"Post to conversation" : "Argitaratu elkarrizketan",
+ "An error occurred while posting location to conversation" : "Errorea gertatu da elkarrizketara kokalekua bidaltzean",
"Share to a conversation" : "Partekatu elkarrizketa batera",
"Share to conversation" : "Partekatu elkarrizketara",
"The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Nextcloud Talkek ez dauka erabateko euskarria erabiltzen ari zaren nabigatzailearentzat. Erabili Mozilla Firefox, Microsoft Edge, Google Chrome, Opera edo Apple Safari nabigatzaileen bertsio berriena.",
diff --git a/l10n/fi.js b/l10n/fi.js
index 5ba99bbb9..b301aa22f 100644
--- a/l10n/fi.js
+++ b/l10n/fi.js
@@ -751,6 +751,7 @@ OC.L10N.register(
"Add groups" : "Lisรครค ryhmiรค",
"Add emails" : "Lisรครค sรคhkรถpostiosoitteita",
"Add circles" : "Lisรครค piirejรค",
+ "Integrations" : "Integraatiot",
"Add federated users" : "Lisรครค federoituja kรคyttรคjiรค",
"Searching โ€ฆ" : "Haetaanโ€ฆ",
"No results" : "Ei tuloksia",
diff --git a/l10n/fi.json b/l10n/fi.json
index a3d9145ff..aed5e1ff9 100644
--- a/l10n/fi.json
+++ b/l10n/fi.json
@@ -749,6 +749,7 @@
"Add groups" : "Lisรครค ryhmiรค",
"Add emails" : "Lisรครค sรคhkรถpostiosoitteita",
"Add circles" : "Lisรครค piirejรค",
+ "Integrations" : "Integraatiot",
"Add federated users" : "Lisรครค federoituja kรคyttรคjiรค",
"Searching โ€ฆ" : "Haetaanโ€ฆ",
"No results" : "Ei tuloksia",
diff --git a/l10n/fr.js b/l10n/fr.js
index 07b9a44f6..f85cd7266 100644
--- a/l10n/fr.js
+++ b/l10n/fr.js
@@ -1022,6 +1022,7 @@ OC.L10N.register(
"Add groups" : "Ajouter des groupes",
"Add emails" : "Ajouter des adresses emails",
"Add circles" : "Ajouter des cercles",
+ "Integrations" : "Intรฉgrations",
"Add federated users" : "Ajouter des utilisateurs fรฉdรฉrรฉs",
"Searching โ€ฆ" : "Recherche โ€ฆ",
"No results" : "Aucun rรฉsultat",
diff --git a/l10n/fr.json b/l10n/fr.json
index 2a63b0d3b..74bab61b4 100644
--- a/l10n/fr.json
+++ b/l10n/fr.json
@@ -1020,6 +1020,7 @@
"Add groups" : "Ajouter des groupes",
"Add emails" : "Ajouter des adresses emails",
"Add circles" : "Ajouter des cercles",
+ "Integrations" : "Intรฉgrations",
"Add federated users" : "Ajouter des utilisateurs fรฉdรฉrรฉs",
"Searching โ€ฆ" : "Recherche โ€ฆ",
"No results" : "Aucun rรฉsultat",
diff --git a/l10n/gl.js b/l10n/gl.js
index 5d6e73639..dea37509b 100644
--- a/l10n/gl.js
+++ b/l10n/gl.js
@@ -862,6 +862,7 @@ OC.L10N.register(
"Add groups" : "Engadir grupos",
"Add emails" : "Engadir correos",
"Add circles" : "Engadir cรญrculos",
+ "Integrations" : "Integraciรณns",
"Searching โ€ฆ" : "Buscandoโ€ฆ",
"No results" : "Sen resultados",
"Search for more users" : "Buscar mรกis usuarios",
diff --git a/l10n/gl.json b/l10n/gl.json
index 9198961a6..139460b84 100644
--- a/l10n/gl.json
+++ b/l10n/gl.json
@@ -860,6 +860,7 @@
"Add groups" : "Engadir grupos",
"Add emails" : "Engadir correos",
"Add circles" : "Engadir cรญrculos",
+ "Integrations" : "Integraciรณns",
"Searching โ€ฆ" : "Buscandoโ€ฆ",
"No results" : "Sen resultados",
"Search for more users" : "Buscar mรกis usuarios",
diff --git a/l10n/he.js b/l10n/he.js
index 09a98f505..ab4aeee42 100644
--- a/l10n/he.js
+++ b/l10n/he.js
@@ -523,6 +523,7 @@ OC.L10N.register(
"Add groups" : "ื”ื•ืกืคืช ืงื‘ื•ืฆื•ืช",
"Add emails" : "ื”ื•ืกืคืช ื›ืชื•ื‘ื•ืช ื“ื•ืืดืœ",
"Add circles" : "ื”ื•ืกืคืช ืžืขื’ืœื™ื",
+ "Integrations" : "ืฉื™ืœื•ื‘ื™ื",
"Searching โ€ฆ" : "ืžืชื‘ืฆืข ื—ื™ืคื•ืฉโ€ฆ",
"No results" : "ืื™ืŸ ืชื•ืฆืื•ืช",
"Add users or groups" : "ื”ื•ืกืคืช ืžืฉืชืžืฉื™ื ืื• ืงื‘ื•ืฆื•ืช",
diff --git a/l10n/he.json b/l10n/he.json
index 1758cb08e..19d50fe9b 100644
--- a/l10n/he.json
+++ b/l10n/he.json
@@ -521,6 +521,7 @@
"Add groups" : "ื”ื•ืกืคืช ืงื‘ื•ืฆื•ืช",
"Add emails" : "ื”ื•ืกืคืช ื›ืชื•ื‘ื•ืช ื“ื•ืืดืœ",
"Add circles" : "ื”ื•ืกืคืช ืžืขื’ืœื™ื",
+ "Integrations" : "ืฉื™ืœื•ื‘ื™ื",
"Searching โ€ฆ" : "ืžืชื‘ืฆืข ื—ื™ืคื•ืฉโ€ฆ",
"No results" : "ืื™ืŸ ืชื•ืฆืื•ืช",
"Add users or groups" : "ื”ื•ืกืคืช ืžืฉืชืžืฉื™ื ืื• ืงื‘ื•ืฆื•ืช",
diff --git a/l10n/hr.js b/l10n/hr.js
index 8db3c1115..d4e9c1c85 100644
--- a/l10n/hr.js
+++ b/l10n/hr.js
@@ -987,6 +987,7 @@ OC.L10N.register(
"Add groups" : "Dodaj grupe",
"Add emails" : "Dodaj adrese e-poลกte",
"Add circles" : "Dodaj krugove",
+ "Integrations" : "Integracije",
"Searching โ€ฆ" : "Traลพenjeโ€ฆ",
"No results" : "Nema rezultata",
"Search for more users" : "Potraลพi joลก korisnika",
diff --git a/l10n/hr.json b/l10n/hr.json
index b36b8fdcf..514e78ebf 100644
--- a/l10n/hr.json
+++ b/l10n/hr.json
@@ -985,6 +985,7 @@
"Add groups" : "Dodaj grupe",
"Add emails" : "Dodaj adrese e-poลกte",
"Add circles" : "Dodaj krugove",
+ "Integrations" : "Integracije",
"Searching โ€ฆ" : "Traลพenjeโ€ฆ",
"No results" : "Nema rezultata",
"Search for more users" : "Potraลพi joลก korisnika",
diff --git a/l10n/hu.js b/l10n/hu.js
index 4dbd61598..73ab6e87b 100644
--- a/l10n/hu.js
+++ b/l10n/hu.js
@@ -1035,6 +1035,7 @@ OC.L10N.register(
"Add groups" : "Csoportok hozzรกadรกsa",
"Add emails" : "E-mailek hozzรกadรกsa",
"Add circles" : "Kรถrรถk hozzรกadรกsa",
+ "Integrations" : "Integrรกciรณk",
"Add federated users" : "Fรถderรกlt felhasznรกlรณk hozzรกadรกsa",
"Searching โ€ฆ" : "Keresรฉsโ€ฆ",
"No results" : "Nincs talรกlat",
diff --git a/l10n/hu.json b/l10n/hu.json
index c21ad89d3..67891e000 100644
--- a/l10n/hu.json
+++ b/l10n/hu.json
@@ -1033,6 +1033,7 @@
"Add groups" : "Csoportok hozzรกadรกsa",
"Add emails" : "E-mailek hozzรกadรกsa",
"Add circles" : "Kรถrรถk hozzรกadรกsa",
+ "Integrations" : "Integrรกciรณk",
"Add federated users" : "Fรถderรกlt felhasznรกlรณk hozzรกadรกsa",
"Searching โ€ฆ" : "Keresรฉsโ€ฆ",
"No results" : "Nincs talรกlat",
diff --git a/l10n/it.js b/l10n/it.js
index c54384ccc..9bc3ce204 100644
--- a/l10n/it.js
+++ b/l10n/it.js
@@ -1017,6 +1017,7 @@ OC.L10N.register(
"Add groups" : "Aggiungi gruppi",
"Add emails" : "Aggiungi email",
"Add circles" : "Aggiungi cerchie",
+ "Integrations" : "Integrazioni",
"Add federated users" : "Aggiungi utenti federati",
"Searching โ€ฆ" : "Ricerca in corso...",
"No results" : "Nessun risultato",
diff --git a/l10n/it.json b/l10n/it.json
index 308947dca..039374dcb 100644
--- a/l10n/it.json
+++ b/l10n/it.json
@@ -1015,6 +1015,7 @@
"Add groups" : "Aggiungi gruppi",
"Add emails" : "Aggiungi email",
"Add circles" : "Aggiungi cerchie",
+ "Integrations" : "Integrazioni",
"Add federated users" : "Aggiungi utenti federati",
"Searching โ€ฆ" : "Ricerca in corso...",
"No results" : "Nessun risultato",
diff --git a/l10n/ja.js b/l10n/ja.js
index 0d4b40943..38acad659 100644
--- a/l10n/ja.js
+++ b/l10n/ja.js
@@ -969,6 +969,7 @@ OC.L10N.register(
"Add groups" : "ใ‚ฐใƒซใƒผใƒ—ใ‚’่ฟฝๅŠ ",
"Add emails" : "ใƒกใƒผใƒซใ‚’่ฟฝๅŠ ",
"Add circles" : "ใ‚ตใƒผใ‚ฏใƒซใ‚’่ฟฝๅŠ ",
+ "Integrations" : "ใ‚คใƒณใƒ†ใ‚ฐใƒฌใƒผใ‚ทใƒงใƒณ",
"Searching โ€ฆ" : "ๆคœ็ดขใ—ใฆใ„ใพใ™โ€ฆ",
"No results" : "่ฉฒๅฝ“ใชใ—",
"Search for more users" : "ใ•ใ‚‰ใซใƒฆใƒผใ‚ถใƒผใ‚’ๆŽขใ™",
diff --git a/l10n/ja.json b/l10n/ja.json
index a693959e6..96c18355e 100644
--- a/l10n/ja.json
+++ b/l10n/ja.json
@@ -967,6 +967,7 @@
"Add groups" : "ใ‚ฐใƒซใƒผใƒ—ใ‚’่ฟฝๅŠ ",
"Add emails" : "ใƒกใƒผใƒซใ‚’่ฟฝๅŠ ",
"Add circles" : "ใ‚ตใƒผใ‚ฏใƒซใ‚’่ฟฝๅŠ ",
+ "Integrations" : "ใ‚คใƒณใƒ†ใ‚ฐใƒฌใƒผใ‚ทใƒงใƒณ",
"Searching โ€ฆ" : "ๆคœ็ดขใ—ใฆใ„ใพใ™โ€ฆ",
"No results" : "่ฉฒๅฝ“ใชใ—",
"Search for more users" : "ใ•ใ‚‰ใซใƒฆใƒผใ‚ถใƒผใ‚’ๆŽขใ™",
diff --git a/l10n/nb.js b/l10n/nb.js
index 1eeaecc90..c6e9a9ead 100644
--- a/l10n/nb.js
+++ b/l10n/nb.js
@@ -530,6 +530,7 @@ OC.L10N.register(
"Demote from moderator" : "Fjern moderatorstatus",
"Promote to moderator" : "Gi moderatorstatus",
"Remove participant" : "Fjern deltaker",
+ "Integrations" : "Integreringer",
"Searching โ€ฆ" : "Sรธker ...",
"No results" : "Ingen resultater",
"Add users or groups" : "Legg til bruker eller gruppe",
diff --git a/l10n/nb.json b/l10n/nb.json
index 5f1fd068f..6c50a04d8 100644
--- a/l10n/nb.json
+++ b/l10n/nb.json
@@ -528,6 +528,7 @@
"Demote from moderator" : "Fjern moderatorstatus",
"Promote to moderator" : "Gi moderatorstatus",
"Remove participant" : "Fjern deltaker",
+ "Integrations" : "Integreringer",
"Searching โ€ฆ" : "Sรธker ...",
"No results" : "Ingen resultater",
"Add users or groups" : "Legg til bruker eller gruppe",
diff --git a/l10n/nl.js b/l10n/nl.js
index c0e20363e..7d4c326b5 100644
--- a/l10n/nl.js
+++ b/l10n/nl.js
@@ -1010,6 +1010,7 @@ OC.L10N.register(
"Add groups" : "Toevoegen groepen",
"Add emails" : "Toevoegen e-mailadressen",
"Add circles" : "Toevoegen kringen",
+ "Integrations" : "Integraties",
"Add federated users" : "Voeg gefedereerde gebruikers toe",
"Searching โ€ฆ" : "Zoeken ...",
"No results" : "Geen resultaten",
diff --git a/l10n/nl.json b/l10n/nl.json
index 3c8feecfb..3c529ff05 100644
--- a/l10n/nl.json
+++ b/l10n/nl.json
@@ -1008,6 +1008,7 @@
"Add groups" : "Toevoegen groepen",
"Add emails" : "Toevoegen e-mailadressen",
"Add circles" : "Toevoegen kringen",
+ "Integrations" : "Integraties",
"Add federated users" : "Voeg gefedereerde gebruikers toe",
"Searching โ€ฆ" : "Zoeken ...",
"No results" : "Geen resultaten",
diff --git a/l10n/oc.js b/l10n/oc.js
index 52673e2de..8721d8b03 100644
--- a/l10n/oc.js
+++ b/l10n/oc.js
@@ -902,6 +902,7 @@ OC.L10N.register(
"Add groups" : "Apondre grops",
"Add emails" : "Apondre emails",
"Add circles" : "Apondre cercles",
+ "Integrations" : "Integracions",
"Add federated users" : "Apondre dโ€™utilizaires federats",
"Searching โ€ฆ" : "Recรจrcaโ€ฆ",
"No results" : "Pas cap de resultat",
@@ -982,6 +983,9 @@ OC.L10N.register(
"Join a conversation or start a new one" : "Rejรณnher una conversacion o ne crear una",
"Post to a conversation" : "Publicar dins una conversacion",
"Post to conversation" : "Publicar a la conversacion",
+ "An error occurred while posting location to conversation" : "Error en publicant la localizacion dins la conversacion",
+ "Share to a conversation" : "Partejar dins una conversacion",
+ "Share to conversation" : "Partejar dins una conversacion",
"The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Lo navegador quโ€™utilizatz es pas complรจtament pres en cargar per Nextcloud Talk. Mercรฉs dโ€™utilizar la darriรจra version de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.",
"Calls are not supported in your browser" : "Vรฒstre navegador pren pas encarga las sonadas",
"Access to microphone is only possible with HTTPS" : "Lโ€™accรจs al microfรฒn es sonque possibla amb HTTPS",
diff --git a/l10n/oc.json b/l10n/oc.json
index 85e5e61ae..040c95eaa 100644
--- a/l10n/oc.json
+++ b/l10n/oc.json
@@ -900,6 +900,7 @@
"Add groups" : "Apondre grops",
"Add emails" : "Apondre emails",
"Add circles" : "Apondre cercles",
+ "Integrations" : "Integracions",
"Add federated users" : "Apondre dโ€™utilizaires federats",
"Searching โ€ฆ" : "Recรจrcaโ€ฆ",
"No results" : "Pas cap de resultat",
@@ -980,6 +981,9 @@
"Join a conversation or start a new one" : "Rejรณnher una conversacion o ne crear una",
"Post to a conversation" : "Publicar dins una conversacion",
"Post to conversation" : "Publicar a la conversacion",
+ "An error occurred while posting location to conversation" : "Error en publicant la localizacion dins la conversacion",
+ "Share to a conversation" : "Partejar dins una conversacion",
+ "Share to conversation" : "Partejar dins una conversacion",
"The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Lo navegador quโ€™utilizatz es pas complรจtament pres en cargar per Nextcloud Talk. Mercรฉs dโ€™utilizar la darriรจra version de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.",
"Calls are not supported in your browser" : "Vรฒstre navegador pren pas encarga las sonadas",
"Access to microphone is only possible with HTTPS" : "Lโ€™accรจs al microfรฒn es sonque possibla amb HTTPS",
diff --git a/l10n/pl.js b/l10n/pl.js
index 8060731a0..142364b3a 100644
--- a/l10n/pl.js
+++ b/l10n/pl.js
@@ -985,6 +985,7 @@ OC.L10N.register(
"Upload new files" : "Wyล›lij nowe pliki",
"Share from Files" : "Udostฤ™pnij z Plikรณw",
"Add emoji" : "Dodaj emoji",
+ "Send silently" : "Wyล›lij po cichu",
"Send message" : "Wyล›lij wiadomoล›ฤ‡",
"File to share" : "Plik do udostฤ™pnienia",
"This conversation has been locked" : "Ta rozmowa zostaล‚a zablokowana",
@@ -1035,6 +1036,7 @@ OC.L10N.register(
"Add groups" : "Dodaj grupy",
"Add emails" : "Dodaj e-maile",
"Add circles" : "Dodaj krฤ™gi",
+ "Integrations" : "Integracje",
"Add federated users" : "Dodaj uลผytkownikรณw federacyjnych",
"Searching โ€ฆ" : "Wyszukiwanieโ€ฆ",
"No results" : "Brak wynikรณw",
diff --git a/l10n/pl.json b/l10n/pl.json
index 63968f875..6d274b72a 100644
--- a/l10n/pl.json
+++ b/l10n/pl.json
@@ -983,6 +983,7 @@
"Upload new files" : "Wyล›lij nowe pliki",
"Share from Files" : "Udostฤ™pnij z Plikรณw",
"Add emoji" : "Dodaj emoji",
+ "Send silently" : "Wyล›lij po cichu",
"Send message" : "Wyล›lij wiadomoล›ฤ‡",
"File to share" : "Plik do udostฤ™pnienia",
"This conversation has been locked" : "Ta rozmowa zostaล‚a zablokowana",
@@ -1033,6 +1034,7 @@
"Add groups" : "Dodaj grupy",
"Add emails" : "Dodaj e-maile",
"Add circles" : "Dodaj krฤ™gi",
+ "Integrations" : "Integracje",
"Add federated users" : "Dodaj uลผytkownikรณw federacyjnych",
"Searching โ€ฆ" : "Wyszukiwanieโ€ฆ",
"No results" : "Brak wynikรณw",
diff --git a/l10n/pt_BR.js b/l10n/pt_BR.js
index d78650bfa..79c721ed6 100644
--- a/l10n/pt_BR.js
+++ b/l10n/pt_BR.js
@@ -549,6 +549,7 @@ OC.L10N.register(
"Everyone" : "Qualquer um",
"Users and moderators" : "Usuรกrios e moderadores",
"Moderators only" : "Somente moderadores",
+ "Disable calls" : "Desativar chamadas",
"Save changes" : "Salvar alteraรงรตes",
"Saving โ€ฆ" : "Salvando...",
"Saved!" : "Salvo!",
@@ -604,6 +605,7 @@ OC.L10N.register(
"Downloading โ€ฆ" : "Baixandoโ€ฆ",
"Install Talk Matterbridge" : "Instalar Talk Matterbridge",
"Installed version: {version}" : "Versรฃo instalada: {version}",
+ "You can install the Matterbridge to link Nextcloud Talk to some other services, visit their {linkstart1}GitHub page{linkend} for more details. Downloading and installing the app can take a while. In case it times out, please install it manually from the {linkstart2}Nextcloud App Store{linkend}." : "Vocรช pode instalar o Matterbridge para vincular o Nextcloud Talk a alguns outros serviรงos, visite a {linkstart1}pรกgina do GitHub{linkend} para obter mais detalhes. Baixar e instalar o aplicativo pode demorar um pouco. Caso expire, instale-o manualmente a partir da {linkstart2}Nextcloud App Store{linkend}.",
"Matterbridge binary has incorrect permissions. Please make sure the Matterbridge binary file is owned by the correct user and can be executed. It can be found in \"/.../nextcloud/apps/talk_matterbridge/bin/\"." : "O binรกrio Matterbridge tem permissรตes incorretas. Certifique-se de que o arquivo binรกrio Matterbridge pertence ao usuรกrio correto e pode ser executado. Ele pode ser encontrado em \"/.../nextcloud/apps/talk_matterbridge/bin/\".",
"Matterbridge binary was not found or couldn't be executed." : "O binรกrio Matterbridge nรฃo foi encontrado ou nรฃo pรดde ser executado.",
"You can also set the path to the Matterbridge binary manually via the config. Check the {linkstart}Matterbridge integration documentation{linkend} for more information." : "Vocรช tambรฉm pode definir o caminho para o binรกrio Matterbridge manualmente por meio da configuraรงรฃo. Verifique a {linkstart}documentaรงรฃo de integraรงรฃo do Matterbridge{linkend} para mais informaรงรตes.",
@@ -672,6 +674,8 @@ OC.L10N.register(
"You can invite others in the participant tab of the sidebar" : "Vocรช pode convidar outros na guia do participante da barra lateral",
"You can invite others in the participant tab of the sidebar or share this link to invite others!" : "Vocรช pode convidar outros na guia \"Participantes\" da barra lateral ou compartilhar esse link para convidar outras pessoas!",
"Share this link to invite others!" : "Compartilhe este link para convidar outros!",
+ "Conversation link copied to clipboard" : "Link da conversa copiado para a รกrea de transferรชncia",
+ "The link could not be copied" : "O link nรฃo pรดde ser copiado",
"Dismiss" : "Dispensar",
"Show your screen" : "Exibir sua tela",
"Stop screensharing" : "Parar de compartilhar tela",
@@ -955,6 +959,7 @@ OC.L10N.register(
"Mark as unread" : "Marcar como nรฃo lido",
"Go to file" : "Ir para o arquivo",
"Forward message" : "Enviar mensagem",
+ "Message link copied to clipboard" : "Link da mensagem copiado para a รกrea de transferรชncia",
"Your browser does not support playing audio files" : "Seu navegador nรฃo suporta a reproduรงรฃo de arquivos de รกudio",
"Contact" : "Contato",
"{stack} in {board}" : "{stack} de {board}",
@@ -980,6 +985,7 @@ OC.L10N.register(
"Upload new files" : "Enviar novos arquivos",
"Share from Files" : "Compartilhar de Arquivos",
"Add emoji" : "Adicionar emoji",
+ "Send silently" : "Enviar silenciosamente",
"Send message" : "Enviar mensagem",
"File to share" : "Arquivo a compartilhar",
"This conversation has been locked" : "Esta conversa estรก bloqueada",
@@ -1007,6 +1013,7 @@ OC.L10N.register(
"Grant all permissions" : "Conceder todas as permissรตes",
"Remove all permissions" : "Remova todas as permissรตes",
"Resend invitation" : "Reenviar convite",
+ "Send call notification" : "Enviar notificaรงรฃo de chamada",
"Remove group and members" : "Remover grupo e membros",
"Remove participant" : "Remover participante",
"Settings for participant \"{user}\"" : "Configuraรงรตes para o participante \"{user}\"",
@@ -1016,7 +1023,10 @@ OC.L10N.register(
"Joined with video" : "Entrou com video",
"Joined via phone" : "Entrou via telefone",
"Raised their hand" : "Levantou a mรฃo",
+ "Invitation was sent to {actorId}" : "O convite foi enviado para {actorId}",
"Could not send invitation to {actorId}" : "Nรฃo foi possรญvel enviar o convite para {actorId}",
+ "Notification was sent to {displayName}" : "A notificaรงรฃo foi enviada para {displayName}",
+ "Could not send notification to {displayName}" : "Nรฃo foi possรญvel enviar a notificaรงรฃo para {displayName}",
"Permissions granted to {displayName}" : "Permissรตes concedidas a {displayName} ",
"Could not modify permissions for {displayName}" : "Nรฃo foi possรญvel modificar as permissรตes para {displayName} ",
"Permissions removed for {displayName}" : "Permissรตes removidas para {displayName} ",
@@ -1026,6 +1036,7 @@ OC.L10N.register(
"Add groups" : "Adicionar grupos",
"Add emails" : "Adicionar e-mails",
"Add circles" : "Adicionar cรญrculos",
+ "Integrations" : "Integraรงรตes",
"Add federated users" : "Adicionar usuรกrios federados",
"Searching โ€ฆ" : "Pesquisando...",
"No results" : "Nenhum resultado",
@@ -1109,6 +1120,8 @@ OC.L10N.register(
"Link to a conversation" : "Link para uma conversa",
"You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Vocรช ingressou na conversa em outra janela ou dispositivo. No momento, isso nรฃo รฉ suportado pelo Nextcloud Talk e portanto esta sessรฃo foi encerrada.",
"Join a conversation or start a new one" : "Junte-se a uma conversa ou inicie outra",
+ "Deck card has been posted to the selected <a href=\"{link}\">conversation</a>" : "A carta do Deck foi postada na selecionado <a href=\"{link}\">conversaรงรฃo</a>",
+ "An error occurred while posting deck card to conversation" : "Ocorreu um erro ao postar o cartรฃo do Deck na conversa",
"Post to a conversation" : "Enviar para uma conversa",
"Post to conversation" : "Enviar para a conversa",
"Location has been posted to the selected <a href=\"{link}\">conversation</a>" : "A localizaรงรฃo foi postada para o selecionado <a href=\"{link}\">conversaรงรฃo</a>",
diff --git a/l10n/pt_BR.json b/l10n/pt_BR.json
index e142aed2e..647bd48c3 100644
--- a/l10n/pt_BR.json
+++ b/l10n/pt_BR.json
@@ -547,6 +547,7 @@
"Everyone" : "Qualquer um",
"Users and moderators" : "Usuรกrios e moderadores",
"Moderators only" : "Somente moderadores",
+ "Disable calls" : "Desativar chamadas",
"Save changes" : "Salvar alteraรงรตes",
"Saving โ€ฆ" : "Salvando...",
"Saved!" : "Salvo!",
@@ -602,6 +603,7 @@
"Downloading โ€ฆ" : "Baixandoโ€ฆ",
"Install Talk Matterbridge" : "Instalar Talk Matterbridge",
"Installed version: {version}" : "Versรฃo instalada: {version}",
+ "You can install the Matterbridge to link Nextcloud Talk to some other services, visit their {linkstart1}GitHub page{linkend} for more details. Downloading and installing the app can take a while. In case it times out, please install it manually from the {linkstart2}Nextcloud App Store{linkend}." : "Vocรช pode instalar o Matterbridge para vincular o Nextcloud Talk a alguns outros serviรงos, visite a {linkstart1}pรกgina do GitHub{linkend} para obter mais detalhes. Baixar e instalar o aplicativo pode demorar um pouco. Caso expire, instale-o manualmente a partir da {linkstart2}Nextcloud App Store{linkend}.",
"Matterbridge binary has incorrect permissions. Please make sure the Matterbridge binary file is owned by the correct user and can be executed. It can be found in \"/.../nextcloud/apps/talk_matterbridge/bin/\"." : "O binรกrio Matterbridge tem permissรตes incorretas. Certifique-se de que o arquivo binรกrio Matterbridge pertence ao usuรกrio correto e pode ser executado. Ele pode ser encontrado em \"/.../nextcloud/apps/talk_matterbridge/bin/\".",
"Matterbridge binary was not found or couldn't be executed." : "O binรกrio Matterbridge nรฃo foi encontrado ou nรฃo pรดde ser executado.",
"You can also set the path to the Matterbridge binary manually via the config. Check the {linkstart}Matterbridge integration documentation{linkend} for more information." : "Vocรช tambรฉm pode definir o caminho para o binรกrio Matterbridge manualmente por meio da configuraรงรฃo. Verifique a {linkstart}documentaรงรฃo de integraรงรฃo do Matterbridge{linkend} para mais informaรงรตes.",
@@ -670,6 +672,8 @@
"You can invite others in the participant tab of the sidebar" : "Vocรช pode convidar outros na guia do participante da barra lateral",
"You can invite others in the participant tab of the sidebar or share this link to invite others!" : "Vocรช pode convidar outros na guia \"Participantes\" da barra lateral ou compartilhar esse link para convidar outras pessoas!",
"Share this link to invite others!" : "Compartilhe este link para convidar outros!",
+ "Conversation link copied to clipboard" : "Link da conversa copiado para a รกrea de transferรชncia",
+ "The link could not be copied" : "O link nรฃo pรดde ser copiado",
"Dismiss" : "Dispensar",
"Show your screen" : "Exibir sua tela",
"Stop screensharing" : "Parar de compartilhar tela",
@@ -953,6 +957,7 @@
"Mark as unread" : "Marcar como nรฃo lido",
"Go to file" : "Ir para o arquivo",
"Forward message" : "Enviar mensagem",
+ "Message link copied to clipboard" : "Link da mensagem copiado para a รกrea de transferรชncia",
"Your browser does not support playing audio files" : "Seu navegador nรฃo suporta a reproduรงรฃo de arquivos de รกudio",
"Contact" : "Contato",
"{stack} in {board}" : "{stack} de {board}",
@@ -978,6 +983,7 @@
"Upload new files" : "Enviar novos arquivos",
"Share from Files" : "Compartilhar de Arquivos",
"Add emoji" : "Adicionar emoji",
+ "Send silently" : "Enviar silenciosamente",
"Send message" : "Enviar mensagem",
"File to share" : "Arquivo a compartilhar",
"This conversation has been locked" : "Esta conversa estรก bloqueada",
@@ -1005,6 +1011,7 @@
"Grant all permissions" : "Conceder todas as permissรตes",
"Remove all permissions" : "Remova todas as permissรตes",
"Resend invitation" : "Reenviar convite",
+ "Send call notification" : "Enviar notificaรงรฃo de chamada",
"Remove group and members" : "Remover grupo e membros",
"Remove participant" : "Remover participante",
"Settings for participant \"{user}\"" : "Configuraรงรตes para o participante \"{user}\"",
@@ -1014,7 +1021,10 @@
"Joined with video" : "Entrou com video",
"Joined via phone" : "Entrou via telefone",
"Raised their hand" : "Levantou a mรฃo",
+ "Invitation was sent to {actorId}" : "O convite foi enviado para {actorId}",
"Could not send invitation to {actorId}" : "Nรฃo foi possรญvel enviar o convite para {actorId}",
+ "Notification was sent to {displayName}" : "A notificaรงรฃo foi enviada para {displayName}",
+ "Could not send notification to {displayName}" : "Nรฃo foi possรญvel enviar a notificaรงรฃo para {displayName}",
"Permissions granted to {displayName}" : "Permissรตes concedidas a {displayName} ",
"Could not modify permissions for {displayName}" : "Nรฃo foi possรญvel modificar as permissรตes para {displayName} ",
"Permissions removed for {displayName}" : "Permissรตes removidas para {displayName} ",
@@ -1024,6 +1034,7 @@
"Add groups" : "Adicionar grupos",
"Add emails" : "Adicionar e-mails",
"Add circles" : "Adicionar cรญrculos",
+ "Integrations" : "Integraรงรตes",
"Add federated users" : "Adicionar usuรกrios federados",
"Searching โ€ฆ" : "Pesquisando...",
"No results" : "Nenhum resultado",
@@ -1107,6 +1118,8 @@
"Link to a conversation" : "Link para uma conversa",
"You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Vocรช ingressou na conversa em outra janela ou dispositivo. No momento, isso nรฃo รฉ suportado pelo Nextcloud Talk e portanto esta sessรฃo foi encerrada.",
"Join a conversation or start a new one" : "Junte-se a uma conversa ou inicie outra",
+ "Deck card has been posted to the selected <a href=\"{link}\">conversation</a>" : "A carta do Deck foi postada na selecionado <a href=\"{link}\">conversaรงรฃo</a>",
+ "An error occurred while posting deck card to conversation" : "Ocorreu um erro ao postar o cartรฃo do Deck na conversa",
"Post to a conversation" : "Enviar para uma conversa",
"Post to conversation" : "Enviar para a conversa",
"Location has been posted to the selected <a href=\"{link}\">conversation</a>" : "A localizaรงรฃo foi postada para o selecionado <a href=\"{link}\">conversaรงรฃo</a>",
diff --git a/l10n/ro.js b/l10n/ro.js
index 255153cc0..9bc0f4f8b 100644
--- a/l10n/ro.js
+++ b/l10n/ro.js
@@ -1,6 +1,33 @@
OC.L10N.register(
"spreed",
{
+ "a conversation" : "o conversaศ›ie",
+ "(Duration %s)" : "(Durata %s)",
+ "You attended a call with {user1}" : "Aศ›i participat la un apel cu {user1}",
+ "You attended a call with {user1} and {user2}" : "Aศ›i participat la un apel cu {user1} ศ™i {user2}.",
+ "You attended a call with {user1}, {user2} and {user3}" : "Aศ›i participat la un apel cu {user1}, {user2} ศ™i {user3}",
+ "You attended a call with {user1}, {user2}, {user3} and {user4}" : "Aศ›i participat la un apel cu {user1}, {user2}, {user3} ศ™i {user4}.",
+ "You attended a call with {user1}, {user2}, {user3}, {user4} and {user5}" : "Aศ›i participat la un apel cu {user1}, {user2}, {user3}, {user4} ศ™i {user5}",
+ "{actor} invited you to {call}" : "{actor} te-a invitat la {call}",
+ "You were invited to a <strong>conversation</strong> or had a <strong>call</strong>" : "Aศ›i fost invitat la o <strong>conversaศ›ie</strong> sau aศ›i primit un <strong>apel</strong>",
+ "Other activities" : "Alte activitฤƒศ›i",
+ "Talk" : "Discuศ›ie",
+ "Guest" : "Invitat",
+ "Welcome to Nextcloud Talk!\nIn this conversation you will be informed about new features available in Nextcloud Talk." : "Bine aศ›i venit la Nextcloud Talk!\nรŽn aceastฤƒ conversaศ›ie veศ›i fi informat despre noile caracteristici disponibile รฎn Nextcloud Talk.",
+ "New in Talk %s" : "Nou รฎn Discuศ›ii %s",
+ "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Microsoft Edge ศ™i Safari pot fi folosite acum pentru a participa la apeluri audio ศ™i video",
+ "- One-to-one conversations are now persistent and cannot be turned into group conversations by accident anymore. Also when one of the participants leaves the conversation, the conversation is not automatically deleted anymore. Only if both participants leave, the conversation is deleted from the server" : "- Conversaศ›iile individuale sunt acum persistente ศ™i nu mai pot fi transformate din greศ™ealฤƒ รฎn conversaศ›ii de grup. De asemenea, atunci cรขnd unul dintre participanศ›i pฤƒrฤƒseศ™te conversaศ›ia, aceasta nu mai este ศ™tearsฤƒ automat. Numai dacฤƒ ambii participanศ›i pleacฤƒ, conversaศ›ia este ศ™tearsฤƒ de pe server",
+ "- You can now notify all participants by posting \"@all\" into the chat" : "- Acum puteศ›i notifica toศ›i participanศ›ii prin postarea \"@all\" รฎn chat.",
+ "- With the \"arrow-up\" key you can repost your last message" : "- Cu ajutorul tastei \"sฤƒgeatฤƒ รฎn sus\" puteศ›i reposta ultimul mesaj.",
+ "- Talk can now have commands, send \"/help\" as a chat message to see if your administrator configured some" : "- Talk poate avea acum comenzi, trimiteศ›i \"/help\" ca mesaj de chat pentru a vedea dacฤƒ administratorul dvs. a configurat cรขteva",
+ "- With projects you can create quick links between conversations, files and other items" : "- Cu ajutorul proiectelor puteศ›i crea legฤƒturi rapide รฎntre conversaศ›ii, fiศ™iere ศ™i alte elemente.",
+ "- You can now mention guests in the chat" : "- Acum puteศ›i menศ›iona oaspeศ›ii รฎn chat",
+ "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Conversaศ›iile pot avea acum un lobby. Acest lucru va permite moderatorilor sฤƒ se alฤƒture conversaศ›iei ศ™i sฤƒ sune deja pentru a pregฤƒti รฎntรขlnirea, รฎn timp ce utilizatorii ศ™i invitaศ›ii trebuie sฤƒ aศ™tepte",
+ "- You can now directly reply to messages giving the other users more context what your message is about" : "- Acum puteศ›i rฤƒspunde direct la mesaje, oferindu-le celorlalศ›i utilizatori mai mult context despre ce este vorba รฎn mesajul dvs.",
+ "- Searching for conversations and participants will now also filter your existing conversations, making it much easier to find previous conversations" : "- Cฤƒutarea conversaศ›iilor ศ™i a participanศ›ilor va filtra acum ศ™i conversaศ›iile existente, facilitรขnd astfel gฤƒsirea conversaศ›iilor anterioare",
+ "- You can now add custom user groups to conversations when the circles app is installed" : "- Acum puteศ›i adฤƒuga grupuri de utilizatori personalizaศ›i la conversaศ›ii atunci cรขnd este instalatฤƒ aplicaศ›ia cercuri",
+ "- Check out the new grid and call view" : "- Consultaศ›i noua grilฤƒ ศ™i vizualizarea apelurilor",
+ "- You can now upload and drag'n'drop files directly from your device into the chat" : "- Acum puteศ›i รฎncฤƒrca ศ™i glisa fiศ™iere direct de pe dispozitiv รฎn chat.",
"File is too big" : "Fiศ™ierul este prea mare",
"Invalid file provided" : "Numele fiศ™ierului pe care l-ai oferit este invalid",
"Invalid image" : "Imagine invalidฤƒ",
@@ -263,6 +290,7 @@ OC.L10N.register(
"Pending" : "รŽn aศ™teptare",
"Error" : "Eroare",
"Blocked" : "Blocat",
+ "Active" : "Activ",
"Saved" : "Salvat",
"OK" : "OK",
"Copy link" : "Copizฤƒ link",
@@ -288,7 +316,10 @@ OC.L10N.register(
"Loading" : "Loading",
"Groups" : "Grupuri",
"Circles" : "Cercuri",
+ "Create a new group conversation" : "Creaศ›i o nouฤƒ conversaศ›ie de grup",
"Password protect" : "Protejare cu parolฤƒ",
+ "Create conversation" : "Creaศ›i o conversaศ›ie",
+ "Add participants" : "Adฤƒugaศ›i participanศ›i",
"Close" : "รŽnchide",
"Reply" : "Rฤƒspunde",
"Contact" : "Contact",
diff --git a/l10n/ro.json b/l10n/ro.json
index 1e0f5decb..cb2166a86 100644
--- a/l10n/ro.json
+++ b/l10n/ro.json
@@ -1,4 +1,31 @@
{ "translations": {
+ "a conversation" : "o conversaศ›ie",
+ "(Duration %s)" : "(Durata %s)",
+ "You attended a call with {user1}" : "Aศ›i participat la un apel cu {user1}",
+ "You attended a call with {user1} and {user2}" : "Aศ›i participat la un apel cu {user1} ศ™i {user2}.",
+ "You attended a call with {user1}, {user2} and {user3}" : "Aศ›i participat la un apel cu {user1}, {user2} ศ™i {user3}",
+ "You attended a call with {user1}, {user2}, {user3} and {user4}" : "Aศ›i participat la un apel cu {user1}, {user2}, {user3} ศ™i {user4}.",
+ "You attended a call with {user1}, {user2}, {user3}, {user4} and {user5}" : "Aศ›i participat la un apel cu {user1}, {user2}, {user3}, {user4} ศ™i {user5}",
+ "{actor} invited you to {call}" : "{actor} te-a invitat la {call}",
+ "You were invited to a <strong>conversation</strong> or had a <strong>call</strong>" : "Aศ›i fost invitat la o <strong>conversaศ›ie</strong> sau aศ›i primit un <strong>apel</strong>",
+ "Other activities" : "Alte activitฤƒศ›i",
+ "Talk" : "Discuศ›ie",
+ "Guest" : "Invitat",
+ "Welcome to Nextcloud Talk!\nIn this conversation you will be informed about new features available in Nextcloud Talk." : "Bine aศ›i venit la Nextcloud Talk!\nรŽn aceastฤƒ conversaศ›ie veศ›i fi informat despre noile caracteristici disponibile รฎn Nextcloud Talk.",
+ "New in Talk %s" : "Nou รฎn Discuศ›ii %s",
+ "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Microsoft Edge ศ™i Safari pot fi folosite acum pentru a participa la apeluri audio ศ™i video",
+ "- One-to-one conversations are now persistent and cannot be turned into group conversations by accident anymore. Also when one of the participants leaves the conversation, the conversation is not automatically deleted anymore. Only if both participants leave, the conversation is deleted from the server" : "- Conversaศ›iile individuale sunt acum persistente ศ™i nu mai pot fi transformate din greศ™ealฤƒ รฎn conversaศ›ii de grup. De asemenea, atunci cรขnd unul dintre participanศ›i pฤƒrฤƒseศ™te conversaศ›ia, aceasta nu mai este ศ™tearsฤƒ automat. Numai dacฤƒ ambii participanศ›i pleacฤƒ, conversaศ›ia este ศ™tearsฤƒ de pe server",
+ "- You can now notify all participants by posting \"@all\" into the chat" : "- Acum puteศ›i notifica toศ›i participanศ›ii prin postarea \"@all\" รฎn chat.",
+ "- With the \"arrow-up\" key you can repost your last message" : "- Cu ajutorul tastei \"sฤƒgeatฤƒ รฎn sus\" puteศ›i reposta ultimul mesaj.",
+ "- Talk can now have commands, send \"/help\" as a chat message to see if your administrator configured some" : "- Talk poate avea acum comenzi, trimiteศ›i \"/help\" ca mesaj de chat pentru a vedea dacฤƒ administratorul dvs. a configurat cรขteva",
+ "- With projects you can create quick links between conversations, files and other items" : "- Cu ajutorul proiectelor puteศ›i crea legฤƒturi rapide รฎntre conversaศ›ii, fiศ™iere ศ™i alte elemente.",
+ "- You can now mention guests in the chat" : "- Acum puteศ›i menศ›iona oaspeศ›ii รฎn chat",
+ "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Conversaศ›iile pot avea acum un lobby. Acest lucru va permite moderatorilor sฤƒ se alฤƒture conversaศ›iei ศ™i sฤƒ sune deja pentru a pregฤƒti รฎntรขlnirea, รฎn timp ce utilizatorii ศ™i invitaศ›ii trebuie sฤƒ aศ™tepte",
+ "- You can now directly reply to messages giving the other users more context what your message is about" : "- Acum puteศ›i rฤƒspunde direct la mesaje, oferindu-le celorlalศ›i utilizatori mai mult context despre ce este vorba รฎn mesajul dvs.",
+ "- Searching for conversations and participants will now also filter your existing conversations, making it much easier to find previous conversations" : "- Cฤƒutarea conversaศ›iilor ศ™i a participanศ›ilor va filtra acum ศ™i conversaศ›iile existente, facilitรขnd astfel gฤƒsirea conversaศ›iilor anterioare",
+ "- You can now add custom user groups to conversations when the circles app is installed" : "- Acum puteศ›i adฤƒuga grupuri de utilizatori personalizaศ›i la conversaศ›ii atunci cรขnd este instalatฤƒ aplicaศ›ia cercuri",
+ "- Check out the new grid and call view" : "- Consultaศ›i noua grilฤƒ ศ™i vizualizarea apelurilor",
+ "- You can now upload and drag'n'drop files directly from your device into the chat" : "- Acum puteศ›i รฎncฤƒrca ศ™i glisa fiศ™iere direct de pe dispozitiv รฎn chat.",
"File is too big" : "Fiศ™ierul este prea mare",
"Invalid file provided" : "Numele fiศ™ierului pe care l-ai oferit este invalid",
"Invalid image" : "Imagine invalidฤƒ",
@@ -261,6 +288,7 @@
"Pending" : "รŽn aศ™teptare",
"Error" : "Eroare",
"Blocked" : "Blocat",
+ "Active" : "Activ",
"Saved" : "Salvat",
"OK" : "OK",
"Copy link" : "Copizฤƒ link",
@@ -286,7 +314,10 @@
"Loading" : "Loading",
"Groups" : "Grupuri",
"Circles" : "Cercuri",
+ "Create a new group conversation" : "Creaศ›i o nouฤƒ conversaศ›ie de grup",
"Password protect" : "Protejare cu parolฤƒ",
+ "Create conversation" : "Creaศ›i o conversaศ›ie",
+ "Add participants" : "Adฤƒugaศ›i participanศ›i",
"Close" : "รŽnchide",
"Reply" : "Rฤƒspunde",
"Contact" : "Contact",
diff --git a/l10n/ru.js b/l10n/ru.js
index 14aec1549..dc8d35c5e 100644
--- a/l10n/ru.js
+++ b/l10n/ru.js
@@ -1010,6 +1010,7 @@ OC.L10N.register(
"Add groups" : "ะ”ะพะฑะฐะฒะธั‚ัŒ ะณั€ัƒะฟะฟั‹",
"Add emails" : "ะ”ะพะฑะฐะฒะธั‚ัŒ ะฟะพ ะฐะดั€ะตัะฐะผ ัะป. ะฟะพั‡ั‚ั‹",
"Add circles" : "ะ”ะพะฑะฐะฒะธั‚ัŒ ะบั€ัƒะณะธ",
+ "Integrations" : "ะ˜ะฝั‚ะตะณั€ะฐั†ะธะธ",
"Add federated users" : "ะ”ะพะฑะฐะฒะธั‚ัŒ ั„ะตะดะตั€ะฐั‚ะธะฒะฝั‹ั… ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน",
"Searching โ€ฆ" : "ะŸะพะธัะบโ€ฆ",
"No results" : "ะะตั‚ ั€ะตะทัƒะปัŒั‚ะฐั‚ะพะฒ",
diff --git a/l10n/ru.json b/l10n/ru.json
index 2777a7f9c..ba9feefc8 100644
--- a/l10n/ru.json
+++ b/l10n/ru.json
@@ -1008,6 +1008,7 @@
"Add groups" : "ะ”ะพะฑะฐะฒะธั‚ัŒ ะณั€ัƒะฟะฟั‹",
"Add emails" : "ะ”ะพะฑะฐะฒะธั‚ัŒ ะฟะพ ะฐะดั€ะตัะฐะผ ัะป. ะฟะพั‡ั‚ั‹",
"Add circles" : "ะ”ะพะฑะฐะฒะธั‚ัŒ ะบั€ัƒะณะธ",
+ "Integrations" : "ะ˜ะฝั‚ะตะณั€ะฐั†ะธะธ",
"Add federated users" : "ะ”ะพะฑะฐะฒะธั‚ัŒ ั„ะตะดะตั€ะฐั‚ะธะฒะฝั‹ั… ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน",
"Searching โ€ฆ" : "ะŸะพะธัะบโ€ฆ",
"No results" : "ะะตั‚ ั€ะตะทัƒะปัŒั‚ะฐั‚ะพะฒ",
diff --git a/l10n/sc.js b/l10n/sc.js
index afb2fc1a2..f91c84cc3 100644
--- a/l10n/sc.js
+++ b/l10n/sc.js
@@ -933,6 +933,7 @@ OC.L10N.register(
"Add groups" : "Agiunghe grupos",
"Add emails" : "Agiunghe email",
"Add circles" : "Agiunghe giros",
+ "Integrations" : "Integratziones",
"Searching โ€ฆ" : "Chirchende โ€ฆ",
"No results" : "Perunu resurtadu",
"Search for more users" : "Chirca ร teras utรจntzias",
diff --git a/l10n/sc.json b/l10n/sc.json
index 843e2cff0..20e96e8e8 100644
--- a/l10n/sc.json
+++ b/l10n/sc.json
@@ -931,6 +931,7 @@
"Add groups" : "Agiunghe grupos",
"Add emails" : "Agiunghe email",
"Add circles" : "Agiunghe giros",
+ "Integrations" : "Integratziones",
"Searching โ€ฆ" : "Chirchende โ€ฆ",
"No results" : "Perunu resurtadu",
"Search for more users" : "Chirca ร teras utรจntzias",
diff --git a/l10n/sk.js b/l10n/sk.js
index e8506a25c..ede5c1296 100644
--- a/l10n/sk.js
+++ b/l10n/sk.js
@@ -1020,6 +1020,7 @@ OC.L10N.register(
"Add groups" : "Pridaลฅ skupiny",
"Add emails" : "Pridaลฅ e-maily",
"Add circles" : "Pridaลฅ okruhy",
+ "Integrations" : "Integrรกcie",
"Add federated users" : "Pridajte federatรญvnych uลพรญvateฤพov",
"Searching โ€ฆ" : "Hฤพadรก sa โ€ฆ",
"No results" : "ลฝiadne vรฝsledky",
diff --git a/l10n/sk.json b/l10n/sk.json
index 5e78284ac..bcb5c8edf 100644
--- a/l10n/sk.json
+++ b/l10n/sk.json
@@ -1018,6 +1018,7 @@
"Add groups" : "Pridaลฅ skupiny",
"Add emails" : "Pridaลฅ e-maily",
"Add circles" : "Pridaลฅ okruhy",
+ "Integrations" : "Integrรกcie",
"Add federated users" : "Pridajte federatรญvnych uลพรญvateฤพov",
"Searching โ€ฆ" : "Hฤพadรก sa โ€ฆ",
"No results" : "ลฝiadne vรฝsledky",
diff --git a/l10n/sl.js b/l10n/sl.js
index fdeb46a5c..e25725880 100644
--- a/l10n/sl.js
+++ b/l10n/sl.js
@@ -980,6 +980,7 @@ OC.L10N.register(
"Add groups" : "Dodaj skupine",
"Add emails" : "Dodaj elektronske naslove",
"Add circles" : "Dodaj kroge",
+ "Integrations" : "Zdruลพevalniki",
"Add federated users" : "Dodaj zvezne uporabnike",
"Searching โ€ฆ" : "Poteka iskanje ...",
"No results" : "Ni zadetkov",
diff --git a/l10n/sl.json b/l10n/sl.json
index c80f797f8..c6518ae02 100644
--- a/l10n/sl.json
+++ b/l10n/sl.json
@@ -978,6 +978,7 @@
"Add groups" : "Dodaj skupine",
"Add emails" : "Dodaj elektronske naslove",
"Add circles" : "Dodaj kroge",
+ "Integrations" : "Zdruลพevalniki",
"Add federated users" : "Dodaj zvezne uporabnike",
"Searching โ€ฆ" : "Poteka iskanje ...",
"No results" : "Ni zadetkov",
diff --git a/l10n/sr.js b/l10n/sr.js
index c70a856b1..5131004a9 100644
--- a/l10n/sr.js
+++ b/l10n/sr.js
@@ -504,6 +504,7 @@ OC.L10N.register(
"Promote to moderator" : "ะฃะฝะฐะฟั€ะตะดะธ ะฝะฐ ะผะพะดะตั€ะฐั‚ะพั€ะฐ",
"Remove participant" : "ะฃะบะปะพะฝะธ ัƒั‡ะตัะฝะธะบะฐ",
"Add groups" : "ะ”ะพะดะฐั˜ ะณั€ัƒะฟะต",
+ "Integrations" : "ะ˜ะฝั‚ะตะณั€ะฐั†ะธั˜ะต",
"Searching โ€ฆ" : "ะขั€ะฐะถะธะผโ€ฆ",
"No results" : "ะะตะผะฐ ั€ะตะทัƒะปั‚ะฐั‚ะฐ",
"Add users or groups" : "ะ”ะพะดะฐั˜ ะบะพั€ะธัะฝะธะบะต ะธะปะธ ะณั€ัƒะฟะต",
diff --git a/l10n/sr.json b/l10n/sr.json
index 2c033dff7..34b9db731 100644
--- a/l10n/sr.json
+++ b/l10n/sr.json
@@ -502,6 +502,7 @@
"Promote to moderator" : "ะฃะฝะฐะฟั€ะตะดะธ ะฝะฐ ะผะพะดะตั€ะฐั‚ะพั€ะฐ",
"Remove participant" : "ะฃะบะปะพะฝะธ ัƒั‡ะตัะฝะธะบะฐ",
"Add groups" : "ะ”ะพะดะฐั˜ ะณั€ัƒะฟะต",
+ "Integrations" : "ะ˜ะฝั‚ะตะณั€ะฐั†ะธั˜ะต",
"Searching โ€ฆ" : "ะขั€ะฐะถะธะผโ€ฆ",
"No results" : "ะะตะผะฐ ั€ะตะทัƒะปั‚ะฐั‚ะฐ",
"Add users or groups" : "ะ”ะพะดะฐั˜ ะบะพั€ะธัะฝะธะบะต ะธะปะธ ะณั€ัƒะฟะต",
diff --git a/l10n/th.js b/l10n/th.js
index 42e15aba6..73e47797c 100644
--- a/l10n/th.js
+++ b/l10n/th.js
@@ -22,6 +22,7 @@ OC.L10N.register(
"Language" : "เธ เธฒเธฉเธฒ",
"Country" : "เธ›เธฃเธฐเน€เธ—เธจ",
"Status" : "เธชเธ–เธฒเธ™เธฐ",
+ "Created at" : "เธชเธฃเน‰เธฒเธ‡เน€เธกเธทเนˆเธญ",
"Pending" : "เธญเธขเธนเนˆเธฃเธฐเธซเธงเนˆเธฒเธ‡เธ”เธณเน€เธ™เธดเธ™เธเธฒเธฃ",
"Error" : "เธ‚เน‰เธญเธœเธดเธ”เธžเธฅเธฒเธ”",
"Saved" : "เธšเธฑเธ™เธ—เธถเธเนเธฅเน‰เธง",
diff --git a/l10n/th.json b/l10n/th.json
index 1bd3c47cd..10ed3f3b4 100644
--- a/l10n/th.json
+++ b/l10n/th.json
@@ -20,6 +20,7 @@
"Language" : "เธ เธฒเธฉเธฒ",
"Country" : "เธ›เธฃเธฐเน€เธ—เธจ",
"Status" : "เธชเธ–เธฒเธ™เธฐ",
+ "Created at" : "เธชเธฃเน‰เธฒเธ‡เน€เธกเธทเนˆเธญ",
"Pending" : "เธญเธขเธนเนˆเธฃเธฐเธซเธงเนˆเธฒเธ‡เธ”เธณเน€เธ™เธดเธ™เธเธฒเธฃ",
"Error" : "เธ‚เน‰เธญเธœเธดเธ”เธžเธฅเธฒเธ”",
"Saved" : "เธšเธฑเธ™เธ—เธถเธเนเธฅเน‰เธง",
diff --git a/l10n/tr.js b/l10n/tr.js
index 6bc5118a3..7a2930722 100644
--- a/l10n/tr.js
+++ b/l10n/tr.js
@@ -3,28 +3,28 @@ OC.L10N.register(
{
"a conversation" : "bir gรถrรผลŸme",
"(Duration %s)" : "(Sรผre %s)",
- "You attended a call with {user1}" : "{user1} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1}" : "{user1} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
"_%n guest_::_%n guests_" : ["%n konuk","%n konuk"],
- "You attended a call with {user1} and {user2}" : "{user1} ve {user2} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
- "You attended a call with {user1}, {user2} and {user3}" : "{user1}, {user2} ve {user3} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
- "You attended a call with {user1}, {user2}, {user3} and {user4}" : "{user1}, {user2}, {user3} ve {user4} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
- "You attended a call with {user1}, {user2}, {user3}, {user4} and {user5}" : "{user1}, {user2}, {user3}, {user4} ve {user5} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1} and {user2}" : "{user1} ve {user2} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1}, {user2} and {user3}" : "{user1}, {user2} ve {user3} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1}, {user2}, {user3} and {user4}" : "{user1}, {user2}, {user3} ve {user4} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1}, {user2}, {user3}, {user4} and {user5}" : "{user1}, {user2}, {user3}, {user4} ve {user5} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
"_%n other_::_%n others_" : ["%n diฤŸer","%n diฤŸer"],
- "{actor} invited you to {call}" : "{actor} sizi {call} gรถrรผลŸmesine รงaฤŸฤฑrdฤฑ",
- "You were invited to a <strong>conversation</strong> or had a <strong>call</strong>" : "Bir <strong>gรถrรผลŸmeye รงaฤŸrฤฑldฤฑnฤฑz</strong> ya da bir <strong>รงaฤŸrฤฑnฤฑz</strong> var",
+ "{actor} invited you to {call}" : "{actor} sizi {call} iรงin รงaฤŸฤฑrdฤฑ",
+ "You were invited to a <strong>conversation</strong> or had a <strong>call</strong>" : "Bir <strong>รงaฤŸrฤฑya รงaฤŸrฤฑldฤฑnฤฑz</strong> ya da bir <strong>รงaฤŸrฤฑ</strong> aldฤฑnฤฑz",
"Other activities" : "DiฤŸer iลŸlemler",
"Talk" : "Talk",
"Guest" : "Konuk",
"Welcome to Nextcloud Talk!\nIn this conversation you will be informed about new features available in Nextcloud Talk." : "Nextcloud Talk uygulamasฤฑna hoลŸ geldiniz!\nBu gรถrรผลŸmede yeni Nextcloud Talk รถzellikleri hakkฤฑnda bilgilendirileceksiniz.",
"New in Talk %s" : "Talk %s uygulamasฤฑndaki yenilikler",
- "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Sesli ve gรถrรผntรผlรผ gรถrรผลŸmelere katฤฑlmak iรงin Microsoft Edge ve Safari kullanฤฑlabilir",
+ "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Sesli ve gรถrรผntรผlรผ รงaฤŸrฤฑlara katฤฑlmak iรงin Microsoft Edge ve Safari kullanฤฑlabilir",
"- One-to-one conversations are now persistent and cannot be turned into group conversations by accident anymore. Also when one of the participants leaves the conversation, the conversation is not automatically deleted anymore. Only if both participants leave, the conversation is deleted from the server" : "- Bire bir gรถrรผลŸmeler artฤฑk kalฤฑcฤฑ oldu ve bunlarฤฑn kazayla grup gรถrรผลŸmelerine dรถnรผลŸtรผrรผlmesi engellendi. Ayrฤฑca artฤฑk katฤฑlฤฑmcฤฑlardan biri gรถrรผลŸmeden ayrฤฑldฤฑฤŸฤฑnda, gรถrรผลŸme otomatik olarak silinmiyor. GรถrรผลŸme ancak her iki katฤฑlฤฑmcฤฑ da ayrฤฑlฤฑrsa sunucudan siliniyor.",
"- You can now notify all participants by posting \"@all\" into the chat" : "- Artฤฑk sohbet sฤฑrasฤฑnda \"@all\" yazarak tรผm katฤฑlฤฑmcฤฑlarฤฑ bilgilendirebilirsiniz",
"- With the \"arrow-up\" key you can repost your last message" : "- \"Yukarฤฑ ok\" tuลŸuyla son iletinizi รงaฤŸฤฑrabilirsiniz",
"- Talk can now have commands, send \"/help\" as a chat message to see if your administrator configured some" : "- Talk รผzerinde artฤฑk komutlar kullanฤฑlabilir, Yรถneticinizin yapฤฑlandฤฑrdฤฑฤŸฤฑ komutlar varsa \"/help\" yazฤฑp gรถndererek sohbet iletisi olarak gรถrebilirsiniz ",
"- With projects you can create quick links between conversations, files and other items" : "- Projeleri kullanarak gรถrรผลŸmeler, dosyalar ve diฤŸer รถgeler arasฤฑnda hฤฑzlฤฑ baฤŸlantฤฑlar oluลŸturabilirsiniz",
"- You can now mention guests in the chat" : "- Artฤฑk sohbetteki konuklarฤฑ anabilirsiniz",
- "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Artฤฑk gรถrรผลŸmelerin bir giriลŸi olabiliyor. Bรถylece kullanฤฑcฤฑlar ve konuklar beklerken sorumlular รถnceden sohbete katฤฑlฤฑp gerekli hazฤฑrlฤฑklarฤฑ yapabiliyor",
+ "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Artฤฑk gรถrรผลŸmelerin bir giriลŸi olabiliyor. Bรถylece kullanฤฑcฤฑlar ve konuklar beklerken sorumlular รถnceden sohbete ya da รงaฤŸrฤฑya katฤฑlฤฑp gerekli hazฤฑrlฤฑklarฤฑ yapabiliyor",
"- You can now directly reply to messages giving the other users more context what your message is about" : "- Artฤฑk diฤŸer kullanฤฑcฤฑlara iletinizin ne hakkฤฑnda olduฤŸu ile ilgili daha fazla bilgi vererek iletileri doฤŸrudan yanฤฑtlayabilirsiniz.",
"- Searching for conversations and participants will now also filter your existing conversations, making it much easier to find previous conversations" : "- Artฤฑk gรถrรผลŸme ve katฤฑlฤฑmcฤฑ aramalarฤฑnda var olan gรถrรผลŸmeleriniz de sรผzรผlรผr. Bรถylece yakฤฑn zamandaki gรถrรผลŸmeler daha kolay bulunabilir",
"- You can now add custom user groups to conversations when the circles app is installed" : "- ร‡evreler uygulamasฤฑ kurulduฤŸunda gรถrรผลŸmelere รถzel kullanฤฑcฤฑ gruplarฤฑ eklenebilir",
@@ -33,15 +33,15 @@ OC.L10N.register(
"- Shared files are now opened directly inside the chat view with the viewer apps" : "- PaylaลŸฤฑlan dosyalar artฤฑk doฤŸrudan sohbet gรถrรผnรผmรผnde gรถrรผntรผleyici uygulamalar ile aรงฤฑlabilir",
"- You can now search for chats and messages in the unified search in the top bar" : "- Artฤฑk sohbet ve iletileri รผst รงubuktaki birleลŸik aramayฤฑ kullanarak arayabilirsiniz",
"- Spice up your messages with emojis from the emoji picker" : "- ฤฐletilerinizi emoji seรงiciden ekleyeceฤŸiniz emojiler ile zenginleลŸtirin",
- "- You can now change your camera and microphone while being in a call" : "- Artฤฑk bir gรถrรผลŸme sรผrerken kamera ve mikrofonunuzu deฤŸiลŸtirebilirsiniz",
+ "- You can now change your camera and microphone while being in a call" : "- Artฤฑk bir รงaฤŸrฤฑ sรผrerken kamera ve mikrofonunuzu deฤŸiลŸtirebilirsiniz",
"- Give your conversations some context with a description and open it up so logged in users can find it and join themselves" : "- GรถrรผลŸmelerinize bir aรงฤฑklama ekleyerek kapsamฤฑnฤฑ belirleyip aรงabilirsiniz. Bรถylece oturum aรงmฤฑลŸ kullanฤฑcฤฑlar gรถrรผลŸmeyi bularak kendi kendilerine katฤฑlabilir",
"- See a read status and send failed messages again" : "- Okunma durumunu gรถrerek gรถnderilmeyen iletileri yeniden gรถnderebilirsiniz",
- "- Raise your hand in a call with the R key" : "- GรถrรผลŸmelerde R tuลŸuna basarak el kaldฤฑrabilirsiniz",
- "- Join the same conversation and call from multiple devices" : "- Aynฤฑ gรถrรผลŸmeye katฤฑlฤฑn ve รงeลŸitli aygฤฑtlardan arayฤฑn",
+ "- Raise your hand in a call with the R key" : "- ร‡aฤŸrฤฑlarda R tuลŸuna basarak el kaldฤฑrabilirsiniz",
+ "- Join the same conversation and call from multiple devices" : "- Aynฤฑ gรถrรผลŸmeye katฤฑlฤฑn ve รงeลŸitli aygฤฑtlardan รงaฤŸrฤฑ yapฤฑn",
"- Send voice messages, share your location or contact details" : "- Sesli iletiler gรถnderin, konumunuzu veya iletiลŸim bilgilerinizi paylaลŸฤฑn",
"- Add groups to a conversation and new group members will automatically be added as participants" : "- Bir gรถrรผลŸmeye gruplar ekleyin ve yeni grup รผyelerinin otomatik olarak katฤฑlmasฤฑnฤฑ saฤŸlayฤฑn",
- "- A preview of your audio and video is shown before joining a call" : "- Bir aramaya katฤฑlmadan รถnce sesinizin ve gรถrรผntรผnรผzรผn รถn izlemesi sunulur",
- "- You can now blur your background in the newly designed call view" : "- Artฤฑk yeni tasarlanmฤฑลŸ arama gรถrรผnรผmรผnde arka planฤฑnฤฑzฤฑ bulanฤฑklaลŸtฤฑrabilirsiniz",
+ "- A preview of your audio and video is shown before joining a call" : "- Bir รงaฤŸrฤฑya katฤฑlmadan รถnce sesinizin ve gรถrรผntรผnรผzรผn รถn izlemesi sunulur",
+ "- You can now blur your background in the newly designed call view" : "- Artฤฑk yeni tasarlanmฤฑลŸ รงaฤŸrฤฑ gรถrรผnรผmรผnde arka planฤฑnฤฑzฤฑ bulanฤฑklaลŸtฤฑrabilirsiniz",
"- Moderators can now assign general and individual permissions to participants" : "- Artฤฑk sorumlular katฤฑlฤฑmcฤฑlara genel ve kiลŸisel izinler atayabilir",
"- You can now react to chat message" : "- Artฤฑk sohbet iletilerine tepki verebilirsiniz",
"- In the sidebar you can now find an overview of the latest shared items" : "- Artฤฑk yan รงubukta son paylaลŸฤฑlan รถgelerin รถzetini gรถrebilirsiniz",
@@ -62,12 +62,12 @@ OC.L10N.register(
"{actor} removed the description" : "{actor} aรงฤฑklamayฤฑ kaldฤฑrdฤฑ",
"You removed the description" : "Aรงฤฑklamayฤฑ kaldฤฑrdฤฑnฤฑz",
"An administrator removed the description" : "Bir yรถnetici aรงฤฑklamayฤฑ kaldฤฑrdฤฑ",
- "{actor} started a call" : "{actor} bir gรถrรผลŸme baลŸlattฤฑ",
- "You started a call" : "Bir gรถrรผลŸme baลŸlattฤฑnฤฑz",
- "{actor} joined the call" : "{actor} gรถrรผลŸmeye katฤฑldฤฑ",
- "You joined the call" : "Bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
- "{actor} left the call" : "{actor} gรถrรผลŸmeden ayrฤฑldฤฑ",
- "You left the call" : "Bir gรถrรผลŸmeden ayrฤฑldฤฑnฤฑz",
+ "{actor} started a call" : "{actor} bir รงaฤŸrฤฑ baลŸlattฤฑ",
+ "You started a call" : "Bir รงaฤŸrฤฑ baลŸlattฤฑnฤฑz",
+ "{actor} joined the call" : "{actor} รงaฤŸrฤฑya katฤฑldฤฑ",
+ "You joined the call" : "Bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
+ "{actor} left the call" : "{actor} รงaฤŸrฤฑdan ayrฤฑldฤฑ",
+ "You left the call" : "Bir รงaฤŸrฤฑdan ayrฤฑldฤฑnฤฑz",
"{actor} unlocked the conversation" : "{actor} gรถrรผลŸmenin kilidini aรงtฤฑ",
"You unlocked the conversation" : "GรถrรผลŸmenin kilidini aรงtฤฑnฤฑz",
"An administrator unlocked the conversation" : "Bir yรถnetici gรถrรผลŸmenin kilidini aรงtฤฑ",
@@ -161,18 +161,18 @@ OC.L10N.register(
"Deleted user" : "Kullanฤฑcฤฑyฤฑ sildi ",
"%s (guest)" : "%s (konuk)",
"You missed a call from {user}" : "{user} kullanฤฑcฤฑsฤฑ sizi aramฤฑลŸ",
- "You tried to call {user}" : "{user} kullanฤฑcฤฑsฤฑnฤฑ aramayฤฑ denediniz",
- "_Call with %n guest (Duration {duration})_::_Call with %n guests (Duration {duration})_" : ["%n konuk ile gรถrรผลŸme (Sรผre {duration})","%n konuk ile gรถrรผลŸme (Sรผre {duration})"],
- "_{actor} ended the call with %n guest (Duration {duration})_::_{actor} ended the call with %n guests (Duration {duration})_" : ["{actor}, %n konukla gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})","{actor}, %n konukla gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})"],
- "Call with {user1} and {user2} (Duration {duration})" : "{user1} ve {user2} ile gรถrรผลŸme (Sรผre {duration})",
- "{actor} ended the call with {user1} (Duration {duration})" : "{actor}, {user1} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
- "{actor} ended the call with {user1} and {user2} (Duration {duration})" : "{actor}, {user1} ve {user2} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
- "Call with {user1}, {user2} and {user3} (Duration {duration})" : "{user1}, {user2} ve {user3} ile gรถrรผลŸme (Sรผre {duration})",
- "{actor} ended the call with {user1}, {user2} and {user3} (Duration {duration})" : "{actor}, {user1}, {user2} ve {user3} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
- "Call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "{user1}, {user2}, {user3} ve {user4} ile gรถrรผลŸme (Sรผre {duration})",
- "{actor} ended the call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "{actor}, {user1}, {user2}, {user3} ve {user4} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
- "Call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "{user1}, {user2}, {user3}, {user4} ve {user5} ile gรถrรผลŸme (Sรผre {duration})",
- "{actor} ended the call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "{actor}, {user1}, {user2}, {user3}, {user4} ve {user5} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "You tried to call {user}" : "{user} kullanฤฑcฤฑsฤฑnฤฑ รงaฤŸฤฑrmayฤฑ denediniz",
+ "_Call with %n guest (Duration {duration})_::_Call with %n guests (Duration {duration})_" : ["%n konuk ile รงaฤŸrฤฑ (Sรผre {duration})","%n konuk ile รงaฤŸrฤฑ (Sรผre {duration})"],
+ "_{actor} ended the call with %n guest (Duration {duration})_::_{actor} ended the call with %n guests (Duration {duration})_" : ["{actor}, %n konukla รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})","{actor}, %n konukla รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})"],
+ "Call with {user1} and {user2} (Duration {duration})" : "{user1} ve {user2} ile รงaฤŸrฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1} (Duration {duration})" : "{actor}, {user1} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1} and {user2} (Duration {duration})" : "{actor}, {user1} ve {user2} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "Call with {user1}, {user2} and {user3} (Duration {duration})" : "{user1}, {user2} ve {user3} ile รงaฤŸrฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1}, {user2} and {user3} (Duration {duration})" : "{actor}, {user1}, {user2} ve {user3} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "Call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "{user1}, {user2}, {user3} ve {user4} ile รงaฤŸrฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "{actor}, {user1}, {user2}, {user3} ve {user4} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "Call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "{user1}, {user2}, {user3}, {user4} ve {user5} ile รงaฤŸrฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "{actor}, {user1}, {user2}, {user3}, {user4} ve {user5} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
"Talk to %s" : "%s ile gรถrรผลŸรผn",
"File is not shared, or shared but not with the user" : "Dosya paylaลŸฤฑlmamฤฑลŸ ya da paylaลŸฤฑlmฤฑลŸ ancak kullanฤฑcฤฑ ile deฤŸil.",
"No account available to delete." : "Silinebilecek bir hesap yok.",
@@ -224,12 +224,12 @@ OC.L10N.register(
"A guest mentioned you in conversation {call}" : "Bir konuk {call} gรถrรผลŸmesinde sizi andฤฑ",
"View chat" : "Sohbeti gรถrรผntรผle",
"{user} invited you to a private conversation" : "{user} sizi รถzel bir gรถrรผลŸmeye รงaฤŸฤฑrdฤฑ",
- "Join call" : "GรถrรผลŸmeye katฤฑl",
+ "Join call" : "ร‡aฤŸrฤฑya katฤฑl",
"{user} invited you to a group conversation: {call}" : "{user} sizi bir grup gรถrรผลŸmesine รงaฤŸฤฑrdฤฑ: {call}",
"Answer call" : "ร‡aฤŸrฤฑyฤฑ yanฤฑtla",
"{user} would like to talk with you" : "{user} sizinle gรถrรผลŸmek istiyor",
"Call back" : "Geri ara",
- "A group call has started in {call}" : "{call} iรงinde bir grup gรถrรผลŸmesi baลŸlatฤฑldฤฑ",
+ "A group call has started in {call}" : "{call} iรงinde bir grup รงaฤŸrฤฑsฤฑ baลŸlatฤฑldฤฑ",
"You missed a group call in {call}" : "{call} grubu sizi aramฤฑลŸ",
"{email} is requesting the password to access {file}" : "{email}, {file} dosyasฤฑna eriลŸme parolasฤฑnฤฑ istiyor",
"{email} tried to request the password to access {file}" : "{email}, {file} dosyasฤฑna eriลŸme parolasฤฑnฤฑ istemeyi denedi",
@@ -524,10 +524,10 @@ OC.L10N.register(
"Conversation not found" : "GรถrรผลŸme bulunamadฤฑ",
"Path is already shared with this room" : "Bu yol bu gรถrรผลŸme ile zaten paylaลŸฤฑlmฤฑลŸ",
"Chat, video & audio-conferencing using WebRTC" : "WebRTC kullanarak yazฤฑlฤฑ, sesli ve gรถrรผntรผlรผ gรถrรผลŸmeler yapabilirsiniz",
- "Chat, video & audio-conferencing using WebRTC\n\n* ๐Ÿ’ฌ **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* ๐Ÿ‘ฅ **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* ๐Ÿ’ป **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* ๐Ÿš€ **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* โœ‹ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds" : "WebRTC รผzerinden yazฤฑlฤฑ, gรถrรผntรผtรผlรผ ve sesli gรถrรผลŸme yapฤฑlabilmesini saฤŸlar\n\n* ๐Ÿ’ฌ **GรถrรผลŸme bรผtรผnlรผฤŸรผ!** Nextcloud Talk uygulamasฤฑ basit metin ile yazฤฑลŸma desteฤŸi sunar. Nextcloud รผzerindeki dosyalarฤฑ paylaลŸabilir, diฤŸer katฤฑlฤฑmcฤฑlarฤฑ anabilirsiniz.\n* ๐Ÿ‘ฅ **ร–zel, grup, herkese aรงฤฑk ve parola korumalฤฑ gรถrรผลŸmeler!** GรถrรผลŸmek istediฤŸiniz bir kiลŸiyi ya da bir grubun tamamฤฑnฤฑ รงaฤŸฤฑrabilir, gรถrรผลŸme รงaฤŸrฤฑsฤฑ iรงin herkese aรงฤฑk bir baฤŸlantฤฑ kullanabilirsiniz.\n* ๐Ÿ’ป **Ekran paylaลŸฤฑmฤฑ!** GรถrรผลŸme katฤฑlฤฑmcฤฑlarฤฑ ile ekranฤฑnฤฑzฤฑ paylaลŸabilirsiniz. Firefox 66 (ya da รผzeri), Edge son sรผrรผmรผ ya da Chrome 72 (ya da รผzeri ve ayrฤฑca [bu Chrome eklentisi ile](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol) Chrome 49) bir tarayฤฑcฤฑ sรผrรผmรผ kullanmanฤฑz yeterlidir.\n* ๐Ÿš€ **DiฤŸer Nextcloud uygulamalarฤฑ ile bรผtรผnlรผk** ลžu anda Files, Contacts ve Deck. Gerisi gelecek.\n\n[Gelecek sรผrรผmler](https://github.com/nextcloud/spreed/milestones/) รผzerinde รงalฤฑลŸฤฑyoruz:\n* โœ‹ [BirleลŸik gรถrรผลŸmeler](https://github.com/nextcloud/spreed/issues/21), ile baลŸka Nextcloud kopyalarฤฑ kullanan kiลŸiler ile gรถrรผลŸebilirsiniz",
- "Navigating away from the page will leave the call in {conversation}" : "Sayfadan ayrฤฑlฤฑrsanฤฑz {conversation} gรถrรผลŸmesinden รงฤฑkacaksฤฑnฤฑz",
- "Leave call" : "GรถrรผลŸmeden ayrฤฑl",
- "Stay in call" : "GรถrรผลŸmede kal",
+ "Chat, video & audio-conferencing using WebRTC\n\n* ๐Ÿ’ฌ **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* ๐Ÿ‘ฅ **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* ๐Ÿ’ป **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* ๐Ÿš€ **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* โœ‹ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds" : "WebRTC รผzerinden yazฤฑlฤฑ, gรถrรผntรผtรผlรผ ve sesli gรถrรผลŸme yapฤฑlabilmesini saฤŸlar\n\n* ๐Ÿ’ฌ **GรถrรผลŸme bรผtรผnlรผฤŸรผ!** Nextcloud Talk uygulamasฤฑ basit metin ile yazฤฑลŸma desteฤŸi sunar. Nextcloud รผzerindeki dosyalarฤฑ paylaลŸabilir, diฤŸer katฤฑlฤฑmcฤฑlarฤฑ anabilirsiniz.\n* ๐Ÿ‘ฅ **ร–zel, grup, herkese aรงฤฑk ve parola korumalฤฑ รงaฤŸrฤฑlar!** GรถrรผลŸmek istediฤŸiniz bir kiลŸiyi ya da bir grubun tamamฤฑnฤฑ รงaฤŸฤฑrabilir, gรถrรผลŸme รงaฤŸrฤฑsฤฑ iรงin herkese aรงฤฑk bir baฤŸlantฤฑ kullanabilirsiniz.\n* ๐Ÿ’ป **Ekran paylaลŸฤฑmฤฑ!** ร‡aฤŸrฤฑ katฤฑlฤฑmcฤฑlarฤฑ ile ekranฤฑnฤฑzฤฑ paylaลŸabilirsiniz. Firefox 66 (ya da รผzeri), Edge son sรผrรผmรผ ya da Chrome 72 (ya da รผzeri ve ayrฤฑca [bu Chrome eklentisi ile](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol) Chrome 49) bir tarayฤฑcฤฑ sรผrรผmรผ kullanmanฤฑz yeterlidir.\n* ๐Ÿš€ **DiฤŸer Nextcloud uygulamalarฤฑ ile bรผtรผnlรผk** ลžu anda Files, Contacts ve Deck. Gerisi gelecek.\n\n[Gelecek sรผrรผmler](https://github.com/nextcloud/spreed/milestones/) รผzerinde รงalฤฑลŸฤฑyoruz:\n* โœ‹ [BirleลŸik รงaฤŸrฤฑlar](https://github.com/nextcloud/spreed/issues/21), ile baลŸka Nextcloud kopyalarฤฑ kullanan kiลŸileri รงaฤŸฤฑrabilirsiniz",
+ "Navigating away from the page will leave the call in {conversation}" : "Sayfadan ayrฤฑlฤฑrsanฤฑz {conversation} รงaฤŸrฤฑsฤฑndan รงฤฑkacaksฤฑnฤฑz",
+ "Leave call" : "ร‡aฤŸrฤฑdan ayrฤฑl",
+ "Stay in call" : "ร‡aฤŸrฤฑda kal",
"Duplicate session" : "ร‡ift oturum",
"Discuss this file" : "Bu dosya hakkฤฑnda gรถrรผลŸ",
"Share this file with others to discuss it" : "Bu dosyayฤฑ, hakkฤฑnda gรถrรผลŸmek iรงin baลŸkalarฤฑ ile paylaลŸ",
@@ -543,8 +543,8 @@ OC.L10N.register(
"Limit using Talk" : "Talk uygulamasฤฑnฤฑn kullanฤฑmฤฑ sฤฑnฤฑrlansฤฑn",
"Limit creating a public and group conversation" : "Herkese aรงฤฑk ve grup gรถrรผลŸmesi oluลŸturma sฤฑnฤฑrlansฤฑn",
"Limit creating conversations" : "GรถrรผลŸme oluลŸturmayฤฑ sฤฑnฤฑrla",
- "Limit starting a call" : "Bir gรถrรผลŸme baลŸlatmayฤฑ sฤฑnฤฑrla",
- "Limit starting calls" : "GรถrรผลŸmeleri baลŸlatmayฤฑ sฤฑnฤฑrla",
+ "Limit starting a call" : "Bir รงaฤŸrฤฑ baลŸlatmayฤฑ sฤฑnฤฑrla",
+ "Limit starting calls" : "ร‡aฤŸrฤฑlarฤฑ baลŸlatmayฤฑ sฤฑnฤฑrla",
"When a call has started, everyone with access to the conversation can join the call." : "Bir รงaฤŸrฤฑ yapฤฑldฤฑฤŸฤฑnda, gรถrรผลŸmeye eriลŸimi olan herkes รงaฤŸrฤฑya katฤฑlabilir.",
"Everyone" : "Herkes",
"Users and moderators" : "Kullanฤฑcฤฑlar ve sorumlular",
@@ -635,9 +635,9 @@ OC.L10N.register(
"Saved" : "Kaydedildi",
"Add a new server" : "Yeni sunucu ekle",
"An external signaling server should optionally be used for larger installations. Leave empty to use the internal signaling server." : "Bรผyรผk kurulumlar iรงin isteฤŸe gรถre bir dฤฑลŸ signaling sunucusu kullanฤฑlmalฤฑdฤฑr. ฤฐรง signaling sunucusunu kullanmak iรงin boลŸ bฤฑrakฤฑn.",
- "Please note that calls with more than 4 participants without external signaling server, participants can experience connectivity issues and cause high load on participating devices." : "Bir dฤฑลŸ signaling sunucusu olmadan 4 kiลŸiden fazlasฤฑ ile yapฤฑlan gรถrรผลŸmelerde baฤŸlantฤฑ sorunlarฤฑ yaลŸanabileceฤŸini ve baฤŸlanan aygฤฑtlarda aลŸฤฑrฤฑ iลŸlem yรผkรผ oluลŸabileceฤŸini unutmayฤฑn.",
+ "Please note that calls with more than 4 participants without external signaling server, participants can experience connectivity issues and cause high load on participating devices." : "Bir dฤฑลŸ signaling sunucusu olmadan 4 kiลŸiden fazlasฤฑ ile yapฤฑlan รงaฤŸrฤฑlarda baฤŸlantฤฑ sorunlarฤฑ yaลŸanabileceฤŸini ve baฤŸlanan aygฤฑtlarda aลŸฤฑrฤฑ iลŸlem yรผkรผ oluลŸabileceฤŸini unutmayฤฑn.",
"It is highly recommended to set up a distributed cache when using Nextcloud Talk together with a High Performance Back-end." : "Nextcloud Talk uygulamasฤฑ ile yรผksek baลŸarฤฑmlฤฑ bir arka plan kullanฤฑyorsanฤฑz daฤŸฤฑtฤฑlmฤฑลŸ รถn bellek kullanmanฤฑz รถnemle รถnerilir.",
- "Don't warn about connectivity issues in calls with more than 4 participants" : "4 kiลŸiden fazla katฤฑlฤฑmcฤฑsฤฑ olan gรถrรผลŸmelerde baฤŸlantฤฑ sorunlarฤฑ uyarฤฑsฤฑ gรถrรผntรผlenmesin",
+ "Don't warn about connectivity issues in calls with more than 4 participants" : "4 kiลŸiden fazla katฤฑlฤฑmcฤฑsฤฑ olan รงaฤŸrฤฑlarda baฤŸlantฤฑ sorunlarฤฑ uyarฤฑsฤฑ gรถrรผntรผlenmesin",
"STUN server URL" : "STUN sunucusunun adresi",
"STUN servers" : "STUN sunucularฤฑ",
"A STUN server is used to determine the public IP address of participants behind a router." : "STUN sunucusu bir yรถnelticinin arkasฤฑndaki katฤฑlฤฑmcฤฑnฤฑn herkese aรงฤฑk adresinin belirlenmesinde kullanฤฑlฤฑr.",
@@ -670,7 +670,7 @@ OC.L10N.register(
"Expand stripe" : "ลžeridi geniลŸlet",
"Copy link" : "BaฤŸlantฤฑyฤฑ kopyala",
"Connecting โ€ฆ" : "BaฤŸlantฤฑ kuruluyor โ€ฆ",
- "Waiting for others to join the call โ€ฆ" : "DiฤŸerlerinin gรถrรผลŸmeye katฤฑlmasฤฑ bekleniyor โ€ฆ",
+ "Waiting for others to join the call โ€ฆ" : "DiฤŸerlerinin รงaฤŸrฤฑya katฤฑlmasฤฑ bekleniyor โ€ฆ",
"You can invite others in the participant tab of the sidebar" : "DiฤŸer kiลŸileri yan รงubuktaki katฤฑlฤฑmcฤฑ sekmesinden รงaฤŸฤฑrabilirsiniz",
"You can invite others in the participant tab of the sidebar or share this link to invite others!" : "DiฤŸer kiลŸileri yan รงubuktaki katฤฑlฤฑmcฤฑ sekmesinden ya da bu baฤŸlantฤฑyฤฑ paylaลŸarak รงaฤŸฤฑrabilirsiniz!",
"Share this link to invite others!" : "DiฤŸer kiลŸileri รงaฤŸฤฑrmak iรงin bu baฤŸlantฤฑyฤฑ paylaลŸฤฑn!",
@@ -991,7 +991,7 @@ OC.L10N.register(
"No permission to post messages in this conversation" : "Bu gรถrรผลŸmeye ileti gรถnderme izniniz yok",
"Write message, @ to mention someone โ€ฆ" : "ฤฐleti yazฤฑn, @ ile baลŸkalarฤฑnฤฑ anabilirsiniz โ€ฆ",
"Invalid path selected" : "Seรงilen yol geรงersiz",
- "Start a call" : "Bir gรถrรผลŸme baลŸlat",
+ "Start a call" : "Bir รงaฤŸrฤฑ baลŸlat",
"Skip the lobby" : "GiriลŸi atla",
"Can post messages and reactions" : "ฤฐleti ve tepki gรถnderebilir",
"Enable the microphone" : "Mikrofonu aรง",
@@ -1035,6 +1035,7 @@ OC.L10N.register(
"Add groups" : "Grup ekle",
"Add emails" : "E-posta adreslerini ekle",
"Add circles" : "ร‡evre ekle",
+ "Integrations" : "BรผtรผnleลŸtirmeler",
"Add federated users" : "BirleลŸtirilmiลŸ kullanฤฑcฤฑlar ekle",
"Searching โ€ฆ" : "Aranฤฑyor โ€ฆ",
"No results" : "Herhangi bir sonuรง bulunamadฤฑ",
@@ -1067,16 +1068,16 @@ OC.L10N.register(
"Privacy" : "Gizlilik",
"Share my read-status and show the read-status of others" : "Okundu durumumu paylaลŸ ve diฤŸerlerinin okundu durumunu gรถrรผntรผle",
"Sounds" : "Sesler",
- "Play sounds when participants join or leave a call" : "Katฤฑlฤฑmcฤฑlar gรถrรผลŸmeye girdiฤŸinde ya da รงฤฑktฤฑฤŸฤฑnda ses รงalฤฑnsฤฑn",
+ "Play sounds when participants join or leave a call" : "Katฤฑlฤฑmcฤฑlar รงaฤŸrฤฑya katฤฑldฤฑฤŸฤฑnda ya da ayrฤฑldฤฑฤŸฤฑnda ses รงalฤฑnsฤฑn",
"Sounds can currently not be played in Safari browser and iPad and iPhone devices due to technical restrictions by the manufacturer." : "รœreticinin sฤฑnฤฑrlamalarฤฑ nedeniyle, sesler ลŸu anda Safari web tarayฤฑcฤฑsฤฑ, iPad ve iPhone aygฤฑtlarฤฑnda รงalฤฑnamฤฑyor. ",
"Sounds for chat and call notifications can be adjusted in the personal settings." : "Sohbet ve รงaฤŸrฤฑ bildirimlerinin kiลŸisel ayarlar bรถlรผmรผnden belirlenebilen sesleri.",
"Keyboard shortcuts" : "Kฤฑsayol tuลŸlarฤฑ",
"Speed up your Talk experience with these quick shortcuts." : "ลžu kฤฑsayol tuลŸlarฤฑnฤฑ kullanarak Talk deneyiminizi hฤฑzlandฤฑrabilirsiniz.",
"Focus the chat input" : "Sohbet giriลŸine odaklan",
"Unfocus the chat input to use shortcuts" : "Kฤฑsayol tuลŸlarฤฑnฤฑ kullanmak iรงin odaฤŸฤฑ sohbet giriลŸinden al",
- "Fullscreen the chat or call" : "Sohbet ya da gรถrรผลŸmeyi tam ekrana bรผyรผt",
+ "Fullscreen the chat or call" : "Sohbet ya da รงaฤŸrฤฑyฤฑ tam ekrana bรผyรผt",
"Search" : "Arama",
- "Shortcuts while in a call" : "GรถrรผลŸme sฤฑrasฤฑnda kullanฤฑlabilecek kฤฑsayol tuลŸlarฤฑ",
+ "Shortcuts while in a call" : "ร‡aฤŸrฤฑ sฤฑrasฤฑnda kullanฤฑlabilecek kฤฑsayol tuลŸlarฤฑ",
"Camera on and off" : "Kamerayฤฑ aรงma ve kapatma",
"Microphone on and off" : "Mikrofonu aรงma ve kapatma",
"Space bar" : "BoลŸluk tuลŸu",
@@ -1091,9 +1092,9 @@ OC.L10N.register(
"Sounds setting saved" : "Ses ayarlarฤฑ kaydedildi",
"Error while saving sounds setting" : "Ses ayarlarฤฑ kaydedilirken sorun รงฤฑktฤฑ",
"End meeting for all" : "Toplantฤฑyฤฑ herkes iรงin sonlandฤฑr",
- "Start call" : "GรถrรผลŸmeyi baลŸlat",
- "Nextcloud Talk was updated, you need to reload the page before you can start or join a call." : "Nextcloud Talk gรผncellenmiลŸ. Bir gรถrรผลŸmeye baลŸlamadan รถnce sayfayฤฑ yeniden yรผklemelisiniz.",
- "You will be able to join the call only after a moderator starts it." : "GรถrรผลŸmeye ancak bir sorumlu gรถrรผลŸmeyi baลŸlattฤฑktan sonra katฤฑlabilirsiniz.",
+ "Start call" : "ร‡aฤŸrฤฑyฤฑ baลŸlat",
+ "Nextcloud Talk was updated, you need to reload the page before you can start or join a call." : "Nextcloud Talk gรผncellenmiลŸ. Bir รงaฤŸrฤฑya baลŸlamadan รถnce sayfayฤฑ yeniden yรผklemelisiniz.",
+ "You will be able to join the call only after a moderator starts it." : "ร‡aฤŸrฤฑya ancak bir sorumlu รงaฤŸrฤฑyฤฑ baลŸlattฤฑktan sonra katฤฑlabilirsiniz.",
"Conversation actions" : "GรถrรผลŸme iลŸlemleri",
"Toggle fullscreen" : "Tam ekranฤฑ aรง/kapat",
"Rename conversation" : "GรถrรผลŸmeyi yeniden adlandฤฑr",
diff --git a/l10n/tr.json b/l10n/tr.json
index 9e75a697d..e76aa6ad5 100644
--- a/l10n/tr.json
+++ b/l10n/tr.json
@@ -1,28 +1,28 @@
{ "translations": {
"a conversation" : "bir gรถrรผลŸme",
"(Duration %s)" : "(Sรผre %s)",
- "You attended a call with {user1}" : "{user1} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1}" : "{user1} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
"_%n guest_::_%n guests_" : ["%n konuk","%n konuk"],
- "You attended a call with {user1} and {user2}" : "{user1} ve {user2} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
- "You attended a call with {user1}, {user2} and {user3}" : "{user1}, {user2} ve {user3} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
- "You attended a call with {user1}, {user2}, {user3} and {user4}" : "{user1}, {user2}, {user3} ve {user4} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
- "You attended a call with {user1}, {user2}, {user3}, {user4} and {user5}" : "{user1}, {user2}, {user3}, {user4} ve {user5} ile bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1} and {user2}" : "{user1} ve {user2} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1}, {user2} and {user3}" : "{user1}, {user2} ve {user3} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1}, {user2}, {user3} and {user4}" : "{user1}, {user2}, {user3} ve {user4} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
+ "You attended a call with {user1}, {user2}, {user3}, {user4} and {user5}" : "{user1}, {user2}, {user3}, {user4} ve {user5} ile bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
"_%n other_::_%n others_" : ["%n diฤŸer","%n diฤŸer"],
- "{actor} invited you to {call}" : "{actor} sizi {call} gรถrรผลŸmesine รงaฤŸฤฑrdฤฑ",
- "You were invited to a <strong>conversation</strong> or had a <strong>call</strong>" : "Bir <strong>gรถrรผลŸmeye รงaฤŸrฤฑldฤฑnฤฑz</strong> ya da bir <strong>รงaฤŸrฤฑnฤฑz</strong> var",
+ "{actor} invited you to {call}" : "{actor} sizi {call} iรงin รงaฤŸฤฑrdฤฑ",
+ "You were invited to a <strong>conversation</strong> or had a <strong>call</strong>" : "Bir <strong>รงaฤŸrฤฑya รงaฤŸrฤฑldฤฑnฤฑz</strong> ya da bir <strong>รงaฤŸrฤฑ</strong> aldฤฑnฤฑz",
"Other activities" : "DiฤŸer iลŸlemler",
"Talk" : "Talk",
"Guest" : "Konuk",
"Welcome to Nextcloud Talk!\nIn this conversation you will be informed about new features available in Nextcloud Talk." : "Nextcloud Talk uygulamasฤฑna hoลŸ geldiniz!\nBu gรถrรผลŸmede yeni Nextcloud Talk รถzellikleri hakkฤฑnda bilgilendirileceksiniz.",
"New in Talk %s" : "Talk %s uygulamasฤฑndaki yenilikler",
- "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Sesli ve gรถrรผntรผlรผ gรถrรผลŸmelere katฤฑlmak iรงin Microsoft Edge ve Safari kullanฤฑlabilir",
+ "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Sesli ve gรถrรผntรผlรผ รงaฤŸrฤฑlara katฤฑlmak iรงin Microsoft Edge ve Safari kullanฤฑlabilir",
"- One-to-one conversations are now persistent and cannot be turned into group conversations by accident anymore. Also when one of the participants leaves the conversation, the conversation is not automatically deleted anymore. Only if both participants leave, the conversation is deleted from the server" : "- Bire bir gรถrรผลŸmeler artฤฑk kalฤฑcฤฑ oldu ve bunlarฤฑn kazayla grup gรถrรผลŸmelerine dรถnรผลŸtรผrรผlmesi engellendi. Ayrฤฑca artฤฑk katฤฑlฤฑmcฤฑlardan biri gรถrรผลŸmeden ayrฤฑldฤฑฤŸฤฑnda, gรถrรผลŸme otomatik olarak silinmiyor. GรถrรผลŸme ancak her iki katฤฑlฤฑmcฤฑ da ayrฤฑlฤฑrsa sunucudan siliniyor.",
"- You can now notify all participants by posting \"@all\" into the chat" : "- Artฤฑk sohbet sฤฑrasฤฑnda \"@all\" yazarak tรผm katฤฑlฤฑmcฤฑlarฤฑ bilgilendirebilirsiniz",
"- With the \"arrow-up\" key you can repost your last message" : "- \"Yukarฤฑ ok\" tuลŸuyla son iletinizi รงaฤŸฤฑrabilirsiniz",
"- Talk can now have commands, send \"/help\" as a chat message to see if your administrator configured some" : "- Talk รผzerinde artฤฑk komutlar kullanฤฑlabilir, Yรถneticinizin yapฤฑlandฤฑrdฤฑฤŸฤฑ komutlar varsa \"/help\" yazฤฑp gรถndererek sohbet iletisi olarak gรถrebilirsiniz ",
"- With projects you can create quick links between conversations, files and other items" : "- Projeleri kullanarak gรถrรผลŸmeler, dosyalar ve diฤŸer รถgeler arasฤฑnda hฤฑzlฤฑ baฤŸlantฤฑlar oluลŸturabilirsiniz",
"- You can now mention guests in the chat" : "- Artฤฑk sohbetteki konuklarฤฑ anabilirsiniz",
- "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Artฤฑk gรถrรผลŸmelerin bir giriลŸi olabiliyor. Bรถylece kullanฤฑcฤฑlar ve konuklar beklerken sorumlular รถnceden sohbete katฤฑlฤฑp gerekli hazฤฑrlฤฑklarฤฑ yapabiliyor",
+ "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Artฤฑk gรถrรผลŸmelerin bir giriลŸi olabiliyor. Bรถylece kullanฤฑcฤฑlar ve konuklar beklerken sorumlular รถnceden sohbete ya da รงaฤŸrฤฑya katฤฑlฤฑp gerekli hazฤฑrlฤฑklarฤฑ yapabiliyor",
"- You can now directly reply to messages giving the other users more context what your message is about" : "- Artฤฑk diฤŸer kullanฤฑcฤฑlara iletinizin ne hakkฤฑnda olduฤŸu ile ilgili daha fazla bilgi vererek iletileri doฤŸrudan yanฤฑtlayabilirsiniz.",
"- Searching for conversations and participants will now also filter your existing conversations, making it much easier to find previous conversations" : "- Artฤฑk gรถrรผลŸme ve katฤฑlฤฑmcฤฑ aramalarฤฑnda var olan gรถrรผลŸmeleriniz de sรผzรผlรผr. Bรถylece yakฤฑn zamandaki gรถrรผลŸmeler daha kolay bulunabilir",
"- You can now add custom user groups to conversations when the circles app is installed" : "- ร‡evreler uygulamasฤฑ kurulduฤŸunda gรถrรผลŸmelere รถzel kullanฤฑcฤฑ gruplarฤฑ eklenebilir",
@@ -31,15 +31,15 @@
"- Shared files are now opened directly inside the chat view with the viewer apps" : "- PaylaลŸฤฑlan dosyalar artฤฑk doฤŸrudan sohbet gรถrรผnรผmรผnde gรถrรผntรผleyici uygulamalar ile aรงฤฑlabilir",
"- You can now search for chats and messages in the unified search in the top bar" : "- Artฤฑk sohbet ve iletileri รผst รงubuktaki birleลŸik aramayฤฑ kullanarak arayabilirsiniz",
"- Spice up your messages with emojis from the emoji picker" : "- ฤฐletilerinizi emoji seรงiciden ekleyeceฤŸiniz emojiler ile zenginleลŸtirin",
- "- You can now change your camera and microphone while being in a call" : "- Artฤฑk bir gรถrรผลŸme sรผrerken kamera ve mikrofonunuzu deฤŸiลŸtirebilirsiniz",
+ "- You can now change your camera and microphone while being in a call" : "- Artฤฑk bir รงaฤŸrฤฑ sรผrerken kamera ve mikrofonunuzu deฤŸiลŸtirebilirsiniz",
"- Give your conversations some context with a description and open it up so logged in users can find it and join themselves" : "- GรถrรผลŸmelerinize bir aรงฤฑklama ekleyerek kapsamฤฑnฤฑ belirleyip aรงabilirsiniz. Bรถylece oturum aรงmฤฑลŸ kullanฤฑcฤฑlar gรถrรผลŸmeyi bularak kendi kendilerine katฤฑlabilir",
"- See a read status and send failed messages again" : "- Okunma durumunu gรถrerek gรถnderilmeyen iletileri yeniden gรถnderebilirsiniz",
- "- Raise your hand in a call with the R key" : "- GรถrรผลŸmelerde R tuลŸuna basarak el kaldฤฑrabilirsiniz",
- "- Join the same conversation and call from multiple devices" : "- Aynฤฑ gรถrรผลŸmeye katฤฑlฤฑn ve รงeลŸitli aygฤฑtlardan arayฤฑn",
+ "- Raise your hand in a call with the R key" : "- ร‡aฤŸrฤฑlarda R tuลŸuna basarak el kaldฤฑrabilirsiniz",
+ "- Join the same conversation and call from multiple devices" : "- Aynฤฑ gรถrรผลŸmeye katฤฑlฤฑn ve รงeลŸitli aygฤฑtlardan รงaฤŸrฤฑ yapฤฑn",
"- Send voice messages, share your location or contact details" : "- Sesli iletiler gรถnderin, konumunuzu veya iletiลŸim bilgilerinizi paylaลŸฤฑn",
"- Add groups to a conversation and new group members will automatically be added as participants" : "- Bir gรถrรผลŸmeye gruplar ekleyin ve yeni grup รผyelerinin otomatik olarak katฤฑlmasฤฑnฤฑ saฤŸlayฤฑn",
- "- A preview of your audio and video is shown before joining a call" : "- Bir aramaya katฤฑlmadan รถnce sesinizin ve gรถrรผntรผnรผzรผn รถn izlemesi sunulur",
- "- You can now blur your background in the newly designed call view" : "- Artฤฑk yeni tasarlanmฤฑลŸ arama gรถrรผnรผmรผnde arka planฤฑnฤฑzฤฑ bulanฤฑklaลŸtฤฑrabilirsiniz",
+ "- A preview of your audio and video is shown before joining a call" : "- Bir รงaฤŸrฤฑya katฤฑlmadan รถnce sesinizin ve gรถrรผntรผnรผzรผn รถn izlemesi sunulur",
+ "- You can now blur your background in the newly designed call view" : "- Artฤฑk yeni tasarlanmฤฑลŸ รงaฤŸrฤฑ gรถrรผnรผmรผnde arka planฤฑnฤฑzฤฑ bulanฤฑklaลŸtฤฑrabilirsiniz",
"- Moderators can now assign general and individual permissions to participants" : "- Artฤฑk sorumlular katฤฑlฤฑmcฤฑlara genel ve kiลŸisel izinler atayabilir",
"- You can now react to chat message" : "- Artฤฑk sohbet iletilerine tepki verebilirsiniz",
"- In the sidebar you can now find an overview of the latest shared items" : "- Artฤฑk yan รงubukta son paylaลŸฤฑlan รถgelerin รถzetini gรถrebilirsiniz",
@@ -60,12 +60,12 @@
"{actor} removed the description" : "{actor} aรงฤฑklamayฤฑ kaldฤฑrdฤฑ",
"You removed the description" : "Aรงฤฑklamayฤฑ kaldฤฑrdฤฑnฤฑz",
"An administrator removed the description" : "Bir yรถnetici aรงฤฑklamayฤฑ kaldฤฑrdฤฑ",
- "{actor} started a call" : "{actor} bir gรถrรผลŸme baลŸlattฤฑ",
- "You started a call" : "Bir gรถrรผลŸme baลŸlattฤฑnฤฑz",
- "{actor} joined the call" : "{actor} gรถrรผลŸmeye katฤฑldฤฑ",
- "You joined the call" : "Bir gรถrรผลŸmeye katฤฑldฤฑnฤฑz",
- "{actor} left the call" : "{actor} gรถrรผลŸmeden ayrฤฑldฤฑ",
- "You left the call" : "Bir gรถrรผลŸmeden ayrฤฑldฤฑnฤฑz",
+ "{actor} started a call" : "{actor} bir รงaฤŸrฤฑ baลŸlattฤฑ",
+ "You started a call" : "Bir รงaฤŸrฤฑ baลŸlattฤฑnฤฑz",
+ "{actor} joined the call" : "{actor} รงaฤŸrฤฑya katฤฑldฤฑ",
+ "You joined the call" : "Bir รงaฤŸrฤฑya katฤฑldฤฑnฤฑz",
+ "{actor} left the call" : "{actor} รงaฤŸrฤฑdan ayrฤฑldฤฑ",
+ "You left the call" : "Bir รงaฤŸrฤฑdan ayrฤฑldฤฑnฤฑz",
"{actor} unlocked the conversation" : "{actor} gรถrรผลŸmenin kilidini aรงtฤฑ",
"You unlocked the conversation" : "GรถrรผลŸmenin kilidini aรงtฤฑnฤฑz",
"An administrator unlocked the conversation" : "Bir yรถnetici gรถrรผลŸmenin kilidini aรงtฤฑ",
@@ -159,18 +159,18 @@
"Deleted user" : "Kullanฤฑcฤฑyฤฑ sildi ",
"%s (guest)" : "%s (konuk)",
"You missed a call from {user}" : "{user} kullanฤฑcฤฑsฤฑ sizi aramฤฑลŸ",
- "You tried to call {user}" : "{user} kullanฤฑcฤฑsฤฑnฤฑ aramayฤฑ denediniz",
- "_Call with %n guest (Duration {duration})_::_Call with %n guests (Duration {duration})_" : ["%n konuk ile gรถrรผลŸme (Sรผre {duration})","%n konuk ile gรถrรผลŸme (Sรผre {duration})"],
- "_{actor} ended the call with %n guest (Duration {duration})_::_{actor} ended the call with %n guests (Duration {duration})_" : ["{actor}, %n konukla gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})","{actor}, %n konukla gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})"],
- "Call with {user1} and {user2} (Duration {duration})" : "{user1} ve {user2} ile gรถrรผลŸme (Sรผre {duration})",
- "{actor} ended the call with {user1} (Duration {duration})" : "{actor}, {user1} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
- "{actor} ended the call with {user1} and {user2} (Duration {duration})" : "{actor}, {user1} ve {user2} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
- "Call with {user1}, {user2} and {user3} (Duration {duration})" : "{user1}, {user2} ve {user3} ile gรถrรผลŸme (Sรผre {duration})",
- "{actor} ended the call with {user1}, {user2} and {user3} (Duration {duration})" : "{actor}, {user1}, {user2} ve {user3} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
- "Call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "{user1}, {user2}, {user3} ve {user4} ile gรถrรผลŸme (Sรผre {duration})",
- "{actor} ended the call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "{actor}, {user1}, {user2}, {user3} ve {user4} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
- "Call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "{user1}, {user2}, {user3}, {user4} ve {user5} ile gรถrรผลŸme (Sรผre {duration})",
- "{actor} ended the call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "{actor}, {user1}, {user2}, {user3}, {user4} ve {user5} ile gรถrรผลŸmeyi sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "You tried to call {user}" : "{user} kullanฤฑcฤฑsฤฑnฤฑ รงaฤŸฤฑrmayฤฑ denediniz",
+ "_Call with %n guest (Duration {duration})_::_Call with %n guests (Duration {duration})_" : ["%n konuk ile รงaฤŸrฤฑ (Sรผre {duration})","%n konuk ile รงaฤŸrฤฑ (Sรผre {duration})"],
+ "_{actor} ended the call with %n guest (Duration {duration})_::_{actor} ended the call with %n guests (Duration {duration})_" : ["{actor}, %n konukla รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})","{actor}, %n konukla รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})"],
+ "Call with {user1} and {user2} (Duration {duration})" : "{user1} ve {user2} ile รงaฤŸrฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1} (Duration {duration})" : "{actor}, {user1} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1} and {user2} (Duration {duration})" : "{actor}, {user1} ve {user2} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "Call with {user1}, {user2} and {user3} (Duration {duration})" : "{user1}, {user2} ve {user3} ile รงaฤŸrฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1}, {user2} and {user3} (Duration {duration})" : "{actor}, {user1}, {user2} ve {user3} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "Call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "{user1}, {user2}, {user3} ve {user4} ile รงaฤŸrฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "{actor}, {user1}, {user2}, {user3} ve {user4} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
+ "Call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "{user1}, {user2}, {user3}, {user4} ve {user5} ile รงaฤŸrฤฑ (Sรผre {duration})",
+ "{actor} ended the call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "{actor}, {user1}, {user2}, {user3}, {user4} ve {user5} ile รงaฤŸrฤฑyฤฑ sonlandฤฑrdฤฑ (Sรผre {duration})",
"Talk to %s" : "%s ile gรถrรผลŸรผn",
"File is not shared, or shared but not with the user" : "Dosya paylaลŸฤฑlmamฤฑลŸ ya da paylaลŸฤฑlmฤฑลŸ ancak kullanฤฑcฤฑ ile deฤŸil.",
"No account available to delete." : "Silinebilecek bir hesap yok.",
@@ -222,12 +222,12 @@
"A guest mentioned you in conversation {call}" : "Bir konuk {call} gรถrรผลŸmesinde sizi andฤฑ",
"View chat" : "Sohbeti gรถrรผntรผle",
"{user} invited you to a private conversation" : "{user} sizi รถzel bir gรถrรผลŸmeye รงaฤŸฤฑrdฤฑ",
- "Join call" : "GรถrรผลŸmeye katฤฑl",
+ "Join call" : "ร‡aฤŸrฤฑya katฤฑl",
"{user} invited you to a group conversation: {call}" : "{user} sizi bir grup gรถrรผลŸmesine รงaฤŸฤฑrdฤฑ: {call}",
"Answer call" : "ร‡aฤŸrฤฑyฤฑ yanฤฑtla",
"{user} would like to talk with you" : "{user} sizinle gรถrรผลŸmek istiyor",
"Call back" : "Geri ara",
- "A group call has started in {call}" : "{call} iรงinde bir grup gรถrรผลŸmesi baลŸlatฤฑldฤฑ",
+ "A group call has started in {call}" : "{call} iรงinde bir grup รงaฤŸrฤฑsฤฑ baลŸlatฤฑldฤฑ",
"You missed a group call in {call}" : "{call} grubu sizi aramฤฑลŸ",
"{email} is requesting the password to access {file}" : "{email}, {file} dosyasฤฑna eriลŸme parolasฤฑnฤฑ istiyor",
"{email} tried to request the password to access {file}" : "{email}, {file} dosyasฤฑna eriลŸme parolasฤฑnฤฑ istemeyi denedi",
@@ -522,10 +522,10 @@
"Conversation not found" : "GรถrรผลŸme bulunamadฤฑ",
"Path is already shared with this room" : "Bu yol bu gรถrรผลŸme ile zaten paylaลŸฤฑlmฤฑลŸ",
"Chat, video & audio-conferencing using WebRTC" : "WebRTC kullanarak yazฤฑlฤฑ, sesli ve gรถrรผntรผlรผ gรถrรผลŸmeler yapabilirsiniz",
- "Chat, video & audio-conferencing using WebRTC\n\n* ๐Ÿ’ฌ **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* ๐Ÿ‘ฅ **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* ๐Ÿ’ป **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* ๐Ÿš€ **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* โœ‹ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds" : "WebRTC รผzerinden yazฤฑlฤฑ, gรถrรผntรผtรผlรผ ve sesli gรถrรผลŸme yapฤฑlabilmesini saฤŸlar\n\n* ๐Ÿ’ฌ **GรถrรผลŸme bรผtรผnlรผฤŸรผ!** Nextcloud Talk uygulamasฤฑ basit metin ile yazฤฑลŸma desteฤŸi sunar. Nextcloud รผzerindeki dosyalarฤฑ paylaลŸabilir, diฤŸer katฤฑlฤฑmcฤฑlarฤฑ anabilirsiniz.\n* ๐Ÿ‘ฅ **ร–zel, grup, herkese aรงฤฑk ve parola korumalฤฑ gรถrรผลŸmeler!** GรถrรผลŸmek istediฤŸiniz bir kiลŸiyi ya da bir grubun tamamฤฑnฤฑ รงaฤŸฤฑrabilir, gรถrรผลŸme รงaฤŸrฤฑsฤฑ iรงin herkese aรงฤฑk bir baฤŸlantฤฑ kullanabilirsiniz.\n* ๐Ÿ’ป **Ekran paylaลŸฤฑmฤฑ!** GรถrรผลŸme katฤฑlฤฑmcฤฑlarฤฑ ile ekranฤฑnฤฑzฤฑ paylaลŸabilirsiniz. Firefox 66 (ya da รผzeri), Edge son sรผrรผmรผ ya da Chrome 72 (ya da รผzeri ve ayrฤฑca [bu Chrome eklentisi ile](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol) Chrome 49) bir tarayฤฑcฤฑ sรผrรผmรผ kullanmanฤฑz yeterlidir.\n* ๐Ÿš€ **DiฤŸer Nextcloud uygulamalarฤฑ ile bรผtรผnlรผk** ลžu anda Files, Contacts ve Deck. Gerisi gelecek.\n\n[Gelecek sรผrรผmler](https://github.com/nextcloud/spreed/milestones/) รผzerinde รงalฤฑลŸฤฑyoruz:\n* โœ‹ [BirleลŸik gรถrรผลŸmeler](https://github.com/nextcloud/spreed/issues/21), ile baลŸka Nextcloud kopyalarฤฑ kullanan kiลŸiler ile gรถrรผลŸebilirsiniz",
- "Navigating away from the page will leave the call in {conversation}" : "Sayfadan ayrฤฑlฤฑrsanฤฑz {conversation} gรถrรผลŸmesinden รงฤฑkacaksฤฑnฤฑz",
- "Leave call" : "GรถrรผลŸmeden ayrฤฑl",
- "Stay in call" : "GรถrรผลŸmede kal",
+ "Chat, video & audio-conferencing using WebRTC\n\n* ๐Ÿ’ฌ **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* ๐Ÿ‘ฅ **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* ๐Ÿ’ป **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* ๐Ÿš€ **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* โœ‹ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds" : "WebRTC รผzerinden yazฤฑlฤฑ, gรถrรผntรผtรผlรผ ve sesli gรถrรผลŸme yapฤฑlabilmesini saฤŸlar\n\n* ๐Ÿ’ฌ **GรถrรผลŸme bรผtรผnlรผฤŸรผ!** Nextcloud Talk uygulamasฤฑ basit metin ile yazฤฑลŸma desteฤŸi sunar. Nextcloud รผzerindeki dosyalarฤฑ paylaลŸabilir, diฤŸer katฤฑlฤฑmcฤฑlarฤฑ anabilirsiniz.\n* ๐Ÿ‘ฅ **ร–zel, grup, herkese aรงฤฑk ve parola korumalฤฑ รงaฤŸrฤฑlar!** GรถrรผลŸmek istediฤŸiniz bir kiลŸiyi ya da bir grubun tamamฤฑnฤฑ รงaฤŸฤฑrabilir, gรถrรผลŸme รงaฤŸrฤฑsฤฑ iรงin herkese aรงฤฑk bir baฤŸlantฤฑ kullanabilirsiniz.\n* ๐Ÿ’ป **Ekran paylaลŸฤฑmฤฑ!** ร‡aฤŸrฤฑ katฤฑlฤฑmcฤฑlarฤฑ ile ekranฤฑnฤฑzฤฑ paylaลŸabilirsiniz. Firefox 66 (ya da รผzeri), Edge son sรผrรผmรผ ya da Chrome 72 (ya da รผzeri ve ayrฤฑca [bu Chrome eklentisi ile](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol) Chrome 49) bir tarayฤฑcฤฑ sรผrรผmรผ kullanmanฤฑz yeterlidir.\n* ๐Ÿš€ **DiฤŸer Nextcloud uygulamalarฤฑ ile bรผtรผnlรผk** ลžu anda Files, Contacts ve Deck. Gerisi gelecek.\n\n[Gelecek sรผrรผmler](https://github.com/nextcloud/spreed/milestones/) รผzerinde รงalฤฑลŸฤฑyoruz:\n* โœ‹ [BirleลŸik รงaฤŸrฤฑlar](https://github.com/nextcloud/spreed/issues/21), ile baลŸka Nextcloud kopyalarฤฑ kullanan kiลŸileri รงaฤŸฤฑrabilirsiniz",
+ "Navigating away from the page will leave the call in {conversation}" : "Sayfadan ayrฤฑlฤฑrsanฤฑz {conversation} รงaฤŸrฤฑsฤฑndan รงฤฑkacaksฤฑnฤฑz",
+ "Leave call" : "ร‡aฤŸrฤฑdan ayrฤฑl",
+ "Stay in call" : "ร‡aฤŸrฤฑda kal",
"Duplicate session" : "ร‡ift oturum",
"Discuss this file" : "Bu dosya hakkฤฑnda gรถrรผลŸ",
"Share this file with others to discuss it" : "Bu dosyayฤฑ, hakkฤฑnda gรถrรผลŸmek iรงin baลŸkalarฤฑ ile paylaลŸ",
@@ -541,8 +541,8 @@
"Limit using Talk" : "Talk uygulamasฤฑnฤฑn kullanฤฑmฤฑ sฤฑnฤฑrlansฤฑn",
"Limit creating a public and group conversation" : "Herkese aรงฤฑk ve grup gรถrรผลŸmesi oluลŸturma sฤฑnฤฑrlansฤฑn",
"Limit creating conversations" : "GรถrรผลŸme oluลŸturmayฤฑ sฤฑnฤฑrla",
- "Limit starting a call" : "Bir gรถrรผลŸme baลŸlatmayฤฑ sฤฑnฤฑrla",
- "Limit starting calls" : "GรถrรผลŸmeleri baลŸlatmayฤฑ sฤฑnฤฑrla",
+ "Limit starting a call" : "Bir รงaฤŸrฤฑ baลŸlatmayฤฑ sฤฑnฤฑrla",
+ "Limit starting calls" : "ร‡aฤŸrฤฑlarฤฑ baลŸlatmayฤฑ sฤฑnฤฑrla",
"When a call has started, everyone with access to the conversation can join the call." : "Bir รงaฤŸrฤฑ yapฤฑldฤฑฤŸฤฑnda, gรถrรผลŸmeye eriลŸimi olan herkes รงaฤŸrฤฑya katฤฑlabilir.",
"Everyone" : "Herkes",
"Users and moderators" : "Kullanฤฑcฤฑlar ve sorumlular",
@@ -633,9 +633,9 @@
"Saved" : "Kaydedildi",
"Add a new server" : "Yeni sunucu ekle",
"An external signaling server should optionally be used for larger installations. Leave empty to use the internal signaling server." : "Bรผyรผk kurulumlar iรงin isteฤŸe gรถre bir dฤฑลŸ signaling sunucusu kullanฤฑlmalฤฑdฤฑr. ฤฐรง signaling sunucusunu kullanmak iรงin boลŸ bฤฑrakฤฑn.",
- "Please note that calls with more than 4 participants without external signaling server, participants can experience connectivity issues and cause high load on participating devices." : "Bir dฤฑลŸ signaling sunucusu olmadan 4 kiลŸiden fazlasฤฑ ile yapฤฑlan gรถrรผลŸmelerde baฤŸlantฤฑ sorunlarฤฑ yaลŸanabileceฤŸini ve baฤŸlanan aygฤฑtlarda aลŸฤฑrฤฑ iลŸlem yรผkรผ oluลŸabileceฤŸini unutmayฤฑn.",
+ "Please note that calls with more than 4 participants without external signaling server, participants can experience connectivity issues and cause high load on participating devices." : "Bir dฤฑลŸ signaling sunucusu olmadan 4 kiลŸiden fazlasฤฑ ile yapฤฑlan รงaฤŸrฤฑlarda baฤŸlantฤฑ sorunlarฤฑ yaลŸanabileceฤŸini ve baฤŸlanan aygฤฑtlarda aลŸฤฑrฤฑ iลŸlem yรผkรผ oluลŸabileceฤŸini unutmayฤฑn.",
"It is highly recommended to set up a distributed cache when using Nextcloud Talk together with a High Performance Back-end." : "Nextcloud Talk uygulamasฤฑ ile yรผksek baลŸarฤฑmlฤฑ bir arka plan kullanฤฑyorsanฤฑz daฤŸฤฑtฤฑlmฤฑลŸ รถn bellek kullanmanฤฑz รถnemle รถnerilir.",
- "Don't warn about connectivity issues in calls with more than 4 participants" : "4 kiลŸiden fazla katฤฑlฤฑmcฤฑsฤฑ olan gรถrรผลŸmelerde baฤŸlantฤฑ sorunlarฤฑ uyarฤฑsฤฑ gรถrรผntรผlenmesin",
+ "Don't warn about connectivity issues in calls with more than 4 participants" : "4 kiลŸiden fazla katฤฑlฤฑmcฤฑsฤฑ olan รงaฤŸrฤฑlarda baฤŸlantฤฑ sorunlarฤฑ uyarฤฑsฤฑ gรถrรผntรผlenmesin",
"STUN server URL" : "STUN sunucusunun adresi",
"STUN servers" : "STUN sunucularฤฑ",
"A STUN server is used to determine the public IP address of participants behind a router." : "STUN sunucusu bir yรถnelticinin arkasฤฑndaki katฤฑlฤฑmcฤฑnฤฑn herkese aรงฤฑk adresinin belirlenmesinde kullanฤฑlฤฑr.",
@@ -668,7 +668,7 @@
"Expand stripe" : "ลžeridi geniลŸlet",
"Copy link" : "BaฤŸlantฤฑyฤฑ kopyala",
"Connecting โ€ฆ" : "BaฤŸlantฤฑ kuruluyor โ€ฆ",
- "Waiting for others to join the call โ€ฆ" : "DiฤŸerlerinin gรถrรผลŸmeye katฤฑlmasฤฑ bekleniyor โ€ฆ",
+ "Waiting for others to join the call โ€ฆ" : "DiฤŸerlerinin รงaฤŸrฤฑya katฤฑlmasฤฑ bekleniyor โ€ฆ",
"You can invite others in the participant tab of the sidebar" : "DiฤŸer kiลŸileri yan รงubuktaki katฤฑlฤฑmcฤฑ sekmesinden รงaฤŸฤฑrabilirsiniz",
"You can invite others in the participant tab of the sidebar or share this link to invite others!" : "DiฤŸer kiลŸileri yan รงubuktaki katฤฑlฤฑmcฤฑ sekmesinden ya da bu baฤŸlantฤฑyฤฑ paylaลŸarak รงaฤŸฤฑrabilirsiniz!",
"Share this link to invite others!" : "DiฤŸer kiลŸileri รงaฤŸฤฑrmak iรงin bu baฤŸlantฤฑyฤฑ paylaลŸฤฑn!",
@@ -989,7 +989,7 @@
"No permission to post messages in this conversation" : "Bu gรถrรผลŸmeye ileti gรถnderme izniniz yok",
"Write message, @ to mention someone โ€ฆ" : "ฤฐleti yazฤฑn, @ ile baลŸkalarฤฑnฤฑ anabilirsiniz โ€ฆ",
"Invalid path selected" : "Seรงilen yol geรงersiz",
- "Start a call" : "Bir gรถrรผลŸme baลŸlat",
+ "Start a call" : "Bir รงaฤŸrฤฑ baลŸlat",
"Skip the lobby" : "GiriลŸi atla",
"Can post messages and reactions" : "ฤฐleti ve tepki gรถnderebilir",
"Enable the microphone" : "Mikrofonu aรง",
@@ -1033,6 +1033,7 @@
"Add groups" : "Grup ekle",
"Add emails" : "E-posta adreslerini ekle",
"Add circles" : "ร‡evre ekle",
+ "Integrations" : "BรผtรผnleลŸtirmeler",
"Add federated users" : "BirleลŸtirilmiลŸ kullanฤฑcฤฑlar ekle",
"Searching โ€ฆ" : "Aranฤฑyor โ€ฆ",
"No results" : "Herhangi bir sonuรง bulunamadฤฑ",
@@ -1065,16 +1066,16 @@
"Privacy" : "Gizlilik",
"Share my read-status and show the read-status of others" : "Okundu durumumu paylaลŸ ve diฤŸerlerinin okundu durumunu gรถrรผntรผle",
"Sounds" : "Sesler",
- "Play sounds when participants join or leave a call" : "Katฤฑlฤฑmcฤฑlar gรถrรผลŸmeye girdiฤŸinde ya da รงฤฑktฤฑฤŸฤฑnda ses รงalฤฑnsฤฑn",
+ "Play sounds when participants join or leave a call" : "Katฤฑlฤฑmcฤฑlar รงaฤŸrฤฑya katฤฑldฤฑฤŸฤฑnda ya da ayrฤฑldฤฑฤŸฤฑnda ses รงalฤฑnsฤฑn",
"Sounds can currently not be played in Safari browser and iPad and iPhone devices due to technical restrictions by the manufacturer." : "รœreticinin sฤฑnฤฑrlamalarฤฑ nedeniyle, sesler ลŸu anda Safari web tarayฤฑcฤฑsฤฑ, iPad ve iPhone aygฤฑtlarฤฑnda รงalฤฑnamฤฑyor. ",
"Sounds for chat and call notifications can be adjusted in the personal settings." : "Sohbet ve รงaฤŸrฤฑ bildirimlerinin kiลŸisel ayarlar bรถlรผmรผnden belirlenebilen sesleri.",
"Keyboard shortcuts" : "Kฤฑsayol tuลŸlarฤฑ",
"Speed up your Talk experience with these quick shortcuts." : "ลžu kฤฑsayol tuลŸlarฤฑnฤฑ kullanarak Talk deneyiminizi hฤฑzlandฤฑrabilirsiniz.",
"Focus the chat input" : "Sohbet giriลŸine odaklan",
"Unfocus the chat input to use shortcuts" : "Kฤฑsayol tuลŸlarฤฑnฤฑ kullanmak iรงin odaฤŸฤฑ sohbet giriลŸinden al",
- "Fullscreen the chat or call" : "Sohbet ya da gรถrรผลŸmeyi tam ekrana bรผyรผt",
+ "Fullscreen the chat or call" : "Sohbet ya da รงaฤŸrฤฑyฤฑ tam ekrana bรผyรผt",
"Search" : "Arama",
- "Shortcuts while in a call" : "GรถrรผลŸme sฤฑrasฤฑnda kullanฤฑlabilecek kฤฑsayol tuลŸlarฤฑ",
+ "Shortcuts while in a call" : "ร‡aฤŸrฤฑ sฤฑrasฤฑnda kullanฤฑlabilecek kฤฑsayol tuลŸlarฤฑ",
"Camera on and off" : "Kamerayฤฑ aรงma ve kapatma",
"Microphone on and off" : "Mikrofonu aรงma ve kapatma",
"Space bar" : "BoลŸluk tuลŸu",
@@ -1089,9 +1090,9 @@
"Sounds setting saved" : "Ses ayarlarฤฑ kaydedildi",
"Error while saving sounds setting" : "Ses ayarlarฤฑ kaydedilirken sorun รงฤฑktฤฑ",
"End meeting for all" : "Toplantฤฑyฤฑ herkes iรงin sonlandฤฑr",
- "Start call" : "GรถrรผลŸmeyi baลŸlat",
- "Nextcloud Talk was updated, you need to reload the page before you can start or join a call." : "Nextcloud Talk gรผncellenmiลŸ. Bir gรถrรผลŸmeye baลŸlamadan รถnce sayfayฤฑ yeniden yรผklemelisiniz.",
- "You will be able to join the call only after a moderator starts it." : "GรถrรผลŸmeye ancak bir sorumlu gรถrรผลŸmeyi baลŸlattฤฑktan sonra katฤฑlabilirsiniz.",
+ "Start call" : "ร‡aฤŸrฤฑyฤฑ baลŸlat",
+ "Nextcloud Talk was updated, you need to reload the page before you can start or join a call." : "Nextcloud Talk gรผncellenmiลŸ. Bir รงaฤŸrฤฑya baลŸlamadan รถnce sayfayฤฑ yeniden yรผklemelisiniz.",
+ "You will be able to join the call only after a moderator starts it." : "ร‡aฤŸrฤฑya ancak bir sorumlu รงaฤŸrฤฑyฤฑ baลŸlattฤฑktan sonra katฤฑlabilirsiniz.",
"Conversation actions" : "GรถrรผลŸme iลŸlemleri",
"Toggle fullscreen" : "Tam ekranฤฑ aรง/kapat",
"Rename conversation" : "GรถrรผลŸmeyi yeniden adlandฤฑr",
diff --git a/l10n/uk.js b/l10n/uk.js
index 1294d8695..4dc71b011 100644
--- a/l10n/uk.js
+++ b/l10n/uk.js
@@ -4,12 +4,20 @@ OC.L10N.register(
"a conversation" : "ั€ะพะทะผะพะฒะฐ",
"(Duration %s)" : "(ะขั€ะธะฒะฐะปั–ัั‚ัŒ %s)",
"_%n guest_::_%n guests_" : ["%n ะณั–ัั‚ัŒ","%n ะณะพัั‚ั","%n ะณะพัั‚ะตะน","%n ะณะพัั‚ะตะน"],
+ "_%n other_::_%n others_" : ["%nั–ะฝัˆะธะน","%nั–ะฝัˆะธั…","%n ั–ะฝัˆะธั…","%n ั–ะฝัˆะธั…"],
+ "Other activities" : "ะ†ะฝัˆะฐ ะฐะบั‚ะธะฒะฝั–ัั‚ัŒ",
"Talk" : "ะ ะพะทะผะพะฒะธ",
"Guest" : "ะ“ั–ัั‚ัŒ",
+ "Welcome to Nextcloud Talk!\nIn this conversation you will be informed about new features available in Nextcloud Talk." : "ะ›ะฐัะบะฐะฒะพ ะฟั€ะพัะธะผะพ ะดะพ Nextcloud Talk!\nะฃ ั†ั–ะน ั€ะพะทะผะพะฒั– ะ’ะธ ะฑัƒะดะตั‚ะต ะพั‚ั€ะธะผัƒะฒะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั ะฟั€ะพ ะฝะพะฒั– ั„ัƒะฝะบั†ั–ั— ะฒ Nextcloud Talk!",
"- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "ะ”ะพะทะฒะพะปะธั‚ะธ ะณะพัั‚ัะผ ะฟั€ะธั”ะดะฝัƒะฒะฐั‚ะธัั ั‡ะตั€ะตะท ะฟะพัะธะปะฐะฝะฝั",
"The command does not exist" : "ะšะพะผะฐะฝะดะฐ ะฒั–ะดััƒั‚ะฝั",
+ "Reaction deleted by author" : "ะ ะตะฐะบั†ั–ัŽ ะฒะธะปัƒั‡ะตะฝะพ ะฐะฒั‚ะพั€ะพะผ",
"{actor} created the conversation" : "{actor} ัั‚ะฒะพั€ะธะฒ ั€ะพะทะผะพะฒัƒ",
"You created the conversation" : "ะ’ะธ ัั‚ะฒะพั€ะธะปะธ ั€ะพะทะผะพะฒัƒ",
+ "An administrator created the conversation" : "ะะดะผั–ะฝั–ัั‚ั€ะฐั‚ะพั€ ัั‚ะฒะพั€ะธะฒ ั€ะพะทะผะพะฒัƒ",
+ "{actor} renamed the conversation from \"%1$s\" to \"%2$s\"" : "{actor} ะทะผั–ะฝะธะฒ ะฝะฐะทะฒัƒ ั€ะพะทะผะพะฒะธ ะท \"%1$s\" ะฝะฐ \"%2$s\"",
+ "You renamed the conversation from \"%1$s\" to \"%2$s\"" : "ะ’ะธ ะทะผั–ะฝะธะปะธ ะฝะฐะทะฒัƒ ั€ะพะทะผะพะฒะธ ะท \"%1$s\" ะฝะฐ \"%2$s\"",
+ "An administrator renamed the conversation from \"%1$s\" to \"%2$s\"" : "ะะดะผั–ะฝั–ัั‚ั€ะฐั‚ะพั€ ะทะผั–ะฝะธะฒ ะฝะฐะทะฒัƒ ั€ะพะทะผะพะฒะธ ะท \"%1$s\" ะฝะฐ \"%2$s\"",
"{actor} started a call" : "{actor} ั€ะพะทะฟะพั‡ะฐะฒ ั€ะพะทะผะพะฒัƒ",
"You started a call" : "ะ’ะธ ะฟะพั‡ะฐะปะธ ะฒะธะบะปะธะบ",
"{actor} joined the call" : "{actor} ะฟั€ะธั”ะดะฝะฐะฒัั ะดะพ ั€ะพะทะผะพะฒะธ",
@@ -149,7 +157,7 @@ OC.L10N.register(
"Share files to the conversation" : "ะŸะพะดั–ะปะธั‚ะธัั ั„ะฐะนะปะฐะผะธ ะฟั–ะด ั‡ะฐั ั€ะพะทะผะพะฒะธ",
"Upload new files" : "ะ”ะพะดะฐั‚ะธ ั„ะฐะนะป",
"Share from Files" : "ะ’ั–ะดะบั€ะธั‚ะธ ะคะฐะนะปะธ",
- "Send message" : "ะะฐะดั–ัะปะฐั‚ะธะฟะพะฒั–ะดะพะผะปะตะฝะฝั",
+ "Send message" : "ะะฐะดั–ัะปะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั",
"File to share" : "ะ’ะธะฑะตั€ั–ั‚ัŒ ั„ะฐะนะป ะดะปั ะฝะฐะดะฐะฝะฝั ะดะพัั‚ัƒะฟัƒ",
"Write message, @ to mention someone โ€ฆ" : "ะะฐะฟะธัะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั, @ั–ะผ'ั ะดะปั ะทะณะฐะดะบะธ ะฟั€ะพ ะบะพั€ะธัั‚ัƒะฒะฐั‡ะฐโ€ฆ",
"Invalid path selected" : "ะ’ะธะฑั€ะฐะฝะพ ะฝะตะฟั€ะฐะฒะธะปัŒะฝะธะน ัˆะปัั…",
diff --git a/l10n/uk.json b/l10n/uk.json
index cf1d93d20..132c01b39 100644
--- a/l10n/uk.json
+++ b/l10n/uk.json
@@ -2,12 +2,20 @@
"a conversation" : "ั€ะพะทะผะพะฒะฐ",
"(Duration %s)" : "(ะขั€ะธะฒะฐะปั–ัั‚ัŒ %s)",
"_%n guest_::_%n guests_" : ["%n ะณั–ัั‚ัŒ","%n ะณะพัั‚ั","%n ะณะพัั‚ะตะน","%n ะณะพัั‚ะตะน"],
+ "_%n other_::_%n others_" : ["%nั–ะฝัˆะธะน","%nั–ะฝัˆะธั…","%n ั–ะฝัˆะธั…","%n ั–ะฝัˆะธั…"],
+ "Other activities" : "ะ†ะฝัˆะฐ ะฐะบั‚ะธะฒะฝั–ัั‚ัŒ",
"Talk" : "ะ ะพะทะผะพะฒะธ",
"Guest" : "ะ“ั–ัั‚ัŒ",
+ "Welcome to Nextcloud Talk!\nIn this conversation you will be informed about new features available in Nextcloud Talk." : "ะ›ะฐัะบะฐะฒะพ ะฟั€ะพัะธะผะพ ะดะพ Nextcloud Talk!\nะฃ ั†ั–ะน ั€ะพะทะผะพะฒั– ะ’ะธ ะฑัƒะดะตั‚ะต ะพั‚ั€ะธะผัƒะฒะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั ะฟั€ะพ ะฝะพะฒั– ั„ัƒะฝะบั†ั–ั— ะฒ Nextcloud Talk!",
"- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "ะ”ะพะทะฒะพะปะธั‚ะธ ะณะพัั‚ัะผ ะฟั€ะธั”ะดะฝัƒะฒะฐั‚ะธัั ั‡ะตั€ะตะท ะฟะพัะธะปะฐะฝะฝั",
"The command does not exist" : "ะšะพะผะฐะฝะดะฐ ะฒั–ะดััƒั‚ะฝั",
+ "Reaction deleted by author" : "ะ ะตะฐะบั†ั–ัŽ ะฒะธะปัƒั‡ะตะฝะพ ะฐะฒั‚ะพั€ะพะผ",
"{actor} created the conversation" : "{actor} ัั‚ะฒะพั€ะธะฒ ั€ะพะทะผะพะฒัƒ",
"You created the conversation" : "ะ’ะธ ัั‚ะฒะพั€ะธะปะธ ั€ะพะทะผะพะฒัƒ",
+ "An administrator created the conversation" : "ะะดะผั–ะฝั–ัั‚ั€ะฐั‚ะพั€ ัั‚ะฒะพั€ะธะฒ ั€ะพะทะผะพะฒัƒ",
+ "{actor} renamed the conversation from \"%1$s\" to \"%2$s\"" : "{actor} ะทะผั–ะฝะธะฒ ะฝะฐะทะฒัƒ ั€ะพะทะผะพะฒะธ ะท \"%1$s\" ะฝะฐ \"%2$s\"",
+ "You renamed the conversation from \"%1$s\" to \"%2$s\"" : "ะ’ะธ ะทะผั–ะฝะธะปะธ ะฝะฐะทะฒัƒ ั€ะพะทะผะพะฒะธ ะท \"%1$s\" ะฝะฐ \"%2$s\"",
+ "An administrator renamed the conversation from \"%1$s\" to \"%2$s\"" : "ะะดะผั–ะฝั–ัั‚ั€ะฐั‚ะพั€ ะทะผั–ะฝะธะฒ ะฝะฐะทะฒัƒ ั€ะพะทะผะพะฒะธ ะท \"%1$s\" ะฝะฐ \"%2$s\"",
"{actor} started a call" : "{actor} ั€ะพะทะฟะพั‡ะฐะฒ ั€ะพะทะผะพะฒัƒ",
"You started a call" : "ะ’ะธ ะฟะพั‡ะฐะปะธ ะฒะธะบะปะธะบ",
"{actor} joined the call" : "{actor} ะฟั€ะธั”ะดะฝะฐะฒัั ะดะพ ั€ะพะทะผะพะฒะธ",
@@ -147,7 +155,7 @@
"Share files to the conversation" : "ะŸะพะดั–ะปะธั‚ะธัั ั„ะฐะนะปะฐะผะธ ะฟั–ะด ั‡ะฐั ั€ะพะทะผะพะฒะธ",
"Upload new files" : "ะ”ะพะดะฐั‚ะธ ั„ะฐะนะป",
"Share from Files" : "ะ’ั–ะดะบั€ะธั‚ะธ ะคะฐะนะปะธ",
- "Send message" : "ะะฐะดั–ัะปะฐั‚ะธะฟะพะฒั–ะดะพะผะปะตะฝะฝั",
+ "Send message" : "ะะฐะดั–ัะปะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั",
"File to share" : "ะ’ะธะฑะตั€ั–ั‚ัŒ ั„ะฐะนะป ะดะปั ะฝะฐะดะฐะฝะฝั ะดะพัั‚ัƒะฟัƒ",
"Write message, @ to mention someone โ€ฆ" : "ะะฐะฟะธัะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั, @ั–ะผ'ั ะดะปั ะทะณะฐะดะบะธ ะฟั€ะพ ะบะพั€ะธัั‚ัƒะฒะฐั‡ะฐโ€ฆ",
"Invalid path selected" : "ะ’ะธะฑั€ะฐะฝะพ ะฝะตะฟั€ะฐะฒะธะปัŒะฝะธะน ัˆะปัั…",
diff --git a/l10n/vi.js b/l10n/vi.js
index 6420a2f6c..b21f98f9e 100644
--- a/l10n/vi.js
+++ b/l10n/vi.js
@@ -635,6 +635,7 @@ OC.L10N.register(
"Add groups" : "Thรชm nhรณm",
"Add emails" : "Thรชm email",
"Add circles" : "Thรชm vรฒng kแบฟt nแป‘i",
+ "Integrations" : "Cรกc bแป™ tรญch hแปฃp",
"Searching โ€ฆ" : "ฤang tรฌm kiแบฟm ...",
"No results" : "Khรดng cรณ kแบฟt quแบฃ",
"Search for more users" : "Tรฌm kiแบฟm thรชm ngฦฐแปi dรนng",
diff --git a/l10n/vi.json b/l10n/vi.json
index fb7924da7..7c03fa457 100644
--- a/l10n/vi.json
+++ b/l10n/vi.json
@@ -633,6 +633,7 @@
"Add groups" : "Thรชm nhรณm",
"Add emails" : "Thรชm email",
"Add circles" : "Thรชm vรฒng kแบฟt nแป‘i",
+ "Integrations" : "Cรกc bแป™ tรญch hแปฃp",
"Searching โ€ฆ" : "ฤang tรฌm kiแบฟm ...",
"No results" : "Khรดng cรณ kแบฟt quแบฃ",
"Search for more users" : "Tรฌm kiแบฟm thรชm ngฦฐแปi dรนng",
diff --git a/l10n/zh_CN.js b/l10n/zh_CN.js
index 5e9f9dea1..b97e9354b 100644
--- a/l10n/zh_CN.js
+++ b/l10n/zh_CN.js
@@ -1012,6 +1012,7 @@ OC.L10N.register(
"Add groups" : "ๆทปๅŠ ๅˆ†็ป„",
"Add emails" : "ๆทปๅŠ ็”ตๅญ้‚ฎไปถ",
"Add circles" : "ๆทปๅŠ ๅœˆๅญ",
+ "Integrations" : "้›†ๆˆ",
"Add federated users" : "ๆทปๅŠ  federated ็”จๆˆท",
"Searching โ€ฆ" : "ๆญฃๅœจๆœ็ดข ...",
"No results" : "ๆฒกๆœ‰็ป“ๆžœ",
diff --git a/l10n/zh_CN.json b/l10n/zh_CN.json
index 10267c239..05adaef6d 100644
--- a/l10n/zh_CN.json
+++ b/l10n/zh_CN.json
@@ -1010,6 +1010,7 @@
"Add groups" : "ๆทปๅŠ ๅˆ†็ป„",
"Add emails" : "ๆทปๅŠ ็”ตๅญ้‚ฎไปถ",
"Add circles" : "ๆทปๅŠ ๅœˆๅญ",
+ "Integrations" : "้›†ๆˆ",
"Add federated users" : "ๆทปๅŠ  federated ็”จๆˆท",
"Searching โ€ฆ" : "ๆญฃๅœจๆœ็ดข ...",
"No results" : "ๆฒกๆœ‰็ป“ๆžœ",
diff --git a/l10n/zh_HK.js b/l10n/zh_HK.js
index 7fd08dbf8..aea9384a9 100644
--- a/l10n/zh_HK.js
+++ b/l10n/zh_HK.js
@@ -985,6 +985,7 @@ OC.L10N.register(
"Upload new files" : "ไธŠๅ‚ณๆ–ฐๆช”ๆกˆ",
"Share from Files" : "ๅพžๆช”ๆกˆ้€ฒ่กŒๅˆ†ไบซ",
"Add emoji" : "ๆทปๅŠ  emoji",
+ "Send silently" : "้ป˜้ป˜ๅ‚ณ้€",
"Send message" : "ๅ‚ณ้€่จŠๆฏ",
"File to share" : "่ฆๅˆ†ไบซ็š„ๆช”ๆกˆ",
"This conversation has been locked" : "ๆญคๅฐ่ฉฑๅทฒ่ขซไธŠ้Ž–",
@@ -1035,6 +1036,7 @@ OC.L10N.register(
"Add groups" : "ๆ–ฐๅขž็พค็ต„",
"Add emails" : "ๆ–ฐๅขž้›ป้ƒต",
"Add circles" : "ๆ–ฐๅขžๅœˆๅญ",
+ "Integrations" : "ๆ•ดๅˆ",
"Add federated users" : "ๆทปๅŠ  federated ็”จๆˆถ",
"Searching โ€ฆ" : "ๆญฃๅœจๆœๅฐ‹โ€ฆโ€ฆ",
"No results" : "ๆฒ’ๆœ‰็ฌฆๅˆๆœๅฐ‹็š„้ …็›ฎ",
diff --git a/l10n/zh_HK.json b/l10n/zh_HK.json
index 6a262199e..75e678156 100644
--- a/l10n/zh_HK.json
+++ b/l10n/zh_HK.json
@@ -983,6 +983,7 @@
"Upload new files" : "ไธŠๅ‚ณๆ–ฐๆช”ๆกˆ",
"Share from Files" : "ๅพžๆช”ๆกˆ้€ฒ่กŒๅˆ†ไบซ",
"Add emoji" : "ๆทปๅŠ  emoji",
+ "Send silently" : "้ป˜้ป˜ๅ‚ณ้€",
"Send message" : "ๅ‚ณ้€่จŠๆฏ",
"File to share" : "่ฆๅˆ†ไบซ็š„ๆช”ๆกˆ",
"This conversation has been locked" : "ๆญคๅฐ่ฉฑๅทฒ่ขซไธŠ้Ž–",
@@ -1033,6 +1034,7 @@
"Add groups" : "ๆ–ฐๅขž็พค็ต„",
"Add emails" : "ๆ–ฐๅขž้›ป้ƒต",
"Add circles" : "ๆ–ฐๅขžๅœˆๅญ",
+ "Integrations" : "ๆ•ดๅˆ",
"Add federated users" : "ๆทปๅŠ  federated ็”จๆˆถ",
"Searching โ€ฆ" : "ๆญฃๅœจๆœๅฐ‹โ€ฆโ€ฆ",
"No results" : "ๆฒ’ๆœ‰็ฌฆๅˆๆœๅฐ‹็š„้ …็›ฎ",
diff --git a/l10n/zh_TW.js b/l10n/zh_TW.js
index a40b5d15d..cfaa99ca9 100644
--- a/l10n/zh_TW.js
+++ b/l10n/zh_TW.js
@@ -369,6 +369,7 @@ OC.L10N.register(
"guest" : "่จชๅฎข",
"Demote from moderator" : "ๅ–ๆถˆไธปๆŒไบบ่ณ‡ๆ ผ",
"Add users" : "ๆ–ฐๅขžไฝฟ็”จ่€…",
+ "Integrations" : "ๆ•ดๅˆ",
"Searching โ€ฆ" : "ๆญฃๅœจๆœๅฐ‹โ€ฆโ€ฆ",
"No results" : "ๆฒ’ๆœ‰็ฌฆๅˆๆœๅฐ‹็š„้ …็›ฎ",
"Add users or groups" : "ๅขžๅŠ ไฝฟ็”จ่€…ๆˆ–่€…็พค็ต„",
diff --git a/l10n/zh_TW.json b/l10n/zh_TW.json
index 85c7856cd..1445cec34 100644
--- a/l10n/zh_TW.json
+++ b/l10n/zh_TW.json
@@ -367,6 +367,7 @@
"guest" : "่จชๅฎข",
"Demote from moderator" : "ๅ–ๆถˆไธปๆŒไบบ่ณ‡ๆ ผ",
"Add users" : "ๆ–ฐๅขžไฝฟ็”จ่€…",
+ "Integrations" : "ๆ•ดๅˆ",
"Searching โ€ฆ" : "ๆญฃๅœจๆœๅฐ‹โ€ฆโ€ฆ",
"No results" : "ๆฒ’ๆœ‰็ฌฆๅˆๆœๅฐ‹็š„้ …็›ฎ",
"Add users or groups" : "ๅขžๅŠ ไฝฟ็”จ่€…ๆˆ–่€…็พค็ต„",
diff --git a/lib/Capabilities.php b/lib/Capabilities.php
index 37f85fee2..57650a54d 100644
--- a/lib/Capabilities.php
+++ b/lib/Capabilities.php
@@ -102,8 +102,10 @@ class Capabilities implements IPublicCapability {
'conversation-permissions',
'rich-object-list-media',
'rich-object-delete',
+ 'unified-search',
'chat-permission',
'silent-send',
+ 'silent-call',
'send-call-notification',
],
'config' => [
@@ -119,7 +121,10 @@ class Capabilities implements IPublicCapability {
],
'conversations' => [],
'previews' => [
- 'max-gif-size' => (int)$this->serverConfig->getAppValue('spreed', 'max-gif-size', '3145728')
+ 'max-gif-size' => (int)$this->serverConfig->getAppValue('spreed', 'max-gif-size', '3145728'),
+ ],
+ 'signaling' => [
+ 'session-ping-limit' => max(0, (int)$this->serverConfig->getAppValue('spreed', 'session-ping-limit', '200')),
],
],
];
diff --git a/lib/Chat/Parser/SystemMessage.php b/lib/Chat/Parser/SystemMessage.php
index e8165712a..68a794406 100644
--- a/lib/Chat/Parser/SystemMessage.php
+++ b/lib/Chat/Parser/SystemMessage.php
@@ -716,6 +716,21 @@ class SystemMessage {
];
}
+ if ($room->getType() !== Room::TYPE_ONE_TO_ONE) {
+ // Can happen if a user was remove from a one-to-one room.
+ return [
+ $this->l->t('You tried to call {user}'),
+ [
+ 'user' => [
+ 'type' => 'highlight',
+ 'id' => 'deleted_user',
+ 'name' => $room->getName(),
+ ],
+ ],
+ 'call_tried',
+ ];
+ }
+
$participants = json_decode($room->getName(), true);
$other = '';
foreach ($participants as $participant) {
@@ -723,6 +738,7 @@ class SystemMessage {
$other = $participant;
}
}
+
return [
$this->l->t('You tried to call {user}'),
[
diff --git a/lib/Controller/CallController.php b/lib/Controller/CallController.php
index 26797eae5..f55b62bc7 100644
--- a/lib/Controller/CallController.php
+++ b/lib/Controller/CallController.php
@@ -111,7 +111,7 @@ class CallController extends AEnvironmentAwareController {
* @param int|null $forcePermissions
* @return DataResponse
*/
- public function joinCall(?int $flags = null, ?int $forcePermissions = null): DataResponse {
+ public function joinCall(?int $flags = null, ?int $forcePermissions = null, bool $silent = false): DataResponse {
$this->participantService->ensureOneToOneRoomIsFilled($this->room);
$session = $this->participant->getSession();
@@ -128,7 +128,7 @@ class CallController extends AEnvironmentAwareController {
$this->roomService->setPermissions($this->room, 'call', Attendee::PERMISSIONS_MODIFY_SET, $forcePermissions, true);
}
- $this->participantService->changeInCall($this->room, $this->participant, $flags);
+ $this->participantService->changeInCall($this->room, $this->participant, $flags, false, $silent);
return new DataResponse();
}
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php
index 2ee61ccc3..0cada87b2 100644
--- a/lib/Controller/PageController.php
+++ b/lib/Controller/PageController.php
@@ -25,6 +25,7 @@ declare(strict_types=1);
namespace OCA\Talk\Controller;
+use OCA\Talk\AppInfo\Application;
use OCA\Talk\Exceptions\ParticipantNotFoundException;
use OCA\Talk\Exceptions\RoomNotFoundException;
use OCA\Talk\Config;
@@ -251,7 +252,9 @@ class PageController extends Controller {
}
$this->eventDispatcher->dispatch('\OCP\Collaboration\Resources::loadAdditionalScripts', new GenericEvent());
- $response = new TemplateResponse($this->appName, 'index');
+ $response = new TemplateResponse($this->appName, 'index', [
+ 'app' => Application::APP_ID,
+ ]);
$csp = new ContentSecurityPolicy();
$csp->addAllowedConnectDomain('*');
$csp->addAllowedMediaDomain('blob:');
diff --git a/lib/Controller/SignalingController.php b/lib/Controller/SignalingController.php
index 784036792..4f9bc62ba 100644
--- a/lib/Controller/SignalingController.php
+++ b/lib/Controller/SignalingController.php
@@ -729,22 +729,6 @@ class SignalingController extends OCSController {
}
private function backendPing(array $request): DataResponse {
- try {
- $room = $this->manager->getRoomByToken($request['roomid']);
- } catch (RoomNotFoundException $e) {
- $this->logger->debug('Tried to ping non existing room {token}', [
- 'token' => $request['roomid'],
- 'app' => 'spreed-hpb',
- ]);
- return new DataResponse([
- 'type' => 'error',
- 'error' => [
- 'code' => 'no_such_room',
- 'message' => 'No such room.',
- ],
- ]);
- }
-
$pingSessionIds = [];
$now = $this->timeFactory->getTime();
foreach ($request['entries'] as $entry) {
@@ -760,12 +744,11 @@ class SignalingController extends OCSController {
'type' => 'room',
'room' => [
'version' => '1.0',
- 'roomid' => $room->getToken(),
],
];
- $this->logger->debug('Pinged {numSessions} sessions in room {token}', [
+ $this->logger->debug('Pinged {numSessions} sessions {token}', [
'numSessions' => count($pingSessionIds),
- 'token' => $request['roomid'],
+ 'token' => !empty($request['roomid']) ? ('in room ' . $request['roomid']) : '',
'app' => 'spreed-hpb',
]);
return new DataResponse($response);
diff --git a/lib/Events/SilentModifyParticipantEvent.php b/lib/Events/SilentModifyParticipantEvent.php
new file mode 100644
index 000000000..1ac9d3806
--- /dev/null
+++ b/lib/Events/SilentModifyParticipantEvent.php
@@ -0,0 +1,27 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * @copyright Copyright (c) 2022 Vitor Mattos <vitor@php.rio>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Talk\Events;
+
+class SilentModifyParticipantEvent extends ModifyParticipantEvent {
+}
diff --git a/lib/Notification/Listener.php b/lib/Notification/Listener.php
index f6913e67a..7ab0d5274 100644
--- a/lib/Notification/Listener.php
+++ b/lib/Notification/Listener.php
@@ -28,6 +28,7 @@ use OCA\Talk\Events\AddParticipantsEvent;
use OCA\Talk\Events\JoinRoomUserEvent;
use OCA\Talk\Events\RoomEvent;
use OCA\Talk\Events\SendCallNotificationEvent;
+use OCA\Talk\Events\SilentModifyParticipantEvent;
use OCA\Talk\Model\Attendee;
use OCA\Talk\Room;
use OCA\Talk\Service\ParticipantService;
@@ -90,7 +91,8 @@ class Listener implements IEventListener {
$listener = static function (RoomEvent $event): void {
$listener = Server::get(self::class);
- $listener->checkCallNotifications($event->getRoom());
+ $silent = $event instanceof SilentModifyParticipantEvent;
+ $listener->checkCallNotifications($event->getRoom(), $silent);
};
$dispatcher->addListener(Room::EVENT_BEFORE_SESSION_JOIN_CALL, $listener);
@@ -188,10 +190,12 @@ class Listener implements IEventListener {
/**
* Call notification: "{user} wants to talk with you"
- *
- * @param Room $room
*/
- public function checkCallNotifications(Room $room): void {
+ public function checkCallNotifications(Room $room, bool $silent = false): void {
+ if ($silent) {
+ $this->shouldSendCallNotification = false;
+ return;
+ }
if ($room->getActiveSince() instanceof \DateTime) {
// Call already active => No new notifications
$this->shouldSendCallNotification = false;
diff --git a/lib/Service/ParticipantService.php b/lib/Service/ParticipantService.php
index 274ed2986..852e33d7f 100644
--- a/lib/Service/ParticipantService.php
+++ b/lib/Service/ParticipantService.php
@@ -43,6 +43,7 @@ use OCA\Talk\Events\RemoveParticipantEvent;
use OCA\Talk\Events\RemoveUserEvent;
use OCA\Talk\Events\RoomEvent;
use OCA\Talk\Events\SendCallNotificationEvent;
+use OCA\Talk\Events\SilentModifyParticipantEvent;
use OCA\Talk\Exceptions\ForbiddenException;
use OCA\Talk\Exceptions\InvalidPasswordException;
use OCA\Talk\Exceptions\ParticipantNotFoundException;
@@ -947,7 +948,7 @@ class ParticipantService {
$this->dispatcher->dispatch(Room::EVENT_AFTER_END_CALL_FOR_EVERYONE, $event);
}
- public function changeInCall(Room $room, Participant $participant, int $flags, bool $endCallForEveryone = false): void {
+ public function changeInCall(Room $room, Participant $participant, int $flags, bool $endCallForEveryone = false, bool $silent = false): void {
$session = $participant->getSession();
if (!$session instanceof Session) {
return;
@@ -962,7 +963,11 @@ class ParticipantService {
}
if ($flags !== Participant::FLAG_DISCONNECTED) {
- $event = new ModifyParticipantEvent($room, $participant, 'inCall', $flags, $session->getInCall());
+ if ($silent) {
+ $event = new SilentModifyParticipantEvent($room, $participant, 'inCall', $flags, $session->getInCall(), $silent);
+ } else {
+ $event = new ModifyParticipantEvent($room, $participant, 'inCall', $flags, $session->getInCall(), $silent);
+ }
$this->dispatcher->dispatch(Room::EVENT_BEFORE_SESSION_JOIN_CALL, $event);
} else {
if ($endCallForEveryone) {
diff --git a/lib/Signaling/BackendNotifier.php b/lib/Signaling/BackendNotifier.php
index a1c0547d1..139107a9d 100644
--- a/lib/Signaling/BackendNotifier.php
+++ b/lib/Signaling/BackendNotifier.php
@@ -129,7 +129,7 @@ class BackendNotifier {
$hash = hash_hmac('sha256', $random . $body, $this->config->getSignalingSecret());
$headers['Spreed-Signaling-Random'] = $random;
$headers['Spreed-Signaling-Checksum'] = $hash;
- $headers['Spreed-Signaling-Backend'] = $this->urlGenerator->getBaseUrl();
+ $headers['Spreed-Signaling-Backend'] = $this->urlGenerator->getAbsoluteURL('');
$params = [
'headers' => $headers,
diff --git a/package-lock.json b/package-lock.json
index 4164dd638..9b02356ad 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,9 +29,9 @@
"debounce": "^1.2.1",
"emoji-regex": "^10.1.0",
"escape-html": "^1.0.3",
- "extendable-media-recorder": "^6.6.6",
- "extendable-media-recorder-wav-encoder": "^7.0.68",
- "extendable-media-recorder-wav-encoder-worker": "^8.0.60",
+ "extendable-media-recorder": "^6.6.7",
+ "extendable-media-recorder-wav-encoder": "^7.0.73",
+ "extendable-media-recorder-wav-encoder-worker": "^8.0.66",
"hark": "^1.2.3",
"leaflet": "^1.8.0",
"leaflet-defaulticon-compatibility": "^0.1.1",
@@ -78,7 +78,7 @@
"regenerator-runtime": "^0.13.9",
"terser-webpack-plugin": "^5.3.1",
"ts-loader": "^9.3.0",
- "typescript": "^4.6.4",
+ "typescript": "^4.7.2",
"wasm-check": "^2.0.4",
"webpack-node-externals": "^3.0.0",
"worker-loader": "^3.0.8"
@@ -1637,9 +1637,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
- "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz",
+ "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==",
"dependencies": {
"regenerator-runtime": "^0.13.4"
},
@@ -5936,11 +5936,11 @@
"integrity": "sha512-8zx/3Bwo/PxqwpNrEm2Zf9ZBCjfkLmLhS7lqzfP1eWH69iD/WyKWFpysben+gYxMSHcO9S94qvseGk4FVxba0g=="
},
"node_modules/automation-events": {
- "version": "4.0.16",
- "resolved": "https://registry.npmjs.org/automation-events/-/automation-events-4.0.16.tgz",
- "integrity": "sha512-8mIkcXzjyisUaw2O9HC80wOHscEPPD/ROrh/rEKN2B3VJzt3YJH5w0LcpUHyzprqV24HR0eTCelSKoei1FGg1A==",
+ "version": "4.0.19",
+ "resolved": "https://registry.npmjs.org/automation-events/-/automation-events-4.0.19.tgz",
+ "integrity": "sha512-e8ALmWdXSkDAtDVkmqLcCDMfMMvHcPTwsg+1GsxEO8+Cyg7FQs7F3VKifzdRTADVU6S1aqlPzDE3+KLFsH0sxA==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0"
},
"engines": {
@@ -6766,14 +6766,14 @@
}
},
"node_modules/broker-factory": {
- "version": "3.0.61",
- "resolved": "https://registry.npmjs.org/broker-factory/-/broker-factory-3.0.61.tgz",
- "integrity": "sha512-ns5dmQLu1f5dankjVH5HbrKcif7g0+RSm4na++gcMShn73KG5ZNq1gbZjrD1pJc8/et4cqu4ouf3FDrmKh0t6Q==",
+ "version": "3.0.65",
+ "resolved": "https://registry.npmjs.org/broker-factory/-/broker-factory-3.0.65.tgz",
+ "integrity": "sha512-0z8YLszaRFN3Q91oPjjSXUXmsRQFqEJN9wduzQh9snlYght+BhnPDaGJ3FSkgepBdmgeNCDwCAmG1WMczYW+sQ==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
- "fast-unique-numbers": "^6.0.15",
+ "@babel/runtime": "^7.18.3",
+ "fast-unique-numbers": "^6.0.18",
"tslib": "^2.4.0",
- "worker-factory": "^6.0.61"
+ "worker-factory": "^6.0.65"
}
},
"node_modules/broker-factory/node_modules/tslib": {
@@ -7790,11 +7790,11 @@
"peer": true
},
"node_modules/compilerr": {
- "version": "9.0.15",
- "resolved": "https://registry.npmjs.org/compilerr/-/compilerr-9.0.15.tgz",
- "integrity": "sha512-x1Xpp4+g4LdvipYpiQD8qXPn4rRZ7C4halnvTTfc+8y1t3AIFRhHh4mDDX9ikQ3FImYDbZ7m6AjsFWGVhe1j5A==",
+ "version": "9.0.19",
+ "resolved": "https://registry.npmjs.org/compilerr/-/compilerr-9.0.19.tgz",
+ "integrity": "sha512-SyL2BuRMMXWFXQUxvwZN/BfGGaDMqaWfbv3Y2r1Ig85pgf7UWsju2gl2pNLpehBvQ8oQz2v+eIgE2t4u3N5ZbA==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"dashify": "^2.0.0",
"indefinite-article": "0.0.2",
"tslib": "^2.4.0"
@@ -11493,38 +11493,38 @@
}
},
"node_modules/extendable-media-recorder": {
- "version": "6.6.6",
- "resolved": "https://registry.npmjs.org/extendable-media-recorder/-/extendable-media-recorder-6.6.6.tgz",
- "integrity": "sha512-UZ8UERpnKWxWBSjM7pFZLH8zXrSRC1ghsv3jXW68UN+OLgKqz86GacatbHJZbqZC6pBWn67MGrFTSXUjzrUH3w==",
- "dependencies": {
- "@babel/runtime": "^7.17.9",
- "media-encoder-host": "^8.0.70",
- "multi-buffer-data-view": "^3.0.16",
- "recorder-audio-worklet": "^5.1.23",
- "standardized-audio-context": "^25.3.25",
- "subscribable-things": "^2.1.2",
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/extendable-media-recorder/-/extendable-media-recorder-6.6.7.tgz",
+ "integrity": "sha512-/kEFVMZtJsHiiC0f7bjWRpqF8bAx86LEa9JCNgaedXTDS0AqZtOaj285LUtkpKT6I6rLQMNOkfDCMYjMWNthug==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "media-encoder-host": "^8.0.75",
+ "multi-buffer-data-view": "^3.0.19",
+ "recorder-audio-worklet": "^5.1.24",
+ "standardized-audio-context": "^25.3.28",
+ "subscribable-things": "^2.1.5",
"tslib": "^2.4.0"
}
},
"node_modules/extendable-media-recorder-wav-encoder": {
- "version": "7.0.68",
- "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder/-/extendable-media-recorder-wav-encoder-7.0.68.tgz",
- "integrity": "sha512-TAjqUzp9CCTe48asy6EDnCyHepAEKivpUdPlBYzLjuMwSaLtriASbhLX+e7u81E6WnjZAHxvu4CHCYTZ/IFoUg==",
+ "version": "7.0.73",
+ "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder/-/extendable-media-recorder-wav-encoder-7.0.73.tgz",
+ "integrity": "sha512-tITv5EtY7ZeOKnLEUf74nOmcaGEMalDamqxrnmi2aVK6si45pitUmnRbjYcThykogwlN1zlIuvg153JyCkWTuQ==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
- "extendable-media-recorder-wav-encoder-broker": "^7.0.62",
- "extendable-media-recorder-wav-encoder-worker": "^8.0.61",
+ "@babel/runtime": "^7.18.3",
+ "extendable-media-recorder-wav-encoder-broker": "^7.0.67",
+ "extendable-media-recorder-wav-encoder-worker": "^8.0.66",
"tslib": "^2.4.0"
}
},
"node_modules/extendable-media-recorder-wav-encoder-broker": {
- "version": "7.0.62",
- "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-broker/-/extendable-media-recorder-wav-encoder-broker-7.0.62.tgz",
- "integrity": "sha512-OiwXwlOdUndvFP/paAwZ0Y+gVLSzUVX28ag5pFv4+S9Rg1Kum2CeeZGHVUoeaHQ8WMCeJevna1EzQ9oOtWwwlw==",
+ "version": "7.0.67",
+ "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-broker/-/extendable-media-recorder-wav-encoder-broker-7.0.67.tgz",
+ "integrity": "sha512-AXtiOuk2NviYM4H3cSp2bzLPM28pYR5NTJ9Gw7+YWppICqi3PHjXpOG6jHVb/AIvgYG4AX73UuSmJZUmxbtoWA==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
- "broker-factory": "^3.0.61",
- "extendable-media-recorder-wav-encoder-worker": "^8.0.61",
+ "@babel/runtime": "^7.18.3",
+ "broker-factory": "^3.0.65",
+ "extendable-media-recorder-wav-encoder-worker": "^8.0.66",
"tslib": "^2.4.0"
}
},
@@ -11534,13 +11534,13 @@
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"node_modules/extendable-media-recorder-wav-encoder-worker": {
- "version": "8.0.61",
- "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-worker/-/extendable-media-recorder-wav-encoder-worker-8.0.61.tgz",
- "integrity": "sha512-WQsdAMOldjJQJsJHW+/4gLtiNDn/XNmaBRpfnit2hR055VIym/3cwD4yosWz07KiKoxXU6eHycRB2fPNiL9PfQ==",
+ "version": "8.0.66",
+ "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-worker/-/extendable-media-recorder-wav-encoder-worker-8.0.66.tgz",
+ "integrity": "sha512-tagYFsYKRVP3Afz7cu57DTEMRBBum1KnSU/bskMCwmfx0vbgwHhrNOct3zwD1MSbCxAgKy1/nsIpcZYMKGmSJw==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0",
- "worker-factory": "^6.0.61"
+ "worker-factory": "^6.0.65"
}
},
"node_modules/extendable-media-recorder-wav-encoder-worker/node_modules/tslib": {
@@ -11694,11 +11694,11 @@
"dev": true
},
"node_modules/fast-unique-numbers": {
- "version": "6.0.15",
- "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-6.0.15.tgz",
- "integrity": "sha512-WcGw5cmMdBBx7v2RmEwSHjaVzHjpfkjZuAEE1H3eyZNeOyPeKOmgwDzKt1cUq9ckpz4ZpxozDDki77FOF51n7g==",
+ "version": "6.0.18",
+ "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-6.0.18.tgz",
+ "integrity": "sha512-HB9C9Kwn+bcWjjDHzxM8poxm5VjxCvXGkc/XijeeAMGGOlw423QjjqNVcVBx8HLRUAEvhrv6kYoD10x8bXJWuQ==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0"
},
"engines": {
@@ -15569,25 +15569,25 @@
"dev": true
},
"node_modules/media-encoder-host": {
- "version": "8.0.70",
- "resolved": "https://registry.npmjs.org/media-encoder-host/-/media-encoder-host-8.0.70.tgz",
- "integrity": "sha512-mNymonSFpzbU9lSGGjzy+iWuW5n6/VEDpA5o76uqPScO6iQdzZCtJyr0BgbmZr4GIKLzuXrvRREsx6g9V9utrg==",
+ "version": "8.0.75",
+ "resolved": "https://registry.npmjs.org/media-encoder-host/-/media-encoder-host-8.0.75.tgz",
+ "integrity": "sha512-w8ugZFFregPAz5K0Nfr8HtglAHZkf5RmFstGsb6BwbbCIpupc4i7oDfa1yuHf6nlfyjwnTowTKelE/rQuZ/fgA==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
- "media-encoder-host-broker": "^7.0.62",
- "media-encoder-host-worker": "^9.0.62",
+ "@babel/runtime": "^7.18.3",
+ "media-encoder-host-broker": "^7.0.67",
+ "media-encoder-host-worker": "^9.0.67",
"tslib": "^2.4.0"
}
},
"node_modules/media-encoder-host-broker": {
- "version": "7.0.62",
- "resolved": "https://registry.npmjs.org/media-encoder-host-broker/-/media-encoder-host-broker-7.0.62.tgz",
- "integrity": "sha512-dfMYczE5ZQ2iTP4afN1fxxtRLGNVx2OPaMTJ+/+eBpe1rHQc4k4KC31y6bOovRvqX/Av1I21AlRGMEz1dpThZA==",
- "dependencies": {
- "@babel/runtime": "^7.17.9",
- "broker-factory": "^3.0.61",
- "fast-unique-numbers": "^6.0.15",
- "media-encoder-host-worker": "^9.0.62",
+ "version": "7.0.67",
+ "resolved": "https://registry.npmjs.org/media-encoder-host-broker/-/media-encoder-host-broker-7.0.67.tgz",
+ "integrity": "sha512-50fkSxu24TXdctYcvMRGjtvemBNccE8k7Zl3yyIjVpYRFiqilYN8mkOJ+55RCXoeaDFKjG+XAbxZTURrV5ARcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "broker-factory": "^3.0.65",
+ "fast-unique-numbers": "^6.0.18",
+ "media-encoder-host-worker": "^9.0.67",
"tslib": "^2.4.0"
}
},
@@ -15597,14 +15597,14 @@
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"node_modules/media-encoder-host-worker": {
- "version": "9.0.62",
- "resolved": "https://registry.npmjs.org/media-encoder-host-worker/-/media-encoder-host-worker-9.0.62.tgz",
- "integrity": "sha512-4jNR8/MV48h2HwVjftcHEDwhmoZMDn9g8474YO3hQlL+hgousdmzUY9WJg1gnxZUGrOKO7vMwa68NXhkp2StJA==",
+ "version": "9.0.67",
+ "resolved": "https://registry.npmjs.org/media-encoder-host-worker/-/media-encoder-host-worker-9.0.67.tgz",
+ "integrity": "sha512-ulwF34fIj3Q9Zys0qz/VEciY4W0vD7NUl25j0Ga7B0Rq+mgjvsGaslsRMWYwe49BgkcXTnOGzwtyFKq1G447IA==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
- "extendable-media-recorder-wav-encoder-broker": "^7.0.62",
+ "@babel/runtime": "^7.18.3",
+ "extendable-media-recorder-wav-encoder-broker": "^7.0.67",
"tslib": "^2.4.0",
- "worker-factory": "^6.0.61"
+ "worker-factory": "^6.0.65"
}
},
"node_modules/media-encoder-host-worker/node_modules/tslib": {
@@ -15972,11 +15972,11 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/multi-buffer-data-view": {
- "version": "3.0.16",
- "resolved": "https://registry.npmjs.org/multi-buffer-data-view/-/multi-buffer-data-view-3.0.16.tgz",
- "integrity": "sha512-qgoVuop4RGk75PN+E3XB1RCCLyaIZIFW4EmQ9Wy1knsc4gks2MsCh2wYNw2qiefJjq5cNhkBm7BBFKOjjEhciA==",
+ "version": "3.0.19",
+ "resolved": "https://registry.npmjs.org/multi-buffer-data-view/-/multi-buffer-data-view-3.0.19.tgz",
+ "integrity": "sha512-w4RRwd+PDVwRsWIV44HQsscNWScunh0OKCDMSbyfyDNzjMnnl+H+TgNBaAdL2dExNxfabhgQYhBm3luehbL/iA==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0"
},
"engines": {
@@ -17935,26 +17935,26 @@
}
},
"node_modules/recorder-audio-worklet": {
- "version": "5.1.23",
- "resolved": "https://registry.npmjs.org/recorder-audio-worklet/-/recorder-audio-worklet-5.1.23.tgz",
- "integrity": "sha512-YdLxIsQwaorwceq55iIqVfYAXUvsH685TeMMwMBRZbLlE5JSWZk5pIOKwhWEzC1Uo/coM1v7OBpnhQYVRdH5KQ==",
- "dependencies": {
- "@babel/runtime": "^7.17.9",
- "broker-factory": "^3.0.61",
- "fast-unique-numbers": "^6.0.15",
- "recorder-audio-worklet-processor": "^4.2.10",
- "standardized-audio-context": "^25.3.25",
- "subscribable-things": "^2.1.2",
+ "version": "5.1.24",
+ "resolved": "https://registry.npmjs.org/recorder-audio-worklet/-/recorder-audio-worklet-5.1.24.tgz",
+ "integrity": "sha512-zdl4NHgA4OtIlMRlVrCk4eteqfFIWcAEzmk/JYFybp1kcQ5K43csKIBkdXdyRtqwRVgGM5kLHFcjSKclllvVMw==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "broker-factory": "^3.0.65",
+ "fast-unique-numbers": "^6.0.18",
+ "recorder-audio-worklet-processor": "^4.2.13",
+ "standardized-audio-context": "^25.3.28",
+ "subscribable-things": "^2.1.5",
"tslib": "^2.4.0",
- "worker-factory": "^6.0.61"
+ "worker-factory": "^6.0.65"
}
},
"node_modules/recorder-audio-worklet-processor": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/recorder-audio-worklet-processor/-/recorder-audio-worklet-processor-4.2.10.tgz",
- "integrity": "sha512-2CwIl/7oE5Kna2kvLJnyHbnj0cdbEusVJcXFMzAMaz9ub+itXHfzTcQJEjE2FbM0iDSscp8LOzo+yiFHIzZ5oQ==",
+ "version": "4.2.13",
+ "resolved": "https://registry.npmjs.org/recorder-audio-worklet-processor/-/recorder-audio-worklet-processor-4.2.13.tgz",
+ "integrity": "sha512-sgK+PlHZO4Q7dfBJb+t51QDsbP49YK/J+YSlpjgrDpU2nrsheefo1WV0xlJxA77LLxF/NukhLUfTlKYedRkShg==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0"
}
},
@@ -19492,12 +19492,12 @@
"dev": true
},
"node_modules/standardized-audio-context": {
- "version": "25.3.25",
- "resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.3.25.tgz",
- "integrity": "sha512-MiSMIANganaT8GBy6YZ1t8lACfWmi23UqJzZPds65jP/E2qgKfJNUkyF9vWwgjcVT7+ewYbc7VWZ4yfsjQJjsw==",
+ "version": "25.3.28",
+ "resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.3.28.tgz",
+ "integrity": "sha512-w3TIDQ2z5iA76A3qFjL/knf45BAwHYAqQmDNlDrlE2El89kFKv43TjiN94N0joiMr7G3CRmO1bOuQ7wopDon9g==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
- "automation-events": "^4.0.16",
+ "@babel/runtime": "^7.18.3",
+ "automation-events": "^4.0.19",
"tslib": "^2.4.0"
}
},
@@ -20277,11 +20277,11 @@
}
},
"node_modules/subscribable-things": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/subscribable-things/-/subscribable-things-2.1.2.tgz",
- "integrity": "sha512-HhPRj+XP+DLeb6iCgoIBCOUkq5sYdpcipzXAZl97B7PBkH5lrL8MhNjTVd5eVHzeTVh1yx5ZdAxYzvF3Lt4mfg==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/subscribable-things/-/subscribable-things-2.1.5.tgz",
+ "integrity": "sha512-uxIRhQF+KxhBecK3hHso/6EvPEtMjl5KxOLdo0efzga2Yh/jmCXpmHZOByTV3cfYFlw7AfkBstO6iY350wlj/Q==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"rxjs-interop": "^2.0.0",
"tslib": "^2.4.0"
}
@@ -21214,9 +21214,9 @@
}
},
"node_modules/typescript": {
- "version": "4.6.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
- "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==",
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz",
+ "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
@@ -23315,13 +23315,13 @@
}
},
"node_modules/worker-factory": {
- "version": "6.0.61",
- "resolved": "https://registry.npmjs.org/worker-factory/-/worker-factory-6.0.61.tgz",
- "integrity": "sha512-KaIJitUDCFGIHSnSbEwMYlQGuD+qkI+H5e3LX1lZICmWJdoHovv112f40PgEcrSgROs14ry+3lFhEsU2rqj5iw==",
+ "version": "6.0.65",
+ "resolved": "https://registry.npmjs.org/worker-factory/-/worker-factory-6.0.65.tgz",
+ "integrity": "sha512-94UnSG5Y164ujaWc7+exuRC9MDci1bfEM8I3qr7k4yjuWa0orgaOgUBwTtdH8HEUtmE9O5O+khAFulGzuief0Q==",
"dependencies": {
- "@babel/runtime": "^7.17.9",
- "compilerr": "^9.0.15",
- "fast-unique-numbers": "^6.0.15",
+ "@babel/runtime": "^7.18.3",
+ "compilerr": "^9.0.19",
+ "fast-unique-numbers": "^6.0.18",
"tslib": "^2.4.0"
}
},
@@ -25202,9 +25202,9 @@
}
},
"@babel/runtime": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
- "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz",
+ "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==",
"requires": {
"regenerator-runtime": "^0.13.4"
}
@@ -28580,11 +28580,11 @@
"integrity": "sha512-8zx/3Bwo/PxqwpNrEm2Zf9ZBCjfkLmLhS7lqzfP1eWH69iD/WyKWFpysben+gYxMSHcO9S94qvseGk4FVxba0g=="
},
"automation-events": {
- "version": "4.0.16",
- "resolved": "https://registry.npmjs.org/automation-events/-/automation-events-4.0.16.tgz",
- "integrity": "sha512-8mIkcXzjyisUaw2O9HC80wOHscEPPD/ROrh/rEKN2B3VJzt3YJH5w0LcpUHyzprqV24HR0eTCelSKoei1FGg1A==",
+ "version": "4.0.19",
+ "resolved": "https://registry.npmjs.org/automation-events/-/automation-events-4.0.19.tgz",
+ "integrity": "sha512-e8ALmWdXSkDAtDVkmqLcCDMfMMvHcPTwsg+1GsxEO8+Cyg7FQs7F3VKifzdRTADVU6S1aqlPzDE3+KLFsH0sxA==",
"requires": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -29285,14 +29285,14 @@
}
},
"broker-factory": {
- "version": "3.0.61",
- "resolved": "https://registry.npmjs.org/broker-factory/-/broker-factory-3.0.61.tgz",
- "integrity": "sha512-ns5dmQLu1f5dankjVH5HbrKcif7g0+RSm4na++gcMShn73KG5ZNq1gbZjrD1pJc8/et4cqu4ouf3FDrmKh0t6Q==",
+ "version": "3.0.65",
+ "resolved": "https://registry.npmjs.org/broker-factory/-/broker-factory-3.0.65.tgz",
+ "integrity": "sha512-0z8YLszaRFN3Q91oPjjSXUXmsRQFqEJN9wduzQh9snlYght+BhnPDaGJ3FSkgepBdmgeNCDwCAmG1WMczYW+sQ==",
"requires": {
- "@babel/runtime": "^7.17.9",
- "fast-unique-numbers": "^6.0.15",
+ "@babel/runtime": "^7.18.3",
+ "fast-unique-numbers": "^6.0.18",
"tslib": "^2.4.0",
- "worker-factory": "^6.0.61"
+ "worker-factory": "^6.0.65"
},
"dependencies": {
"tslib": {
@@ -30112,11 +30112,11 @@
"peer": true
},
"compilerr": {
- "version": "9.0.15",
- "resolved": "https://registry.npmjs.org/compilerr/-/compilerr-9.0.15.tgz",
- "integrity": "sha512-x1Xpp4+g4LdvipYpiQD8qXPn4rRZ7C4halnvTTfc+8y1t3AIFRhHh4mDDX9ikQ3FImYDbZ7m6AjsFWGVhe1j5A==",
+ "version": "9.0.19",
+ "resolved": "https://registry.npmjs.org/compilerr/-/compilerr-9.0.19.tgz",
+ "integrity": "sha512-SyL2BuRMMXWFXQUxvwZN/BfGGaDMqaWfbv3Y2r1Ig85pgf7UWsju2gl2pNLpehBvQ8oQz2v+eIgE2t4u3N5ZbA==",
"requires": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"dashify": "^2.0.0",
"indefinite-article": "0.0.2",
"tslib": "^2.4.0"
@@ -32901,16 +32901,16 @@
}
},
"extendable-media-recorder": {
- "version": "6.6.6",
- "resolved": "https://registry.npmjs.org/extendable-media-recorder/-/extendable-media-recorder-6.6.6.tgz",
- "integrity": "sha512-UZ8UERpnKWxWBSjM7pFZLH8zXrSRC1ghsv3jXW68UN+OLgKqz86GacatbHJZbqZC6pBWn67MGrFTSXUjzrUH3w==",
- "requires": {
- "@babel/runtime": "^7.17.9",
- "media-encoder-host": "^8.0.70",
- "multi-buffer-data-view": "^3.0.16",
- "recorder-audio-worklet": "^5.1.23",
- "standardized-audio-context": "^25.3.25",
- "subscribable-things": "^2.1.2",
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/extendable-media-recorder/-/extendable-media-recorder-6.6.7.tgz",
+ "integrity": "sha512-/kEFVMZtJsHiiC0f7bjWRpqF8bAx86LEa9JCNgaedXTDS0AqZtOaj285LUtkpKT6I6rLQMNOkfDCMYjMWNthug==",
+ "requires": {
+ "@babel/runtime": "^7.18.3",
+ "media-encoder-host": "^8.0.75",
+ "multi-buffer-data-view": "^3.0.19",
+ "recorder-audio-worklet": "^5.1.24",
+ "standardized-audio-context": "^25.3.28",
+ "subscribable-things": "^2.1.5",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -32922,13 +32922,13 @@
}
},
"extendable-media-recorder-wav-encoder": {
- "version": "7.0.68",
- "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder/-/extendable-media-recorder-wav-encoder-7.0.68.tgz",
- "integrity": "sha512-TAjqUzp9CCTe48asy6EDnCyHepAEKivpUdPlBYzLjuMwSaLtriASbhLX+e7u81E6WnjZAHxvu4CHCYTZ/IFoUg==",
+ "version": "7.0.73",
+ "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder/-/extendable-media-recorder-wav-encoder-7.0.73.tgz",
+ "integrity": "sha512-tITv5EtY7ZeOKnLEUf74nOmcaGEMalDamqxrnmi2aVK6si45pitUmnRbjYcThykogwlN1zlIuvg153JyCkWTuQ==",
"requires": {
- "@babel/runtime": "^7.17.9",
- "extendable-media-recorder-wav-encoder-broker": "^7.0.62",
- "extendable-media-recorder-wav-encoder-worker": "^8.0.61",
+ "@babel/runtime": "^7.18.3",
+ "extendable-media-recorder-wav-encoder-broker": "^7.0.67",
+ "extendable-media-recorder-wav-encoder-worker": "^8.0.66",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -32940,13 +32940,13 @@
}
},
"extendable-media-recorder-wav-encoder-broker": {
- "version": "7.0.62",
- "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-broker/-/extendable-media-recorder-wav-encoder-broker-7.0.62.tgz",
- "integrity": "sha512-OiwXwlOdUndvFP/paAwZ0Y+gVLSzUVX28ag5pFv4+S9Rg1Kum2CeeZGHVUoeaHQ8WMCeJevna1EzQ9oOtWwwlw==",
+ "version": "7.0.67",
+ "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-broker/-/extendable-media-recorder-wav-encoder-broker-7.0.67.tgz",
+ "integrity": "sha512-AXtiOuk2NviYM4H3cSp2bzLPM28pYR5NTJ9Gw7+YWppICqi3PHjXpOG6jHVb/AIvgYG4AX73UuSmJZUmxbtoWA==",
"requires": {
- "@babel/runtime": "^7.17.9",
- "broker-factory": "^3.0.61",
- "extendable-media-recorder-wav-encoder-worker": "^8.0.61",
+ "@babel/runtime": "^7.18.3",
+ "broker-factory": "^3.0.65",
+ "extendable-media-recorder-wav-encoder-worker": "^8.0.66",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -32958,13 +32958,13 @@
}
},
"extendable-media-recorder-wav-encoder-worker": {
- "version": "8.0.61",
- "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-worker/-/extendable-media-recorder-wav-encoder-worker-8.0.61.tgz",
- "integrity": "sha512-WQsdAMOldjJQJsJHW+/4gLtiNDn/XNmaBRpfnit2hR055VIym/3cwD4yosWz07KiKoxXU6eHycRB2fPNiL9PfQ==",
+ "version": "8.0.66",
+ "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-worker/-/extendable-media-recorder-wav-encoder-worker-8.0.66.tgz",
+ "integrity": "sha512-tagYFsYKRVP3Afz7cu57DTEMRBBum1KnSU/bskMCwmfx0vbgwHhrNOct3zwD1MSbCxAgKy1/nsIpcZYMKGmSJw==",
"requires": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0",
- "worker-factory": "^6.0.61"
+ "worker-factory": "^6.0.65"
},
"dependencies": {
"tslib": {
@@ -33084,11 +33084,11 @@
"dev": true
},
"fast-unique-numbers": {
- "version": "6.0.15",
- "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-6.0.15.tgz",
- "integrity": "sha512-WcGw5cmMdBBx7v2RmEwSHjaVzHjpfkjZuAEE1H3eyZNeOyPeKOmgwDzKt1cUq9ckpz4ZpxozDDki77FOF51n7g==",
+ "version": "6.0.18",
+ "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-6.0.18.tgz",
+ "integrity": "sha512-HB9C9Kwn+bcWjjDHzxM8poxm5VjxCvXGkc/XijeeAMGGOlw423QjjqNVcVBx8HLRUAEvhrv6kYoD10x8bXJWuQ==",
"requires": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -36183,13 +36183,13 @@
"dev": true
},
"media-encoder-host": {
- "version": "8.0.70",
- "resolved": "https://registry.npmjs.org/media-encoder-host/-/media-encoder-host-8.0.70.tgz",
- "integrity": "sha512-mNymonSFpzbU9lSGGjzy+iWuW5n6/VEDpA5o76uqPScO6iQdzZCtJyr0BgbmZr4GIKLzuXrvRREsx6g9V9utrg==",
+ "version": "8.0.75",
+ "resolved": "https://registry.npmjs.org/media-encoder-host/-/media-encoder-host-8.0.75.tgz",
+ "integrity": "sha512-w8ugZFFregPAz5K0Nfr8HtglAHZkf5RmFstGsb6BwbbCIpupc4i7oDfa1yuHf6nlfyjwnTowTKelE/rQuZ/fgA==",
"requires": {
- "@babel/runtime": "^7.17.9",
- "media-encoder-host-broker": "^7.0.62",
- "media-encoder-host-worker": "^9.0.62",
+ "@babel/runtime": "^7.18.3",
+ "media-encoder-host-broker": "^7.0.67",
+ "media-encoder-host-worker": "^9.0.67",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -36201,14 +36201,14 @@
}
},
"media-encoder-host-broker": {
- "version": "7.0.62",
- "resolved": "https://registry.npmjs.org/media-encoder-host-broker/-/media-encoder-host-broker-7.0.62.tgz",
- "integrity": "sha512-dfMYczE5ZQ2iTP4afN1fxxtRLGNVx2OPaMTJ+/+eBpe1rHQc4k4KC31y6bOovRvqX/Av1I21AlRGMEz1dpThZA==",
- "requires": {
- "@babel/runtime": "^7.17.9",
- "broker-factory": "^3.0.61",
- "fast-unique-numbers": "^6.0.15",
- "media-encoder-host-worker": "^9.0.62",
+ "version": "7.0.67",
+ "resolved": "https://registry.npmjs.org/media-encoder-host-broker/-/media-encoder-host-broker-7.0.67.tgz",
+ "integrity": "sha512-50fkSxu24TXdctYcvMRGjtvemBNccE8k7Zl3yyIjVpYRFiqilYN8mkOJ+55RCXoeaDFKjG+XAbxZTURrV5ARcQ==",
+ "requires": {
+ "@babel/runtime": "^7.18.3",
+ "broker-factory": "^3.0.65",
+ "fast-unique-numbers": "^6.0.18",
+ "media-encoder-host-worker": "^9.0.67",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -36220,14 +36220,14 @@
}
},
"media-encoder-host-worker": {
- "version": "9.0.62",
- "resolved": "https://registry.npmjs.org/media-encoder-host-worker/-/media-encoder-host-worker-9.0.62.tgz",
- "integrity": "sha512-4jNR8/MV48h2HwVjftcHEDwhmoZMDn9g8474YO3hQlL+hgousdmzUY9WJg1gnxZUGrOKO7vMwa68NXhkp2StJA==",
+ "version": "9.0.67",
+ "resolved": "https://registry.npmjs.org/media-encoder-host-worker/-/media-encoder-host-worker-9.0.67.tgz",
+ "integrity": "sha512-ulwF34fIj3Q9Zys0qz/VEciY4W0vD7NUl25j0Ga7B0Rq+mgjvsGaslsRMWYwe49BgkcXTnOGzwtyFKq1G447IA==",
"requires": {
- "@babel/runtime": "^7.17.9",
- "extendable-media-recorder-wav-encoder-broker": "^7.0.62",
+ "@babel/runtime": "^7.18.3",
+ "extendable-media-recorder-wav-encoder-broker": "^7.0.67",
"tslib": "^2.4.0",
- "worker-factory": "^6.0.61"
+ "worker-factory": "^6.0.65"
},
"dependencies": {
"tslib": {
@@ -36520,11 +36520,11 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multi-buffer-data-view": {
- "version": "3.0.16",
- "resolved": "https://registry.npmjs.org/multi-buffer-data-view/-/multi-buffer-data-view-3.0.16.tgz",
- "integrity": "sha512-qgoVuop4RGk75PN+E3XB1RCCLyaIZIFW4EmQ9Wy1knsc4gks2MsCh2wYNw2qiefJjq5cNhkBm7BBFKOjjEhciA==",
+ "version": "3.0.19",
+ "resolved": "https://registry.npmjs.org/multi-buffer-data-view/-/multi-buffer-data-view-3.0.19.tgz",
+ "integrity": "sha512-w4RRwd+PDVwRsWIV44HQsscNWScunh0OKCDMSbyfyDNzjMnnl+H+TgNBaAdL2dExNxfabhgQYhBm3luehbL/iA==",
"requires": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -38091,18 +38091,18 @@
}
},
"recorder-audio-worklet": {
- "version": "5.1.23",
- "resolved": "https://registry.npmjs.org/recorder-audio-worklet/-/recorder-audio-worklet-5.1.23.tgz",
- "integrity": "sha512-YdLxIsQwaorwceq55iIqVfYAXUvsH685TeMMwMBRZbLlE5JSWZk5pIOKwhWEzC1Uo/coM1v7OBpnhQYVRdH5KQ==",
- "requires": {
- "@babel/runtime": "^7.17.9",
- "broker-factory": "^3.0.61",
- "fast-unique-numbers": "^6.0.15",
- "recorder-audio-worklet-processor": "^4.2.10",
- "standardized-audio-context": "^25.3.25",
- "subscribable-things": "^2.1.2",
+ "version": "5.1.24",
+ "resolved": "https://registry.npmjs.org/recorder-audio-worklet/-/recorder-audio-worklet-5.1.24.tgz",
+ "integrity": "sha512-zdl4NHgA4OtIlMRlVrCk4eteqfFIWcAEzmk/JYFybp1kcQ5K43csKIBkdXdyRtqwRVgGM5kLHFcjSKclllvVMw==",
+ "requires": {
+ "@babel/runtime": "^7.18.3",
+ "broker-factory": "^3.0.65",
+ "fast-unique-numbers": "^6.0.18",
+ "recorder-audio-worklet-processor": "^4.2.13",
+ "standardized-audio-context": "^25.3.28",
+ "subscribable-things": "^2.1.5",
"tslib": "^2.4.0",
- "worker-factory": "^6.0.61"
+ "worker-factory": "^6.0.65"
},
"dependencies": {
"tslib": {
@@ -38113,11 +38113,11 @@
}
},
"recorder-audio-worklet-processor": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/recorder-audio-worklet-processor/-/recorder-audio-worklet-processor-4.2.10.tgz",
- "integrity": "sha512-2CwIl/7oE5Kna2kvLJnyHbnj0cdbEusVJcXFMzAMaz9ub+itXHfzTcQJEjE2FbM0iDSscp8LOzo+yiFHIzZ5oQ==",
+ "version": "4.2.13",
+ "resolved": "https://registry.npmjs.org/recorder-audio-worklet-processor/-/recorder-audio-worklet-processor-4.2.13.tgz",
+ "integrity": "sha512-sgK+PlHZO4Q7dfBJb+t51QDsbP49YK/J+YSlpjgrDpU2nrsheefo1WV0xlJxA77LLxF/NukhLUfTlKYedRkShg==",
"requires": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -39373,12 +39373,12 @@
"dev": true
},
"standardized-audio-context": {
- "version": "25.3.25",
- "resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.3.25.tgz",
- "integrity": "sha512-MiSMIANganaT8GBy6YZ1t8lACfWmi23UqJzZPds65jP/E2qgKfJNUkyF9vWwgjcVT7+ewYbc7VWZ4yfsjQJjsw==",
+ "version": "25.3.28",
+ "resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.3.28.tgz",
+ "integrity": "sha512-w3TIDQ2z5iA76A3qFjL/knf45BAwHYAqQmDNlDrlE2El89kFKv43TjiN94N0joiMr7G3CRmO1bOuQ7wopDon9g==",
"requires": {
- "@babel/runtime": "^7.17.9",
- "automation-events": "^4.0.16",
+ "@babel/runtime": "^7.18.3",
+ "automation-events": "^4.0.19",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -39988,11 +39988,11 @@
}
},
"subscribable-things": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/subscribable-things/-/subscribable-things-2.1.2.tgz",
- "integrity": "sha512-HhPRj+XP+DLeb6iCgoIBCOUkq5sYdpcipzXAZl97B7PBkH5lrL8MhNjTVd5eVHzeTVh1yx5ZdAxYzvF3Lt4mfg==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/subscribable-things/-/subscribable-things-2.1.5.tgz",
+ "integrity": "sha512-uxIRhQF+KxhBecK3hHso/6EvPEtMjl5KxOLdo0efzga2Yh/jmCXpmHZOByTV3cfYFlw7AfkBstO6iY350wlj/Q==",
"requires": {
- "@babel/runtime": "^7.17.9",
+ "@babel/runtime": "^7.18.3",
"rxjs-interop": "^2.0.0",
"tslib": "^2.4.0"
},
@@ -40717,9 +40717,9 @@
}
},
"typescript": {
- "version": "4.6.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
- "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==",
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz",
+ "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==",
"dev": true
},
"ua-parser-js": {
@@ -42365,13 +42365,13 @@
}
},
"worker-factory": {
- "version": "6.0.61",
- "resolved": "https://registry.npmjs.org/worker-factory/-/worker-factory-6.0.61.tgz",
- "integrity": "sha512-KaIJitUDCFGIHSnSbEwMYlQGuD+qkI+H5e3LX1lZICmWJdoHovv112f40PgEcrSgROs14ry+3lFhEsU2rqj5iw==",
+ "version": "6.0.65",
+ "resolved": "https://registry.npmjs.org/worker-factory/-/worker-factory-6.0.65.tgz",
+ "integrity": "sha512-94UnSG5Y164ujaWc7+exuRC9MDci1bfEM8I3qr7k4yjuWa0orgaOgUBwTtdH8HEUtmE9O5O+khAFulGzuief0Q==",
"requires": {
- "@babel/runtime": "^7.17.9",
- "compilerr": "^9.0.15",
- "fast-unique-numbers": "^6.0.15",
+ "@babel/runtime": "^7.18.3",
+ "compilerr": "^9.0.19",
+ "fast-unique-numbers": "^6.0.18",
"tslib": "^2.4.0"
},
"dependencies": {
diff --git a/package.json b/package.json
index af7c350eb..41d65eabc 100644
--- a/package.json
+++ b/package.json
@@ -37,9 +37,9 @@
"debounce": "^1.2.1",
"emoji-regex": "^10.1.0",
"escape-html": "^1.0.3",
- "extendable-media-recorder": "^6.6.6",
- "extendable-media-recorder-wav-encoder": "^7.0.68",
- "extendable-media-recorder-wav-encoder-worker": "^8.0.60",
+ "extendable-media-recorder": "^6.6.7",
+ "extendable-media-recorder-wav-encoder": "^7.0.73",
+ "extendable-media-recorder-wav-encoder-worker": "^8.0.66",
"hark": "^1.2.3",
"leaflet": "^1.8.0",
"leaflet-defaulticon-compatibility": "^0.1.1",
@@ -86,7 +86,7 @@
"regenerator-runtime": "^0.13.9",
"terser-webpack-plugin": "^5.3.1",
"ts-loader": "^9.3.0",
- "typescript": "^4.6.4",
+ "typescript": "^4.7.2",
"wasm-check": "^2.0.4",
"webpack-node-externals": "^3.0.0",
"worker-loader": "^3.0.8"
diff --git a/src/components/LeftSidebar/LeftSidebar.vue b/src/components/LeftSidebar/LeftSidebar.vue
index f410d9ddd..1652ddf8a 100644
--- a/src/components/LeftSidebar/LeftSidebar.vue
+++ b/src/components/LeftSidebar/LeftSidebar.vue
@@ -28,6 +28,7 @@
:is-searching="isSearching"
@input="debounceFetchSearchResults"
@submit="onInputEnter"
+ @keydown.enter.native="handleEnter"
@abort-search="abortSearch" />
<NewGroupConversation v-if="canStartConversations" />
</div>
@@ -490,6 +491,14 @@ export default {
this.handleScroll()
this.handleUnreadMention()
}, 50),
+
+ // Route to the first search result
+ handleEnter() {
+ if (this?.conversationsList[0]?.token) {
+ this.$router.push({ name: 'conversation', params: { token: this.conversationsList[0].token } })
+ }
+ this.handleClickSearchResult()
+ },
},
}
</script>
diff --git a/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageButtonsBar.spec.js b/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageButtonsBar.spec.js
index dc358fd6b..76475e4e1 100644
--- a/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageButtonsBar.spec.js
+++ b/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageButtonsBar.spec.js
@@ -409,7 +409,7 @@ describe('MessageButtonsBar.vue', () => {
icon: 'some-icon2',
callback: handler2,
}])
- testStoreConfig.modules.messageActionsStore.getters.messageActions = actionsGetterMock
+ testStoreConfig.modules.integrationsStore.getters.messageActions = actionsGetterMock
testStoreConfig.modules.messagesStore.getters.message = jest.fn(() => () => messageProps)
store = new Store(testStoreConfig)
const wrapper = shallowMount(MessageButtonsBar, {
diff --git a/src/components/NewMessageForm/NewMessageForm.vue b/src/components/NewMessageForm/NewMessageForm.vue
index 8d60e857f..a3dc3ee60 100644
--- a/src/components/NewMessageForm/NewMessageForm.vue
+++ b/src/components/NewMessageForm/NewMessageForm.vue
@@ -105,17 +105,32 @@
:disabled="disabled"
@recording="handleRecording"
@audio-file="handleAudioFile" />
-
- <Button v-else
- :disabled="disabled"
- type="tertiary"
- native-type="submit"
- :aria-label="t('spreed', 'Send message')"
- @click.prevent="handleSubmit">
- <Send title=""
- :size="16"
- decorative />
- </Button>
+ <!-- Send buttons -->
+ <template v-else>
+ <Actions :force-menu="true">
+ <!-- Silent send -->
+ <ActionButton :close-after-click="true"
+ icon="icon-upload"
+ :title="t('spreed', 'Send silently')"
+ @click.prevent="handleSubmit({ silent: true })">
+ {{ silentSendInfo }}
+ <BellOff slot="icon"
+ :size="16"
+ decorative
+ title="" />
+ </ActionButton>
+ </Actions>
+ <!-- Send -->
+ <Button :disabled="disabled"
+ type="tertiary"
+ native-type="submit"
+ :aria-label="t('spreed', 'Send message')"
+ @click.prevent="handleSubmit({ silent: false })">
+ <Send title=""
+ :size="16"
+ decorative />
+ </Button>
+ </template>
</form>
</div>
</div>
@@ -133,9 +148,10 @@ import EmojiPicker from '@nextcloud/vue/dist/Components/EmojiPicker'
import { EventBus } from '../../services/EventBus.js'
import { shareFile } from '../../services/filesSharingServices.js'
import { CONVERSATION, PARTICIPANT } from '../../constants.js'
-import Paperclip from 'vue-material-design-icons/Paperclip'
-import EmoticonOutline from 'vue-material-design-icons/EmoticonOutline'
-import Send from 'vue-material-design-icons/Send'
+import Paperclip from 'vue-material-design-icons/Paperclip.vue'
+import EmoticonOutline from 'vue-material-design-icons/EmoticonOutline.vue'
+import Send from 'vue-material-design-icons/Send.vue'
+import BellOff from 'vue-material-design-icons/BellOff.vue'
import AudioRecorder from './AudioRecorder/AudioRecorder.vue'
const picker = getFilePickerBuilder(t('spreed', 'File to share'))
@@ -158,6 +174,7 @@ export default {
EmoticonOutline,
Send,
AudioRecorder,
+ BellOff,
},
props: {
@@ -255,6 +272,19 @@ export default {
containerElement() {
return document.querySelector(this.container)
},
+
+ isOneToOne() {
+ return this.conversation.type === CONVERSATION.TYPE.ONE_TO_ONE
+ },
+
+ silentSendInfo() {
+ if (this.isOneToOne) {
+ return t('spreed', 'The participant will not be notified about this message')
+ } else {
+ return t('spreed', 'The participants will not be notified about this message')
+ }
+
+ },
},
watch: {
@@ -351,8 +381,10 @@ export default {
/**
* Sends the new message
+ *
+ * @param {object} options the submit options
*/
- async handleSubmit() {
+ async handleSubmit(options) {
if (OC.debug && this.parsedText.startsWith('/spam ')) {
const pattern = /^\/spam (\d+) messages$/i
const match = pattern.exec(this.parsedText)
@@ -373,7 +405,7 @@ export default {
EventBus.$emit('smooth-scroll-chat-to-bottom')
// Also remove the message to be replied for this conversation
this.$store.dispatch('removeMessageToBeReplied', this.token)
- await this.$store.dispatch('postNewMessage', temporaryMessage)
+ await this.$store.dispatch('postNewMessage', { temporaryMessage, options })
}
},
diff --git a/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue b/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue
index 371f68b0a..f35fe2755 100644
--- a/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue
+++ b/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue
@@ -46,6 +46,24 @@
@click="handleClickParticipant" />
</template>
+ <!-- integrations -->
+ <template v-if="integrations.length !== 0">
+ <AppNavigationCaption :title="t('spreed', 'Integrations')" />
+ <ul>
+ <Button v-for="(integration, index) in integrations"
+ :key="'integration' + index"
+ type="tertiary-no-background"
+ @click="runIntegration(integration)">
+ <!-- FIXME: dinamically change the material design icon -->
+ <AccountPlus slot="icon"
+ decorative
+ title=""
+ :size="20" />
+ {{ integration.label }}
+ </Button>
+ </ul>
+ </template>
+
<template v-if="addableRemotes.length !== 0">
<AppNavigationCaption :title="t('spreed', 'Add federated users')" />
<ParticipantsList :items="addableRemotes"
@@ -83,6 +101,8 @@
import ParticipantsList from '../ParticipantsList/ParticipantsList.vue'
import AppNavigationCaption from '@nextcloud/vue/dist/Components/AppNavigationCaption'
import Hint from '../../../Hint.vue'
+import AccountPlus from 'vue-material-design-icons/AccountPlus.vue'
+import Button from '@nextcloud/vue/dist/Components/Button'
export default {
name: 'ParticipantsSearchResults',
@@ -91,6 +111,8 @@ export default {
ParticipantsList,
AppNavigationCaption,
Hint,
+ AccountPlus,
+ Button,
},
props: {
@@ -135,6 +157,11 @@ export default {
type: Boolean,
default: false,
},
+
+ searchText: {
+ type: String,
+ default: '',
+ },
},
computed: {
@@ -144,6 +171,10 @@ export default {
|| (this.isCirclesEnabled && !this.addableCircles.length)
},
+ integrations() {
+ return this.$store.getters.participantSearchActions.filter((integration) => integration.show(this.searchText))
+ },
+
sourcesWithoutResultsList() {
if (!this.addableUsers.length) {
if (!this.addableGroups.length) {
@@ -237,6 +268,12 @@ export default {
handleClickHint() {
this.$emit('click-search-hint')
},
+
+ runIntegration(integration) {
+ integration.callback(this.searchText).then((participant) => {
+ this.$emit('click', participant)
+ })
+ },
},
}
</script>
diff --git a/src/components/RightSidebar/Participants/ParticipantsTab.vue b/src/components/RightSidebar/Participants/ParticipantsTab.vue
index bdec6e8d2..a1af9d333 100644
--- a/src/components/RightSidebar/Participants/ParticipantsTab.vue
+++ b/src/components/RightSidebar/Participants/ParticipantsTab.vue
@@ -35,6 +35,7 @@
:search-results="searchResults"
:contacts-loading="contactsLoading"
:no-results="noResults"
+ :search-text="searchText"
@click="addParticipants" />
</div>
</template>
diff --git a/src/components/RightSidebar/SharedItems/SharedItems.vue b/src/components/RightSidebar/SharedItems/SharedItems.vue
index b27323689..3bd6f1f01 100644
--- a/src/components/RightSidebar/SharedItems/SharedItems.vue
+++ b/src/components/RightSidebar/SharedItems/SharedItems.vue
@@ -136,16 +136,15 @@ export default {
}
&__other {
-
width: 100%;
margin-left: 8px;
+
a {
text-decoration: underline;
&:after {
- content: " โ†—";
- }
+ content: ' โ†—';
+ }
}
-
}
}
</style>
diff --git a/src/init.js b/src/init.js
index e955dfac2..4a87fc3b7 100644
--- a/src/init.js
+++ b/src/init.js
@@ -49,6 +49,16 @@ window.OCA.Talk.registerMessageAction = ({ label, callback, icon }) => {
store.dispatch('addMessageAction', messageAction)
}
+window.OCA.Talk.registerParticipantSearchAction = ({ label, callback, show, icon }) => {
+ const participantSearchAction = {
+ label,
+ callback,
+ show,
+ icon,
+ }
+ store.dispatch('addParticipantSearchAction', participantSearchAction)
+}
+
EventBus.$on('signaling-join-room', (payload) => {
const token = payload[0]
store.dispatch('updateLastJoinedConversationToken', token)
diff --git a/src/services/messagesService.js b/src/services/messagesService.js
index 3a211a7e5..1cddecac3 100644
--- a/src/services/messagesService.js
+++ b/src/services/messagesService.js
@@ -76,6 +76,8 @@ const lookForNewMessages = async ({ token, lastKnownMessageId }, options) => {
* @param {string} param0.referenceId A reference id to identify the message later again
* @param {number} param0.parent The id of the message to be replied to
* @param {object} options request options
+ * @param {boolean} options.silent whether the message should trigger a notifications for the
+ * recipients or not
*/
const postNewMessage = async function({ token, message, actorDisplayName, referenceId, parent }, options) {
return axios.post(generateOcsUrl('apps/spreed/api/v1/chat/{token}', { token }), {
@@ -83,6 +85,7 @@ const postNewMessage = async function({ token, message, actorDisplayName, refere
actorDisplayName,
referenceId,
replyTo: parent,
+ silent: options.silent,
}, options)
}
diff --git a/src/store/messageActionsStore.js b/src/store/integrationsStore.js
index 02698431b..21b262f92 100644
--- a/src/store/messageActionsStore.js
+++ b/src/store/integrationsStore.js
@@ -21,24 +21,34 @@
*/
const state = {
messageActions: [],
+ participantSearchActions: [],
}
const getters = {
messageActions: (state) => {
return state.messageActions
},
+ participantSearchActions: (state) => {
+ return state.participantSearchActions
+ },
}
const mutations = {
addMessageAction(state, messageAction) {
state.messageActions.push(messageAction)
},
+ addParticipantSearchAction(state, participantSearchAction) {
+ state.participantSearchActions.push(participantSearchAction)
+ },
}
const actions = {
addMessageAction({ commit }, messageAction) {
commit('addMessageAction', messageAction)
},
+ addParticipantSearchAction({ commit }, participantSearchAction) {
+ commit('addParticipantSearchAction', participantSearchAction)
+ },
}
export default { state, mutations, getters, actions }
diff --git a/src/store/messagesStore.js b/src/store/messagesStore.js
index 7fccbdd7f..0d8b2e977 100644
--- a/src/store/messagesStore.js
+++ b/src/store/messagesStore.js
@@ -585,7 +585,7 @@ const actions = {
* Deletes all messages of a conversation from the store only.
*
* @param {object} context default store context;
- * @param {object} token the token of the conversation to be deleted;
+ * @param {string} token the token of the conversation to be deleted;
*/
deleteMessages(context, token) {
context.commit('deleteMessages', token)
@@ -855,9 +855,11 @@ const actions = {
* Sends the given temporary message to the server.
*
* @param {object} context default store context;
- * @param {object} temporaryMessage temporary message, must already have been added to messages list.
+ * @param {object} data Passed in parameters
+ * @param {object} data.temporaryMessage temporary message, must already have been added to messages list.
+ * @param {object} data.options post request options.
*/
- async postNewMessage(context, temporaryMessage) {
+ async postNewMessage(context, { temporaryMessage, options }) {
const { request, cancel } = CancelableRequest(postNewMessage)
context.commit('setCancelPostNewMessage', { messageId: temporaryMessage.id, cancelFunction: cancel })
@@ -870,7 +872,7 @@ const actions = {
}, 30000)
try {
- const response = await request(temporaryMessage)
+ const response = await request(temporaryMessage, options)
clearTimeout(timeout)
context.commit('setCancelPostNewMessage', { messageId: temporaryMessage.id, cancelFunction: null })
diff --git a/src/store/messagesStore.spec.js b/src/store/messagesStore.spec.js
index 296ec4431..7dd08a5f7 100644
--- a/src/store/messagesStore.spec.js
+++ b/src/store/messagesStore.spec.js
@@ -1427,7 +1427,7 @@ describe('messagesStore', () => {
resolvePromise = resolve
}))
- const returnedPromise = store.dispatch('postNewMessage', temporaryMessage).catch(() => {})
+ const returnedPromise = store.dispatch('postNewMessage', { temporaryMessage, options: { silent: false } }).catch(() => {})
expect(store.getters.isSendingMessages).toBe(true)
resolvePromise(response)
@@ -1438,7 +1438,7 @@ describe('messagesStore', () => {
expect(receivedResponse).toBe(response)
- expect(postNewMessage).toHaveBeenCalledWith(temporaryMessage)
+ expect(postNewMessage).toHaveBeenCalledWith(temporaryMessage, { silent: false })
expect(updateLastCommonReadMessageAction).toHaveBeenCalledWith(
expect.anything(),
@@ -1471,8 +1471,8 @@ describe('messagesStore', () => {
sendingFailure: '',
}
- store.dispatch('postNewMessage', temporaryMessage).catch(() => {})
- store.dispatch('postNewMessage', temporaryMessage2).catch(() => {})
+ store.dispatch('postNewMessage', { temporaryMessage, options: { silent: false } }).catch(() => {})
+ store.dispatch('postNewMessage', { temporaryMessage: temporaryMessage2, options: { silent: false } }).catch(() => {})
expect(cancelFunctionMocks[0]).not.toHaveBeenCalled()
expect(cancelFunctionMocks[1]).not.toHaveBeenCalled()
@@ -1513,7 +1513,7 @@ describe('messagesStore', () => {
postNewMessage.mockRejectedValueOnce({ isAxiosError: true, response })
await expect(
- store.dispatch('postNewMessage', temporaryMessage)
+ store.dispatch('postNewMessage', { temporaryMessage, options: { silent: false } })
).rejects.toMatchObject({ response })
expect(store.getters.isSendingMessages).toBe(false)
@@ -1553,7 +1553,7 @@ describe('messagesStore', () => {
}
store.dispatch('addTemporaryMessage', temporaryMessage)
- store.dispatch('postNewMessage', temporaryMessage).catch(() => {})
+ store.dispatch('postNewMessage', { temporaryMessage, options: { silent: false } }).catch(() => {})
jest.advanceTimersByTime(60000)
@@ -1594,7 +1594,7 @@ describe('messagesStore', () => {
postNewMessage.mockResolvedValueOnce(response)
store.dispatch('addTemporaryMessage', temporaryMessage)
- await store.dispatch('postNewMessage', temporaryMessage)
+ await store.dispatch('postNewMessage', { temporaryMessage, options: { silent: false } })
jest.advanceTimersByTime(60000)
diff --git a/src/store/storeConfig.js b/src/store/storeConfig.js
index b3152bf23..656ca3e5a 100644
--- a/src/store/storeConfig.js
+++ b/src/store/storeConfig.js
@@ -37,7 +37,7 @@ import talkHashStore from './talkHashStore.js'
import tokenStore from './tokenStore.js'
import uiModeStore from './uiModeStore.js'
import windowVisibilityStore from './windowVisibilityStore.js'
-import messageActionsStore from './messageActionsStore.js'
+import integrationsStore from './integrationsStore.js'
import reactionsStore from './reactionsStore.js'
import sharedItemStore from './sharedItemsStore.js'
@@ -60,7 +60,7 @@ export default {
tokenStore,
uiModeStore,
windowVisibilityStore,
- messageActionsStore,
+ integrationsStore,
reactionsStore,
sharedItemStore,
},
diff --git a/src/types/vendor/l10n.d.ts b/src/types/vendor/l10n.d.ts
index 4cf506ee2..eb0ef95f1 100644
--- a/src/types/vendor/l10n.d.ts
+++ b/src/types/vendor/l10n.d.ts
@@ -1 +1 @@
-declare function t(app: string, string: string, vars?: { [key: string]: string }, count?: number, options?: EscapeOptions): string;
+declare function t(app: string, string: string, vars?: { [key: string]: string }, count?: number, options?: any): string;
diff --git a/tests/integration/composer.json b/tests/integration/composer.json
index e495c284e..eb153e912 100644
--- a/tests/integration/composer.json
+++ b/tests/integration/composer.json
@@ -2,7 +2,7 @@
"require-dev": {
"phpunit/phpunit": "^9.5",
"behat/behat": "^3.10",
- "guzzlehttp/guzzle": "6.3.3",
+ "guzzlehttp/guzzle": "6.5.6",
"jarnaiz/behat-junit-formatter": "^1.3"
}
}
diff --git a/tests/integration/composer.lock b/tests/integration/composer.lock
index 34038ba86..5af9648bc 100644
--- a/tests/integration/composer.lock
+++ b/tests/integration/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "2968a9c74295a50244f30bde2e67bb0f",
+ "content-hash": "85ac73071cd74c8d2b9a4e7aac1ba124",
"packages": [],
"packages-dev": [
{
@@ -277,27 +277,29 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "6.3.3",
+ "version": "6.5.6",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba"
+ "reference": "f092dd734083473658de3ee4bef093ed77d2689c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
- "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f092dd734083473658de3ee4bef093ed77d2689c",
+ "reference": "f092dd734083473658de3ee4bef093ed77d2689c",
"shasum": ""
},
"require": {
+ "ext-json": "*",
"guzzlehttp/promises": "^1.0",
- "guzzlehttp/psr7": "^1.4",
- "php": ">=5.5"
+ "guzzlehttp/psr7": "^1.6.1",
+ "php": ">=5.5",
+ "symfony/polyfill-intl-idn": "^1.17.0"
},
"require-dev": {
"ext-curl": "*",
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
- "psr/log": "^1.0"
+ "psr/log": "^1.1"
},
"suggest": {
"psr/log": "Required for using the Log middleware"
@@ -305,7 +307,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "6.3-dev"
+ "dev-master": "6.5-dev"
}
},
"autoload": {
@@ -322,9 +324,39 @@
],
"authors": [
{
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Jeremy Lindblom",
+ "email": "jeremeamia@gmail.com",
+ "homepage": "https://github.com/jeremeamia"
+ },
+ {
+ "name": "George Mponos",
+ "email": "gmponos@gmail.com",
+ "homepage": "https://github.com/gmponos"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Mรกrk Sรกgi-Kazรกr",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://github.com/sagikazarmark"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
}
],
"description": "Guzzle is a PHP HTTP client library",
@@ -340,9 +372,23 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/master"
+ "source": "https://github.com/guzzle/guzzle/tree/6.5.6"
},
- "time": "2018-04-22T15:46:56+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-25T13:19:12+00:00"
},
{
"name": "guzzlehttp/promises",
@@ -371,12 +417,12 @@
}
},
"autoload": {
- "psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
- },
"files": [
"src/functions_include.php"
- ]
+ ],
+ "psr-4": {
+ "GuzzleHttp\\Promise\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3334,8 +3380,95 @@
"time": "2021-05-27T12:26:48+00:00"
},
{
+ "name": "symfony/polyfill-intl-idn",
+ "version": "v1.25.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-idn.git",
+ "reference": "749045c69efb97c70d25d7463abba812e91f3a44"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44",
+ "reference": "749045c69efb97c70d25d7463abba812e91f3a44",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1",
+ "symfony/polyfill-intl-normalizer": "^1.10",
+ "symfony/polyfill-php72": "^1.10"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Idn\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Laurent Bassin",
+ "email": "laurent@bassin.info"
+ },
+ {
+ "name": "Trevor Rowbotham",
+ "email": "trevor.rowbotham@pm.me"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "idn",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.25.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-09-14T14:02:44+00:00"
+ },
+ {
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.23.0",
+ "version": "v1.25.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@@ -3364,12 +3497,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
- },
"files": [
"bootstrap.php"
],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ },
"classmap": [
"Resources/stubs"
]
@@ -3399,7 +3532,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.25.0"
},
"funding": [
{
@@ -3419,21 +3552,24 @@
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.23.1",
+ "version": "v1.25.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
+ "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
- "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825",
+ "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "provide": {
+ "ext-mbstring": "*"
+ },
"suggest": {
"ext-mbstring": "For best performance"
},
@@ -3448,12 +3584,89 @@
}
},
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-11-30T18:21:41+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php72",
+ "version": "v1.25.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php72.git",
+ "reference": "9a142215a36a3888e30d0a9eeea9766764e96976"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976",
+ "reference": "9a142215a36a3888e30d0a9eeea9766764e96976",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php72\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3469,17 +3682,16 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for the Mbstring extension",
+ "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
- "mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.25.0"
},
"funding": [
{
@@ -3495,7 +3707,7 @@
"type": "tidelift"
}
],
- "time": "2021-05-27T12:26:48+00:00"
+ "time": "2021-05-27T09:17:38+00:00"
},
{
"name": "symfony/polyfill-php73",
@@ -4264,5 +4476,5 @@
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
- "plugin-api-version": "2.2.0"
+ "plugin-api-version": "2.3.0"
}
diff --git a/tests/integration/features/bootstrap/FeatureContext.php b/tests/integration/features/bootstrap/FeatureContext.php
index 264a57629..6e741187f 100644
--- a/tests/integration/features/bootstrap/FeatureContext.php
+++ b/tests/integration/features/bootstrap/FeatureContext.php
@@ -1342,6 +1342,22 @@ class FeatureContext implements Context, SnippetAcceptingContext {
}
/**
+ * @Then /^user "([^"]*)" pings (user|guest) "([^"]*)" to join call "([^"]*)" with (\d+) \((v4)\)$/
+ *
+ * @param string $user
+ * @param string $actorType
+ * @param string $actorId
+ * @param string $identifier
+ * @param int $statusCode
+ * @param string $apiVersion
+ */
+ public function userPingsAttendeeInRoomTo(string $user, string $actorType, string $actorId, string $identifier, int $statusCode, string $apiVersion): void {
+ $this->setCurrentUser($user);
+ $this->sendRequest('POST', '/apps/spreed/api/' . $apiVersion . '/call/' . self::$identifierToToken[$identifier] . '/ring/' . self::$userToAttendeeId[$actorType . 's'][$actorId]);
+ $this->assertStatusCode($this->response, $statusCode);
+ }
+
+ /**
* @Then /^user "([^"]*)" leaves call "([^"]*)" with (\d+) \((v4)\)$/
*
* @param string $user
@@ -1760,16 +1776,31 @@ class FeatureContext implements Context, SnippetAcceptingContext {
return;
}
- Assert::assertCount(count($formData->getHash()), $messages, 'Message count does not match');
- Assert::assertEquals($formData->getHash(), array_map(function ($message) {
- return [
+ $expected = $formData->getHash();
+
+ Assert::assertCount(count($expected), $messages, 'Message count does not match');
+ Assert::assertEquals($expected, array_map(function ($message, $expected) {
+ $data = [
'room' => self::$tokenToIdentifier[$message['token']],
'actorType' => (string) $message['actorType'],
- 'actorId' => ($message['actorType'] === 'guests')? self::$sessionIdToUser[$message['actorId']]: (string) $message['actorId'],
- 'actorDisplayName' => (string) $message['actorDisplayName'],
+ 'actorId' => ($message['actorType'] === 'guests') ? self::$sessionIdToUser[$message['actorId']]: (string) $message['actorId'],
'systemMessage' => (string) $message['systemMessage'],
];
- }, $messages));
+
+ if (isset($expected['actorDisplayName'])) {
+ $data['actorDisplayName'] = $message['actorDisplayName'];
+ }
+
+ if (isset($expected['message'])) {
+ $data['message'] = $message['message'];
+ }
+
+ if (isset($expected['messageParameters'])) {
+ $data['messageParameters'] = json_encode($message['messageParameters']);
+ }
+
+ return $data;
+ }, $messages, $expected));
}
/**
diff --git a/tests/integration/features/callapi/notifications.feature b/tests/integration/features/callapi/notifications.feature
new file mode 100644
index 000000000..b1d13c051
--- /dev/null
+++ b/tests/integration/features/callapi/notifications.feature
@@ -0,0 +1,68 @@
+Feature: chat/notifications
+
+ Background:
+ Given user "participant1" exists
+ Given user "participant2" exists
+
+ Scenario: Normal call notification
+ When user "participant1" creates room "room" (v4)
+ | roomType | 2 |
+ | roomName | room |
+ And user "participant1" adds user "participant2" to room "room" with 200 (v4)
+ Given user "participant1" joins room "room" with 200 (v4)
+ Given user "participant2" joins room "room" with 200 (v4)
+ Given user "participant1" joins call "room" with 200 (v4)
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+ | spreed | call | room | A group call has started in room |
+ Given user "participant2" joins call "room" with 200 (v4)
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+
+ Scenario: Missed call notification
+ When user "participant1" creates room "room" (v4)
+ | roomType | 2 |
+ | roomName | room |
+ And user "participant1" adds user "participant2" to room "room" with 200 (v4)
+ Given user "participant1" joins room "room" with 200 (v4)
+ Given user "participant2" joins room "room" with 200 (v4)
+ Given user "participant1" joins call "room" with 200 (v4)
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+ | spreed | call | room | A group call has started in room |
+ Given user "participant1" leaves call "room" with 200 (v4)
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+ | spreed | call | room | You missed a group call in room |
+
+ Scenario: Silent call does not trigger notifications
+ When user "participant1" creates room "room" (v4)
+ | roomType | 2 |
+ | roomName | room |
+ And user "participant1" adds user "participant2" to room "room" with 200 (v4)
+ Given user "participant1" joins room "room" with 200 (v4)
+ Given user "participant2" joins room "room" with 200 (v4)
+ Given user "participant1" joins call "room" with 200 (v4)
+ | silent | true |
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+ Given user "participant1" leaves call "room" with 200 (v4)
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+
+ Scenario: Silent call with dedicated ping does trigger notifications
+ When user "participant1" creates room "room" (v4)
+ | roomType | 2 |
+ | roomName | room |
+ And user "participant1" adds user "participant2" to room "room" with 200 (v4)
+ Given user "participant1" joins room "room" with 200 (v4)
+ Given user "participant2" joins room "room" with 200 (v4)
+ Given user "participant1" loads attendees attendee ids in room "room" (v4)
+ Given user "participant1" joins call "room" with 200 (v4)
+ | silent | true |
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+ Given user "participant1" pings user "participant2" to join call "room" with 200 (v4)
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+ | spreed | call | room | A group call has started in room |
diff --git a/tests/integration/features/chat/notifications.feature b/tests/integration/features/chat/notifications.feature
index 8301f8345..ad3a83415 100644
--- a/tests/integration/features/chat/notifications.feature
+++ b/tests/integration/features/chat/notifications.feature
@@ -82,6 +82,32 @@ Feature: chat/notifications
Then user "participant2" has the following notifications
| app | object_type | object_id | subject |
+ Scenario: Reaction in the one-to-one
+ When user "participant1" creates room "one-to-one room" (v4)
+ | roomType | 1 |
+ | invite | participant2 |
+ # Join and leave to clear the invite notification
+ Given user "participant2" joins room "one-to-one room" with 200 (v4)
+ Given user "participant2" leaves room "one-to-one room" with 200 (v4)
+ When user "participant2" sends message "Message 1" to room "one-to-one room" with 201
+ And user "participant1" react with "๐Ÿš€" on message "Message 1" to room "one-to-one room" with 201
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+ | spreed | chat | one-to-one room/Message 1 | participant1-displayname reacted with ๐Ÿš€ to your private message |
+
+ Scenario: Reaction when recipient disabled notifications in the one-to-one
+ When user "participant1" creates room "one-to-one room" (v4)
+ | roomType | 1 |
+ | invite | participant2 |
+ # Join and leave to clear the invite notification
+ Given user "participant2" joins room "one-to-one room" with 200 (v4)
+ Given user "participant2" leaves room "one-to-one room" with 200 (v4)
+ When user "participant2" sends message "Message 1" to room "one-to-one room" with 201
+ And user "participant2" sets notifications to disabled for room "one-to-one room" (v4)
+ And user "participant1" react with "๐Ÿš€" on message "Message 1" to room "one-to-one room" with 201
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+
Scenario: At-all when recipient is online in the one-to-one
When user "participant1" creates room "one-to-one room" (v4)
| roomType | 1 |
@@ -264,3 +290,31 @@ Feature: chat/notifications
When user "participant1" deletes message "Message 1" from room "one-to-one room" with 200 (v1)
Then user "participant2" has the following notifications
| app | object_type | object_id | subject |
+
+ Scenario: Reaction when recipient full enables notifications in the group room
+ When user "participant1" creates room "room" (v4)
+ | roomType | 2 |
+ | roomName | room |
+ And user "participant1" adds user "participant2" to room "room" with 200 (v4)
+ # Join and leave to clear the invite notification
+ Given user "participant2" joins room "room" with 200 (v4)
+ Given user "participant2" leaves room "room" with 200 (v4)
+ When user "participant2" sends message "Message 1" to room "room" with 201
+ And user "participant2" sets notifications to all for room "room" (v4)
+ And user "participant1" react with "๐Ÿš€" on message "Message 1" to room "room" with 201
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
+ | spreed | chat | room/Message 1 | participant1-displayname reacted with ๐Ÿš€ to your message in conversation room |
+
+ Scenario: Reaction when recipient has default notifications (disabled) in the group room
+ When user "participant1" creates room "room" (v4)
+ | roomType | 2 |
+ | roomName | room |
+ And user "participant1" adds user "participant2" to room "room" with 200 (v4)
+ # Join and leave to clear the invite notification
+ Given user "participant2" joins room "room" with 200 (v4)
+ Given user "participant2" leaves room "room" with 200 (v4)
+ When user "participant2" sends message "Message 1" to room "room" with 201
+ And user "participant1" react with "๐Ÿš€" on message "Message 1" to room "room" with 201
+ Then user "participant2" has the following notifications
+ | app | object_type | object_id | subject |
diff --git a/tests/integration/features/command/user-remove.feature b/tests/integration/features/command/user-remove.feature
index b6e656355..9a9826a16 100644
--- a/tests/integration/features/command/user-remove.feature
+++ b/tests/integration/features/command/user-remove.feature
@@ -26,3 +26,25 @@ Feature: User remove
And user "participant1" sees the following attendees in room "room2" with 200 (v4)
| actorType | actorId | participantType |
| users | participant1 | 1 |
+
+ Scenario: Remove a user after there was a missed call
+ Given user "participant1" creates room "room" (v4)
+ | roomType | 1 |
+ | invite | participant2 |
+ Then user "participant1" joins room "room" with 200 (v4)
+ Then user "participant1" joins call "room" with 200 (v4)
+ Then user "participant1" leaves call "room" with 200 (v4)
+ Then user "participant1" leaves room "room" with 200 (v4)
+ And invoking occ with "talk:user:remove --user participant2"
+ And the command output contains the text "Users successfully removed from all rooms"
+ Then the command was successful
+ And user "participant2" is participant of the following rooms (v4)
+ And user "participant1" is participant of the following rooms (v4)
+ | id | name | type | participantType |
+ | room | participant2-displayname | 2 | 1 |
+ Then user "participant1" sees the following system messages in room "room" with 200
+ | room | actorType | actorId | systemMessage | message | messageParameters |
+ | room | users | participant1 | call_tried | You tried to call {user} | {"user":{"type":"highlight","id":"deleted_user","name":"participant2-displayname"}} |
+ | room | users | participant1 | call_left | You left the call | {"actor":{"type":"user","id":"participant1","name":"participant1-displayname"}} |
+ | room | users | participant1 | call_started | You started a call | {"actor":{"type":"user","id":"participant1","name":"participant1-displayname"}} |
+ | room | users | participant1 | conversation_created | You created the conversation | {"actor":{"type":"user","id":"participant1","name":"participant1-displayname"}} |
diff --git a/tests/php/CapabilitiesTest.php b/tests/php/CapabilitiesTest.php
index bac9fbfc3..b52318918 100644
--- a/tests/php/CapabilitiesTest.php
+++ b/tests/php/CapabilitiesTest.php
@@ -106,8 +106,10 @@ class CapabilitiesTest extends TestCase {
'conversation-permissions',
'rich-object-list-media',
'rich-object-delete',
+ 'unified-search',
'chat-permission',
'silent-send',
+ 'silent-call',
'send-call-notification',
'reactions',
];
@@ -134,6 +136,7 @@ class CapabilitiesTest extends TestCase {
['spreed', 'has_reference_id', 'no', 'no'],
['spreed', 'max-gif-size', '3145728', '200000'],
['spreed', 'start_calls', Room::START_CALL_EVERYONE, Room::START_CALL_EVERYONE],
+ ['spreed', 'session-ping-limit', '200', '200'],
]);
$this->assertInstanceOf(IPublicCapability::class, $capabilities);
@@ -157,6 +160,9 @@ class CapabilitiesTest extends TestCase {
'previews' => [
'max-gif-size' => 200000,
],
+ 'signaling' => [
+ 'session-ping-limit' => 200,
+ ],
],
],
], $capabilities->getCapabilities());
@@ -217,6 +223,7 @@ class CapabilitiesTest extends TestCase {
['spreed', 'has_reference_id', 'no', 'yes'],
['spreed', 'max-gif-size', '3145728', '200000'],
['spreed', 'start_calls', Room::START_CALL_EVERYONE, Room::START_CALL_NOONE],
+ ['spreed', 'session-ping-limit', '200', '50'],
]);
$this->assertInstanceOf(IPublicCapability::class, $capabilities);
@@ -246,6 +253,9 @@ class CapabilitiesTest extends TestCase {
'previews' => [
'max-gif-size' => 200000,
],
+ 'signaling' => [
+ 'session-ping-limit' => 50,
+ ],
],
],
], $data);
diff --git a/tests/php/Controller/SignalingControllerTest.php b/tests/php/Controller/SignalingControllerTest.php
index e5879629c..1b6329d26 100644
--- a/tests/php/Controller/SignalingControllerTest.php
+++ b/tests/php/Controller/SignalingControllerTest.php
@@ -869,45 +869,8 @@ class SignalingControllerTest extends TestCase {
], $result->getData());
}
- public function testBackendPingUnknownRoom() {
- $roomToken = 'the-room';
- $room = $this->createMock(Room::class);
- $this->manager->expects($this->once())
- ->method('getRoomByToken')
- ->with($roomToken)
- ->willThrowException(new RoomNotFoundException());
-
- $result = $this->performBackendRequest([
- 'type' => 'ping',
- 'ping' => [
- 'roomid' => $roomToken,
- 'entries' => [
- [
- 'userid' => $this->userId,
- ],
- ],
- ],
- ]);
- $this->assertSame([
- 'type' => 'error',
- 'error' => [
- 'code' => 'no_such_room',
- 'message' => 'No such room.',
- ],
- ], $result->getData());
- }
-
public function testBackendPingUser() {
- $roomToken = 'the-room';
$sessionId = 'the-session';
- $room = $this->createMock(Room::class);
- $this->manager->expects($this->once())
- ->method('getRoomByToken')
- ->with($roomToken)
- ->willReturn($room);
- $room->expects($this->once())
- ->method('getToken')
- ->willReturn($roomToken);
$this->timeFactory->method('getTime')
->willReturn(123456);
@@ -918,7 +881,6 @@ class SignalingControllerTest extends TestCase {
$result = $this->performBackendRequest([
'type' => 'ping',
'ping' => [
- 'roomid' => $roomToken,
'entries' => [
[
'userid' => $this->userId,
@@ -931,22 +893,12 @@ class SignalingControllerTest extends TestCase {
'type' => 'room',
'room' => [
'version' => '1.0',
- 'roomid' => $roomToken,
],
], $result->getData());
}
public function testBackendPingAnonymous() {
- $roomToken = 'the-room';
$sessionId = 'the-session';
- $room = $this->createMock(Room::class);
- $this->manager->expects($this->once())
- ->method('getRoomByToken')
- ->with($roomToken)
- ->willReturn($room);
- $room->expects($this->once())
- ->method('getToken')
- ->willReturn($roomToken);
$this->timeFactory->method('getTime')
->willReturn(1234567);
@@ -957,7 +909,6 @@ class SignalingControllerTest extends TestCase {
$result = $this->performBackendRequest([
'type' => 'ping',
'ping' => [
- 'roomid' => $roomToken,
'entries' => [
[
'userid' => '',
@@ -970,22 +921,12 @@ class SignalingControllerTest extends TestCase {
'type' => 'room',
'room' => [
'version' => '1.0',
- 'roomid' => $roomToken,
],
], $result->getData());
}
public function testBackendPingMixedAndInactive() {
- $roomToken = 'the-room';
$sessionId = 'the-session';
- $room = $this->createMock(Room::class);
- $this->manager->expects($this->once())
- ->method('getRoomByToken')
- ->with($roomToken)
- ->willReturn($room);
- $room->expects($this->once())
- ->method('getToken')
- ->willReturn($roomToken);
$this->timeFactory->method('getTime')
->willReturn(234567);
@@ -996,7 +937,6 @@ class SignalingControllerTest extends TestCase {
$result = $this->performBackendRequest([
'type' => 'ping',
'ping' => [
- 'roomid' => $roomToken,
'entries' => [
[
'userid' => '',
@@ -1017,7 +957,6 @@ class SignalingControllerTest extends TestCase {
'type' => 'room',
'room' => [
'version' => '1.0',
- 'roomid' => $roomToken,
],
], $result->getData());
}