From b4d7bd49e03443391d43e05a5a806b3a6cd05728 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 16 Jul 2025 10:48:21 +0200 Subject: [PATCH 1/4] Fix channel sync duplicate after video deletion --- server/core/models/video/video-import.ts | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/server/core/models/video/video-import.ts b/server/core/models/video/video-import.ts index 9d2f628eb..b1152ba77 100644 --- a/server/core/models/video/video-import.ts +++ b/server/core/models/video/video-import.ts @@ -12,7 +12,8 @@ import { Default, DefaultScope, ForeignKey, - Is, Table, + Is, + Table, UpdatedAt } from 'sequelize-typescript' import { isVideoImportStateValid, isVideoImportTargetUrlValid } from '../../helpers/custom-validators/video-imports.js' @@ -47,7 +48,6 @@ const defaultVideoScope = () => { } ] })) - @Table({ tableName: 'videoImport', indexes: [ @@ -214,17 +214,9 @@ export class VideoImportModel extends SequelizeModel { targetUrl, state: { [Op.in]: [ VideoImportState.PENDING, VideoImportState.PROCESSING, VideoImportState.SUCCESS ] - } - }, - include: [ - { - model: VideoModel, - required: true, - where: { - channelId - } - } - ] + }, + videoChannelSyncId: channelId + } }) return !!element From c6ffcb7ce441d74cf2b0ce33fdf9cf2c5327a0c9 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 16 Jul 2025 11:39:57 +0200 Subject: [PATCH 2/4] Fix caption raw edition when editing segment --- .../captions/video-caption-edit-modal.component.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client/src/app/+videos-publish-manage/shared-manage/captions/video-caption-edit-modal.component.ts b/client/src/app/+videos-publish-manage/shared-manage/captions/video-caption-edit-modal.component.ts index f8ff5a460..859c97431 100644 --- a/client/src/app/+videos-publish-manage/shared-manage/captions/video-caption-edit-modal.component.ts +++ b/client/src/app/+videos-publish-manage/shared-manage/captions/video-caption-edit-modal.component.ts @@ -1,12 +1,12 @@ import { NgClass, NgIf } from '@angular/common' import { ChangeDetectorRef, Component, ElementRef, OnInit, inject, viewChild } from '@angular/core' import { FormsModule, ReactiveFormsModule } from '@angular/forms' +import { VideoCaptionEdit, VideoCaptionWithPathEdit } from '@app/+videos-publish-manage/shared-manage/common/video-caption-edit.model' import { VIDEO_CAPTION_FILE_CONTENT_VALIDATOR } from '@app/shared/form-validators/video-captions-validators' import { FormReactive } from '@app/shared/shared-forms/form-reactive' import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service' import { PeertubeCheckboxComponent } from '@app/shared/shared-forms/peertube-checkbox.component' import { TimestampInputComponent } from '@app/shared/shared-forms/timestamp-input.component' -import { VideoCaptionEdit, VideoCaptionWithPathEdit } from '@app/+videos-publish-manage/shared-manage/common/video-caption-edit.model' import { VideoCaptionService } from '@app/shared/shared-main/video-caption/video-caption.service' import { EmbedComponent } from '@app/shared/shared-main/video/embed.component' import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' @@ -107,6 +107,10 @@ export class VideoCaptionEditModalComponent extends FormReactive implements OnIn this.videoEdit = options.videoEdit this.captionEdited = options.captionEdited + this.rawEdit = false + this.segments = [] + this.segmentToUpdate = undefined + this.openedModal = this.modalService.open(this.modal(), { centered: true, size: 'xl', @@ -180,6 +184,7 @@ export class VideoCaptionEditModalComponent extends FormReactive implements OnIn onRawEditSwitch () { if (this.rawEdit === true) { + this.segmentToUpdate = undefined this.form.patchValue({ captionFileContent: this.formatSegments() }) this.resetTextarea() } else { @@ -336,6 +341,7 @@ export class VideoCaptionEditModalComponent extends FormReactive implements OnIn updateCaption () { if (this.segmentToUpdate) { + console.log(this.segmentToUpdate) this.notifier.error($localize`A segment is being edited. Save or cancel your edits first.`) return } From aa5687ca77e45740f34a1bf886e61ce7b19d671a Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 16 Jul 2025 13:11:02 +0200 Subject: [PATCH 3/4] Update changelog --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d35d15dfa..1ae644e7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,37 @@ # Changelog +## v7.2.2 + +### SECURITY + + * Prevent ReDOS from `useragent` package by removing deprecated Do Not Track feature. Thanks to Patrick Bohn Matthiesen and [Leonora](https://github.com/herover) from IT University of Copenhagen for reporting this vulnerability! + +### Bug fixes + + * Correctly display bulk actions button in "My videos" + * Keep playlist name original casing in "My videos" + * Fix PIP button z-index on Firefox + * More robust S3 upload and ACL error handler + * Fix broken video state on S3 move failure + * Reset filters when loading query params in "Browse videos" + * Fix upload tab title when the file is uploaded + * Fix follow card overflow in about page + * Convert to full UUID request param `id` in `filter:html.embed.video.allowed.result` and `filter:html.embed.video-playlist.allowed.result` plugin hooks + * Fix HLS playback issue on Chrome 138 + * Fix selecting frame on Safari + * Fix input search with multiple prefix tokens + * Fix channel sync duplicate after video deletion + * Fix caption raw edition when editing segment + * Fix accessibility issues: + * Fix embed title/avatar accessibility + * Add player P2P up/down info aria label + * Support escape key in the player settings menu + * Support arrow left/right navigation in the settings menu + * Fix entry focus when navigating in the settings menu + * Add aria controls attribute to settings button + * Thanks to [Woebin](https://github.com/Woebin) from [Access Lab](https://axesslab.com/) and [HowlRound Theatre Commons](https://howlround.com/) for conducting the player accessibility audit! + + ## v7.2.1 ### Bug fixes From 3a93b3154cd28bb8e6a605c2ed5b503512a26fec Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 16 Jul 2025 13:11:29 +0200 Subject: [PATCH 4/4] Bumped to version v7.2.2 --- client/package.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/package.json b/client/package.json index 79a71e1e5..233233b99 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "peertube-client", - "version": "7.2.1", + "version": "7.2.2", "private": true, "license": "AGPL-3.0", "author": { diff --git a/package.json b/package.json index 0192d38fa..e1dc4a9b6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "peertube", "description": "PeerTube, an ActivityPub-federated video streaming platform using P2P directly in your web browser.", - "version": "7.2.1", + "version": "7.2.2", "private": true, "licence": "AGPL-3.0", "engines": {