Changed UID generation from uniqid() to a stable format based on
subscription ID (wallos-subscription-{id}@wallos). This ensures that
calendar applications update existing events instead of creating
duplicates when the feed is refreshed.
According to RFC 5545 section 3.8.4.7, the UID property must be
globally unique and persistent for the lifetime of the event.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* fix: use RFC 5545 compliant date format in iCal exports
Fixes iCal date format to comply with RFC 5545 specification by:
- Adding VALUE=DATE parameter to DTSTART and DTEND fields
- Using date-only format (YYYYMMDD) instead of datetime format
- Removing incorrect timezone handling in exportcalendar.php
This resolves issues with calendar applications that strictly validate
iCal format, as reported in gethomepage/homepage#6091.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
* fix: add required DTSTAMP property to iCal VEVENT components
According to RFC 5545 section 3.8.7.2, the DTSTAMP property is
required in VEVENT components. It specifies the date and time that
the calendar object was created.
Added DTSTAMP in UTC format (gmdate) to both iCal export endpoints.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
fix: accept both api_key and apiKey as parameter on the api
feat: allow to disable password login when oidc is enabled
feat: add get_oidc_settings endpoint to the api
feat: refactor css colors
feat: ai recommendations with chatgpt, gemini or ollama
feat: display ai recommendations on the dashboard
feat: add sort by renew type
feat: add filter by renew type
fix: state filter not cleared by clear button
fix: special chars on calendar exports
fix: special chars on notifications
feat: remove "Wallos" text from calendar export
fix: ical trigger to spec RFC5545
feature: get admin setting api endpoint
feature: get categories endpoint
feature: get currencies endpoint
feature: get fixer api endpoint
feature: get household api endpoint
feature: get notifications api endpoint
feature: get payment methods api endpoint
feature: get settings api endpoint
feature: get user api endpoint
feat: user has api key available on profile page
feat: api endpoint to calculate monthly cost
feat: split settings page into settings and profile page
feat: redesigned experimental mobile navigation menu
fix: small fixes and typos