• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tito10047 / php-calendar / 36098739190
89%
main: 87%

Build:
Build:
LAST BUILD BRANCH: 2.0.0-beta-4
DEFAULT BRANCH: main
Ran 25 Sep 2026 05:29AM UTC
Jobs 1
Files 38
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Sep 2026 05:28AM UTC coverage: 88.665% (+1.4%) from 87.251%
36098739190

push

github

claude
Fix recurrence, iCal, CalDAV, grid and view bugs found in code review

Recurrence
- Anchor RRULE expansion at DTSTART (COUNT, INTERVAL, implicit defaults)
- Full RFC 5545 support: SECONDLY..YEARLY, BYSECOND/MINUTE/HOUR, BYYEARDAY,
  BYWEEKNO, multiple/signed BYDAY ordinals, correct WKST, deduplication
- Validate INTERVAL/COUNT/BY* ranges; iteration guard against hostile feeds
- Exact-instant UNTIL/EXDATE/RDATE matching, UNTIL written in DTSTART's type

iCal
- Parser: TEXT unescaping, quoted/RFC 6868 params, EXDATE lists, DATE values
  (all-day flag), floating times, THISANDFUTURE, orphan overrides, lenient
  component parsing; parseUrl limited to http(s) with size/status checks
- Exporter: escape/quote every value (no CR/LF or parameter injection),
  UTF-8-safe folding, UTC metadata, VALUE=DATE, EXDATE/RDATE/overrides,
  VTIMEZONE generation
- ICalEvent: all-day flag, overlap-based ranges, per-instance expansion
- CalDAV: same-origin redirects only, no credentials over http, status and
  XML checks, size limit, pluggable transport

Calendar & views
- Rows aligned to WeekStart, year-unique chronological row keys
- Month navigation from day 29-31, navigable date-range calendars,
  period-bound helpers, today in calendar timezone, memoised grid
- AgendaView/DayView/JsonSerializer/ICalDataLoader: overrides, timezones,
  multi-day and all-day events; JSON includes UTC offsets
- CalendarConfig accepts any generator, validates input, tz in cache key
- Batch resource loading interface

CI: working Composer cache, cache@v4, lowest-deps job, Coveralls action

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011nMunav2Z962oRqWLHbLGz

1223 of 1442 new or added lines in 20 files covered. (84.81%)

15 existing lines in 8 files now uncovered.

2065 of 2329 relevant lines covered (88.66%)

19.36 hits per line

Uncovered Changes

Lines Coverage ∆ File
61
88.52
6.07% src/Recurrence/RecurrenceRule.php
49
80.77
-17.01% src/ICal/ICalExporter.php
48
85.08
4.65% src/ICal/ICalParser.php
34
77.19
22.75% src/ICal/CalDAVClient.php
7
68.18
-31.82% src/DataLoader/DateRangeGenerator.php
6
12.5
0.0% src/Day.php
5
96.97
-2.06% src/ICal/ICalEvent.php
4
96.92
-1.47% src/Calendar.php
2
97.37
-2.63% src/View/AgendaView.php
2
95.52
-1.03% src/View/DayView.php
1
97.5
-2.5% src/CalendarConfig.php

Coverage Regressions

Lines Coverage ∆ File
6
88.52
6.07% src/Recurrence/RecurrenceRule.php
3
85.08
4.65% src/ICal/ICalParser.php
1
12.5
0.0% src/Day.php
1
50.0
0.0% src/Enum/WeekStart.php
1
77.19
22.75% src/ICal/CalDAVClient.php
1
80.77
-17.01% src/ICal/ICalExporter.php
1
90.0
-5.65% src/ICal/VAlarm.php
1
92.0
-0.31% src/Resource/ResourceCalendar.php
Jobs
ID Job ID Ran Files Coverage
1 36098739190.1 25 Sep 2026 05:29AM UTC 38
88.66
GitHub Action Run
Source Files on build 36098739190
  • Tree
  • List 38
  • Changed 35
  • Source Changed 35
  • Coverage Changed 35
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36098739190
  • cd856bde on github
  • Prev Build on main (#30532494106)
  • Next Build on claude/gifted-mayer-dt5ag9 (#36099002753)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc