Fix SSE stream discovery and add ESLint for WebUI

JavaScript fixes:
- Fix Invalid URL error in stream-discovery.js by adding window.location.origin as base URL
- Fix SSE race condition: ensure all stream_found events sent before complete event
- Comment unused eventType variable in stream-discovery.js
- Comment unused FrigateGenerator import in config-panel.js
- Fix quote style (double to single quotes)

Go fixes:
- Add sync.WaitGroup for result collector to prevent premature SSE closure
- Add logging for stream_found events
- Fix ERR_INCOMPLETE_CHUNKED_ENCODING by waiting for all streams to be sent

ESLint setup:
- Add ESLint v8.57.1 with .eslintrc.cjs config for ES2022 modules
- Add npm scripts for lint and lint:fix
- Update .gitignore for node_modules and package-lock.json

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
eduard256
2025-11-12 11:45:46 +03:00
parent 86a8fb36d5
commit d12d732671
7 changed files with 61 additions and 5 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ export class StreamCarousel {
<div class="stream-url">${this.truncateURL(stream.url)}</div>
${stream.resolution ? `<div class="stream-meta">Resolution: ${stream.resolution}</div>` : ''}
${stream.codec ? `<div class="stream-meta">Codec: ${stream.codec}${stream.fps ? `${stream.fps} fps` : ''}${stream.bitrate ? `${Math.round(stream.bitrate / 1000)} Kbps` : ''}</div>` : ''}
${stream.has_audio ? `<div class="stream-meta">Audio: Yes</div>` : ''}
${stream.has_audio ? '<div class="stream-meta">Audio: Yes</div>' : ''}
<div class="stream-actions">
<button class="btn btn-primary btn-use" data-index="${index}">Use Stream</button>
</div>