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
e8db13191e
Add Google OAuth authentication with configurable authorized emails ( #29 )
...
* Initial plan
* Add Google authentication with authorized email configuration
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Complete Google authentication implementation with documentation
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Fix CORS error by removing [Authorize] from auth user endpoint
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Add authorization attribute to ConfigurationController for security
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Fix JavaScript error in login button by correcting window.location.href usage
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Fix Google OAuth redirect URI configuration to resolve authentication error
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Fix OAuth state validation error by specifying authentication scheme in callback
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Fix OAuth state validation error by improving authentication configuration
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Fix authentication setup documentation with correct redirect URI
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Fix navigation buttons overlapping with authentication header
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
* Remove unused unsing
---------
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 <clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-08-27 21:18:50 +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
Claudio Schaad
f5387e7b41
Cleanup transport service ( #22 )
2025-08-23 19:16:40 +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
88b3237c6c
Initial Version
2025-08-17 20:15:45 +02:00