Skip to content

Commit 3e18036

Browse files
committed
Ready
1 parent 2a2db1e commit 3e18036

14 files changed

+345
-13
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Next Steps Tasklist
2+
description: Track the recommended next steps to enhance the app
3+
labels: ["enhancement", "planning"]
4+
assignees: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Use this issue to track recommended improvements.
10+
- type: checkboxes
11+
id: checklist
12+
attributes:
13+
label: Suggested Tasks
14+
description: Start by selecting items you want to pursue.
15+
options:
16+
- label: Add QR code sharing of Peer ID
17+
- label: Add your own TURN server credentials for robust NAT traversal
18+
- label: Add room codes and simple presence list
19+
- label: Enable HTTPS dev server for cross-device LAN testing
20+
- label: Support group calls (multi-peer mesh)
21+
- label: Add UI indicators for mic levels and mute states
22+
- label: Add PWA support (installable, offline splash)
23+
- type: textarea
24+
id: notes
25+
attributes:
26+
label: Notes / Acceptance Criteria
27+
description: Add details, edge cases, or definitions of done.
28+
placeholder: e.g., QR button copies URL with ID; works on mobile.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Feature - Group calls (multi-peer mesh)
2+
description: Support multiple peers in a call via mesh
3+
labels: ["feature", "enhancement", "webrtc"]
4+
assignees: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Add multi-peer mesh calling (each peer connects to others). Note: bandwidth scales O(n^2).
10+
- type: input
11+
id: goal
12+
attributes:
13+
label: Goal
14+
value: Support group calls (multi-peer mesh)
15+
- type: textarea
16+
id: approach
17+
attributes:
18+
label: Proposed Approach
19+
description: Multi-call handling, UI, and performance notes
20+
placeholder: Maintain a list of peer IDs and establish media connections with each; provide mute per-peer and leave controls.
21+
- type: checkboxes
22+
id: tasks
23+
attributes:
24+
label: Tasks
25+
options:
26+
- label: Manage multiple RTCPeerConnections and audio elements
27+
- label: UI for peer list and per-peer controls
28+
- label: Connection lifecycle handling (join/leave)
29+
- label: Basic performance guidance in README
30+
- type: textarea
31+
id: acceptance
32+
attributes:
33+
label: Acceptance Criteria
34+
placeholder: |
35+
- 3+ peers can converse with acceptable latency on LAN
36+
- UI remains usable; resources are cleaned up on leave
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Feature - HTTPS dev server
2+
description: Enable HTTPS local dev for cross-device testing
3+
labels: ["feature", "devx"]
4+
assignees: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Enable `vite` dev over HTTPS so microphone permissions and cross-device LAN testing work.
10+
- type: input
11+
id: goal
12+
attributes:
13+
label: Goal
14+
value: Enable HTTPS dev server for cross-device LAN testing
15+
- type: textarea
16+
id: approach
17+
attributes:
18+
label: Proposed Approach
19+
description: Dev certs, commands, docs
20+
placeholder: Generate mkcert or openssl certs and configure Vite server. Document steps for Windows/macOS/Linux.
21+
- type: checkboxes
22+
id: tasks
23+
attributes:
24+
label: Tasks
25+
options:
26+
- label: Add HTTPS config to vite.config.js with cert/key paths
27+
- label: Add scripts to generate local certs
28+
- label: Document how to trust certs and run HTTPS dev
29+
- type: textarea
30+
id: acceptance
31+
attributes:
32+
label: Acceptance Criteria
33+
placeholder: |
34+
- App runs at https://localhost:5173 or similar
35+
- Mic permissions work; site reachable via LAN IP over HTTPS
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Feature - Mic levels and mute indicators
2+
description: Visual indicators for mic input and mute status
3+
labels: ["feature", "UX"]
4+
assignees: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Add simple audio level meter and clear mute indicators for self and remote peers.
10+
- type: input
11+
id: goal
12+
attributes:
13+
label: Goal
14+
value: Add UI indicators for mic levels and mute states
15+
- type: textarea
16+
id: approach
17+
attributes:
18+
label: Proposed Approach
19+
description: Web Audio API metering, UI elements
20+
placeholder: Use AudioContext AnalyserNode to compute volume; display as bar or dots next to name.
21+
- type: checkboxes
22+
id: tasks
23+
attributes:
24+
label: Tasks
25+
options:
26+
- label: Add metering of local audio with AnalyserNode
27+
- label: Add mute state icons for local and remote
28+
- label: Optimize for low CPU usage
29+
- type: textarea
30+
id: acceptance
31+
attributes:
32+
label: Acceptance Criteria
33+
placeholder: |
34+
- Meter updates smoothly at 15–30fps
35+
- Mute icons reflect actual track enabled state
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Feature - PWA support
2+
description: Make the app installable with a basic offline experience
3+
labels: ["feature", "enhancement", "pwa"]
4+
assignees: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Turn the app into a Progressive Web App with install support and a simple offline splash page.
10+
- type: input
11+
id: goal
12+
attributes:
13+
label: Goal
14+
value: Add PWA support (installable, offline splash)
15+
- type: textarea
16+
id: approach
17+
attributes:
18+
label: Proposed Approach
19+
description: Service worker, manifest, icons
20+
placeholder: Add web app manifest, service worker (workbox or vite-plugin-pwa), and icons. Offline page for basic UX.
21+
- type: checkboxes
22+
id: tasks
23+
attributes:
24+
label: Tasks
25+
options:
26+
- label: Add manifest.json and app icons
27+
- label: Add vite-plugin-pwa and configure SW
28+
- label: Add basic offline splash page
29+
- label: Document installation steps (iOS/Android/Desktop)
30+
- type: textarea
31+
id: acceptance
32+
attributes:
33+
label: Acceptance Criteria
34+
placeholder: |
35+
- Install prompt available on supported browsers
36+
- App shows friendly offline page when no network
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Feature - QR code sharing of Peer ID
2+
description: Add QR code sharing for easier Peer ID exchange
3+
labels: ["feature", "enhancement"]
4+
assignees: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Implement a QR code option to share the local Peer ID for faster pairing on mobile.
10+
- type: input
11+
id: goal
12+
attributes:
13+
label: Goal
14+
value: Add QR code sharing of Peer ID
15+
placeholder: Short statement of the goal
16+
- type: textarea
17+
id: approach
18+
attributes:
19+
label: Proposed Approach
20+
description: How should this be implemented?
21+
placeholder: e.g., Add a "Show QR" button that renders a QR of the current URL or Peer ID using a small QR library.
22+
- type: checkboxes
23+
id: tasks
24+
attributes:
25+
label: Tasks
26+
options:
27+
- label: Add a "Show QR" button near the Copy ID button
28+
- label: Generate QR for Peer ID (and optionally a shareable URL)
29+
- label: Add a modal or inline panel to display QR (mobile-friendly)
30+
- label: Test on iOS/Android mobile browsers
31+
- type: textarea
32+
id: acceptance
33+
attributes:
34+
label: Acceptance Criteria
35+
placeholder: |
36+
- QR shows the current Peer ID clearly and scannable at arm’s length
37+
- Works on desktop and mobile
38+
- No layout regressions
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Feature - Room codes & presence
2+
description: Add room codes and a lightweight presence list
3+
labels: ["feature", "enhancement", "UX"]
4+
assignees: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Introduce room codes for simpler pairing and display connected peers (presence).
10+
- type: input
11+
id: goal
12+
attributes:
13+
label: Goal
14+
value: Add room codes and simple presence list
15+
- type: textarea
16+
id: approach
17+
attributes:
18+
label: Proposed Approach
19+
description: How should this work (static-friendly)?
20+
placeholder: Use data channel to exchange presence once connected; allow entering a short room code that maps to peer IDs manually.
21+
- type: checkboxes
22+
id: tasks
23+
attributes:
24+
label: Tasks
25+
options:
26+
- label: Add room code field to the UI
27+
- label: Broadcast/display simple presence (name, ID)
28+
- label: Remember recent rooms in localStorage
29+
- label: Add guidance text for manual ID exchange limits
30+
- type: textarea
31+
id: acceptance
32+
attributes:
33+
label: Acceptance Criteria
34+
placeholder: |
35+
- Users can share a simple room code
36+
- Presence list updates when peers connect/disconnect
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Feature - TURN server credentials
2+
description: Add support for custom TURN server credentials to improve NAT traversal
3+
labels: ["feature", "enhancement", "networking"]
4+
assignees: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Allow configuring TURN servers to improve connectivity behind strict NATs/firewalls.
10+
- type: input
11+
id: goal
12+
attributes:
13+
label: Goal
14+
value: Add your own TURN server credentials for robust NAT traversal
15+
- type: textarea
16+
id: approach
17+
attributes:
18+
label: Proposed Approach
19+
description: Code/UI changes required
20+
placeholder: Add TURN credentials into iceServers in App.jsx via env or UI settings. Persist in localStorage.
21+
- type: checkboxes
22+
id: tasks
23+
attributes:
24+
label: Tasks
25+
options:
26+
- label: Add UI fields to capture TURN URL, username, credential
27+
- label: Validate and persist credentials securely (local only)
28+
- label: Update PeerJS config to include TURN servers
29+
- label: Add doc section in README on running/obtaining TURN
30+
- type: textarea
31+
id: acceptance
32+
attributes:
33+
label: Acceptance Criteria
34+
placeholder: |
35+
- With valid TURN, calls connect across symmetric NATs more reliably
36+
- Incorrect TURN gracefully falls back or shows helpful errors

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Feature Request
22
description: Propose a new capability or improvement
3-
labels: ["feature", "triage"]
3+
labels: ["feature", "triage", "hacktoberfest-2025"]
44
assignees: []
55
body:
66
- type: input
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Feature Request
2+
description: Propose a new capability or improvement
3+
labels: ["feature", "triage"]
4+
assignees: []
5+
body:
6+
- type: input
7+
id: summary
8+
attributes:
9+
label: Summary
10+
placeholder: Short description of the feature
11+
validations:
12+
required: true
13+
- type: textarea
14+
id: motivation
15+
attributes:
16+
label: Motivation / Problem
17+
description: What problem does this solve? Who benefits?
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: proposal
22+
attributes:
23+
label: Proposed Solution
24+
description: How should it work? Include UI/API sketches if helpful.
25+
- type: textarea
26+
id: alternatives
27+
attributes:
28+
label: Alternatives
29+
description: Other approaches considered
30+
- type: checkboxes
31+
id: scope
32+
attributes:
33+
label: Scope
34+
options:
35+
- label: UI change required
36+
- label: API/protocol change
37+
- label: Documentation update
38+
- type: textarea
39+
id: acceptance
40+
attributes:
41+
label: Acceptance Criteria
42+
description: Define success conditions for this feature

0 commit comments

Comments
 (0)