Skip to content

feat(web): web app manifest + PNG icons (installable PWA) - #205

Merged
sh1pt-actions-fleet[bot] merged 1 commit into
masterfrom
feat/pwa-manifest
Nov 2, 2026
Merged

sh1pt-actions-fleet[bot] merged 1 commit into
masterfrom
feat/pwa-manifest

Conversation

@sh1pt-actions-fleet

Copy link
Copy Markdown
Contributor

Adds app/manifest.ts (Next serves it at /manifest.webmanifest and injects <link rel="manifest"> into every page): name, short_name, start_url /, scope /, display standalone, theme/background #08080c, 192 and 512 PNG icons rendered from app/icon.svg plus a full-bleed maskable pair in public/icons/. Sets viewport themeColor. Needed for the pwamart.com inspector (manifest, name, icon192, icon512, display).

Tests: typecheck, vitest (241, incl. new lib/manifest.test.ts checking icon files and PNG dimensions), next build lists /manifest.webmanifest as static.

🤖 Generated with Claude Code

… PWA

app/manifest.ts is served by Next at /manifest.webmanifest and linked from
every page (start_url /, standalone, #08080c). 192/512 PNGs rendered from
app/icon.svg, plus a full-bleed maskable pair. viewport themeColor set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

ThreatCrush Security Scan

18 finding(s)

MEDIUM: 16 | LOW: 2

Severity Rule Location
MEDIUM js-unescaped-html-sink apps/web/app/about/page.tsx:40
MEDIUM sql-template-interpolation apps/web/app/api/admin/media/[id]/route.ts:30
MEDIUM sql-template-interpolation apps/web/app/api/admin/tags/[id]/route.ts:22
MEDIUM sql-template-interpolation apps/web/app/api/admin/users/[id]/route.ts:23
MEDIUM js-unescaped-html-sink apps/web/app/layout.tsx:60
MEDIUM js-unescaped-html-sink apps/web/app/library/[slug]/page.tsx:36
MEDIUM js-unescaped-html-sink apps/web/app/pricing/page.tsx:17
MEDIUM js-unescaped-html-sink apps/web/components/NewsletterComposer.tsx:87
MEDIUM js-open-redirect apps/web/components/PaymentUI.tsx:46
MEDIUM js-open-redirect apps/web/components/SponsorUI.tsx:44
MEDIUM sql-template-interpolation apps/web/lib/library-grants.ts:74
MEDIUM sql-template-interpolation apps/web/lib/library.ts:83
MEDIUM sql-template-interpolation apps/web/lib/library.ts:86
MEDIUM sql-template-interpolation apps/web/lib/library.ts:98
MEDIUM sql-template-interpolation apps/web/lib/queries.ts:169
MEDIUM sql-template-interpolation apps/web/lib/rewards.ts:198
LOW sql-template-interpolation apps/web/lib/rewards.test.ts:86
LOW js-unescaped-html-sink docs/design_handoff_aiornot_vote/image-slot.js:455

Snippets are redacted; ThreatCrush never prints matched credential material.

@sh1pt-actions-fleet
sh1pt-actions-fleet Bot merged commit 2fd6db3 into master Nov 2, 2026
7 checks passed
@sh1pt-actions-fleet
sh1pt-actions-fleet Bot deleted the feat/pwa-manifest branch November 2, 2026 08:55
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.

1 participant