Pressing Delete after double-clicking a journal page's title row throws in keydown-delete-handler
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Área
- frontend
Línea de trabajo
Comienza en src/main/frontend/handler/editor.cljs, siguiendo editor-delete hasta keydown-delete-handler y las comprobaciones state/editing? y state/get-input. Reproduce los pasos indicados de la página de diario y, después, verifica que Delete ya no llegue a un input null ni produzca un TypeError no capturado cuando el elemento del editor está ausente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Steps
On a DB graph that has an empty journal page for another day (here "Jan 1st, 2020"), on the web app:
- Go to Journals. The list shows today and "Jan 1st, 2020".
- Click the bullet of the empty block under "Jan 1st, 2020".
- Click the "Jan 1st, 2020" title. The journal page opens.
- Double-click the empty space in the page's title row, between the title and the "#Journal" tag.
- Press Delete.
Expected
Delete does nothing (no editor is open), or deletes a character in the open editor.
Actual
TypeError: Cannot read properties of null (reading 'value') in frontend.handler.editor/keydown-delete-handler, reported to the window as uncaught.
The steps reproduced it 5 of 5 times (Playwright, trusted input, a new graph each time). Without step 2 they did not (0 of 3).
Cause (read in code)
The Delete shortcut runs editor-delete (src/main/frontend/handler/editor.cljs), which checks only (state/editing?) and calls keydown-delete-handler. That reads (state/get-input), the element whose id is the edit input id, and when the editing block is set but its textarea is not in the page the element is nil. cursor/pos and gobj/get accept nil, the selection start and end are then both nil and equal, so the handler reaches its last branch and reads (.-value input) of nil. In the recorded run the editor state stayed set while the page changed under it (the trace recorded an open editor after step 3 and none after step 4).
Found by a monkey test (gremlins.js with trusted Playwright input) of the web build of master 16c4ed1a0: 5 of 28 runs, in seed 111 from a trusted Delete key at action 48. ddmin reduced that run to 10 actions, which the steps above are read from.
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 28
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de logseq/db-test
-
Page titles with `$$`, `$&`, `` $` `` or `$'` change when block refs are resolvedPosiblemente ocupada @RaphaelFakhri la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
`#Asset` label is not displayed on asset nodes when `Hide from Node` is disabledPosiblemente ocupada @tiensonqin la tomó hace 9 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Potential Dataloss: Deleting an entry from the property page's node table has no confirmation dialogPosiblemente ocupada @tiensonqin la tomó hace 33 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Todos los issues de logseq/db-test
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
keptinventory/kept#336 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
HakanSeven12/OpenCADStudio#2257 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
area:kernel bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
bherbruck/solvecraft#7838 ·
-
priority: low ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
storytold/photocraft#9884 · 1 comentario ·
Los mantenedores suelen responder en 1 día