Skip to content

http api, queue and dedupe, watch-all, sync polish, docs#6

Open
arbadacarbaYK wants to merge 26 commits intospearson78:mainfrom
arbadacarbaYK:main
Open

http api, queue and dedupe, watch-all, sync polish, docs#6
arbadacarbaYK wants to merge 26 commits intospearson78:mainfrom
arbadacarbaYK:main

Conversation

@arbadacarbaYK
Copy link

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!

arbadacarbaYK and others added 26 commits November 27, 2025 13:04
- 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
- 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant