This task involves the work of defining and implementing the user experience for cases when a comment or topic has been moved from the page on which the permanent link to said "entities" was generated on.
We currently show a warning if the comment is not found on the page, which likely means it was archived.
Cases
- Comment/topic is present on same page permanent link was generated from
- Comment/topic is found on one other page
- Comment is found on multiple pages
- Comment is NOT found on any page [i]
UX Requirements
Case #1
Outside this task's scope; you'll always land on the page from which the comment / topic link was generated and see it present
Case #2
- Invisibly and automatically redirect people to the page on which the comment they're attempting to navigate to now exists
- Open: how – if at all – does the interface communicate to people that a "silent" redirect happened?
Case #3
- Automatically redirect people to Special:FindComment so that they can see the pages the comment they're attempting to navigate was found on and decide for themselves which – if any – of these pages they'd like to visit
Case #4
Options:
- Do a server side redirect back to the original page, with a ?noredirect param, and show the warning we used to show.
- Alternatively we could do a API equivalent of Special:FindComment, and only leave the page if we know the comment has been moved somewhere. This has the downside of making the "slow" client-side redirect a bit slower.
- We could also consider showing a confirm dialog before redirecting: "The comment you have been linked to has be moved to My Page/Archive 1. [ View ] [ Cancel ]", but that be more annoying.
Done
- UX Requirements are defined and implemented for each of the cases listed above
i. Reasons why a comment might not have been found:
- The link was corrupted at some point (only partially copied, or the encoding broken by sending through some third party)
- The comment was withdrawn/deleted
- The comment was resigned with a different timestamp
- Other page corruption that breaks signature detection?