diff --git a/appinfo/routes.php b/appinfo/routes.php index 077c37ee..f88528b8 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -50,7 +50,7 @@ return [ ['name' => 'Navigation#resizedGetPublic', 'url' => '/document/public/resized', 'verb' => 'GET'], ['name' => 'ActivityPub#actor', 'url' => '/users/{username}', 'verb' => 'GET'], - ['name' => 'ActivityPub#actorAlias', 'url' => '/@{username}', 'verb' => 'GET'], + ['name' => 'ActivityPub#actorAlias', 'url' => '/@{username}/', 'verb' => 'GET'], ['name' => 'ActivityPub#inbox', 'url' => '/@{username}/inbox', 'verb' => 'POST'], ['name' => 'ActivityPub#getInbox', 'url' => '/@{username}/inbox', 'verb' => 'GET'], ['name' => 'ActivityPub#sharedInbox', 'url' => '/inbox', 'verb' => 'POST'], diff --git a/src/components/MessageContent.js b/src/components/MessageContent.js index ff4e23cf..d8fe78a8 100644 --- a/src/components/MessageContent.js +++ b/src/components/MessageContent.js @@ -24,6 +24,9 @@ export default Vue.component('MessageContent', { * All attributes other than `href` for links are stripped from the source */ export function formatMessage(createElement, source) { + if (!source.tag) { + source.tag = [] + } let mentions = source.tag.filter(tag => tag.type === 'Mention') let hashtags = source.tag.filter(tag => tag.type === 'Hashtag') diff --git a/src/components/TimelineAvatar.vue b/src/components/TimelineAvatar.vue new file mode 100644 index 00000000..25104274 --- /dev/null +++ b/src/components/TimelineAvatar.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/TimelineEntry.vue b/src/components/TimelineEntry.vue index 61833343..97f714c6 100644 --- a/src/components/TimelineEntry.vue +++ b/src/components/TimelineEntry.vue @@ -1,41 +1,50 @@