Error arises when accessing issues updated by deleted users
Description
Users face issues when trying to access issues from the board shares and filter shares that have been created or last updated by a user who is no longer present in the Jira instance (i.e., a deleted user).
Steps to reproduce
- Add a Jira user to your instance
- Grant the new user Jira project admin access
- Navigate to Project settings using this user's account
- Create a new board or filter share, or update existing ones
- Delete the aforementioned user from the Jira instance
- Open the board or filter share as an external user
- Attempt to access any issues on the board
- Observe the error as the share page fails to render
Expected Behavior
Information about restrictions should be displayed to user
Restricted issue/filter/board/timeline
The issue/filter/board/timeline share link you're trying to access is currently unavailable due to changes in internal permissions.
Please reach out to the individual who shared this link with you.
Why is this happening?
All kind of shared links should be checked issue/filter(issue)/board(issue)/roadmap(issue).
Actual Behavior
An error arises, causing the share page to fail to render.
Based on customer report
Error log
[00000000cf1c31f5] 2023-08-18T14:48:30.815+02:00 ERROR 3933028 --- [XNIO-1 task-5] o.a.j.s.s.external.SharePageController : Error while rendering share page: /issue/88658/user_is_not_on_instance/QA-93,
POST https://parsashivaqa.atlassian.net/rest/api/3/search failed with HTTP status code 403
ovh.atlasinc.connect.jira.Jira$JiraException: POST https://parsashivaqa.atlassian.net/rest/api/3/search failed with HTTP status code 403
at ovh.atlasinc.connect.jira.Jira$HttpErrorHandler.apply(Jira.java:1112)
at ovh.atlasinc.connect.jira.Jira$HttpErrorHandler.apply(Jira.java:1097)
at ovh.atlasinc.guarana.http.HttpClient.checkHttpStatus(HttpClient.java:354)
at ovh.atlasinc.guarana.http.HttpClient.exchange(HttpClient.java:339)
at ovh.atlasinc.guarana.http.HttpClient.exchange(HttpClient.java:321)
at ovh.atlasinc.guarana.http.HttpClient.post(HttpClient.java:82)
at ovh.atlasinc.connect.jira.Jira.jqlReq(Jira.java:507)
at ovh.atlasinc.connect.jira.Jira.jql(Jira.java:499)
at ovh.atlasinc.jira.share.share.external.SupportUnit.lambda$createBoardCloudIssueContextLevel1$39(SupportUnit.java:592)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Child issues
ESFJ-571
Restricted share documentation
Backlog
Linked issues
relates to
SUP-242
Getting error message when navigating to an issue
Closed
ESFJ-569
Improve Share Accessibility by Indicating Inaccessible Shares
Backlog
SUP-272
External Share - Internal Comments on Software Projects Showing
Closed
Activity
Show:
Hello @Kamil Zarychta,
Please merge code to dev branch.
This is the best moment to add more information that can be helpful to prepare release notes.
Can you prepare short overview of change that can be used in release notes?
Please provide short GIF that showcase feature.
If GIF make no sense, can you provide image that highlights feature that can be used in release notes (cropped & annotated)?
@Kamil Zarychta Fix verified - QA environment.
@Sagar Rawat fix deployed on QA, please check now
@Kamil Zarychta after 2 user access is removed the created issue external share is displayed with white label error. Error also occurs on filter/Board shares.
@Kamil Zarychta Fix failed- QA environment. Error still arises on accessing issues updated by deleted user.
@Parsa Shiva changes released on QA environment
Hello @Kamil Zarychta ]
This is the best moment to add more information that can be helpful for tester.
What areas are affected?
What are potential edge cases?
Was it checked for XSS problems?
Does change affect security, is new data exposed?
Please attach - Before / After screenshot if possible.
@Kamil Zarychta Hello,
I have a question:
If a user is added to a project → Creates a share → user is removed from project, should the share he created be still working? Because he is still a user on the instance?
Hello @Krzysztof Bogdan,
Task is ready for review.
@Kamil Zarychta please make sure reviewer
have easy access to contend to be reviewed.
If this is code change. Please make sure PR is created.
If this is new documentation, blogpost, etc. Please provide link to page.
@Krzysztof Bogdan please look at code changes
Hello @Krzysztof Bogdan
This is the best moment to add more description, wire-frames, comments.
Why we doing this?
What is expected result?