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

4225 Коммитов

Автор SHA1 Сообщение Дата
Daniel Calviño Sánchez 787440fce3 Extract methods to set the main view
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:30:11 +02:00
Daniel Calviño Sánchez 8745fd19fe Rename lobby constants
The lobby constants were named from the point of view of the webinary
(open to all participants, open to moderators only), but from the point
of view of the lobby it is the opposite (no lobby, lobby for non
moderators).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:30 +02:00
Daniel Calviño Sánchez 0e4fcbbf6b Bump version to trigger the migration
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:30 +02:00
Joas Schilling 369c3e44c0 Make the API work with timestamps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:30 +02:00
Joas Schilling 1136b70ec2 Fix the system message when the timer was reached
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:30 +02:00
Joas Schilling f56ab8fe90 Prevent nested calls between setLobby and getLobbyState when the timer was reached
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:30 +02:00
Joas Schilling 18336c0b10 Transform time to UTC before storing in the database
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:29 +02:00
Joas Schilling 42f8b06800 Add system messages for the lobby state change
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:29 +02:00
Joas Schilling d4b7300828 Remove outdated comment
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:06 +02:00
Joas Schilling 3eec1b09dc Use a different status code for lobby blocked requests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:06 +02:00
Joas Schilling ac1c1520b6 Add capability
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:06 +02:00
Joas Schilling 8cd50644d4 Allow a timer as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:06 +02:00
Joas Schilling 36e3da092c No participants and chat messages for users in the lobby
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:05 +02:00
Joas Schilling 7f0dd77951 Allow users to load the room data when joining it
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:05 +02:00
Daniel Calviño Sánchez ea48d5ade2 Add integration tests for preventing access to some APIs in the lobby
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:05 +02:00
Joas Schilling 6b6f42dde3 Prevent access to some APIs for non-moderators if lobby is enabled
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:05 +02:00
Daniel Calviño Sánchez d59725e0f9 Add integration tests for setting the lobby state
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:05 +02:00
Daniel Calviño Sánchez 3b205bf0c3 Add support for promoting and demoting guests in the integration tests
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:05 +02:00
Joas Schilling d8563f8824 Add an API endpoint to set the lobby state
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:05 +02:00
Daniel Calviño Sánchez 8524f184f1 Send notification to signaling backend when lobby state changes
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:03 +02:00
Joas Schilling a48650c908 Read and allow to set the lobby state
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:26:03 +02:00
Joas Schilling 12952b93c9 Add a lobby state column to the room table
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:26:02 +02:00
Joas Schilling 3ee8674725
Merge pull request #1974 from nextcloud/feature/noid/guest-mentions
👤🏷️ Guest mentions
2019-08-28 10:22:13 +02:00
Joas Schilling c9f390de4f
Merge pull request #2121 from nextcloud/get-password-from-session-if-not-given-when-joining-room
Get password from session if not given when joining room
2019-08-28 10:21:16 +02:00
Joas Schilling 91017269cd
Merge pull request #2123 from nextcloud/move-room-moderation-actions-to-a-menu
Move room moderation actions to a menu
2019-08-28 10:17:22 +02:00
Joas Schilling 37b9c4b551
Merge pull request #2114 from nextcloud/bugfix/noid/fix-unread-message-marker
Only update read marker when receiving new messages.
2019-08-28 10:10:02 +02:00
Daniel Calviño Sánchez 3e3506b11b Replace "Copy link" tooltip with explicit label
Now that the management actions were moved to a menu there is enough
room to show a label for the "Copy link" button.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez b88d53d918 Remove unneeded CSS rules
The rules just set the same values used by buttons by default.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez 7dec802cfa Remove no longer needed parent element of "Copy link" button
The "share-link-options" element acts as a spacer to move the room
moderation menu button to the right. However, given that the call button
width is limited to the 50% of its parent flex element and that element
has the full width of the sidebar the same effect can be achieved by
setting "margin-left: auto" on the room moderation button.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez 4425b04e7c Unify "Copy link" button for all participant types
The same "Copy link" button was defined separately in the templates for
moderators and non moderator participants.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez 7dc9653a59 Reorder flex CSS rules for call button
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez 7a2e19553f Move password from its own menu to the room moderation menu
The password input is no longer the only element of the menu so pressing
"Esc" does not close the menu.

