FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Tags · reactiveui/splat · GitHub

Tags: reactiveui/splat

Tags

v21.0.0

Toggle v21.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(skiasharp): add a Skia bitmap loader package (#1674)

* feat(skiasharp): add a Skia bitmap loader package

- Add Splat.SkiaSharp, an opt-in IBitmapLoader and IBitmap over SkiaSharp
  for net8.0 through net11.0, where BitmapLoader.Current has nothing to
  resolve today.
- Take an explicit Linux native asset dependency: SkiaSharp itself only
  carries the macOS and Win32 assets on these target frameworks, so
  without it the package restores and then fails to load at run time on
  the hosts it exists to serve.
- Preserve the aspect ratio when a decode size is requested, matching the
  desktop loader: both dimensions fit inside the box, one derives the
  other.
- Apply the orientation the source recorded, and report it, so an image
  stored on its side decodes upright.
- Add ToNative and FromNative that return the Skia bitmap rather than
  pretending to be a platform type, a Save overload for the formats the
  shared enumeration has no name for, and a choice of resampler.
- Register through a module and a resolver extension, with no scanning.
- Keep the native symbol files out of build and publish output, which
  they otherwise dominate.

* build(skiasharp): leave the native asset choice to the consumer

- Drop the Linux native asset reference from the library. It flowed into every
  consumer's output regardless of what they target, and clashed with the one an
  application had already chosen for itself.
- Name it in the test project instead, and only when building on Linux, since
  the base package already carries the Windows and macOS natives.

v20.2.0

Toggle v20.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(applicationinsights): add v3 package (#1653)

* feat(applicationinsights): add v3 package

- Add Splat.ApplicationInsightsV3 as an opt-in package for Application Insights v3 consumers.

- Keep Splat.ApplicationInsights on the v2 SDK so native PageView telemetry remains available.

- Document that v3 view tracking uses custom PageView events because the v3 SDK removed TrackPageView.

* build(applicationinsights): ship v3 public api

- Move the new Splat.ApplicationInsightsV3 API baseline entries into shipped files for every target framework.

* refactor(applicationinsights): share v3 telemetry creation

- Extract Application Insights v3 telemetry shapes into an internal factory used by view and feature tracking.

- Add direct tests for PageView, feature event, child feature, and exception telemetry metadata.

* refactor(applicationinsights): thin v3 feature session

- Move Application Insights v3 feature session state and send operations into an internal core type.

- Keep the public session adapter focused on the Splat APM contract to avoid cloning the v2 implementation shape.

v20.1.0

Toggle v20.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
build: adopt SecuritySharp and PerformanceSharp analyzers and refresh…

… dependencies (#1651)

* build: adopt SecuritySharp and PerformanceSharp analyzers and refresh dependencies

- Add SecuritySharp.Analyzers and PerformanceSharp.Analyzers; bump
  StyleSharp.Analyzers to 3.38.1 (the three share one suite release)
- Adapt the shared .editorconfig to the suite, keeping Splat's file header
  and the Platforms RS0041 exemption
- Update NuGet packages to their latest compatible stable versions, obeying
  the per-TFM constraints in the packages file; hold Microsoft.ApplicationInsights
  at 2.23.0 (3.x removes PageViewTelemetry from Splat.ApplicationInsights' public API)
- Fix every resulting analyzer finding across product and test code rather than
  suppressing it; add real assertions to no-assertion tests; save sources as UTF-8
  without a BOM

* build: fix analyzer findings on the Apple and Windows target frameworks

The Apple (Cocoa) platform files and the Windows-target test build were not
reachable from the Linux multi-TFM build, so these only surfaced on CI:

- Cocoa CocoaBitmap/PlatformBitmapLoader/SplatColorExtensions: Volatile.Read on
  the interlocked field (snapshotting for the closure), delete redundant
  suppressions, RunContinuationsAsynchronously on the TaskCompletionSource,
  observe-then-throw null fallbacks, interpolated strings, uppercase float
  suffix, extension-block ordering, and drop the unused UIApplication alias
- BitmapLoaderCoverageTests: add the explicit System.IO using so Stream resolves
  on the Windows target frameworks (their implicit usings omit it)

* test: cover the new analyzer-fix code paths

Add behavioral tests exercising the lines introduced when fixing the analyzer
findings: the exception-observing catch blocks (throwing-disposable disposal and
throwing resolver-changed callbacks), the extra registration overloads that use
GetValueRefOrAddDefault, the IFormatProvider single-value logger overloads, the
service-collection unwrap loops, and the achromatic SplatColor paths. Each test
asserts real behavior.

The few remaining uncovered lines are genuinely-unreachable defensive/off-platform
code (nested catches whose inner guard always fires, BCL-guard catches with no
injection seam, and the WPF/Silverlight design-mode reflection that resolves only
on a real XAML host).

* refactor(drawing): merge the identical net4/net6 WPF platform files

The net4 (.NET Framework) and net6 (net*-windows) platform folders both target
WPF (UseWPF is set for both TFM sets) and had byte-identical copies of the colour,
geometry and bitmap extension files. Move the seven shared files into a single
Platforms/Wpf/ folder compiled on both TFM sets, removing the duplication the
Sonar new-code gate flagged. BitmapSourceBitmap keeps its two versions (their
Save implementations genuinely differ).

* fix(drawing): restore RegisterPlatformBitmapLoader registration and doc crefs

- RegisterPlatformBitmapLoader had been collapsed to an expression body (an
  SST2275 auto-fix on the modern targets, where the conditional body is empty),
  which dropped the actual IBitmapLoader registration on the WPF / .NET Framework
  targets. Restore the conditional registration and scope-suppress SST2275.
- Correct two XML doc crefs surfaced in review: the Rect FromNative summary said
  Point, and the Color FromNative summary said SolidColorBrush.

* test: bring the touched product files to 100% line and branch coverage

Add ~500 behavioral tests across the adapter, logger, resolver, drawing and
core projects so every reachable line and branch in the files this PR touched is
exercised (logger overload families, registration/resolution edge cases,
disposal and callback-failure paths, colour conversions, mode detection).

Where code is genuinely unreachable, extract the smallest wrapping method and
mark it [ExcludeFromCodeCoverage] (off-platform design-mode reflection, defensive
catches whose guarded call cannot throw, non-null field disposal). A few provably
dead branches are removed outright (a redundant null-conditional, a dead
already-immutable guard, an unreachable batch-eviction path).

* fix(prism): correct inverted condition in named parameterized Resolve

Resolve(Type, string name, params) had an inverted TryGetValue check, so a
registered named type always returned null (and threw) and the CreateInstance
arm was dead. Match the sibling unnamed overload; add a success test and drop
the test that had pinned the buggy throw-when-registered behavior.

* refactor(core): extract shared resolver exception and dictionary helpers

Replace the 12 duplicated exception-swallowing disposal/callback blocks across
ModernDependencyResolver, GlobalGenericFirstDependencyResolver and
InstanceGenericFirstDependencyResolver with a single
ResolverExceptionHelpers.RunSwallowingExceptions(Action) helper, and share the
GetValueRefOrAddDefault get-or-add via ResolverDictionaryHelpers.GetOrAddValue.
Removes the Sonar new-code duplication in the resolver family.

* refactor(core): close residual coverage gaps in resolvers and mode detection

- Splat mode detection/TFM: extract pure matcher (NameContainsAnyMarker),
  add net11.0 target-framework moniker mapping, remove provably-dead
  AssemblyQualifiedName null guard, minimal ExcludeFromCodeCoverage on
  OS/permission-sensitive probe scaffolding, add tests.
- Splat.Core resolver family: remove dead ThrowIf-follow returns and
  null guards, scope copy-on-write / double-checked-lock race guards
  into minimal ExcludeFromCodeCoverage helpers.

v20.0.0

Toggle v20.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: remove always-false conditions flagged by SonarCloud (#1604)

Drop redundant null checks that the analyzer reports as constantly false:

- MemoizingMRUCache.InvalidateAll: oldEntries is guaranteed assigned on the
  only path that exits the lock without returning, so `oldEntries is null` is
  always false. Declare it non-nullable (satisfying nullable flow) and remove
  the dead disjunct.
- NinjectDependencyResolver UnregisterCurrent/UnregisterAll (x4): the result of
  kernel.GetBindings(...).ToArray() is never null, so `bindings is null` is
  always false. Check only the length.

Behaviour is unchanged; both projects build clean under -warnaserror.

v19.4.1

Toggle v19.4.1's commit message
ci(release): allow releasing from a historical ref

Add an optional 'sourceRef' workflow_dispatch input (default empty =
this branch, normally main). When set to a tag/branch/SHA it is passed
to the reusable release workflow's 'ref' so historical source is built
and signed with the current pipeline, and the new release tag is pinned
to that commit via 'target'.

v19.4.0

Toggle v19.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: Remove Tizen bitmap code; simplify platform detection (#1583)

* Remove Tizen bitmap code; simplify platform detection

Remove platform-specific Tizen bitmap implementation and related build define, and simplify platform mode detection logic. Deleted Tizen bitmap files (BitmapMixins.cs, PlatformBitmapLoader.cs, TizenBitmap.cs) and removed the TIZEN DefineConstants entry from Directory.Build.targets. Updated DefaultPlatformModeDetector to drop NETFX_CORE guards and to remove Tizen from conditional compilation branches, unifying how entry assembly/base directory and design-environment checks are performed.

* Update Splat.Drawing.csproj

19.3.1

Toggle 19.3.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update version from 19.2 to 19.3.x

v19.3.1

Toggle v19.3.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update version from 19.2 to 19.3.x

19.2.1

Toggle 19.2.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
housekeeping: Update version from 19.1 to 19.2.x

19.1.1

Toggle 19.1.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update version number to 19.1.x


Back | FazBrowse Home | New Git URL