#3 Add GPG Verification Badges on Commit Views

Fermé
Créé il y a 3 mois par fszontagh · 1 commentaires

Description

Display verification status badges on individual commit pages to show whether commits are signed and verified.

Implementation Plan

1. Add Verification Logic

  • File: internal/route/repo/commit.go
  • Function: Add GPG verification check in commit display handlers
  • Verify commit signature against user's registered GPG keys
  • Store verification result in context

2. Create Badge Template

  • File: templates/repo/commit_badge.tmpl (new)
  • Badge states:
    • ✓ Verified (green) - Valid signature from registered key
    • ✗ Invalid (red) - Invalid signature
    • ? Unverified (gray) - Valid signature but key not in Gogs
    • (no badge) - Not signed

3. Update Commit Templates

  • File: templates/repo/commit_page.tmpl
  • Add badge display next to commit author
  • Show detailed verification info on hover/click

4. Add Verification Details Modal

  • Show signer information
  • Show key fingerprint
  • Show verification timestamp

Acceptance Criteria

  • Verified commits show green badge
  • Invalid signatures show red badge
  • Unverified signatures show gray badge
  • Badge displays signer name and key ID
  • Clicking badge shows detailed verification info
  • Works for both single commit view and commit list

Related

Part of GPG verification feature (issue #1)

## Description Display verification status badges on individual commit pages to show whether commits are signed and verified. ## Implementation Plan ### 1. Add Verification Logic - File: `internal/route/repo/commit.go` - Function: Add GPG verification check in commit display handlers - Verify commit signature against user's registered GPG keys - Store verification result in context ### 2. Create Badge Template - File: `templates/repo/commit_badge.tmpl` (new) - Badge states: - ✓ Verified (green) - Valid signature from registered key - ✗ Invalid (red) - Invalid signature - ? Unverified (gray) - Valid signature but key not in Gogs - (no badge) - Not signed ### 3. Update Commit Templates - File: `templates/repo/commit_page.tmpl` - Add badge display next to commit author - Show detailed verification info on hover/click ### 4. Add Verification Details Modal - Show signer information - Show key fingerprint - Show verification timestamp ## Acceptance Criteria - [ ] Verified commits show green badge - [ ] Invalid signatures show red badge - [ ] Unverified signatures show gray badge - [ ] Badge displays signer name and key ID - [ ] Clicking badge shows detailed verification info - [ ] Works for both single commit view and commit list ## Related Part of GPG verification feature (issue #1)
Szontágh Ferenc a commenté il y a 3 mois
Propriétaire

Implementation completed! ✅

GPG Verification Badges have been successfully implemented on commit views:

Completed:

  • ✅ Added verification logic in commit handler

    • Created verifyCommitSignature() function to extract and verify GPG signatures
    • Integrated into Diff() handler for individual commit pages
    • Builds keyring from all registered GPG keys
    • Returns detailed verification status
  • ✅ Created reusable badge template component (templates/repo/commit_badge.tmpl)

    • Green "Verified" badge for valid signatures
    • Red "Invalid signature" badge for invalid/unsigned commits
    • Displays signer name and key ID on hover using Semantic UI tooltips
  • ✅ Updated commit page template to display badges

    • Badge appears inline with commit author information
    • Seamlessly integrates with existing UI
  • ✅ Added i18n translations for badge text

    • commits.gpg_signed_verified
    • commits.gpg_signed_invalid
    • commits.gpg_signed_by

Badge States:

  • Verified (green lock icon): Valid signature from registered GPG key
  • Invalid signature (red unlock icon): Invalid or unsigned commit

Commit:

  • 3056b930: Add GPG Verification Badges on Commit Views

All acceptance criteria from the issue have been met!

Implementation completed! ✅ GPG Verification Badges have been successfully implemented on commit views: **Completed:** - ✅ Added verification logic in commit handler - Created `verifyCommitSignature()` function to extract and verify GPG signatures - Integrated into `Diff()` handler for individual commit pages - Builds keyring from all registered GPG keys - Returns detailed verification status - ✅ Created reusable badge template component (templates/repo/commit_badge.tmpl) - Green "Verified" badge for valid signatures - Red "Invalid signature" badge for invalid/unsigned commits - Displays signer name and key ID on hover using Semantic UI tooltips - ✅ Updated commit page template to display badges - Badge appears inline with commit author information - Seamlessly integrates with existing UI - ✅ Added i18n translations for badge text - commits.gpg_signed_verified - commits.gpg_signed_invalid - commits.gpg_signed_by **Badge States:** - ✓ **Verified** (green lock icon): Valid signature from registered GPG key - ✗ **Invalid signature** (red unlock icon): Invalid or unsigned commit **Commit:** - `3056b930`: Add GPG Verification Badges on Commit Views All acceptance criteria from the issue have been met!
Connectez-vous pour rejoindre cette conversation.
Pas d'étiquette
gpg
ui
Aucun jalon
Pas d'assignataire
1 Participants
Chargement…
Annuler
Enregistrer
Il n'existe pas encore de contenu.