View Issue Details

IDProjectCategoryView StatusLast Update
0020837mantisbtmentionspublic2019-06-14 06:40
Reportervboctor Assigned Tovboctor  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version1.3.0-rc.1 
Target Version1.3.0-rc.2Fixed in Version1.3.0-rc.2 
Summary0020837: Support @ mentions
Description

It would be useful to support @ mentions as a feature that gradually replaces reminders and provided similar behavior to @ mentions in github. To start with we should do the following:

  • Detect @ mentions in summary, description, steps to reproduce, additional information and notes.
  • Replace @ username with @ {U123} (without spaces in both cases) before saving to database.
  • When displaying show username / realname based on configuration.
  • When displaying, if a user is deleted, show user123.
  • Hyperlink usernames to user profile page.
  • When a username is modified, the existing mentions shouldn't be broken
  • @ mentioned users should be added to the monitor list of the issue before email notifications are sent for adding an issue or a note.
TagsNo tags attached.

Relationships

has duplicate 0013532 closedcproensa Hyperlink users in bugnotes 
related to 0021083 closeddregad Link to user page is not always displayed when using @ mentioning 

Activities

vboctor

vboctor

2016-04-21 02:51

manager   ~0052987

PR: https://github.com/mantisbt/mantisbt/pull/760

atrol

atrol

2016-04-21 04:03

developer   ~0052989

Last edited: 2016-04-21 05:17

@ mentioned users should not be added to the monitor list of the issue.
It should be a decision of the user if he wants to get more emails than the one he got already.

The functionality of @ mentioning is similar to what we have with "Send a reminder".
If we don't drop it, we could automatically add @ mentions to the note, so users would learn the syntax for @ mentioning.

vboctor

vboctor

2016-04-21 10:58

manager   ~0052995

Regarding reminders, I would like to drop it. Was thinking we can either drop it right away, or have the page provide an explanation of using @ mentions.

The addition to the monitor list was just a starting point that is consistent with send reminders to some extent. However, we can consider the following approach:

  • Option 1: @ mentions triggering a "reminder" like email, but don't impact the regular notification.
  • Option 2: @ mentions become explicit members to the triggered notifications.

In the future, we can also add an @ mentions table, similar to monitor table. Eventually this can power features like issues where I'm mentioned (may also include contributed on as reporter, commenter or handler).

How about going with option 1?

vboctor

vboctor

2016-04-21 11:07

manager   ~0052996

My worry though is the following:

  • user A mentions user B
  • user B gets a notification
  • user B replies
  • user A replies without another mention
  • user B misses the reply

That is why reminders had this feature where mentioned users were added to the monitor list, but it was behind a configuration option.

atrol

atrol

2016-04-21 11:32

developer   ~0052998

  • user B replies
    and could set himself to the monitoring list if he wants it
  • user A replies without another mention
  • user B misses the reply
    The standard behavior would be that he gets email as he is in the list of users that added a note.
    I think this is Ok.
vboctor

vboctor

2016-04-21 11:38

manager   ~0052999

Good point. so I'll implement Option 1. Let me know if that addresses your concerns.

atrol

atrol

2016-04-22 03:40

developer   ~0053003

Let me know if that addresses your concerns.
At least my current one.
Hardly any time to think more about it at the moment ...

dregad

dregad

2016-04-22 05:15

developer   ~0053005

For the record:

@ mentioned users should not be added to the monitor list of the issue.
It should be a decision of the user if he wants to get more emails than the one
he got already.

Reminders, in their current implementation, DO add the recipients to the monitoring list, so Victor's approach would not change the system's behavior.

Regarding reminders, I would like to drop it.

I am not opposed to removing this feature, but please keep in mind that today sending a reminder is slightly different than the system sending a "normal" notification:

  • creates a specific "reminder" note type
  • sending an e-mail regardless of the user's notification preferences; the email's contents is not the same that a regular notification message

In other words, reminders allows authorized users to send a message to someone, even if they chose not to receive notifications from Mantis. We need to think about whether we want to keep this ability or not.

atrol

atrol

2016-04-22 07:25

developer   ~0053006

Reminders, in their current implementation, DO add the recipients to the monitoring list

I am aware of it.
We could/should add a check box "Add users to monitoring list" to the reminder dialog.

reminders allows authorized users to send a message to someone, even if they chose not to receive notifications from Mantis

Good point, that's a reason to keep reminders or at least this functionality.

Maybe offer the same functionality via
@ username : send email
@@ username : send email even if they chose not to receive notifications
@@@ username : send email even if they chose not to receive notifications + add to the monitoring list

Related Changesets

MantisBT: master 59970d87

2016-04-20 22:47

vboctor


Details Diff
Support @ mentions

This provides the basic support for @ mentions. We can grow this feature
further over time.

Fixes 0020837
Affected Issues
0020837
mod - config_defaults_inc.php Diff File
mod - core/bug_api.php Diff File
mod - core/bugnote_api.php Diff File
add - core/mention_api.php Diff File
mod - docbook/Admin_Guide/en-US/config/misc.xml Diff File
mod - plugins/MantisCoreFormatting/MantisCoreFormatting.php Diff File
mod - tests/Mantis/AllTests.php Diff File
add - tests/Mantis/MentionTest.php Diff File
mod - tests/TestConfig.php Diff File

MantisBT: master 9c66d394

2019-06-02 06:05

dregad


Details Diff
Revert maintenance mode in TestConfig.php

For an unknown reason, commit 59970d8735dd06975c3aeabbd9ce8ba0d7593b16
(part of issue 0020837) set MANTIS_MAINTENANCE_MODE.

As a consequence, it is not possible to use any database function as
as part of unit tests.

Since the tests added in the above-mentioned commit are also successful
without maintenance mode, it makes sense to revert this change.
Affected Issues
0020837
mod - tests/TestConfig.php Diff File