feat: support Instagram, X, and RSS account icons #281

Merged
erik merged 1 commit from feat/task-d2a77247-social-icons into main 2026-09-09 21:37:45 -05:00
Owner

Summary

  • Add shared Instagram and X SVG icons and recognize Instagram, X, and legacy Twitter URLs, including www variants and normalized labels.
  • Preserve existing resolver precedence, RSS recognition, accessible account labels, link destinations, and unsupported-account text fallback.
  • Add focused resolver/SVG tests and public contact list/detail rendering coverage, including all five RSS recognition paths.

Task

Task: task-d2a77247 — Support Instagram, X, and RSS icons in social account links

Verification

  • Regression tests demonstrated missing Instagram/X support before implementation.
  • Focused resolver and public-page tests: 63 passed.
  • ./scripts/pre-pr.sh: passed generated CSS, formatting, linting, typechecking, and all 542 tests across workspaces.
  • npm run build: passed.
  • git diff --check: passed.

Acceptance criteria

  • Instagram account links render an Instagram icon.
  • x.com and twitter.com links render an X icon, including www variants.
  • RSS/Feed labels, feed kind, and RSS/Atom protocol metadata render an RSS icon.
  • Existing icons, accessible labels, destinations, and unsupported-account fallback remain intact.
  • Focused regression tests pass, including RSS coverage.
## Summary - Add shared Instagram and X SVG icons and recognize Instagram, X, and legacy Twitter URLs, including www variants and normalized labels. - Preserve existing resolver precedence, RSS recognition, accessible account labels, link destinations, and unsupported-account text fallback. - Add focused resolver/SVG tests and public contact list/detail rendering coverage, including all five RSS recognition paths. ## Task Task: task-d2a77247 — Support Instagram, X, and RSS icons in social account links ## Verification - Regression tests demonstrated missing Instagram/X support before implementation. - Focused resolver and public-page tests: 63 passed. - `./scripts/pre-pr.sh`: passed generated CSS, formatting, linting, typechecking, and all 542 tests across workspaces. - `npm run build`: passed. - `git diff --check`: passed. ## Acceptance criteria - [x] Instagram account links render an Instagram icon. - [x] x.com and twitter.com links render an X icon, including www variants. - [x] RSS/Feed labels, feed kind, and RSS/Atom protocol metadata render an RSS icon. - [x] Existing icons, accessible labels, destinations, and unsupported-account fallback remain intact. - [x] Focused regression tests pass, including RSS coverage.
feat: render Instagram and X account icons and verify RSS
All checks were successful
CI / build-lint-test (pull_request) Successful in 2m11s
ca4e9b2217
Task: #task-d2a77247
Author
Owner

Independent PR review

  • PR: #281 — open; reviewed commit ca4e9b221757b95324af9f58b8cc4ae223e0e84e.
  • Task: task-d2a77247.
  • Summary: Scoped additions to the shared resolver and SVG renderer provide Instagram and X icons while preserving existing resolver precedence and account-link rendering. Regression coverage exercises resolver behavior, SVG output, and contact list/detail pages.

Acceptance criteria

  • Met — Instagram links render the Instagram SVG; tests cover instagram.com and its www variant.
  • Met — x.com and twitter.com, including both www variants, resolve to and render the X SVG; normalized URL cases are covered.
  • Met — Existing RSS recognition remains intact. Resolver and public-page tests cover RSS/Feed labels, feed kind, and RSS/Atom protocol metadata, with RSS SVG rendering verified.
  • Met — Existing icon branches and link renderer are unchanged. Tests cover existing icons, exact destinations, accessible labels/titles, decorative SVG accessibility, safe link relationships, and unsupported-account text fallback, including lookalike domains.
  • Met — Focused regression tests passed (63, supplied evidence); inspected pre-PR log confirms all 542 tests plus CSS, formatting, lint, and types passed. Inspected build log confirms a successful build. No broad checks rerun.

Quality and verification

  • Scope, maintainability, regression coverage, security impact, and documentation impact reviewed: no actionable concerns; no new dependency, API, or configuration documentation needed.
  • Pipeline: passed — Forgejo Actions task/run #465, commit ca4e9b2217, build-lint-test, confirmed through fj actions.
  • Local evidence: /tmp/slugkit-task-d2a77247-pre-pr.log and /tmp/slugkit-task-d2a77247-build.log.
  • Blocking issues: 0.
  • Warnings: 0.
  • Final verdict: approved — 5/5 criteria met; 0 missing.
  • Next: Await explicit human merge approval. Review only: no files edited, merge performed, or task closed.
### Independent PR review - PR: https://forge.caradoc.com/erik/slugkit/pulls/281 — open; reviewed commit `ca4e9b221757b95324af9f58b8cc4ae223e0e84e`. - Task: `task-d2a77247`. - Summary: Scoped additions to the shared resolver and SVG renderer provide Instagram and X icons while preserving existing resolver precedence and account-link rendering. Regression coverage exercises resolver behavior, SVG output, and contact list/detail pages. ### Acceptance criteria - **Met** — Instagram links render the Instagram SVG; tests cover `instagram.com` and its `www` variant. - **Met** — `x.com` and `twitter.com`, including both `www` variants, resolve to and render the X SVG; normalized URL cases are covered. - **Met** — Existing RSS recognition remains intact. Resolver and public-page tests cover RSS/Feed labels, feed kind, and RSS/Atom protocol metadata, with RSS SVG rendering verified. - **Met** — Existing icon branches and link renderer are unchanged. Tests cover existing icons, exact destinations, accessible labels/titles, decorative SVG accessibility, safe link relationships, and unsupported-account text fallback, including lookalike domains. - **Met** — Focused regression tests passed (63, supplied evidence); inspected pre-PR log confirms all 542 tests plus CSS, formatting, lint, and types passed. Inspected build log confirms a successful build. No broad checks rerun. ### Quality and verification - Scope, maintainability, regression coverage, security impact, and documentation impact reviewed: no actionable concerns; no new dependency, API, or configuration documentation needed. - Pipeline: **passed** — Forgejo Actions task/run #465, commit `ca4e9b2217`, `build-lint-test`, confirmed through `fj actions`. - Local evidence: `/tmp/slugkit-task-d2a77247-pre-pr.log` and `/tmp/slugkit-task-d2a77247-build.log`. - Blocking issues: **0**. - Warnings: **0**. - Final verdict: **approved** — 5/5 criteria met; 0 missing. - Next: Await explicit human merge approval. Review only: no files edited, merge performed, or task closed.
erik merged commit 8b5e461ab5 into main 2026-09-09 21:37:45 -05:00
erik deleted branch feat/task-d2a77247-social-icons 2026-09-09 21:37:45 -05:00
Sign in to join this conversation.
No reviewers
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
erik/slugkit!281
No description provided.