6.0.0-beta5
3/19/26

[#15054] Thunderbird "all workday" events become "daily" events
Summary Thunderbird "all workday" events become "daily" events
Queue Horde Framework Packages
Type Bug
State Resolved
Priority 3. High
Owners jan (at) horde (dot) org, mrubinsk (at) horde (dot) org, ralf.lang (at) ralf-lang (dot) de
Requester ralf.lang (at) ralf-lang (dot) de
Created 03/03/2021 (1842 days ago)
Due
Updated 03/07/2026 (12 days ago)
Assigned 03/03/2021 (1842 days ago)
Resolved 03/24/2022 (1456 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch Yes

History
03/07/2026 09:46:52 PM Git Commit Comment #4 Reply to this comment
Changes have been made in Git (FRAMEWORK_6_0):

commit 8c39172906716bf234dee5b00229961cf909cdb5
Author: Ralf Lang <ralf.lang@ralf-lang.de>
Date:   Sat, 07 Mar 2026 22:46:43 +0100

chore(release): bump version to 3.0.0-alpha6

Release version 3.0.0-alpha6

Merge pull request #4 from amulet1/FRAMEWORK_6_0
fix: Add @property block for static analyzers
Update metadata and workflows - define dev dependencies.
Stub of namespaced date library
PSR-4 unit tests
Fix strftime2date. Add a convenience wrapper.
Development mode for Date-3.0.0alpha5
Released Date-3.0.0alpha4
Fix [#15054] Thunderbird-generated events issue
Convert Unit Tests for PHPUnit 9
Development mode for Date-3.0.0alpha5
Released Date-3.0.0alpha3
Development mode for Date-3.0.0alpha4
Released Date-3.0.0alpha2
Development mode for Date-3.0.0alpha3
Released Date-3.0.0alpha1
Components updated the package files.
Merge pull request #2 from maintaina-com/backport-php81-fix
PHP 8.1: use 'now' rather than null for current date
Merge branch 'ralflang-patch-1'
Add unit test for bug #15054
Fix [#15054] Thunderbird-generated events issue
Update supported PHP versions and configuration names.
Standardize descriptions.
Enable PHP 7.3 CI.
[jan] Allow passing a time format to Horde_Date_Recurrence#toString() 
(Bug #14768).
[jan] Allow passing a time format to Horde_Date_Recurrence#toString() 
(Bug #14768).
Update package definitions.
Fix getting exit code on PHP 7.2+.
Mark Chuck and Michael as inactive.
package.xml must not contain empty <notes> tags.
Create CHANGES for all components.
Regenerate package.xml from changelog.yml.
Build changelog.yml from existing changelog(s).
Update .horde.yml with extended information.
Update composer.json.
Enable 7.2 builds.
PEAR on 5.6 and 7.0 is fixed.
Update file list
Move phpunit configuration to base directory.
Indicate markup language.
Update references to COPYING files.
Use LICENSE consistently and move to base directory.
Stop flooding #horde channel.
Use https URLs.
Install all dependencies but PECL extensions.
Hopefully this finally fixes Travis builds now.
Always discover channel manually, due to Travis bug.
Fix Travis tests.
Add Travis configuration and .gitignore files.
Development mode for Horde_Date-2.4.2

  M .gitignore
  M .horde.yml
  M composer.json
  R doc/Horde/Date/CHANGES
  R doc/Horde/Date/changelog.yml
  A doc/changelog.yml
  R package.xml

https://github.com/horde/Date/commit/8c39172906716bf234dee5b00229961cf909cdb5
03/24/2022 06:38:14 PM Michael Rubinsky Comment #3
State ⇒ Resolved
Reply to this comment
Better late than never....
03/03/2021 07:34:43 AM Ralf Lang Assigned to Jan Schneider
Assigned to Michael Rubinsky
 
03/03/2021 07:34:01 AM Ralf Lang Comment #2 Reply to this comment
I will prepare a patch that fixes this.
See https://github.com/horde/Date/pull/1 for patch

03/03/2021 07:23:59 AM Ralf Lang Comment #1
Priority ⇒ 3. High
Patch ⇒ Yes
Milestone ⇒
Assigned to Ralf Lang
Summary ⇒ Thunderbird "all workday" events become "daily" events
Type ⇒ Bug
State ⇒ Assigned
Queue ⇒ Horde Framework Packages
Reply to this comment
Reproduced against Horde 5.2 and against Horde master

Thunderbird produces new events "all weekdays"

RRULE:FREQ=DAILY;UNTIL=20210331T041500Z;BYDAY=MO,TU,WE,TH,FR

But the server understands:

RRULE:FREQ=DAILY;UNTIL=20210331T041500Z

If the rule is originally created by Horde, this will never happen. 
The event must be originally created by thunderbird and imported via 
kronolith/davPutObject

It spins down to
Horde_Date_Recurrence::fromRRULE20()

The event is correctly parsed into FREQ:DAILY but the BYDAY clause is 
ignored and dropped.

I will prepare a patch that fixes this.

Saved Queries