Skip to content

fix: remove obsolete experimental samples blocking Windows checkout @W-24516794@ - #395

Merged
shetzel merged 1 commit into
mainfrom
klewis/W-24516794/remove-experimental-samples
Oct 21, 2026
Merged

shetzel merged 1 commit into
mainfrom
klewis/W-24516794/remove-experimental-samples

Conversation

@klewis-sfdc

@klewis-sfdc klewis-sfdc commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Problem and change

Issue #337 reports that Windows checkout fails while adding the Salesforce plugin marketplace because deeply nested experimental sample paths exceed the default path limit. The partial checkout then causes plugin installation to report that the marketplace was not found.

Remove the two obsolete samples/webapp-template-app-react-sample-b2{e,x}-experimental/ directories (828 files), their root npm dependencies and unused lockfile packages, and their Dependabot entries. This removes every example path reported in #337 and reduces the longest repository-relative path from 202 to 172 characters.

@W-24516794@

Internal precedent and scope

This applies the obsolete experimental portion of the cleanup merged in sf-skills-internal PR #487 (W-23023979), including commit db85c0af7. That PR removed all samples and their maintenance configuration internally. The public publishing workflow only synchronizes skills, builder plugins, and the marketplace manifest, so the sample deletion did not propagate.

The earlier documentation fallback, sf-skills-internal PR #2456, was closed. This change addresses the offending content directly.

The broader deletion needs a consumer migration first: current Vibes React wizard configuration still clones samples/ui-bundle-template-app-react-sample-b2e and samples/ui-bundle-template-app-react-sample-b2x through forcedotcom/afv-library, which redirects to forcedotcom/sf-skills. Keep those directories, their dependencies, sync scripts and workflow. Retain the mobile sample as well; the current v4 wizard removed its tile, but older released clients were not audited.

CLI project-template generation is unaffected by this deletion. The locally inspected @salesforce/plugin-templates versions 56.18.12 and 57.3.0 delegate React project generation to bundled @salesforce/templates scaffolds (reactinternalapp / reactexternalapp). Their source package declarations reference the separate @salesforce/ui-bundle-template-app-react-template-b2e and -b2x packages; neither installed copy references the experimental sample directories removed here. The compatibility risk below concerns the older Vibes sample-app cards, not its CLI-backed project-template flow. This finding is based on installed-package source inspection, not an end-to-end project-generation test.

Known compatibility risk and decision

Some older Agentforce Vibes 3.x releases still clone the experimental directories removed here. Confirmed affected tags include v3.20.0, v3.20.1, v3.22.0 and v3.24.0. Their React sample cards will fail to create a new project after this deletion because they clone repository main and expect those directories to exist. Existing generated projects are unaffected. Vibes PR #1991 changed the wizard to the retained sample paths on March 30; v3.26.0 and current 4.x source use those paths.

How users reach the affected cards (verified in v3.24.0):

  1. Enable salesforce.einsteinForDevelopers.advanced.tdx2026, which defaults to false. Without it, the welcome-page feature does not initialize (source).
  2. Open the Command Palette and run Agentforce: Show Welcome Page.
  3. Select React App. The tile is disabled unless the connected org's WebApplicationSettings.webAppOptIn is enabled (org check).
  4. Under Explore a Sample App, choose Property Management App or Property Prospect and Tenant App, enter a project name/location, and click Create Project. This triggers the GitHub clone that will fail after deletion.

The exposed population therefore requires an affected older build, the welcome-page feature enabled, an org with web-app opt-in enabled, and use of one of these sample cards. The overall telemetry count below does not measure this intersection. These visibility conditions were verified in v3.24.0; they have not been individually audited across every affected release.

Decision: accept this compatibility risk and proceed with removal. I confirmed via telemetry that approximately 5,000 users used the Agentforce Vibes plugin during the preceding two weeks. That figure does not establish how many users rely on the affected React sample cards. Based on Mohan's minimum-version enforcement changes, I infer that support is intended to focus on more recent 4.x releases; I have not confirmed a formal support policy. Preserving the obsolete copies would retain the Windows marketplace checkout failure reported in #337. I am prioritizing working Windows marketplace registration and plugin installation and accepting the older-client sample-card breakage. Affected users should upgrade to a current 4.x release.

The public minimum-version policy requires 4.39.0 as verified October 19. Its enforcement was introduced in Vibes PR #2971, included in v4.36.0, so it does not retroactively block the affected 3.x clients. This is an accepted retirement of compatibility, not a claim that those clients cannot run.

Validation

  • Offline npm ci --dry-run --ignore-scripts --offline --no-audit --no-fund passes.
  • npm pack --dry-run --ignore-scripts --json passes; samples are excluded from the npm package.
  • Dependency and lockfile declarations agree; 12 obsolete lockfile packages removed, with every retained dependency record unchanged.
  • Published skills, plugins, marketplace metadata, retained samples, and sync scripts are unchanged. Both current wizard source directories remain present.
  • Path audit: using the marketplace checkout prefix from Deeply-nested sample paths break git clone / plugin install on Windows (Filename too long) #337 and a 20-character username, paths at or above 260 characters decrease from 45 to zero; the longest becomes 253 characters.
  • git diff --check passes.

Windows execution remains to be verified before closing #337. Long usernames or deeper checkout roots can still exceed the limit; a 27-character username reaches 260 characters with the longest retained path. This PR removes the reported obsolete paths without claiming universal long-path compatibility.

@klewis-sfdc
klewis-sfdc marked this pull request as ready for review October 19, 2026 22:34

@shetzel shetzel left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: looks good — no blocking issues.

Verified:

  • Scope matches the description: the two samples/webapp-template-app-react-sample-b2{e,x}-experimental/ trees are deleted, plus their package.json devDependencies, the matching Dependabot entries, and the lockfile packages that only they pulled in.
  • No dangling references. On the PR branch, a grep for sample-b2[ex]-experimental / webapp-experimental finds nothing outside the lockfile, and the lockfile has zero remaining experimental entries.
  • The retained ui-bundle-template-app-react-sample-b2e/b2x dependencies, the Dependabot ignore entries, the sync scripts, and the mobile sample are untouched, which is consistent with the Vibes wizard still cloning those paths.
  • package.json, package-lock.json and dependabot.yml changes are minimal and consistent with each other.

Non-blocking notes:

  • The accepted breakage for Vibes 3.x clients (v3.20–v3.24) is well documented. It would help to link this PR or #337 in the Vibes repo so support can point affected users to an upgrade.
  • As the description says, Windows behavior is unverified. Someone should confirm marketplace add on Windows before closing #337, since long usernames can still hit the 260-character limit.
  • The lockfile drops axios, follow-redirects, and proxy-from-env. Dependabot still ignores axios and fast-uri. This is harmless, but those ignores may now be stale.

@klewis-sfdc

Copy link
Copy Markdown
Contributor Author

FYI I checked in with the AFV team and they are OK with this PR, as they are no longer supporting the older AFV versions that reference these samples as noted above in the PR description.

@klewis-sfdc
klewis-sfdc requested review from h-kapoor-sfdc and removed request for HarshitaSinghSFDC October 20, 2026 23:36
@shetzel
shetzel merged commit 72e1691 into main Oct 21, 2026
14 of 18 checks passed
@shetzel
shetzel deleted the klewis/W-24516794/remove-experimental-samples branch October 21, 2026 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants