diff --git a/API/API.csproj b/API/API.csproj
index 04cfd2296..39c6ab5aa 100644
--- a/API/API.csproj
+++ b/API/API.csproj
@@ -68,7 +68,6 @@
-
@@ -102,7 +101,7 @@
-
+
diff --git a/API/Controllers/ScrobblingController.cs b/API/Controllers/ScrobblingController.cs
index 3e623de92..9707bbf61 100644
--- a/API/Controllers/ScrobblingController.cs
+++ b/API/Controllers/ScrobblingController.cs
@@ -44,7 +44,7 @@ public class ScrobblingController : BaseApiController
///
///
[HttpGet("anilist-token")]
- public async Task GetAniListToken()
+ public async Task> GetAniListToken()
{
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync(User.GetUsername());
if (user == null) return Unauthorized();
diff --git a/API/Services/Plus/LicenseService.cs b/API/Services/Plus/LicenseService.cs
index 5299cd255..439a1aaf5 100644
--- a/API/Services/Plus/LicenseService.cs
+++ b/API/Services/Plus/LicenseService.cs
@@ -174,6 +174,8 @@ public class LicenseService(
catch (Exception ex)
{
logger.LogError(ex, "There was an issue connecting to Kavita+");
+ await provider.FlushAsync();
+ await provider.SetAsync(CacheKey, false, _licenseCacheTimeout);
}
return false;
diff --git a/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.html b/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.html
index 2436defa7..032d6ef23 100644
--- a/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.html
+++ b/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.html
@@ -4,7 +4,13 @@
- {{series.name}}
+ {{series.name}}
+ @if(isLoadingExtra || isLoading) {
+
+ loading...
+
+ }
+
diff --git a/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.ts b/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.ts
index 2b244924f..08020a850 100644
--- a/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.ts
+++ b/UI/Web/src/app/series-detail/_components/series-detail/series-detail.component.ts
@@ -200,6 +200,7 @@ export class SeriesDetailComponent implements OnInit, AfterContentChecked {
isAdmin = false;
hasDownloadingRole = false;
isLoading = true;
+ isLoadingExtra = false;
showBook = true;
currentlyReadingChapter: Chapter | undefined = undefined;
@@ -708,7 +709,11 @@ export class SeriesDetailComponent implements OnInit, AfterContentChecked {
loadPlusMetadata(seriesId: number, libraryType: LibraryType) {
+ this.isLoadingExtra = true;
+ this.cdRef.markForCheck();
this.metadataService.getSeriesMetadataFromPlus(seriesId, libraryType).subscribe(data => {
+ this.isLoadingExtra = false;
+ this.cdRef.markForCheck();
if (data === null) return;
// Reviews
diff --git a/UI/Web/src/app/shared/loading/loading.component.ts b/UI/Web/src/app/shared/loading/loading.component.ts
index c153d8c5e..d45607e7e 100644
--- a/UI/Web/src/app/shared/loading/loading.component.ts
+++ b/UI/Web/src/app/shared/loading/loading.component.ts
@@ -19,6 +19,4 @@ export class LoadingComponent {
* Uses absolute positioning to ensure it loads over content
*/
@Input() absolute: boolean = false;
-
- constructor() { }
}
diff --git a/openapi.json b/openapi.json
index d023cabb2..a34bcaf7d 100644
--- a/openapi.json
+++ b/openapi.json
@@ -7,7 +7,7 @@
"name": "GPL-3.0",
"url": "https://github.com/Kareadita/Kavita/blob/develop/LICENSE"
},
- "version": "0.7.13.17"
+ "version": "0.7.13.18"
},
"servers": [
{
@@ -7238,7 +7238,24 @@
"summary": "Get the current user's AniList token",
"responses": {
"200": {
- "description": "Success"
+ "description": "Success",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ },
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ },
+ "text/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
}
}
}