134 Commits

Author SHA1 Message Date
c6a3f4acc4 chore(perf): bump version to 9.0.40 to match MAUI 9.0.40
All checks were successful
CI / Build (Linux) (push) Successful in 21s
Release / Build and Publish (push) Successful in 20s
Update version from 9.0.0 to 9.0.40 to align precisely with MAUI 9.0.40 release. Update CHANGELOG, package metadata, and templates. Fix thread safety issue in FontFallbackManager by changing _glyphCache from Dictionary to ConcurrentDictionary to prevent race conditions during concurrent glyph lookups.
v9.0.40
2026-03-07 01:48:58 -05:00
8a5ad459ed Merge pull request 'chore(perf): realign version to 9.0.0 to match .NET/MAUI versioning' (#1) from dotNet9 into main
All checks were successful
CI / Build (Linux) (push) Successful in 18s
Reviewed-on: #1
2026-03-07 05:16:59 +00:00
840ad0ce8f chore(perf): realign version to 9.0.0 to match .NET/MAUI versioning
All checks were successful
CI / Build (Linux) (pull_request) Successful in 23s
Change version from 1.0.0 to 9.0.0 to align with .NET 9 / MAUI 9.0.x versioning convention. Update all package references, templates, and documentation. Change copyright holder from "MarketAlly LLC" to "MarketAlly Pte Ltd" across all files. Update CHANGELOG to document version realignment and mark 1.0.0 as deprecated. Update release notes to reflect 541 passing tests (up from 217) and include native resource leak fixes, SafeHandle wrappers, and performance benchmarks.
2026-03-07 00:14:47 -05:00
967713c01a test(perf): add performance benchmarks for rendering pipeline
All checks were successful
CI / Build (Linux) (push) Successful in 19s
Add performance benchmark tests for critical rendering paths including Measure/Arrange operations on flat layouts (100 children), deep nesting (20 levels), and Grid layouts (10x10). Include HitTest performance validation. Tests use Stopwatch with generous upper bounds to catch regressions while avoiding flaky failures on slow CI machines. Benchmarks verify operations complete within acceptable time budgets (5-10ms thresholds).
2026-03-06 23:43:41 -05:00
6b45f28b4e feat(interop): add safe handle wrappers and configuration options
Implement SafeHandle wrappers for native resources (SafeGtkWidgetHandle, SafeGObjectHandle, SafeX11DisplayHandle, SafeX11CursorHandle, SafeDlopenHandle) to prevent memory leaks. Move gesture and rendering configuration from static properties to LinuxApplicationOptions for better testability and DI compatibility. Add THREADING.md and DI-MIGRATION.md documentation. Include LayoutIntegrationTests for Measure/Arrange pipeline and SkiaViewTheoryTests with parameterized test cases using [Theory] attributes.
2026-03-06 23:40:51 -05:00
3412cb982e fix(interop): resolve native resource leaks in GTK and WebKit interop
All checks were successful
CI / Build (Linux) (push) Successful in 21s
Fix critical memory leaks identified in architecture review: Add signal handler disconnection in WebKitNative (load-changed and script-dialog signals now properly cleaned up), implement GTK idle callback cleanup with automatic removal on completion, add dlclose() calls for WebKit library handles, track GTK signal IDs in GtkSkiaSurfaceWidget for proper disposal. Replace empty catch blocks in GestureManager with logged exception handling. Add WebKitNative.Cleanup() and GtkNative.ClearCallbacks() methods for application shutdown.
2026-03-06 23:14:53 -05:00
c5221ba580 test: add unit tests for controls and rendering helpers
All checks were successful
CI / Build (Linux) (push) Successful in 18s
Add comprehensive test coverage for 20+ Skia controls including ActivityIndicator, Border, CheckBox, CollectionView, DatePicker, Editor, Grid, Image, ImageButton, Label, NavigationPage, Page, Picker, ProgressBar, RadioButton, SearchBar, Stepper, Switch, and TimePicker. Include tests for TextRenderingHelper utility methods covering color conversion, font style mapping, and font family resolution.
2026-03-06 22:43:25 -05:00
077abc2feb refactor: split large files into partial classes by concern
Split LinuxApplication into Input and Lifecycle partials. Extract SkiaView into Accessibility, Drawing, and Input partials. Split SkiaEntry and SkiaEditor into Drawing and Input partials. Extract TextRenderingHelper from SkiaRenderingEngine. Create dedicated files for SkiaAbsoluteLayout, SkiaGrid, and SkiaStackLayout. This reduces file sizes from 40K+ lines to manageable units organized by responsibility.
2026-03-06 22:36:23 -05:00
ee60b983a4 docs: remove --prerelease flag from package install commands 2026-03-06 22:13:17 -05:00
0fb0051a24 docs: add changelog for v1.0.0 release
Document complete feature set including 35+ Skia-rendered controls, full XAML support, X11/Wayland display servers, accessibility, platform services, gesture recognition, and project templates. Include fixes for GestureManager memory leak, text binding recursion, and rendering pipeline crash protection.
2026-03-06 22:11:54 -05:00
15ced2ac55 chore: bump version to 1.0.0 and update release metadata
Update package references from RC/preview versions to stable 1.0.* across all templates and project files. Mark RC1 roadmap as completed and update documentation to reflect v1.0.0 release. Add GestureManager cleanup in SkiaView.Dispose() to prevent memory leaks. Update copyright years to 2025-2026 and add development artifacts to .gitignore.
2026-03-06 22:11:46 -05:00
e55230c441 refactor: replace Console.WriteLine with DiagnosticLog service
All checks were successful
CI / Build (Linux) (push) Successful in 21s
Replace 495+ Console.WriteLine debug statements across handlers, dispatching, services, views, and window components with centralized DiagnosticLog service for proper logging infrastructure. Add new DiagnosticLog.cs service with Debug/Error methods to eliminate debug logging pollution in production code.
2026-03-06 22:06:08 -05:00
08e0c4d2b9 Create note-1770523035702-znjlto6vn.json
All checks were successful
CI / Build (Linux) (push) Successful in 25s
2026-02-15 23:57:39 -05:00
d9d3218f17 docs(ci): add OpenMaui technical article series
Add 7-part article series covering OpenMaui Linux implementation deep dives:

1. SkiaSharp rendering architecture and performance
2. Window management across X11, Wayland, and GTK backends
3. Advanced text rendering with IME, font fallback, and internationalization
4. Performance optimization strategies for rendering and memory management
5. Custom control development patterns
6. Dirty region tracking and invalidation
7. HarfBuzz integration and CJK language support

Total 389 lines of technical documentation covering rendering pipelines, platform abstraction, and optimization techniques.
2026-01-30 00:50:26 -05:00
996ffb67c0 fix(ci): use tag-based trigger for release workflow
All checks were successful
CI / Build (Linux) (push) Successful in 18s
Release / Build and Publish (push) Successful in 20s
Remove release event trigger in favor of tag push trigger only. Simplify version extraction to use gitea.ref_name directly instead of parsing GITEA_REF environment variable.

This ensures the workflow runs immediately when a version tag is pushed, without requiring a separate release creation step.
v1.0.0-rc.3
2026-01-29 23:33:28 -05:00
4d880e77d5 refactor(ci): simplify CI workflow to Linux-only builds
Some checks failed
Release / Build and Publish (release) Failing after 21s
CI / Build (Linux) (push) Successful in 22s
Release / Build and Publish (push) Failing after 18s
Remove Windows and macOS build jobs from CI workflow since this is a Linux-specific MAUI implementation. Consolidate artifact uploads to single "nuget-packages" artifact.

Fix release workflow to use Gitea-specific variables (GITEA_REF, gitea.repository_owner) instead of GitHub equivalents, and use GITEATOKEN secret for package publishing.
2026-01-29 23:29:51 -05:00
ade3a8a47d Move CLAUDE.md to vault
All checks were successful
CI / Build (Linux) (push) Successful in 23s
CI / Build (macOS) (push) Successful in 31s
CI / Build (Windows) (push) Successful in 9h0m12s
2026-01-30 03:49:11 +00:00
b7424194f4 Workflows set
Some checks failed
CI / Build (macOS) (push) Has been cancelled
CI / Build (Windows) (push) Has been cancelled
CI / Build (Linux) (push) Has been cancelled
2026-01-24 07:53:30 +00:00
0f093bdb1e Update X11Window.cs
Some checks failed
CI / Build and Test (push) Failing after 8h0m10s
2026-01-24 07:28:36 +00:00
675673f026 Fixes for taskbar app 2026-01-24 06:55:59 +00:00
f1e3630d1b Fixes for GTK - still wrong 2026-01-24 06:13:13 +00:00
38c48fc99f Remove the old samples 2026-01-24 05:16:29 +00:00
f48f909ee2 Update .gitignore 2026-01-24 03:18:50 +00:00
433787ff80 Image fixes 2026-01-24 03:18:08 +00:00
ed89b6494d Fixes for pages 2026-01-24 02:37:37 +00:00
7830356f24 Fix labels, lists and other tweaks 2026-01-24 02:21:56 +00:00
5415c71e9e Update ButtonHandler.cs 2026-01-24 02:00:00 +00:00
2c5036596e Removed duplicate 2026-01-24 01:59:53 +00:00
0c2508d715 Fixes for handlers 2026-01-24 01:53:26 +00:00
f4422d4af1 cursor blink in entry/editor 2026-01-17 15:26:13 +00:00
88679dfae8 context menu fixes 2026-01-17 15:19:03 +00:00
10a66cd399 More fixes 2026-01-17 15:06:39 +00:00
9451611c3a control work fixes 2026-01-17 08:51:13 +00:00
dc52f7f2bc More fixes 2026-01-17 08:06:22 +00:00
f1a368a6c2 templates updated 2026-01-17 05:31:40 +00:00
ad12779b73 Docs added 2026-01-17 05:27:21 +00:00
7d2ac327a3 More fixes 2026-01-17 05:22:37 +00:00
f62d4aa5f2 Missing maui compliance 2026-01-17 03:45:05 +00:00
a367365ce5 Color issues 2026-01-17 03:36:37 +00:00
aad915ad86 Missing backgroundcolor 2026-01-17 03:10:29 +00:00
5443c7c22a Gesture support 2026-01-17 02:48:59 +00:00
5a915ca06a Window management 2026-01-17 02:33:00 +00:00
47a5fc8c01 Missing items 2026-01-17 02:23:05 +00:00
523de9d8b9 Update LinuxMauiAppBuilderExtensions.cs 2026-01-17 01:47:26 +00:00
b07228922f Missing bindings defaults 2026-01-17 01:43:42 +00:00
4c70118be6 Create MenuBarHandler.cs 2026-01-17 01:22:52 +00:00
868ce1fcae CollectionView completed 2026-01-17 01:18:57 +00:00
b1749b1347 Page completed 2026-01-17 01:18:35 +00:00
d8bdf5472f Navigation completed 2026-01-17 01:17:36 +00:00
7a1241cbf2 Layout 2026-01-17 00:46:27 +00:00