Repository navigation
fix: remove obsolete experimental samples blocking Windows checkout @W-24516794@ - #395
Merged
Merged
Conversation
klewis-sfdc
marked this pull request as ready for review
October 19, 2026 22:34
klewis-sfdc
requested review from
HarshitaSinghSFDC,
hsinghbisht-sfdc and
shetzel
October 19, 2026 22:35
shetzel
reviewed
Oct 19, 2026
shetzel
left a comment
Contributor
There was a problem hiding this comment.
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 theirpackage.jsondevDependencies, 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-experimentalfinds nothing outside the lockfile, and the lockfile has zero remainingexperimentalentries. - The retained
ui-bundle-template-app-react-sample-b2e/b2xdependencies, 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.jsonanddependabot.ymlchanges 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, andproxy-from-env. Dependabot still ignoresaxiosandfast-uri. This is harmless, but those ignores may now be stale.
shetzel
approved these changes
Oct 20, 2026
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
requested review from
h-kapoor-sfdc
and removed request for
HarshitaSinghSFDC
October 20, 2026 23:36
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.
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-b2eandsamples/ui-bundle-template-app-react-sample-b2xthroughforcedotcom/afv-library, which redirects toforcedotcom/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-templatesversions 56.18.12 and 57.3.0 delegate React project generation to bundled@salesforce/templatesscaffolds (reactinternalapp/reactexternalapp). Their source package declarations reference the separate@salesforce/ui-bundle-template-app-react-template-b2eand-b2xpackages; 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):
salesforce.einsteinForDevelopers.advanced.tdx2026, which defaults tofalse. Without it, the welcome-page feature does not initialize (source).WebApplicationSettings.webAppOptInis enabled (org check).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
npm ci --dry-run --ignore-scripts --offline --no-audit --no-fundpasses.npm pack --dry-run --ignore-scripts --jsonpasses; samples are excluded from the npm package.git diff --checkpasses.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.