Commit Graph

1895 Commits

Author SHA1 Message Date
90165f257c Update lesson filtering logic to include substitute teachers in ServerSyncProvider 2026-03-17 12:05:10 +01:00
2ece6bd36f Add demo mode functionality to KretenLoginWidget and integrate with LoginScreen 2026-03-16 13:44:33 +01:00
446988ec0b Increase auto-retry limit to 3 and improve error messaging in KretenLoginWidget 2026-03-15 22:46:50 +01:00
b33a6d2ca0 Guard auto-retry to initial load only in KretenLoginWidget
After the login page first loaded successfully, any subsequent
navigation error (e.g. during credential entry) would silently reload
_loginUrl, discarding user-entered credentials. This was because the
auto-retry block only checked _autoRetryCount, which was reset to 0 by
onPageFinished after every successful load.

Add _hasLoadedOnce that is set true in onPageFinished and only cleared
in _retry() (explicit user action). Gate the silent auto-retry on
!_hasLoadedOnce so it only fires before the login page has been shown
to the user for the first time.

https://claude.ai/code/session_016dhktF2DaoTQeifUaZrxbP
2026-03-15 22:38:00 +01:00
c3b1e783b8 Fix auto-retry cap never being reached in KretenLoginWidget
_autoRetryCount was reset to 0 in onPageStarted, which fires after
every loadRequest call including the one inside _retryLoad. This meant
the retry cap (_maxAutoRetries = 1) was never reached, causing an
infinite retry loop on persistent errors.

Move the _autoRetryCount reset to onPageFinished so it only clears
when the page actually loads successfully (or via the user-initiated
_retry which already resets it explicitly).

https://claude.ai/code/session_016dhktF2DaoTQeifUaZrxbP
2026-03-15 22:38:00 +01:00
84e8346ccc Fix login page error message shown on initial load
Add auto-retry logic in KretenLoginWidget so that the first web
resource error silently retries once before showing the error UI.
This prevents the error message from appearing immediately when the
e-KRÉTA server is briefly unreachable (e.g., transient network
issues), resolving the App Store Guideline 2.1(a) rejection.

