1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-03 17:59:37 +02:00

Merge branch 'release/7.2.0' into develop

This commit is contained in:
Chocobozzz 2025-07-16 13:39:11 +02:00
commit a60eeeff60
No known key found for this signature in database
GPG key ID: 583A612D890159BE
5 changed files with 46 additions and 16 deletions

View file

@ -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

View file

@ -1,6 +1,6 @@
{
"name": "peertube-client",
"version": "7.2.1",
"version": "7.2.2",
"private": true,
"license": "AGPL-3.0",
"author": {

View file

@ -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
}

View file

@ -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": {

View file

@ -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<VideoImportModel> {
targetUrl,
state: {
[Op.in]: [ VideoImportState.PENDING, VideoImportState.PROCESSING, VideoImportState.SUCCESS ]
}
},
include: [
{
model: VideoModel,
required: true,
where: {
channelId
}
}
]
},
videoChannelSyncId: channelId
}
})
return !!element