Michael
|
104159e8da
|
fix(epg): pass playlist as parameter to RecordingsTab/_EpgGuideView — was null from selectedPlaylistProvider
|
2026-03-09 08:44:44 +01:00 |
|
Michael
|
1c38b62516
|
fix: remove literal newline in Dart string causing build_runner syntax error
|
2026-03-09 08:40:22 +01:00 |
|
Michael
|
3e0088ecf8
|
fix(epg): load filtered channels from playlist provider instead of manual channel ID input
|
2026-03-09 08:36:41 +01:00 |
|
Michael
|
47fff742e0
|
fix(epg): use playlist.dns directly (PlaylistConfig has no serverUrl field)
|
2026-03-09 08:26:16 +01:00 |
|
Michael
|
50a6998c09
|
feat: add EPG TV guide, season passes (auto-recording) and unified recordings/EPG tab with 3 sub-tabs
|
2026-03-09 08:21:48 +01:00 |
|
Michael
|
4762b4edf8
|
feat(recordings): switch output format from mp4 to mkv for better IPTV stream compatibility
|
2026-03-08 23:56:43 +01:00 |
|
Michael
|
bbf462ae05
|
fix(recordings): DELETE now kills FFmpeg process before removing from DB to properly stop active recordings
|
2026-03-08 23:54:37 +01:00 |
|
Michael
|
4c2e3ce600
|
feat: add stop recording button and POST /api/recordings/stop/<id> endpoint to kill FFmpeg process
|
2026-03-08 23:53:32 +01:00 |
|
Michael
|
0d2ad322fe
|
fix(entrypoint): add chmod 777 on /app/recordings for Unraid nobody:users shares + update default recordings path
|
2026-03-08 23:46:11 +01:00 |
|
Michael
|
424019d01a
|
fix(scheduler): wrap _startRecording in single try/catch to prevent server crash, fix localhost port 8080→8089
|
2026-03-08 23:38:57 +01:00 |
|
Michael
|
93cecfc6d3
|
fix(docker): move CACHEBUST ARG before COPY to properly invalidate Flutter web build cache
|
2026-03-08 23:28:16 +01:00 |
|
Michael
|
9107eadc73
|
fix(recordings): send start_time and end_time in UTC to avoid +1h timezone offset with Docker server
|
2026-03-08 23:19:20 +01:00 |
|
Michael
|
c04acc2fab
|
debug(scheduler): add verbose logging every 10s and force UTC datetime comparisons
|
2026-03-08 23:11:22 +01:00 |
|
Michael
|
60bb10fe4d
|
fix(recordings): correct stream_url to use real live stream, resolve to absolute URL for FFmpeg, use copy mode, speed up scheduler to 10s
|
2026-03-08 22:43:42 +01:00 |
|
Michael
|
7e0837374e
|
refactor(recordings): eliminate Router/mount, expose direct handler methods to avoid shelf_router path collision
|
2026-03-08 22:10:59 +01:00 |
|
Michael
|
d91be43f27
|
fix(backend): move GET /recordings/logs/<id> to main router to avoid shelf_router collision with DELETE /<id>
|
2026-03-08 21:42:53 +01:00 |
|
Michael
|
989303db77
|
fix(ui): gracefully handle json parse error when showLogs receives 404 text string
|
2026-03-08 21:36:21 +01:00 |
|
Michael
|
9d670c0625
|
fix(ui): handle 404 router errors gracefully instead of crashing on json parse
|
2026-03-08 21:30:55 +01:00 |
|
Michael
|
238cb8f407
|
feat(recording): add immediate record button to recording modal
|
2026-03-08 21:28:47 +01:00 |
|
Michael
|
f217622e4a
|
fix(recording): create log file before ffmpeg starts to capture boot exceptions and force absolute path
|
2026-03-08 20:50:38 +01:00 |
|
Michael
|
548e4cd664
|
fix(recording): rename log api route to avoid shelf_router Not Found param collisions
|
2026-03-08 20:43:50 +01:00 |
|
Michael
|
966311f560
|
feat(recording): add ffmpeg logs writing and viewing in UI
|
2026-03-08 19:26:54 +01:00 |
|
Michael
|
abbac75926
|
feat(ui): add recordings tab to dashboard to list scheduled and active recordings
|
2026-03-08 19:24:03 +01:00 |
|
Michael
|
40e2f30ff1
|
fix(docker): ensure xtremuser has write access to /app/recordings volume
|
2026-03-08 17:46:26 +01:00 |
|
Michael
|
2cba30db4d
|
feat(ui): add date picker and force 24h format in recording modal
|
2026-03-08 17:34:16 +01:00 |
|
Michael
|
344cf51ef9
|
fix(backend): make proxy handler robust to timeouts and add transparent pixel fallback for picons
|
2026-03-08 17:28:29 +01:00 |
|
Michael
|
b3618805a6
|
fix(ui): use relative url for api recording requests in flutter web
|
2026-03-08 16:58:07 +01:00 |
|
Michael
|
219d6c816f
|
fix(ui): remove invalid backgroundColor from showDialog
|
2026-03-08 16:52:59 +01:00 |
|
Michael
|
04b8b317c3
|
fix(ui): resolve bracket syntax error in live tv tab
|
2026-03-08 10:02:51 +01:00 |
|
Michael
|
e46a1c15b3
|
fix: add missing recording model import in database
|
2026-03-08 09:05:18 +01:00 |
|
Michael
|
2180572b92
|
feat: implement live tv recording system
|
2026-03-08 08:40:55 +01:00 |
|
Michael
|
758cbe4c43
|
feat: implement Xtream proxy handler with M3U8 URL rewriting, SSRF protection, and content type handling.
|
2026-01-07 11:31:40 +01:00 |
|
Michael
|
755367018a
|
feat: Implement core server application with API routing, streaming, and static content serving.
|
2026-01-07 11:29:00 +01:00 |
|
Michael
|
1dd77bd87a
|
feat: implement core server with API routing, middleware, and static file serving
|
2026-01-07 11:24:26 +01:00 |
|
Michael
|
5d4dfa5e05
|
fix: Add Docker entrypoint script with gosu to manage volume permissions and drop user privileges.
|
2026-01-07 11:09:42 +01:00 |
|
Michael
|
a149bf266c
|
chore: add detailed login logging and update startup message
|
2026-01-07 10:39:06 +01:00 |
|
Michael
|
948e405307
|
chore: bump cachebust to force docker rebuild
|
2026-01-07 10:31:59 +01:00 |
|
Michael
|
842862006a
|
fix(proxy): remove auth requirement to allow browser image requests, keep ssrf protection
|
2026-01-07 10:16:52 +01:00 |
|
Michael
|
38572fa747
|
fix(auth): move auth check inside proxy handler after path filtering
|
2026-01-07 09:32:51 +01:00 |
|
Michael
|
37c23d575b
|
fix(docker): use libsqlite3-dev to provide libsqlite3.so symlink for Dart FFI
|
2026-01-07 09:26:53 +01:00 |
|
Michael
|
5ad3ad9f9e
|
fix(stream): validate streamId AFTER stripping extension
|
2026-01-07 09:23:37 +01:00 |
|
Michael
|
e0612ba67f
|
fix(docker): resolve server deps from bin/pubspec.yaml
|
2026-01-07 09:19:32 +01:00 |
|
Michael
|
3a633cd74d
|
chore: update task.md to reflect current local Docker environment maintenance tasks.
|
2026-01-07 09:13:05 +01:00 |
|
Michael
|
d1933f7500
|
merge: resolve Dockerfile conflict (kept optimization + nvenc support)
|
2026-01-07 08:44:50 +01:00 |
|
Michael
|
8df9a37baa
|
feat: security overhaul (proxy ssrf fix, streaming sanitization, docker optimization)
|
2026-01-07 08:43:33 +01:00 |
|
Michael
|
7e5d50f258
|
feat: Add IPTV player screen for live, VOD, and series streams with comprehensive playback controls.
|
2026-01-03 10:57:22 +01:00 |
|
Michael
|
71630d75e8
|
feat: Install FFmpeg with NVIDIA NVENC/NVDEC support via apt-get instead of a static build.
|
2026-01-03 10:26:17 +01:00 |
|
Michael
|
33a331dce9
|
Fix GPU rollbacks v2 - aresample filter, copyts, larger buffers
|
2026-01-02 09:21:51 +01:00 |
|
Michael
|
d93d638b1b
|
Unified Live TV control bar - EPG + buttons in single bar
|
2026-01-02 09:14:57 +01:00 |
|
Michael
|
8670e42cf8
|
Fix GPU Live TV rollbacks - add vsync cfr, async, smaller buffer, faster keyframes
|
2026-01-02 09:01:14 +01:00 |
|