Bug: wrong logo assets — JPEG instead of transparent PNGs from playground #107

Closed
opened 2026-03-27 06:04:10 +00:00 by forgejo_admin · 3 comments

Type

Bug

Lineage

Regression from PR #99 — agent promotion replaced playground local assets with wrong MinIO URLs.

Repo

forgejo_admin/westside-app

What Broke

Both nav logo and hero logo use minio-api.../branding/logo.jpeg (3.6KB compressed JPEG, no transparency). The playground designed these with transparent PNGs — two different images for two different contexts.

Repro Steps

  1. Navigate to https://westsidekingsandqueens.tail5b443a.ts.net/
  2. Observe: hero logo is a tiny compressed JPEG, not the full transparent PNG from the playground
  3. Compare to https://playground.tail5b443a.ts.net/westside/ — playground uses correct assets

Expected Behavior

Element Current (wrong) Expected (playground) MinIO equivalent
Nav logo branding/logo.jpeg (3.6KB JPEG) assets/images/logo.png (10KB PNG) branding/logo-transparent.png (9.9KB)
Hero logo branding/logo.jpeg (3.6KB JPEG) assets/images/logo-hero.png (114KB PNG) branding/logo-hero-transparent.png (111KB)

Environment

  • Cluster/namespace: prod / westsidekingsandqueens
  • Service version/commit: SHA 4102552

File Targets

  • src/routes/(public)/+layout.svelte line 43: nav logo src
  • src/routes/(public)/+page.svelte line 9: hero logo src

Fix

# +layout.svelte (nav)
- src="https://minio-api.tail5b443a.ts.net/assets/westside/branding/logo.jpeg"
+ src="https://minio-api.tail5b443a.ts.net/assets/westside/branding/logo-transparent.png"

# +page.svelte (hero)  
- src="https://minio-api.tail5b443a.ts.net/assets/westside/branding/logo.jpeg"
+ src="https://minio-api.tail5b443a.ts.net/assets/westside/branding/logo-hero-transparent.png"

Acceptance Criteria

  • Nav logo uses logo-transparent.png (transparent, matches playground)
  • Hero logo uses logo-hero-transparent.png (large, transparent, matches playground)
  • Visual parity with playground at https://playground.tail5b443a.ts.net/westside/
  • No JPEG compression artifacts on dark background
  • project-westside-basketball
  • PR #99 — source of regression (agent promotion used wrong asset)
### Type Bug ### Lineage Regression from PR #99 — agent promotion replaced playground local assets with wrong MinIO URLs. ### Repo `forgejo_admin/westside-app` ### What Broke Both nav logo and hero logo use `minio-api.../branding/logo.jpeg` (3.6KB compressed JPEG, no transparency). The playground designed these with transparent PNGs — two different images for two different contexts. ### Repro Steps 1. Navigate to https://westsidekingsandqueens.tail5b443a.ts.net/ 2. Observe: hero logo is a tiny compressed JPEG, not the full transparent PNG from the playground 3. Compare to https://playground.tail5b443a.ts.net/westside/ — playground uses correct assets ### Expected Behavior | Element | Current (wrong) | Expected (playground) | MinIO equivalent | |---------|-----------------|----------------------|-----------------| | Nav logo | `branding/logo.jpeg` (3.6KB JPEG) | `assets/images/logo.png` (10KB PNG) | `branding/logo-transparent.png` (9.9KB) | | Hero logo | `branding/logo.jpeg` (3.6KB JPEG) | `assets/images/logo-hero.png` (114KB PNG) | `branding/logo-hero-transparent.png` (111KB) | ### Environment - Cluster/namespace: prod / westsidekingsandqueens - Service version/commit: SHA `4102552` ### File Targets - `src/routes/(public)/+layout.svelte` line 43: nav logo src - `src/routes/(public)/+page.svelte` line 9: hero logo src ### Fix ``` # +layout.svelte (nav) - src="https://minio-api.tail5b443a.ts.net/assets/westside/branding/logo.jpeg" + src="https://minio-api.tail5b443a.ts.net/assets/westside/branding/logo-transparent.png" # +page.svelte (hero) - src="https://minio-api.tail5b443a.ts.net/assets/westside/branding/logo.jpeg" + src="https://minio-api.tail5b443a.ts.net/assets/westside/branding/logo-hero-transparent.png" ``` ### Acceptance Criteria - [ ] Nav logo uses `logo-transparent.png` (transparent, matches playground) - [ ] Hero logo uses `logo-hero-transparent.png` (large, transparent, matches playground) - [ ] Visual parity with playground at https://playground.tail5b443a.ts.net/westside/ - [ ] No JPEG compression artifacts on dark background ### Related - `project-westside-basketball` - PR #99 — source of regression (agent promotion used wrong asset)
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-446-2026-03-26
Blast radius incomplete — branding/logo.jpeg appears in 9 files across the codebase, but only 2 are targeted by this ticket.

  • 7 additional files under (app)/ routes (+layout.svelte, signin, register, forgot-password, reset-password, checkout, jersey) also reference logo.jpeg and are not in scope
  • Either expand file targets to cover all 9 files, or explicitly scope-out the (app)/ routes with a follow-up ticket
  • Add acceptance criterion to verify no remaining logo.jpeg references (if scope expanded) or document the intentional exclusion
