Fix #385: owner profile off SWR #388
No reviewers
Labels
No labels
actions
bug
cli
duplicate
enhancement
fork
forum
git storage
help wanted
insights
invalid
issues
moderation
oidc
ownership transfer
packages
pr/merge protection rules
projects
pull requests
question
releases
sponsorships
tags
webhooks
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub!388
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/issue-385"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #385 (option a, the #381/#384 pattern).\n\nGET /api/v1/owners/{owner}/profile served the PUT-editable bio (plus display name, location, timezone) under ccSWR with no ETag — the same stale-serve trap class #381 fixed on the summary, worse (no revalidation story). Now serves ccMutable (private, no-cache) with a content ETag (p over the served doc, the #384 detailedETag shape) covering all mutable projections plus request-scoped can_edit, so grant-only changes bust revalidation too. Unchanged profiles still 304 with zero body (law 6 economics kept; single exact-key sidecar GET unchanged, off the budgeted paths).\n\nIssue avatar question answered: no avatar projection on this route (avatars ride me.avatar_url, #376); documented in §8 + Decisions. SPA needs no change (already invalidates profile:{owner} on save).\n\nTests: TestProfileMutableClassAndETagEconomics (200→304→edit→200→304) + updated SWR assertion; internal/api -race green, 95.3% package cover (profile.go 100%); gofmt/vet clean; 07_api §4/§8/Decisions updated. No new deps.