nextcloud / nextcloud/tasks

Invalid monthly recurrence rule causes entire task list to disappear

Open
#3,265 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
JavaScript
Stars
706
Forks
117
Avg merge
8h 50m
Merged PRs (30d)
18

Description

Steps to reproduce

Summary
A single task containing an invalid monthly recurrence rule causes its entire task list to disappear from the Nextcloud Tasks sidebar. No visible error notification explains what happened.

Possible steps to reproduce

  1. Edit a recurring task in Nextcloud Tasks.
  2. Set a monthly recurrence and select both the 24th and 25th.
  3. Deselect one of these days and save.
  4. Reload Tasks.

This editing sequence preceded the problem, but I have not independently reproduced the creation of the malformed rule.

Actual behaviour
The affected list briefly appears and then disappears. Its tasks are also absent from “All”. The same behaviour occurs in a private Firefox window.

The browser console reports:
Error: Could not extract integer from ""

The stack trace includes ical.js and getTasksFromCalendar in calendars.js.

Evidence
The Nextcloud ICS export contains this rule in one task:
RRULE:FREQ=MONTHLY;BYMONTHDAY=,24;UNTIL=20261225T020000Z

Parsing the export with ical.js reproduces the exact error. Removing only the empty entry before 24 allows the entire export to parse successfully.

Recovery
I removed recurrence and reminders from the affected task in Thunderbird and saved it back to the server. After reloading Nextcloud Tasks, the entire list became visible again.

Expected behaviour

  • Editing recurrence must not produce empty BYMONTHDAY entries.
  • One malformed task should not prevent the rest of the list from loading.
  • The app should identify the affected task and display an actionable error.

Environment
Nextcloud version: Managed Nextcloud by hosting.de 32.0.12
Tasks version: 0.18.0
Browser: Firefox on macOS
Connected clients: Thunderbird and NowThis
NowThis was closed on all devices during troubleshooting.

The client that originally wrote the malformed rule has not been conclusively identified.

Expected behavior

A malformed recurrence rule in one task should not hide the entire task list. Other tasks should remain accessible, and an error message should identify the affected task.

Actual behaviour

The entire task list briefly appears and then disappears. The console reports: Could not extract integer from ""

One task contained BYMONTHDAY=,24. Removing recurrence from that task in Thunderbird and saving it back to the server made the list visible again.

Tasks app version

0.18.0

CalDAV-clients used

Thundergird

Browser

Firefox 155.0.1

Client operating system

macOS

Server operating system

Unknown – managed by hosting.de

Web server

No response

Database engine version

No response

PHP engine version

No response

Nextcloud version

32.0.12

Updated from an older installed version or fresh install

No response

List of activated apps

Nextcloud configuration

Web server error log

Log file

Browser log
Error: Could not extract integer from ""
Additional info

Managed Nextcloud hosted by hosting.de. Server OS, web server, database, PHP version and upgrade history are unknown to me. “None” in these fields means unknown.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in calendars.js at getTasksFromCalendar and reproduce parsing of the exported RRULE containing BYMONTHDAY=,24 through ical.js. Trace the recurrence-editing path to determine where the empty entry is introduced. Done means valid tasks still load when one task is malformed, and the affected task produces an actionable error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.