Enable theming and install font - #10
Merged
Merged
Conversation
irfanhabib
pushed a commit
that referenced
this pull request
Jun 1, 2017
Merging this as the change is super simple,, and now necessary for any other work on the proxy.
irfanhabib
pushed a commit
that referenced
this pull request
Oct 31, 2017
5 tasks
norman-abramovitz
pushed a commit
that referenced
this pull request
May 18, 2026
The invite-users-create step previously read org$ and space$ from
cfEntityCatalog.{org,space}.store.getEntityService and projected the
resulting APIResource<IOrganization|ISpace> through .entity.name in
the template. Both reads now go through the signal-native data
registries (OrgDataRegistry / SpaceDataRegistry) — the same lifecycle
that the org/space-detail trees use.
- ngOnInit acquires an OrgDataService (always) and a SpaceDataService
(only when the route has a spaceGuid), fires their load() once, and
exposes computed orgName() / spaceName() signals reading .name off
the cached signal.
- ngOnDestroy releases the registry refs so the cache eviction policy
works the same as on the detail pages.
- Template switches from {{(org$|async)?.entity.name}} to {{orgName()}}
(and the same for the space span); ChangeDetectionStrategy.OnPush
stays — signal reads schedule the view automatically.
- Spec drops the populate-test-org / populate-test-space ngrx store
helpers (no longer relevant) and adds an HttpTestingController drain
in afterEach to swallow the OrgDataService/SpaceDataService load()
HTTP fanouts that ngOnInit fires.
Track A close-out series: A.#10 (invite-users-create).
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
AppStatsDataService + AppStatsDataRegistry mirror the Org/Space
registry pattern: per (cnsi, appGuid) cached service exposing
{ stats, running, isLoading, error } signals and a load() that
fetches /pp/v1/cf/app-stats/:cnsi/:appGuid with in-flight dedup.
Migrated consumers off cfEntityCatalog.appStats.store.getPaginationMonitor:
- running-instances.component (was the only consumer reading currentPage$
directly) flips to registry.acquire().running()
- compact-app-card, card-app, table-cell-app-status drop the static
ApplicationService.getApplicationState bridge and compose state via
appStateService.get(entity, stats.stats()) over the same registry
- Framework consumers (app-meta-card.status$, app-application-state.state)
still want Observable<...>, so the card-app + table-cell wrap their
signal source with toObservable; those framework inputs are debt for
a separate wave
application.service.ts loses the static getApplicationState (5 lines
of ngrx pagination wiring) — first of the file's 6 cfEntityCatalog
sites to retire.
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
… edit
AppDetailDataService grows _updating + update(): wraps PATCH
/pp/v1/cf/apps/:cnsi/:guid (native multi-field handler) and flips
the updating signal for the duration. application-tabs-base reads
that signal via toObservable for its summary-dim state; edit-application
calls detail.update() for the name/enable_ssh PATCH and
detail.refresh('stats') after a scale.
application.service.ts loses every cfEntityCatalog reference:
- entityService / appSummaryEntityService (dead — variables tab never
consumed them; tabs-base now watches detail.errors().app via effect
and detail.updating for busy state)
- appEnvVars + getApplicationEnvVarsMonitor (dead — no external consumers)
- updateApplication (replaced by detail.update on the one caller)
Tabs-base also loses the post-delete redirect branch — the actions
service owns its own router.navigate('/applications') after a successful
delete now; the subscription was carrying a duplicate path.
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
AppStatsDataService grows a refresh() that clears lastFetched and
re-fetches /pp/v1/cf/app-stats/:cnsi/:appGuid. List cards holding
a cached service instance see the new running count on the next
signal read.
application-actions.service drops every cfEntityCatalog reference:
- cfEntityCatalog.application.api.get post-action (the app entity
refresh is already covered by dataService.refresh('app') one line
below — the ngrx call was zombie state)
- cfEntityCatalog.appStats.api.getMultiple (replaced by
statsRegistry.acquire().refresh() — the new signal-native source
is what running-instances cards now consume)
- cfEntityCatalog.appStats.actions.getMultiple + ResetPagination
dispatch on stop (same invalidation intent, no ngrx state to reset)
Store and CFAppState imports go with them; the service is now
pure signal-native and HTTP-via-CfAppsSignalConfigService.
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
Drops the legacy EntityMonitor / entityRequest$.subscribe + redirect
pattern. fetchingApplicationData$ flips to toObservable(loading().app)
straight off AppDetailDataService; an effect watches errors().app and
navigates back to the app wall on fetch failure (replaces the
finishedFetchingApplication tap that the old monitor drove).
cfEntityCatalog.application.api.get pre-load swaps to
dataService.refresh('app') — same intent (force the wizard to render
against fresh state), now through the signal-native fetch path.
appMonitor/getApplicationMonitor/redirectToAppWall are gone (private
to this file, no external consumers). The component implements
OnDestroy now to clean up the effect ref.
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
ApplicationEnvVarsHelper sheds createEnvVarsObs (its ngrx pagination
wrapper around appEnvVar — the only consumer was the redeploy
preseed in deploy-options-step). FetchStratosProject is now a pure
parser that takes the V3 `environment` record directly; both call
sites (this helper and AppDetailDataService.stratosProject) already
have a Record<string,string> in hand.
deploy-options-step's redeploy preseed flips to a direct
http.get<StEnvVars>('/pp/v1/cf/apps/:cnsi/:app/env'); the env vars
arrive on the wire as the V3-native shape, and we hand environment
to the parser. This kills one of three cfEntityCatalog refs on
that file; the remaining two (domains pagination + stacks
pagination) belong to a later wave.
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
Strips 6 cfEntityCatalog refs: - The four post-deploy pre-fetches (app wall getMultiple, two env-vars getMultiple, application.api.get on goToAppSummary) are gone. They were warming legacy ngrx state; AppDetailDataService and CfAppsSignalConfigService both fetch fresh on mount, so the destination page is unaffected. - The find-by-name fallback (used when the deploy backend doesn't echo APP_GUID_NOTIFY, ie. every first-time deploy) swaps the legacy paginated entities$ walk for a single GET /pp/v1/cf/apps/:cnsi?space_guids=:space and a client-side filter for the just-deployed name. Imports of cfEntityCatalog, CfAppsDataSource, createEntityRelationPaginationKey, and spaceEntityType drop with them.
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
Drop all 5 cfEntityCatalog refs in the Create Application wizard finish step. createApp/createRoute/associateRoute now post to the native V3 handlers directly; private-domains lookup hits /pp/v1/cf/org/:cnsi/:org/private_domains. Template updated for V3 flat StDomain shape (domain.guid / domain.name). Drops the post-create getApplicationAction dispatch — AppDetailDataService fetches fresh on summary mount.
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
Drop the last three cfEntityCatalog references in features/applications/. deploy-application-options-step now reads domains and stacks via direct HTTP against the native handlers (/pp/v1/cf/org/:cnsi/:org/private_domains, /pp/v1/cf/stacks/:cnsi). TCP-route filter switched from V2 router_group_type sentinel to V3 supportedProtocols. Template moved to flat St* shapes (domain.name / stack.name, no .entity wrapper). deploy-application-steps.types feature-flag prefetch swaps the ngrx pagination service for a one-shot GET /pp/v1/cf/feature_flags/:cnsi — same gating role, single HTTP call.
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
Replace cfEntityCatalog.appStats.api.getMultiple with AppStatsDataRegistry.acquire(endpoint, appGuid).load() in the home page Recent Apps card. Registry (shipped in A.#10 W1) handles per-(cnsi, appGuid) caching and HTTP drain, so the card-side dedupe Set still gates against re-fires across renders.
nabramovitz
referenced
this pull request
in nabramovitz/stratos
May 19, 2026
Gate goes fully green for the first time since A.#10 W1. Test count flips from 4 failed / 8 tests failed / 26 errors to 0 failed / 2285 passed / 8 skipped. Build clean. Go tests green. Spec orphan sweep ----------------- - application.service.spec: delete the two tests asserting the removed entityService accessor + updateApplication method. Both were thin passthroughs to cfEntityCatalog primitives that no longer exist; the signal-native replacements live on AppDetailDataService (.app() / .update()) and are covered by app-detail-data.service.spec. - application-delete.component.spec: add an AppDetailDataService stub to the TestBed providers. The component constructor calls this.dataService.refresh('app') and the prior spec didn't provide the service, so every test errored at component construction with "this.dataService.refresh is not a function". Latent W1 runtime bug (NG0203) ------------------------------ - card-app.component + table-cell-app-status.component: the W1 strip introduced toObservable() calls inside ngOnInit, which is NOT an injection context. These would throw at runtime on every app-list render with "toObservable() can only be used within an injection context". Fix: capture Injector via inject() at field init time and pass { injector: this.injector } to toObservable. Latent W1 type bug ------------------ - application-state.service: get/getCounts/getCount/ getInstanceState took appInstances: AppStat[] | null but the W1 callers (card-app, table-cell-app-status, compact-app-card) pass StAppStat[] from the new AppStatsDataService. The functions only read .state per instance, so widen the type to ReadonlyArray<{ state: string }> — a structural duck type that both AppStat and StAppStat satisfy. Drop the now-unused AppStat import. - app-stats-data.service: map(() => void 0) lambda lacked an explicit return type and tripped angular-compiler's strict noImplicitAny. Annotate as map((): void => undefined). Latent W12 Go build bug ----------------------- - native_service_offerings_reads: the bindable mapping introduced in W12 read o.Bindable, but the capi v3 ServiceOffering type carries bindable on BrokerCatalog.Features.Bindable (it's a catalog feature flag, not a top-level offering attribute). The frontend field name and shape are unchanged. All four are pre-existing breakages from W1/W12 that the vitest-fails-then-build-skipped chain masked on prior gates.
6 tasks
norman-abramovitz
pushed a commit
that referenced
this pull request
Jun 15, 2026
Repoints the fivetwenty-io/capi replace directive from the v3.216.8-typed-includes.2 pre-release to v3.222.1-typed-includes.1. The new tag is the typed-includes wave rebased onto upstream's merged async/quota fixes (#7/#9/#10), verified-compatible with CF API v3.222.0 via the capi-contract audit. It is a pre-release of v3.222.1 so that the eventual upstream v3.222.1 release (requested in capi PR #11) cleanly supersedes it and the replace directive can retire. Behavior-equivalent dependency swap; jetstream builds clean.
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.
No description provided.