Improve error message when conversation isn't available in Module\Item\Display

- Retrieve the parent post no matter what. Previously it was depending on the user's settings, which gave unpredictable behavior if the parent post wasn't retrieved for whatever reason.
- List possible reasons the conversation isn't showing up based on the condition in Model\Post::selectViewForUser
- Allow HTML in exception messages
This commit is contained in:
Hypolite Petovan 2022-11-18 20:44:53 -05:00
parent acc3c2d2c7
commit 525eab395c
2 changed files with 11 additions and 3 deletions

View file

@ -136,7 +136,7 @@ class Display extends BaseModule
}
if ($item['gravity'] != Item::GRAVITY_PARENT) {
$parent = Post::selectFirstForUser($itemUid, $fields, [
$parent = Post::selectFirst($fields, [
'uid' => [0, $itemUid],
'uri-id' => $item['parent-uri-id']
], ['order' => ['uid' => true]]);
@ -249,7 +249,15 @@ class Display extends BaseModule
$item = Post::selectFirstForUser($pageUid, $fields, $condition);
if (empty($item)) {
throw new HTTPException\NotFoundException($this->t('The requested item doesn\'t exist or has been deleted.'));
$this->page['aside'] = '';
throw new HTTPException\NotFoundException($this->t('Unfortunately, the requested conversation isn\'t available to you.</p>
<p>Possible reasons include:</p>
<ul>
<li>The top-level post isn\'t visible.</li>
<li>The top-level post was deleted.</li>
<li>The node has blocked the top-level author or the author of the shared post.</li>
<li>You have ignored or blocked the top-level author or the author of the shared post.</li>
</ul><p>'));
}
$item['uri-id'] = $item['parent-uri-id'];

View file

@ -1,7 +1,7 @@
<div id="exception" class="generic-page-wrapper">
<img class="hare" src="images/friendica-404_svg_flexy-o-hare.png"/>
<h1>{{$title}}</h1>
<p>{{$message}}</p>
<p>{{$message nofilter}}</p>
{{if $thrown}}
<pre>{{$thrown}}
{{$stack_trace}}