• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bleedingdeacons / register / 31261673888
50%

Build:
DEFAULT BRANCH: main
Ran 08 Aug 2026 02:20PM UTC
Jobs 1
Files 22
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 Aug 2026 02:19PM UTC coverage: 91.768%. Remained the same
31261673888

push

github

web-flow
perf: compile every XAML binding, and keep them compiled (#24)

Uncompiled XAML bindings resolve through reflection at runtime: roughly 8x
slower for bindings with change notification and 20x for OneTime ones. More
importantly they stop being merely slow once the Apple heads ship — compiled
bindings are required, not optional, under the full trimming and NativeAOT that
iOS release builds use.

Three separate causes, fixed in order of how much they were hiding.

XC0022 (27) — a binding with no x:DataType in scope. Most views already declared
one; DatabaseBackupPage did not, despite instantiating its viewmodel in XAML, and
the two member cards switch BindingContext to Member mid-tree without saying so.

Annotating DatabaseBackupPage promptly surfaced six XC0045s: its CollectionView
item template binds IsSelected/FileName/SizeText/FullPath/Location/
LastModifiedText, which live on DatabaseFileInfo, not on the page viewmodel. The
DataTemplate now declares x:DataType="viewmodels:DatabaseFileInfo". Those
bindings were always resolving against the wrong type — reflection just never
said so.

XC0025 (101) — bindings that set Source were skipped by XamlC entirely before
.NET 9. Enabling $(MauiEnableXamlCBindingWithSourceCompilation) makes them
eligible, after which each needs an x:DataType matching the *Source's* type
rather than the surrounding BindingContext.

Nearly all of them are the templated-control pattern in Controls/*.xaml, where
every binding in the file reads a bindable property off the control root via
{x:Reference}. Declaring x:DataType once on each file's outermost layout element
covers all of them — one line per file rather than 101 inline annotations
(ClearableEntry alone went 16 -> 0 that way). The exceptions are annotated per
binding: the member cards, whose inner stack is deliberately Member-scoped, and
the 16 {RelativeSource AncestorType} command bindings inside DataTemplates,
which reach past the item type to the page viewmodel.

XC0103 (... (continued)

680 of 741 relevant lines covered (91.77%)

5.28 hits per line

Jobs
ID Job ID Ran Files Coverage
1 31261673888.1 08 Aug 2026 02:20PM UTC 22
91.77
GitHub Action Run
Source Files on build 31261673888
  • Tree
  • List 22
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31261673888
  • fd8564b9 on github
  • Prev Build on main (#31260422232)
  • Next Build on main (#31262038119)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc