http api, queue and dedupe, watch-all, sync polish, docs#6
Open
arbadacarbaYK wants to merge 26 commits intospearson78:mainfrom
Open
http api, queue and dedupe, watch-all, sync polish, docs#6arbadacarbaYK wants to merge 26 commits intospearson78:mainfrom
arbadacarbaYK wants to merge 26 commits intospearson78:mainfrom
Conversation
- Create gittr-platform-enhancements.png showing all gittr.space additions - Includes bridge enhancements, frontend features, file fetching, GRASP protocol, collaboration tools, payments, notifications, NIP extensions, and storage - Update README to showcase the full platform architecture - Color-coded by feature area for easy navigation
- Add 🆕 badge callout to STANDALONE_BRIDGE_SETUP.md - Clarify kind 51 (legacy) and kind 30617 (NIP-34) support in relay config - Fix README reference to FILE_FETCHING_INSIGHTS.md (link to main repo) - Keep file-fetch-flow.md reference for bridge-specific documentation
- Update bridge main.go and repo.go with latest changes - Update protocol kind.go and repository.go - Add Dockerfile for containerized deployment
- Add mergedEvents channel to show complete event flow - Clarify deduplication uses seenEventIDs map - Add structured logging details - Update documentation to match implementation
- Update description to mention mergedEvents channel and seenEventIDs cache - More accurately reflects the implementation
…ling - Set HEAD to main/master when creating empty repos in bridge (fixes clone issues) - Improve all SSH error messages with git-standard 'fatal:' and 'hint:' format - Add helpful hints for repository not found, permission denied, and config errors - Handle .git suffix in repo names properly - Add corruption check to bridge repo creation
…on, watch-all mode, improved logging
- Add state.go with handleRepositoryStateEvent function - Validate commit SHAs before updating refs - Fallback to HEAD commit if state event has invalid SHA (handles corrupted foreign repos after migration) - Add KindRepositoryState (30618) to protocol - Update all imports to use arbadacarbaYK/gitnostr module path - Integrate state event handling in main.go
- Add troubleshooting section for private repo read access - Document identity mapping and maintainer access requirements - Explain CLI/API access control behavior
- Removed privacy flags from repo create command - NIP-34 events now have empty content (per spec) - Privacy is enforced via maintainers tag and bridge access control - Bridge defaults to public for NIP-34 events
- Document that file paths in path parameter must be URL-encoded - Add examples for non-ASCII characters (Cyrillic, Chinese, accented) - Clarify that API automatically decodes and handles UTF-8 correctly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hey @spearson78 👋
I’ve been running gitnostr for gittr.space and built a few optional add-ons into a fork.
They’re all behind opt-in config flags (config/env), but they’ve saved me a ton of time.
🆕 HTTP /api/event endpoint (off by default). Lets a UI post NIP-34 events straight to the bridge, then relays remain the source of truth.
🆕 Direct event queue + dedupe cache so relay and HTTP events merge cleanly.
🆕 “Watch-all” mode if gitRepoOwners is empty—handy for public mirrors.
Repository sync polish: handles NIP-34 tags, deleted/archived flags, and auto-clones from source/clone URLs (GitHub/GitLab/Codeberg/etc.).
Docs + diagram explaining the optional bits and how to run the bridge standalone.
All flows stay identical to your original unless someone explicitly enables the extras.
Thanks for open-sourcing this!