# Rake team UX suggestions in rake user app
## Features
## Use @{{systemUser.handle}} to notify users in a channel conversation
**Estimate for 1.13**
Description: In channel conversations, using @{{systemUser.handle}} to send that user a notification in the even he has muted the channel.
Example:
Typing "@"... would trigger a sorted list (similar to Tags feature) of systemUsers from the home workspace who's first or last names match the string typed immediately after the @... so, for example, "@my" would return "Mycola Jackolew" (first) and "Andrew Myner" (second). The sort of the returned list should be based on best match to firstName (first), and match to any other part of name (second), show alpha by First name for any matches not in the beginning of firstName match.
Picture:

## ~~Activate and Unfurl/Preview Links~~
**Included in 1.12**
Description:
Unfurl link URLs in a message to show a clickable preview card, also, even links taht cannot be unfurled should be auto recognised and wrapped into a clickable link in the message history
Example:
https://hackmd.io/fVEgxUxaR_OTz0gsnv3P_w -- тут лишаємо побажання
where https://hackmd.io/fVEgxUxaR_OTz0gsnv3P_w should become a clickable link
NOTE: The clickable link part of this feature has been implemented in Rake Mobile App v.37+, we need to implement similar in user app.
Unfurl/preview React library: https://www.npmjs.com/package/react-native-url-preview
## Copy/Edit/Delete Messages from history
**Include in 1.13**
Description:
possibility to edit and delete messages (this would only be available to internal messaging, never on external chats)
Example:
Mike Brown posts message in channel: "How do we do that?"
- Realizes "hat" should be "that"
- Uses a hover menu available on the message to "Edit", since he sent it, he can edit it, should NOT be able to edit other systemUsers messages
- Message inserts in typing area, he edits "hat" to "that" and resends the message
- This replaces the original message, but flags it as "edited" with a small pencil icon and the word "edited" in small light-grey font
Picture: See mockup [here](https://app.moqups.com/X5N8BeibSJ/view/page/a1f3f35e7)
## Feature Channel Tagging
**Include in 1.13**
Description:
Add the ability to link (in any internal message) to a channel (e.g. #sales_channel) and display the tag as a clickable link to direct user to the named channel without having to look it up manually.
Example: #general or #developers
Picture:
## Invite external workspace user to Direct message
**On Hold**
Description:
Add meetings - user can create meeting and share link with all can join to the meeting and they won't need to create account in UserApp if they don't have it.
## Quote all/part of a messsage and display as "quoted" to preface your reply.
**On Hold**
Description:
A collegue sends a multi-part question. You want to select each question within the original message and reply to them with individual responses.
Example:


### Answers
1. After edit message what I quoted => we save state what was original
### DB structure
1. Text message
```javascript=
message: {
quotedMessage: {
messageId,
text,
sentAt,
fromEntityId
},
}
```
2. Text + file/s message
> Do we need display file in quoted message?
```javascript=
message: {
quotedMessage: {
messageId,
text,
sentAt,
fromEntityId,
fileIds
},
}
```
3. File message
> Do we need display message if it is just file?
```javascript=
message: {
quotedMessage: {
messageId,
sentAt,
fromEntityId,
fileIds
},
}
```
## Convert "typed" emojis into actual emoji images
**On Hold**
Most other messaging platforms integrate a nice feature that when a user types :) it turns into :slightly_smiling_face: automatically.
We should do the same.
## When pasting text with >=500 characters, offer "snippet" file instead, to retain special text formatting
**On Hold**
A snippet is just a simple text file that retains indentations, carriage returns, and other simple text formatting and AVOIDS converting to emojis. This is a pet peeve of just about everyone who has used Skype when ;) turns into
When the system receives the input on the "SEND" action, offer user the option to convert to a "snippet". If user selects YES, create a txt file in the workspace bucket and add to the conversation.
Then, in message history display, always expand the .txt files in a card to show the formatted text in the message view.
This information from Slack may be helpful in handling this in the correct way. https://api.slack.com/types/file
## One-click insert of Conversation Script to typing area
**1.12**
When an agent is using the conversation script, allow them to click a "insert" button to push the "Question" into the typing area. This should not send the text, but it should appear for the agent to send it later after reviewing it or personalizing it.
See image here:

Icon: https://material.io/resources/icons/?search=add%20com&icon=description&style=outline