Chocobozzz
efa3fef23e
Fix notification on create transcoding job
2021-10-08 15:40:23 +02:00
Chocobozzz
b4c945f3c7
Fix config injection with custom HTML/CSS
2021-09-09 09:13:45 +02:00
Chocobozzz
1c93ad0778
Fix object storage multipart upload
2021-09-08 16:45:02 +02:00
Chocobozzz
fb72d2e1c2
Fix infohash with object storage
2021-09-07 15:16:26 +02:00
Chocobozzz
02b286f890
More robust webtorrent redundancy download
...
Avoid issues with inconsistencies between magnet infohash and torrent
infohash, blocking webtorrent upload that will timeout
2021-09-06 16:19:49 +02:00
Chocobozzz
41fb13c330
esModuleInterop to true
2021-08-27 15:12:22 +02:00
Chocobozzz
0bae66632a
More logs for webtorrent download
2021-08-26 15:19:11 +02:00
Chocobozzz
52b1fd15fa
Better logs for redundancy
2021-08-26 11:02:41 +02:00
Chocobozzz
5a298a5a3d
Better logs for transcoding
2021-08-26 10:01:42 +02:00
Chocobozzz
98ab5dc810
Remove useless async
2021-08-26 10:01:42 +02:00
Chocobozzz
1d1da33661
More robust optimize transcoding job
2021-08-18 10:59:38 +02:00
Chocobozzz
0d4a3c62ab
Set ACL when uploading objects
2021-08-18 09:19:09 +02:00
Chocobozzz
1f6125be8b
Optimize torrent URL update
2021-08-18 09:14:51 +02:00
Chocobozzz
66a7fc9473
Remove optimize old videos script
...
It is not compatible with HLS and I don't have time to maintain it
2021-08-17 10:33:36 +02:00
Jelle Besseling
0305db28c9
Add support for saving video files to object storage ( #4290 )
...
* Add support for saving video files to object storage
* Add support for custom url generation on s3 stored files
Uses two config keys to support url generation that doesn't directly go
to (compatible s3). Can be used to generate urls to any cache server or
CDN.
* Upload files to s3 concurrently and delete originals afterwards
* Only publish after move to object storage is complete
* Use base url instead of url template
* Fix mistyped config field
* Add rudenmentary way to download before transcode
* Implement Chocobozzz suggestions
https://github.com/Chocobozzz/PeerTube/pull/4290#issuecomment-891670478
The remarks in question:
Try to use objectStorage prefix instead of s3 prefix for your function/variables/config names
Prefer to use a tree for the config: s3.streaming_playlists_bucket -> object_storage.streaming_playlists.bucket
Use uppercase for config: S3.STREAMING_PLAYLISTS_BUCKETINFO.bucket -> OBJECT_STORAGE.STREAMING_PLAYLISTS.BUCKET (maybe BUCKET_NAME instead of BUCKET)
I suggest to rename moveJobsRunning to pendingMovingJobs (or better, create a dedicated videoJobInfo table with a pendingMove & videoId columns so we could also use this table to track pending transcoding jobs)
https://github.com/Chocobozzz/PeerTube/pull/4290/files#diff-3e26d41ca4bda1de8e1747af70ca2af642abcc1e9e0bfb94239ff2165acfbde5R19 uses a string instead of an integer
I think we should store the origin object storage URL in fileUrl, without base_url injection. Instead, inject the base_url at "runtime" so admins can easily change this configuration without running a script to update DB URLs
* Import correct function
* Support multipart upload
* Remove import of node 15.0 module stream/promises
* Extend maximum upload job length
Using the same value as for redundancy downloading seems logical
* Use dynamic part size for really large uploads
Also adds very small part size for local testing
* Fix decreasePendingMove query
* Resolve various PR comments
* Move to object storage after optimize
* Make upload size configurable and increase default
* Prune webtorrent files that are stored in object storage
* Move files after transcoding jobs
* Fix federation
* Add video path manager
* Support move to external storage job in client
* Fix live object storage tests
Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-08-17 08:26:20 +02:00
Chocobozzz
18998c45c0
Correctly handle large HLS files for redundancy
2021-08-06 15:25:45 +02:00
Chocobozzz
679c12e69c
Improve target bitrate calculation
2021-08-06 14:13:26 +02:00
Chocobozzz
c826f34a45
Limit live bitrate
2021-08-06 10:39:40 +02:00
Chocobozzz
e83d06a702
Remove deprecated transcoding job names
2021-08-05 14:29:44 +02:00
Chocobozzz
352819ef92
Do not index remote actors
2021-08-05 13:29:55 +02:00
Chocobozzz
d26836cd95
Refactor notifier
2021-08-02 10:39:51 +02:00
Chocobozzz
a892c54a82
Fix oembed for playlists
2021-07-27 17:37:59 +02:00
Chocobozzz
5d0095fde1
Fix build
2021-07-26 16:05:49 +02:00
Chocobozzz
15a7eafb89
Refactor video links builders
2021-07-26 15:04:37 +02:00
Chocobozzz
764b1a14fc
Use random names for VOD HLS playlists
2021-07-26 11:29:31 +02:00
Chocobozzz
83903cb65d
Generate random uuid for video files
2021-07-26 11:29:31 +02:00
Chocobozzz
7a397c7f15
Upgrade server dependencies
2021-07-22 12:01:58 +02:00
Chocobozzz
a24bd1ed41
Merge branch 'next' into develop
2021-07-21 15:51:30 +02:00
Chocobozzz
4d029ef8ec
Add ability for instances to follow any actor
2021-07-21 13:35:31 +02:00
Chocobozzz
c0e8b12e7f
Refactor requests
2021-07-20 15:27:18 +02:00
Chocobozzz
12edc1495a
Introduce comments command
2021-07-20 15:27:18 +02:00
lutangar
dc3d902234
Introduce generic video constant manager for plugins
...
Allow a plugin developer to get back constants values,
and reset constants deletions or additions.
2021-07-16 17:49:40 +02:00
Chocobozzz
c171d85253
Fix webfinger tls only
2021-07-01 17:04:13 +02:00
Chocobozzz
06c2759338
Fix hooks definition
2021-07-01 16:47:14 +02:00
Chocobozzz
9c2e051c56
Handle broken plugin install
2021-06-30 11:45:20 +02:00
Chocobozzz
d4a8e7a65f
Support short uuid for GET video/playlist
2021-06-29 14:56:35 +02:00
Chocobozzz
37a44fc915
Add ability to search playlists
2021-06-25 14:44:01 +02:00
Chocobozzz
33eb19e519
It's not the week-end yet
2021-06-17 17:25:19 +02:00
Chocobozzz
e466544fb9
Fix muxing cleanup
2021-06-17 17:09:58 +02:00
Chocobozzz
52fb1d97ba
Fix prune storage tests
2021-06-17 11:09:54 +02:00
Chocobozzz
609a444202
Fix memory leak
2021-06-17 09:47:41 +02:00
Chocobozzz
c6406f4750
Don't retry UpdateVideosScheduler transactions
2021-06-17 08:51:29 +02:00
Chocobozzz
8ebf2a5d5d
Refactor live manager
2021-06-17 08:47:03 +02:00
Chocobozzz
fd6584844b
Resolve object id from actors too
2021-06-16 10:01:31 +02:00
Chocobozzz
799ece6aae
Add ability to delete previously added constants
2021-06-15 15:18:11 +02:00
Chocobozzz
4c3e4c3d93
Fix lint
2021-06-15 14:19:30 +02:00
Chocobozzz
eae0365b5c
Fix missing transactions
2021-06-15 10:40:06 +02:00
Chocobozzz
e54bd458c1
Remove unnecessary await
2021-06-15 10:40:06 +02:00
Chocobozzz
7500d6c900
Use a global request timeout
2021-06-15 08:21:31 +02:00
Chocobozzz
a9fbc2aaa1
Handle short video links
2021-06-14 16:05:25 +02:00
Chocobozzz
367994c521
Improve captions AP updater
2021-06-14 13:35:52 +02:00
Chocobozzz
fd6a74a835
Refactor schedule update
2021-06-11 14:33:34 +02:00
Chocobozzz
20a206c3d1
Refactor include checks
2021-06-11 14:26:37 +02:00
Chocobozzz
71d4af1efc
Use raw SQL for most of video queries
2021-06-11 14:09:52 +02:00
Chocobozzz
ca4b4b2e55
Fetch directly all video attributes for get API
2021-06-11 09:57:19 +02:00
Chocobozzz
e5dbd5084e
Refactor video query builder
2021-06-10 09:22:58 +02:00
Chocobozzz
57a0a9cde4
Optimize AP video captions update
2021-06-09 16:22:01 +02:00
Chocobozzz
4ead40e776
Cache refresh actor promise
2021-06-09 13:34:40 +02:00
Chocobozzz
bbfdeb3921
Fix actor image update
2021-06-08 18:12:49 +02:00
Chocobozzz
28dfb44b14
Try to speed up AP update transaction
2021-06-08 17:41:48 +02:00
Chocobozzz
9de33c6bd9
Add logs for refresh functions
2021-06-08 16:22:23 +02:00
Chocobozzz
7ffa92d6e4
Log rate AP fetch error as info
...
It's not really a warning, we could have many invalid rates in the
federation
2021-06-08 13:57:08 +02:00
Chocobozzz
318b0bd0c2
Fix "height not divisible by 2" ffmpeg error
2021-06-08 11:28:51 +02:00
Chocobozzz
765b150245
Fix lint
2021-06-08 10:19:04 +02:00
Chocobozzz
ea54cd04c1
Fix video upload with a capitalized ext
2021-06-08 10:01:50 +02:00
Chocobozzz
9cc4b9c61f
Fix process delete promise return
2021-06-07 13:20:08 +02:00
Chocobozzz
91f8f8db97
createThumbnail -> updateThumbnail
2021-06-04 15:45:44 +02:00
Chocobozzz
868fce62f8
fetch -> load
...
avoid confusion with AP fetch functions
2021-06-03 18:10:56 +02:00
Chocobozzz
10363c74c1
Move middleware utils in middlewares
...
helpers modules should not import models
2021-06-03 18:03:36 +02:00
Chocobozzz
5e08989ede
Add tags to AP rate logger
2021-06-03 17:12:38 +02:00
Chocobozzz
908e6ead78
Refactor AP video logger tags
2021-06-03 16:56:42 +02:00
Chocobozzz
136d7efde7
Refactor AP actors
2021-06-03 16:40:32 +02:00
Chocobozzz
49af5ac8c2
Refactor AP playlists
2021-06-03 16:40:32 +02:00
Chocobozzz
463206948d
Add tags to logs in AP videos
2021-06-02 16:57:53 +02:00
Chocobozzz
e872632091
Refactor sync attributes
2021-06-02 16:57:53 +02:00
Chocobozzz
304a84d59c
Refactor getOrCreateAPVideo
2021-06-02 16:57:53 +02:00
Chocobozzz
c56faf0d94
Move AP video channel creation
2021-06-02 16:57:53 +02:00
Chocobozzz
08a47c75f9
Refactor AP video create/update
2021-06-02 16:57:53 +02:00
Chocobozzz
69290ab37b
Refactor AP video update
2021-06-02 16:57:53 +02:00
Rigel Kent
76148b27f7
refactor API errors to standard error format
2021-06-02 16:57:07 +02:00
Chocobozzz
d88a3ea5e3
Process redundancy stats in series
2021-06-01 11:03:52 +02:00
Poslovitch
1f256e7d3c
Implemented configurable minimum signup age
...
Implements https://github.com/Chocobozzz/PeerTube/issues/3612
Fixed lint and removed debug
Fixed another lint error
Apply suggestions from code review
Co-authored-by: Chocobozzz <chocobozzz@cpy.re>
Add tests for min signup age config
2021-05-28 13:56:05 +02:00
Chocobozzz
9e2e51dc0b
Add tags to live logger
2021-05-28 13:05:59 +02:00
Chocobozzz
012580d98f
Cleanup
...
We must not expose private actor objects to clients
Just make 2 GET requests on channel/accounts instead
2021-05-28 10:22:50 +02:00
Chocobozzz
8f608a4cb2
Merge branch 'develop' into shorter-URLs-channels-accounts
2021-05-27 16:12:41 +02:00
Chocobozzz
2539932e16
Instance homepage support ( #4007 )
...
* Prepare homepage parsers
* Add ability to update instance hompage
* Add ability to set homepage as landing page
* Add homepage preview in admin
* Dynamically update left menu for homepage
* Inject home content in homepage
* Add videos list and channel miniature custom markup
* Remove unused elements in markup service
2021-05-27 15:59:55 +02:00
Chocobozzz
8ee37c5f38
Merge branch 'release/3.2.0' into develop
2021-05-26 13:41:15 +02:00
Chocobozzz
53e7f82fe3
Fix redundancy max size
2021-05-26 09:44:16 +02:00
Chocobozzz
aea0b0e7cd
Inject server config in HTML
2021-05-14 13:37:23 +02:00
Chocobozzz
16c016e8b1
Stricter models typing
2021-05-12 14:12:14 +02:00
Chocobozzz
428ccb8b7a
Reorganize plugin models
2021-05-11 13:33:11 +02:00
Chocobozzz
2b02c520e6
Cleanup shared models
2021-05-11 11:32:31 +02:00
Chocobozzz
7d9ba5c089
Cleanup models directory organization
2021-05-11 11:32:31 +02:00
Chocobozzz
c07902b908
Move transcoding files in their own directory
2021-05-11 11:32:31 +02:00
Chocobozzz
1bcb03a100
Use a class for youtube-dl
2021-05-11 11:32:31 +02:00
kontrollanten
f6d6e7f861
Resumable video uploads ( #3933 )
...
* WIP: resumable video uploads
relates to #324
* fix review comments
* video upload: error handling
* fix audio upload
* fixes after self review
* Update server/controllers/api/videos/index.ts
Co-authored-by: Rigel Kent <par@rigelk.eu>
* Update server/middlewares/validators/videos/videos.ts
Co-authored-by: Rigel Kent <par@rigelk.eu>
* Update server/controllers/api/videos/index.ts
Co-authored-by: Rigel Kent <par@rigelk.eu>
* update after code review
* refactor upload route
- restore multipart upload route
- move resumable to dedicated upload-resumable route
- move checks to middleware
- do not leak internal fs structure in response
* fix yarn.lock upon rebase
* factorize addVideo for reuse in both endpoints
* add resumable upload API to openapi spec
* add initial test and test helper for resumable upload
* typings for videoAddResumable middleware
* avoid including aws and google packages via node-uploadx, by only including uploadx/core
* rename ex-isAudioBg to more explicit name mentioning it is a preview file for audio
* add video-upload-tmp-folder-cleaner job
* stronger typing of video upload middleware
* reduce dependency to @uploadx/core
* add audio upload test
* refactor resumable uploads cleanup from job to scheduler
* refactor resumable uploads scheduler to compare to last execution time
* make resumable upload validator to always cleanup on failure
* move legacy upload request building outside of uploadVideo test helper
* filter upload-resumable middlewares down to POST, PUT, DELETE
also begin to type metadata
* merge add duration functions
* stronger typings and documentation for uploadx behaviour, move init validator up
* refactor(client/video-edit): options > uploadxOptions
* refactor(client/video-edit): remove obsolete else
* scheduler/remove-dangling-resum: rename tag
* refactor(server/video): add UploadVideoFiles type
* refactor(mw/validators): restructure eslint disable
* refactor(mw/validators/videos): rename import
* refactor(client/vid-upload): rename html elem id
* refactor(sched/remove-dangl): move fn to method
* refactor(mw/async): add method typing
* refactor(mw/vali/video): double quote > single
* refactor(server/upload-resum): express use > all
* proper http methud enum server/middlewares/async.ts
* properly type http methods
* factorize common video upload validation steps
* add check for maximum partially uploaded file size
* fix audioBg use
* fix extname(filename) in addVideo
* document parameters for uploadx's resumable protocol
* clear META files in scheduler
* last audio refactor before cramming preview in the initial POST form data
* refactor as mulitpart/form-data initial post request
this allows preview/thumbnail uploads alongside the initial request,
and cleans up the upload form
* Add more tests for resumable uploads
* Refactor remove dangling resumable uploads
* Prepare changelog
* Add more resumable upload tests
* Remove user quota check for resumable uploads
* Fix upload error handler
* Update nginx template for upload-resumable
* Cleanup comment
* Remove unused express methods
* Prefer to use got instead of raw http
* Don't retry on error 500
Co-authored-by: Rigel Kent <par@rigelk.eu>
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-05-10 11:13:41 +02:00
Chocobozzz
e024fd6a74
Update channel updatedAt when uploading a video
2021-05-10 09:38:11 +02:00
Chocobozzz
a66c2e3252
Fix remote actor creation date
2021-05-07 09:00:09 +02:00
kontrollanten
66f77f6343
server: fix HLS playlist format
...
Remove prefixed comma when there's no video codec.
2021-05-06 08:47:43 +02:00
Chocobozzz
b31d72625d
Plugin user.getAuthUser is now async
...
So we can load the full user
2021-05-05 15:26:28 +02:00
Kimsible
9a911038d9
Add shorter URLs for accounts and channels server-side
2021-05-05 11:47:03 +02:00
Chocobozzz
36217ac537
Fix lint
2021-05-05 09:55:01 +02:00
Chocobozzz
a6e37eebfb
Fix transcoding job priority
...
New resolution jobs are also important if waiting for transcoding is
enabled since we publish the video after the first resolution generation
2021-05-05 09:32:20 +02:00
Chocobozzz
302eba0d89
Add data directory for plugins and some helpers
2021-04-22 10:55:28 +02:00
Chocobozzz
b7a27f2860
Add sendmail log in server
2021-04-21 15:18:22 +02:00
Chocobozzz
67baf6478a
Allow plugins to set short translation locale
2021-04-20 16:14:09 +02:00
Chocobozzz
24a792404c
Support async onSettingsChange
2021-04-20 16:02:15 +02:00
Rigel Kent
a073c91270
modify tests to support current behaviour regarding plaintext description
2021-04-13 15:45:09 +02:00
Rigel Kent
84bced652c
render markdown and plainify descriptions on previews
2021-04-13 15:45:09 +02:00
Chocobozzz
1a578165f9
Fix lint
2021-04-12 17:00:21 +02:00
Chocobozzz
c24822a8fd
Don't save other attributes when set as refreshed
2021-04-12 13:44:58 +02:00
Rigel Kent
fe19f600da
add channel and playlist stats to server stats endpoint ( #3747 )
...
* add channel and playlist stats to nodeinfo
* add tests for active video channels stats
* fix tests for active channel stats
2021-04-12 11:19:07 +02:00
Chocobozzz
8280d0c227
Ensure to install supported plugins
2021-04-12 10:10:48 +02:00
Chocobozzz
78ec174cca
Don't retry failed transaction for refresh
...
It's just a refresh and could lead to some issues in our tests. If there
is a transaction conflict, it means that the same video is already
beeing updated so aborting should be fine
2021-04-09 16:29:38 +02:00
Chocobozzz
a60696ab18
Add scale filter to documentation
2021-04-09 15:53:18 +02:00
Théo Le Calvar
5fb7cfbac5
add support for inputOptions in trancode plugins
2021-04-09 15:53:18 +02:00
Chocobozzz
22820226e5
Add server plugin helpers
2021-04-09 15:17:43 +02:00
Chocobozzz
bae9303726
Also decache config
2021-04-09 09:37:46 +02:00
John Livingston
09d535ef98
Fix #3940 : unload all children from the plugin module on updates.
2021-04-09 09:32:16 +02:00
Chocobozzz
84531547bc
Add size info in db for actor images
2021-04-08 13:38:04 +02:00
Chocobozzz
a0eeb45f14
Update data in DB when regenerate thumbnails
2021-04-08 13:38:04 +02:00
Chocobozzz
213e30ef90
Add banner tests
2021-04-08 10:07:53 +02:00
Chocobozzz
2cb03dc1f4
Add banners support
2021-04-08 10:07:53 +02:00
Chocobozzz
f479685678
Agnostic actor image storage
2021-04-08 10:07:53 +02:00
Thavarasa Prasanth
4097c6d66c
fix missing title attribute on <iframe> tag suggested for embedding ( #3901 )
...
* title attribute is missing on <iframe> tag suggested for embedding #3861
* fix #3901
* fix: escapeHTML #3901
* fix: playlist title instead of video title #3901
* fix #3901
* assign title directly #3901
2021-03-31 08:32:05 +02:00
Chocobozzz
4bc45da342
Add hooks support for video download
2021-03-24 18:18:41 +01:00
Chocobozzz
97aeb3cc46
Fix external on logout hook
2021-03-24 18:18:41 +01:00
Chocobozzz
f43db2f46e
Refactor auth flow
...
Reimplement some node-oauth2-server methods to remove hacky code needed by our external
login workflow
2021-03-24 18:18:41 +01:00
Chocobozzz
cae2df6bdc
Stricter email options typings
2021-03-24 18:18:41 +01:00
Chocobozzz
32a18cbf33
Add new plugin/peertube version notifs
2021-03-24 18:18:41 +01:00
Chocobozzz
e7053b1d9d
Fix AP security tests
2021-03-24 18:18:40 +01:00
Chocobozzz
266131e0ca
Don't skip all threads on AP fetcher error
2021-03-24 18:18:40 +01:00
Chocobozzz
b5c361089f
Fix 404 AP status codes
2021-03-24 18:18:40 +01:00
Chocobozzz
db4b15f21f
Use got instead of request
2021-03-24 18:18:40 +01:00
Chocobozzz
67f87b66fe
Refactor a little bit AP validators
2021-03-24 18:18:40 +01:00
Chocobozzz
452b3bea08
Introduce tags to the logger
...
That could help to filter unneeded logs and/or select particular
components
2021-03-24 18:18:40 +01:00
Chocobozzz
a2eba50b8e
Fix moderation notification
2021-03-04 16:16:37 +01:00
Chocobozzz
fbd51e69f2
Upgrade server dependencies
2021-03-03 16:14:32 +01:00
Chocobozzz
6c9c3b7b14
Fix emptying video tags
2021-03-03 11:03:30 +01:00
Chocobozzz
1ef447bd83
Don't create another uneeded preview placeholder
2021-03-03 11:02:34 +01:00
Chocobozzz
dcd75f786c
Rename request timeout
2021-03-03 10:10:55 +01:00
Chocobozzz
74d249bc13
Add ability to cleanup remote AP interactions
2021-03-03 10:08:08 +01:00
Chocobozzz
8795d6f254
Fix broken local actors
...
Some channels can't federate because they don't have public/private
keys, maybe because the generation failed for various reasons
2021-02-26 14:22:25 +01:00
Chocobozzz
92315d979c
More robust channel change federation
2021-02-26 11:50:18 +01:00
Chocobozzz
543442a3be
Add more AP stats to stats endpoint
...
It will help to understand if the federation correctly works or not
2021-02-26 10:28:11 +01:00
Chocobozzz
88cfa3e8fa
Fix preview upload with capitalized ext
2021-02-26 09:16:31 +01:00
Chocobozzz
a77c7327a2
Fix process abuse transactions
2021-02-25 15:55:31 +01:00
Chocobozzz
e7812bf091
Add refresh_token_expires_in to oauth res
2021-02-25 15:25:48 +01:00
Chocobozzz
70243d7a35
Correctly wait transcoding before federating
2021-02-22 10:35:37 +01:00
Chocobozzz
4cbdcf4409
Fix sending accept to old follows
2021-02-19 13:55:00 +01:00
Chocobozzz
fae6e4da8f
Try to speed up server tests
2021-02-19 09:36:50 +01:00
Chocobozzz
53c06121a4
Fix import tests
2021-02-18 14:08:16 +01:00
Chocobozzz
8efc27bf14
Cleanup
2021-02-18 13:38:09 +01:00
Chocobozzz
b3d5cb92b1
Add ability to update torrents cache in client
2021-02-18 13:38:09 +01:00
Chocobozzz
d9a2a03196
Don't guess remote tracker URL
2021-02-18 13:38:09 +01:00
Chocobozzz
2451916e45
Add video files migration
2021-02-18 13:38:09 +01:00
Chocobozzz
90a8bd305d
Dissociate video file names and video uuid
2021-02-18 13:38:09 +01:00
Chocobozzz
1664bc60eb
Optimize remote image processing
2021-02-16 10:36:44 +01:00
Chocobozzz
374b725df5
Optimize remote thumbnail processing
2021-02-16 10:36:44 +01:00
Chocobozzz
a35a22797c
Remove previous thumbnail if needed
2021-02-16 10:36:44 +01:00
Chocobozzz
6302d599cd
Generate a name for caption files
2021-02-16 10:36:44 +01:00
Chocobozzz
a8b1b40485
Generate a name for thumbnails
...
Allows aggressive caching
2021-02-16 10:36:44 +01:00
Chocobozzz
c15aff666d
Remove old code
...
We consider Dislike as a classic activity now
2021-02-12 14:53:07 +01:00
Chocobozzz
e3b4c084cd
Guess if we need to generate the thumbnail for imports
2021-02-12 09:37:01 +01:00
Chocobozzz
6559da2821
Allow plugins to load a video by id
2021-02-11 10:23:52 +01:00
Chocobozzz
44d1f7f2e8
Painfully debug concurrent import jobs
2021-02-09 11:46:30 +01:00
Chocobozzz
9129b7694d
Allow to specify transcoding and import jobs concurrency
2021-02-08 15:38:45 +01:00
Chocobozzz
ba5a8d89bb
Update server dependencies
2021-02-03 09:45:08 +01:00
Chocobozzz
69eddafb17
Fix HLS generation after import script
2021-02-02 14:00:46 +01:00
Chocobozzz
aaedadd538
Transcode HLS playlists in a tmp directory
2021-02-02 11:50:29 +01:00
Chocobozzz
40930fda86
Transcode audio uploads to lower resolutions
...
Better consistency
2021-02-02 09:45:42 +01:00
Chocobozzz
89613cb444
Purge entire video from redundancy
2021-02-02 08:50:30 +01:00
Chocobozzz
7e3592d70b
Correctly remove torrents with HLS only
2021-02-01 11:23:12 +01:00
Chocobozzz
33c7131be5
Check banned status for external auths
2021-02-01 11:23:11 +01:00
Chocobozzz
a8537c622e
Use veryfast preset for default transcoding profile
2021-01-29 15:31:31 +01:00
Chocobozzz
2498aaead1
Add plugin transcoding profile guide
2021-01-29 14:05:41 +01:00
Chocobozzz
1896bca09e
Support transcoding options/encoders by plugins
2021-01-28 15:55:39 +01:00
Chocobozzz
529b37527c
Use a profile manager for transcoding
2021-01-28 15:55:39 +01:00
Chocobozzz
00b87c5791
Fix live RAM usage when ffmpeg is too slow
2021-01-27 12:05:10 +01:00
Chocobozzz
e08ff02a9f
Allow webp image uploads
2021-01-26 10:29:57 +01:00
Chocobozzz
448487a602
Fix sendmail emailer
2021-01-26 09:28:49 +01:00
Chocobozzz
6939cbac48
Safely remove webtorrent files
...
Only remove them on max quality HLS playlist generation
2021-01-25 14:38:52 +01:00
Chocobozzz
77d7e851dc
Add priority to transcoding jobs
...
(1 = highest priority)
100 for new resolutions
10 for original file optimization
Add a malus for transcoding jobs depending on how many uploads the user did in the
last 7 days
2021-01-25 14:38:52 +01:00
Chocobozzz
24516aa26a
Refactor transcoding job handlers
2021-01-21 15:58:17 +01:00
Chocobozzz
3b01f4c0ac
Support progress for ffmpeg tasks
2021-01-21 14:42:43 +01:00
Chocobozzz
471251fa14
Fix error log
2021-01-20 09:50:22 +01:00
Chocobozzz
805b8619c1
Fix (again) youtube import
2021-01-19 16:36:21 +01:00
Rigel Kent
454c20fa7c
stricter youtubedl format selectors ( #3516 )
...
* stricter youtubedl format selectors
make sure selectors avoid av1, and otherwise match as closely to the
maximum resolution enabled for transcoding
* add support for merge formats in youtubedl
* avoid vp9.2 in youtubedl to avoid any HDR
* move getEnabledResolutions, safer replace of imported extension
* add test for youtube-dl selectors
2021-01-15 15:56:56 +01:00
Rigel Kent
1ea7da819e
add ability to remove one's avatar for account and channels ( #3467 )
...
* add ability to remove one's avatar for account and channels
* add ability to remove one's avatar for account and channels
* only display avatar edition options after input change
2021-01-13 09:12:55 +01:00
Chocobozzz
c2b823826d
Log RTMP server error (address already in use)
2021-01-11 09:33:14 +01:00
Chocobozzz
f0484f7a16
Fix autoblacklist notification issue
2021-01-04 10:50:47 +01:00
Chocobozzz
cc49be3e35
Fix views processing hour 0
2020-12-30 14:29:17 +01:00
Chocobozzz
f88453e233
Fix build
2020-12-22 16:49:17 +01:00
Chocobozzz
236841a1d7
Force HLS transcoding
...
Fix weird behaviour with some web browsers. Don't really know if it's a
ffmpeg bug, a safari bug or a peertube bug, but forcing transcoding
seems to fix this playback bug
2020-12-22 16:04:42 +01:00
Chocobozzz
9cfeb3cf98
Fix redundancy federation in some cases
2020-12-17 09:23:57 +01:00
Chocobozzz
99afa081bc
Add AP stats
2020-12-15 13:34:58 +01:00
Chocobozzz
c9bc850e93
Use -1 for max live duration unlimited
2020-12-15 09:26:37 +01:00
kontrollanten
40c52969f7
emails: remove hardcoded PeerTube names
2020-12-14 15:37:29 +01:00
kontrollanten
2e4b8ae485
emailer: use instance name instead of hostname
2020-12-14 15:37:29 +01:00
kontrollanten
915e2bbb97
video embed: use instance name as html title
2020-12-14 15:25:51 +01:00
kontrollanten
2564d97e0d
video-embed: inject custom CSS
...
closes #3420
2020-12-14 15:25:51 +01:00
Chocobozzz
402145b863
Refactor jobs state
2020-12-14 12:00:35 +01:00
Chocobozzz
f98c395295
Keep scope in notifier
2020-12-14 09:34:47 +01:00
kontrollanten
b1771455af
fix(notifier): notifyModeratorsOfNewAbuse
...
closes #3445
2020-12-14 09:34:47 +01:00
Rigel Kent
040d6896a3
add display of logs matching any state
2020-12-13 19:27:25 +01:00
Girish Ramakrishnan
75594f474a
do not crash if SMTP server is down
...
just log a warning if the SMTP server is down on startup time
fixes #3457
2020-12-12 08:50:59 +01:00
Chocobozzz
a800dbf345
Live views update
2020-12-09 16:31:42 +01:00
Chocobozzz
0d8de2756f
Fix live tests
2020-12-09 14:45:47 +01:00
Chocobozzz
b49f22d8f9
Upgrade sequelize to v6
2020-12-09 11:41:22 +01:00
Rigel Kent
f2eb23cd87
emit more specific status codes on video upload ( #3423 )
...
- reduce http status codes list to potentially useful codes
- convert more codes to typed ones
- factorize html generator for error responses
2020-12-08 21:16:10 +01:00
Chocobozzz
a59f210ff3
Refactor a little bit client canonical URL
2020-12-08 11:15:11 +01:00
Thomas Citharel
106fa2249d
Set canonical link to original video/playlist url
...
The local URL was used instead of the original url
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-08 11:15:11 +01:00
Chocobozzz
5b9b403a20
Fix replay last segments loop
2020-12-07 16:07:00 +01:00
Rigel Kent
2d53be0267
replace numbers with typed http status codes ( #3409 )
2020-12-07 14:32:36 +01:00
Chocobozzz
aa5ee5017a
Fix lint
2020-12-04 15:58:29 +01:00
Chocobozzz
e772bdf14c
Load video in permanent live after last one ended
2020-12-04 15:38:32 +01:00
Chocobozzz
3851e732c4
Fix audio issues with live replay
2020-12-04 15:10:13 +01:00
Chocobozzz
e26dc0cdbd
Strict actor url comparison
2020-12-03 16:12:58 +01:00
Chocobozzz
5147a6d945
Try to fix non HTTPS remote accounts
2020-12-03 15:21:16 +01:00
Chocobozzz
bb4ba6d94c
Add permanent live support
2020-12-03 15:21:16 +01:00
Chocobozzz
4a54a93941
Fix live invalid save replay duration
2020-12-03 10:05:10 +01:00
Chocobozzz
2650d6d489
Fix live replay duration glitch
2020-12-02 10:18:15 +01:00
Chocobozzz
8c666c44ab
Fix live saving after a server restart
2020-11-30 17:03:13 +01:00
Chocobozzz
6cddd97d1d
Fix lint
2020-11-30 16:02:34 +01:00
Chocobozzz
937581b8f6
Fix high CPU with long live when save replay is true
2020-11-30 15:59:22 +01:00
Chocobozzz
884d2c39ae
Fix live FPS limit
2020-11-26 11:30:18 +01:00
Chocobozzz
6b67897e2e
Add transcoding module comments
2020-11-25 10:07:51 +01:00
Chocobozzz
33ff70baa6
Fix audio encoding params
2020-11-25 10:07:51 +01:00
Chocobozzz
ca5c612bfd
Add live transcoding bit rate tests
2020-11-25 10:07:51 +01:00
Chocobozzz
5a547f69d5
Support encoding profiles
2020-11-25 10:07:51 +01:00
Chocobozzz
9252a33d11
Export encoders options in a dedicated struct
2020-11-25 10:07:51 +01:00
Chocobozzz
daf6e48010
Split ffmpeg utils with ffprobe utils
2020-11-25 10:07:51 +01:00
Chocobozzz
74fd2643b4
Provide express request to onLogout call
...
+ pluginInfo related changes
2020-11-20 15:36:43 +01:00
Chocobozzz
55d5fbc583
Fix lint
2020-11-20 11:35:33 +01:00
Chocobozzz
de94ac86a2
Fix incorrect IDs in AP federation
2020-11-20 11:21:08 +01:00
Chocobozzz
fce7fe04ee
Update server dependencies
2020-11-19 09:07:20 +01:00
Chocobozzz
9ff36c2d70
Refactor markdown/sanitize html code
2020-11-17 14:34:09 +01:00
Chocobozzz
6bff8ce23a
Process remaining segment hashes on live ending
2020-11-17 14:05:15 +01:00
Chocobozzz
5c0904fc66
Cleanup lives on server restart
2020-11-13 14:36:30 +01:00
Chocobozzz
786b855af7
Fix live sha segments with multiple resolutions
2020-11-13 12:02:29 +01:00
Chocobozzz
17119e4a54
Reorganize left menu and account menu
...
Add my-settings and my-library in left menu
Move administration below my-library
Split account menu: my-setting and my library
2020-11-13 12:02:21 +01:00
Chocobozzz
501af82d99
Delay notification when waiting for a live
2020-11-12 17:13:32 +01:00
Chocobozzz
6297bae0c1
Fix live infohash of original resolution
2020-11-12 16:55:13 +01:00
Chocobozzz
b9da21bd5a
Hide dock if there are no title/description
2020-11-10 16:47:25 +01:00
Chocobozzz
b9cf3fb638
Fix email footer
...
Do not include notif preferences in contact form email
2020-11-10 15:56:13 +01:00
Chocobozzz
10c8b0b743
Fix comments federation
2020-11-10 15:26:33 +01:00
Chocobozzz
403c69c5a3
Check threads resolve on non federated videos
2020-11-10 14:34:04 +01:00
Chocobozzz
210856a7be
Try to fix live segments check
2020-11-10 14:15:59 +01:00
Chocobozzz
c655c9ef6f
Update ffmpeg static version for tests
2020-11-09 15:33:04 +01:00
Chocobozzz
e4bf785617
Handle views for live videos
2020-11-09 15:33:04 +01:00
Chocobozzz
9e2b2e76ba
Don't add live videos in redundancy
2020-11-09 15:33:04 +01:00
Chocobozzz
3cabf3532b
Add live server hooks
2020-11-09 15:33:04 +01:00
Chocobozzz
053aed43fb
Regenerate miniature on live save
2020-11-09 15:33:04 +01:00
Chocobozzz
3bc68dfd61
Fix audio sync after saving replay
...
hls.js seems to not correctly handle audio gaps with fragmented mp4
(but can with a ts playlist)
2020-11-09 15:33:04 +01:00
Chocobozzz
bd54ad1953
Add live notification tests
2020-11-09 15:33:04 +01:00
Chocobozzz
68e70a745b
Add save replay live tests
2020-11-09 15:33:04 +01:00
Chocobozzz
97969c4edf
Add check constraints live tests
2020-11-09 15:33:04 +01:00
Chocobozzz
af4ae64f6f
Begin live tests
2020-11-09 15:33:04 +01:00
Chocobozzz
77e9f859c6
Add check params live tests
2020-11-09 15:33:04 +01:00
Chocobozzz
284ef52911
Fix live ending
2020-11-09 15:33:04 +01:00
Chocobozzz
d846d99c6c
Add modal to display live information
2020-11-09 15:33:04 +01:00
Chocobozzz
31c82cd914
Fix replay saving
2020-11-09 15:33:04 +01:00
Chocobozzz
b5b687550d
Add ability to save live replay
2020-11-09 15:33:04 +01:00
Chocobozzz
fb7194043d
Check live duration and size
2020-11-09 15:33:04 +01:00
Chocobozzz
a5cf76afa3
Add watch messages if live has not started
2020-11-09 15:33:04 +01:00
Chocobozzz
de6310b2fc
Handle live federation
2020-11-09 15:33:04 +01:00
Chocobozzz
1ef65f4c03
Refactor video creation
2020-11-09 15:33:04 +01:00
Chocobozzz
c6c0fa6cd8
Live streaming implementation first step
2020-11-09 15:33:04 +01:00
Kimsible
98b9464312
render html/markdown for new comment notification email ( #3255 )
...
Co-authored-by: kimsible <kimsible@users.noreply.github.com>
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
2020-11-07 22:59:58 +01:00
Chocobozzz
fb0f7f82e5
Fix re webtorrent transcoding
2020-09-09 10:14:33 +02:00
Chocobozzz
865af3fd7b
Add site_name to opengraph tags
2020-09-04 09:52:38 +02:00
Chocobozzz
2199aaef6f
Remove debug
2020-08-26 09:38:22 +02:00
Chocobozzz
cf649c2ed9
Inject plugin CSS in embed too
2020-08-24 11:25:40 +02:00
Chocobozzz
371906639e
Add ability to a video multiple times in a playlist
2020-08-19 11:30:21 +02:00
Chocobozzz
e9c5f12338
Do not reuse reset password links
2020-08-12 09:16:08 +02:00
Chocobozzz
30bc55c88b
Refactor video extensions logic in server
2020-08-11 07:57:20 +02:00
Chocobozzz
b96777c380
Fix twitter embed
2020-08-07 14:53:01 +02:00
Chocobozzz
6fad8e51c4
Handle playlist oembed
2020-08-07 08:58:29 +02:00
Chocobozzz
bd45d503e5
Reorganize shared models
2020-08-07 08:28:14 +02:00
Chocobozzz
dca0fe12ec
Fix resolution for portrait videos
2020-08-03 16:03:52 +02:00
Chocobozzz
d7b1c7b4f1
Fix video only HLS on ios
2020-07-31 13:49:36 +02:00
Chocobozzz
668b7f096e
Add openapi doc
2020-07-31 11:35:19 +02:00
Chocobozzz
d573926e9b
Add migrations for abuse messages
2020-07-31 11:35:19 +02:00
Chocobozzz
594d3e48d8
Add abuse messages/states notifications
2020-07-31 11:35:19 +02:00
Chocobozzz
edbc932546
Add server API to abuse messages
2020-07-31 11:35:19 +02:00
Kim
8d987ec63e
Add fcbk open-graph and twitter-card metas for accounts, video-channels, playlists urls ( #2996 )
...
* Add open-graph and twitter-card metas to accounts and video-channels
* Add open-graph and twitter-card to video-playlists watch view
* Refactor meta-tags creation server-side
* Add client.ts tests for account, channel and playlist tags
* Correct lint forbidden spaces
* Correct test regression on client.ts
Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-31 11:29:15 +02:00
Chocobozzz
ec903c010e
Merge branch 'release/2.3.0' into develop
2020-07-20 17:00:58 +02:00
kimsible
963023abe6
Fix: display username in password-reset and verify-email notifs
2020-07-20 16:56:32 +02:00
Chocobozzz
cfde28bac3
Add ability to report account
2020-07-10 14:02:41 +02:00
Chocobozzz
310b5219b3
Add new abuses tests
2020-07-10 14:02:41 +02:00
Chocobozzz
4f32032fed
Add migrations
2020-07-10 14:02:41 +02:00
Chocobozzz
d95d155988
Use 3 tables to represent abuses
2020-07-10 14:02:41 +02:00
Chocobozzz
1fdf8edb77
Fix lint
2020-07-10 10:51:07 +02:00
Kim
caf2aaf4f9
Add ability to override client assets : logo - favicon - PWA icons - PWA manifest name and description ( #2897 )
...
* Add client-overrides storage to config
* Add static-serve for client overrides
* Move backgroun-image logo from bundle to css tag for runtime content hash
* Add dynamic JSON manifest
* Add content hash for manifest, favicon and logo
Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-10 10:20:11 +02:00
Chocobozzz
db48de8597
Block infohash spammers from tracker
2020-06-25 16:28:07 +02:00
Chocobozzz
67ed6552b8
Reorganize client shared modules
2020-06-23 16:00:49 +02:00
Rigel Kent
1ebddadd07
predefined report reasons & improved reporter UI ( #2842 )
...
- added `startAt` and `endAt` optional timestamps to help pin down reported sections of a video
- added predefined report reasons
- added video player with report modal
2020-06-22 13:00:39 +02:00
Chocobozzz
26d6bf6533
Split types and typings
2020-06-18 10:46:27 +02:00
Chocobozzz
faa9d434b4
Update server dependencies
2020-06-17 11:42:50 +02:00
Chocobozzz
fd261a8de9
Fix video view filename
2020-06-15 15:18:54 +02:00
Chocobozzz
e74bda21d1
Speed up videos indexation
...
And fetch video attributes after
2020-06-12 16:27:41 +02:00
Rigel Kent
3487330d30
preserve original variable names server-side
2020-06-10 21:12:09 +02:00
Rigel Kent
5baee5fca4
rename blacklist to block/blocklist, merge block and auto-block views
...
- also replace whitelist with allowlist
- add advanced filters for video-block-list view
- move icons in video-block-list and video-abuse-list to left side
for visibility
- add robot icon to depict automated nature of a block in
video-block-list
resolves #2790
2020-06-10 21:12:05 +02:00
Chocobozzz
5fb2e2888c
First implem global search
2020-06-10 14:02:41 +02:00
Rigel Kent
81fe3c67c5
fix duplicate id in svg, empty alt in base email
2020-06-04 09:05:44 +02:00
Chocobozzz
b763f88dd0
Merge branch 'release/2.2.0' into develop
2020-06-02 09:31:30 +02:00
Chocobozzz
03fc19281b
Fix emails
2020-06-02 09:21:33 +02:00
Chocobozzz
696d83fd13
Block comments from muted accounts/servers
...
Add better control for users of comments displayed on their videos:
* Do not forward comments from muted remote accounts/servers (muted by the current server or by the video owner)
* Do not list threads and hide replies (with their children) of accounts/servers muted by the video owner
* Hide from RSS comments of muted accounts/servers by video owners
Use case:
* Try to limit spam propagation in the federation
* Add ability for users to automatically hide comments on their videos from undesirable accounts/servers (the comment section belongs to videomakers, so they choose what's posted there)
2020-05-29 09:32:20 +02:00
Chocobozzz
444c0a0e01
Add ability to bulk delete comments
2020-05-29 09:21:26 +02:00
Chocobozzz
9a7fd9600b
Fix external auth email/password update
...
Also check if an actor does not already exist when creating the user
2020-05-20 10:17:27 +02:00
Rigel Kent
2158ac9034
Add server plugin filter hooks for import with torrent and url ( #2621 )
...
* Add server plugin filter hooks for import with torrent and url
* WIP: pre and post-import filter hooks
* Rebased
* Cleanup filters to accept imports
Co-authored-by: Chocobozzz <me@florianbigard.com>
2020-05-14 11:10:26 +02:00
Chocobozzz
2ca154da93
Fix auto follow index URL
2020-05-12 09:37:39 +02:00
Chocobozzz
d253bfaaa5
Add other tests to external auth
2020-05-11 18:32:58 +02:00
Chocobozzz
95cd31f1fe
Allow to auto follow a specific URL
2020-05-11 10:53:06 +02:00
Chocobozzz
81c647ff19
Cleanup oauth tokens cache
2020-05-11 08:40:38 +02:00
Rigel Kent
df4c603dea
Switch emails to pug templates and provide richer html/text-only versions
2020-05-08 15:31:51 +02:00
Chocobozzz
80fdaf0645
Add moderation helpers to plugins
2020-05-07 15:07:01 +02:00
Chocobozzz
3cc665f48f
Add last login date to users
2020-05-07 10:39:09 +02:00
Chocobozzz
1c32067367
Fix HLS audio only transcoding
2020-05-05 16:27:46 +02:00
Chocobozzz
bc90883f1a
Handle external login errors
2020-05-04 16:21:39 +02:00
Chocobozzz
a4995eb7ac
Add ability to unregister plugin auths
2020-05-04 16:21:39 +02:00
Chocobozzz
e9b0fa5c16
Auth plugin compat with regular user accounts
2020-05-04 16:21:39 +02:00
Chocobozzz
a5896799f1
Add plugin settings change watcher
2020-05-04 16:21:39 +02:00
Chocobozzz
dadc90bca2
Client calls revoke-token endpoint on logout
2020-05-04 16:21:39 +02:00
Chocobozzz
5a7eecdd56
Add config helper for plugins
2020-05-04 16:21:39 +02:00
Chocobozzz
ebefc902f5
Add external login buttons
2020-05-04 16:21:39 +02:00
Chocobozzz
9107d791e2
Add external login tests
2020-05-04 16:21:39 +02:00
Chocobozzz
4a8d113b9b
Begin support for external auths
2020-05-04 16:21:39 +02:00
Chocobozzz
98813e69bc
Check auth plugin result
2020-05-04 16:21:39 +02:00
Chocobozzz
055cfb11a9
Add plugin auth migrations
2020-05-04 16:21:39 +02:00
Chocobozzz
e307e4fce3
Add ability for auth plugins to hook tokens validity
2020-05-04 16:21:39 +02:00
Chocobozzz
e1c5503114
Support logout and add id and pass tests
2020-05-04 16:21:39 +02:00
Chocobozzz
8dc8a34ee8
Avoir some circular dependencies
2020-05-04 16:21:39 +02:00
Chocobozzz
7fed637506
Begin auth plugin support
2020-05-04 16:21:39 +02:00
Rigel Kent
86521a67b2
Add video channel and video thumbnail, rework video appearance in row
2020-05-01 16:41:02 +02:00
Chocobozzz
b3af2601da
Add ability to remove privacies using plugins
2020-04-20 15:42:27 +02:00
Kim
b1770a0af4
Add thumbnail / preview generation from url on the fly ( #2646 )
...
* Add thumbnails generation on the fly to URL import
* Display generated preview to import first edit
* Use ternary to get type inference
* Move preview/thumbnail test just after import
Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-04-20 10:28:38 +02:00
Chocobozzz
0dd57e4d43
Fix tests
2020-04-20 09:04:38 +02:00
Chocobozzz
2c0ccd4b3f
Do not support subscriptions to accounts
2020-04-16 16:37:25 +02:00
Chocobozzz
652c64165b
Fix import captions test
2020-04-15 14:15:44 +02:00
Chocobozzz
5e2b2e2775
Add ability for plugins to add custom routes
2020-04-10 15:23:25 +02:00
Rigel Kent
9afa0901f1
Fix lint for emailer
2020-04-10 14:26:42 +02:00
Ismaël Bouya
ed3f089cc7
Add sendmail
2020-04-10 10:20:06 +02:00
Chocobozzz
ab3ead3a6f
Add ability to remove a video from a plugin
2020-04-09 11:37:44 +02:00
Chocobozzz
1b05d82d86
Add SQL query support in plugins
2020-04-09 11:00:30 +02:00
Chocobozzz
bc0d801bb7
Refactor plugin helpers factory
2020-04-09 09:57:32 +02:00
Chocobozzz
8c9e787526
Add ability to accept or not remote redundancies
2020-04-07 15:32:20 +02:00
Chocobozzz
d57d1d83c6
Support audio files import
2020-04-03 15:41:39 +02:00
Chocobozzz
6cb5564490
Fix add comment in threads with deleted comments
2020-03-20 14:43:12 +01:00
Chocobozzz
c547bbf96a
Fix re running HLS transcoding
2020-03-12 15:37:28 +01:00