Appearance
Kind 1621: Git Issue
Overview
Kind 1621 defines a Git issue event in the Nostr ecosystem. It enables users to submit bug reports, feature requests, questions, or any other form of conversational text related to a Git repository announced on Nostr. Issues serve as a way for users to communicate about repositories without needing to submit actual code changes.
Specification
Property | Value |
---|---|
Kind Number | 1621 |
Event Range | Regular Event |
Defined in | NIP-34 |
Content Format
The content
field contains Markdown text describing the issue, feature request, or other comment related to a Git repository. This can include bug reports, feature suggestions, questions, or any other discussion points.
Schema
# Sample bug report
## Description
When using the software with a large dataset, the search function becomes unresponsive after approximately 1000 records are loaded.
## Steps to reproduce
1. Import a CSV file with more than 1000 records
2. Open the search panel
3. Type any search term
## Expected behavior
The search should filter the records quickly, regardless of dataset size.
## Actual behavior
The UI freezes for 5-10 seconds, and sometimes crashes completely.
## Environment
- OS: Ubuntu 22.04
- Browser: Firefox 112.0
- Screen resolution: 1920x1080
Tags
Tag Name | Description | Format | Required |
---|---|---|---|
a | Base repository address | ["a", "30617:<base-repo-owner-pubkey>:<base-repo-id>"] | Yes |
p | Repository owner | ["p", "<repository-owner-pubkey>"] | Yes |
subject | Issue title/subject | ["subject", "<issue-subject>"] | No |
t | Issue label | ["t", "<issue-label>"] | No |
Client Behavior
Clients should:
- Display issues in a user-friendly format, with proper Markdown rendering.
- Allow users to view and filter issues for repositories they follow.
- Enable users to create new issues for repositories.
- Send issues to the relays specified in the repository's announcement event.
- Provide a way to add optional subject and label tags to help categorize issues.
- Allow users to reply to issues following NIP-22 (comments are created as regular kind 1 notes with an
e
tag referencing the issue). - Display the status of issues based on Kind 1630-1633. A new issue defaults to "Open" (Kind 1630) status.
Relay Behavior
Relays should:
- Store these events according to NIP-01 guidelines.
- No special handling is required beyond standard event handling.
Use Cases
- Reporting bugs in Git repositories announced on Nostr.
- Requesting new features for projects.
- Asking questions about repository functionality.
- Providing feedback on existing features.
- Initiating discussions related to the repository.
- Creating task lists or TODOs for project maintainers.
Example
json
{
"id": "4ac23413d1f5e3d6042b7dd0c6fbefe4c5d5c54f9925a8666e6fab5d0bbf78b1",
"pubkey": "32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245",
"created_at": 1677168100,
"kind": 1621,
"tags": [
["a", "30617:32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245:nostr-protocol"],
["p", "32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245"],
["subject", "Performance issue with large repositories"],
["t", "bug"],
["t", "performance"]
],
"content": "## Description\n\nWhen cloning repositories with more than 5000 commits, the initial clone operation takes significantly longer than expected.\n\n## Steps to reproduce\n\n1. Try to clone a repository with >5000 commits using the provided URL\n2. Monitor network traffic and CPU usage\n\n## Expected behavior\n\nRepository should clone at network speed without excessive CPU usage.\n\n## Actual behavior\n\nCPU usage spikes to 100% and the process takes 3-5x longer than with other git clients.\n\n## Environment\n- OS: Ubuntu 22.04\n- Git version: 2.34.1\n",
"sig": "a1c4e3c98b9e137093ef2c0f4b09eaf6257f829de87c16fa2f65678eb264b99c056c97a650b1b493edb2c79e38ca800ae6e78f799b79810d0654989c5dc0b234"
}
References
Related Kinds
- Kind 30617: Git Repository Announcement
- Kind 30618: Git Repository State Announcement
- Kind 1617: Git Patch
- Kinds 1630-1633: Git Status Events (Open, Applied/Merged, Closed, Draft)
Notes
Replies to Git issues follow the standard NIP-22 comment approach, using regular kind 1 events with an e
tag pointing to the issue event.
The status of an issue is determined by Kind 1630-1633 events:
- Kind 1630: Issue is Open (default status)
- Kind 1631: Issue is Resolved
- Kind 1632: Issue is Closed
- Kind 1633: Issue is in Draft state
Multiple labels can be added via multiple t
tags to help categorize issues (e.g., "bug", "enhancement", "question", "documentation", etc.).