Skip to content

[TS-3696] Use CDN image assets#2143

Merged
ethangreen-dev merged 6 commits into
ecosystem-fetchfrom
cdn-assets
May 15, 2026
Merged

[TS-3696] Use CDN image assets#2143
ethangreen-dev merged 6 commits into
ecosystem-fetchfrom
cdn-assets

Conversation

@ethangreen-dev
Copy link
Copy Markdown
Collaborator

@ethangreen-dev ethangreen-dev commented May 4, 2026

This is basically a four-step approach. The provider:

  1. Checks to see if the images are bundled.
  2. Checks to see if an instance of the schema is being served on localhost:1337
  3. Checks to see if any images have been cached locally.
  4. Retrieves the image from the CDN.

This PR has a soft dependency on thunderstore-io/ecosystem-schema#330. I recommend cloning that specific branch to test the localhost functionality.

It is, however, hard blocked by thunderstore-io/ecosystem-schema#320

My big concern at the moment are to do with race conditions on startup. I didnt see anything strange from my own testing, but there's likely an edge case where the community list renders before image assets have been acquired. Not super experienced with vue so I'm unsure. Will perform more testing later.

And about the new assets - if needed I can move these to a separate PR.

@ethangreen-dev ethangreen-dev changed the title Cdn assets [TS-3696] Use CDN image assets May 4, 2026
@ethangreen-dev ethangreen-dev marked this pull request as ready for review May 4, 2026 02:53
Comment thread src/providers/generic/image/GameImageProvider.ts Outdated
Comment thread src/providers/generic/image/GameImageProvider.ts
Comment thread src/providers/generic/connection/CdnProvider.ts Outdated
@ethangreen-dev ethangreen-dev requested a review from ebkr May 6, 2026 08:01
Comment thread src/components/composables/GameImageComposable.ts Outdated
Comment thread src/providers/generic/image/GameImageProvider.ts Outdated
Comment thread src/providers/generic/image/GameImageProvider.ts Outdated
Comment thread src/providers/generic/image/GameImageProvider.ts Outdated
Comment thread src/providers/generic/image/GameImageProvider.ts Outdated
Comment thread src/providers/generic/image/GameImageProvider.ts Outdated
Comment thread src/providers/generic/image/GameImageProvider.ts Outdated
Comment thread src/providers/generic/image/GameImageProvider.ts Outdated
Comment thread src/components/game-selection/GameSelectionCard.vue Outdated
Comment thread src/providers/generic/image/GameImageProvider.ts Outdated
@ethangreen-dev ethangreen-dev marked this pull request as draft May 13, 2026 12:55
@ethangreen-dev ethangreen-dev marked this pull request as ready for review May 13, 2026 13:00
@ethangreen-dev ethangreen-dev requested a review from ebkr May 13, 2026 14:12
This is basically a four-step approach. The provider:
1. Checks to see if the images are bundled.
2. Checks to see if an instance of the schema is being served on
   localhost:1337
3. Checks to see if any images have been cached locally.
4. Retrieves the image from the CDN.

Notably this also features the fire-once-and-fail-quick CDN check where
it checks the connection once during startup and, if it fails, attempts
steps 1-3 and then uses a default image.
Comment thread quasar.config.ts
@ethangreen-dev ethangreen-dev merged commit 5fe5de3 into ecosystem-fetch May 15, 2026
5 checks passed
@ethangreen-dev ethangreen-dev deleted the cdn-assets branch May 15, 2026 02:31
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