{#snippet body(message: ThreadMessage)} {#if shownOnItsRow(message)}

Asked a question on the request above — shown on that row.

{:else}

{/if} {/snippet} {#snippet actions(message: ThreadMessage)} {#if writable}
{#if onReply} {/if}
{#if asking === message.uri} (asking = '')} /> {/if} {/if} {#each pendingFor(pending, message) as request (request.uri)} {@const who = request.value.assignee ? space.directory.get(request.value.assignee) : undefined}
asked {who?.handle ?? who?.name ?? 'an agent'} to reply · {relativeTime( request.value.createdAt, space.asOf, )} {#if answerState(view, request) === 'awaiting'}— it asked a question back{/if} {#if writable && retractable(request, space.directory, account.did)} {/if}
{/each} {/snippet}
Thread {#if count}{count}{/if}
{#if rows.length === 0}

{filtering() ? 'No message in this thread matches that.' : 'Nothing has been said on this goal yet.'}

{:else}
{#each rows as row (row.message.uri)} {@const actor = space.directory.get(row.message.did)} {@const question = blocking(row.message)}
{actor.name} {stamp(row.message.value.createdAt)} {#if question} {/if}
{@render body(row.message)} {@render actions(row.message)}
{#if row.replies.length > 0}
{#each row.replies as reply (reply.message.uri)} {@const author = space.directory.get(reply.message.did)}
{author.name} {stamp(reply.message.value.createdAt)} {#if reply.inReplyTo} in reply to {space.directory.get(reply.inReplyTo.did).name} {/if}
{@render body(reply.message)} {@render actions(reply.message)}
{/each}
{/if} {/each}
{/if} {#if error} {/if}