Desktop: avatars blink (blank → gray → photo) whenever a new message group renders
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 67/100
Direzione di ricerca
Inizia leggendo desktop/src/shared/ui/avatar.tsx e ricostruisci come UserAvatar esegue il rendering di Avatar e AvatarImage di Radix; il report indica il caricamento differito, la decodifica asincrona e il controllo del caricamento di Radix a ogni mount come possibili cause, non come soluzioni verificate. Riproduci lo sfarfallio quando appare un nuovo gruppo di autori, quindi verifica che un avatar memorizzato nella cache venga visualizzato al primo frame senza la transizione da vuoto a grigio.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Every time a new author block mounts in the timeline, the avatar blinks. This happens for sends and incoming messages alike, and even when the image is already cached. In a 120 fps recording, the avatar is blank for one frame, a gray circle for one frame, then the photo (about 20 ms in total). It reads as a flicker every time someone starts a new group.
Steps to reproduce
- Open a DM or channel with avatars set.
- Send a message that starts a new author group, or receive one from someone else.
- Record the screen at a high frame rate and step through the frames where the row appears.
Expected behavior
An avatar that is already cached paints on the row's first frame.
Version and platform
- Buzz version: dev build from
main(a8fe2b6) - OS: macOS 26
Logs / additional context
Likely cause, not yet verified with a fix: UserAvatar uses Radix Avatar, and AvatarImage (@radix-ui/react-avatar 1.1.12) only renders the <img> after its own per-mount new Image() reports loaded. The image therefore never paints on the first frame, even from cache. desktop/src/shared/ui/avatar.tsx also sets loading="lazy" and decoding="async" on the image, which can add a frame of gray bg-secondary before the decoded photo appears.
Duplicates: none found.
- Lingua principale
- Rust
- Stelle
- 35.6k
- Fork
- 4.7k
- Merge medio
- 2g 4h
- PR unite (30g)
- 202
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di block/buzz
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
Mobile: opening an attachment names the file after the link text instead of the imeta filenameForse già presa @wenhaoone l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
Desktop: private project home channels show no lock icon in the sidebarForse già presa @Bartok9 l’ha presa 7 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Desktop crashes on launch: undefined is not an object (evaluating 'e.participantPubkeys.map')Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
pact-foundation/pact-cli#154 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
antithesishq/bombadil#361 ·
I maintainer di solito rispondono entro 1 giorno
-
test(executor_l0): assert execute() TaskOutcome, not only bus events / 断言 execute() 返回的 TaskOutcomeApertatype:debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
skaiy/wild_agentos#425 ·
I maintainer di solito rispondono entro 1 giorno
-
Default-import note suggests `import * as process` for velt:process, which does not name the builtinAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug ticket
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
cratestack/cratestack#1154 ·
I maintainer di solito rispondono entro 1 giorno