Skip to content

Create ICSParser SharedPackage#4797

Open
edulpn wants to merge 18 commits into
mainfrom
eduardo/icsparser-package
Open

Create ICSParser SharedPackage#4797
edulpn wants to merge 18 commits into
mainfrom
eduardo/icsparser-package

Conversation

@edulpn
Copy link
Copy Markdown
Contributor

@edulpn edulpn commented May 8, 2026

Task/Issue URL: https://app.asana.com/1/137249556945/project/38424471409662/task/1214595838968782?focus=true
Tech Design URL: https://app.asana.com/1/137249556945/project/481882893211075/task/1214588849423570
CC: @dus7 @Bunn @ayoy

Description

This PR introduces a RFC 5545 ICS (iCal) parser shared package to be used by the iOS app when handling ICS file downloads.

Testing Steps

  1. CI stays 🟢

Impact and Risks

Medium: Could disrupt specific features or user flows

What could go wrong?

This package is still not used, but can impact CI test runs since the test target runs on every CI run

Quality Considerations

Notes to Reviewer


Internal references:

Definition of Done | Engineering Expectations | Tech Design Template


Note

Medium Risk
Adds a new shared Swift package and wires it into the iOS workspace/project and test scheme, which can affect CI build/test stability despite not yet being used in the app runtime.

Overview
Introduces a new SharedPackages/ICSParser Swift package that parses RFC 5545 .ics data into ICSEvent values, including support for basic VEVENT fields, durations, text unescaping, timezone resolution (IANA + Windows/Outlook mapping), and a subset of RRULE recurrence into EventKit.

Hooks the package into the Xcode workspace/iOS project (as a local SwiftPM dependency) and adds ICSParserTests to the shared iOS Browser scheme, along with extensive fixture-based unit/integration tests and a dedicated .xctestplan.

Reviewed by Cursor Bugbot for commit e43381d. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread SharedPackages/ICSParser/Tests/ICSParserTests/ICSParserTests.swift Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

Warnings
⚠️ PR has 2557 lines of added code (excluding Xcode projects and assets). Consider splitting into smaller PRs if possible.

Generated by 🚫 dangerJS against e43381d

@edulpn edulpn force-pushed the eduardo/icsparser-package branch from 6f4019e to 1738548 Compare May 9, 2026 01:28
Comment thread SharedPackages/ICSParser/Sources/ICSParser/DateValueParser.swift Outdated
@edulpn edulpn requested a review from brindy May 11, 2026 03:54
@edulpn edulpn changed the title [WIP] Create ICSParser SharedPackage Create ICSParser SharedPackage May 11, 2026
Comment thread SharedPackages/ICSParser/Sources/ICSParser/RecurrenceRuleParser.swift Outdated
Comment thread SharedPackages/ICSParser/Sources/ICSParser/RecurrenceRuleParser.swift Outdated
Comment thread SharedPackages/ICSParser/Sources/ICSParser/RecurrenceRuleParser.swift Outdated
Copy link
Copy Markdown
Contributor

@brindy brindy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good (though I'm no ICS expert).

I've one comment below, but I also spotted that there's some missing coverage in the tests, particularly in:

  • Property Parser
  • Recurrence Rule Parser

Have a look and see what you can do. I'm not massively precious about that though as it looks pretty well covered.

Thanks

Comment thread SharedPackages/ICSParser/Sources/ICSParser/ICSParser.swift
@edulpn edulpn force-pushed the eduardo/icsparser-package branch from 963a794 to 69c2ff6 Compare May 11, 2026 15:13
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 69c2ff6. Configure here.

Comment thread SharedPackages/ICSParser/Sources/ICSParser/RecurrenceRuleParser.swift Outdated
@edulpn edulpn force-pushed the eduardo/icsparser-package branch from 680dd92 to e43381d Compare May 11, 2026 18:27
@edulpn edulpn requested a review from brindy May 11, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants