@salesforce/ui-bundle-template-feature-react-agentforce-conversation-client 11.69.1 → 11.69.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [11.69.3](https://github.com/salesforce-experience-platform-emu/webapps/compare/v11.69.2...v11.69.3) (2026-08-26)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **@W-23995560:** Report mistyped authProviderNames during social login setup ([#927](https://github.com/salesforce-experience-platform-emu/webapps/issues/927)) ([712119a](https://github.com/salesforce-experience-platform-emu/webapps/commit/712119a2585367a978c277931d3c3f357a2e7011))
12
+
13
+
14
+
15
+ ## [11.69.2](https://github.com/salesforce-experience-platform-emu/webapps/compare/v11.69.1...v11.69.2) (2026-08-25)
16
+
17
+ **Note:** Version bump only for package @salesforce/ui-bundle-template-base-sfdx-project
18
+
19
+
20
+
21
+
22
+
6
23
  ## [11.69.1](https://github.com/salesforce-experience-platform-emu/webapps/compare/v11.69.0...v11.69.1) (2026-08-25)
7
24
 
8
25
 
@@ -18,8 +18,8 @@
18
18
  "graphql:schema": "node scripts/get-graphql-schema.mjs"
19
19
  },
20
20
  "dependencies": {
21
- "@salesforce/platform-sdk": "^11.69.1",
22
- "@salesforce/ui-bundle": "^11.69.1",
21
+ "@salesforce/platform-sdk": "^11.69.3",
22
+ "@salesforce/ui-bundle": "^11.69.3",
23
23
  "@tailwindcss/vite": "^4.1.17",
24
24
  "class-variance-authority": "^0.7.1",
25
25
  "clsx": "^2.1.1",
@@ -45,8 +45,8 @@
45
45
  "@graphql-eslint/eslint-plugin": "^4.1.0",
46
46
  "@graphql-tools/utils": "^11.0.0",
47
47
  "@playwright/test": "^1.49.0",
48
- "@salesforce/graphiti": "^11.69.1",
49
- "@salesforce/vite-plugin-ui-bundle": "^11.69.1",
48
+ "@salesforce/graphiti": "^11.69.3",
49
+ "@salesforce/vite-plugin-ui-bundle": "^11.69.3",
50
50
  "@testing-library/jest-dom": "^6.6.3",
51
51
  "@testing-library/react": "^16.1.0",
52
52
  "@testing-library/user-event": "^14.5.2",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@salesforce/ui-bundle-template-base-sfdx-project",
3
- "version": "11.69.1",
3
+ "version": "11.69.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@salesforce/ui-bundle-template-base-sfdx-project",
9
- "version": "11.69.1",
9
+ "version": "11.69.3",
10
10
  "license": "SEE LICENSE IN LICENSE.txt",
11
11
  "dependencies": {
12
12
  "fast-xml-parser": "^5.9.3",
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/ui-bundle-template-base-sfdx-project",
3
- "version": "11.69.1",
3
+ "version": "11.69.3",
4
4
  "description": "Base SFDX project template",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "publishConfig": {
@@ -721,6 +721,32 @@ if (allProviders.isEmpty()) {
721
721
  }
722
722
  System.debug('TOTAL_PROVIDERS_FOUND:' + allProviders.size());
723
723
 
724
+ // Fail fast if any requested provider name did not resolve to an AuthProvider
725
+ // (OAuth) or SamlSsoConfig (SAML) record. The isEmpty() check above only catches
726
+ // the case where NONE resolve; comparing the found DeveloperNames against the
727
+ // requested list also catches the strict-subset case (e.g. ["Google","Typo"]
728
+ // links Google but must not silently drop "Typo"). This runs BEFORE any junction
729
+ // record is created, so linking is all-or-nothing. Case-insensitive because SOQL
730
+ // "DeveloperName IN (...)" matches case-insensitively, so a stored DeveloperName
731
+ // may differ in case from the configured value and must not read as "missing".
732
+ Set<String> foundProviderNames = new Set<String>();
733
+ for (AuthProvider ap : oauthProviders) {
734
+ foundProviderNames.add(ap.DeveloperName.toLowerCase());
735
+ }
736
+ for (SamlSsoConfig sp : samlProviders) {
737
+ foundProviderNames.add(sp.DeveloperName.toLowerCase());
738
+ }
739
+ List<String> missingProviderNames = new List<String>();
740
+ for (String requestedName : new List<String>{${providerNamesLiteral}}) {
741
+ if (!foundProviderNames.contains(requestedName.toLowerCase())) {
742
+ missingProviderNames.add(requestedName);
743
+ }
744
+ }
745
+ if (!missingProviderNames.isEmpty()) {
746
+ System.debug('MISSING_PROVIDERS:' + String.join(missingProviderNames, ','));
747
+ return;
748
+ }
749
+
724
750
  // Step 4: Check existing AuthConfigProviders to avoid duplicates
725
751
  Set<Id> existingProviderIds = new Set<Id>();
726
752
  for (AuthConfigProviders acp : [
@@ -783,6 +809,18 @@ if (inserted == 0 && existingProviderIds.size() >= allProviders.size()) {
783
809
  if (apexOut.match(/\|DEBUG\|ERROR_NO_PROVIDERS/)) {
784
810
  throw new StepError(`no AuthProvider or SamlSsoConfig records found for names: ${authProviderNames.join(', ')} — create them in Setup first`);
785
811
  }
812
+ // A SOQL `DeveloperName IN (…)` query silently returns fewer rows for names
813
+ // that don't exist, so the ERROR_NO_PROVIDERS guard above (which only fires
814
+ // when NONE resolve) let a single typo'd name slip through unnoticed whenever
815
+ // at least one other name matched. The Apex now diffs the requested names
816
+ // against the resolved ones (case-insensitively, since SOQL matches that way)
817
+ // and emits MISSING_PROVIDERS naming the offenders — nothing is linked when it
818
+ // fires (all-or-nothing, checked before any insert).
819
+ const missingMatch = apexOut.match(/\|DEBUG\|MISSING_PROVIDERS:([^\n]+)/);
820
+ if (missingMatch) {
821
+ const missing = missingMatch[1].trim();
822
+ throw new StepError(`some configured auth providers were not found: ${missing} — check for typos, or create them in Setup first (nothing was linked)`);
823
+ }
786
824
 
787
825
  // Check for insert failures
788
826
  const insertFails = [...apexOut.matchAll(/\|DEBUG\|INSERT_FAILED:([^:]+):(OAuth|SAML):(\d+):([^\n]+)/g)];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/ui-bundle-template-feature-react-agentforce-conversation-client",
3
- "version": "11.69.1",
3
+ "version": "11.69.3",
4
4
  "description": "Embedded Agentforce conversation client feature for UI Bundles",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "author": "",
@@ -26,7 +26,7 @@
26
26
  "clean": "rm -rf dist"
27
27
  },
28
28
  "dependencies": {
29
- "@salesforce/agentforce-conversation-client": "^11.69.1"
29
+ "@salesforce/agentforce-conversation-client": "^11.69.3"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/react": "^19.2.7",