Add .github/workflows/nsite-archive.yml (push to any branch +
workflow_dispatch): npm ci + npm run build, then upload dist/ as an
artifact (bitvid-site-<branch>-<shortsha>, 30d retention). GitHub serves
it as a .zip with index.html at the root, ready for a manual nsite
publish. The workflow holds no signing key and publishes nothing.
Also add an `archive` npm script for the same output locally
(bitvid-site.zip, now gitignored), and land docs/nsite-mirror-plan.md
revised to the manual-publish + auto-archive model: sign client-side via
NIP-07 or local nsyte, never an nsec/nbunksec in CI. The prior CI-signing
workflow is retained as a labeled Phase-3 reference option.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01DwbE3uTiFaKRNjx5vP2muV
- Deleted `test_logs/nip-hits.txt` which caused CI failure due to size
- Added `test_logs/nip-hits.txt` to `.gitignore` to prevent recurrence
- Fixed syntax error in `.gitignore` (missing newline)
Co-authored-by: PR0M3TH3AN <[email protected]>
Executed the `scripts/agent/load-test.mjs` script with 1000 clients for 60 seconds against a local relay. The test passed successfully with ~86 events/sec throughput and <2ms latency.
Attached the generated load report: `artifacts/load-report-20260211.json`.
No cryptographic bottlenecks were identified (avg signing time 0.74ms).
Note: Added `!artifacts/load-report-*.json` to `.gitignore` to allow tracking of load reports.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Fix broken `SearchFiltersPopover.js` import in `views/dev/popover-demo.html` by replacing it with a local `wirePopover` implementation, resolving `tests/e2e/popover.spec.ts` failures.
- Update `.gitignore` to exclude `*.log` files to prevent accidental commits of local log files.
- Remove accidental `server.log` from the repository.
- Attempted to fix `tests/visual/moderation.spec.ts` but confirmed "element not found" issues in fixture environment; reverted to preserve passing state.
- Formatted code.
Moves and enhances the telemetry aggregator script to `scripts/agent/telemetry-aggregator.mjs`.
Updates `package.json` to point to the new location.
Implements robust parsing for smoke test summaries and fuzz reports.
Adds PII sanitization (IPs, emails, keys, paths).
Enforces opt-in via `ENABLE_TELEMETRY` environment variable.
Adds `ai/reports/` to `.gitignore`.
- Add `css/tailwind.generated.css` to `.gitignore`.
- Remove the tracked `css/tailwind.generated.css` file from the repository.
- Update `CONTRIBUTING.md` to discourage committing the generated file.
- Update `README.md` to clarify that `npm run build` generates the gitignored CSS.
This ensures the generated artifact is not tracked, reducing merge conflicts and repository bloat, while maintaining clear instructions for local development.
Added `scripts/agent/smoke-test.mjs` to verify key application flows in a headless environment.
Features:
- Verifies Relay Connection
- Verifies NSEC Login (Ephemeral)
- Verifies Video Publishing (Sign & Send)
- Verifies Event Retrieval
- Verifies DM Encryption/Decryption
Usage:
```bash
npm install
node scripts/agent/smoke-test.mjs
```
Artifacts (logs/reports) are generated in `artifacts/` and are ignored by git.
Utilizes `scripts/agent/simple-relay.mjs` for a local relay.
Uses `jsdom` to polyfill browser environment for `NostrClient`.