Skip to content

Enable theming and install font - #10

Merged
ongk merged 2 commits into
masterfrom
enable-theming-and-install-font
Jan 9, 2016
Merged

Enable theming and install font#10
ongk merged 2 commits into
masterfrom
enable-theming-and-install-font

Conversation

@sean-sq-chen

Copy link
Copy Markdown
Contributor

No description provided.

ongk added a commit that referenced this pull request Jan 9, 2016
@ongk
ongk merged commit d3f3f8c into master Jan 9, 2016
@sean-sq-chen
sean-sq-chen deleted the enable-theming-and-install-font branch January 9, 2016 00:46
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
irfanhabib pushed a commit that referenced this pull request Mar 27, 2018
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.
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.
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.

3 participants