block / block/buzz

[Desktop 0.5.17] Channels with large messages silently fail to render — Augury Portfolio and CRMD appear empty despite messages being on the relay

Open
#6,367 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

## Summary

Channels containing very large messages (long earnings press releases, reformatted SEC 10-Q tables) silently fail to render in Buzz Desktop 0.5.17. The channel appears empty or threads are truncated, but all messages are confirmed present on the relay (readable via `buzz messages get` CLI).

## Environment

- **Buzz Desktop:** v0.5.17 (latest, macOS aarch64)
- **OS:** macOS 26.5.2 (Apple Silicon)
- **Relay:** Block-hosted (`wss://augury.communities.buzz.xyz`)
- **Community:** Augury (invite-only)

## Reproduction

1. Post a very large message to a channel (~8KB+ of content — e.g., a full quarterly earnings press release with financial tables)
2. Post additional messages as thread replies (kind 45003) including reformatted SEC filing tables (~4KB of markdown tables)
3. Reopen the channel in Buzz Desktop

## Expected behavior

Channel displays all messages, with large messages either rendered in full or collapsed with a "show more" affordance.

## Actual behavior

- **Channel appears empty** or thread replies are missing — no error is shown to the user
- Messages are confirmed present on the relay (verified via `buzz messages get --channel --limit 10` — all messages return correctly)
- WebContent process hits memory pressure (~440-462 MB observed) and silently drops content rather than rendering it
- The problem affects both the specific channel and can cascade to related channels in the sidebar

## Affected channels (confirmed)

| Channel | UUID | Content |
|---------|------|---------|
| Augury Portfolio | `4183a6ba-2b2d-4551-a915-b2398cad07c5` | LQDA Q2 2026 earnings press release (~8KB) + reformatted 10-Q financial tables (~4KB) as thread replies |
| CRMD | `a4c74c38-c3d3-4168-bfa2-5a2d5d02fdc5` | CRMD biotech research post (~12KB) with inline images and link previews |

## Diagnosis

- `buzz messages get` returns all messages correctly — **this is not a relay or data issue**
- WebContent memory pressure events observed in system logs around the time channels go blank
- The v0.5.17 release includes `fix(desktop): eliminate mounted-view CPU burn` which addresses related CPU/memory issues but does not fully resolve this case
- Large messages with kind 45003 (threaded replies) containing dense markdown tables appear to be the worst case
- A full quit (Cmd+Q) and relaunch of Buzz Desktop temporarily restores some rendering, but the issue recurs when the large messages are loaded again

## Related issues

- #5409 — Large thread panels mount every reply, causing high CPU and memory use (related root cause, but this issue is about silent rendering failure, not just CPU)
- #3265 — Channel view goes permanently blank after relay reconnect (different trigger, similar symptom)

## Suggested fixes

1. **Cap message render size** — if a message exceeds a threshold (e.g., 5KB), collapse it with a "Expand" button instead of attempting to render the full content inline
2. **Lazy-load thread replies** — only render visible replies in the viewport, not the entire thread at once
3. **Show an error state** — if WebContent fails to render a message, show a placeholder ("Unable to display this message — it may be too large") instead of silently dropping it
4. **Paginate or virtualize** the message list so large channels don't attempt to render all messages simultaneously

## Impact

This makes the desktop app unusable for investment research workflows where earnings reports and SEC filings are shared in channels — exactly the use case Buzz is designed for.

Contributor guide

Open the contributing guide

Research direction

Reproduce the blank channel in Buzz Desktop 0.5.17 with the reported large messages and thread replies, then inspect the desktop WebContent message and thread rendering path. Compare the Desktop result with `buzz messages get --channel --limit 10`. Done means large messages no longer make channels appear empty, and users receive full, collapsed, or explicit placeholder content instead of silent loss.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.