nextcloud / nextcloud/mail

Event from email with nonsense date range is saved, event starts in the future and ends in the past.

Open
#6,767 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop bug
Dominant language
JavaScript
Stars
1k
Forks
348
Avg merge
12h 28m
Merged PRs (30d)
91

Description

Steps to reproduce
  1. Create an event from an email in the Nextcloud Mail app (click the dots menu, then "More actions", then "Create event")
  2. Change the prefilled start and end date so that the start date occurs after the end date (I did by this mistake, possibly due to the second date field being obscured by other window elements)
  3. Go to the calendar: the event does not exist.
  4. Search for the event: it shows up in the search results.
Expected behavior

Event should either be created (but the mail/calendar app should be smart enough to flip the start/end dates before doing so), or some sort of warning emitted and no event created.

Actual behavior

The event is saved,

Mail app version

1.13.0
it also happens on stable4.1

Mailserver or service

runbox

Calendar app version

3.3.1
even to the latest calendar

Operating system

Ubuntu 18.04.6

PHP engine version

PHP 8.0

Web server

Apache (supported)

Database

MariaDB

Additional info

This issue was originally raised by OP in this comment to issue #11 in the Calendar repo.

Hope it's easy enough to reproduce and not the result of some fluke.

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 reproducing the Nextcloud Mail app workflow from the issue: create an event from an email, enter a start date after the end date, and inspect the handoff to Calendar and search results. Trace the event-creation entry point and validation path; done means the invalid range is either corrected before saving or rejected with a warning, with the resulting event behavior covered by a regression test.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
full-stack, web-dev
Issue type
Bug
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.