From 71b41e537e5cbb6d1360d4a04ef191b849bc6fad Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Mon, 11 Aug 2025 22:28:18 +0100 Subject: [PATCH] appview: remove all occurrences of DidHandleMap Change-Id: wpkykovtqxnxztruptykuqxrxrsqvqwo Signed-off-by: oppiliappan --- appview/db/reaction.go | 14 ++--- appview/issues/issues.go | 54 ---------------- appview/knots/knots.go | 16 ----- appview/pages/funcmap.go | 18 +++++- appview/pages/pages.go | 20 ++---- appview/pages/templates/knots/dashboard.html | 7 +-- .../repo/issues/fragments/issueComment.html | 3 +- .../pages/templates/repo/issues/issue.html | 2 +- .../pages/templates/repo/issues/issues.html | 3 +- .../pipelines/fragments/pipelineSymbol.html | 4 +- .../pipelines/fragments/workflowSymbol.html | 2 +- .../repo/pulls/fragments/pullHeader.html | 4 +- appview/pages/templates/repo/pulls/pull.html | 7 +-- appview/pages/templates/repo/pulls/pulls.html | 3 +- .../pages/templates/spindles/dashboard.html | 6 +- appview/pages/templates/timeline.html | 17 +++--- .../templates/user/fragments/editPins.html | 2 +- .../user/fragments/picHandleLink.html | 5 +- .../templates/user/fragments/repoCard.html | 5 +- appview/pages/templates/user/profile.html | 33 ++++------ appview/pulls/pulls.go | 61 ------------------- appview/spindles/spindles.go | 13 ---- appview/state/profile.go | 27 -------- appview/state/state.go | 33 +--------- 24 files changed, 75 insertions(+), 284 deletions(-) diff --git a/appview/db/reaction.go b/appview/db/reaction.go index 81b854ca..96db0901 100644 --- a/appview/db/reaction.go +++ b/appview/db/reaction.go @@ -11,13 +11,13 @@ type ReactionKind string const ( Like ReactionKind = "๐Ÿ‘" - Unlike = "๐Ÿ‘Ž" - Laugh = "๐Ÿ˜†" - Celebration = "๐ŸŽ‰" - Confused = "๐Ÿซค" - Heart = "โค๏ธ" - Rocket = "๐Ÿš€" - Eyes = "๐Ÿ‘€" + Unlike ReactionKind = "๐Ÿ‘Ž" + Laugh ReactionKind = "๐Ÿ˜†" + Celebration ReactionKind = "๐ŸŽ‰" + Confused ReactionKind = "๐Ÿซค" + Heart ReactionKind = "โค๏ธ" + Rocket ReactionKind = "๐Ÿš€" + Eyes ReactionKind = "๐Ÿ‘€" ) func (rk ReactionKind) String() string { diff --git a/appview/issues/issues.go b/appview/issues/issues.go index 3e2d058b..76930783 100644 --- a/appview/issues/issues.go +++ b/appview/issues/issues.go @@ -96,20 +96,6 @@ func (rp *Issues) RepoSingleIssue(w http.ResponseWriter, r *http.Request) { log.Println("failed to resolve issue owner", err) } - identsToResolve := make([]string, len(comments)) - for i, comment := range comments { - identsToResolve[i] = comment.OwnerDid - } - resolvedIds := rp.idResolver.ResolveIdents(r.Context(), identsToResolve) - didHandleMap := make(map[string]string) - for _, identity := range resolvedIds { - if !identity.Handle.IsInvalidHandle() { - didHandleMap[identity.DID.String()] = fmt.Sprintf("@%s", identity.Handle.String()) - } else { - didHandleMap[identity.DID.String()] = identity.DID.String() - } - } - rp.pages.RepoSingleIssue(w, pages.RepoSingleIssueParams{ LoggedInUser: user, RepoInfo: f.RepoInfo(user), @@ -117,7 +103,6 @@ func (rp *Issues) RepoSingleIssue(w http.ResponseWriter, r *http.Request) { Comments: comments, IssueOwnerHandle: issueOwnerIdent.Handle.String(), - DidHandleMap: didHandleMap, OrderedReactionKinds: db.OrderedReactionKinds, Reactions: reactionCountMap, @@ -371,23 +356,9 @@ func (rp *Issues) IssueComment(w http.ResponseWriter, r *http.Request) { return } - identity, err := rp.idResolver.ResolveIdent(r.Context(), comment.OwnerDid) - if err != nil { - log.Println("failed to resolve did") - return - } - - didHandleMap := make(map[string]string) - if !identity.Handle.IsInvalidHandle() { - didHandleMap[identity.DID.String()] = fmt.Sprintf("@%s", identity.Handle.String()) - } else { - didHandleMap[identity.DID.String()] = identity.DID.String() - } - rp.pages.SingleIssueCommentFragment(w, pages.SingleIssueCommentParams{ LoggedInUser: user, RepoInfo: f.RepoInfo(user), - DidHandleMap: didHandleMap, Issue: issue, Comment: comment, }) @@ -503,9 +474,6 @@ func (rp *Issues) EditIssueComment(w http.ResponseWriter, r *http.Request) { } // optimistic update for htmx - didHandleMap := map[string]string{ - user.Did: user.Handle, - } comment.Body = newBody comment.Edited = &edited @@ -513,7 +481,6 @@ func (rp *Issues) EditIssueComment(w http.ResponseWriter, r *http.Request) { rp.pages.SingleIssueCommentFragment(w, pages.SingleIssueCommentParams{ LoggedInUser: user, RepoInfo: f.RepoInfo(user), - DidHandleMap: didHandleMap, Issue: issue, Comment: comment, }) @@ -598,9 +565,6 @@ func (rp *Issues) DeleteIssueComment(w http.ResponseWriter, r *http.Request) { } // optimistic update for htmx - didHandleMap := map[string]string{ - user.Did: user.Handle, - } comment.Body = "" comment.Deleted = &deleted @@ -608,11 +572,9 @@ func (rp *Issues) DeleteIssueComment(w http.ResponseWriter, r *http.Request) { rp.pages.SingleIssueCommentFragment(w, pages.SingleIssueCommentParams{ LoggedInUser: user, RepoInfo: f.RepoInfo(user), - DidHandleMap: didHandleMap, Issue: issue, Comment: comment, }) - return } func (rp *Issues) RepoIssues(w http.ResponseWriter, r *http.Request) { @@ -648,29 +610,13 @@ func (rp *Issues) RepoIssues(w http.ResponseWriter, r *http.Request) { return } - identsToResolve := make([]string, len(issues)) - for i, issue := range issues { - identsToResolve[i] = issue.OwnerDid - } - resolvedIds := rp.idResolver.ResolveIdents(r.Context(), identsToResolve) - didHandleMap := make(map[string]string) - for _, identity := range resolvedIds { - if !identity.Handle.IsInvalidHandle() { - didHandleMap[identity.DID.String()] = fmt.Sprintf("@%s", identity.Handle.String()) - } else { - didHandleMap[identity.DID.String()] = identity.DID.String() - } - } - rp.pages.RepoIssues(w, pages.RepoIssuesParams{ LoggedInUser: rp.oauth.GetUser(r), RepoInfo: f.RepoInfo(user), Issues: issues, - DidHandleMap: didHandleMap, FilteringByOpen: isOpen, Page: page, }) - return } func (rp *Issues) NewIssue(w http.ResponseWriter, r *http.Request) { diff --git a/appview/knots/knots.go b/appview/knots/knots.go index a014f7aa..eebba586 100644 --- a/appview/knots/knots.go +++ b/appview/knots/knots.go @@ -334,24 +334,8 @@ func (k *Knots) dashboard(w http.ResponseWriter, r *http.Request) { repoByMember[r.Did] = append(repoByMember[r.Did], r) } - var didsToResolve []string - for _, m := range members { - didsToResolve = append(didsToResolve, m) - } - didsToResolve = append(didsToResolve, reg.ByDid) - resolvedIds := k.IdResolver.ResolveIdents(r.Context(), didsToResolve) - didHandleMap := make(map[string]string) - for _, identity := range resolvedIds { - if !identity.Handle.IsInvalidHandle() { - didHandleMap[identity.DID.String()] = fmt.Sprintf("@%s", identity.Handle.String()) - } else { - didHandleMap[identity.DID.String()] = identity.DID.String() - } - } - k.Pages.Knot(w, pages.KnotParams{ LoggedInUser: user, - DidHandleMap: didHandleMap, Registration: reg, Members: members, Repos: repoByMember, diff --git a/appview/pages/funcmap.go b/appview/pages/funcmap.go index cc5c82bc..52be2d9f 100644 --- a/appview/pages/funcmap.go +++ b/appview/pages/funcmap.go @@ -1,6 +1,7 @@ package pages import ( + "context" "crypto/hmac" "crypto/sha256" "encoding/hex" @@ -28,6 +29,19 @@ func (p *Pages) funcMap() template.FuncMap { "split": func(s string) []string { return strings.Split(s, "\n") }, + "resolve": func(s string) string { + identity, err := p.resolver.ResolveIdent(context.Background(), s) + + if err != nil { + return s + } + + if identity.Handle.IsInvalidHandle() { + return "handle.invalid" + } + + return "@" + identity.Handle.String() + }, "truncateAt30": func(s string) string { if len(s) <= 30 { return s @@ -74,7 +88,7 @@ func (p *Pages) funcMap() template.FuncMap { "negf64": func(a float64) float64 { return -a }, - "cond": func(cond interface{}, a, b string) string { + "cond": func(cond any, a, b string) string { if cond == nil { return b } @@ -167,7 +181,7 @@ func (p *Pages) funcMap() template.FuncMap { return html.UnescapeString(s) }, "nl2br": func(text string) template.HTML { - return template.HTML(strings.Replace(template.HTMLEscapeString(text), "\n", "
", -1)) + return template.HTML(strings.ReplaceAll(template.HTMLEscapeString(text), "\n", "
")) }, "unwrapText": func(text string) string { paragraphs := strings.Split(text, "\n\n") diff --git a/appview/pages/pages.go b/appview/pages/pages.go index 0cd9b402..6035c8d9 100644 --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -24,6 +24,7 @@ import ( "tangled.sh/tangled.sh/core/appview/pages/markup" "tangled.sh/tangled.sh/core/appview/pages/repoinfo" "tangled.sh/tangled.sh/core/appview/pagination" + "tangled.sh/tangled.sh/core/idresolver" "tangled.sh/tangled.sh/core/patchutil" "tangled.sh/tangled.sh/core/types" @@ -45,13 +46,14 @@ type Pages struct { t map[string]*template.Template avatar config.AvatarConfig + resolver *idresolver.Resolver dev bool embedFS embed.FS templateDir string // Path to templates on disk for dev mode rctx *markup.RenderContext } -func NewPages(config *config.Config) *Pages { +func NewPages(config *config.Config, res *idresolver.Resolver) *Pages { // initialized with safe defaults, can be overriden per use rctx := &markup.RenderContext{ IsDev: config.Core.Dev, @@ -66,6 +68,7 @@ func NewPages(config *config.Config) *Pages { avatar: config.Avatar, embedFS: Files, rctx: rctx, + resolver: res, templateDir: "appview/pages", } @@ -290,7 +293,6 @@ func (p *Pages) PrivacyPolicy(w io.Writer, params PrivacyPolicyParams) error { type TimelineParams struct { LoggedInUser *oauth.User Timeline []db.TimelineEvent - DidHandleMap map[string]string } func (p *Pages) Timeline(w io.Writer, params TimelineParams) error { @@ -318,7 +320,6 @@ func (p *Pages) Knots(w io.Writer, params KnotsParams) error { type KnotParams struct { LoggedInUser *oauth.User - DidHandleMap map[string]string Registration *db.Registration Members []string Repos map[string][]db.Repo @@ -375,7 +376,6 @@ type SpindleDashboardParams struct { Spindle db.Spindle Members []string Repos map[string][]db.Repo - DidHandleMap map[string]string } func (p *Pages) SpindleDashboard(w io.Writer, params SpindleDashboardParams) error { @@ -408,8 +408,6 @@ type ProfilePageParams struct { ProfileTimeline *db.ProfileTimeline Card ProfileCard Punchcard db.Punchcard - - DidHandleMap map[string]string } type ProfileCard struct { @@ -430,8 +428,6 @@ type ReposPageParams struct { LoggedInUser *oauth.User Repos []db.Repo Card ProfileCard - - DidHandleMap map[string]string } func (p *Pages) ReposPage(w io.Writer, params ReposPageParams) error { @@ -460,7 +456,6 @@ type EditPinsParams struct { LoggedInUser *oauth.User Profile *db.Profile AllRepos []PinnedRepo - DidHandleMap map[string]string } type PinnedRepo struct { @@ -779,7 +774,6 @@ type RepoIssuesParams struct { RepoInfo repoinfo.RepoInfo Active string Issues []db.Issue - DidHandleMap map[string]string Page pagination.Page FilteringByOpen bool } @@ -796,7 +790,6 @@ type RepoSingleIssueParams struct { Issue db.Issue Comments []db.Comment IssueOwnerHandle string - DidHandleMap map[string]string OrderedReactionKinds []db.ReactionKind Reactions map[db.ReactionKind]int @@ -850,7 +843,6 @@ func (p *Pages) EditIssueCommentFragment(w io.Writer, params EditIssueCommentPar type SingleIssueCommentParams struct { LoggedInUser *oauth.User - DidHandleMap map[string]string RepoInfo repoinfo.RepoInfo Issue *db.Issue Comment *db.Comment @@ -882,7 +874,6 @@ type RepoPullsParams struct { RepoInfo repoinfo.RepoInfo Pulls []*db.Pull Active string - DidHandleMap map[string]string FilteringBy db.PullState Stacks map[string]db.Stack Pipelines map[string]db.Pipeline @@ -915,7 +906,6 @@ type RepoSinglePullParams struct { LoggedInUser *oauth.User RepoInfo repoinfo.RepoInfo Active string - DidHandleMap map[string]string Pull *db.Pull Stack db.Stack AbandonedPulls []*db.Pull @@ -935,7 +925,6 @@ func (p *Pages) RepoSinglePull(w io.Writer, params RepoSinglePullParams) error { type RepoPullPatchParams struct { LoggedInUser *oauth.User - DidHandleMap map[string]string RepoInfo repoinfo.RepoInfo Pull *db.Pull Stack db.Stack @@ -953,7 +942,6 @@ func (p *Pages) RepoPullPatchPage(w io.Writer, params RepoPullPatchParams) error type RepoPullInterdiffParams struct { LoggedInUser *oauth.User - DidHandleMap map[string]string RepoInfo repoinfo.RepoInfo Pull *db.Pull Round int diff --git a/appview/pages/templates/knots/dashboard.html b/appview/pages/templates/knots/dashboard.html index 7db6bc39..29595c2d 100644 --- a/appview/pages/templates/knots/dashboard.html +++ b/appview/pages/templates/knots/dashboard.html @@ -38,9 +38,8 @@
- {{ i "user" "size-4" }} - {{ $user := index $.DidHandleMap . }} - {{ $user }} {{.}} + {{ template "user/fragments/picHandleLink" . }} + {{.}}
@@ -48,7 +47,7 @@ {{ range $repos }}
{{ i "book-marked" "size-4" }} - + {{ .Name }}
diff --git a/appview/pages/templates/repo/issues/fragments/issueComment.html b/appview/pages/templates/repo/issues/fragments/issueComment.html index 2f5dd530..27376710 100644 --- a/appview/pages/templates/repo/issues/fragments/issueComment.html +++ b/appview/pages/templates/repo/issues/fragments/issueComment.html @@ -2,8 +2,7 @@ {{ with .Comment }}
- {{ $owner := index $.DidHandleMap .OwnerDid }} - {{ template "user/fragments/picHandleLink" $owner }} + {{ template "user/fragments/picHandleLink" .OwnerDid }} {{ $isIssueAuthor := eq .OwnerDid $.Issue.OwnerDid }} diff --git a/appview/pages/templates/repo/issues/issue.html b/appview/pages/templates/repo/issues/issue.html index dc8f21b7..9dc9a65a 100644 --- a/appview/pages/templates/repo/issues/issue.html +++ b/appview/pages/templates/repo/issues/issue.html @@ -70,7 +70,7 @@ {{ if gt $index 0 }}
{{ end }} - {{ template "repo/issues/fragments/issueComment" (dict "RepoInfo" $.RepoInfo "LoggedInUser" $.LoggedInUser "DidHandleMap" $.DidHandleMap "Issue" $.Issue "Comment" .)}} + {{ template "repo/issues/fragments/issueComment" (dict "RepoInfo" $.RepoInfo "LoggedInUser" $.LoggedInUser "Issue" $.Issue "Comment" .)}}
{{ end }} diff --git a/appview/pages/templates/repo/issues/issues.html b/appview/pages/templates/repo/issues/issues.html index ef3e194d..7f01a1e3 100644 --- a/appview/pages/templates/repo/issues/issues.html +++ b/appview/pages/templates/repo/issues/issues.html @@ -65,8 +65,7 @@ - {{ $owner := index $.DidHandleMap .OwnerDid }} - {{ template "user/fragments/picHandleLink" $owner }} + {{ template "user/fragments/picHandleLink" .OwnerDid }} diff --git a/appview/pages/templates/repo/pipelines/fragments/pipelineSymbol.html b/appview/pages/templates/repo/pipelines/fragments/pipelineSymbol.html index 4ad6bbfb..6dea6bca 100644 --- a/appview/pages/templates/repo/pipelines/fragments/pipelineSymbol.html +++ b/appview/pages/templates/repo/pipelines/fragments/pipelineSymbol.html @@ -23,12 +23,12 @@
{{ else if $allFail }}
- {{ i "x" "size-4 text-red-600" }} + {{ i "x" "size-4 text-red-500" }} 0/{{ $total }}
{{ else if $allTimeout }}
- {{ i "clock-alert" "size-4 text-orange-400" }} + {{ i "clock-alert" "size-4 text-orange-500" }} 0/{{ $total }}
{{ else }} diff --git a/appview/pages/templates/repo/pipelines/fragments/workflowSymbol.html b/appview/pages/templates/repo/pipelines/fragments/workflowSymbol.html index 8f4a6885..fec5b3cf 100644 --- a/appview/pages/templates/repo/pipelines/fragments/workflowSymbol.html +++ b/appview/pages/templates/repo/pipelines/fragments/workflowSymbol.html @@ -19,7 +19,7 @@ {{ $color = "text-gray-600 dark:text-gray-500" }} {{ else if eq $kind "timeout" }} {{ $icon = "clock-alert" }} - {{ $color = "text-orange-400 dark:text-orange-300" }} + {{ $color = "text-orange-400 dark:text-orange-500" }} {{ else }} {{ $icon = "x" }} {{ $color = "text-red-600 dark:text-red-500" }} diff --git a/appview/pages/templates/repo/pulls/fragments/pullHeader.html b/appview/pages/templates/repo/pulls/fragments/pullHeader.html index ec3355fd..22968aa5 100644 --- a/appview/pages/templates/repo/pulls/fragments/pullHeader.html +++ b/appview/pages/templates/repo/pulls/fragments/pullHeader.html @@ -17,6 +17,7 @@ {{ $icon = "git-merge" }} {{ end }} +{{ $owner := resolve .Pull.OwnerDid }}
opened by - {{ $owner := index $.DidHandleMap .Pull.OwnerDid }} - {{ template "user/fragments/picHandleLink" $owner }} + {{ template "user/fragments/picHandleLink" .Pull.OwnerDid }} {{ template "repo/fragments/time" .Pull.Created }} diff --git a/appview/pages/templates/repo/pulls/pull.html b/appview/pages/templates/repo/pulls/pull.html index bf6a09bb..d7bac1fe 100644 --- a/appview/pages/templates/repo/pulls/pull.html +++ b/appview/pages/templates/repo/pulls/pull.html @@ -47,13 +47,13 @@
- {{ $owner := index $.DidHandleMap $.Pull.OwnerDid }} + {{ $owner := resolve $.Pull.OwnerDid }} {{ $re := "re" }} {{ if eq .RoundNumber 0 }} {{ $re = "" }} {{ end }} - by {{ template "user/fragments/picHandleLink" $owner }} + by {{ template "user/fragments/picHandleLink" $.Pull.OwnerDid }} {{ template "repo/fragments/shortTime" .Created }} @@ -151,8 +151,7 @@
{{ end }}
- {{ $owner := index $.DidHandleMap $c.OwnerDid }} - {{ template "user/fragments/picHandleLink" $owner }} + {{ template "user/fragments/picHandleLink" $c.OwnerDid }} {{ template "repo/fragments/time" $c.Created }}
diff --git a/appview/pages/templates/repo/pulls/pulls.html b/appview/pages/templates/repo/pulls/pulls.html index 973bdb5f..98babf57 100644 --- a/appview/pages/templates/repo/pulls/pulls.html +++ b/appview/pages/templates/repo/pulls/pulls.html @@ -55,7 +55,6 @@
- {{ $owner := index $.DidHandleMap .OwnerDid }} {{ $bgColor := "bg-gray-800 dark:bg-gray-700" }} {{ $icon := "ban" }} @@ -76,7 +75,7 @@ - {{ template "user/fragments/picHandleLink" $owner }} + {{ template "user/fragments/picHandleLink" .OwnerDid }} diff --git a/appview/pages/templates/spindles/dashboard.html b/appview/pages/templates/spindles/dashboard.html index 77ed1a92..0497bda7 100644 --- a/appview/pages/templates/spindles/dashboard.html +++ b/appview/pages/templates/spindles/dashboard.html @@ -42,9 +42,7 @@
- {{ i "user" "size-4" }} - {{ $user := index $.DidHandleMap . }} - {{ $user }} + {{ template "user/fragments/picHandleLink" . }}
{{ if ne $.LoggedInUser.Did . }} {{ block "removeMemberButton" (list $ . ) }} {{ end }} @@ -109,7 +107,7 @@ hx-post="/spindles/{{ $root.Spindle.Instance }}/remove" hx-swap="none" hx-vals='{"member": "{{$member}}" }' - hx-confirm="Are you sure you want to remove {{ index $root.DidHandleMap $member }} from this instance?" + hx-confirm="Are you sure you want to remove {{ resolve $member }} from this instance?" > {{ i "user-minus" "w-4 h-4" }} remove diff --git a/appview/pages/templates/timeline.html b/appview/pages/templates/timeline.html index 39828056..ada04091 100644 --- a/appview/pages/templates/timeline.html +++ b/appview/pages/templates/timeline.html @@ -76,13 +76,14 @@ {{ $root := index . 0 }} {{ $repo := index . 1 }} {{ $source := index . 2 }} - {{ $userHandle := index $root.DidHandleMap $repo.Did }} + {{ $userHandle := resolve $repo.Did }}
- {{ template "user/fragments/picHandleLink" $userHandle }} + {{ template "user/fragments/picHandleLink" $repo.Did }} {{ with $source }} + {{ $sourceDid := resolve .Did }} forked - - {{ index $root.DidHandleMap .Did }}/{{ .Name }} + + {{ $sourceDid }}/{{ .Name }} to {{ $repo.Name }} @@ -103,8 +104,8 @@ {{ $root := index . 0 }} {{ $star := index . 1 }} {{ with $star }} - {{ $starrerHandle := index $root.DidHandleMap .StarredByDid }} - {{ $repoOwnerHandle := index $root.DidHandleMap .Repo.Did }} + {{ $starrerHandle := resolve .StarredByDid }} + {{ $repoOwnerHandle := resolve .Repo.Did }}
{{ template "user/fragments/picHandleLink" $starrerHandle }} starred @@ -126,8 +127,8 @@ {{ $profile := index . 2 }} {{ $stat := index . 3 }} - {{ $userHandle := index $root.DidHandleMap $follow.UserDid }} - {{ $subjectHandle := index $root.DidHandleMap $follow.SubjectDid }} + {{ $userHandle := resolve $follow.UserDid }} + {{ $subjectHandle := resolve $follow.SubjectDid }}
{{ template "user/fragments/picHandleLink" $userHandle }} followed diff --git a/appview/pages/templates/user/fragments/editPins.html b/appview/pages/templates/user/fragments/editPins.html index 94c762c6..15c1a5bb 100644 --- a/appview/pages/templates/user/fragments/editPins.html +++ b/appview/pages/templates/user/fragments/editPins.html @@ -27,7 +27,7 @@