Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of ability to mention/reference entities in messages #207

Open
5 of 8 tasks
JonasMuehlmann opened this issue Jun 27, 2021 · 0 comments · Fixed by #226
Open
5 of 8 tasks

Implementation of ability to mention/reference entities in messages #207

JonasMuehlmann opened this issue Jun 27, 2021 · 0 comments · Fixed by #226
Assignees
Labels
Backend implemented discussion Requires opinions of team members effort: high When you have a free weekend... feature New feature frontend priority: medium Nice to have... status: in development

Comments

@JonasMuehlmann
Copy link
Owner

JonasMuehlmann commented Jun 27, 2021

Concept:

  • When sending messages, the sender can mention/reference the following entities, if they are part of the team:
    • users
    • roles
    • the whole team(@ALL)
    • other messages
    • channels
  • The mentions can be included in the message text and will be highlighted (Bold and colored?)
    • When writing to the DB though, the mentionId should be inserted into the message(e.g. Refer to @12345 for more info) since this is robust against renaming mentioned entities
    • The mentionId will be converted into the mentioned entities name(e.g. the channel name MyExampleChannel) when loading messages
  • While typing, target entities can be suggested similarly to the user search
    • Messages will probably have to be mentioned by their number, hence the beginning of it's content should be shown in the preview and sent messages in the ui should show their number for easy referencing
  • When starting to write a message, all available entities could be loaded asynchronously for quick lookup
  • When selecting a mention target, users can filter the search by providing a special character followed by a semicolon(e.g. @u:john to search for users with john in their name, @r:dev to search for dev in the teams roles)

Backend tasks:

  • Adjust db to include mentions
  • Add MentionService
  • Write helpers to resolve entity names from the mentionId
  • Write method to list all referencable entities
  • Write tests

Frontend tasks:

  • Show message's ids
  • Suggest entities while typing, and complete and validate them
  • Highlight mentions
CREATE TABLE Mentions(
	Id INT IDENTITY(1,1) PRIMARY KEY,
	TargetType NVARCHAR(30) NOT NULL,
	TargetId NVARCHAR(64) NOT NULL,
);
@JonasMuehlmann JonasMuehlmann added feature New feature help wanted Extra attention is needed status: not started discussion Requires opinions of team members frontend backend priority: medium Nice to have... effort: high When you have a free weekend... labels Jun 27, 2021
@JonasMuehlmann JonasMuehlmann added this to the Optional features milestone Jun 27, 2021
@JonasMuehlmann JonasMuehlmann removed the help wanted Extra attention is needed label Jun 27, 2021
@JonasMuehlmann JonasMuehlmann linked a pull request Jul 6, 2021 that will close this issue
6 tasks
@JonasMuehlmann JonasMuehlmann added status: in development has_dependency Requires other issues to be closed and removed status: not started has_dependency Requires other issues to be closed labels Jul 6, 2021
@JayKim94 JayKim94 mentioned this issue Sep 15, 2021
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backend implemented discussion Requires opinions of team members effort: high When you have a free weekend... feature New feature frontend priority: medium Nice to have... status: in development
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants