diff --git a/FAQ.md b/FAQ.md
index ece86b14..30693d39 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -402,7 +402,7 @@ command via CLI.
> [!IMPORTANT]
> for environment variables that has `{TASK}` tag, you **MUST** replace it with one
-> of `IMPORT`, `EXPORT`, `PUSH`, `BACKUP`, `PRUNE`, `INDEXES`, `REQUESTS`. To see tasks active settings run
+> of `IMPORT`, `EXPORT`, `PUSH`, `BACKUP`, `PRUNE`, `INDEXES`. To see tasks active settings run
```bash
$ docker exec -ti watchstate console system:tasks
diff --git a/README.md b/README.md
index 3526a959..66a8fa34 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,14 @@ out of the box, this tool support `Jellyfin`, `Plex` and `Emby` media servers.
## Updates
+### 2024-08-18
+
+We have started migrating the old events system to a new one, so far we have migrated the `progress` and `requests` to it. As such,
+The old tasks `state:progress` and `state:requests` are now gone. To control if you want to enable the watch progress, there is new
+environment variable `WS_SYNC_PROGRESS` which you can set to `true` to enable the watch progress. It's disabled by default.
+
+We will continue to migrate the rest of the events to the new system, and we will keep you updated.
+
### 2024-08-10
I have recently added new experimental feature, to play your content directly from the WebUI. This feature is still in
diff --git a/bin/console b/bin/console
index c90901f4..da279ff4 100755
--- a/bin/console
+++ b/bin/console
@@ -63,6 +63,7 @@ try {
]
);
fwrite(STDERR, $message . PHP_EOL);
+ fwrite(STDERR, $e->getTraceAsString() . PHP_EOL);
exit(503);
}
diff --git a/config/config.php b/config/config.php
index 5ed97dab..0ef1eb14 100644
--- a/config/config.php
+++ b/config/config.php
@@ -9,9 +9,7 @@ use App\Commands\Events\DispatchCommand;
use App\Commands\State\BackupCommand;
use App\Commands\State\ExportCommand;
use App\Commands\State\ImportCommand;
-use App\Commands\State\ProgressCommand;
use App\Commands\State\PushCommand;
-use App\Commands\State\RequestsCommand;
use App\Commands\System\IndexCommand;
use App\Commands\System\PruneCommand;
use App\Libs\Mappers\Import\MemoryMapper;
@@ -76,6 +74,9 @@ return (function () {
'proxy' => (bool)env('WS_TRUST_PROXY', false),
'header' => (string)env('WS_TRUST_HEADER', 'X-Forwarded-For'),
],
+ 'sync' => [
+ 'progress' => (bool)env('WS_SYNC_PROGRESS', false),
+ ],
];
$config['backends_file'] = fixPath(env('WS_BACKENDS_FILE', ag($config, 'path') . '/config/servers.yaml'));
@@ -273,14 +274,6 @@ return (function () {
'timer' => $checkTaskTimer((string)env('WS_CRON_PUSH_AT', '*/10 * * * *'), '*/10 * * * *'),
'args' => env('WS_CRON_PUSH_ARGS', '-v'),
],
- ProgressCommand::TASK_NAME => [
- 'command' => ProgressCommand::ROUTE,
- 'name' => ProgressCommand::TASK_NAME,
- 'info' => 'Send play progress to backends.',
- 'enabled' => (bool)env('WS_CRON_PROGRESS', false),
- 'timer' => $checkTaskTimer((string)env('WS_CRON_PROGRESS_AT', '*/45 * * * *'), '*/45 * * * *'),
- 'args' => env('WS_CRON_PROGRESS_ARGS', '-v'),
- ],
BackupCommand::TASK_NAME => [
'command' => BackupCommand::ROUTE,
'name' => BackupCommand::TASK_NAME,
@@ -305,14 +298,6 @@ return (function () {
'timer' => $checkTaskTimer((string)env('WS_CRON_INDEXES_AT', '0 3 * * 3'), '0 3 * * 3'),
'args' => env('WS_CRON_INDEXES_ARGS', '-v'),
],
- RequestsCommand::TASK_NAME => [
- 'command' => RequestsCommand::ROUTE,
- 'name' => RequestsCommand::TASK_NAME,
- 'info' => 'Process queued http requests.',
- 'enabled' => (bool)env('WS_CRON_REQUESTS', true),
- 'timer' => $checkTaskTimer((string)env('WS_CRON_REQUESTS_AT', '*/2 * * * *'), '*/2 * * * *'),
- 'args' => env('WS_CRON_REQUESTS_ARGS', '-v --no-stats'),
- ],
DispatchCommand::TASK_NAME => [
'command' => DispatchCommand::ROUTE,
'name' => DispatchCommand::TASK_NAME,
diff --git a/config/env.spec.php b/config/env.spec.php
index 936051f4..e7b0fc8f 100644
--- a/config/env.spec.php
+++ b/config/env.spec.php
@@ -161,6 +161,11 @@ return (function () {
'description' => 'All executing all commands in the console. They must be prefixed with $',
'type' => 'bool',
],
+ [
+ 'key' => 'WS_SYNC_PROGRESS',
+ 'description' => 'Enable watch progress sync.',
+ 'type' => 'bool',
+ ],
];
$validateCronExpression = function (string $value): string {
@@ -186,7 +191,7 @@ return (function () {
};
// -- Do not forget to update the tasks list if you add a new task.
- $tasks = ['import', 'export', 'push', 'progress', 'backup', 'prune', 'indexes', 'requests'];
+ $tasks = ['import', 'export', 'push', 'backup', 'prune', 'indexes'];
$task_env = [
[
'key' => 'WS_CRON_{TASK}',
diff --git a/frontend/components/Pager.vue b/frontend/components/Pager.vue
new file mode 100644
index 00000000..e6b49bb9
--- /dev/null
+++ b/frontend/components/Pager.vue
@@ -0,0 +1,70 @@
+
+
+ +
+No items found.
+{{
+ JSON.stringify(item.event_data, null, 2)
+ }}
+ + +
++ +
++ +
++ Event {{ item.event }} was created at + + + , and last updated at + + not started + + . + with status of {{ item.status }}: + {{ item.status_name }}. +
+{{
+ JSON.stringify(item.event_data, null, 2)
+ }}
+ {{
+ JSON.stringify(item.logs, null, 2)
+ }}
+ {{
+ JSON.stringify(item.options, null, 2)
+ }}
+ events endpoint.
state:requests task.
-
-
-
-
-