https://claude.ai/code/session_016dhktF2DaoTQeifUaZrxbP
2026-03-15 22:38:00 +01:00
cd0026e4c7 Add loading state management and error handling in KretenLoginWidget for improved user experience 2026-03-15 22:38:00 +01:00
0dc6cd915c Add expiration handling in LockScreenLiveActivityView for improved user feedback 2026-03-15 22:38:00 +01:00
c301b62d37 Add user change listener and restore user logic in TimetableProvider for improved state management 2026-03-15 22:38:00 +01:00
d9268505e4 Fix command formatting in Podfile and update Pods_Runner.framework reference in project.pbxproj for improved compatibility 2026-03-15 22:38:00 +01:00
906e2c97cf Fix Hungarian text typos in KretenLoginWidget for improved clarity 2026-03-15 22:38:00 +01:00
b8b996a5d3 Add error handling and timeout logic in KretenLoginWidget for improved user experience 2026-03-15 22:38:00 +01:00
fc261d4005 Enhance countdown timer display in LockScreenLiveActivityView for improved readability and layout 2026-03-15 22:38:00 +01:00
10f24af7e4 Update lesson start time check to 2 hours in LiveCardProvider for improved activity termination logic 2026-03-15 22:38:00 +01:00
5cc3d3d38a Refactor lesson display logic in LockScreenLiveActivityView for improved clarity and efficiency 2026-03-15 22:38:00 +01:00
9bafd2647f Enhance lesson end detection logic in LiveCardProvider to ensure proper activity termination 2026-03-15 22:38:00 +01:00
96ebd10ed1 Implement device unregistration on application termination 2026-03-15 22:38:00 +01:00
225e75e8d2 Add forceUnregister call on activity dismissal to ensure proper cleanup 2026-03-15 22:38:00 +01:00
649381ebbf Remove redundant debug print statements in LiveCardProvider to streamline logging 2026-03-15 22:38:00 +01:00
f524019779 Add break entry fields in lesson filtering and remove unused imports in sync provider 2026-03-15 22:38:00 +01:00
70ada25915 Remove unused activity creation flag and simplify dismissal logic in LiveCardProvider 2026-03-15 22:38:00 +01:00
0a3d0183f2 Add activity creation state management to prevent dismiss notifications during creation 2026-03-15 22:38:00 +01:00
7e254654d1 Update debug message for activity dismissal to clarify user action 2026-03-15 22:38:00 +01:00
439c98dfd9 Refactor lesson data handling in ServerSyncProvider to include breaks between lessons and improve clarity 2026-03-15 22:38:00 +01:00
93d8bef238 Refactor LiveActivityManager and public_vars to improve clarity and remove unused comments 2026-03-15 22:38:00 +01:00
c4945f6ab9 Add cleanup flag to prevent dismiss notifications during activity cleanup 2026-03-15 22:38:00 +01:00
1ce961eaaa Add debug print statement for live activity state and settings 2026-03-15 22:38:00 +01:00
0046d18f3a Update activity start condition message for clarity and add time constraint 2026-03-15 22:38:00 +01:00
36637e889b Refactor activity start condition message for clarity 2026-03-15 22:38:00 +01:00
f2fdd0005d Add live activity consent check to unseen new features migration 2026-03-15 22:38:00 +01:00
86d90adf2b Add live activity consent acceptance handling and update settings model 2026-03-15 22:38:00 +01:00
022d5c81ce Refactor Live Activity consent dialog and add privacy policy screen with localization support 2026-03-15 22:38:00 +01:00
aea12d20fc Add Live Activity feature with consent dialog and settings integration 2026-03-15 22:38:00 +01:00
5d95e1e1d7 Implement developer mode for Live Activity with fake lessons and immediate updates 2026-03-15 22:38:00 +01:00
7720cbd07d Add developer settings for fake lessons and update localization
- Introduced `dev_live_fake_lessons` setting in the database schema.
- Updated `SettingsProvider` to manage the new `devLiveFakeLessons` property.
- Enhanced `LiveCardProvider` to generate fake lessons based on the new setting.
- Added UI toggle for fake lessons in the settings screen with appropriate localization.
2026-03-15 22:38:00 +01:00
30d75d6a60 Update Flutter build name to 5.1.2 and reset build number to 0 in project.pbxproj 2026-03-15 22:38:00 +01:00
68c76afdde Revert version number to 5.1.2+0 in pubspec.yaml 2026-03-15 22:37:47 +01:00
55035b535c Refactor Live Activity creation to return success status and handle push token updates asynchronously 2026-03-15 22:37:47 +01:00
fe33bb2db0 Enhance Live Activity dismissal handling by passing deviceId and updating server unregistration logic 2026-03-15 22:37:47 +01:00
e857f10073 Add user dismissal handling and clean up previous activities in LiveActivityManager 2026-03-15 22:37:47 +01:00
d8ae92e0f7 Update aps-environment to production in entitlements files 2026-03-15 22:37:47 +01:00
b8ae1c7c69 Remove demo login text from LoginScreen widget 2026-03-15 22:37:47 +01:00
70a1c99ea7 Refactor HTTP requests in ServerSyncProvider to use http package 2026-03-15 22:37:47 +01:00
340d9d1d8e Implement Live Activity dismissal handling and server unregistration 2026-03-15 22:37:47 +01:00
280d3561cf Refactor ServerSyncProvider usage in LiveCardProvider and add unregister method 2026-03-15 22:37:47 +01:00
4ec24aa69f Update base URL in ServerSyncProvider to point to legacy server 2026-03-15 22:37:47 +01:00
1adc7b0a15 Refactor width calculation for AnimatedContainer in StatusBar widget 2026-03-15 22:37:47 +01:00
5c9248c3eb Fix progress bar width calculation in StatusBar widget 2026-03-15 22:37:47 +01:00
53623d84df Set Swift version and flags for DKImagePickerController in Podfile post-install 2026-03-15 22:37:47 +01:00
dc5a5723fc Add demo group averages to DemoData and update GradeProvider to store them 2026-03-15 22:37:47 +01:00