Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Framasoft
PeerTube
PeerTube
Commits
0f07c289
Verified
Commit
0f07c289
authored
Jun 20, 2022
by
Chocobozzz
Browse files
Correctly handle unknown remote actor image size
parent
73114c10
Changes
1
Hide whitespace changes
Inline
Side-by-side
server/controllers/lazy-static.ts
View file @
0f07c289
import
cors
from
'
cors
'
import
express
from
'
express
'
import
{
VideosTorrentCache
}
from
'
@server/lib/files-cache/videos-torrent-cache
'
import
{
MActorImage
}
from
'
@server/types/models
'
import
{
HttpStatusCode
}
from
'
../../shared/models/http/http-error-codes
'
import
{
logger
}
from
'
../helpers/logger
'
import
{
LAZY_STATIC_PATHS
,
STATIC_MAX_AGE
}
from
'
../initializers/constants
'
import
{
ACTOR_IMAGES_SIZE
,
LAZY_STATIC_PATHS
,
STATIC_MAX_AGE
}
from
'
../initializers/constants
'
import
{
VideosCaptionCache
,
VideosPreviewCache
}
from
'
../lib/files-cache
'
import
{
actorImagePathUnsafeCache
,
pushActorImageProcessInQueue
}
from
'
../lib/local-actor
'
import
{
asyncMiddleware
}
from
'
../middlewares
'
...
...
@@ -67,10 +68,7 @@ async function getActorImage (req: express.Request, res: express.Response, next:
await
pushActorImageProcessInQueue
({
filename
:
image
.
filename
,
fileUrl
:
image
.
fileUrl
,
size
:
{
height
:
image
.
height
,
width
:
image
.
width
},
size
:
getActorImageSize
(
image
),
type
:
image
.
type
})
}
catch
(
err
)
{
...
...
@@ -94,7 +92,7 @@ async function getActorImage (req: express.Request, res: express.Response, next:
if
(
err
.
status
===
HttpStatusCode
.
NOT_FOUND_404
&&
!
image
.
isOwned
())
{
logger
.
error
(
'
Cannot lazy serve actor image %s.
'
,
filename
,
{
err
})
actorImagePathUnsafeCache
.
del
(
filename
)
actorImagePathUnsafeCache
.
del
ete
(
filename
)
image
.
onDisk
=
false
image
.
save
()
...
...
@@ -105,6 +103,17 @@ async function getActorImage (req: express.Request, res: express.Response, next:
})
}
function
getActorImageSize
(
image
:
MActorImage
):
{
width
:
number
,
height
:
number
}
{
if
(
image
.
width
&&
image
.
height
)
{
return
{
height
:
image
.
height
,
width
:
image
.
width
}
}
return
ACTOR_IMAGES_SIZE
[
image
.
type
][
0
]
}
async
function
getPreview
(
req
:
express
.
Request
,
res
:
express
.
Response
)
{
const
result
=
await
VideosPreviewCache
.
Instance
.
getFilePath
(
req
.
params
.
filename
)
if
(
!
result
)
return
res
.
status
(
HttpStatusCode
.
NOT_FOUND_404
).
end
()
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment