🐛 Bug: Calendar work items cannot be opened on mobile
Los mantenedores suelen responder en 1 día
@pennnnnnnnnn ya está trabajando en esto.
Desde el 12/10/2026.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Lee apps/web/components/issues/issue-layouts/calendar/issue-block.tsx y céntrate en las props de ControlLink y PopoverTrigger descritas en el issue. Comprueba cómo se gestionan los elementos de trabajo móviles y temporales y, después, verifica que los elementos guardados se abran al tocarlos, mientras que los temporales sigan deshabilitados y la vista previa al pasar el cursor esté desactivada en móviles. El issue menciona comprobaciones de regresión, pero no indica ningún archivo de pruebas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
In the mobile web app, the Calendar view renders its work-item list, but tapping a saved work item does nothing. This is reproducible from the current preview source and does not depend on API permissions or loading state.
Steps to reproduce
- Open Plane on an iPhone / Android browser (or use a mobile touch viewport).
- Open a project → Work items → Calendar.
- Select a day containing at least one saved work item.
- Tap the work item in the mobile Calendar list.
Actual: The item does not open.
Expected: Tapping a saved work item opens its detail, as the existing Calendar click handler intends. Temporary/unsaved work items must remain disabled.
Root cause
In apps/web/components/issues/issue-layouts/calendar/issue-block.tsx, the ControlLink around every task has:
disabled={!!issue?.tempId || isMobile}
When isMobile is true, ControlLink renders a non-interactive wrapper instead of an anchor, so onClick={() => handleIssuePeekOverview(issue)} cannot fire. The mobile Calendar list uses this exact component.
Minimal upstream fix
<PopoverTrigger
- openOnHover
+ openOnHover={!isMobile}
delay={100}
render={
<ControlLink
...
- disabled={!!issue?.tempId || isMobile}
+ disabled={!!issue?.tempId}
...
This removes the unconditional mobile click-disable while keeping temporary work items disabled. It also avoids a hover-only preview on touch devices. Importantly, it leaves the existing mobile navigation policy unchanged; whether mobile Calendar should open an overlay instead of its standalone detail route is a separate UX proposal, #9990.
Regression verification
- A touch-enabled browser fixture validated that a saved Calendar work item receives the click and an unsaved temporary item remains disabled.
- The fix has been exercised successfully on a self-hosted mobile installation.
- The two-line source change passes formatting and static lint checks in the matching Plane 1.4.2 frontend.
- Direct code inspection confirms the original
isMobile-basedControlLinkdisabling remains in the upstreampreviewbranch as of October 12, 2026.
Scope
Only the Calendar work-item card should change. No API, permissions, Board/List/Home behavior, shared redirection helper, or database changes are needed.
This issue includes a minimal patch for reviewers; a dedicated PR should contain only that scoped source fix and its regression evidence.
- Lenguaje dominante
- TypeScript
- Estrellas
- 61.9k
- Forks
- 6.3k
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 73
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 makeplane/plane
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Missing optional chaining on actor_details and reaction_items in apps/space reactions and votesPosiblemente ocupada @ghazy2001 la tomó hace 4 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
makeplane/plane#10111 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
makeplane/plane#10082 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[bug]: Email notifications show a broken avatar for users without a profile photoPosiblemente ocupada @gurnoorpannu la tomó hace 19 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
makeplane/plane#10009 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[bug]: First day of the week section not translated when Idioma is EspañolPosiblemente ocupada @Indira-kumar la tomó hace 22 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
makeplane/plane#9967 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de makeplane/plane
Issues similares
-
Remove unused dependenciesPosiblemente ocupada @alastair-smith la tomó hoy. Abiertochore other
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
alastair-smith/card-games#384 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
code-yeongyu/senpi#5571 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nexu-io/open-design#9262 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
friction
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
kentcdodds/kody#4753 ·
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
lingdojo/kana-dojo#33508 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día