Skip to content

fix: stabilize app store install lifecycle - #170

Draft
bugkeep wants to merge 1 commit into
masterfrom
fix/app-store-install-lifecycle
Draft

fix: stabilize app store install lifecycle#170
bugkeep wants to merge 1 commit into
masterfrom
fix/app-store-install-lifecycle

Conversation

@bugkeep

@bugkeep bugkeep commented Jul 26, 2026

Copy link
Copy Markdown
Owner

What this fixes

App Store Helm installs could fail nondeterministically in two ways:

  • the namespace request could finish after the user edited the form and overwrite the requested release name, so the install and later cleanup referred to different releases
  • OCI tag listing or chart pulling could remain pending before Helm's install timeout started because the registry client used background request contexts and the shared proxy client had no timeout

A stalled SSE connection could also leave the modal waiting even though the persisted installation task continued in the background.

What changed

  • initialize release name and version synchronously, only fill an untouched empty namespace, and ignore responses from a previously opened chart
  • apply bounded contexts to classic and OCI chart loading, Kubernetes capability discovery, compatibility checks, and the complete detached install operation
  • after 30 seconds without stream activity, close only the browser stream and resume status tracking through the existing persisted task API
  • make the App Store E2E helper assert the actual submitted release identity and clean up that identity; a release that was never created is treated as an idempotent cleanup result

Compatibility

There are no API payload, database schema, configuration, workflow, or cluster resource ownership changes. Browser disconnects still do not cancel submitted installs. Chart loading now fails explicitly after two minutes instead of waiting indefinitely.

Validation

  • go test ./...
  • go vet ./...
  • go build ./...
  • 12 Helm modal, task, and stream Jest tests
  • targeted ESLint and UI selector check
  • front-end production build
  • blocking-transport checks verified OCI pulls and Kubernetes capability discovery stop at their context deadlines

@bugkeep
bugkeep force-pushed the fix/app-store-install-lifecycle branch from ac9a9e0 to b2b8da9 Compare July 26, 2026 11:52
@bugkeep
bugkeep changed the base branch from feat/app-access-data-plane-v2 to master July 26, 2026 11:53
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.

1 participant