Changelog
Branch feat/m4-f-portfolio-analytics: changelog
April 16, 2026Branch feat/m4-f-portfolio-analytics1 min readAI Generated
Branch feat/m4-f-portfolio-analytics: changelog
Automated summary for branch feat/m4-f-portfolio-analytics. This post is generated on push; commit it with your changes.
Commits
- 0bf7fb2f docs: M4-f adversarial review — PROCEED
- da3402e2 feat(m4-f): portfolio view analytics
Files changed
CHANGELOG.md | 11 ++
.../unreleased/added-m4-f-portfolio-analytics.md | 11 ++
.../2026-04-16-merge-m4-f-portfolio-analytics.md | 113 +++++++++++++++++++++
docs/adversarial-review/reviews/TLDR.md | 1 +
.../migrations/020_portfolio_view_events.sql | 16 +++
services/rust-api/src/api/v1/portfolio.rs | 94 ++++++++++++++++-
services/rust-api/src/repositories/mod.rs | 7 +-
services/rust-api/src/repositories/postgres.rs | 75 ++++++++++++++
webapp/e2e/m4-portfolio.spec.ts | 6 ++
.../app/(authenticated)/account/portfolio/page.tsx | 9 ++
.../portfolio/portfolio-analytics-client.tsx | 46 +++++++++
webapp/src/app/api/portfolio/analytics/route.ts | 19 ++++
webapp/src/app/api/portfolio/view/[slug]/route.ts | 32 ++++++
webapp/src/app/p/[slug]/page.tsx | 3 +
.../components/portfolio/PortfolioViewBeacon.tsx | 23 +++++
15 files changed, 461 insertions(+), 5 deletions(-)
How this works
This file is produced by webapp/tools/sync-pr-blog-post.ts. Add a versions/human.md file in the same folder to publish a human-written alternative; the site will show tabs for AI Draft and Human when both exist.