Граф коммитов

449 Коммитов

Автор SHA1 Сообщение Дата
Joas Schilling 529f7c2f78
Merge pull request #1591 from nextcloud/feature/noid/locked-one-to-one-rooms
Persistent one-to-one rooms
2019-03-14 20:23:06 +01:00
Joas Schilling b572de7fa9
Further fixes for integration tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-14 15:41:36 +01:00
Joas Schilling 44619a1aee
Readd the left-participant to one-to-one rooms if needed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-14 15:41:35 +01:00
Joas Schilling a96dcaa455
Make one-to-one rooms locked
* No more guests allowed
* You can not add people to it
* You can only leave it, not delete it

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-14 15:41:33 +01:00
Joas Schilling e8937ffee1
Fix hardcoded `/call/{token}` handling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-14 15:05:43 +01:00
Ivan Sein e16d5f3515 Remove '@ all' mention in one2one rooms.
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
2019-03-05 12:02:36 +01:00
Joas Schilling a2fc199811
Use a middleware to prevent access to the APIs too
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-01 11:02:25 +01:00
Joas Schilling b0f7b7ce77
Redirect people to the main app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-01 08:53:22 +01:00
Joas Schilling 5b759b44c2
Prevent the last moderator from leaving the room
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-01 08:39:12 +01:00
Joachim Bauch 6e1e78ec05
Fix removing users when an old session id expires in the signaling server.
It could happen that an old session id expired while a user already re-joined
a room with a new session id. Once the old session id expired, the user got
removed from the room.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2019-02-28 13:19:51 +01:00
Joas Schilling e3efeb1f70
Merge pull request #1567 from nextcloud/feature/noid/non-empty-room-names
Make  room names non-optional
2019-02-28 08:45:10 +01:00
Joas Schilling 432d930df6
Readd the hack to set the name of one-to-one conversations
because mobile apps and web use it to get the avatar

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-27 15:26:51 +01:00
Joas Schilling 7e54634fb5
Make room names non-optional
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-27 15:26:50 +01:00
Peter Edens 4ca16cb2e6
Add reason for removing participant from room so that hook can determine if the user was removed by moderator.
Signed-off-by: Peter Edens <petere@conceiva.com>
2019-02-26 10:15:30 +01:00
Joas Schilling 8a17c7f098
Merge pull request #1572 from nextcloud/bugfix/noid/fix-unit-tests-from-1453
Fix unit tests from #1453
2019-02-25 15:05:01 +01:00
Joas Schilling 6edc52c58c
Fix unit tests from #1453
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-21 14:30:20 +01:00
Joas Schilling 58f0bd6d2f
Use call ROS object
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 14:44:18 +01:00
Joas Schilling 64ac6950f7
Allow to mention everyone in the conversation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 14:44:18 +01:00
Joas Schilling 2f60aab4ab
Introduce a Message model for parsing which also allows to hide messages
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 12:17:37 +01:00
Joas Schilling 513062e508
Check enable flag for participant level
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 12:17:36 +01:00
Joas Schilling 835e6bdc77
Add console commands to manage commands
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 12:17:35 +01:00
Joas Schilling 18aa82dabf
Do not allow changing/adding scripts via the Web
It's just too dangerous for now.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 12:17:35 +01:00
Joas Schilling b6e5120060
Add a service
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 12:17:34 +01:00
Joas Schilling d7feb1d31a
Fix actor type and displaying
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 12:17:34 +01:00
Joas Schilling 46e51bd63b
Add routes and controller
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 12:17:33 +01:00
Joas Schilling c0e34c8729
Start with commands
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-20 12:17:33 +01:00
Joas Schilling d702aa0841
Use ITimeFactory instead of time()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-13 16:03:25 +01:00
Joas Schilling 13433b1000
Merge pull request #1534 from nextcloud/fix-slower-active-peers-not-included-in-user-list-returned-by-signaling
Fix slower active users not included in user list returned by signaling
2019-02-13 15:43:23 +01:00
Joas Schilling 2aec53cb49
Use the datetime factory everywhere
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-13 14:27:35 +01:00
Joas Schilling 56460baaf2
Strict controllers and migration
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-13 13:38:55 +01:00
Joas Schilling b742db9f0a
Fix tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-12 16:57:25 +01:00
Daniel Calviño Sánchez 022466ea53 Fix slower active users not included in user list returned by signaling
When a user requests the signaling messages from the internal signaling
server first the last ping of the user is updated. Then, after waiting
for at most 30 seconds, the list of users active in the room is
returned.

