Try our conversational search powered by Generative AI!

Tag user: Problem when tagged user has part of a common username

Found in

EPiServer.CMS.Core 10.0.0

Fixed in

EPiServer.CMS.UI 10.1.0

(Or a related package)

Created

Oct 03, 2016

Updated

Nov 14, 2016

Area

CMS Core

State

Closed, Fixed and tested


Description

Steps to reproduce

  1. Create a site MVC from 7.5 > upgrade site to CMS10 then install the latest EPiServer.Templates.Alloy.Mvc.Sources.10.0.0 nuget and configure ASP.Net identity for site.
  2. Create a new user, log into the site > the site is working well.
  3. Change the site configuration to use Azure Active Directory.
  4. Create 2 users that have part of a common username and add them to be site administrators.
    User 1: admin@epicmstest1.onmicrosoft.com (display name: admin user)
    User 2: adminA@epicmstest1.onmicrosoft.com (display name: adminA user)
  5. Log into the site by the 2 users on 2 different browsers.
  6. On a browser: login by user 1, create an active project, create some UI notification for the user by tagging the user in a comment: typing @a in the comment text.

Expected result: 'admin user' and 'adminA user' appear in suggestion list.
Actual:

  • Only shows the Admin user in the suggestion list.
  • Select Admin user in list then post a comment > refresh the browser. On the browsers of User1 and user2, see that new UI notification shows for both users.
  • Click the Notification list.
  • Click *Mark as all read * > show server error

Stack trace:

[NullReferenceException: Object reference not set to an instance of an object.]
at EPiServer.Notification.Internal.DefaultNotifier.d__41.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at EPiServer.Notification.Internal.DefaultNotifier.d__40.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at EPiServer.Cms.Shell.UI.Rest.Notifications.NotificationService.d__6.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at EPiServer.Cms.Shell.UI.Rest.Notifications.NotificationStore.d__5.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at lambda_method(Closure , Task )
at System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_DisplayClass3f.b_3e(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_DisplayClass37.<>cDisplayClass39.b_33()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_DisplayClass4f.b_49()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_DisplayClass4f.b_49()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_DisplayClass25.<>cDisplayClass2a.b_20()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_DisplayClass25.b_22(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at EPiServer.Shell.Services.Rest.RestControllerBase.EndExecute(IAsyncResult asyncResult)
at System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar)