Event from email with nonsense date range is saved, event starts in the future and ends in the past.
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1k
- Forks
- 348
- Avg merge
- 12h 28m
- Merged PRs (30d)
- 91
Description
Steps to reproduce
- Create an event from an email in the Nextcloud Mail app (click the dots menu, then "More actions", then "Create event")
- 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)
- Go to the calendar: the event does not exist.
- 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
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.
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