Skip to content

fix(ics): format subscription feeds with privacy-aware session#1472

Draft
JohnVillalovos wants to merge 2 commits into
developfrom
jlvillal/fiu-02
Draft

fix(ics): format subscription feeds with privacy-aware session#1472
JohnVillalovos wants to merge 2 commits into
developfrom
jlvillal/fiu-02

Conversation

@JohnVillalovos

Copy link
Copy Markdown
Collaborator

Use an ownerless logged-in session for anonymous uid subscription requests so ICS label formatting can run while privacy hide flags still apply.

Move the configured ICS label formatting into the iCalendar SUMMARY field and use reservation notes for DESCRIPTION, escaping embedded newlines for RFC 5545 text values.

Assisted-by: Claude:claude-sonnet-4-6

Copilot AI review requested due to automatic review settings June 10, 2026 22:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates ICS subscription/export behavior so reservation label formatting can be applied in subscription feeds while still respecting privacy filtering, and restructures how reservation text is mapped into iCalendar fields.

Changes:

  • Build a “logged-in but ownerless” user session for anonymous uid-based subscription requests to allow label formatting code paths to run.
  • Move configured ICS label formatting into SUMMARY, and use reservation notes for DESCRIPTION with newline escaping for RFC 5545 TEXT.
  • Add PHPUnit coverage around iCalendar reservation view summary/description behavior and newline escaping.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
Presenters/CalendarSubscriptionPresenter.php Adjusts session handling for anonymous uid subscription requests.
lib/Application/Schedule/iCalendarReservationView.php Changes which reservation fields populate SUMMARY vs DESCRIPTION and adds newline escaping for DESCRIPTION.
tests/Presenters/CalendarExportPresenterTest.php Adds tests for formatted summary, description sourcing, and newline escaping behavior.
tests/Presenters/CalendarSubscriptionPresenterTest.php Minor formatting-only change (trailing newline).

Comment thread Presenters/CalendarSubscriptionPresenter.php Outdated
Comment thread lib/Application/Schedule/iCalendarReservationView.php Outdated
Comment thread tests/Presenters/CalendarExportPresenterTest.php
Comment thread tests/Presenters/CalendarExportPresenterTest.php Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

Comment thread lib/Application/Schedule/iCalendarReservationView.php
Comment thread Presenters/CalendarSubscriptionPresenter.php Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

Comment thread Presenters/CalendarSubscriptionPresenter.php Outdated
Comment thread lib/Application/Schedule/iCalendarReservationView.php Outdated
@JohnVillalovos JohnVillalovos marked this pull request as draft June 11, 2026 01:48
Add an explicit skipVisibilityChecks argument to
SlotLabelFactory::Format for callers that have already authorized
reservation details. Keep the default path unchanged and keep
NullSlotLabelFactory fail-closed.

Assisted-by: Codex:GPT-5
Add explicit iCalendar view options for anonymous public subscriptions
and user-scoped subscription URLs. Keep anonymous requests anonymous
while allowing user subscription URLs to format with the subscribed user
context.

Assisted-by: Codex:GPT-5
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.

3 participants