That list was based on the users whose last ping happened around 30
seconds ago or less (it could be a bit longer than 30 seconds, but the
described problem remains in that case too); if other user pulled the
messages slightly before the current user and that other user did not
pull the messages again (or the chat messages, as that updates the last
ping too) before the user list was returned that other user was not
included in the list, as her last ping happened more than 30 seconds
ago.

Now the elapsed time since the last ping for users returned in the list
is longer than the timeout used for pulling messages (and chat messages)
to ensure (up to a point) that active users will be included in the list
even if it took a bit longer for them to pull messages again.

The drawback of this approach is that the internal signaling server will
now need a few more seconds to notice when a user left a call abruptly,
but before it was not immediate anyway and it should not be a common
scenario either.

Finally, note that it is unlikely that more than 40 seconds pass between
the ping is updated for the current user and the user list is returned,
but the condition to handle that case gracefully was kept to be on the
safe side.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-02-12 13:58:27 +01:00
Ivan Sein 43b1a2f42c
Merge pull request #1522 from nextcloud/fix-current-user-not-included-in-user-list-returned-by-signaling
Fix current user not included in user list returned by signaling
2019-02-08 10:16:50 +01:00
Daniel Calviño Sánchez 3471b9fc39 Fix current user not included in user list returned by signaling
When a user requests the signaling messages from the internal signaling
server first the last ping of the user is updated. Then, after waiting
for at most 30 seconds, the list of users active in the room is
returned.

That list was based on the users whose last ping was more recent than 30
seconds ago, so when there were no other messages and the waiting timed
out the last ping of the current user set when the request started
happened 30 seconds ago or more, and thus the current user was not
included in the returned list (unless her ping was updated to a more
recent value by a different request, like polling for chat messages).

Now the users returned in the list are those whose last ping is more
recent than or equal to 30 seconds, or more recent than or equal to the
signaling ping of the current user if it is larger than 30 seconds.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-02-07 17:39:43 +01:00
Joas Schilling fc73085b31
Remove unused constructor argument
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-31 15:40:43 +01:00
Joas Schilling 6073445cf6
Remove room information for users which are not a participant
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-31 14:44:26 +01:00
Joachim Bauch 3ad0b1bd97
Add hook to allow returning additional data for clients joining a room.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-12-18 15:40:43 +01:00
Daniel Calviño Sánchez abbc59728f
Fix room name when the file is in a shared folder
When the file is in a shared folder and the file is not explicitly
shared the first share found is not for the file, but for the folder. In
that case the file needs to be searched in the shared folder to get the
proper name for the room.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-13 16:25:45 +01:00
Daniel Calviño Sánchez 0003d7a864
Extend "has direct access to file" check also to files in shared folders
Before a file was seen as directly accessible by the user if the user
received the file through a user, group, circle or room share. Now files
that are a descendant of a folder that meets those conditions are seen
as directly accessible by the user too.

Due to this now the rooms for files in a shared folder can be accessed
by any user that has access to the folder; it is no longer needed to
explicitly share the file too with them.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-13 16:25:45 +01:00
Joas Schilling 1890687981
Also leave the room when the user tries to join and can not access the file anymore
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-06 18:05:47 +01:00
Joas Schilling a215f726ac
Explicitly join the room when opening a file sidebar chat
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-06 18:05:46 +01:00
Joas Schilling 031d0957f1 Rename included class from "ShareManager" to "IShareManager"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-03 15:50:17 +01:00
Daniel Calviño Sánchez 19e166191b Add end point to get the token of a room associated with a file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-29 18:35:21 +01:00
Joas Schilling 56e90228ab
Also populate the sessionId
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-12 11:35:31 +01:00
Joas Schilling 021dc333dc
Use Participant objects were possible
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-12 11:35:31 +01:00
Joas Schilling 4afa2d7946
Do not create the participant when we don't need them
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-12 11:35:31 +01:00
Mario Danic 3d9fb47a0d
Add session id to participant
This allows for showing if user is online or not in the conversation info list without needing another API call

Signed-off-by: Mario Danic <mario@lovelyhq.com>
2018-11-12 11:35:31 +01:00
Joas Schilling 95cce7d84c
Merge pull request #1273 from nextcloud/add-support-for-sending-the-password-for-a-link-share-by-nextcloud-talk
Add support for sending the password for a link share by Nextcloud Talk
2018-11-12 11:16:11 +01:00
Joas Schilling b7d907700d
Merge pull request #1268 from nextcloud/add-ability-to-invite-groups
Add ability to invite groups
2018-11-09 11:33:14 +01:00
Daniel Calviño Sánchez e13571f8f3 Add support for link shares in "share:password" rooms
Until now only the e-mail shares had support for sending the password by
Talk. In Nextcloud 15 that feature was added to link shares too, so the
room name and the notification sent for "share:password" rooms has to be
adjusted accordingly.

The display name of "share:password" rooms is generated from the raw
name of the room (the e-mail for mail shares and the file name for link
shares) each time the room information is sent by the server, so the
display name was generalized to accomodate both types of raw names.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-08 21:00:36 +01:00
Daniel Calviño Sánchez 86f7c8f0f2 Remove unused attribute
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-08 20:59:41 +01:00
Daniel Calviño Sánchez cd0ccf4ae9
Remove outdated documentation
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-08 13:53:14 +01:00
Joas Schilling 10c847b0c5
Merge the email-invite into the new universal endpoint
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-06 17:29:05 +01:00
Joas Schilling ad06759f2e
Make the code more future proof and explicit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-06 16:51:10 +01:00
Mario Danic 9c74620453
Add ability to invite groups
Fix a missing ,

