diff --git a/changelog.d/broken.fix b/changelog.d/broken.fix
new file mode 100644
index 000000000..7e58091b4
--- /dev/null
+++ b/changelog.d/broken.fix
@@ -0,0 +1,2 @@
+Fix display of the broken/deleted/banned users
+
diff --git a/src/components/status/status.js b/src/components/status/status.js
index ba6fe1b68..eebae459b 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -452,7 +452,7 @@ const Status = {
},
scrobblePresent () {
if (this.mergedConfig.hideScrobbles) return false
- if (!this.status.user.latestScrobble) return false
+ if (!this.status.user?.latestScrobble) return false
const value = this.mergedConfig.hideScrobblesAfter.match(/\d+/gs)[0]
const unit = this.mergedConfig.hideScrobblesAfter.match(/\D+/gs)[0]
let multiplier = 60 * 1000 // minutes is smallest unit
@@ -474,7 +474,7 @@ const Status = {
return this.status.user.latestScrobble.artist
},
scrobble () {
- return this.status.user.latestScrobble
+ return this.status.user?.latestScrobble
}
},
methods: {
diff --git a/src/components/status/status.scss b/src/components/status/status.scss
index 511a74074..897730a07 100644
--- a/src/components/status/status.scss
+++ b/src/components/status/status.scss
@@ -108,6 +108,10 @@
overflow: hidden;
text-overflow: ellipsis;
flex: 1 1 0;
+
+ &.unknown {
+ min-width: 8em;
+ }
}
.heading-left {
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index fbc455ee6..ffdefb24f 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -109,6 +109,7 @@
class="left-side"
>
@@ -120,10 +121,17 @@
class="post-avatar"
:show-actor-type-indicator="showActorTypeIndicator"
:compact="compact"
- :user="status.user"
+ :user="status?.user"
/>
+