chore(widget): tests de la retención tras reordenar (#240)
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Contexto
Seguimiento de #240 (arreglo de #222). El comportamiento es correcto y está integrado; esta issue solo mejora sus tests. No es un bug.
Problema
-
Funciones sin lógica propia.
holdAfterReorderDrop,releaseOnStripLeaveycanPointerOpen(src/lib/anchor-panel.ts) envuelven un booleano (x => x,_ => false,h => !h), así que sus tests no pueden fallar. Los que comprueban la aridad (canPointerOpen.length,hoverPanel.length,clickPanel.length) y «never changes the panel state» (src/lib/anchor-panel.test.ts) no fijan ningún comportamiento. -
La lógica con bordes reales no tiene test. La comprobación de «dentro de la ventana» al soltar un reordenado está en línea en
src/Widget.tsx:1219:e.clientX >= 0 && e.clientY >= 0 && e.clientX < window.innerWidth && e.clientY < window.innerHeightUn error de
<frente a<=dejaría la retención activa sin que nada la libere, y el hover no volvería a abrir el panel hasta salir de la tira.
Propuesta
- Dejar la retención como un
useRef<boolean>enWidget.tsxy quitar las tres funciones envoltorio y sus tests. - Extraer
pointerInsideViewport(x, y, width, height)como función pura y cubrir los bordes en ambos ejes:0,-1,width - 1ywidth(y lo mismo conheight). - Mantener el test de
ProviderGaugesobre el enrutado demouseenteraonPointerEnter, que sí aporta.
Criterios
- Sin cambio de comportamiento: mismas condiciones de retención y liberación que #240.
npm test,npm run typecheckynpm run builden verde.
Fuera de alcance
Cambiar la regla de #222, el temporizador de 400 ms (REORDER_GUARD_MS) o el cableado de foco y clic.
- Ngôn ngữ chính
- TypeScript
- Star
- 10
- Fork
- 2
- Merge trung bình
- 7 giờ 52 phút
- Pull request đã merge (30 ngày)
- 126
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:chore
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 47/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Antigravity (agy CLI): not working on macOS — wrong log path and process detectionCó thể đã có người làm @EzequielKoulaksezian đã nhận 4 ngày trước. Đang mởstatus:approved type:bug
egdev6/quorb#237 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
feat(linux): elegir el idioma desde el primer contacto con QuorbCó thể đã có người làm @SrStamm đã nhận 2 ngày trước. Đang mởodd status:approved type:feature
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 18/100
egdev6/quorb#235 · 7 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
odd type:feature
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
Maintainer thường phản hồi trong vòng 1 ngày
-
odd type:feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Độ 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
-
binding:python bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
coollabsio/orbit#72 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug needs-triage potential-regression
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
aws/aws-sdk-js-v3#8408 ·
Maintainer thường phản hồi trong vòng 1 ngày