This website requires JavaScript.
88ca3ab487
fix(docker): pass all build-time env vars and add start.sh wrapper
admin
2026-06-21 18:34:45 +02:00
fad016973a
fix(sidebar): pin to viewport height so footer stays visible
admin
2026-06-21 18:15:26 +02:00
5800e06cd9
feat: ad engagement, invite gate, sidebar footer, docker setup
admin
2026-06-21 18:12:13 +02:00
a9793a5ad2
fix(ads): AdCard matches PostCard layout — same header, image, footer structure
admin
2026-06-21 16:23:24 +02:00
6f671cfc63
fix(ads): render image in AdCard feed, add image upload to ad dialog
admin
2026-06-21 16:21:38 +02:00
0f34a2c9c6
feat(admin): show post preview in reports — images, caption, pet, counts
admin
2026-06-21 16:10:01 +02:00
e2d14654c8
feat(admin): reports page with dismiss and delete-post actions
admin
2026-06-21 16:00:33 +02:00
ee658b4788
fix(middleware): migrate to proxy.ts for Next.js 16, enable Supabase RLS on all tables
admin
2026-06-21 15:56:32 +02:00
b5f02fe7a4
feat(admin): add hidden admin panel, ban system, ads, and legal pages
admin
2026-06-21 15:21:07 +02:00
e407064866
feat(explore): add trending tab with hot posts and hashtags
admin
2026-06-21 14:41:20 +02:00
38952b1563
docs: update README with v2 features, full schema overview, and next-session roadmap
admin and Claude Sonnet 4.6
2026-06-15 18:03:01 +02:00
23c570b2af
fix(health): enforce privacy — remove emergency vet from public health card
admin and Claude Sonnet 4.6
2026-06-15 17:52:58 +02:00
d17d71e55a
feat(health): emergency vet with OSM search and map
admin and Claude Sonnet 4.6
2026-06-15 17:39:46 +02:00
c9f385a9fa
fix(profile): replace bottom sheet with centered dialog for post detail
admin and Claude Sonnet 4.6
2026-06-15 17:23:21 +02:00
b0d6a4d7d1
fix(cron): birthday notifications require 1+ year like adoptedAt
admin and Claude Sonnet 4.6
2026-06-15 17:14:47 +02:00
f6aa825ad1
feat(v2): algorithmic feed toggle, anniversary notifications, welcome card
admin and Claude Sonnet 4.6
2026-06-15 17:10:50 +02:00
80559c3b3f
feat(health): health card share link, PDF export, weight chart in card
admin and Claude Sonnet 4.6
2026-06-15 06:06:28 +02:00
b9f786c87f
feat(health): add SVG weight trend chart
admin and Claude Sonnet 4.6
2026-06-15 05:49:29 +02:00
f1c798a4b0
feat(07): Phase 7 — Health & Vet Tracking
admin and Claude Sonnet 4.6
2026-06-15 05:07:56 +02:00
5d396a7bb4
fix: make pet profiles clickable from feed, search, and notifications
admin and Claude Sonnet 4.6
2026-06-15 04:52:45 +02:00
e2e932804b
feat(06): Phase 6 — Direct Messages
admin and Claude Sonnet 4.6
2026-06-14 09:45:45 +02:00
1fc69add4d
docs: update README to reflect Phases 1-5 complete
admin and Claude Sonnet 4.6
2026-06-14 08:44:48 +02:00
da0f9f2bb7
fix: resolve 5 bugs from dev testing
admin and Claude Sonnet 4.6
2026-06-14 08:41:46 +02:00
60366691e8
feat(05): Phase 5 — short-form video via Mux
admin and Claude Sonnet 4.6
2026-06-13 13:27:43 +02:00
08fd0dfb71
feat(04): Phase 4 — in-app notifications
admin and Claude Sonnet 4.6
2026-06-13 12:59:23 +02:00
7fafc6d17f
fix(StoryTray): align Add Story circle with PawRing items
admin and Claude Sonnet 4.6
2026-06-13 12:44:57 +02:00
4b2760a08d
fix(PawRing): center main pad ring at cy=50 so avatar sits inside it
admin and Claude Sonnet 4.6
2026-06-13 12:43:27 +02:00
a9886948b8
fix: empty feed + unclickable profile grid
admin and Claude Sonnet 4.6
2026-06-13 12:38:53 +02:00
5af2a40bb3
fix: resolve three runtime errors found in dev smoke test
admin and Claude Sonnet 4.6
2026-06-13 12:33:14 +02:00
01b4f18a97
fix: wrap useSearchParams in Suspense on reset-password page
admin and Claude Sonnet 4.6
2026-06-13 12:21:07 +02:00
847ac97bde
feat(03-06): Hashtag search end-to-end — Phase 3 complete
admin and Claude Sonnet 4.6
2026-06-13 12:16:03 +02:00
59a3be27b0
feat(03-05): Explore + pet search — routers GREEN + pages + nav
admin and Claude Sonnet 4.6
2026-06-13 12:09:24 +02:00
8507fe9489
feat(03-04): Paw-Back/Repost — reposts router GREEN + RepostCard + PawBackButton
admin and Claude Sonnet 4.6
2026-06-13 12:01:58 +02:00
6fbb99e7c9
feat(03-02): Paw reactions GREEN — toggle/count router + PawButton on PostCard
admin and Claude Sonnet 4.6
2026-06-13 11:43:31 +02:00
b71edfa758
docs: update README — Phase 3 in progress, plan 1/6 complete
admin and Claude Sonnet 4.6
2026-06-13 11:37:04 +02:00
73666a3916
feat(03-01): Phase 3 schema foundation — Reaction/Comment/Repost/Hashtag models + router stubs RED
admin and Claude Sonnet 4.6
2026-06-13 11:31:48 +02:00
273d412fb4
docs: add README with setup, architecture, progress and debugging notes
master
admin
2026-06-13 10:25:30 +02:00
3fa62d2ce0
feat(02-06): MilestoneForm + PostTypeSheet wiring + ProfileTabs + profile page — Phase 2 complete
admin
2026-06-13 10:22:35 +02:00
9b02d3dc8b
feat(02-06): milestone-meta map + MilestoneCard + PostCard MILESTONE routing — MILE-02
admin
2026-06-13 10:21:49 +02:00
554ca1deae
test(02-06): add milestones tests RED → implement milestonesRouter GREEN — MILE-01
admin
2026-06-13 10:21:40 +02:00
9a901e3485
feat(02-05): wire seams — PawRing in PostCard, StoryTray in feed, StoryForm in PostTypeSheet
admin
2026-06-13 10:11:09 +02:00
e30531f834
feat(02-05): storiesRouter GREEN + PawRing + StoryViewer + StoryTray + StoryForm
admin
2026-06-13 10:08:23 +02:00
99bff88545
test(02-05): add stories tests RED — STORY-01-03
admin
2026-06-13 10:08:16 +02:00
fa9b33ad7e
refactor(feed): use PrismaClient type directly in assertPetOwnership
admin
2026-06-13 10:02:17 +02:00
f7b09902f3
docs(02-04): complete photo posts plan summary
admin and Claude Sonnet 4.6
2026-06-07 12:50:55 +02:00
e4b619671f
feat(02-04): post creation flow — MultiImageUpload, PhotoPostForm, PostTypeSheet, + button nav
admin and Claude Sonnet 4.6
2026-06-07 12:48:56 +02:00
15f51825d9
feat(02-04): full PostCard — carousel + caption clamp + options menu
admin and Claude Sonnet 4.6
2026-06-07 12:45:32 +02:00
75d1e80665
feat(02-04): implement postsRouter GREEN — PHOTO-01–04
admin and Claude Sonnet 4.6
2026-06-07 12:43:35 +02:00
5e71010e50
test(02-04): add failing tests for posts router RED
admin and Claude Sonnet 4.6
2026-06-07 12:42:49 +02:00
bdd676f19b
docs(02-02): complete follow/block/report plan summary
admin
2026-06-07 12:39:47 +02:00
7f969a7b33
docs(02-03): complete feed infrastructure plan summary
admin
2026-06-07 12:38:40 +02:00
0428cf2a04
feat(02-02): social + safety UI — FollowButton, PetListItem, BlockDialog, ReportSheet, followers/following pages
admin
2026-06-07 12:37:45 +02:00
e9b286b4df
feat(02-03): /feed page + home redirect + nav Home→/feed
admin
2026-06-07 12:37:04 +02:00
fd7dd2d56b
feat(02-03): FeedList + SkeletonCard + EmptyFeed + PostCard placeholder
admin
2026-06-07 12:35:07 +02:00
f85230a074
feat(02-02): implement blocksRouter + reportsRouter (GREEN)
admin
2026-06-07 12:33:42 +02:00
65b30c7889
test(02-02): add failing tests for blocks + reports routers (RED)
admin
2026-06-07 12:32:52 +02:00
7bdb2989ca
feat(02-02): implement followsRouter (GREEN)
admin
2026-06-07 12:31:50 +02:00
56f976e3c4
feat(02-03): implement feed.getFeed router with Redis + Prisma hydration
admin
2026-06-07 12:31:36 +02:00
2e1cf45d7a
test(02-02): add failing tests for follows router (RED)
admin
2026-06-07 12:31:13 +02:00
9219d3a907
test(02-03): add failing tests for feed.getFeed FEED-01
admin
2026-06-07 12:31:03 +02:00
fb76e7cd7b
docs(02-01): complete foundation scaffold plan summary
admin
2026-06-07 12:28:42 +02:00
4c8ca3ab2f
fix(02-01): add explicit vi import to 7 test scaffold files for TypeScript compatibility
admin
2026-06-07 12:27:22 +02:00
c74fc0d750
feat(02-01): 7 test scaffolds + prisma-mock extension + react-intersection-observer + 7 shadcn components
admin
2026-06-07 12:26:08 +02:00
c435404b2d
feat(02-01): shared libs + 7 tRPC router stubs registered in _app.ts
admin
2026-06-07 12:23:10 +02:00
b2db6310fe
feat(02-01): add 8 Prisma models, 3 enums, Pet back-relations
admin
2026-06-07 12:20:26 +02:00
ff6b48e3aa
docs(02): create phase plan (6 plans)
admin
2026-06-07 12:16:56 +02:00
90240f46b3
docs(02): add validation strategy
admin
2026-06-07 11:58:29 +02:00
cf669be3a7
docs(02): research phase 2 content core
admin and Claude Sonnet 4.6
2026-06-07 11:49:05 +02:00
476f1d3235
docs(state): record phase 2 context session
admin
2026-06-06 12:17:45 +02:00
6a5ecc3ebf
docs(02): capture phase context
admin
2026-06-06 12:17:45 +02:00
ce25ca088c
docs(02): fix UI-SPEC blocking issues — copy, spacing, aria
admin and Claude Sonnet 4.6
2026-06-06 11:59:43 +02:00
0f7b00283f
docs(phase-2): UI design contract for Content Core
admin and Claude Sonnet 4.6
2026-06-06 11:56:23 +02:00
eeab28e8cb
chore: rename project from OnlyPets to PawFeed (domain: pawfeed.org)
admin
2026-06-06 11:51:45 +02:00
45c1410651
chore(01): phase 1 complete
admin
2026-06-06 11:48:38 +02:00
95e42f5474
fix(01-04): replace all R2/api-avatar URLs with Supabase Storage CDN via getAvatarUrl()
admin
2026-06-06 11:38:37 +02:00
e3c279d6a4
feat(01-04): switch media storage from Cloudflare R2 to Supabase Storage
admin
2026-06-06 11:32:17 +02:00
1a735b9393
docs(01-04): complete media pipeline plan summary
admin
2026-06-06 11:13:12 +02:00
62b7cdaf1e
test(01-04): implement 7 media upload unit tests covering security and validation
admin
2026-06-06 11:11:40 +02:00
fb8bb5c8fe
feat(01-04): wire CDN avatar into profile, edit page, sidebar, and mobile nav
admin
2026-06-06 11:10:28 +02:00
1bd1a89c68
feat(01-04): AvatarUpload five-state component + wire into PetForm
admin
2026-06-06 11:08:56 +02:00
485877a541
feat(01-04): tRPC media router with getPresignedUrl and confirmUpload
admin
2026-06-06 11:07:09 +02:00
3d0e2e6961
fix(01-03): pet card click navigates to profile page
admin
2026-06-06 10:49:13 +02:00
d7eb00a5a3
feat(01-03): auto-capitalize first letter of pet name on input
admin
2026-06-06 10:45:56 +02:00
a0fdc0b9c4
fix(01-03): resolve species/breed name directly from list in trigger — bypass Radix SelectValue bug
admin
2026-06-06 10:42:22 +02:00
9d51003ece
fix(01-03): use empty string instead of undefined for Select value — prevents controlled/uncontrolled switch
admin
2026-06-06 10:38:47 +02:00
c4588098ca
fix(01-03): defer species/breed Select render until data loads — fixes CUID showing in trigger
admin
2026-06-06 10:35:31 +02:00
63ec6637b1
fix(01-01): add seed command to prisma.config.ts
admin
2026-06-06 10:24:54 +02:00
b0cca2deb6
docs(01-03): complete pet profile CRUD plan summary
admin
2026-06-06 10:23:03 +02:00
8824391613
fix(01-03): fix tRPC caller context type in pet-profile tests
admin
2026-06-06 10:20:00 +02:00
f996459133
test(01-03): implement pet-profile unit tests (PET-01 through PET-05)
admin
2026-06-06 10:18:52 +02:00
95dfec7bdf
feat(01-03): add pet profile pages (My Pets grid, profile view, edit, onboarding)
admin
2026-06-06 10:17:34 +02:00
63d8c06b48
feat(01-03): add PetForm and PetCard components
admin
2026-06-06 10:11:54 +02:00
69553b103b
feat(01-03): extend pets router (update/delete/listSpecies/listBreeds) + breed seed
admin
2026-06-06 10:07:04 +02:00
5f781fc20e
fix(01-02): rename src/middleware.ts to src/proxy.ts — Next.js 16 convention
admin
2026-06-06 10:01:29 +02:00
32226739b7
fix(01-02): move onboarding/pet outside (app) group — breaks redirect loop
admin
2026-06-06 09:59:01 +02:00
d6fc3e5ccf
fix(01-02): move middleware.ts to src/ — required when project uses src/ directory
admin
2026-06-06 09:46:58 +02:00
177403276b
fix(01-02): update layout comment to reference middleware.ts
admin
2026-06-06 09:43:00 +02:00
b71ac2f5d2
fix(01-02): rename proxy.ts to middleware.ts — Next.js only recognizes middleware.ts
admin
2026-06-06 09:42:39 +02:00
43faa35795
fix(01-01): use DIRECT_URL for Prisma CLI — PgBouncer pooler hangs on schema push
admin
2026-06-06 09:34:29 +02:00
091c2dc0e4
fix(01-01): load .env manually in prisma.config.ts — Prisma 7 env() unreliable on Windows
admin
2026-06-06 09:29:39 +02:00