Move to tabs
2018-11-06 16:20:35 +01:00
Joas Schilling d612e845f9
Better notifications for password shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-22 12:01:11 +02:00
Joas Schilling 3473a76276
Fix CSP also for guests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-15 16:05:10 +02:00
Daniel Calviño Sánchez 578448ab33 Override default CSP for now to allow JavaScript "eval"
By default in Nextcloud 15 the Content Security Policy prevents the use
of JavaScript "eval" function. This is used in several places in Talk,
so for now this restriction is lifted until the code is moved away from
"eval".

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-15 10:55:03 +02:00
Joas Schilling 0e592d0a83
Merge pull request #1229 from nextcloud/bugfix/1227/exception-on-too-long-chat-message
Handle exception on too long chat message gracefully
2018-10-09 14:47:19 +02:00
Joas Schilling c75d82525f
Do not throw when the guest has no name set
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-09 11:59:05 +02:00
Joas Schilling e3d985da60
Add an endpoint to set the notification level
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-08 15:26:45 +02:00
Joas Schilling 237126cc65
Adjust unit tests with the newest changes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-05 10:58:43 +02:00
Joas Schilling 028b12e584
Always return the full message object on create
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-05 10:35:16 +02:00
Joas Schilling 3878b0c7f3
Catch the exception when the message is too long
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-05 10:35:16 +02:00
Joas Schilling 546526a89f
Merge pull request #1078 from nextcloud/feature/noid/guest-moderators-prework
Allow to make guests moderators
2018-10-05 10:32:36 +02:00
Joas Schilling 7e1de89fd8 Fix the system notifications for guest moderators
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-04 01:13:28 +02:00
Joas Schilling 6cff909ee4 Allow to make guests moderators
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-04 01:13:28 +02:00
Joas Schilling e4f6aae224
Fix bool logic for inCall flag
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-02 15:38:20 +02:00
Joachim Bauch 48a0c8ffcf
Allow calling "RoomController::formatLastMessage" without a current user.
This fails with the new type hinting which expects a "IUser" object.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-09-28 14:43:41 +02:00
Joas Schilling bc29961a79
Allow to invite email addresses
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-27 16:21:21 +02:00
Joas Schilling 5237f4299f
Introduce Chat\MessageParser which dispatches an event for all apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-27 15:18:43 +02:00
Joas Schilling bc9c2ea6c5
Refactor the lastMessage out
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-25 17:15:39 +02:00
Joas Schilling c9bc48608b
Make RoomController strict
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-25 17:01:42 +02:00
Ivan Sein 0fde8f789a Add missing 'systemMessage' attribute to room's lastMessage.
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
2018-09-03 16:10:04 +02:00
Joas Schilling fbe6594342
Parse system messages correctly
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-27 14:06:27 +02:00
Joas Schilling 3b29c9c569
Send a push notification when a file was shared in a one to one room
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-27 12:29:37 +02:00
Joachim Bauch 1c1f91871e
Add "in-call-flags" capability, return flags from API and evaluate in UI.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-08-24 11:38:12 +02:00
Joas Schilling 73e4ba5485
Add a const for magic 0 as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-24 10:52:20 +02:00
Joachim Bauch adff1068d5
Rename flag for when user is in call.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-08-24 10:52:20 +02:00
Joachim Bauch d4929b7525
Change "inCall" state to contain bit flags
The flags encode if a user is in the call and whether he is publishing
audio and/or video.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-08-24 10:52:20 +02:00
Joas Schilling 135c82304f
Revert "Open the call in a new tab for now"
This reverts commit 112c73b71c.
2018-08-08 14:17:40 +02:00
Joas Schilling 112c73b71c Open the call in a new tab for now
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-08 10:24:49 +02:00
Joas Schilling f81f5e0a7c Do not reuse the room
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-08 10:24:49 +02:00
Joas Schilling 55a983fd9f Use the language of the owner for the room name
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-08 10:24:49 +02:00
Daniel Calviño Sánchez efc9d95b22 Send notification to the sharer that a password has been requested
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 10:24:49 +02:00
Daniel Calviño Sánchez 80705adbb2 Add end point to create rooms for requesting the password of a share
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 10:24:48 +02:00
Daniel Calviño Sánchez eb40ec1edc Add support for creating rooms associated to arbitrary objects
Associating a room to another object is optional; by default a room is
not associated to any object.

The association is just a "flag" on the room; any special behaviour for
an association must be implemented as needed outside the room (for
example, by responding to events emitted by the room).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 10:24:48 +02:00
Joas Schilling f742037ff0
Fix the data type of the comment id
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-03 17:33:02 +02:00
Ivan Sein 8005b579bf
Merge pull request #1087 from nextcloud/bugfix/noid/dont-count-system-messages-to-unread
Don't count system messages to unread
2018-08-02 10:50:11 +02:00
Joas Schilling f452269332
Make sure the list of signaling messages is a JSON array
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-01 14:28:24 +02:00
Joas Schilling 36ae3a3e55
Highlight the unread count only for mentions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-31 16:47:43 +02:00
Joas Schilling d69d88bcd4
Merge pull request #1085 from nextcloud/adjust-ui-to-layout-changes-in-server
Adjust UI to layout changes in server
2018-07-30 11:38:19 +02:00
Joas Schilling 02bc2a6ce7
Merge pull request #1084 from nextcloud/fix-1083
Fixes #1083
2018-07-30 08:40:24 +02:00
Mario Danic 523a547646 Fixes 1083
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2018-07-30 00:18:17 +02:00
Daniel Calviño Sánchez 1f7c097bec Adjust public layout for guest users to changes in server
Until now the public layout for guest users was based on the "base"
layout of the server, which was almost empty, and the "index-public"
template had to provide all the elements mimicking those used for public
pages in the server. The recent layout changes in the server have
introduced some structure changes in that base layout, which is now more
cumbersome to use with Talk.

Fortunately, in Nextcloud 14 a standard layout for public pages was
introduced, so now the public layout for guest users is based on that
public layout of the server instead. Therefore, it is no longer needed
to provide a header in the template, and the CSS rules used for the main
layout can be reused for the public layout.

There is a drawback, though; as the header is no longer a descendant of
"#app-content" it is no longer possible to make it transparent based on
the ".participants-XXX" classes set for that element. For now, and until
it is addressed, the header will still be visible during calls in guest
pages.

Also note that the public layout of the server does not provide at this
time a notification container, so that element must be kept.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-27 22:26:09 +02:00
Joas Schilling 15ad813d3c
Trigger an event for system messages aswell
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-27 11:05:36 +02:00
Joas Schilling e89a766a7e
Do not fail when there was no session id
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-27 11:02:59 +02:00
Joas Schilling a4b27df424
Make the system message type available via the api
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-27 11:02:08 +02:00
Joas Schilling ee4ba11a53
Start with system chat messages
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-27 11:01:38 +02:00
Joas Schilling f37e260ac5
Left join the last comment instead of doing O(n) queries
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-26 15:19:29 +02:00
Mario Danic e3071bf5cd
Add support for last message when fetching a room
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2018-07-26 15:17:01 +02:00
Joas Schilling bedc02cfc4
Make sure an empty session doesn't fail the call
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-24 08:43:12 +02:00
Joas Schilling 97206cae09
Also 404 when it fails at the end
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-24 08:43:12 +02:00
Joas Schilling 201006b586
Also ping when chatting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-24 08:43:11 +02:00
Joas Schilling ac930a5a97
Improve handling of missing session
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-24 08:43:11 +02:00
Joas Schilling 3e326172f7
Remove useless ping call and "ping" with the signaling fetch instead
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-24 08:43:11 +02:00
Joas Schilling abdc567b92
Fix some follow up issues with 1020
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-20 12:52:42 +02:00
Joas Schilling f4821457ee
Merge pull request #1020 from Peterede/verify-password-hook
Added hook to verify password to allow custom password check
2018-07-20 12:42:38 +02:00
Joas Schilling 84b556629c
Store the timestamp of the last activity in a room and sort by that, instead of the last ping
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-19 13:51:09 +02:00
Peter Edens 09b0c01df9 Requested changes from review. Signed-off-by: Peter Edens <petere@conceiva.com> 2018-07-18 09:49:16 +10:00
Joas Schilling 1add86b280
Handle the favorite on the participant object and fix favorite spelling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-13 16:32:49 +02:00
Mario Danic 62b11f9a9f
Add support for backend favorites
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2018-07-13 15:44:13 +02:00
Joas Schilling b061503d2c
Merge pull request #1028 from nextcloud/feature/noid/token-instead-of-id-in-notifications
Use the token instead of the id to identify the room objects
2018-07-13 13:43:47 +02:00
Peter Edens 12e82507db Returning result and redirect url from verifyPassword. Signed-off-by: Peter Edens <petere@conceiva.com> 2018-07-12 13:20:57 +10:00
Joas Schilling 7a505615de
Simplify the code and allow 100 secs as timeout (3 pings and a little buffer)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-10 16:53:01 +02:00
Daniel Calviño Sánchez efad428132
Force inactive users to leave the room
Inactive guests (those that have not sent a ping in the last 30 seconds)
are automatically cleaned from a room when the information for that room
is got. In the same way, now inactive users are forced to leave the room
too when the information for the room is got.

