engine issueshttps://gitlab.servus.at/aura/engine/-/issues2020-11-04T21:24:40+01:00https://gitlab.servus.at/aura/engine/-/issues/44Fallback: Scheduled fallbacks for show & schedule2020-11-04T21:24:40+01:00David TrattnigFallback: Scheduled fallbacks for show & schedule- [x] Entries of type "stream" or "live" - such playlists should only be played when there's a recording available. In that case the recording is broadcasted (Note: this requires certain tank features to be implemented; use a stub implem...- [x] Entries of type "stream" or "live" - such playlists should only be played when there's a recording available. In that case the recording is broadcasted (Note: this requires certain tank features to be implemented; use a stub implementation meanwhile). UPDATE: Recording not possible, see comment below)
- [x] FallbackManager should not resolve fallback playlists in ordinary playout
- [x] Liquidsoap silence detector should trigger a M3U playlist
- [x] Configuration options and documentation
- [x] Smooth fade-out for scheduled fallbacks
- [x] Improve fade-out logic to respect fader-position1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/43Fallback: Trigger playout from M3U playlists and station fallback folder2020-11-04T21:24:40+01:00David TrattnigFallback: Trigger playout from M3U playlists and station fallback folder- [x] POC
- [x] Liquidsoap should choose Playlist depending on station or schedule fallback mode (see )
- [x] Liquidsoap to play out station fallback from folder as the last chance to save the day
- [x] Entries should be of type "file" o...- [x] POC
- [x] Liquidsoap should choose Playlist depending on station or schedule fallback mode (see )
- [x] Liquidsoap to play out station fallback from folder as the last chance to save the day
- [x] Entries should be of type "file" only
- [x] Liquidsoap silence detector should trigger a M3U playlist
- [x] Configuration options and documentation
Note, there might be the need to have a global "stream" or "live" Routing Option for fallback scenarios (in contrast to fallback playlists). Such sources are played in any case (Routing options are TBD).1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/139Fix config var naming2023-10-18T21:52:07+02:00Chris PastlFix config var namingFix `fade_in_time` and `fade_out_time` in configFix `fade_in_time` and `fade_out_time` in config1.0-alpha3 â Playful Platypus âķïļðĶĶChris PastlChris Pastlhttps://gitlab.servus.at/aura/engine/-/issues/111Flake8: Add linting for Docstrings2022-08-18T17:39:31+02:00David TrattnigFlake8: Add linting for Docstrings`docstring-convention=google``docstring-convention=google`1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/77Graceful restart by keeping currently playing entry, in case it matches the o...2024-03-21T18:37:39+01:00David TrattnigGraceful restart by keeping currently playing entry, in case it matches the one to be scheduledWhen _Engine_ is crashing/restarting it normally (re-) schedules the entry which is planned per current timeslot. In case _Engine Core_ didn't crash though, it successfully kept playing the planned timeslot-entry. In such case no new sch...When _Engine_ is crashing/restarting it normally (re-) schedules the entry which is planned per current timeslot. In case _Engine Core_ didn't crash though, it successfully kept playing the planned timeslot-entry. In such case no new scheduling should happen i.e. when the playing entry is the one due to be scheduled.
Without the improvement, there is some Dead Air for some time, until the item is re-scheduled.1.0-alpha7Chris PastlChris Pastlhttps://gitlab.servus.at/aura/engine/-/issues/110Implement VERSION file handling for Engine2024-01-23T18:48:52+01:00David TrattnigImplement VERSION file handling for EngineBasic approach as described in meta#81Basic approach as described in meta#811.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/106ImportError: cannot import name 'escape' from 'jinja2'2022-06-09T19:43:19+02:00EorlBruderImportError: cannot import name 'escape' from 'jinja2'Some dependency seems to have introduced a conflict. When rebuilding the docker-image (thus freshly installing all dependencies) starting it now fails with the following error:
```
engine | 2022-03-24T15:19:48.493041740Z...Some dependency seems to have introduced a conflict. When rebuilding the docker-image (thus freshly installing all dependencies) starting it now fails with the following error:
```
engine | 2022-03-24T15:19:48.493041740Z [ Run mode=prod ]
engine | 2022-03-24T15:19:48.493085014Z [ Docker=false ]
engine | 2022-03-24T15:19:48.525252859Z [ Using Python 3.9.10 ]
engine | 2022-03-24T15:19:48.694699623Z Traceback (most recent call last):
engine | 2022-03-24T15:19:48.694861675Z File "/srv/run.py", line 27, in <module>
engine | 2022-03-24T15:19:48.695151046Z from flask import Flask
engine | 2022-03-24T15:19:48.695246708Z File "/usr/local/lib/python3.9/site-packages/flask/__init__.py", line 14, in <module>
engine | 2022-03-24T15:19:48.695447849Z from jinja2 import escape
engine | 2022-03-24T15:19:48.695619918Z ImportError: cannot import name 'escape' from 'jinja2' (/usr/local/lib/python3.9/site-packages/jinja2/__init__.py)
```EorlBruderEorlBruderhttps://gitlab.servus.at/aura/engine/-/issues/95Improve "src" folder structure (namespace)2022-08-18T17:39:30+02:00David TrattnigImprove "src" folder structure (namespace)Engine and Engine API is applying the "newish traditional" source folder pattern, where all the source code is located in `src`. See [this comment](https://gitlab.servus.at/aura/engine/-/issues/94#note_3943) for reference.
**Current imp...Engine and Engine API is applying the "newish traditional" source folder pattern, where all the source code is located in `src`. See [this comment](https://gitlab.servus.at/aura/engine/-/issues/94#note_3943) for reference.
**Current implementation**
All source code is already located in `src`.
**Expected implementation**
Source code should be nested in some additional package named after the project-name. For example `src/engine` and `src/engineapi`. As per PEP-8 underscores should be avoided, if possible.
The namespace for `import` statements in contrast should only require the `engine` prefix, like `engine.foo.bar`. Not having `src` part of the namespace.1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/50Improve project structure and update terms2020-10-29T20:31:39+01:00David TrattnigImprove project structure and update terms1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/143Improve test coverage of `aura_engine/base/config.py`2024-03-14T22:35:39+01:00David TrattnigImprove test coverage of `aura_engine/base/config.py`Parent: https://gitlab.servus.at/aura/engine/-/issues/125+
---
Based on the [orm-less-scheduling](https://gitlab.servus.at/aura/engine/-/tree/orm-less-scheduling?ref_type=heads) branch or after engine#100 is merged to `main`.Parent: https://gitlab.servus.at/aura/engine/-/issues/125+
---
Based on the [orm-less-scheduling](https://gitlab.servus.at/aura/engine/-/tree/orm-less-scheduling?ref_type=heads) branch or after engine#100 is merged to `main`.1.0-alpha4 â Raving Raccoon ðĪŠðĶChris PastlChris Pastlhttps://gitlab.servus.at/aura/engine/-/issues/144Improve test coverage of `aura_engine/base/lang.py`2024-02-28T16:56:33+01:00David TrattnigImprove test coverage of `aura_engine/base/lang.py`Parent: https://gitlab.servus.at/aura/engine/-/issues/125+
---
Based on the [orm-less-scheduling](https://gitlab.servus.at/aura/engine/-/tree/orm-less-scheduling?ref_type=heads) branch or after engine#100 is merged to `main`.Parent: https://gitlab.servus.at/aura/engine/-/issues/125+
---
Based on the [orm-less-scheduling](https://gitlab.servus.at/aura/engine/-/tree/orm-less-scheduling?ref_type=heads) branch or after engine#100 is merged to `main`.1.0-alpha5Chris PastlChris Pastlhttps://gitlab.servus.at/aura/engine/-/issues/142Improve test coverage of `aura_engine/plugins/monitor.py`2024-03-18T20:47:26+01:00David TrattnigImprove test coverage of `aura_engine/plugins/monitor.py`Parent: https://gitlab.servus.at/aura/engine/-/issues/125+
---
Based on the [orm-less-scheduling](https://gitlab.servus.at/aura/engine/-/tree/orm-less-scheduling?ref_type=heads) branch or after engine#100 is merged to `main`.Parent: https://gitlab.servus.at/aura/engine/-/issues/125+
---
Based on the [orm-less-scheduling](https://gitlab.servus.at/aura/engine/-/tree/orm-less-scheduling?ref_type=heads) branch or after engine#100 is merged to `main`.1.0-alpha5Chris PastlChris Pastlhttps://gitlab.servus.at/aura/engine/-/issues/62In some situations "Thread.__init__() not called" exceptions issued by Engine...2020-12-16T09:38:03+01:00David TrattnigIn some situations "Thread.__init__() not called" exceptions issued by EngineExecutor1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/18Integrate Serial Port Connectivity for Heartbeat Monitoring2023-07-17T12:06:13+02:00David TrattnigIntegrate Serial Port Connectivity for Heartbeat MonitoringUse something like PySerial (https://pyserial.readthedocs.io/en/latest/shortintro.html)Use something like PySerial (https://pyserial.readthedocs.io/en/latest/shortintro.html)1.1https://gitlab.servus.at/aura/engine/-/issues/55Issue with unwanted re-scheduling2020-11-25T16:42:40+01:00David TrattnigIssue with unwanted re-scheduling1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/75Issues with DB Session due to various threads accessing it (MySQL, MariaDB)2022-01-21T17:01:18+01:00David TrattnigIssues with DB Session due to various threads accessing it (MySQL, MariaDB)This is happening in not clearly predictable scenarios. I've noted it for example from within the `TrackService` plugin.
```
2021-05-05 10:40:15,176:AuraEngine:INFO - Posting playlog to Engine API... - [trackservice.py:167-store_trackse...This is happening in not clearly predictable scenarios. I've noted it for example from within the `TrackService` plugin.
```
2021-05-05 10:40:15,176:AuraEngine:INFO - Posting playlog to Engine API... - [trackservice.py:167-store_trackservice()]
Exception in thread Thread-688:
Traceback (most recent call last):
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1211, in _execute_context
context = constructor(dialect, self, conn, *args)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 803, in _init_compiled
self.cursor = self.create_cursor()
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 1159, in create_cursor
return self._dbapi_connection.cursor()
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 1000, in cursor
return self.connection.cursor(*args, **kwargs)
AttributeError: 'NoneType' object has no attribute 'cursor'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/david/Code/aura/engine/src/events.py", line 253, in func
self.call_event("on_metadata", data)
File "/home/david/Code/aura/engine/src/events.py", line 148, in call_event
method(*args)
File "/home/david/Code/aura/engine/src/plugins/trackservice.py", line 157, in on_metadata
self.store_clock_info(data)
File "/home/david/Code/aura/engine/src/plugins/trackservice.py", line 200, in store_clock_info
if e.meta_data:
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 287, in __get__
return self.impl.get(instance_state(instance), dict_)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 723, in get
value = self.callable_(state, passive)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/strategies.py", line 749, in _load_for_state
return self._emit_lazyload(
File "<string>", line 1, in <lambda>
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/strategies.py", line 890, in _emit_lazyload
q(session)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/ext/baked.py", line 545, in all
return list(self)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/ext/baked.py", line 445, in __iter__
return q._execute_and_instances(context)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3506, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1020, in execute
return meth(self, multiparams, params)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1133, in _execute_clauseelement
ret = self._execute_context(
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1213, in _execute_context
self._handle_dbapi_exception(
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1517, in _handle_dbapi_exception
util.raise_(
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
raise exception
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1211, in _execute_context
context = constructor(dialect, self, conn, *args)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 803, in _init_compiled
self.cursor = self.create_cursor()
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 1159, in create_cursor
return self._dbapi_connection.cursor()
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 1000, in cursor
return self.connection.cursor(*args, **kwargs)
sqlalchemy.exc.StatementError: (builtins.AttributeError) 'NoneType' object has no attribute 'cursor'
[SQL: SELECT playlist_entry_metadata.artificial_id AS playlist_entry_metadata_artificial_id, playlist_entry_metadata.artificial_entry_id AS playlist_entry_metadata_artificial_entry_id, playlist_entry_metadata.artist AS playlist_entry_metadata_artist, playlist_entry_metadata.title AS playlist_entry_metadata_title, playlist_entry_metadata.album AS playlist_entry_metadata_album
FROM playlist_entry_metadata
WHERE %s = playlist_entry_metadata.artificial_entry_id]
[parameters: [{'%(140296918919056 param)s': 354}]]
2021-05-05 10:40:15,669:AuraEngine:INFO - [ECI] Event 'on_metadata' issued successfully - [control.py:164-process()]
2021-05-05 10:40:15,670:AuraEngine:INFO - Found no entry in the recent history which matches the given source '../audio/station2/01 Journey in Satchidananda.mp3' - [trackservice.py:420-resolve_entry()]
2021-05-05 10:40:15,670:AuraEngine:INFO - Posting playlog to Engine API... - [trackservice.py:167-store_trackservice()]
Exception in thread Thread-689:
Traceback (most recent call last):
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1211, in _execute_context
context = constructor(dialect, self, conn, *args)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 803, in _init_compiled
self.cursor = self.create_cursor()
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 1159, in create_cursor
return self._dbapi_connection.cursor()
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 1000, in cursor
return self.connection.cursor(*args, **kwargs)
AttributeError: 'NoneType' object has no attribute 'cursor'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/david/Code/aura/engine/src/events.py", line 253, in func
self.call_event("on_metadata", data)
File "/home/david/Code/aura/engine/src/events.py", line 148, in call_event
method(*args)
File "/home/david/Code/aura/engine/src/plugins/trackservice.py", line 157, in on_metadata
self.store_clock_info(data)
File "/home/david/Code/aura/engine/src/plugins/trackservice.py", line 200, in store_clock_info
if e.meta_data:
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 287, in __get__
return self.impl.get(instance_state(instance), dict_)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 723, in get
value = self.callable_(state, passive)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/strategies.py", line 749, in _load_for_state
return self._emit_lazyload(
File "<string>", line 1, in <lambda>
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/strategies.py", line 890, in _emit_lazyload
q(session)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/ext/baked.py", line 545, in all
return list(self)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/ext/baked.py", line 445, in __iter__
return q._execute_and_instances(context)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3506, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1020, in execute
return meth(self, multiparams, params)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1133, in _execute_clauseelement
ret = self._execute_context(
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1213, in _execute_context
self._handle_dbapi_exception(
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1517, in _handle_dbapi_exception
util.raise_(
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
raise exception
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1211, in _execute_context
context = constructor(dialect, self, conn, *args)
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 803, in _init_compiled
self.cursor = self.create_cursor()
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 1159, in create_cursor
return self._dbapi_connection.cursor()
File "/home/david/Code/aura/engine/python/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 1000, in cursor
return self.connection.cursor(*args, **kwargs)
sqlalchemy.exc.StatementError: (builtins.AttributeError) 'NoneType' object has no attribute 'cursor'
[SQL: SELECT playlist_entry_metadata.artificial_id AS playlist_entry_metadata_artificial_id, playlist_entry_metadata.artificial_entry_id AS playlist_entry_metadata_artificial_entry_id, playlist_entry_metadata.artist AS playlist_entry_metadata_artist, playlist_entry_metadata.title AS playlist_entry_metadata_title, playlist_entry_metadata.album AS playlist_entry_metadata_album
FROM playlist_entry_metadata
WHERE %s = playlist_entry_metadata.artificial_entry_id]
[parameters: [{'%(140296918919056 param)s': 354}]]
```
After that the DB connection appears to generally broken, making it impossible to fetch further timeslots for example.
```
Unhandled error while fetching & scheduling new programme! ((builtins.AttributeError) 'NoneType' object has no attribute 'cursor'
[SQL: SELECT timeslot.id AS timeslot_id_1, timeslot.playlist_id AS timeslot_playlist_id, timeslot.default_schedule_playlist_id AS timeslot_default_schedule_playlist_id, timeslot.default_show_playlist_id AS timeslot_default_show_playlist_id, timeslot.schedule_fallback_id AS timeslot_schedule_fallback_id, timeslot.show_fallback_id AS timeslot_show_fallback_id, timeslot.station_fallback_id AS timeslot_station_fallback_id, timeslot.timeslot_start AS timeslot_timeslot_start, timeslot.timeslot_end AS timeslot_timeslot_end, timeslot.timeslot_id AS timeslot_timeslot_id, timeslot.show_id AS timeslot_show_id, timeslot.show_name AS timeslot_show_name, timeslot.show_hosts AS timeslot_show_hosts, timeslot.funding_category AS timeslot_funding_category, timeslot.comment AS timeslot_comment, timeslot.languages AS timeslot_languages, timeslot.type AS timeslot_type, timeslot.category AS timeslot_category, timeslot.topic AS timeslot_topic, timeslot.musicfocus AS timeslot_musicfocus, timeslot.is_repetition AS timeslot_is_repetition
FROM timeslot
WHERE timeslot.timeslot_start >= (builtins.AttributeError) 'NoneType' object has no attribute 'cursor'
[SQL: SELECT timeslot.id AS timeslot_id_1, timeslot.playlist_id AS timeslot_playlist_id, timeslot.default_schedule_playlist_id AS timeslot_default_schedule_playlist_id, timeslot.default_show_playlist_id AS timeslot_default_show_playlist_id, timeslot.schedule_fallback_id AS timeslot_schedule_fallback_id, timeslot.show_fallback_id AS timeslot_show_fallback_id, timeslot.station_fallback_id AS timeslot_station_fallback_id, timeslot.timeslot_start AS timeslot_timeslot_start, timeslot.timeslot_end AS timeslot_timeslot_end, timeslot.timeslot_id AS timeslot_timeslot_id, timeslot.show_id AS timeslot_show_id, timeslot.show_name AS timeslot_show_name, timeslot.show_hosts AS timeslot_show_hosts, timeslot.funding_category AS timeslot_funding_category, timeslot.comment AS timeslot_comment, timeslot.languages AS timeslot_languages, timeslot.type AS timeslot_type, timeslot.category AS timeslot_category, timeslot.topic AS timeslot_topic, timeslot.musicfocus AS timeslot_musicfocus, timeslot.is_repetition AS timeslot_is_repetition
FROM timeslot
WHERE timeslot.timeslot_start >= %s ORDER BY timeslot.timeslot_start]
[parameters: [immutabledict({})]] ORDER BY timeslot.timeslot_start]
[parameters: [immutabledict({})]])
```1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/33Less verbose error logs when connection to Engine API fails2022-01-21T19:33:45+01:00David TrattnigLess verbose error logs when connection to Engine API fails1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/123Less verbose logging when result from Steering playout endpoint cannot be parsed2023-06-06T21:11:39+02:00David TrattnigLess verbose logging when result from Steering playout endpoint cannot be parsedCurrently the Steering playout endpoint returns Error `500`. Deal with that more nicely.Currently the Steering playout endpoint returns Error `500`. Deal with that more nicely.1.0-alpha2 â âïļðĶ Precise PheasantDavid TrattnigDavid Trattnighttps://gitlab.servus.at/aura/engine/-/issues/141Line-in selection throws error2024-02-21T10:21:56+01:00Chris PastlLine-in selection throws errorError when selecting a line-in source in dashboard:
```
engine | 2024-02-20T21:40:39.483662146Z self.engine.player.preload(entries[0])
engine | 2024-02-20T21:40:39.483667862Z File "/srv/src/aura_engine/engine.py", line 300, in pr...Error when selecting a line-in source in dashboard:
```
engine | 2024-02-20T21:40:39.483662146Z self.engine.player.preload(entries[0])
engine | 2024-02-20T21:40:39.483667862Z File "/srv/src/aura_engine/engine.py", line 300, in preload
engine | 2024-02-20T21:40:39.483760076Z channel_name = self.resource_map.live_channel_for_resource(entry.source)
engine | 2024-02-20T21:40:39.483765598Z TypeError: ResourceMapping.live_channel_for_resource() takes 1 positional argument but 2 were given
```1.0-alpha3 â Playful Platypus âķïļðĶĶChris PastlChris Pastlhttps://gitlab.servus.at/aura/engine/-/issues/72Liquidsoap Server as separate "engine-core" project to improve container modu...2021-11-19T23:16:36+01:00David TrattnigLiquidsoap Server as separate "engine-core" project to improve container modularizationAura 0.9David TrattnigDavid Trattnig