diff --git a/CHANGELOG.md b/CHANGELOG.md
index 27c61a7..03f7b15 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 1.5.5 - 2024-02-04
+
+### Fixed
+- Can't open podcast details if cache missing or misconfigured
+[#58](https://git.crystalyx.net/Xefir/repod/issues/58) reported by @raxventus
+
## 1.5.4 - 2024-02-03
### Fixed
diff --git a/appinfo/info.xml b/appinfo/info.xml
index d0e7faa..6c29ec5 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -11,7 +11,7 @@
## Requirements
You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!]]>
- 1.5.4
+ 1.5.5
agpl
Michel Roux
RePod
diff --git a/composer.json b/composer.json
index b804a2e..fa8f356 100644
--- a/composer.json
+++ b/composer.json
@@ -3,7 +3,7 @@
"description": "🔊 Browse, manage and listen to podcasts",
"type": "project",
"license": "AGPL-3.0-or-later",
- "version": "1.5.4",
+ "version": "1.5.5",
"require-dev": {
"nextcloud/ocp": "^28.0.2",
"psalm/phar": "^5.21.1",
diff --git a/composer.lock b/composer.lock
index 9871919..2ce8817 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "24b25bff61f30cdac13ab8ab1f354e2e",
+ "content-hash": "aece96039421382f21a6a2eca3610280",
"packages": [],
"packages-dev": [
{
diff --git a/lib/Controller/PodcastController.php b/lib/Controller/PodcastController.php
index 896f7b1..c7c5528 100644
--- a/lib/Controller/PodcastController.php
+++ b/lib/Controller/PodcastController.php
@@ -23,7 +23,11 @@ class PodcastController extends Controller
}
public function index(string $url): JSONResponse {
- $podcast = $this->podcastDataReader->tryGetCachedPodcastData($url);
+ try {
+ $podcast = $this->podcastDataReader->tryGetCachedPodcastData($url);
+ } catch (\Exception $e) {
+ $podcast = null;
+ }
if ($podcast) {
return new JSONResponse($podcast);
@@ -32,7 +36,11 @@ class PodcastController extends Controller
$client = $this->clientService->newClient();
$feed = $client->get($url);
$podcast = PodcastData::parseRssXml((string) $feed->getBody());
- $this->podcastDataReader->trySetCachedPodcastData($url, $podcast);
+
+ try {
+ $this->podcastDataReader->trySetCachedPodcastData($url, $podcast);
+ } catch (\Exception $e) {
+ }
return new JSONResponse($podcast, $feed->getStatusCode());
}
diff --git a/package-lock.json b/package-lock.json
index 8113069..0e309b6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "repod",
- "version": "1.5.4",
+ "version": "1.5.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "repod",
- "version": "1.5.4",
+ "version": "1.5.5",
"license": "agpl",
"dependencies": {
"@nextcloud/axios": "^2.4.0",
@@ -3634,9 +3634,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "4.17.42",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.42.tgz",
- "integrity": "sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==",
+ "version": "4.17.43",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz",
+ "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==",
"dev": true,
"peer": true,
"dependencies": {
@@ -4892,14 +4892,17 @@
}
},
"node_modules/array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
"dev": true,
"peer": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -7419,6 +7422,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-errors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.0.0.tgz",
+ "integrity": "sha512-yHV74THqMJUyFKkHyN7hyENcEZM3Dj2a2IrdClY+IT4BFQHkIVwlh8s6uZfjsFydMdNHv0F5mWgAA3ajFbsvVQ==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-module-lexer": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
@@ -9043,17 +9056,21 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
- "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.3.tgz",
+ "integrity": "sha512-JIcZczvcMVE7AUOP+X72bh8HqHBRxFdz5PDHYtNG/lE3yk9b3KZBJlwFcTyPYjg3L4RLLmZJzvjxhaZVapxFrQ==",
"dev": true,
"peer": true,
"dependencies": {
+ "es-errors": "^1.0.0",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -14329,9 +14346,9 @@
}
},
"node_modules/postcss-html/node_modules/js-tokens": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.2.tgz",
- "integrity": "sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==",
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz",
+ "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==",
"dev": true,
"peer": true
},
diff --git a/package.json b/package.json
index 1c93700..09b609b 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "repod",
"description": "🔊 Browse, manage and listen to podcasts",
- "version": "1.5.4",
+ "version": "1.5.5",
"bugs": {
"url": "https://git.crystalyx.net/Xefir/repod/issues"
},