Commit Graph

897 Commits (a25d3a82dc6781176d883d72571994254ddb1782)

Author SHA1 Message Date
Chocobozzz d5d9b6d7bf
Update server dependencies 2019-10-21 15:03:28 +02:00
Chocobozzz 687c6180bc
Fix federation issue with some actor descriptions 2019-10-21 09:52:51 +02:00
LoveIsGrief 6aa5414813 Autoplay next recommended video (#2137)
* Start working on autoplay of next video

* Ignore changes made by gitpod

* Apply changes from PR#1370

* Correct the spelling of recommendations

* Fix linting errors

* Move boolean check to existing onEnded handler

* Pick a random video until the recommendations are improved

* Add simple tests for autoPlayNextVideo

* Fix lint

...again
2019-09-24 08:48:01 +02:00
Chocobozzz 5819e694ba
Better video publishing notification 2019-09-05 10:30:51 +02:00
Chocobozzz 00aab0666c
Merge branch 'release/1.4.0' into develop 2019-09-05 10:19:35 +02:00
Chocobozzz 43d0ea7f4b Add welcome modal 2019-09-05 10:17:02 +02:00
Chocobozzz 10a105f0c8 Add notification on auto follow index 2019-09-04 16:24:58 +02:00
Chocobozzz 6f1b4fa417 Add auto follow instances index support 2019-09-04 16:24:58 +02:00
Chocobozzz 8424c4026a Add auto follow back support for instances 2019-09-04 16:24:58 +02:00
Chocobozzz 951532924c
Fix blacklist sort 2019-09-04 16:23:37 +02:00
Chocobozzz dedc7abb7b
Fix auto blacklist view 2019-09-04 15:03:50 +02:00
Chocobozzz 0b5c385b45
Handle reports from mastodon 2019-08-30 09:40:32 +02:00
Chocobozzz 4b1f1b810a
Lowercase video tags search 2019-08-29 16:47:32 +02:00
Chocobozzz f0a47bc92a
Hide video abuses from muted accounts 2019-08-29 14:31:04 +02:00
Chocobozzz d636ab58d0
Fix html tag with blacklisted video 2019-08-22 10:46:54 +02:00
Chocobozzz b5fecbf441
Type toActivityPubObject functions 2019-08-21 15:23:04 +02:00
Chocobozzz 1ca9f7c3f7
Type toFormattedJSON 2019-08-20 19:23:10 +02:00
Chocobozzz 0283eaac2a
Cleanup model types 2019-08-20 14:53:42 +02:00
Chocobozzz 96ca24f00e
Fix tests 2019-08-20 10:22:05 +02:00
Chocobozzz 453e83ea5d
Stronger model typings 2019-08-19 17:26:35 +02:00
Chocobozzz 9e3e3617dc
Fix redundancy tests 2019-08-13 10:22:54 +02:00
Chocobozzz 0b353d1d8a
Fix redundancy exceeding the limit 2019-08-12 08:46:46 +02:00
Chocobozzz e2600d8b26
Add avatar to prune script 2019-08-09 15:04:36 +02:00
Chocobozzz 5bb2eb5660
Fix avatar url validation 2019-08-09 11:49:37 +02:00
Chocobozzz 557b13ae24
Lazy load avatars 2019-08-09 11:32:40 +02:00
Chocobozzz 511765c9f8
Remove comment federation by video owner 2019-08-07 15:35:29 +02:00
Chocobozzz 327b331889
Limit maximum actor follow score 2019-08-07 12:07:58 +02:00
Chocobozzz 6b9c966f64
Automatically remove bad followings 2019-08-06 17:26:51 +02:00
Chocobozzz 44b88f180b
Fix broken follow notification 2019-08-02 09:46:48 +02:00
Chocobozzz 65af03a241
Automatically update playlist thumbnails 2019-08-01 16:54:24 +02:00
Chocobozzz 29d4e1375f
Fix HLS transcoding 2019-08-01 14:19:18 +02:00
Chocobozzz 970ceac0a6
Fix multiple server tests 2019-08-01 10:15:28 +02:00
Chocobozzz bfbd912886 Fix broken playlist api 2019-08-01 09:11:04 +02:00
Chocobozzz ba211e7386
Add public settings endpoint 2019-07-26 15:18:29 +02:00
Chocobozzz aa3796bda5
Sort on videoQuotaUsed in backend 2019-07-25 11:15:03 +02:00
Chocobozzz 5b77537ce5 Correctly notify on auto blacklist 2019-07-24 10:58:16 +02:00
Chocobozzz 89cd127560 Add hook filters tests 2019-07-24 10:58:16 +02:00
Chocobozzz b4055e1c23 Add server hooks 2019-07-24 10:58:16 +02:00
Chocobozzz 9fa6ca160a Some plugins fixes and doc enhancements 2019-07-24 10:58:16 +02:00
Chocobozzz 109d893ff5 Fix lint 2019-07-24 10:58:16 +02:00
Chocobozzz 6702a1b2cc Add ability to search available plugins 2019-07-24 10:58:16 +02:00
Chocobozzz 503c6f440a Add peertube plugin index website models 2019-07-24 10:58:16 +02:00
Chocobozzz 30ff39e7f0 Move createTorrent in webtorrent utils 2019-07-24 10:58:16 +02:00
Chocobozzz b2195fafc2 WIP plugins: add storage manager 2019-07-24 10:58:16 +02:00
Chocobozzz b5f919ac8e WIP plugins: update plugin 2019-07-24 10:58:16 +02:00
Chocobozzz 8d2be0ed7b WIP plugins: move plugin CLI in peertube script
Install/uninstall/list plugins remotely
2019-07-24 10:58:16 +02:00
Chocobozzz dba85a1e9e WIP plugins: add plugin settings/uninstall in client 2019-07-24 10:58:16 +02:00
Chocobozzz ad91e7006e WIP plugins: plugin settings on server side 2019-07-24 10:58:16 +02:00
Chocobozzz ffb321bedc WIP plugins: load theme on client side 2019-07-24 10:58:16 +02:00
Chocobozzz 7cd4d2ba10 WIP plugins: add theme support 2019-07-24 10:58:16 +02:00
Chocobozzz 2c0539420d WIP plugins: static files 2019-07-24 10:58:16 +02:00
Chocobozzz f023a19c3e WIP plugins: install/uninstall 2019-07-24 10:58:16 +02:00
Chocobozzz 345da516fa WIP plugins: add ability to register plugins 2019-07-24 10:58:16 +02:00
Nassim Bounouas 50b4dcce56 Fix/connection with email (#1917)
* #1916 Load user by email - insensitive query

* Revert "Case insensitive login"

This reverts commit c1521ca3d7.

* #1916 Load user - insensitive query for username and sensitive for email

* #1916 Unit test for insensitive username login && documentation
2019-07-02 11:16:33 +02:00
Chocobozzz 3caf77d3b1
Add language filters in user preferences 2019-06-19 15:05:36 +02:00
Chocobozzz d1ab89deb7
Handle email update on server 2019-06-11 14:31:11 +02:00
Chocobozzz 7d14d4d2ca
Server: Bulk update videos support field 2019-05-31 16:44:46 +02:00
Chocobozzz 57cfff7885
Remove unused actor uuid field 2019-05-31 14:49:31 +02:00
Chocobozzz 91b6631984
Add pagination to account video channels endpoint 2019-05-29 15:09:38 +02:00
Chocobozzz 21d141c296
Merge branch 'release/v1.3.0' into develop 2019-05-21 13:32:00 +02:00
Chocobozzz ac3d2e0569
Fix blacklist sort 2019-05-21 12:09:58 +02:00
Chocobozzz 432ebe8bdd
Merge branch 'release/v1.3.0' into develop 2019-05-21 11:21:56 +02:00
Chocobozzz b9dde7d96b
Fix thumbnails in video blacklist list endpoint 2019-05-21 10:59:29 +02:00
Chocobozzz 536598cfaf
Add audio support in upload 2019-05-16 17:16:47 +02:00
Chocobozzz 241c3357d1
Fix account description error 2019-05-13 14:37:30 +02:00
Chocobozzz a18f275d30
Fix thumbnail when listing my videos 2019-05-13 09:45:36 +02:00
Chocobozzz 4f0f2ab228
Fix createdAt/updatedAt issues 2019-04-26 09:16:43 +02:00
Chocobozzz 8519cc9234
Fix overview endpoint 2019-04-24 17:29:19 +02:00
Chocobozzz cbe94af85a
Fix scheduled update 2019-04-24 16:43:41 +02:00
Chocobozzz 9cc8d43e37
Add migrations 2019-04-24 16:26:22 +02:00
Chocobozzz 2fb5b3a55a
Relax videos list thumbnail api join 2019-04-24 16:26:22 +02:00
Chocobozzz b876eaf11a
Fix ownership changes 2019-04-24 16:26:21 +02:00
Chocobozzz 3acc508440
Upgrade sequelize 2019-04-24 16:26:21 +02:00
Chocobozzz 1735c82572
Update sequelize 2019-04-24 16:26:20 +02:00
Chocobozzz e8bafea35b
Create a dedicated table to track video thumbnails 2019-04-24 16:25:52 +02:00
Chocobozzz 1eddc9a74f
Add user adminFlags 2019-04-15 14:39:52 +02:00
Chocobozzz cda03765fe
Add ability to delete old remote views 2019-04-12 08:31:06 +02:00
Chocobozzz 8f0bc73d7d
Add ability to limit videos history size 2019-04-11 15:38:53 +02:00
Chocobozzz 76062d9f96
Try to improve server tests compilation speed 2019-04-11 14:29:41 +02:00
Chocobozzz 74dc3bca2b
Don't expose constants directly in initializers/ 2019-04-11 14:26:41 +02:00
Chocobozzz 6dd9de95df
Move config in its own file 2019-04-11 13:45:39 +02:00
Yohan Boniface c100a6142e Add /accounts/:username/ratings endpoint (#1756)
* Add /users/me/videos/ratings endpoint

* Move ratings endpoint from users to accounts

* /accounts/:name/ratings: add support for rating= and sort=

* Restrict ratings list to owner

* Wording and better way to ensure current account
2019-04-09 11:02:02 +02:00
Chocobozzz 8ce1ba6e3e
Add new instance follower notification in client 2019-04-09 10:42:07 +02:00
Chocobozzz 883993c81e
Add notification on new instance follower (server side) 2019-04-08 17:30:48 +02:00
Chocobozzz ae9bbed46d
Update P2P media loader peer version 2019-04-08 11:16:14 +02:00
Chocobozzz 489290b8b1
Restore videos list components 2019-04-02 11:45:02 +02:00
Josh Morel 7ccddd7b52 add quarantine videos feature (#1637)
* add quarantine videos feature

* increase Notification settings test timeout

to 20000ms. was completing 7000 locally but timing out
after 10000 on travis

* fix quarantine video test issues

-propagate misspelling
-remove skip from server/tests/client.ts

* WIP use blacklist for moderator video approval

instead of video.quarantine boolean

* finish auto-blacklist feature
2019-04-02 11:26:47 +02:00
Chocobozzz 2ba9287131
Cleanup invalid rates/comments/shares 2019-03-19 16:23:02 +01:00
Chocobozzz 9f79ade627
Refresh playlists 2019-03-19 14:13:53 +01:00
Chocobozzz 76564702b7 Fix videos list for api SQL request 2019-03-18 11:17:59 +01:00
Chocobozzz 0b16f5f220 Add videos playlist exist tests 2019-03-18 11:17:59 +01:00
Chocobozzz 15e9d5ca39 Playlist reorder support 2019-03-18 11:17:59 +01:00
Chocobozzz f0a3988066 Add to playlist dropdown 2019-03-18 11:17:59 +01:00
Chocobozzz 9c6ca37fc1 Rename streaming playlists routes/directories 2019-03-18 11:17:59 +01:00
Chocobozzz 09979f8959 Refactor video playlist middlewares 2019-03-18 11:17:59 +01:00
Chocobozzz df0b219d36 Add playlist rest tests 2019-03-18 11:17:59 +01:00
Chocobozzz 07b1a18aa6 Add playlist check param tests 2019-03-18 11:17:59 +01:00
Chocobozzz 418d092afa Playlist server API 2019-03-18 11:17:59 +01:00
Chocobozzz 9b39106d57
findById -> findByPk 2019-02-21 14:40:10 +01:00
Chocobozzz 92bf2f6299
Improve channel and account SEO 2019-02-21 14:06:10 +01:00
Chocobozzz 1f6d57e354
Fix mention notification with a remote account 2019-02-15 09:43:37 +01:00
Andrés Maldonado 31d065cc50
Add search by original publication date 2019-02-12 11:14:37 +01:00
Chocobozzz 7519127b5c
Add originallyPublishedAt unit tests 2019-02-11 15:16:39 +01:00
Chocobozzz b718fd2237
Merge branch 'develop' into pr/1285 2019-02-11 14:09:23 +01:00
Chocobozzz 88108880bb
Merge branch 'develop' into pr/1217 2019-02-11 11:52:34 +01:00
Chocobozzz 4c280004ce Use a single file instead of segments for HLS 2019-02-11 09:13:02 +01:00
Chocobozzz 0920929696 Add hls support on server 2019-02-11 09:13:02 +01:00
Chocobozzz 38967f7b73
Add server host in notification account field 2019-01-21 13:52:46 +01:00
Chocobozzz 457bb213b2
Refactor how we use icons
Inject them in an angular component so we can easily change their color
2019-01-17 10:38:18 +01:00
Chocobozzz 44b9c0ba31
Add totalLocalVideoFilesSize in stats 2019-01-15 09:45:54 +01:00
Chocobozzz 1506307f2f
Increase abuse length to 3000
And correctly handle new lines
2019-01-14 16:48:38 +01:00
Chocobozzz 744d0eca19
Refresh remote actors on GET enpoints 2019-01-14 11:30:15 +01:00
clementbrizard c80341655f Change models 2019-01-12 13:41:45 +00:00
Chocobozzz 5abb9fbbd1
Add ability to unfederate a local video (on blacklist) 2019-01-10 15:39:51 +01:00
Chocobozzz 2f1548fda3 Add notifications in the client 2019-01-09 11:15:15 +01:00
Chocobozzz f7cc67b455 Add new follow, mention and user registered notifs 2019-01-09 11:15:15 +01:00
Chocobozzz dc13348070 Add import finished and video published notifs 2019-01-09 11:15:15 +01:00
Chocobozzz cef534ed53 Add user notification base code 2019-01-09 11:15:15 +01:00
Chocobozzz 439b1744f5
Optimize index sizes 2018-12-20 15:25:49 +01:00
Chocobozzz 2f5c6b2fc6
Optimize actor follow scores modifications 2018-12-20 14:31:11 +01:00
Chocobozzz afa4374ab4
Fix video sort 2018-12-18 11:52:20 +01:00
Chocobozzz 276d965295
Add ability to disable and clear history 2018-12-18 11:35:51 +01:00
Chocobozzz 80bfd33c0b
Add history page on client 2018-12-18 11:35:51 +01:00
Chocobozzz 8b9a525a18
Add history on server side
Add ability to disable, clear and list user videos history
2018-12-18 11:35:50 +01:00
Chocobozzz 14e2014acc Support additional video extensions 2018-12-11 15:11:09 +01:00
Chocobozzz 2feebf3e6a
Add sitemap 2018-12-05 17:44:34 +01:00
Chocobozzz 4e74e8032b
Remove inferred type 2018-12-05 14:36:05 +01:00
Chocobozzz b9fffa297f
Create redundancy endpoint 2018-12-04 17:08:55 +01:00
Chocobozzz 04b8c3fba6
Delete invalid or deleted remote videos 2018-11-20 10:44:48 +01:00
Chocobozzz d175a6f7ab
Cleanup tests imports 2018-11-19 17:08:18 +01:00
Chocobozzz babecc3c09
Fix AP collections pagination 2018-11-16 15:49:16 +01:00
Chocobozzz 8d4273463f
Check follow constraints when getting a video 2018-11-16 15:49:16 +01:00
Chocobozzz 8d1fa36ad2
Do not host remote AP objects 2018-11-16 11:18:13 +01:00
Chocobozzz 742ddee1f1
Fix server redundancy tests 2018-11-15 10:15:34 +01:00
Chocobozzz 5c6d985fae
Check activities host 2018-11-14 16:32:27 +01:00
Chocobozzz e27ff5da6e
AP mimeType -> mediaType 2018-10-18 10:44:15 +02:00
Chocobozzz 0229b014e0
Fix tests 2018-10-17 13:10:58 +02:00
Chocobozzz bb5d90e62f
Merge branch 'feature/webtorrent-disabling' into develop 2018-10-17 10:48:56 +02:00
Chocobozzz 65b21c961c Add ability to mute a user/instance by server in client 2018-10-16 16:41:36 +02:00
Chocobozzz b44164bb56 Add ability to mute a user/instance by server in server api 2018-10-16 16:41:36 +02:00
Chocobozzz af5767ffae Add user/instance block by users in the client 2018-10-16 16:41:36 +02:00
Chocobozzz 7ad9b9846c Add ability for users to block an account/instance on server side 2018-10-16 16:41:36 +02:00
Rigel Kent ed638e5325
move to boolean switch 2018-10-13 11:53:48 +02:00
Rigel Kent 64cc5e8575
add webtorrent opt-out settings
- add a key in localstorage to remember the opt-out
- add a user setting
2018-10-13 11:53:42 +02:00
Chocobozzz 1cd3facc3d
Add ability to list all local videos
Including private/unlisted for moderators/admins
2018-10-10 11:46:50 +02:00
Chocobozzz b014b6b9c7
Add ability to search on followers/following 2018-10-10 09:43:53 +02:00
Chocobozzz 9f1ddd2496
Change a little bit optimize-old-videos logic 2018-10-08 16:50:56 +02:00
Chocobozzz 24b9417cec
Add users search filter 2018-10-08 15:55:32 +02:00
Lucas Declercq 7f2cfe3a79 Rename downloadingEnabled property to downloadEnabled 2018-10-08 14:45:22 +02:00
Chocobozzz ecf3f060ef
Fix avatar update 2018-10-08 10:37:43 +02:00
Lucas Declercq 156c50af30 Add downloadingEnabled property to video model 2018-10-06 19:17:39 +02:00
Chocobozzz 79bd2632d6
Add user moderation in the account page 2018-10-05 17:02:10 +02:00
Chocobozzz 6e46de095d
Add user history and resume videos 2018-10-05 11:22:38 +02:00
Chocobozzz d0ae9490a3
Don't block when removing redundancy files 2018-10-03 16:57:40 +02:00
Chocobozzz 25378bc866
Delete correctly redundancy files 2018-10-03 16:43:57 +02:00
Chocobozzz d382f4e917
Fix refreshing external video attributes 2018-10-01 15:34:31 +02:00
Chocobozzz 46f8d69b4e
Fix redundancy with videos already duplicated with another instance 2018-10-01 09:41:48 +02:00
Chocobozzz 5ce1208a0a
Improve prune script 2018-09-28 10:56:13 +02:00
Chocobozzz 07524e229f
Enable more angular options 2018-09-28 10:36:46 +02:00
Chocobozzz c39e86b898
Fix video description when importing by url 2018-09-28 10:18:37 +02:00
Chocobozzz 161b061d4e
Remove duplicated videos on unfollow/delete redundancy 2018-09-28 10:07:05 +02:00
Chocobozzz 2e7cf5ae0c
Fix video files duplicated when fps is null
Null values are not considered equal in a UNIQUE index
2018-09-26 14:08:35 +02:00
Chocobozzz 4a08f66927
Only duplicate public videos 2018-09-25 18:05:54 +02:00
Chocobozzz ebdb612458
Fix redundancy totalVideos stats 2018-09-25 17:49:48 +02:00
Chocobozzz e5565833f6
Improve redundancy: add 'min_lifetime' configuration 2018-09-24 13:38:39 +02:00
Chocobozzz f201a74992
Cache user token 2018-09-20 11:45:59 +02:00
Chocobozzz 91411dba92
Limit associations fetch when loading token 2018-09-20 11:45:59 +02:00
Chocobozzz d9bdd007d7
Put config redundancy strategies in "strategies" subkey 2018-09-19 16:12:07 +02:00
Chocobozzz e587e0ecee
Optimize activity actor load in AP processors 2018-09-19 15:22:55 +02:00
Chocobozzz d4defe07d2
Optimize video view AP processing 2018-09-19 11:41:30 +02:00
Chocobozzz 4157cdb137
Refractor videos AP functions 2018-09-19 11:16:23 +02:00
Chocobozzz 96f29c0f6d
Optimize SQL requests of videos AP endpoints 2018-09-19 10:20:38 +02:00
Chocobozzz 627621c1e8
Optimize SQL requests of watch page API endpoints 2018-09-19 09:54:37 +02:00
Chocobozzz 098eb37797
Reduce video.ts file size by moving some methods in other files 2018-09-19 09:54:35 +02:00
Chocobozzz 4b5384f6e7
Add redundancy stats 2018-09-14 14:57:59 +02:00
Chocobozzz 7348b1fd84
Speed up overviews route 2018-09-14 11:52:23 +02:00
Chocobozzz 2b62cccd75
Raw query to get video ids 2018-09-14 11:09:34 +02:00
Chocobozzz 3f6b6a565d
Add recently added redundancy strategy 2018-09-14 11:05:38 +02:00
Chocobozzz b36f41ca09
Add trending videos strategy 2018-09-14 09:57:21 +02:00
Chocobozzz c48e82b5e0 Basic video redundancy implementation 2018-09-13 14:05:49 +02:00
Chocobozzz c75937d04f
Move nodeinfo model in shared/ 2018-09-04 15:34:11 +02:00
Chocobozzz 0926af7acc
Add index to startDate in video view table 2018-09-04 15:25:02 +02:00
Chocobozzz 5cf84858d4
Add federation to ownership change 2018-09-04 10:49:53 +02:00
Chocobozzz 8ea6f49ad7
Fix trending videos count 2018-09-04 08:58:33 +02:00
Gaëtan Rizio 74d6346935 Users can change ownership of their video [#510] (#888)
* [#510] Create a new route to get the list of user names

To be able to transfer ownership to a user,
we need to be able to select him from the list of users.

Because the list could be too big, we add a autocomplete feature.

This commit does the following:

* Add a API endpoint to get a list of user names by searching its name

* [#510] The user can choose the next owner of the video

To be able to transfer ownership to a user,
we need the owner to be able to select the user.

The server can autocomplete the name of the user to give the ownership.
We add a dialog for the user to actually select it.

This commit does the following:

* Create a modal for the owner to select the next one
* Opens this modal with a button into the menu *more*
* Make the dependency injection

* [#510] When the user choose the next owner, create a request in database

For the change of ownership to happen, we need to store the temporary requests.
When the user make the request, save it to database.

This commit does the following:

* Create the model to persist change ownership requests
* Add an API to manage ownership operations
* Add a route to persist an ownership request

* [#510] A user can fetch its ownership requests sent to him

To be able to accept or refuse a change of ownership,
the user must be able to fetch them.

This commit does the following:

* Add an API to list ownership for a user
* Add the query to database model

* [#510] A user can validate an ownership requests sent to him - server

The user can accept or refuse any ownership request that was sent to him.
This commit focus only on the server part.

This commit does the following:

* Add an API for the user to accept or refuse a video ownership
* Add validators to ensure security access
* Add a query to load a specific video change ownership request

* [#510] A user can validate an ownership requests sent to him - web

The user can accept or refuse any ownership request that was sent to him.
This commit focus only on the web part.

This commit does the following:

* Add a page to list user ownership changes
* Add actions to accept or refuse them
* When accepting, show a modal requiring the channel to send the video

* Correct lint - to squash

* [#510] PR reviews - to squash

This commit does the following:

* Search parameter for user autocompletion is required from middleware directly

* [#510] PR reviews - to squash with creation in database commit

This commit does the following:

* Add the status attribute in model
* Set this attribute on instance creation
* Use AccountModel method `loadLocalByName`

* [#510] PR reviews - to squash with fetch ownership

This commit does the following:

* Add the scope `FULL` for database queries with includes
* Add classic pagination middlewares

* [#510] PR reviews - to squash with ownership validation - server

This commit does the following:

* Add a middleware to validate whether a user can validate an ownership
* Change the ownership status instead of deleting the row

* [#510] PR reviews - to squash with ownership validation - client

This commit does the following:

* Correct indentation of html files with two-spaces indentation
* Use event emitter instead of function for accept event
* Update the sort of ownership change table for a decreasing order by creation date
* Add the status in ownership change table
* Use classic method syntax

* code style - to squash

* Add new user right - to squash

* Move the change to my-account instead of video-watch - to squash

As requested in pull-request, move the action to change ownership into my videos page.

The rest of the logic was not really changed.

This commit does the following:

- Move the modal into my video page
- Create the generic component `button` to keep some styles and logic

* [#510] Add tests for the new feature

To avoid regression, we add tests for all api of ownership change.

This commit does the following:

- Create an end-to-end test for ownership change
- Divide it to one test per request

* [#510] Do not send twice the same request to avoid spam

We can send several time the same request to change ownership.
However, it will spam the user.
To avoid this, we do not save a request already existing in database.

This commit does the following:

- Check whether the request exist in database
- Add tests to verify this new condition

* [#510] Change icons

Change icons so they remains logic with the rest of the application.

This commit does the following:

- Add svg for missing icons
- Add icons in `my-button` component
- Use these new icons

* [#510] Add control about the user quota

The user should be able to accept a new video only if his quota allows it.

This commit does the following:

- Update the middleware to control the quota
- Add tests verifying the control

* Correct merge

- Use new modal system
- Move button to new directory `buttons`

* PR reviews - to squash
2018-09-04 08:57:13 +02:00
Chocobozzz 4b54f1360e
Fix videos overview tags section 2018-08-31 17:43:39 +02:00
Chocobozzz 9a629c6efb
Trending by interval 2018-08-31 17:22:01 +02:00
Chocobozzz b6314e3cee
Cleanup video API SQL requests 2018-08-31 11:44:48 +02:00
Chocobozzz afd2cba554
Try to improve sql videos list query
Split the complex query in 2 different queries
2018-08-31 09:53:07 +02:00
Chocobozzz 2d3741d6d9 Videos overview page: first version 2018-08-31 09:19:58 +02:00
Josh Morel d9eaee3939 add user account email verificiation (#977)
* add user account email verificiation

includes server and client code to:

* enable verificationRequired via custom config
* send verification email with registration
* ask for verification email
* verify via email
* prevent login if not verified and required
* conditional client links to ask for new verification email

* allow login for verified=null

these are users created when verification not required
should still be able to login when verification is enabled

* refactor email verifcation pr

* change naming from verified to emailVerified
* change naming from askVerifyEmail to askSendVerifyEmail
* undo unrelated automatic prettier formatting on api/config
* use redirectService for home
* remove redundant success notification on email verified

* revert test.yaml smpt host
2018-08-31 09:18:19 +02:00
Chocobozzz 6b6168606b
Bufferize videos views in redis 2018-08-30 15:03:18 +02:00
Chocobozzz 8b60488020
Refractor user quota SQL queries 2018-08-28 18:29:48 +02:00
Chocobozzz c3c2ab1c8b
Optimize channel search query 2018-08-28 15:16:04 +02:00
Chocobozzz bfcef50db9
Fix oauth server module 2018-08-28 10:56:09 +02:00
Felix Ableitner bee0abffff Implement daily upload limit (#956)
* Implement daily upload limit (ref #652)

* remove duplicate code

* review fixes

* fix tests?

* whitespace fixes, finish leftover todo

* fix tests

* added some new tests

* use different config value for tests

* remove todo
2018-08-28 09:01:35 +02:00
Chocobozzz 62689b942b
Correctly migrate to fs-extra 2018-08-27 16:23:34 +02:00
Chocobozzz 687d638c2b Fetch outbox when searching an actor 2018-08-27 09:41:54 +02:00
Chocobozzz f5b0af50c8 Search video channel handle/uri 2018-08-27 09:41:54 +02:00
Chocobozzz aa55a4da42 Infinite scroll to list our subscriptions 2018-08-27 09:41:54 +02:00
Chocobozzz f37dc0dd14 Add ability to search video channels 2018-08-27 09:41:54 +02:00
Chocobozzz 1297eb5db6 Add refresh video on search 2018-08-27 09:41:54 +02:00
Chocobozzz 22a16e36f6 Add local user subscriptions 2018-08-27 09:41:54 +02:00
Chocobozzz 99492dbc0d Add get subscription endpoint 2018-08-27 09:41:54 +02:00
Chocobozzz 8a19bee1a1 Add ability to set a name to a channel 2018-08-27 09:41:54 +02:00
Chocobozzz 965c4b22d0 Use height instead of width to represent the video resolution 2018-08-27 09:41:54 +02:00
Chocobozzz 06a05d5f47 Add subscriptions endpoints to REST API 2018-08-27 09:41:54 +02:00
Chocobozzz a76138ff56
Add quota used in users list 2018-08-14 18:01:23 +02:00
Chocobozzz 06215f15e0
Cleanup utils helper 2018-08-14 15:28:30 +02:00
Chocobozzz 59c76ffa8f
Flat shared module directory 2018-08-14 15:00:01 +02:00
Chocobozzz cc43831a90
Filter tracker based on infohash 2018-08-14 11:00:03 +02:00
Chocobozzz 191764f30b
Improve blacklist management 2018-08-14 09:27:18 +02:00
Chocobozzz 26b7305a23
Add blacklist reason field 2018-08-14 09:27:18 +02:00
Chocobozzz 268eebed92
Add state and moderationComment for abuses on server side 2018-08-10 16:54:01 +02:00
Chocobozzz eacb25c436
Add reason when banning a user 2018-08-08 17:44:22 +02:00
Chocobozzz e69219184b
Implement user blocking on server side 2018-08-08 15:22:58 +02:00
Chocobozzz a84b8fa5cf Add import.video.torrent configuration 2018-08-08 09:30:31 +02:00
Chocobozzz 990b6a0b0c Import torrents with webtorrent 2018-08-08 09:30:31 +02:00
Chocobozzz ce33919c24 Import magnets with webtorrent 2018-08-08 09:30:31 +02:00
Chocobozzz b2977eecb8 Fix fps federation 2018-08-06 11:19:16 +02:00
Chocobozzz 590fb50690 Add tests regarding video import 2018-08-06 11:19:16 +02:00
Chocobozzz 516df59b3b Remove ability to delete video imports
Users should remove the linked video instead
2018-08-06 11:19:16 +02:00
Chocobozzz d7f83948a1 Correctly handle video import errors 2018-08-06 11:19:16 +02:00
Chocobozzz ed31c05985 Add ability to list video imports 2018-08-06 11:19:16 +02:00
Chocobozzz fbad87b047 Add ability to import video with youtube-dl 2018-08-06 11:19:16 +02:00
Chocobozzz a3d1026bf3
Add index on sharedInboxUrl 2018-07-31 18:04:45 +02:00
Aurélien Bertron 80e36cd9fa Add audit logs in various modules
- Videos
- Videos comments
- Users
- Videos channels
- Videos abuses
- Custom config
2018-07-31 15:40:29 +02:00
Chocobozzz 8e0fd45e14
Add more info logging 2018-07-30 17:02:40 +02:00
Chocobozzz c5a893d536
Revert "Delete actor too when deleting account/video channel"
This reverts commit e04551d796.

See https://github.com/Chocobozzz/PeerTube/issues/870#issuecomment-408814420
2018-07-30 13:39:20 +02:00
Chocobozzz e04551d796
Delete actor too when deleting account/video channel 2018-07-30 11:34:34 +02:00
Chocobozzz 8d194d9a5c
Optimize videos list SQL query (another time) 2018-07-27 16:57:16 +02:00
Chocobozzz dbfd3e9bfe
Optimize search SQL query (I hope :p) 2018-07-27 15:23:05 +02:00
Chocobozzz 18dbb5b972
Revert SQL optimization in videos list :( 2018-07-27 12:03:27 +02:00
Chocobozzz 2cebd79701
Fix last commit 2018-07-26 11:02:04 +02:00
Rigel Kent c1e791bad0
expliciting type checks and predicates (server only) 2018-07-25 22:01:25 +02:00
Rigel Kent 3f6d68d967 adding initial support for nodeinfo 2018-07-24 14:08:44 +02:00
Chocobozzz d411245096 Add ability to only filter in the search endpoint 2018-07-24 14:04:05 +02:00
Chocobozzz 8cd72bd377 Optimize SQL queries 2018-07-24 14:04:05 +02:00
Chocobozzz 0b18f4aa80 Add advanced search in client 2018-07-24 14:04:05 +02:00
Chocobozzz d525fc399a Add videos list filters 2018-07-24 14:04:05 +02:00
Chocobozzz 57c36b277e Begin advanced search 2018-07-24 14:04:05 +02:00
Chocobozzz f4001cf408
Handle .srt subtitles 2018-07-16 14:31:40 +02:00
Chocobozzz 40e87e9ecc Implement captions/subtitles 2018-07-16 11:50:08 +02:00
Chocobozzz 3a6f351b25
Handle higher FPS for high resolution (test) 2018-06-29 17:10:54 +02:00
Chocobozzz 52d9f792b3
Client: Add ability to update video channel avatar 2018-06-29 14:34:04 +02:00
PhieF 61b909b9bf Filter by category (#720)
* get videos with specific category (api)

* update api doc with category

* add url parameter to filter by category

* fix lint issues
2018-06-27 14:24:49 +02:00
Chocobozzz 9c2e0dbfa9
Update iso639 translations for french and deutch 2018-06-19 14:02:57 +02:00
Chocobozzz c305467cd7
Fix avatar image in channel page 2018-06-18 11:34:14 +02:00
Chocobozzz e94fc29706
Fix removing scheduled update 2018-06-18 10:26:20 +02:00
Chocobozzz bbe0f0645c
Add ability to schedule video publication 2018-06-15 18:20:56 +02:00
Chocobozzz 2baea0c77c
Add ability for uploaders to schedule video update 2018-06-14 18:06:56 +02:00
Chocobozzz 4dae00e68b
Use local object URLs for feeds 2018-06-14 11:25:19 +02:00
Chocobozzz 9a4a9b6c4e
Fix offset/limit on some SQL queries 🤦 2018-06-13 18:07:35 +02:00
Chocobozzz 749c7247ae
Fix bad RSS descriptions when filtering videos by account or channel 2018-06-13 15:07:45 +02:00
Chocobozzz 2186386cca
Add concept of video state, and add ability to wait transcoding before
publishing a video
2018-06-12 20:37:51 +02:00
Chocobozzz 6ccdf3a23e
Fix import with when the imported file has the same extension than an
already existing file
2018-06-11 19:16:00 +02:00
Chocobozzz fe3a55b071
Add video comments RSS 2018-06-08 20:34:37 +02:00
Chocobozzz 28be89161a
Improve create import file job
Fix federation of .ogv videos
2018-06-07 09:43:18 +02:00
Florent Fayolle 0138af9237 Add create-import-video-file-job command 2018-06-07 08:57:48 +02:00
Chocobozzz 9588d4f49b
Correctly forward video related activities 2018-05-31 10:23:56 +02:00
Chocobozzz 02756fbd11
Improve torrent/video download 2018-05-29 18:30:11 +02:00
Chocobozzz e3d5ea4f82
Fix actor outbox 2018-05-28 12:13:00 +02:00
Chocobozzz 8fffe21a7b
Refractor and optimize AP collections
Only display urls in general object, and paginate video comments, shares, likes and
dislikes
2018-05-25 16:21:16 +02:00
Chocobozzz 06be7ed0b2
Reload my videos after delete 2018-05-25 08:38:59 +02:00
Chocobozzz a4f99a766b
Add owner in video channel page 2018-05-23 11:38:18 +02:00
Chocobozzz e1a540b5fa
Fix insane SQL request when loading all video attributes 2018-05-23 09:07:32 +02:00
Chocobozzz 2efd32f697
Fix updating video tags to empty field 2018-05-16 09:42:56 +02:00
Chocobozzz 0f320037e6
Add ability to update a video channel 2018-05-11 15:25:51 +02:00
Chocobozzz a10fc78bb0
Fix video channel description/support max length 2018-05-09 13:32:44 +02:00
Chocobozzz 03e12d7c49
Add account link in videos list 2018-04-25 14:32:19 +02:00
Chocobozzz 6b738c7a31
Video channel API routes refractor 2018-04-25 13:50:48 +02:00
Chocobozzz 48dce1c90d
Update video channel routes 2018-04-24 17:12:57 +02:00
Chocobozzz 0626e7af82
Add account view 2018-04-24 15:13:19 +02:00
Chocobozzz 9d3ef9fe05
Use ISO 639 for languages 2018-04-23 14:39:52 +02:00
Chocobozzz 6cced8f915
Add resolution in torrent file name 2018-04-19 15:37:44 +02:00
Chocobozzz 81e504b34e
Better file name for torrent 2018-04-19 15:13:41 +02:00
Chocobozzz 2243730c8e
Add information concerning video privacy in my videos list 2018-04-19 14:52:10 +02:00
Chocobozzz 0883b3245b
Add ability to choose what policy we have for NSFW videos
There is a global instance setting and a per user setting
2018-04-19 11:01:34 +02:00
Chocobozzz 66dc590764
Add ability to click on the account in watch page 2018-04-17 15:11:12 +02:00
Chocobozzz 7b87d2d514
Handle sort in rss 2018-04-17 10:56:27 +02:00
Rigel Kent 244e76a552
feature: initial syndication feeds support
Provides rss 2.0, atom 1.0 and json 1.0 feeds for videos (instance and account-wide) on listings and video-watch views.

* still lacks redis caching
* still lacks lastBuildDate support
* still lacks channel-wide support
* still lacks semantic annotation (for licenses, NSFW warnings, etc.)
* still lacks love ( ˘ ³˘)

* RSS: has MRSS support for torrent lists!
* RSS: includes the first torrent in an enclosure
* JSON: lists all torrents in the 'attachments' object
* ATOM: lacking torrent listing support

Advances #23
Partial implementation for the accountId generation in the client, which will need a hotfix to add a way to get the proper account id.
2018-04-17 01:09:06 +02:00
Chocobozzz ee28cdf1c4
Upgrade server dependencies 2018-04-06 14:39:19 +02:00
Chocobozzz a8462c8e3a
Automatic resolution according to user bandwidth V1 2018-04-05 16:15:51 +02:00
Julien Le Bras 2922e048de Add publishedAt field for video model.
* New field added in the `video` table + migration script

* `publishedAt` updated to NOW when privacy changes from private to
  public/unlisted (default = NOW)

* Models updated to handle the new attribute

* Client interface updated to use `publishedAt` instead of `createdAt`
  except in My Account > My Videos view
2018-03-30 08:52:58 +02:00
Chocobozzz c73e83da28
Truncate correctly video descriptions 2018-03-28 11:00:02 +02:00
Chocobozzz 3e0c9ff5d5
Add ability to search on domain and username too 2018-03-27 15:09:53 +02:00
Chocobozzz e53f952eba
Improve SQL request for video AP request 2018-03-27 14:29:22 +02:00
Chocobozzz fc27b17c6b
Put Person first in AP attributedTo 2018-03-27 13:40:30 +02:00
Chocobozzz d5b7d9110d
Fix error logging 2018-03-26 16:04:14 +02:00
Chocobozzz bffbebbe6b
Fix issues with truncated description and utf characters 2018-03-21 15:00:58 +01:00
Chocobozzz a3cffab42d
Fix mentions in comments 2018-03-21 11:17:01 +01:00
Chocobozzz 552586eda6
Fix resolution order 2018-03-19 15:37:31 +01:00
Chocobozzz 5d00a3d7aa
Update the api documentation 2018-03-19 14:20:04 +01:00
Chocobozzz ae5a3dd664
Update videos response api 2018-03-19 10:32:51 +01:00
Chocobozzz 2e3a0215d0
Add short description in config 2018-03-15 14:34:47 +01:00
Chocobozzz 066e94c538
Add "local" videos in menu 2018-03-13 10:24:28 +01:00
Chocobozzz 19a3b914f1
Change video abuse API response 2018-03-12 11:44:28 +01:00
Chocobozzz b64c950a1c
Update videos api list for account 2018-03-12 11:44:28 +01:00
Chocobozzz b0ef17828c
Do not destroy the video if transcoding fails 2018-03-08 14:09:09 +01:00
Chocobozzz a73c582e5b
Improve playback speed style 2018-03-01 13:02:09 +01:00
Chocobozzz 09cababd79
Add stats route 2018-02-28 18:04:55 +01:00
Chocobozzz 056aa7f2b4
Fix resolution for portrait videos 2018-02-27 15:57:43 +01:00
Chocobozzz 266707202c
Keep ratio for thumbnails 2018-02-27 11:29:24 +01:00
Chocobozzz e8cb44090e
Add links to comment mentions 2018-02-21 16:44:43 +01:00
Chocobozzz 6ff9c676e9
Fix lint 2018-02-19 11:31:50 +01:00
Chocobozzz 3bb6c52645
Fix sort inconsistency 2018-02-19 10:48:44 +01:00
Chocobozzz b6a4fd6b09
Fix avatars on video watch page 2018-02-16 11:19:54 +01:00
Chocobozzz 2422c46b27
Implement support field in video and video channel 2018-02-15 15:29:07 +01:00
Chocobozzz 29c6b82944
Fix deleting a video with comments 2018-02-13 13:35:10 +01:00
Chocobozzz 3c75ce12d5
Only list unlisted/public videos in outbox 2018-02-04 23:04:32 +01:00
Chocobozzz 1d230c4419
Fix announces when fetching the actor outbox 2018-02-04 22:40:37 +01:00
Chocobozzz ba75d26859
Send an email on video abuse report 2018-02-01 11:08:29 +01:00
Chocobozzz ecb4e35f4e
Add ability to reset our password 2018-01-30 13:27:07 +01:00
Chocobozzz ba12e8b3a6
Add ability to login with email 2018-01-29 16:09:50 +01:00
Chocobozzz 46531a0abd
Add id to likes/dislikes/comments/shares collections 2018-01-29 10:52:19 +01:00
Chocobozzz 0a67e28bee
Use sensitive instead of nsfw in activitypub 2018-01-26 17:25:35 +01:00
Chocobozzz 4ba3b8ea1b
Don't rehost announced video activities 2018-01-26 15:49:57 +01:00
Chocobozzz 0776d83f2c
Add unique index on video comment url 2018-01-26 14:14:43 +01:00
Chocobozzz d6e99e5322
Add context on activitypub responses 2018-01-26 11:44:08 +01:00
Chocobozzz 94a5ff8a4a
Move job queue to redis
We'll use it as cache in the future.

/!\ You'll loose your old jobs (pending jobs too) so upgrade only when
you don't have pending job anymore.
2018-01-25 18:41:17 +01:00
Chocobozzz 093237cf79
Add schema.org tags to videos 2018-01-23 17:09:06 +01:00
Chocobozzz f8b8c36b2a
Destroy user token when changing its role 2018-01-23 09:49:57 +01:00
Chocobozzz 23e27dd535
Add ability to configure log level 2018-01-19 13:58:13 +01:00
Chocobozzz 0edf0581a9
Add http tracker in torrent too 2018-01-19 08:49:04 +01:00
Chocobozzz 2d9ab59061
Fix videos list sql request
Sequelize my love <3
2018-01-18 19:37:35 +01:00
Chocobozzz 3e5002477a
Video get SQL optimization 2018-01-18 17:44:04 +01:00
Chocobozzz 2c897999fe
Optimize SQL query that fetch actor outbox 2018-01-18 16:43:26 +01:00
Chocobozzz 54e740594b
Avoid too many requests and fetching outbox 2018-01-18 15:42:20 +01:00
Chocobozzz f05a1c30c1
Don't show videos of remote instance after unfollow 2018-01-18 15:42:20 +01:00
Chocobozzz 9fb3abfdac
Fix communication with mastodon 2018-01-12 15:35:30 +01:00
Chocobozzz 38768a367b
Fix lint 2018-01-12 12:18:11 +01:00
Chocobozzz a3fd560d11
Fix tree comment rendering
Sort by updatedAt too
2018-01-12 11:59:52 +01:00
Chocobozzz 32b2b43c06
Update follower/following counts 2018-01-12 11:47:45 +01:00
Chocobozzz 6502c3d43e
Avoid making retried requests to dead followers 2018-01-12 10:02:11 +01:00
Chocobozzz 05bc4dfa06
Add maximum to actor follow scores 2018-01-11 18:35:39 +01:00
Chocobozzz 6120941f59
Little SQL optimization 2018-01-11 14:30:27 +01:00
Chocobozzz 7bc2917145
Add tests to handle down server 2018-01-11 11:47:44 +01:00
Chocobozzz 60650c77c8
Add scores to follows and remove bad ones 2018-01-11 09:35:50 +01:00
Chocobozzz 2ccaeeb341
Fetch remote AP objects 2018-01-10 17:19:14 +01:00
Chocobozzz 759f8a29e9
Fix sharedInboxUrl list 2018-01-09 18:13:00 +01:00
Chocobozzz ca309a9f64
Fix aot build 2018-01-09 17:22:26 +01:00
Chocobozzz 378557ef25
Fix comment creation 2018-01-08 13:15:01 +01:00
Chocobozzz ce5496d6a3
Support video quota on client 2018-01-08 12:53:09 +01:00
Chocobozzz 2cfe649635
Disable job scheduler SQL queries logging 2018-01-08 10:52:15 +01:00
Chocobozzz 93ef8a9d02
Send comment to followers and parents 2018-01-08 10:15:27 +01:00
Chocobozzz 98418afe2d
Fix account names validation 2018-01-05 15:51:01 +01:00
Chocobozzz d7e70384a3
Add mentions to comments 2018-01-05 11:19:25 +01:00
Chocobozzz a5625b4167
Refresh remote accounts 2018-01-04 14:04:02 +01:00
Chocobozzz 4cb6d45788
Add ability to delete comments 2018-01-04 11:19:16 +01:00
Chocobozzz cf117aaafc
Add avatar in comments 2018-01-03 17:35:00 +01:00