User mapping - Handle mentions and participants in DT
Problem
At the moment, importers do not handle mentions very well, and some importers do not handle them at all, causing incorrect users to be mentioned and added as participants, which causes a lot of confusion.
With the introduction of improved user mapping, handling them will be more challenging, as we would need to rename mentions to placeholder users and then, after the reassignment, replace the placeholder user mentions with the actual user. It will be even more difficult if the placeholder limit is reached and the source user is mapped to the unique ImportUser.
This issue proposes disabling mentions for imported context, which would greatly simplify things. The same solution could be easily implemented in all importers.
Proposed solutions
1. Not add links to the username when the contribution is flagged as imported
See details
In this solution, we will not replace the usernames mentioned in the note or description text. Instead, we will modify Banzai::Filter::References::UserReferenceFilter to display the username as plain text for contributions with the imported_from flag set. This means that even if the username is present in the database, a link will not be added to the username.
See an example below:
Besides changing Banzai::Filter, we would also need to exclude imported content from being scanned for participants.
The downside of this approach is that if a user attempts to edit the note or description with another username, the updated text would still not add links to usernames since the flag "imported_from" would still be set.
2. Wrap usernames in backticks - selected
In this solution, we will not replace the usernames mentioned in the note or description text. Instead, during the import, we will wrap them in backticks to prevent links from being added to the usernames.
See an example below:
Since usernames would be wrapped in backticks, I believe, we wouldn't need to change how the participant's lists are built.
The advantage is that users would be able to edit the contribution and mention users.