Fix #348: org create/profile/manage #355
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!355
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/issue-348"
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?
Implements Forgejo #348 over the existing org service (UI/reveal ticket — no new endpoints):
Backend
owners/detailedrows gain always-presentis_org(07 §8) from the newEnv.OrgsOrgListerseam (law 8; oneListOrgsper listing regardless of owner count, law 6; nil seam → all false; list error fails open to all-false — display metadata never fails the listing).identity.Service.ListOrgssatisfies it; wired incmd/walhubcomposition.internal/api/owners_orgs_test.go: nil/empty/unknown/error seam cases, wire-shape pin (present bool, never null), all three lane twins.Frontend (no new deps)
OrgNew.jsxat/orgs/new(static route before/:owner; no server change — the/{owner}/{repo}shell serves it) with name/display/description →orgs.create→ lands in/:org/settings; "New organization" entry button on/explore. Validation in headlessweb/src/lib/orgs.js(mirrorsidentity.ValidOrg)./:ownerrenders org header (badge + display name + description) above the repo list when the owner is an org (orgs.get, null for users); "Manage organization" only on profilecan_edit(server-authoritative org-owner/host-admin). Private repos stay hidden by the server (#345)./explorebadges org sections from the same payload (is_org, zero extra GETs, #281 pattern).Verification
go build ./...,go vet ./...clean;gofmtclean.go test ./internal/api/ -raceok; package coverage 95.3% (≥95% gate holds);go test ./internal/identity/ -race,./cmd/walhub/ -shortok.node --test web/test/unit/*.test.js: 692 pass incl. neworgs.test.js(7 tests: validation parity, create body, is_org strictness, role lookup); 3 smoke failures are pre-existing/environmental (need a live server — identical on clean main).vite build+ esbuild SDK bundle green.Notes
web/dist/.keeprestored after each vite build (emptyOutDir side effect) — committed tree keeps it.