pull down to refresh

If I understand it correctly, the actual source files for any given project are still likely to be on GitHub, GitLab, etc?
Are there plans to push further decentralization mechanisms, for example (thinking off the top of my head) enabling multiple reference sources on different platforms (or better: self-hosted) that sync from each other?
121 sats \ 3 replies \ @ek 13h
Enabling multiple reference sources on different platforms (or better: self-hosted) that sync from each other?
You can already do that, it's called repository mirroring.
This means you can push to your self-hosted Gitea instance, and it will automatically push to Github etc.
reply
na thats not what this does as this can live on nostr
reply
21 sats \ 1 reply \ @ek 2h
I know that this isn’t what your thing does. I wanted to say that what was requested doesn’t need your thing, because a solution already exists.
reply
25 sats \ 0 replies \ @unboiled 2h
Yep, that's how I understood it too.
reply
https://github.com/arbadacarbaYK/gittr/blob/main/docs/FILE_FETCHING_INSIGHTS.md#file-opening-flow---correct-strategy-order if you're looking for a more detailed description this might give you some clue as its complicated and can either live within events on ngit servers or link to external sources. Thats the difference import vs. create repo enacts.
User clicks on a file ↓ Strategy 1: Check if file content is embedded in repoData.files array ├─ If found with content → Use embedded content ✅ └─ If not found → Continue to Strategy 2 ↓ Strategy 2: Try git-nostr-bridge API ├─ Resolve ownerPubkey: │ ├─ Check repoData.ownerPubkey │ ├─ Check localStorage for matching repo │ ├─ Decode npub from params.entity │ └─ Fallback to resolveEntityToPubkey utility ├─ Success → Use content from git-nostr-bridge ✅ ├─ 404 (not cloned) → Check if GRASP server │ ├─ If GRASP → Trigger clone → Poll (max 10 attempts, 2s delay) ✅ │ └─ If not GRASP → Continue to Strategy 3 └─ Error → Continue to Strategy 3 ↓ Strategy 3: Try external git servers via API proxy ├─ GitHub → /api/git/file-content?sourceUrl=...&path=...&branch=... ├─ GitLab → /api/git/file-content?sourceUrl=...&path=...&branch=... ├─ Codeberg → /api/git/file-content?sourceUrl=...&path=...&branch=... └─ GRASP → /api/git/file-content?sourceUrl=...&path=...&branch=... ↓ Handle binary vs text files ├─ Binary → Return base64, frontend creates data URL └─ Text → Return UTF-8 content
reply
No files are either in an event blob or hybrid, where the blob links to external sources. Thats some rough high level description :P if you click around youll find some of each, in the sidebar youll see where it came from
reply
As someone interested in this problem, would this be like how torrents work? I’m just thinking from the user’s perspective: how would hosting, downloading and guaranteeing availability work?
reply
yes thats a very good comparison. its about discoverability mostly. fetching from mulitple sources but they can also "live on nostr"
reply