There is no longer a password button in the CallInfoView, so now the
acceptance tests need to open the room moderation menu to know if the
conversation is password protected or not.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:38 +02:00
Daniel Calviño Sánchez 039a0e8968 Do not defer rendering CallInfoView again until the menu is inactive
In Nextcloud 17 "OC._currentMenu" was removed, so "renderWhenInactive()"
always renders immediately. Instead of fixing that the method was
completly removed, as keeping the menu open instead of rendering again
the view does not provide much value (if the room is no longer public
the password will be unusable anyway, and having the password menu open
when another moderator sets or removes the password should not happen
too often).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:38 +02:00
Daniel Calviño Sánchez 452a46f968 Remove unused UI locators
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:38 +02:00
Daniel Calviño Sánchez 26838111ee Move checkbox to change between public and group room to a menu
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:38 +02:00
Joas Schilling b7b6c9e907
Merge pull request #2122 from nextcloud/fixes-for-keyboard-navigation
Fixes for keyboard navigation
2019-08-28 10:01:07 +02:00
Daniel Calviño Sánchez bf87c25fa4 Fix avatars of participants with contacts menu not focusable
The avatar is a div, so it is not focusable by default. However, if it
were focused it could not be properly "highlighted" with a border; the
whole avatar is dimmed for offline participants, so the border colour
would be different when "highlighting" the avatar of online and offline
participants. Due to this the avatar is now wrapped in another div which
is the focusable one (provided the avatar has a contacts menu) and the
one that gets the border. Finally, when the Enter or space keys are
pressed on the wrapper a click is triggered in the avatar, which shows
the contacts menu.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 9692378f6f Fix pointer cursor not shown on participants with a contacts menu
When the current user is an actual user and not a guest clicking on the
avatar of a participant shows the contacts menu (unless the participant
is the current user or a guest), so when hovering on the avatar the
cursor should be a pointer to imply a possible interaction.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 5b89513671 Fix participant items being focusable
The participant items were link elements, so they were taken into
account in keyboard navigation. However, although it is possible to
interact with some of its children, it is not possible to interact
with the participant item as a whole, so they should not be focusable.
As the link in the participant items led nowhere they are now simple
span elements instead of links.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 5e79ab9aa8 Remove unused CSS rule
The first link child of items in the participants list is the
participant information, which includes the avatar, name... However,
there is no direct "img" child of that element (the avatar image is a
child of the avatar element), so the rule has no effect.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 1bf31f5878 Fix password button not focusable
The password button was not an actual button but a span, so it was
ignored in keyboard navigation. Also, after the password menu is hidden
now the focus is given back to the password button.

The button was also wrapped in a div with the "menutoggle" CSS class,
which causes the menu to be hidden when clicking again on the toggle.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 472d1a0846 Remove reference to inexistent event handler
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 0f5392a25c Fix sidebar trigger not focusable
The sidebar trigger was not an actual button but a div, so it was
ignored in keyboard navigation.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 04d2a47bb6 Fix edit button in EditableTextLabel not focusable
The edit button was not an actual button but a span, so it was ignored
in keyboard navigation. Moreover, the opacity was applied to its parent
element instead of to the button itself, so it was not highlighted when
focused. Also, after the input is hidden now the focus is given back to
the edit button.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 671feab186 Fix "copy link" button not focusable
The "copy link" button was not an actual button but a span, so it was
ignored in keyboard navigation.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez e45e3750e1 Fix select2 containers not highlighted when focused
The select2 containers have the same size as the "oca-spreedme-add-XXX"
wrappers that contain them, so the borders can be moved from those
wrappers to the containers themselves. This makes possible to set a
stronger border when the select2 container is active/focused.

Besides that now the text is stronger too when the select2 container is
focused to show that more clearly.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 819b5a0896 Fix keyboard navigation in tab headers
The tab headers contain a link that was focusable using keyboard
navigation. However, the CSS styles that highlight the tab header were
associated to the whole tab header, so even if the link was focused the
tab header was not highlighted.

Now the link is no longer focusable and the tab header itself is the
element that gets the focus, which causes it to be highlighted when
navigating with the keyboard. Also, the same selection behaviour applied
when the tab header is clicked is now applied when pressing space or
enter.

Finally, as the tab header can not be selected again when it is already
selected the tab header is not focusable either when it is already
selected.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:41 +02:00
Daniel Calviño Sánchez 89921bc308 Do not select again an already selected tab
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:31:40 +02:00
Joas Schilling fd9837e6ae
Merge pull request #2117 from nextcloud/provide-feedback-to-the-user-when-some-operations-are-in-progress
Provide feedback to the user when some operations are in progress
2019-08-28 09:22:59 +02:00
Daniel Calviño Sánchez bff5d29326 Add acceptance tests for joining again a password protected room
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 09:19:28 +02:00