Files
bitvid/reports/protocol/protocol-report-2026-02-25.md
T
google-labs-jules[bot]andPR0M3TH3AN c75ed4d431 feat(protocol): Create initial protocol inventory and report
- Create `PROTOCOL_INVENTORY.md` to track non-NIP dependencies (BitTorrent, HLS, LNURL, HTTP Auth).
- Generate `reports/protocol/protocol-report-2026-02-25.md` with findings and recommendations.
- Fix linting false positives by excluding `torch/` and `dev/` directories from design system checks.
- Add `protocol-research-agent` task log.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-25 18:25:04 +00:00

45 lines
2.4 KiB
Markdown

# Protocol Research Report: 2026-02-25
**Agent:** protocol-research-agent
**Date:** 2026-02-25
**Scope:** Initial Protocol Inventory & Compliance Assessment
## Summary
This report documents the initial creation of the `PROTOCOL_INVENTORY.md` file, which tracks external protocol dependencies used by the codebase. It complements the existing `NIP_INVENTORY.md` by expanding the scope to include BitTorrent/WebTorrent, Media Streaming (HLS), Lightning Network (LNURL), and HTTP Auth (NIP-98/Kind 27235).
## Key Findings
### 1. Nostr Protocol (NIPs)
- **Status:** Largely Compliant.
- **Source:** `NIP_INVENTORY.md`
- **Gaps:**
- **NIP-42 (Auth):** Identified as `Non-compliant`. No `AUTH` command handling found in `js/nostr/client.js` or `js/nostr/pool.js`. This prevents authenticated relay access.
- **NIP-21 (`nostr:` URI):** Partial support. `js/utils/nostrHelpers.js` handles `npub` but lacks full `nprofile`/`nevent` parsing.
### 2. BitTorrent / WebTorrent
- **Status:** Compliant.
- **Implementation:** `js/magnetUtils.js` correctly handles magnet URI parsing and normalization (`xt`, `ws`, `xs`).
- **Dependencies:** Relies on `webtorrent` (via script tag or build process) and standard WebRTC APIs.
### 3. Media Streaming (HLS)
- **Status:** Dependent on Native Browser Support.
- **Observation:** The codebase accepts `.m3u8` inputs but does not appear to bundle `hls.js` explicitly for cross-browser compatibility on non-Safari platforms (e.g., Firefox/Chrome on Windows).
- **Recommendation:** Verify HLS playback consistency across browsers. If native support is insufficient, consider integrating `hls.js`.
### 4. Lightning Network (LNURL)
- **Status:** Compliant.
- **Implementation:** `js/payments/lnurl.js` implements LUD-06/LUD-16 resolution and Bech32 handling.
- **Validation:** `js/payments/zapReceiptValidator.js` ensures receipt integrity.
## Recommendations
1. **Prioritize NIP-42:** Implement `AUTH` command handling in `js/nostr/client.js` to enable authenticated relay connections, which is critical for paid or private relays.
2. **Verify HLS Support:** Conduct a cross-browser test for `.m3u8` playback. If inconsistent, add `hls.js` as a dependency.
3. **Enhance NIP-21:** Update `js/utils/nostrHelpers.js` to support `nprofile` and `nevent` parsing for better deep linking.
## Artifacts Created
- `PROTOCOL_INVENTORY.md`: New inventory tracking non-NIP protocols.
- `reports/protocol/protocol-report-2026-02-25.md`: This report.