Although all inactive guests are cleaned all at once inactive users are
forced to leave the room one by one (each one with its own SQL query);
although it would be better to force all the inactive users to leave the
room at once this should not be a big problem, as users would usually
leave the room cleanly; only crashed clients or other exceptional
situations should cause a user to be inactive.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-10 16:53:01 +02:00
Joas Schilling 4c3686ed91
Also migrate chat notifications to token
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-09 16:44:23 +02:00
Joachim Bauch cc2ee6c0c5
Simplify check for "action" value in room request.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-21 12:05:11 +02:00
Ivan Sein 7473ccc5b2
Merge pull request #910 from nextcloud/more-signaling-fixes
More standalone signaling fixes
2018-06-15 10:08:36 +02:00
Joachim Bauch a5b899c8ba
Use standalone signaling server to notify about new chat messages.
This removes the long-polling against the PHP backend and instead sends an
event to all users in a room through the standalone signaling server to
notify that new chat messages exist.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-12 12:05:27 +02:00
Joachim Bauch bd98c8239f
Support optional "leave" backend room events.
This will be triggered when a user disconnects from the the standalone
signaling server and with that leaves a room. The participant will be
removed immediately from the users list instead after the ping timeout.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-05-18 15:17:55 +02:00
Joas Schilling 964c2fadcc
Do not update the participant list twice
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-05-08 13:08:20 +02:00
Joas Schilling 35d7fea9fa
Return the room name on creation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-05-02 14:04:56 +02:00
Joas Schilling d8c56b4608 Add a comment
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-26 12:50:20 +02:00
Joas Schilling 982bf986ba Add docs for the /mentions endpoint
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-26 12:50:20 +02:00
Joas Schilling 63831a4455 Sort suggestions by last chat message
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-26 12:46:58 +02:00
Joas Schilling 1472935fb5 Start autocomplete for mentions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-26 12:46:58 +02:00
Joas Schilling f24177ee4b
Merge pull request #805 from nextcloud/format-mentions-without-avatars-in-the-message-list
Format mentions (without avatars) in the message list
2018-04-25 10:53:54 +02:00
Daniel Calviño Sánchez 16524668b8 Return rich messages when calling "receiveMessages"
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-04-24 17:47:18 +02:00
Joas Schilling 09a7bd51c7
Merge pull request #807 from nextcloud/bugfix/noid/display-name-should-be-a-string
Make sure the displayname is always a string
2018-04-24 16:49:04 +02:00
Joas Schilling e924958052
Make sure the displayname is always a string
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-24 16:34:57 +02:00
Joas Schilling 47255e543d
Add unread message count to the room list
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-24 16:28:32 +02:00
Joas Schilling 628cd11b16
Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-20 11:03:09 +02:00
Joas Schilling 2f4adcb9c1
Add proper chat message offset support
The offset now is based on the last known chat message instead of limit-offset,
so new messages don't mess up requests to get the history of a room

Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-20 11:03:09 +02:00
Joas Schilling dcc5e96512
Correctly leave the room (not the call) in integration tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-28 11:41:24 +02:00
Joas Schilling 3ec66a2044
Abstract away the session handling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-27 17:16:38 +02:00
Joas Schilling b314bd0ae4
Don't leave all rooms when joining
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-27 17:16:38 +02:00
Joas Schilling d5b0d39ef3
Unify the names of join/leave room vs. remove*FromRoom
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-27 17:16:37 +02:00
Joas Schilling 0be200e099
Update participant list also when not in call
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-21 15:15:54 +01:00
Ivan Sein b0e70066d0
Merge pull request #710 from nextcloud/bugfix/414/guest-names
Store guest names
2018-03-21 10:08:16 +01:00
Joas Schilling 0ad6c51d1f
Merge pull request #720 from nextcloud/bugfix/noid/dont-check-for-password-when-there-is-no-room
Don't check for a password, when we didn't even find a room
2018-03-21 09:21:12 +01:00
Morris Jobke 14f470490c
Remove unused dependency to logger
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-03-21 08:58:49 +01:00
Joas Schilling f517b367da
Don't check for a password, when we didn't even find a room
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-21 08:46:07 +01:00
Joas Schilling b09587d68b
Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-20 13:55:14 +01:00
Joas Schilling ee2367f16c
Show guest names in the participant list
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-20 10:57:19 +01:00
Joas Schilling afcd192587
Send a request to the server when a guest renames
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-20 10:30:22 +01:00
Joas Schilling c2387c534e
Store guest names when they leave a comment
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-19 13:07:11 +01:00
Joas Schilling 9ae9924d04
Make sure users with numerical user ids/display names still show as users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-12 15:24:23 +01:00
Joas Schilling d1237a4ba0
Also delete rooms when the leaving user is the only non-guest
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-09 14:09:32 +01:00
Joas Schilling 7fa8a97371
Do not allow one2one calling yourself
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-13 18:26:27 +01:00