c6a3e9d5d9
feat: implement NextcloudCalendarService with CalDAV
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 22:51:57 +02:00
10ccd6fce0
feat: add CalendarEventBuilder with shared event/transport logic
2026-04-10 22:46:20 +02:00
839abe6cf4
refactor: GoogleCalendarService implements ICalendarService, uses CalendarEventBuilder (stub)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 22:44:32 +02:00
8c765e4d49
refactor: temporarily rename old IGoogleCalendarService to IOldGoogleCalendarService to avoid naming conflict with new marker interface
...
This temporary change is necessary because the new ICalendarService interfaces
(IGoogleCalendarService, INextcloudCalendarService) now exist as marker interfaces.
The old interface will be fully removed in Task 4 when GoogleCalendarService is
refactored to implement the new ICalendarService contract.
2026-04-10 22:41:01 +02:00
bf77dff5ef
feat: add ICalendarService interface and marker interfaces
2026-04-10 22:40:58 +02:00
a36530b976
chore: upgrade all projects to net10.0
2026-04-10 22:34:52 +02:00
Copilot
71717cccc1
Fix timezone offset calculation to respect DST for target dates ( #59 )
...
* Initial plan
* Fix timezone offset calculation and add tests
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
2025-10-04 16:22:29 +02:00
Claudio Schaad
fddca4e833
Begin pdf with the right position ( #54 )
2025-09-27 12:20:39 +02:00
Claudio Schaad
a341a5fec0
Fix google calendar time zone ( #50 )
2025-09-06 21:47:47 +02:00
Claudio Schaad
28429d78d0
Fix finding best connection ( #49 )
...
* Log and fix connection
* Update Services/TransportConnectionCalculator.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update Services/TransportConnectionCalculator.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update Services/TransportConnectionCalculator.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* better logging
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-06 21:14:44 +02:00
Copilot
5103aecacf
Add Google Calendar integration with direct sync functionality and rate limiting protection ( #45 )
...
* Initial plan
* Implement Google Calendar integration with sync button and calendar selection
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Add Google Calendar sync documentation and finalize implementation
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Fix build errors
* Fix Google Calendar rate limiting issues with retry logic and delays
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* optimize
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-09-06 16:47:48 +02:00
Copilot
3ed54f51ad
Fix emoji rendering in PDF ( #48 )
2025-09-06 14:39:29 +02:00
Claudio Schaad
a1f9f1313e
Fix find best connection with using of local date time offset ( #46 )
...
* Add logger
* Change strings to date time offset
* Fix logic for best connection
* Fix parsing shift times
* set time zone
2025-09-03 22:17:53 +02:00
5a5902fefa
Add logging for transport connection logic
2025-08-30 09:29:51 +02:00
Copilot
7f8b2c4b8c
Enhance shift handling: Move storage to file system and add month selection ( #36 )
...
* Initial plan
* Initial setup: Downgrade .NET version to 8.0 for compatibility
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Implement enhanced shift handling with file system storage and month selection
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Move component styles from global app.css to Index.razor.css for proper component isolation
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
2025-08-28 19:47:12 +02:00
Copilot
497379f62b
Save shifts and transport configurations in external files for Docker persistence ( #31 )
...
* Initial plan
* Implement external configuration file persistence for Docker containers
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Add Docker documentation and finalize external config implementation
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Delete the files
* Adapt gitignore
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-08-28 18:57:15 +02:00
Copilot
7d8e40b9cf
Add Configuration UI for Transport and Shift Settings with Import/Export ( #27 )
...
* Initial plan
* Complete configuration UI implementation with working dialog, API endpoints, and file import/export
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Refactor to inject IConfigurationService directly instead of using factory singletons
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Remove redundant ShiftService and use IConfigurationService directly
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
2025-08-26 17:17:09 +02:00
Copilot
73abfac988
Implement caching for transport connection results with IMemoryCache ( #26 )
...
* Initial plan
* Implement caching for transport connection results with IMemoryCache
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Change cache duration from minutes to days
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Implement CachedTransportService design with interface separation
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Implement persistent file-based cache to survive application restarts
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Revert persistent file-based cache implementation, restore IMemoryCache usage
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Code cleanup
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-08-25 21:15:13 +02:00
Copilot
68e2fa4927
Optimize Transport Connection Selection with Enhanced Timing Logic ( #24 )
...
* Initial plan
* Implement enhanced transport connection optimization logic
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Add configuration for new transport optimization parameters and complete implementation
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Address PR feedback: remove comments, old logic, and unnecessary tests
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Fix looking for connection
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: clayschaad <c.schaad@pog.ch>
2025-08-23 20:16:04 +02:00
Claudio Schaad
f5387e7b41
Cleanup transport service ( #22 )
2025-08-23 19:16:40 +02:00
Copilot
a25d8f1cc2
Add PNG icon support for shift types ( #18 )
...
* Initial plan
* Add PNG icon support for shifts with sample coffee cup icon
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Add more icons
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-08-21 23:09:45 +02:00
d26b3319b9
UI Improvements
2025-08-21 20:44:56 +02:00
Copilot
2530e729ce
Implement transport time improvements: departure station display and break time logic ( #17 )
...
* Initial plan
* Implement transport time improvements: departure station display and break time logic
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Enhance code
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-08-21 20:04:53 +02:00
Copilot
2dc437ac9c
Add real-time SBB transport integration with enhanced UI feedback and improved timing logic ( #2 )
...
* Initial plan
* Initial project setup - update to .NET 8.0 for compatibility
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Complete SBB transport integration implementation
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Revert to .NET 9 and separate transport info into ShiftTransport class
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Make safety buffer minutes configurable via appsettings
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Migrade pdf export service
* Update gitignore
* Implement new approach: real-time transport data per shift selection with ShiftWithTransport view model
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Refactor export methods to directly use ShiftWithTransport instead of converting to separate parameters
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Move ShiftWithTransport class to its own file
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Code cleanup
* Fix transport timing logic to respect safety buffer and find best available connections
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: clayschaad <c.schaad@pog.ch>
Co-authored-by: Claudio Schaad <clayschaad@users.noreply.github.com>
2025-08-19 22:08:59 +02:00
78678033f9
Enhance PDF
2025-08-18 17:35:31 +02:00
88b3237c6c
Initial Version
2025-08-17 20:15:45 +02:00