From c0660c1f1454f4f46debc8eff6c4a5c5339ecd4e Mon Sep 17 00:00:00 2001
From: Anirudh Oppiliappan
Date: Sun, 01 Jun 2025 15:01:10 +0000
Subject: [PATCH] appview: repo: show ssh fingerprint info on hover
Signed-off-by: Anirudh Oppiliappan
---
appview/commitverify/verify.go | 2 --
appview/pages/pages.go | 9 ++++++---
appview/repo/repo.go | 9 +++++----
appview/pages/templates/repo/commit.html | 27 +++++++++++++++++++++------
appview/pages/templates/repo/index.html | 3 +--
appview/pages/templates/repo/log.html | 28 +++++++++++++---------------
6 file(s) changed, 46 insertion(s)(+), 32 deletion(s)(-)
diff --git a/appview/commitverify/verify.go b/appview/commitverify/verify.go
--- a/appview/commitverify/verify.go
+++ b/appview/commitverify/verify.go
@@ -1,7 +1,6 @@
package commitverify
import (
- "fmt"
"log"
"github.com/go-git/go-git/v5/plumbing/object"
@@ -74,7 +73,6 @@
if err != nil {
log.Println("error computing ssh fingerprint:", err)
}
- fmt.Println(fp)
vc := verifiedCommit{fingerprint: fp, hash: c.This}
vcs[vc] = struct{}{}
diff --git a/appview/pages/pages.go b/appview/pages/pages.go
--- a/appview/pages/pages.go
+++ b/appview/pages/pages.go
@@ -15,6 +15,7 @@
"path/filepath"
"strings"
+ "tangled.sh/tangled.sh/core/appview/commitverify"
"tangled.sh/tangled.sh/core/appview/config"
"tangled.sh/tangled.sh/core/appview/db"
"tangled.sh/tangled.sh/core/appview/oauth"
@@ -414,7 +415,7 @@
HTMLReadme template.HTML
Raw bool
EmailToDidOrHandle map[string]string
- VerifiedCommits map[string]bool
+ VerifiedCommits commitverify.VerifiedCommits
Languages *types.RepoLanguageResponse
types.RepoIndexResponse
}
@@ -453,7 +454,7 @@
types.RepoLogResponse
Active string
EmailToDidOrHandle map[string]string
- VerifiedCommits map[string]bool
+ VerifiedCommits commitverify.VerifiedCommits
}
func (p *Pages) RepoLog(w io.Writer, params RepoLogParams) error {
@@ -466,7 +467,9 @@
RepoInfo repoinfo.RepoInfo
Active string
EmailToDidOrHandle map[string]string
- Verified bool
+
+ // singular because it's always going to be just one
+ VerifiedCommit commitverify.VerifiedCommits
types.RepoCommitResponse
}
diff --git a/appview/repo/repo.go b/appview/repo/repo.go
--- a/appview/repo/repo.go
+++ b/appview/repo/repo.go
@@ -18,6 +18,7 @@
"tangled.sh/tangled.sh/core/api/tangled"
"tangled.sh/tangled.sh/core/appview"
+ "tangled.sh/tangled.sh/core/appview/commitverify"
"tangled.sh/tangled.sh/core/appview/config"
"tangled.sh/tangled.sh/core/appview/db"
"tangled.sh/tangled.sh/core/appview/idresolver"
@@ -144,7 +145,7 @@
log.Println("failed to get email to did map", err)
}
- vc, err := verifiedObjectCommits(rp, emailToDidMap, commitsTrunc)
+ vc, err := commitverify.GetVerifiedObjectCommits(rp.db, emailToDidMap, commitsTrunc)
if err != nil {
log.Println(err)
}
@@ -310,7 +311,7 @@
log.Println("failed to fetch email to did mapping", err)
}
- vc, err := verifiedObjectCommits(rp, emailToDidMap, repolog.Commits)
+ vc, err := commitverify.GetVerifiedObjectCommits(rp.db, emailToDidMap, repolog.Commits)
if err != nil {
log.Println(err)
}
@@ -466,7 +467,7 @@
log.Println("failed to get email to did mapping:", err)
}
- vc, err := verifiedCommits(rp, emailToDidMap, []types.NiceDiff{*result.Diff})
+ vc, err := commitverify.GetVerifiedCommits(rp.db, emailToDidMap, []types.NiceDiff{*result.Diff})
if err != nil {
log.Println(err)
}
@@ -477,7 +478,7 @@
RepoInfo: f.RepoInfo(user),
RepoCommitResponse: result,
EmailToDidOrHandle: emailToDidOrHandle(rp, emailToDidMap),
- Verified: vc[result.Diff.Commit.This],
+ VerifiedCommit: vc,
})
return
}
diff --git a/appview/pages/templates/repo/commit.html b/appview/pages/templates/repo/commit.html
--- a/appview/pages/templates/repo/commit.html
+++ b/appview/pages/templates/repo/commit.html
@@ -46,13 +46,26 @@
{{ end }}
- {{ if .Verified }}
-
-
- {{ i "shield-check" "w-4 h-4" }}
- verified
+ {{ if .VerifiedCommit.IsVerified $commit.This }}
+
+
+
+ {{ i "shield-check" "w-4 h-4" }}
+ verified
+
-
+
+
This commit was signed with the committer's known signature.
+
+
+
SSH Key Fingerprint:
+
{{ .VerifiedCommit.Fingerprint $commit.This }}
+
+
+
{{ end }}
@@ -61,5 +74,7 @@
{{end}}
{{ define "repoAfter" }}
+
{{ template "repo/fragments/diff" (list .RepoInfo.FullName .Diff) }}
+
{{end}}
diff --git a/appview/pages/templates/repo/index.html b/appview/pages/templates/repo/index.html
--- a/appview/pages/templates/repo/index.html
+++ b/appview/pages/templates/repo/index.html
@@ -223,8 +223,7 @@
- {{ $verified := false }}
- {{ $verified = index $.VerifiedCommits .Hash.String }}
+ {{ $verified := $.VerifiedCommits.IsVerified .Hash.String }}
{{ $hashStyle := "text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-900" }}
{{ if $verified }}
{{ $hashStyle = "bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200 px-2 rounded" }}
diff --git a/appview/pages/templates/repo/log.html b/appview/pages/templates/repo/log.html
--- a/appview/pages/templates/repo/log.html
+++ b/appview/pages/templates/repo/log.html
@@ -3,14 +3,14 @@
{{ define "extrameta" }}
{{ $title := printf "commits · %s" .RepoInfo.FullName }}
{{ $url := printf "https://tangled.sh/%s/commits" .RepoInfo.FullName }}
-
+
{{ template "repo/fragments/og" (dict "RepoInfo" .RepoInfo "Title" $title "Url" $url) }}
{{ end }}
{{ define "repoContent" }}
- commits
+ commits
@@ -36,8 +36,7 @@
{{ end }}
- {{ $verified := false }}
- {{ $verified = index $.VerifiedCommits $commit.Hash.String }}
+ {{ $verified := $.VerifiedCommits.IsVerified $commit.Hash.String }}
{{ $hashStyle := "text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-900" }}
{{ if $verified }}
{{ $hashStyle = "bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200 px-2 rounded" }}
@@ -49,7 +48,7 @@
{{ end }}
- |