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
path: root/src
AgeCommit message (Collapse)Author
2020-01-09Fix chat tab autoscroll to bottomMarco Ambrosini
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
2020-01-09Merge pull request #2691 from nextcloud/add-autocompletion-for-mentionsJoas Schilling
Add autocompletion for mentions
2020-01-09Dark theme fixes for vue-atJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-09Merge pull request #2705 from ↵Daniel Calviño Sánchez
nextcloud/fix-getting-messages-in-messageslist-in-talk-sidebar Fix getting messages in MessagesList in Talk sidebar
2020-01-09Show also matches by id not only display nameJoas Schilling
The vue-at library only searches in the display name by default. But luckily our server responds already only with matching items, so we just filter none and show them all. Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-09Temporarily disable guest/all mentions so autocomplete for users worksJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-09Show HTML mentions instead of plain text when composing a messageDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Show avatars for candidate mentions in the autocompletion panelDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Add custom template for elements in the autocompletion panelDaniel Calviño Sánchez
In order to show the user label in the autocompletion panel but set the user id in the content editable both attributes need to be included for every vue-at member. When the members are objects instead of a string the "name-key" property needs to be used so vue-at knows which attribute to use to filter the panel based on the text after the "@". However, the default embedded item uses that attribute, so a custom template is needed to set the user id in the content editable. In turn, this causes the content editable contents to be set as HTML elements instead of plain text, so the HTML element of the mentions need to be converted to plain "@userId" before sending them to the server. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Add basic autocompletion of mentionsDaniel Calviño Sánchez
The vue-at component is used to provide the autocompletion UI. This component handles the edition in its wrapped contenteditable, so the "vue-contenteditable-directive" is no longer needed. As the new message form hides its overflowing children (and it can not be removed, as it breaks the layout when typing long (tall) messages) the "vue-at-reparenter" helper is used. In this initial version the candidate mentions show the id of the user or guest that matches the current "@" mention being written and, when selected, adds that id as plain text to the editable content. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Enable HTML markup in contenteditable divDaniel Calviño Sánchez
By default the "vue-contenteditable-directive" sets the text of a contenteditable div using the "innerText" property, which causes any HTML markup to become escaped plain text inside the div. In order to provide rich text messages with mentions real HTML elements are needed, so the "dangerousHTML" option needs to be enabled so the text is set to the "innerHTML" property instead. When real HTML elements are used the browser adds new lines using "<br>" and spaces that would otherwise be collapsed into one (like several white spaces in a row) using "&nbsp;". Therefore now the raw text of the contenteditable div needs to be converted to the format expected by the server (that is, "\n" and regular white spaces). Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Fix enabling and disabling the AdvancedInput using the propertyDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Add helper to reparent the panel of the vue-at componentDaniel Calviño Sánchez
The panel of the vue-at component is a child of the root element of the component. In some cases a different parent may be needed, but the component does not provide any way to change that, so a helper mixin that works around that limitation was added. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Merge pull request #2707 from nextcloud/bugfix/noid/fix-chat-tabJoas Schilling
Correctly register the chat tab
2020-01-09Correctly register the chat tabJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-09Show mentions to guests using a UserBubbleDaniel Calviño Sánchez
The UserBubble component currently does not provide a way to set an arbitrary letter on the avatar, only the first letter of the display name or an icon. Therefore, for the time being, a user icon is used for the avatar instead of the "?" character. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Show mentions to all using a UserBubbleDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Adjust chat tab to the new vue-scroll directiveDaniel Calviño Sánchez
Due to the changes in the message list it is no longer needed to reset the height of the chat view. Moreover, the chat view now needs to have a height of 100% (which was the reset value before) in order to be properly shown in Chromium. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Set current participant when joining a conversation in the chat tabDaniel Calviño Sánchez
The MessagesList starts getting messages once the current participant has been set, so it needs to be fetched and set after joining the conversation (as if the current user is not a participant of the conversation yet only a limited data about the conversation will be received). Getting the conversation automatically sets the current participant, and as both the conversation and the participant will be needed for the CallButton, which will be added later, the participant is now set implicitly through the conversation. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Fix join/leaveConversation not waiting until the action is doneDaniel Calviño Sánchez
join/leaveConversation are marked as asynchronous, so it is expected that invoking them with await will wait until the conversation is joined or left before continuing. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Merge pull request #2701 from nextcloud/bugfix/noid/fix-posting-messagesJoas Schilling
Prevent empty messages and pasting HTML
2020-01-09Show lobby screen for non moderators when it is enabledDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Stop and start requests depending on the lobby stateDaniel Calviño Sánchez
When the current participant is in the lobby the messages and participants can not be fetched. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Fix pasting HTML code into the inputJoas Schilling
Ref https://github.com/nextcloud/spreed/pull/1018 Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-09Don't allow empty messagesJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-09Extract function to handle start getting messages preconditionsDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Remove unused codeDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Remove dangling characterDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Add action to moderation menu to set the lobby timerDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Prevent trying to get new messages on a destroyed MessagesListDaniel Calviño Sánchez
As "getNewMessages" is enqueued to be executed in the next tick it could happen (even if it is extremely rare) that the MessagesList component is destroyed in the meantime. If that happens the component is disconnected from the store, so it can access only those values already known. Due to this the last known message ID is never updated, so when a new message is sent the MessagesList enters in a infinite loop trying to get the new messages again and again always using an old message ID. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Fix getting messages in MessagesListDaniel Calviño Sánchez
The MessagesList component only started getting the messages after a conversation was joined. Due to this the messages were not updated after joining a call, as the original MessageList component was removed from the main view and a new component was added to the sidebar, but as the conversation was not changed the new MessagesList component did not fetch new messages and only showed those that were already in the store. Now getting the messages is done based on the conversation token and whether the current participant is a participant of the conversation or not. Both checks are needed and independent; when "token" changes that signals a change in the current conversation, and when "isParticipant" changes that signals that the current participant is now a participant or not any longer of the conversation. Note that getting the messages can not be done on 'routeChange' events, as the token might not have been updated yet when the event is handled, which would cause the messages for the new conversation to be got with the token of the previous conversation (and with that all sort of problems). Finally, when scrolling to bottom it is necessary to check that there is any message in the conversation. Otherwise "beforeUpdate" could be triggered by some property change before the first batch of messages is received, which would clear the "initiated" flag and thus no scrolling would happen once the messages are finally got (although the scrolling code need a revamp, this is just a small adjustment). Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-01-09Merge pull request #2698 from nextcloud/bugfix/noid/combine-empty-sourcesJoas Schilling
Bugfix/noid/combine empty sources
2020-01-09Merge pull request #2690 from ↵Joas Schilling
nextcloud/bugfix/2675/missing-guest-placeholder-name-on-quotes Fix missing "Guests" placeholder on quotes
2020-01-09Merge pull request #2692 from nextcloud/bugfix/2681-2595/scrollingJoas Schilling
Fix scrolling issues
2020-01-09Remove vue-virtual-scroll-list for nowJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-08Merge pull request #2689 from nextcloud/fix/design/ConversationIconJoas Schilling
Cleanup: fixes on the ConversationIcon design
2020-01-08Merge pull request #2695 from nextcloud/bugfix/2657/make-all-text-boldJoas Schilling
Make all text bold for unread conversations
2020-01-08Add scroll to bottom feature when receiving new messagesMarco Ambrosini
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
2020-01-08Install vue-scroll packageMarco Ambrosini
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
2020-01-08Use visibility storeMarco Ambrosini
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
2020-01-08Fix padding of "No results"Joas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-08Combine the empty sources for less "No results" messagesJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-08Create window visibility storeMarco Ambrosini
2020-01-08Fix layoutMarco Ambrosini
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
2020-01-08Remove virtual listMarco Ambrosini
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
2020-01-08Merge pull request #2683 from nextcloud/bugfix/2660/make-links-clickable-againDaniel Calviño Sánchez
Make links clickable again
2020-01-08Make all text bold for unread conversationsJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-07Merge pull request #2682 from ↵Joas Schilling
nextcloud/followup/2649/translate-placeholder-for-new-messages Translate placeholder for new messages
2020-01-07Small fixes on the ConversationIcon designJohn Molakvoæ
- Fix alignment and proper sizing of the elements - Reduced star size for better antialiasing
2020-01-07Fix missing "Guests" placeholder on quotesJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>