nextcloud / nextcloud/calendar

More detailed error reporting on import fails

Open
#2,065 4 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement Feature: Importing
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Is your feature request related to a problem? Please describe.

There are plenty of broken ics files out there. We already try our best to fix them with the repair-steps.
Nonetheless, we can't fix everything.

Describe the solution you'd like
Parse the response message when import fails and check for a Sabre error code:

  • UnsupportedMediaType or ParseException for syntax errors
  • NoInstancesException for error like this one
  • Are there more relevant?

We can use the responses for more detailed error messages in the console.
If we end up with a NoInstancesException, we might just count it as a successful import, because it contains no events to import anyway.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

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 by reading the import and parser code around src/parsers/repairsteps/icalendar, then trace how failed import responses reach the console. Identify the Sabre error codes that are available and define the expected handling for syntax errors and imports with no instances. Done means import failures provide more specific console messages and the no-instances case is handled consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.