## Scope Review: NEEDS_REFINEMENT Review note: `review-446-2026-03-26` Blast radius incomplete — `branding/logo.jpeg` appears in 9 files across the codebase, but only 2 are targeted by this ticket. - 7 additional files under `(app)/` routes (`+layout.svelte`, `signin`, `register`, `forgot-password`, `reset-password`, `checkout`, `jersey`) also reference `logo.jpeg` and are not in scope - Either expand file targets to cover all 9 files, or explicitly scope-out the `(app)/` routes with a follow-up ticket - Add acceptance criterion to verify no remaining `logo.jpeg` references (if scope expanded) or document the intentional exclusion
Author
Owner

Scope Expansion (post ticket review)

Reviewer found branding/logo.jpeg in 9 files, not 2. Expanding scope to cover all.

Updated File Targets

Public routes (original scope):

  • src/routes/(public)/+layout.svelte — nav logo
  • src/routes/(public)/+page.svelte — hero logo

App routes (expanded):

  • src/routes/(app)/+layout.svelte — nav logo
  • src/routes/(app)/signin/+page.svelte
  • src/routes/(app)/register/+page.svelte
  • src/routes/(app)/forgot-password/+page.svelte
  • src/routes/(app)/reset-password/+page.svelte
  • src/routes/(app)/checkout/+page.svelte
  • src/routes/(app)/jersey/+page.svelte

Additional: Coach photo optimization

Replace oversized coach photo src URLs with optimized -800w.jpg copies (already uploaded to MinIO):

Original Optimized copy File
coaches/james-taylor.jpg (490KB) coaches/james-taylor-800w.jpg (52KB) staff/+page.svelte
coaches/ken-seka.png (3.1MB) coaches/ken-seka-800w.jpg (157KB) staff/+page.svelte
coaches/kj-ng.png (2.2MB) coaches/kj-ng-800w.jpg (76KB) staff/+page.svelte
coaches/abbie-sa.jpeg (312KB) coaches/abbie-sa-800w.jpg (123KB) staff/+page.svelte
coaches/marcus.jpg (44KB) Keep original — already small

Updated Acceptance Criteria

  • All 9 files use logo-transparent.png (nav) or logo-hero-transparent.png (hero)
  • Staff page uses -800w.jpg optimized coach photos
  • Total staff page payload drops from ~6MB to ~500KB
  • Visual parity with playground
## Scope Expansion (post ticket review) Reviewer found `branding/logo.jpeg` in **9 files**, not 2. Expanding scope to cover all. ### Updated File Targets **Public routes (original scope):** - `src/routes/(public)/+layout.svelte` — nav logo - `src/routes/(public)/+page.svelte` — hero logo **App routes (expanded):** - `src/routes/(app)/+layout.svelte` — nav logo - `src/routes/(app)/signin/+page.svelte` - `src/routes/(app)/register/+page.svelte` - `src/routes/(app)/forgot-password/+page.svelte` - `src/routes/(app)/reset-password/+page.svelte` - `src/routes/(app)/checkout/+page.svelte` - `src/routes/(app)/jersey/+page.svelte` ### Additional: Coach photo optimization Replace oversized coach photo `src` URLs with optimized `-800w.jpg` copies (already uploaded to MinIO): | Original | Optimized copy | File | |----------|---------------|------| | `coaches/james-taylor.jpg` (490KB) | `coaches/james-taylor-800w.jpg` (52KB) | `staff/+page.svelte` | | `coaches/ken-seka.png` (3.1MB) | `coaches/ken-seka-800w.jpg` (157KB) | `staff/+page.svelte` | | `coaches/kj-ng.png` (2.2MB) | `coaches/kj-ng-800w.jpg` (76KB) | `staff/+page.svelte` | | `coaches/abbie-sa.jpeg` (312KB) | `coaches/abbie-sa-800w.jpg` (123KB) | `staff/+page.svelte` | | `coaches/marcus.jpg` (44KB) | Keep original — already small | — | ### Updated Acceptance Criteria - [ ] All 9 files use `logo-transparent.png` (nav) or `logo-hero-transparent.png` (hero) - [ ] Staff page uses `-800w.jpg` optimized coach photos - [ ] Total staff page payload drops from ~6MB to ~500KB - [ ] Visual parity with playground
Author
Owner

Scope Review: READY

Review note: review-446-2026-03-26-v2
Re-review after scope expansion — all 9 logo.jpeg file targets verified at exact line numbers, all 6 MinIO replacement assets (2 logos + 4 coach photos) confirmed HTTP 200, acceptance criteria are testable, no blockers found. Ticket is ready for next_up.

## Scope Review: READY Review note: `review-446-2026-03-26-v2` Re-review after scope expansion — all 9 logo.jpeg file targets verified at exact line numbers, all 6 MinIO replacement assets (2 logos + 4 coach photos) confirmed HTTP 200, acceptance criteria are testable, no blockers found. Ticket is ready for `next_up`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/westside-landing#107
No description provided.