Conversation
There was a problem hiding this comment.
Pull request overview
Updates the MAUI app to .NET 10 while modernizing the camera/shader pipeline, adding new shaders, and introducing CI/CD workflows for Windows/Android/iOS builds.
Changes:
- Migrate app + workflows to .NET 10 (new
global.json, updated package versions, updated GH Actions). - Replace
CameraWithEffectswithAppCameraand adjust UI interactions/performance (GPU caching, gesture catcher, EXIF metadata additions). - Add new draw-style shaders and enable additional shaders on Android; include location permission for EXIF geotagging.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/app/Views/MainPageCameraFluent.Ui.cs | Switches to AppCamera, tweaks layout/gesture handling, adjusts caching, and enables DEBUG FPS via helper. |
| src/app/Views/MainPageCameraFluent.cs | Adds GPS refresh hook on camera-on state; removes now-unused camera property-changed observer logic. |
| src/app/Views/Controls/AppCamera.cs | Introduces new camera control with realtime shader processing, shader compilation/editing flow, and GPS metadata injection. |
| src/app/ViewModels/CameraViewModel.cs | Adds shader entries, updates recording event hookup, applies shader on capture, and writes filter name to EXIF Software. |
| src/app/ShadersCamera.csproj | Migrates TFMs to net10.0-*, updates package versions, adds conditional source vs package reference for DrawnUi camera. |
| src/app/Resources/Raw/Shaders/Camera/print.sksl | Adds new “Print” shader resource. |
| src/app/Resources/Raw/Shaders/Camera/geisha.sksl | Adds new “Geisha” shader resource. |
| src/app/Resources/Raw/Shaders/Camera/cartoon.sksl | Adds new “Cartoon” shader resource. |
| src/app/Platforms/Android/AndroidManifest.xml | Bumps app version and adds ACCESS_FINE_LOCATION permission for geotagging. |
| README.md | Updates “Latest Changes”, and links to new CI/CD documentation. |
| global.json | Pins repo to .NET SDK 10.0.104. |
| docs/github-actions-cicd.md | Documents GitHub Actions workflows and required secrets. |
| dev/CameraApp-Refs.sln | Updates solution references for the restructured DrawnUi projects. |
| .github/workflows/ios-release.yml | Adds iOS signing validation + signed IPA build workflow. |
| .github/workflows/dotnet-windows.yml | Updates Windows CI build to .NET 10 and adds manual dispatch. |
| .github/workflows/android-release.yml | Adds signed Android release workflow producing APK/AAB artifacts. |
Comments suppressed due to low confidence (5)
src/app/Views/Controls/AppCamera.cs:17
- The inline comment on
NeedPermissionsSetis cut off mid-sentence ("when we"). Please either complete the comment or remove it so it doesn't read like an unfinished thought.
src/app/Views/Controls/AppCamera.cs:6 using static Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific.VisualElement;appears unused in this file. Please remove it to avoid unnecessary imports and potential name conflicts.
src/app/Views/Controls/AppCamera.cs:86_shaderGlobalis declared but never used in this class. Please remove it (or reintroduce the logic that uses it) to avoid dead code.
src/app/Views/Controls/AppCamera.cs:112GetEffectShader()returnsnullin several branches, but the method return type is non-nullable (SkiaShader). Consider making the return type nullable (and related fields like_effectShader/_loadedEffectnullable) so the contract matches the actual behavior and avoids future nullable-reference warnings.
src/app/Views/Controls/AppCamera.cs:177OnShaderError(...)is currently unused (no subscriptions/calls in this class). Please remove it if it's no longer needed, or wire it up where shader compilation errors are raised.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| { | ||
| TriggerUpdateSmallPreview = true; | ||
| } | ||
| }); ; |
There was a problem hiding this comment.
There is an extra trailing ; after the .OnTapped(...) call (results in an empty statement). Please remove it to avoid noise and keep the tap handler line clean.
Suggested change
| }); ; | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.