Skip to content

IOS Fixes#72

Open
ne0rrmatrix wants to merge 35 commits into
masterfrom
IOSFixes
Open

IOS Fixes#72
ne0rrmatrix wants to merge 35 commits into
masterfrom
IOSFixes

Conversation

@ne0rrmatrix

Copy link
Copy Markdown
Owner

No description provided.

…mShellRenderer and CustomShellPageRendererTracker
…nd enhance FullScreenService status bar handling for iOS 15+
… CustomShellPageRendererTracker for improved secondary toolbar item handling
- Move Firebase/Google OAuth response/request models and GoogleAuthWebViewController to dedicated files for better organization.
- Make ExtractAuthCodeFromCallbackUrl public static for reuse.
- Update package references: CommunityToolkit.Maui/Core to 14.2.0, Microsoft.Extensions.Logging.Debug to 10.0.8, HarfBuzzSharp.NativeAssets.Android to 8.3.1.5; comment out SixLabors.ImageSharp.
- Adjust csproj for improved Android/iOS/macOS build config and add GoogleServicesJson for Android.
- Remove unused usings from AuthenticationService.macios.cs.
- No functional changes; improves structure and maintainability.
…mment in index.html for clarity on viewport settings
Use ASWebAuthenticationSession only on iOS 17.4+ or Mac Catalyst 15+ by checking OS version. Refactor callback for clearer error/cancel handling and suppress CA1422 warnings. Only set up session and cancellation logic when supported. No changes to AwaitAuthCodeAsync usage.
Refactored ASWebAuthenticationSession creation to assign PresentationContextProvider via object initializer, removing the redundant assignment statement and improving code clarity.
Upgraded Microsoft.Extensions.Logging.Debug and System.ServiceModel.Syndication to 10.0.9. Made a minor formatting adjustment in the PatchIOSSplashForDarkMode MSBuild target with no functional impact.
- Updated ApplicationId for platform clarity in EpubReader.csproj
- Upgraded several Android NuGet packages to latest versions
- Removed custom Firebase initialization from MauiProgram.cs
- Enhanced Google sign-in error handling in AuthenticationService.android.cs for clearer exception reporting and trace output

Update Android package versions and app IDs; remove Firebase init

- Updated ApplicationId for Windows/Android and commented iOS ID in EpubReader.csproj
- Upgraded several Android NuGet packages to latest versions
- Removed RegisterFirebaseServices and custom Firebase init logic from MauiProgram.cs
- Adjusted .ConfigureMauiHandlers() call order in MauiProgram.cs
…ndling; update Bonjour services in iOS and MacCatalyst Info.plist
…plist for Bonjour services and improve auto-configuration logic in CalibreSettingsPageViewModel
Upgraded Microsoft.Maui.* (Graphics, Skia, Controls, Core) package references in Directory.Build.props and EpubReader.csproj to the latest CI version for improved compatibility and access to recent fixes.
Moved fullscreen and nav bar toggling from BookViewModel to BookPage event handlers, removing IFullScreenService dependency from the ViewModel. Updated animation calls for async best practices. Also fixed platform-specific zeroconf discovery compilation in CalibreZeroConf.cs.
- Introduce IAuthentication and ICalibreZeroConf interfaces for DI and platform abstraction; move all authentication logic to EpubReader.Firebase.AuthenticationService with platform-specific partials.
- Move Calibre server discovery to EpubReader.Calibre with platform-specific implementations.
- Update FirebaseSyncService and all consumers to use interfaces, improving testability and separation of concerns.
- Move FirebaseConfig and related classes to EpubReader.Firebase.
- Reintroduce and modernize MediaOverlayPlaybackManager and MediaOverlayPlaybackProgress in EpubReader.MediaOverlay namespace.
- Modernize codebase with explicit types, C# 12+ features, and improved nullability.
- Result: improved modularity, maintainability, and platform-agnostic architecture for authentication, Calibre discovery, and media overlay playback.
Moved OPDS models and FeedReader to EpubReader.OPDS, and MediaOverlay models to EpubReader.MediaOverlay. Updated all references and global usings. Removed obsolete using statements. No functional changes; improves code structure and maintainability.
Replaced traditional collection initializations with C# 12 collection expressions (`[]`, `[with(...)]`, `[.. ...]`) for improved readability and consistency. No changes to application logic.
Changed the namespace of FirebaseSyncService from EpubReader.Service to EpubReader.Firebase for improved organization. No functional changes were made.
Refactored PickerDelegate and UIPresentationControllerDelegate into separate files for macOS/iOS FolderPicker, improving code organization. Updated List<T> initializations to use C# 12 collection expressions in FullScreenService and SyntheticPageNumberService. Suppressed a static analysis warning in FirebaseSyncService. Relocated methods in SyntheticPageNumberService and ImportStateService for clarity.
Refactor array/list initializations to use C# 12 collection expressions for clarity and conciseness. Remove an unused service provider assignment in RecentBooksViewModel.
- FeedReader now returns empty OpdsFeed with error titles instead of throwing on HTTP/XML/general errors; ParseFeed and ParseFeedFromDocument handle empty/invalid XML gracefully.
- EbookService async calls updated to use .ConfigureAwait(false).
- CalibrePageViewModel search is now synchronous and local-only; async/remote search, cancellation, and search URL logic removed.
- Navigation state and search handler updated to match new local search.
- OPDS href normalization improved to decode encoded curly braces.
Cleaned up exception handlers by removing unused throw comments.
Now only logs errors and returns an error OpdsFeed object.
Refactored CalibrePageViewModel search: SearchBooks now delegates to ApplyLocalSearch for exact (case-insensitive) title/author matches, and uses RestoreCurrentBookResults to reset results when cleared. Removed redundant null checks. Updated EmptyLabelText and logging. OnSearchBarTextChanged now ignores empty search input.
StreamExtensions.Instance?.SetBook(Book) was removed from the method that restores the local reading position and progress in BookDetailsViewModel. This change avoids unnecessary or redundant stream extension updates during book load. No other logic was affected.
- Downgrade Microsoft.Maui and related NuGet packages to 10.0.80-ci.main.26281.1.
- Refactor BookIdentityService.ComputeSyncIdAsync: remove async/await, use title/author for sync ID when available, fallback to file name, improve error handling and logging.
- Add Android UnlockReceiver to detect screen unlock and trigger synced progress check in BookPage.
- Adjust BookPage logic for remote progress timestamp handling and event subscription.
- Add UnlockReceiver.android.cs for Android screen unlock event handling.
- Replace sqlite-net-pcl with Microsoft.Data.Sqlite for all app and sync DB access; update schema migration and CRUD logic accordingly
- Remove all sqlite-net-pcl attributes from models
- Add device-independent CharacterPosition to ReadingProgress and SyncQueueItem; update BookPage and EpubText.js for cross-device sync/restore
- Prefer character position over page number for progress sync
- Improve BookPage progress tracking, restore, and UI state
- Optimize SettingsPage toggle logic to avoid redundant saves
- Clean up platform-specific event handling and logging
- Remove .DS_Store and obsolete files
@sonarqubecloud

Copy link
Copy Markdown

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.

1 participant