[MGNLSSO-239] Tasks for publishers are only displayed on page refresh using SSO module 3.0.1 Created: 10/Mar/23  Updated: 18/May/23  Resolved: 20/Apr/23

Status: Closed
Project: Single Sign On
Component/s: None
Affects Version/s: 3.0.1
Fix Version/s: saas, 3.1.3

Type: Bug Priority: Neutral
Reporter: Carlos Cantalapiedra Assignee: Nguyen Phung Chi
Resolution: Fixed Votes: 1
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: 3d 1h Time Spent: 3d 1h
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
Problem/Incident
Sub-Tasks:
Key
Summary
Type
Status
Assignee
MGNLSSO-256 Implementation Technical task Completed Nguyen Phung Chi  
MGNLSSO-258 Review Technical task Completed Evzen Fochr  
MGNLSSO-259 PiQA Technical task Completed Evzen Fochr  
MGNLSSO-260 Final QA Technical task Completed Evzen Fochr  
Template:
Acceptance criteria:
Empty
Task DoD:
[X]* Doc/release notes changes? Comment present?
[X]* Downstream builds green?
[X]* Solution information and context easily available?
[X]* Tests
[X]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:
Epic Link: SSO maintenance
Sprint: AdminX 34
Story Points: 3
Team: AdminX
Work Started:
Approved:
Yes

 Description   

Steps to reproduce

  1. Login with an SSO user (not same username like existing MgnlUser in JCR by default, e.g superuser, eric) which belongs to publisher group
  2. Go to pages-app and publish a page
  3. Check that till you don't refresh the browser, the new task doesn't appear

Expected results

Once the public task is created, the user can see the indicator within the task app section

Actual results

The indicator that a new task exists doesn't appear till the user refresh the browser

Workaround

N/A

Development notes 

The potential root cause is LocalTaskDispatcherManager#getAllRecipients, the issue happened because the recipients (which is list of username) doesn't contain the current login user to dispatch the new task created event and update the UI (the number in TaskBadge).

More details, one of the method in SsoUserManager which is called in the method above, throws UnsupportedOperationException because getAllUsers() is not implemented for SSO.

So, we have to find another way to determine the current login SsoUser is belongs to the group ("publishers" group in this case).

One concern or limitation is we can't fire events to all users in that group in SSO cases because the users are managed by the Identity provider, I'm not sure whether we should find all users belongs to the group like Mgnl user in JCR. Open to discussion and decide later in grooming cc brenuart mrajkovic 



 Comments   
Comment by Evzen Fochr [ 15/Mar/23 ]

I think that it is more question for support team, maybe miruela . For me, quick wins are fixing typos translations and other stuff like that. When the bug like this one is introduced, it is usually caused by change done for some reason, but then you need to find another solution and that is not usually so straightforward.  I would say this ticket would be something for 2-3 dev days but that is realy rough estimation

Generated at Mon Feb 12 10:52:23 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.