Desktop crashes on launch: undefined is not an object (evaluating 'e.participantPubkeys.map')
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 74/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- desktop
調査の方向性
desktop/src/shared/api/tauriChannels.ts から始め、features/sidebar/lib/channelLabels.ts と useDmSidebarMetadata を通じて participantPubkeys を追跡します。participant_pubkeys がない DM レコードでこの経路を再現し、汎用名の DM チャネルを含め、デスクトップのサイドバーがクラッシュせずに表示されることを確認します。
索引モデルが issue の本文から書いたものです。
説明
What happens
Buzz Desktop crashes on launch with the full-window error screen:
Something went wrong!
undefined is not an object (evaluating 'e.participantPubkeys.map')
The app is unusable — the sidebar never renders. Managed agents keep running in the background, but there is no way to reach the UI.
Versions
- Buzz Desktop 0.5.23 (crash) → updated to 0.5.25 (still crashes)
- macOS 15 (Darwin 24.6.0), Apple Silicon
Likely cause
A DM channel record arrives without participant_pubkeys, and desktop/src/shared/api/tauriChannels.ts maps it straight through:
participantPubkeys: channel.participant_pubkeys,
resolveChannelDisplayLabel (features/sidebar/lib/channelLabels.ts) and useDmSidebarMetadata then call .map() on undefined for any channelType === "dm" channel with a generic name.
This is exactly what #7263 ("default participantPubkeys to [] when relay omits it") fixes — the same fallback member_pubkeys already has. That PR was closed on 2026-09-02 without merging, so the crash is still in 0.5.25. Malformed DM records like this are plausibly produced by #6027 / #6206 (DMs shipping with zero p-tags).
The mobile app loads the same account fine, so only the desktop is affected.
Ask
Could #7263 (or an equivalent ?? [] fallback) be reopened and shipped? Right now one malformed record on the relay takes the whole desktop client down with no in-app way to recover.
- 主要言語
- Rust
- スター
- 35.3k
- フォーク
- 4.7k
- 平均マージ
- 2日 21時間
- マージ済み PR(30日)
- 197
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
block/buzz のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
block/buzz#7880 · コメント 2 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
block/buzz#7824 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 3 日以内に返信
-
state:triage-needed
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Automattic/harper#4503 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 2 日以内に返信