feat(ux): abrir y cerrar el detalle con clic directo sobre el orbe
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
Hướng nghiên cứu
Read the interaction code for ProviderGauge and openFor, then inspect the existing hover timing and related tests. The issue leaves the click and hover behavior as product decisions, including whether clicking the visible provider opens or switches the panel; implementation can be scoped once those choices are resolved.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Qué propone
Abrir y cerrar el panel de detalle con un clic directo sobre el orbe, además del hover actual. Es un cambio de UX multiplataforma, así que va por separado del arreglo de Wayland (#169).
Motivación
Hoy el panel abre por mouseenter con OPEN_DELAY y cierra por mouseleave + temporizador. En Linux eso es frágil:
- No hay una segunda señal que filtre el paso accidental del puntero. El muestreo nativo de presencia (#154) solo existe en macOS porque ahí WebKit deja de emitir
mouseleave; en WebKitGTK los eventos del DOM funcionan, así que no hay motivo para añadirlo. - El único freno es el temporizador de apertura. Con 90 ms el detalle se dispara al recorrer la tira con el cursor; con 350 ms (lo que lleva ahora solo Linux en #169) el barrido deja de abrirlo, pero 350 ms también se siente lento cuando querés abrirlo a propósito.
- Un clic es una intención explícita y no depende del recorrido del puntero.
Decisión de producto que hace falta
El clic tiene que coexistir con el hover, y ahí está la pregunta que no quiero resolver por mi cuenta:
- Clic como atajo, hover intacto.
OPEN_DELAYse queda como está; el clic abre al instante. Simple y retrocompatible. El coste: en Linux el hover a 350 ms sigue sintiéndose lento para quien ya se acostumbró al clic. - Clic como interruptor, hover reducido. Un clic sobre un orbe con el panel abierto lo cierra, y sobre otro orbe lo cambia directamente. Es el comportamiento que many desktop apps usan para menús popover. El coste: es un cambio de modelo mental respecto al hover puro, y hay que decidir si el hover sigue abriendo o solo cambia.
- Clic excluyente en Linux. Donde el hover es frágil, el clic es el mecanismo principal y el hover solo cambia entre orbes ya abierto. Es lo más coherente con el diagnóstico, pero diverge por plataforma.
También hay que decidir si el clic debe abrir también el panel ya visible desde el orbe correspondiente (por ejemplo, para cambiar de provider sin cerrar antes).
Por qué no va en #169
Porque no es un arreglo de una plataforma: es una decisión de interacción que afecta a los tres. En #169, OPEN_DELAY quedó acotado a Linux y el toggle por clic fuera, para no mezclar un cambio de comportamiento global con el acotamiento de los recoveries por plataforma.
Alcance de la implementación, si se aprueba
ProviderGaugeacepta unonClickopcional; si no se pasa, el comportamiento actual queda intacto.openFor(id, el, immediate)conimmediatepara saltar el temporizador.- Un test que fije que el clic abre, que el segundo clic sobre el mismo orbe cierra, y que sobre otro orbe cambia.
- Decisión de plataforma documentada en el propio código.
Nota
Mientras tanto, en Linux el OPEN_DELAY de #169 queda en 350 ms. Si esta issue se aprueba con la opción 3, ese valor podría volver a 90 ms para Linux porque el clic pasa a ser la vía principal.
- Ngôn ngữ chính
- TypeScript
- Star
- 10
- Fork
- 2
- Merge trung bình
- 4 giờ 14 phút
- Pull request đã merge (30 ngày)
- 97
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của egdev6/quorb
-
type:bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 57/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
egdev6/quorb#188 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
egdev6/quorb#187 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
chore(tooling): adoptar rustfmt con gate de CI de formato (baseline no fmt-clean)Có thể đã có người làm @SrStamm đã nhận 2 ngày trước. Đang mở
egdev6/quorb#184 · 3 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug(linux): degradaciones informadas como éxito o con indicaciones que no resuelven (atajos, bandeja, auto-hide)Có thể đã có người làm @SrStamm đã nhận 2 ngày trước. Đang mởstatus:approved type:bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
egdev6/quorb#181 · 7 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
area: server priority: P3 type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
appandflow/stim#4538 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG] Published Docker images lack the redis extra: HEADROOM_COMPRESS_SESSION_STORE stops startupCó thể đã có người làm @AlessandroSpallina đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
headroomlabs-ai/headroom#4513 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug extension extension: obsidian platform: Windows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
raycast/extensions#32838 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
copy design-review mac P3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
tosunlab/hisarapp-core#510 ·
-
bug priority-medium to-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày