🐛 Bug: Calendar work items cannot be opened on mobile
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 75/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- react, typescript
- Domain
- frontend
Research direction
Read apps/web/components/issues/issue-layouts/calendar/issue-block.tsx, focusing on the ControlLink and PopoverTrigger props described in the issue. Check how mobile and temporary work items are handled, then verify that saved items open on tap while temporary items stay disabled and hover preview is off on mobile. The issue reports regression checks, but does not name a test file.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- TypeScript
- Stars
- 60.7k
- Forks
- 6k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 35
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from makeplane/plane
-
[bug]: First day of the week section not translated when Idioma is EspañolPossibly taken @deepcfr claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
makeplane/plane#9967 · 2 comments ·
Maintainers usually reply within 1 day
-
[bug]: First day of the week section not translated when Idioma is EspañolPossibly taken @Indira-kumar claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
[bug]: Analytics "Last 7 / 30 days" windows cover one day too manyPossibly taken @manaskumar3003 claimed this 27 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
makeplane/plane#9830 · 1 comment ·
Maintainers usually reply within 1 day
-
[feature]: Merge duplicate "Settings" and "Preferences" entries in the user avatar menuPossibly taken @rudrag1410 claimed this 11 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
makeplane/plane#9793 · 1 comment ·
Maintainers usually reply within 1 day
-
i18n: zh-CN settings sidebar and GitHub Enterprise form labels still in EnglishPossibly taken @Liewzheng claimed this 34 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
jaegertracing/jaeger-ui#4596 ·
Maintainers usually reply within 1 day
-
area:tui enhancement platform:macos
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
anthropics/claude-code#101490 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
netlify/netlify-mcp#75 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
atlassian-labs/compiled#1960 ·
Maintainers usually reply within 1 day