docs(511): correct the stale "external logo URL can't drive the bug" claim + document the new limits #522
Closed
timothy
wants to merge 1 commits from
docs/511-external-logo-limits into main
pull from: docs/511-external-logo-limits
merge into: :main
:main
:renovate/meziantou.analyzer-3.x
:release/v26.15.0-notes
:renovate/lucene.net
:renovate/cliwrap-3.x
:issue-806-guard-populations
:renovate/dotnet-monorepo
:scratch/767b-poisoned
:scratch/767b-control
:release/v26.14.0-notes
:release/v26.14.0
:renovate/sqlitepclraw.bundle_e_sqlite3-3.x
:docs/510-skill-logo-bug-policy
:fix/510-watermark-resolution-policy
:fix/629-verdict-classifier-falseopens
:fix/609-decisions-edit-token-scope
:issue-135-clear-to-none
:release/v26.12.0-notes
:fix/409b-lastscan-api-parity
:fix/401-updatechannel-mirror-422
:fix/327-playlist-rename-validation
:fix/410-scancancel-log-level
:fix/409-447-librariesscreen-neverscanned
:fix/338-zap-exit-code
:fix/367-plex-budget-message
:fix/310-debom-legacy-cs
:ci/604-lane-rebalance
:feat/388-design-mirror
:feat/247-test-ownership
:feat/247-primary-action
:feat/357-player-owned-playback
:feat/357-jellyfin-plugin-poc
:fix/289-mcp-hardening
:issue58-mcp
:feat/244-channels-extract
:ci/auto-bump-prod-compose
:feat/multi-rerun-collections-api
:feat/collections-api
:feat/quick-wins
:feat/185-docs-part2
:feat/140-collections-screen
:feat/146-channel-edit
:feat/147-classic-ui-link
:issue22-renovate-dashboard
:feat/91-cutover
:feat/63-composite-create
:feat/65-library-browse
:feat/85-epg
:feat/86-schedule-editor
:feat/109-dashboard-data
:feat/99-session-tracking
:fix/dockerfile-node-tag
:feat/59-spa-foundation
:docs/59-ui-redesign-brief
:feat/102-json-guide
:feat/111-schedule-durations
:feat/104-artwork-upload
:feat/103-media-sources-api
:feat/playouts-read-api
:feat/108-health-api
:feat/105-picker-list-endpoints
:issue-97-channel-state-api
:issue42-jellyfin-musicvideos
:issue46-rest-api-error-contract
:dependabot/nuget/ErsatzTV.FFmpeg.Tests/multi-d307a2e06f
:qsv-improvements
:hdr-vulkan-cuda-test
No Reviewers
Labels
Clear labels
ad-hoc
api
bug
ci-cd
content
dependencies
enhancement
frontend
in-progress
jellyfin
parked
priority: high
priority: low
priority: medium
review
security
One-off / ad-hoc work not tracked by a dedicated issue
REST API / HTTP endpoints
Something isn't working
Build, test, deploy pipeline
Channel content / schedules / playlists
Dependency updates (Renovate)
New feature or improvement
ChicoryTV React SPA frontend
Claimed by an active session — do not pick up
Jellyfin tuner / IPTV integration
Excluded from automatic queue pickup; work only when explicitly selected
Adversarial review finding
Security / vulnerability fix
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: timothy/ersatztv#522
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
refs #511, #502
Follow-up to #518, found while running the close-out sweep for #511 — by grepping the subject ("external logo URL") rather than reading my own diff.
The stale claim
docs/channels.mdand the channel editor both still documented pre-#502 behavior as a current limitation:#502 fixed exactly that. The user-visible half was worse than the doc:
ChannelEditScreentold operators "An external logo URL cannot be used as the on-screen bug — upload an image instead." for something that works today.Copy-only change — no test pinned that string, and the toggle was never actually
disabledfor external URLs (onlyhlsDirect || logoBugTarget == null). The preview is still suppressed for external URLs, which is correct (nothing local to render), so the new text explains why instead of claiming the feature doesn't work.Also documents #511's limits where an operator would look
10s deadline (headers and body), 10 MiB wire cap, 3 redirects, 50 MP total decode (
w × h × frames), 600 frames, 200 MP retained after scaling — plus the practical effects: a full-1080p animated overlay is limited to ~96 frames (~3.2s at 30fps), an 8K still (~33 MP) is fine, and busting a limit disables the bug, never the stream.Verification
npm run typecheckclean;ChannelEditScreen.test.tsx19/19 pass.Done-when
docs/channels.mdDocs + one-line copy change with no server-state effect, so per the review skip rubric in the handoff lore I'm treating an independent review pass as skippable here and stating that explicitly rather than silently. Happy to run one if you'd prefer.
Closing unmerged — superseded by #525 (external-logo download-on-save).
This PR corrected a stale claim ("an external URL can't drive the on-screen bug") and documented render-time fetching. But #525 changes that behavior again: an external URL will be downloaded and cached at save time, so it does get a preview and is not fetched at render time — which makes this PR's "fetched at render time, so no preview" wording wrong the moment #525 lands. Merging it would ship copy with a ~day of life.
The correct doc/copy is folded into #525's plan (Tasks 9 + 10). The valid core of this PR — that #502 already fixed the "URLs can't drive the bug" limitation — is carried forward there. Branch
docs/511-external-logo-limitscan be deleted.Pull request closed