Native browser find (`Ctrl/Cmd+F`) does not search the full diff in diff view
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
Línea de trabajo
El issue no menciona archivos ni tests, así que empieza siguiendo la implementación de la vista de diff y sus rutas de virtualización, secciones contraídas, vista previa y Load diff. Compara el comportamiento híbrido propuesto y define tests para la búsqueda nativa en secciones ocultas y renderizadas; se considera terminado cuando las coincidencias se pueden buscar sin eliminar las características de rendimiento de los diffs grandes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
In diff view, native browser find only searches content that is currently mounted in the DOM. Today that means Ctrl/Cmd+F can miss valid matches because parts of the diff are intentionally hidden or not rendered:
- Virtualized file blocks outside the viewport are not mounted.
- Auto-collapsed files hide their diff content.
- Rendered previews replace source diff text for renderable files.
- Large diffs may show a
Load diffplaceholder instead of line content. - Omitted context is not present until expanded.
This makes browser find unreliable for reviewing large or mixed-content diffs.
Proposals
- Add a temporary “browser find mode” on
Ctrl/Cmd+Fthat fully renders the diff, expands hidden sections, and forces source view so native browser find can search the whole diff. - Make the normal diff mode always fully searchable by keeping all source diff text mounted in the DOM, even when sections are collapsed or previewed.
- Build an app-level search experience instead of relying on native browser find.
Recommendation
Use a hybrid approach:
- For small diffs, keep the normal mode fully searchable without a separate mode.
- For large diffs, enter a temporary browser-find mode on
Ctrl/Cmd+Fthat fully renders the diff and forces source text visible.
This keeps the common case simple while avoiding the steady-state performance and UI cost of fully rendering large diffs all the time.
Notes
- Native browser find cannot tell us which hidden section matched, so lazy “expand only the matching file” behavior is not practical.
- The hybrid approach preserves current performance characteristics for large diffs while improving searchability for most day-to-day reviews.
- Lenguaje dominante
- TypeScript
- Estrellas
- 775
- Forks
- 57
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 nilbuild/diffity
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Local Storage for state Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
-
suggestion: diffity-server Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Todos los issues de nilbuild/diffity
Issues similares
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Crush Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ElementsProject/cln-application#167 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Quantco/pnpm-licenses#17 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100