outlook.com: Text selection get undone when trying to change font because of Safari sniffing in rooster
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
Línea de trabajo
Comienza rastreando la detección de Safari de roosterjs y el manejo de la selección de FocusController mencionados en el issue. Reproduce la secuencia de formato de Outlook en Safari y, después, verifica que el texto seleccionado siga disponible tras cambiar la fuente y aplicar un segundo cambio de formato.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This is happening when using the top and contextual menu for changing font in Outlook mail.
Office uses Microsoft's rich text editor, roosterjs, which sniffs for Safari and has it's own selection logic.
The WebKit fixed it partially by sending a Chrome UA string.
The bug persists with jus the chrome UA string.
roosterjs has it's own selection logic for Safari.
a change has been made in the FocusController to preserve selection when focus leaves a contentEditable root to a non-editable target.
https://github.com/WebKit/WebKit/pull/61173
https://bugs.webkit.org/show_bug.cgi?id=310549
We would like very much to avoid to have to quirk, but in the current circumstances this is the only solution to help our common customers.
Steps to reproduce the behavior:
- Go to outlook.com - login with test account
- Create New Email, type some text in the body - e.g. this is text
- Highlight text to apply formatting (more than one)
- Start with Font and once you apply font, try to do size change or anything else -
selectionis gone.
Expected behavior
Selection should stay on selected text so multiple formatting can be applied.
Device Information
- OS: iPad
- Browser Safari
- Version 18.6.2 and 26.0 and future versions.
This creates a webcompat issue for Safari. @captainbrosset fyi.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.3k
- Forks
- 189
- Merge medio
- 1 d 7 h
- PR fusionados (30 d)
- 12
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 microsoft/roosterjs
-
Dificultad 3/5 1-2 días Aptitud para principiantes 50/100
microsoft/roosterjs#3386 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Bold formatting keptAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 2 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
microsoft/roosterjs#3206 · 4 comentarios ·
Los mantenedores suelen responder en 2 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
microsoft/roosterjs#3192 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
microsoft/roosterjs#3166 · 1 comentario ·
Los mantenedores suelen responder en 2 días
Todos los issues de microsoft/roosterjs
Issues similares
-
bug triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Export the Hemi Earn Router address and the Router and Agent ABIs from `@vetro-protocol/earn`Abiertohemi-earn
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
vetro-protocol/vetro-monorepo#1043 ·
Los mantenedores suelen responder en 1 día
-
stage 2: bare names resolve against PATH differently from the shell (empty and relative entries)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
STRML/omp-classifier#206 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
atlassian-labs/mermaid-diagrams-viewer#188 ·
Los mantenedores suelen responder en 1 día
-
dashboard enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Olanetsoft/agent-lookout#225 ·
Los mantenedores suelen responder en 1 día