Repository navigation
Release v17: dev/v17 into release/v17 - #192
Merged
Merged
Conversation
…e refs Replace UmbCheckoutManifestFilter with UmbCheckoutReader implementing IPackageManifestReader for Umbraco v16+ compatibility. Update submodule references for Stripe, uSync, Stripe.uSync, and Stripe.Forms. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Brings in the 1.5.0 work (multi-culture currency/baskets, abandoned basket recovery, promotional codes and consent, default shipping rates, Stripe.net 50.3.0) on top of the Umbraco 17 migration. - Keep the net10.0 / Umbraco 17 project and lock files - Drop the duplicate Basket.SiteRootCulture the v17 branch had back-ported - Move develop's "Fallback Currency Code" wording into umbraco-package.json and drop the AngularJS lang XML that the v17 branch removed - Point the nested submodules at their develop merges Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Dedicated "umbcheckout" swagger document with back-office security, readable operation IDs and schema IDs - Configuration API: GET/PUT with typed models, OperationStatusResult ProblemDetails, page keys mapped to the stored MultiUrlPicker shape - Shared CursorPagedViewModel and ProblemDetails titles Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- AddUmbCheckoutSectionAccess: ensure the UmbCheckout group and grant the umbCheckout section to Administrators (idempotent, AsyncMigrationBase) - PlainJsonDataTypeMigrator: move MetaData/TaxRates data types to Umbraco.Plain.Json and their values to textValue, for v13 (legacy alias) and v17-beta (Plain.String) sites; tested against SQLite - MetaDataValueConverter declares Dictionary<string,string> and tolerates duplicate names (last wins) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ackage manifest reader Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Client/ per the umbraco-extension 17.0 template (Vite, Lit, TS), pinned to @umbraco-cms/backoffice 17.0.0 and @hey-api/openapi-ts ^0.85 - Generated clients for the "umbcheckout" and "umbhost-licensing" documents - backofficeEntryPoint configures auth with the 17.0 template pattern (UMB_AUTH_CONTEXT.getOpenApiConfiguration) and warns once on 401 - localization extension replaces the undocumented top-level key - Builds to wwwroot/App_Plugins/UmbCheckout (umbcheckout.js + the @umbcheckout/core module); old AngularJS-era client removed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- umbCheckout section (alias matches the C# user-group grants) with the Settings sidebar menu - Status dashboard: license status and application-URL check - Global license context exported through @umbcheckout/core - Client readiness: API callers that start with the backoffice wait until the entry point has configured the client's auth (fixes a startup 401) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Detail data source/repository/store over the generated Configuration API (tryExecute), singleton workspace with a single route and Save action - Fields rendered with umb-property inside umb-property-dataset using the standard Umbraco editor UIs (text box, document picker, toggle, number); licensed-only fields hidden when unlicensed - Settings menu item Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
UmbLitElement implementing UmbPropertyEditorUiElement, raising UmbChangeEvent; reads values migrated from older versions (JSON string) as well as Plain.Json arrays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tle test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…atus CursorPagedViewModel<T> lives in Core, so no document's schema-ID handler claimed it and every T shared one schema ID, breaking the add-ons swagger doc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…anels Removes the core section and Status dashboard (Stripe.Addons owns the section, as in v13). Adds shared unlicensed-alert and made-by elements via @umbcheckout/core. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Umbraco 17.6+ cache-busts /App_Plugins URLs with the manifest version, so the version keeps its pre-release suffix (2.0.0-beta.3) and drops build metadata. Clients compile against @umbraco-cms/backoffice 17.6.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…umbcheckout/core Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s section access They live under Settings > UmbCheckout; previously any back-office user (e.g. a Writer) could change live/test mode, checkout pages, currency and shipping rates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the handler's message as the detail (shown once); a cancel is cleared once reported, so a later 404 in the same request stays a 404 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…settings read before its scope, webhook subclass replaces the controller, older uSync Stripe settings files keep current values Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
UmbHost.Licensing has its own version line. With -p:UmbHostLicensingVersion=... (CI passes the version built from the UmbLicensing submodule commit), packs list that version as the UmbHost.Licensing dependency instead of this build's Version, which NuGet otherwise inherits through the project reference. Without it nothing changes (standalone package mode still defaults to 1.4.0). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…workflow records the checkout session; Basket.ItemCount counts lines (as v13, documented; TotalItems sums quantities); Stripe and Stripe.Forms pointers Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… ICurrencyService and IBasketContext (and SessionService, BasketService); token overloads keep forwarding to them with CS0618 suppressed. UmbCheckout.Stripe pointer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ither composer order. UmbCheckout.Stripe pointer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#7: tests that a site's shipping calculator replaces the default
… throwing handler stops checkout before Stripe, and stripe-mock accepts a handler's change. UmbCheckout.Stripe pointer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tests: session-options handlers run before the session is created
…omplete the takeover's claim, on SQLite and SQL Server), a failed claim logged with the event id as a 500, a missing secret logged at Error once per mode then Debug, and the default members over an older store; Stripe pointer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…version) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…on, not a decision); read through IPackagingService.GetAllInstalledPackagesAsync, UmbCheckout.* packages only as in v13. New constructor with IPackagingService; the previous ones are [Obsolete] and chain. Test that the payload reports them Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…trimmed upper-case currency in SessionService, paid-basket-cleared notification not cancellable, boot migrators survive a failed licence evaluation, licensing version default 2.0.0; tests; Stripe and Forms pointers Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v17: webhook lease, fixes aligned with v13, licence gate, permissions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ble; no null-forgiving operators in production or test code; source scan test; submodule pointers Public API annotation changes (binary compatible): the LicenseService parameter of ConfigurationService, SessionService, StripeSessionService, StripeSettingsService and ConfigurationApiController is LicenseService?; CurrencyDecimals.MinorUnitDigits and ChargeableDigits take string? (they already threw for null). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…osed tests), neutral comments in the migrator base, telemetry and test helpers, order-independent assembly scan for linked tests, nodeKey test Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…bfuscation test helper removed from the open project; neutral comments; order-independent assembly scan for linked tests Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…lyMetadata("Notice") attribute (open-source wording for open builds, proprietary wording for paid builds); tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… head, so a fresh checkout builds Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…and no longer flags a logical not after a lambda arrow (x=>!y); test cases Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Licence boundary: UmbCheckout.Stripe pointer
…ev/v17 merge commits (Stripe, Stripe.Forms, uSync, Stripe.uSync) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nullable problems fail the build
…) lost when resolving the set A/B merge; keeps set A's comment Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Testing: restore TestLicenseService.None after the set A/B merge
… red alert (now readable, white on red) when one is; licence status carries addOnsInstalled (#188) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # src/UmbCheckout.Stripe
Unlicensed message: info bar without paid add-ons, readable red alert with them
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.
Stable release for v17 (UmbCheckout 17.0.0 / UmbHost.Licensing 2.0.0). Testing passed. release/v17 was created at the commit where dev/v17 split from v13, so this merges cleanly.
Merge with a merge commit, not squash.
🤖 Generated with Claude Code