Skip to content

feat: add artwork cards and redesign settings - #1183

Merged
rowkav09 merged 10 commits into
mainfrom
feat/cards-settings-design
Oct 11, 2026
Merged

rowkav09 merged 10 commits into
mainfrom
feat/cards-settings-design

Conversation

@rowkav09

@rowkav09 rowkav09 commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Cards now offer six styles, including artwork-led Studio, Editorial and Hi-Fi designs, and Settings presents a visual picker with live covers, clearer sections and advanced controls that stay out of the way until needed. Hosted README cards can include album art and posters through a separate, explicit cover-sharing switch.

  • Keep Classic, Paper and text-only Compact. Studio adds full-bleed artwork with a cinema shade and framed cover; Editorial uses a printed sleeve, serif title and perforated seam; Hi-Fi uses a record display and amber segmented timeline. Long titles wrap in the artwork-led styles, including reordered fields.
  • Share presets between rendering, validation and Settings. Saved overrides remain supported; copied hosted links include artwork layout as well as the selected style.
  • Use the actual current cover in the Settings preview. Idle previews and picker thumbnails use sample artwork. Preserve poster proportions when resolving server artwork; also support sanitized Spotify CDN covers locally.
  • Add Include cover art under Hosted Card Settings, off by default and on upgrades. Fetch, sanitize and resize images on the PC; upload only a bounded PNG (48 KiB, at most 256 × 256), never source URLs, credentials or provider references. The hosted service validates the optional image field, retains it through state selection, embeds it in SVG and expires it with playback state. Text-only clients remain supported.
  • Apply hidden artwork, redacted titles, suppressed media types and private mode before upload. Reapply current privacy settings after registration and before retries, so a pending image cannot bypass a Settings change. Missing or broken art falls back to the media text.
  • Reorganize Settings with section navigation, a configuration/log split and responsive layout. Refresh README examples, customization, settings and privacy documentation to describe the shipped behavior.

Validation:

  • Full test suite, syntax checks and build pass; platform-specific skips remain unchanged.
  • Simulated music, films and TV through the running app, preview and hosted renderer: 162 playback combinations across six styles, three widths and playing/paused/idle, plus 72 privacy cases and missing/broken artwork.
  • Real hosted HTTP upload → ingest validation → stored state → public SVG, checked with artwork for music/movie/TV at all three widths in every style. Raster decoding succeeds; image privacy, malformed/oversized payload rejection and sharing changes during registration are covered.
  • Browser checks: actual album covers and posters in the rendered cards; choose Hi-Fi, save, reload and confirm the cover loads; cover-sharing preference saves and reloads independently of enabling uploads. Desktop navigation and the earlier 390px responsive checks pass.
  • Generated renderer fixtures and documentation examples refreshed.

Deployment: deploy the updated hosted service before enabling image sharing from the updated desktop app. Older hosted versions reject the optional image field. This PR does not deploy production or exercise real user sign-ins, media-server accounts or Discord desktop integration.

@codecov

codecov Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 99.74937% with 1 line in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/hosted-artwork-format.js 96.55% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Comment thread test/card-media-simulation.test.js Fixed
@rowkav09 rowkav09 changed the title feat: redesign card styles and settings feat: add artwork cards and redesign settings Oct 11, 2026
Comment thread src/card.js Fixed
Comment thread test/hosted-artwork.test.js Fixed
Comment thread src/card.js Fixed
Comment thread test/card-media-simulation.test.js Fixed
@rowkav09
rowkav09 marked this pull request as ready for review October 11, 2026 12:23
@rowkav09
rowkav09 merged commit d7d16c2 into main Oct 11, 2026
32 of 33 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in nowplaying Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants