# Distsoc — Bug & Feature Tracking

## UI: People & Social

- [x] **Audience request button on followed peers** — "Ask to join audience" button with status badges. Fixed Feb 24 (427d971).
- [x] **Audience request response UI** — Approve/Deny buttons work in People tab Audience section.
- [x] **Name not updating after follow** — People tab now auto-refreshes every 10s. Fixed Feb 24 (427d971).
- [x] **View node bio** — Bios displayed in peer cards and follows list via resolve_display. Fixed Feb 24 (427d971).
- [x] **Follows list card redesign** — Converted to peer-card layout with rows for name/badge, bio, and actions. Fixed Feb 24 (eba3315).
- [ ] **Own node ID + share link/QR** — Node ID is in Settings. Add a share section with copyable link and QR code (e.g. qrcode.js, no npm). Format: connect string or deep link.

## UI: Network Diagnostics

- [x] **Last update time on diagnostic cards** — "Updated Xs ago" timestamp in diagnostics action row. Fixed Feb 24 (eba3315).
- [x] **Differentiate mesh/N0/N1/N2/N3** — Reach badges (Mesh/N1/N2/N3) on peer cards, slot kind badges (Preferred/Local/Wide) on mesh connections. Fixed Feb 24 (fd2421f).
- [x] **Refresh button verification** — Refresh shows loading state + toast. Fixed Feb 24 (427d971).
- [x] **Sync button verification** — Sync calls `sync_all` with "Syncing..." feedback. Verified working.
- [x] **Rebalance button verification** — Rebalance calls `trigger_rebalance` with "Rebalancing..." feedback + toast. Verified working.

## UI: Messages & Feed

- [x] **DMs only in Messages tab** — Feed now filters out `encrypted-for-me` posts. Fixed Feb 24 (427d971).
- [x] **Message threads** — Conversations grouped by partner with expandable thread view. Fixed Feb 24 (fd2421f).
- [x] **Messages showing in both feed and messages** — Resolved by DM filter. Fixed Feb 24 (427d971).

## UI: Attachments & Media

- [x] **Image attachment display** — CSP `img-src blob:` added. Images render in previews and feeds. Fixed Feb 23.
- [ ] **Video attachments** — Add video player UI for video/* mime types. Under 10MB works with existing blob system. Over 10MB needs chunking (protocol change).
- [ ] **Attachment limits** — Currently 4 attachments, 10MB each. Constants are easy to change. Large file chunking is separate work.

## UI: Updates & Maintenance

- [ ] **Android auto-update** — Check `shareat.app/distsoc/version.json` periodically, show update banner, prompt to download new APK. Can't self-install but can open browser/installer. Extra: notify when data reset needed.
- [ ] **Linux auto-update** — Same version check. AppImage can be swapped in place. Extra: notify when data reset needed.

## Bugs Fixed (Log)

- [x] **Image attachments not displaying** — CSP blocking blob: URLs. Fixed Feb 23 (bf6fe6f).
- [x] **Lock contention freezing node** — QUIC connect held conn_mgr lock for 60+s, blocking all tasks. Fixed Feb 23 (bf6fe6f).
- [x] **Startup blocking on referrals** — Referral peer connections blocked node startup. Spawned as background tasks. Fixed Feb 23 (bf6fe6f).
- [x] **Rebalance/sync buttons lock app with 0 peers** — Related to lock contention. 15s timeout cap added. Fixed Feb 23 (bf6fe6f).
- [x] **DMs leaking into feed** — Encrypted-for-me posts now filtered from Feed. Fixed Feb 24 (427d971).
- [x] **Names not updating after follow** — People tab auto-refreshes every 10s. Fixed Feb 24 (427d971).
