Compare commits

..

4 Commits

Author SHA1 Message Date
Jonathan Jogenfors
03797e8cf8 Merge branch 'main' of https://github.com/immich-app/immich into feat/web-chromecast-video-looping 2026-02-03 23:37:20 +01:00
Jason Rasmussen
3ea65f8d27 fix: album dto docs (#25873) 2026-02-03 21:05:18 +00:00
Jonathan Jogenfors
4cff61e035 Merge branch 'main' of https://github.com/immich-app/immich into feat/web-chromecast-video-looping 2026-02-02 22:55:46 +01:00
Jonathan Jogenfors
38b58902fe feat(web): loop chromecast video 2025-12-05 22:17:51 +01:00
4 changed files with 11 additions and 6 deletions

View File

@@ -473,7 +473,7 @@ class AlbumsApi {
/// Filter albums containing this asset ID (ignores shared parameter)
///
/// * [bool] shared:
/// Filter by shared status: true = only shared, false = only own, undefined = all
/// Filter by shared status: true = only shared, false = not shared, undefined = all owned albums
Future<Response> getAllAlbumsWithHttpInfo({ String? assetId, bool? shared, }) async {
// ignore: prefer_const_declarations
final apiPath = r'/albums';
@@ -516,7 +516,7 @@ class AlbumsApi {
/// Filter albums containing this asset ID (ignores shared parameter)
///
/// * [bool] shared:
/// Filter by shared status: true = only shared, false = only own, undefined = all
/// Filter by shared status: true = only shared, false = not shared, undefined = all owned albums
Future<List<AlbumResponseDto>?> getAllAlbums({ String? assetId, bool? shared, }) async {
final response = await getAllAlbumsWithHttpInfo( assetId: assetId, shared: shared, );
if (response.statusCode >= HttpStatus.badRequest) {

View File

@@ -1618,7 +1618,7 @@
"name": "shared",
"required": false,
"in": "query",
"description": "Filter by shared status: true = only shared, false = only own, undefined = all",
"description": "Filter by shared status: true = only shared, false = not shared, undefined = all owned albums",
"schema": {
"type": "boolean"
}

View File

@@ -102,7 +102,7 @@ export class UpdateAlbumDto {
export class GetAlbumsDto {
@ValidateBoolean({
optional: true,
description: 'Filter by shared status: true = only shared, false = only own, undefined = all',
description: 'Filter by shared status: true = only shared, false = not shared, undefined = all owned albums',
})
shared?: boolean;

View File

@@ -115,12 +115,17 @@ export class GCastDestination implements ICastDestination {
// build the authenticated media request and send it to the cast device
const authenticatedUrl = `${mediaUrl}&sessionKey=${sessionKey}`;
const mediaInfo = new chrome.cast.media.MediaInfo(authenticatedUrl, contentType);
const request = new chrome.cast.media.LoadRequest(mediaInfo);
// Create a queue with a single item and set it to repeat
const queueItem = new chrome.cast.media.QueueItem(mediaInfo);
const queueLoadRequest = new chrome.cast.media.QueueLoadRequest([queueItem]);
queueLoadRequest.repeatMode = chrome.cast.media.RepeatMode.SINGLE;
const successCallback = this.onMediaDiscovered.bind(this, SESSION_DISCOVERY_CAUSE.LOAD_MEDIA);
this.currentUrl = mediaUrl;
return this.session.loadMedia(request, successCallback, this.onError.bind(this));
return this.session.queueLoad(queueLoadRequest, successCallback, this.onError.bind(this));
}
///