-
Notifications
You must be signed in to change notification settings - Fork 23
Feature/v17/hubspot #289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: v17/dev
Are you sure you want to change the base?
Feature/v17/hubspot #289
Conversation
…tion-filtering Bugfix/v16/activecampaign/pagination filtering
Update V16 with changes for load balancing environments and converters
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR upgrades the HubSpot integration to work with Umbraco 17, including dependency updates, refactoring to use a factory pattern for authorization services, and improvements to the ActiveCampaign integration with server-side search functionality.
Key Changes:
- Upgraded target framework from .NET 9.0 to .NET 10.0 for HubSpot integration
- Replaced delegate-based authorization service instantiation with a factory pattern
- Updated frontend dependencies to Umbraco 17.0.0-rc2 and related packages
- Enhanced ActiveCampaign integration with server-side search and pagination
Reviewed Changes
Copilot reviewed 35 out of 41 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| Umbraco.Cms.Integrations.Crm.Hubspot.csproj | Updated target framework to net10.0, version to 8.0.0, and Umbraco package version to 17.0.0-rc2 |
| HubspotComposer.cs | Replaced delegate factory with IHubspotAuthorizationServiceFactory registration |
| HubspotAuthorizationServiceFactory.cs | New factory implementation for creating authorization services |
| IHubspotAuthorizationServiceFactory.cs | New factory interface |
| Controllers (GetAccessToken, GetAuthorizationUrl, RefreshAccessToken, ValidateAccessToken) | Updated to use factory instead of delegate |
| Client package files | Updated dependencies to @umbraco-cms/backoffice 17.0.0-rc2, @hey-api packages, and generated types |
| hubspot-forms.repository.ts | Changed service name from FormsService to Forms |
| Property editor elements | Updated type reference from HubspotFormPickerSettingsModelReadable to HubspotFormPickerSettingsModel |
| Algolia integration | Added ContentPublishedHandler and updated media picker converter for single media items |
| ActiveCampaign integration | Added server-side search functionality with query parameter support |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| foreach (var item in inputMedia) | ||
| { | ||
| if (item == null) continue; | ||
|
|
||
| var mediaItem = _mediaService.GetById(Guid.Parse(item.MediaKey)); | ||
| var mediaItem = _mediaService.GetById(Guid.Parse(item.MediaKey)); | ||
|
|
||
| if (mediaItem == null) continue; | ||
| if (mediaItem == null) continue; | ||
|
|
||
| list.Add(mediaItem.GetValue("umbracoFile")?.ToString() ?? string.Empty); | ||
| list.Add(mediaItem.GetValue("umbracoFile")?.ToString() ?? string.Empty); | ||
| } |
Copilot
AI
Nov 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
HubSpot integration upgraded to work with Umbraco 17.