d0d96dd1d9
fixup! wip: refactor: API
2025-05-11 06:15:20 +02:00
977b6fe7d7
fixup! wip: refactor: API
2025-05-11 06:14:17 +02:00
b8a77d9c6c
fixup! wip: refactor: API
2025-05-11 06:12:44 +02:00
c706a41acd
fixup! wip: refactor: API
2025-05-10 21:47:10 +02:00
59b0a060ba
fixup! wip: refactor: API
2025-05-10 21:18:42 +02:00
116623f386
fixup! wip: refactor: API
2025-05-10 21:14:40 +02:00
aa6f50715d
fixup! wip: refactor: API
2025-05-10 08:15:23 +02:00
7706bb363f
fixup! wip: refactor: API
2025-05-10 07:46:58 +02:00
888ac7d67d
fixup! wip: refactor: API
2025-05-10 07:36:39 +02:00
c6f21b194a
fixup! wip: refactor: API
2025-05-09 06:47:27 +02:00
6ceb286e6b
fixup! wip: refactor: API
2025-05-08 07:08:43 +02:00
0a6b9fad90
fixup! wip: refactor: API
2025-05-07 20:32:27 +02:00
f67a456d1e
wip: refactor: API
2025-05-06 21:38:14 +02:00
d4e136c8d6
feat: headless mode (experimental)
2025-05-06 01:19:47 +02:00
2bdb5335dc
refactor(app): add Dispatch method
2025-05-06 01:11:18 +02:00
d1efffc937
refactor(app): internalize dispatch channel
2025-05-06 01:11:18 +02:00
d3171c6251
refactor: extract commands from domain
2025-05-06 01:11:18 +02:00
d9dbb7fc8f
doc: add godoc
2025-05-06 01:11:18 +02:00
8c4974e0c1
refactor(app): add DestinationWentOffAirEvent
2025-05-06 01:11:18 +02:00
6bcd5d05c7
fix(app): event ordering
...
Use a single channel per consumer, instead of one channel per
consumer/event tuple. This ensures that overall ordering of events
remains consistent, and avoids introducing subtle race conditions.
2025-05-06 01:11:18 +02:00
c6ce8be5b1
refactor(app): async startup check
2025-05-06 01:11:18 +02:00
9c16275207
refactor(app): add StartDestinationFailedEvent
2025-05-06 01:11:18 +02:00
a80e891b75
refactor(app): add destination error events
2025-05-06 01:11:18 +02:00
9e2f6649eb
refactor(app): add AppStateChangedEvent
2025-05-06 01:11:18 +02:00
de0ecb1f34
refactor(app): extract more events
2025-05-06 01:11:18 +02:00
d96d26c29c
refactor(app): extract handleCommand
2025-05-06 01:11:18 +02:00
4a2857e310
refactor(app): add App type
2025-05-06 01:11:18 +02:00
e8be872047
chore: remove stray file
2025-05-06 01:10:33 +02:00
4b464c680d
refactor: add event bus
2025-04-22 15:50:49 +02:00
add511e3dd
refactor: extract commands to domain package
ci-build / lint (push) Has been cancelled
ci-scan / Analyze (go) (push) Has been cancelled
ci-scan / Analyze (actions) (push) Has been cancelled
ci-build / build (push) Has been cancelled
ci-build / release (push) Has been cancelled
2025-04-20 20:55:10 +02:00
7afa84505e
fix(mediaserver): handle custom hostname with self-signed certs
2025-04-20 18:59:27 +02:00
4a863a3212
feat(mediaserver): custom TLS certs
2025-04-20 11:27:17 +02:00
98d93ad286
feat(mediaserver): RTMPS
ci-build / lint (push) Waiting to run
ci-build / build (push) Blocked by required conditions
ci-build / release (push) Blocked by required conditions
ci-scan / Analyze (go) (push) Waiting to run
ci-scan / Analyze (actions) (push) Waiting to run
2025-04-19 22:05:55 +02:00
5f026be769
refactor(config)!: update config file schema
...
BREAKING CHANGE: YAML schema
2025-04-18 18:00:28 +02:00
d35dedb15b
test(integration): fix typo
2025-04-18 09:59:40 +02:00
e49bbb6800
refactor(mediaserver): simplify API interactions
ci-build / lint (push) Waiting to run
ci-build / build (push) Blocked by required conditions
ci-build / release (push) Blocked by required conditions
ci-scan / Analyze (go) (push) Waiting to run
ci-scan / Analyze (actions) (push) Waiting to run
2025-04-18 09:51:56 +02:00
b147da6d9b
feat(mediaserver): configurable RTMP host and bind address
2025-04-17 11:15:08 +02:00
b8389eceb0
feat: improve Docker connection error handling
2025-04-16 14:53:47 +02:00
b05ae25809
fix(ui): allow multiple destination error modals
ci-build / release (push) Has been cancelled
ci-build / lint (push) Has been cancelled
ci-build / build (push) Has been cancelled
2025-04-15 09:23:01 +02:00
52b0616d5f
chore(config): rename streamKey field
2025-04-15 08:11:53 +02:00
df9724afa7
feat: container logs
ci-build / lint (push) Waiting to run
ci-build / build (push) Blocked by required conditions
ci-build / release (push) Blocked by required conditions
2025-04-14 11:17:10 +01:00
579dfeef22
test(integration): extract app startup logic
2025-04-13 11:31:00 +02:00
5f6b6fa3a9
test(integration): add t.Helper()
2025-04-13 11:00:18 +02:00
c4bc32b3e8
refactor(container): restart handling
...
ci-build / lint (push) Has been cancelled
ci-build / build (push) Has been cancelled
ci-build / release (push) Has been cancelled
- display error modal if container exits in first 15 seconds
- restart containers manually
- allow more flexible restart policies
- extend integration tests
2025-04-13 09:26:31 +01:00
f7f9843c4b
test(integration): add coverage for custom stream key
2025-04-11 09:57:45 +02:00
524dafd800
security(mediaserver): bind to 127.0.0.1
2025-04-11 09:28:30 +02:00
b257f456ba
feat(config): tighten RTMP URL validation
ci-build / lint (push) Has been cancelled
ci-build / build (push) Has been cancelled
ci-build / release (push) Has been cancelled
2025-04-10 22:00:37 +02:00
045498a2ce
fix(ui): handle table wraparound on k binding
ci-build / lint (push) Waiting to run
ci-build / build (push) Blocked by required conditions
ci-build / release (push) Blocked by required conditions
2025-04-10 07:38:05 +02:00
08a5690d30
test: add container debug logs
2025-04-10 07:38:05 +02:00
d332a78af1
fix(ui): further key handling improvements
...
Avoids losing user destination selection when re-rendering the page,
especially after adding or removing a destination.
2025-04-10 07:37:24 +02:00