Commit Graph

941 Commits

Author SHA1 Message Date
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
Chocobozzz 265ba139eb
Send account activitypub update events 2018-01-03 16:38:50 +01:00
Chocobozzz e8e122002d
Automatically resize avatars 2018-01-03 11:36:03 +01:00
Chocobozzz 01de67b9a4
Add avatar max size limit 2018-01-03 11:10:40 +01:00
Chocobozzz 47564bbe2e
Add ability to disable video comments 2018-01-03 10:38:19 +01:00
Chocobozzz c5911fd347
Begin to add avatar to actors 2017-12-29 19:10:13 +01:00
Chocobozzz db799da3d2
Add get old comment on follow tests 2017-12-28 11:45:10 +01:00
Chocobozzz da854ddd50
Propagate old comment on new follow 2017-12-28 11:16:08 +01:00
Chocobozzz d50acfab69
Add comments federation tests 2017-12-27 20:03:37 +01:00
Chocobozzz 4635f59d7c
Add video comment components 2017-12-27 16:11:53 +01:00
Chocobozzz ea44f375f5
Send video comment comments to followers/origin 2017-12-27 10:39:31 +01:00
Chocobozzz d3ea897591
Begin unit tests 2017-12-22 12:12:33 +01:00
Chocobozzz bf1f650817
Add comments controller 2017-12-22 11:29:12 +01:00
Chocobozzz 6d85247028
Create comment on replied mastodon statutes 2017-12-22 09:14:50 +01:00
Chocobozzz 8fa5653ad8
Add transition on play/loading player 2017-12-20 11:05:10 +01:00
Chocobozzz e12a009254
Status are sent to mastodon 2017-12-19 10:53:16 +01:00
Chocobozzz ce33ee01cd
Use RsaSignature2017 2017-12-19 10:53:16 +01:00
Chocobozzz 50d6de9c28
Begin moving video channel to actor 2017-12-19 10:53:16 +01:00
Chocobozzz fadf619ad6
Save 2017-12-19 10:51:09 +01:00
Andréas Livet 7efe153b0b Enh #106 : Add an autoPlayVideo user attribute (#159)
Warning : I was not able to run the tests on my machine. It uses a different approach to handle databse connexion and didn't find where to configure it...

- create a migration file to add a boolean column in user table
- add autoPlayVideo attribute everywhere it is needed (both on client and server side)
- add tests
- add a way to configure this attribute in account-settings
- use the attribute in video-watch component to actually autoplay or not the video
2017-12-19 10:45:49 +01:00
Chocobozzz d48ff09d27
Use sequelize scopes 2017-12-14 10:07:57 +01:00
Chocobozzz 65b3ed25fc
Fix job model 2017-12-13 17:00:01 +01:00
Chocobozzz 3fd3ab2d34
Move models to typescript-sequelize 2017-12-13 16:50:33 +01:00
Chocobozzz f595d39477
Finish admin design 2017-12-08 17:31:21 +01:00
Chocobozzz 8e7f08b5a5
Make some fields optional when uploading a video 2017-12-07 17:05:23 +01:00
Chocobozzz b1fa3eba70
Begin video watch design 2017-12-06 17:15:59 +01:00
Chocobozzz f3aaa9a95c
Fix client search 2017-12-05 18:25:29 +01:00
Chocobozzz be44767854
Fix lint 2017-12-04 11:17:08 +01:00
Chocobozzz 2295ce6c4e
Add account avatar 2017-12-04 10:34:40 +01:00
Chocobozzz 98ec8b8e73
Fix lint 2017-11-30 13:16:23 +01:00
Chocobozzz 25ed141c7c
Put activity pub sends inside transactions 2017-11-30 11:31:15 +01:00
Chocobozzz 5cd8054542
Add ability to list jobs 2017-11-30 10:55:06 +01:00
Chocobozzz 165cdc75bf
Fix well known and json parser with mastodon 2017-11-29 11:34:44 +01:00
Chocobozzz c60774b05b
Remove max duration/filesize constraints 2017-11-28 14:51:00 +01:00
Chocobozzz a2431b7dcb
Refractor validators 2017-11-27 19:43:01 +01:00
Chocobozzz 4e50b6a1c9
Add shares forward and collection on videos/video channels 2017-11-27 19:40:53 +01:00
Chocobozzz 74bb2cb834
Add activitypub migration script 2017-11-27 19:40:53 +01:00
Chocobozzz df1966c9b4
Fix lint 2017-11-27 19:40:53 +01:00
Chocobozzz 63c93323ec
Correctly forward like/dislikes and undo 2017-11-27 19:40:53 +01:00
Chocobozzz d4f1e94c89
Misc cleanup 2017-11-27 19:40:53 +01:00
Chocobozzz 39445ead45
Cleanup models 2017-11-27 19:40:53 +01:00
Chocobozzz 16b9097594
Fetch video likes/dislikes too 2017-11-27 19:40:53 +01:00
Chocobozzz 0032ebe94a
Federate likes/dislikes 2017-11-27 19:40:53 +01:00
Chocobozzz 40ff57078e
Federate video views 2017-11-27 19:40:53 +01:00
Chocobozzz c46edbc2f6
Fetch outbox to grab old activities tests 2017-11-27 19:40:53 +01:00
Chocobozzz e71bcc0f4b
Add outbox 2017-11-27 19:40:53 +01:00
Chocobozzz 7e9334c34d
Add ability to unfollow a server 2017-11-27 19:40:52 +01:00
Chocobozzz 5414139835
Refractor activity pub lib/helpers 2017-11-27 19:40:52 +01:00
Chocobozzz 79d5caf994
Fix lint 2017-11-27 19:40:52 +01:00
Chocobozzz 9a27cdc27c
Optimize signature verification 2017-11-27 19:40:52 +01:00
Chocobozzz 47e0652b4a
Optimize account creation 2017-11-27 19:40:52 +01:00
Chocobozzz 21e0727a84
Federate video abuses 2017-11-27 19:40:52 +01:00
Chocobozzz d7d5611c8a
Federate video update 2017-11-27 19:40:52 +01:00
Chocobozzz 20494f1221
Server shares user videos 2017-11-27 19:40:52 +01:00
Chocobozzz efc32059d9
Send server announce when users upload a video 2017-11-27 19:40:52 +01:00
Chocobozzz d846501818
Handle announces in inbox 2017-11-27 19:40:52 +01:00
Chocobozzz 8e10cf1a5a
Fix video upload and videos list 2017-11-27 19:40:52 +01:00
Chocobozzz 8e13fa7d09
Add video abuse to activity pub 2017-11-27 19:40:52 +01:00
Chocobozzz 59c857da59
Fix error when creating a fresh database 2017-11-27 19:40:52 +01:00
Chocobozzz 6086242524
Rename Pod -> Server 2017-11-27 19:40:51 +01:00
Chocobozzz 51548b3181
Add follow tabs
Following
Follow
Followers
2017-11-27 19:40:51 +01:00
Chocobozzz 350e31d6b6
Follow works 2017-11-27 19:40:51 +01:00
Chocobozzz e34c85e527
Fix issues on server start 2017-11-27 19:40:51 +01:00
Chocobozzz 8e69648749
Add MANAGE_PEERTUBE_FOLLOW right 2017-11-27 19:40:51 +01:00
Chocobozzz ce548a10db
Send follow/accept 2017-11-27 19:40:51 +01:00
Chocobozzz 7a7724e66e
Handle follow/accept 2017-11-27 19:40:51 +01:00
Chocobozzz 571389d43b
Make it compile at least 2017-11-27 19:40:51 +01:00
Chocobozzz 38fa206583
Remove references to author 2017-11-27 19:40:51 +01:00
Chocobozzz 0d0e8dd090
Continue activitypub 2017-11-27 19:40:51 +01:00
Chocobozzz e4f97babf7
Begin activitypub 2017-11-27 19:40:51 +01:00
Chocobozzz 59557c4663
Don't hash user password once again on update 2017-11-04 18:09:23 +01:00
Chocobozzz 53abc4c272
Upgrade server packages 2017-10-31 16:31:24 +01:00
Chocobozzz fd45e8f43c
Add video privacy setting 2017-10-31 11:53:13 +01:00
Chocobozzz 2de96f4d6b
Lazy description and previews to video form 2017-10-30 20:26:06 +01:00
Chocobozzz 9567011bf0
Add lazy description on server 2017-10-30 10:16:27 +01:00
Chocobozzz 954605a804
Support roles with rights and add moderator role 2017-10-27 16:55:03 +02:00
Chocobozzz c296250511
Remove sequelize deprecated operators 2017-10-26 16:59:02 +02:00
Chocobozzz 911238e343
Fix integrity issues with after destroy hook 2017-10-26 14:05:20 +02:00
Chocobozzz 6cd44728bb
Fix log in after destroy hook 2017-10-26 12:06:57 +02:00
Chocobozzz b869d19068
Fix join in video events 2017-10-26 11:42:36 +02:00
Chocobozzz a041b17147
Reset video fields when remote update fails 2017-10-26 11:26:35 +02:00
Chocobozzz d412e80e5f
Fix lint 2017-10-26 09:11:38 +02:00
Chocobozzz f5028693a8
Use async/await in lib and initializers 2017-10-26 09:11:38 +02:00
Chocobozzz 72c7248b6f
Add video channels 2017-10-26 09:11:38 +02:00
Chocobozzz a96aed1518
Add ability to download a video from direct link or torrent file 2017-10-19 14:58:28 +02:00
Chocobozzz 8a02bd0433
Add pod list endpoint with pagination, sort... 2017-10-19 09:43:01 +02:00
Chocobozzz 9fd540562c
Fix video removing when it is corrupted 2017-10-19 09:28:35 +02:00
Chocobozzz 164174a6ab
Use preview instead of thumbnail for oembed 2017-10-17 10:35:27 +02:00
Chocobozzz d8755eed1e
Add oembed endpoint 2017-10-16 10:07:26 +02:00
Chocobozzz 14d3270f36
Change how we handle resolution
It was an enum before, now we just use video height
2017-10-09 11:17:36 +02:00
Chocobozzz aa8b6df4a5
Client: handle multiple file resolutions 2017-10-06 11:03:09 +02:00
Chocobozzz ecb455b6c4 Add migration script 2017-10-03 17:16:47 +02:00
Chocobozzz 40298b0254 Implement video transcoding on server side 2017-10-03 15:31:26 +02:00
Chocobozzz f0adb2701c Modify video file size to bigint 2017-09-22 17:02:31 +02:00
Green-Star 792dbaf07f Handle blacklist (#84)
* Client: Add list blacklist feature

* Server: Add list blacklist feature

* Client: Add videoId column

* Server: Add some video infos in the REST api

* Client: Add video information in the blacklist list

* Fix sortable columns :)

* Client: Add removeFromBlacklist feature

* Server: Add removeFromBlacklist feature

* Move to TypeScript

* Move to TypeScript and Promises

* Server: Fix blacklist list sort

* Server: Fetch videos informations

* Use common shared interface for client and server

* Add check-params remove blacklisted video tests

* Add check-params list blacklisted videos tests

* Add list blacklist tests

* Add remove from blacklist tests

* Add video blacklist management tests

* Fix rebase onto develop issues

* Server: Add sort on blacklist id column

* Server: Add blacklists library

* Add blacklist id sort test

* Add check-params tests for blacklist list pagination, count and sort

* Fix coding style

* Increase Remote API tests timeout

* Increase Request scheduler API tests timeout

* Fix typo

* Increase video transcoding API tests timeout

* Move tests to Typescript

* Use lodash orderBy method

* Fix typos

* Client: Remove optional tests in blacklist model attributes

* Move blacklist routes from 'blacklists' to 'blacklist'

* CLient: Remove blacklist-list.component.scss

* Rename 'blacklists' files to 'blacklist'

* Use only BlacklistedVideo interface

* Server: Use getFormattedObjects method in listBlacklist method

* Client: Use new coding style

* Server: Use new sort validator methods

* Server: Use new checkParams methods

* Client: Fix sortable columns
2017-09-22 09:13:43 +02:00
Chocobozzz 91f6f169b1 Fix concurrency error when deleting a video 2017-09-12 14:17:46 +02:00
Chocobozzz fdbda9e3d6 Add tests for npm run scripts 2017-09-07 15:54:34 +02:00
Chocobozzz 77a5501f64 Fix tests and user quota 2017-09-06 17:28:20 +02:00
Chocobozzz 5c98d3bf07 Begin tests for user quota 2017-09-05 22:09:16 +02:00
Chocobozzz 980246ea8f Make tslint happy 2017-09-04 21:45:05 +02:00
Chocobozzz b0f9f39ed7 Begin user quota 2017-09-04 20:07:54 +02:00
Chocobozzz 556ddc3192 Upgrade common server dependencies 2017-08-25 18:36:49 +02:00
Chocobozzz 0aef76c479 Formated -> Formatted 2017-08-25 11:45:31 +02:00
Chocobozzz 93e1258c7c Move video file metadata in their own table
Will be used for user video quotas and multiple video resolutions
2017-08-25 11:36:23 +02:00
Chocobozzz f981dae861 Add previews cache system between pods 2017-07-12 11:56:02 +02:00
Chocobozzz 075f16caac Remove "function" in favor of () => {} 2017-07-11 17:05:55 +02:00
Chocobozzz 0a6658fdcb Use global uuid instead of remoteId for videos 2017-07-11 16:01:56 +02:00
Chocobozzz e6d4b0ff24 Remove any typing from server 2017-07-11 10:59:13 +02:00
Chocobozzz 4771e0008d Better typescript typing for a better world 2017-07-10 19:43:21 +02:00
Chocobozzz ad0997adfb Fix error logging 2017-07-07 18:26:12 +02:00
Chocobozzz 18c8e94508 Video search -> case insensitive 2017-07-06 18:01:02 +02:00
Chocobozzz 6fcd19ba73 Move to promises
Closes https://github.com/Chocobozzz/PeerTube/issues/74
2017-07-05 14:14:16 +02:00
Chocobozzz 154898b0b7 Share models between server and client 2017-06-17 11:28:11 +02:00
Chocobozzz ee9e7b61f5 Create types for model enums 2017-06-16 10:36:18 +02:00
Chocobozzz 70c065d64c Add this context to instance model functions 2017-06-16 09:54:59 +02:00
Chocobozzz 74889a71fe Reorganize model files 2017-06-16 09:45:46 +02:00
Chocobozzz 75d612ce3c Convert scripts to typescript 2017-06-12 21:06:32 +02:00
Chocobozzz 127944aacb Better models define typing 2017-06-11 17:35:32 +02:00
Chocobozzz 69f616ab3a Use shared models 2017-06-11 11:02:35 +02:00
Chocobozzz 69818c9394 Type functions 2017-06-10 22:15:25 +02:00
Chocobozzz 4d4e5cd4dc require -> import 2017-06-05 21:53:49 +02:00
Chocobozzz e02643f32e Type models 2017-05-25 17:32:16 +02:00
Chocobozzz 65fcc3119c First typescript iteration 2017-05-20 09:57:40 +02:00
Chocobozzz 4e284e97b9 Server: finish old jobs at startup 2017-05-05 17:24:16 +02:00
Chocobozzz 227d02fead Server: add job scheduler to transcode video files 2017-05-04 21:12:32 +02:00
Chocobozzz 15d4ee04a9 Server: little refractoring when listing videos 2017-05-01 19:24:37 +02:00
Chocobozzz ab683a8e0d Format video blacklist 2017-04-26 21:42:36 +02:00
Green-Star 198b205c10 Add ability for an administrator to remove any video (#61)
* Add ability for an admin to remove every video on the pod.

* Server: add BlacklistedVideos relation.

* Server: Insert in BlacklistedVideos relation upon deletion of a video.

* Server: Modify BlacklistedVideos schema to add Pod id information.

* Server: Moving insertion of a blacklisted video from the `afterDestroy` hook into the process of deletion of a video.

To avoid inserting a video when it is removed on its origin pod.
When a video is removed on its origin pod, the `afterDestroy` hook is fire, but no request is made on the delete('/:videoId') interface.
Hence, we insert into `BlacklistedVideos` only on request on delete('/:videoId') (if requirements for insertion are met).

* Server: Add removeVideoFromBlacklist hook on deletion of a video.

We are going to proceed in another way :).
We will add a new route : /:videoId/blacklist to blacklist a video.
We do not blacklist a video upon its deletion now (to distinguish a video blacklist from a regular video delete)
When we blacklist a video, the video remains in the DB, so we don't have any concern about its update. It just doesn't appear in the video list.
When we remove a video, we then have to remove it from the blacklist too.
We could also remove a video from the blacklist to 'unremove' it and make it appear again in the video list (will be another feature).

* Server: Add handler for new route post(/:videoId/blacklist)

* Client: Add isBlacklistable method

* Client: Update isRemovableBy method.

* Client: Move 'Delete video' feature from the video-list to the video-watch module.

* Server: Exclude blacklisted videos from the video list

* Server: Use findAll() in BlacklistedVideos.list() method

* Server: Fix addVideoToBlacklist function.

* Client: Add blacklist feature.

* Server: Use JavaScript Standard Style.

* Server: In checkUserCanDeleteVideo, move the callback call inside the db callback function

* Server: Modify BlacklistVideo relation

* Server: Modifiy Videos methods.

* Server: Add checkVideoIsBlacklistable method

* Server: Rewrite addVideoToBlacklist method

* Server: Fix checkVideoIsBlacklistable method

* Server: Add return to addVideoToBlacklist method
2017-04-26 21:22:10 +02:00
Chocobozzz 3092476e64 Server: add video language attribute 2017-04-07 12:13:37 +02:00
Chocobozzz 1d49e1e27d Server: Add NSFW in user profile 2017-04-03 21:24:36 +02:00
Chocobozzz 31b59b4774 Server: add nsfw attribute 2017-03-28 21:19:46 +02:00
Chocobozzz 6f0c39e2de Server: add licence video attribute 2017-03-27 20:53:11 +02:00
Chocobozzz 6e07c3de88 Add video category support 2017-03-22 21:25:24 +01:00
Chocobozzz d38b828106 Add like/dislike system for videos 2017-03-08 21:35:43 +01:00
Chocobozzz e3d156b341 Server: add views attribute when sending videos to friends 2017-03-04 11:00:59 +01:00
Chocobozzz ed708d62a6 Server: fix migrations with an empty Applications table 2017-03-04 10:40:09 +01:00
Chocobozzz e4c87ec269 Server: implement video views 2017-02-26 20:01:26 +01:00
Chocobozzz 9e167724f7 Server: make a basic "quick and dirty update" for videos
This system will be useful to to update some int video attributes
(likes, dislikes, views...)

The classic system is not used because we need some optimization for
scaling
2017-02-26 20:01:26 +01:00
Chocobozzz 5804c0db33 Server: fix migration scripts 2017-02-18 12:13:33 +01:00
Chocobozzz c1a7ab7f04 Server: use a request scheduler object instance for friends
communication
2017-02-18 10:29:36 +01:00
Chocobozzz ad4a8a1cca Add email to users 2017-02-18 09:29:59 +01:00
Chocobozzz 5d67f289df Server: add unique to unique indexes 2017-02-16 19:24:34 +01:00
Chocobozzz 4793c343fd Add email to pods 2017-02-16 19:19:56 +01:00
Chocobozzz 9cc99d7b56 Fix update host script 2017-02-08 20:34:01 +01:00
Chocobozzz 11ac88de40 Client: add basic support to report video abuses 2017-01-23 22:18:53 +01:00
Chocobozzz 15103f11ec Server: paths refractoring 2017-01-17 21:42:47 +01:00
Chocobozzz 1e4b0080ff Server: requests refractoring 2017-01-17 21:17:07 +01:00
Chocobozzz 91cc839af8 Server: fix single pod tests 2017-01-12 13:08:47 +01:00
Chocobozzz 7f4e7c3637 Server: fix update remote video infohash 2017-01-12 09:47:21 +01:00
Chocobozzz edc5e86006 Server: transaction serializable for videos 2017-01-11 18:41:40 +01:00
Chocobozzz d8cc063e97 Server: do not break remote videos processing on error 2017-01-11 18:06:51 +01:00
Chocobozzz bd14d16a29 Server: improve requests scheduler 2017-01-10 22:24:42 +01:00
Chocobozzz ed04d94f6d Server: try to have a better video integrity 2017-01-06 23:46:36 +01:00
Chocobozzz bdfbd4f162 Server: use crypto instead of ursa for pod signature 2017-01-04 22:23:07 +01:00
Chocobozzz b981a525c3 Server: we don't need the video name when removing a remote video 2017-01-04 21:15:57 +01:00
Chocobozzz 55fa55a9be Server: add video abuse support 2017-01-04 21:05:13 +01:00
Chocobozzz 79066fdf33 Server: add updatedAt attribute to videos 2016-12-30 11:45:00 +01:00
Chocobozzz 3d118fb501 Server: propagate video update to other pods 2016-12-30 11:27:42 +01:00
Chocobozzz 7b1f49de22 Server: add ability to update a video 2016-12-29 19:07:05 +01:00
Chocobozzz 4ff0d86208 Server: little refractoring 2016-12-29 18:02:03 +01:00
Chocobozzz 4d32448895 Server: use binary data instead of base64 to send thumbnails 2016-12-29 12:13:19 +01:00
Chocobozzz 98ac898a03 Server: use video hook to send information to other pods when a video is
deleted
2016-12-29 11:17:11 +01:00
Chocobozzz 4712081f2a Server: add association between author and user 2016-12-29 10:56:07 +01:00
Chocobozzz 319d072e8e Server: Add postgresql indexes 2016-12-29 10:04:39 +01:00
Chocobozzz 67bf9b96bb Server: add database field validations 2016-12-28 15:49:23 +01:00
Chocobozzz 178edb2025 Server: correctly sort tags by name asc 2016-12-26 17:44:25 +01:00
Chocobozzz b769007f73 Update migrations code 2016-12-25 09:44:57 +01:00
Chocobozzz 7920c273a2 Move tags in another table 2016-12-24 16:59:17 +01:00
Chocobozzz 3897209f46 Server: rename Pods -> Pod 2016-12-19 21:50:20 +01:00
Chocobozzz feb4bdfd9b First version with PostgreSQL 2016-12-19 21:22:28 +01:00
Chocobozzz 38d78e5b82 Server: remove encryption when seending requests to other pods
We don't need it anymore since HTTPS is mandatory now
2016-11-27 18:25:35 +01:00
Chocobozzz 437cf8b531 Server: set manually the post host of a remote video throught the
signature
2016-11-27 11:09:05 +01:00
Bigard Florian 8e124f999b Server: fix magnet tracker websocket url for remote videos 2016-11-23 13:34:07 +01:00
Chocobozzz 8f21730250 Server: add extname video information to remote pods 2016-11-22 22:34:59 +01:00
Chocobozzz c77fa067a1 Server: fix thumbnail in remote videos 2016-11-16 21:16:41 +01:00
Chocobozzz 8eb7d0fa09 Server: Remove unused console log 2016-11-16 20:29:26 +01:00
Chocobozzz 49abbbbedc Pod URL -> pod host. HTTPS is required to make friends.
Reason: in a network with mix http/https pods, https pods won't be able
to play videos from http pod (insecure requests).
2016-11-16 20:29:26 +01:00
Chocobozzz 41b5da1d8c Server: use preview image for opengraph 2016-11-16 20:29:26 +01:00
Chocobozzz 55723d16fd Server: adapt magnet uri search 2016-11-16 20:29:26 +01:00
Chocobozzz f285faa04e Server: generate magnet uri on the fly 2016-11-16 20:29:26 +01:00
Chocobozzz 558d7c2385 Server: use _id for image and video files. Add remoteId field 2016-11-16 20:29:26 +01:00
Chocobozzz 6a94a109b4 Server: add video preview 2016-11-16 20:29:26 +01:00
Chocobozzz 371fa0933a Server: fix refreshing token 2016-11-04 11:34:23 +01:00
Chocobozzz 4b08096b2c Server: add endpoint in requests 2016-11-01 18:47:57 +01:00
Chocobozzz bf2fc85c83 Server: fix refreshing token that fails 2016-11-01 18:16:47 +01:00
Chocobozzz cf6412e85d Server: videos search case insensitive 2016-10-26 20:37:27 +02:00
Chocobozzz 3737bbafb1 Server: host -> hostname (host = hostname + port) 2016-10-26 20:28:34 +02:00
Chocobozzz 43666d616d Server: randomize the requests list
We don't want to stuck with the same failing requests
2016-10-26 20:28:34 +02:00
Chocobozzz b3d9251015 Server: Uploads -> Videos 2016-10-21 11:33:31 +02:00
Chocobozzz 80a6c9e76f Server: pod removing refractoring 2016-10-21 11:20:45 +02:00
Chocobozzz c2ee5ce83a Server: wait pod removal when finishing a request 2016-10-17 21:38:14 +02:00
Chocobozzz 25cad91992 Server: handle tls websockets 2016-10-17 21:10:29 +02:00
Chocobozzz bf94b6f0a1 Server: update to webseed implementation (tests, lint...) 2016-10-07 13:59:06 +02:00
Chocobozzz a6375e6966 Merge branch 'master' into webseed-merged 2016-10-02 15:39:09 +02:00
Chocobozzz c4403b29ad Server: remove useless hash affectations 2016-10-02 12:19:02 +02:00
Chocobozzz d6cf31b7e0 Server: add informations when removing requests of unexisting pod 2016-10-01 16:10:18 +02:00
Chocobozzz 5abeec313f Server: fix remaining milli seconds before the next requests feature 2016-10-01 15:33:27 +02:00
Chocobozzz 7c34bc6491 Server: fix error log when a friend request fails 2016-10-01 10:10:49 +02:00
Chocobozzz b91359055f Server: add information why a friend request failed (status code) 2016-10-01 09:48:49 +02:00
Chocobozzz b81929a014 Server: when we remove a user, remove the oauthtokens too 2016-10-01 09:12:02 +02:00
Chocobozzz 00d6b0dda4 Add migration (for db, folders...) mechanism 2016-09-26 22:39:58 +02:00
Chocobozzz d74a0680f7 Server: show user created date for the api 2016-09-23 17:19:57 +02:00
Chocobozzz d3cd34be2f Server: add requests stats endpoint 2016-09-19 21:33:46 +02:00
Chocobozzz 535724234a Server: add pod created date and score to the list controller 2016-08-26 18:55:10 +02:00
Chocobozzz 26d7d31ba3 Server: encrypt password in database 2016-08-25 17:57:37 +02:00
Chocobozzz e861452fb2 Server: put config in constants 2016-08-19 21:34:51 +02:00
Chocobozzz 5c39adb731 Server: add user list sort/pagination 2016-08-16 22:31:45 +02:00
Chocobozzz 089ff2f204 Server: optimize function to see if there are users or not 2016-08-16 21:51:35 +02:00
Chocobozzz 0ff21c1c08 Server: video.list -> video.listForApi (with pagination, sort...) 2016-08-16 21:51:04 +02:00
Chocobozzz 68a3b9f2aa Server: delete user with the id and not the username 2016-08-09 21:44:45 +02:00
Chocobozzz 9bd2662976 Implement user API (create, update, remove, list) 2016-08-04 22:33:38 +02:00
Chocobozzz e4c556196d Server: reorganize express validators 2016-07-31 20:58:43 +02:00
Chocobozzz 052937db8a First draft using only webseed for server 2016-07-27 21:21:57 +02:00
Chocobozzz 32bb415602 Server: Use ES6 promise for mongoose/node-oatuh2-server 2016-07-27 21:16:19 +02:00
Chocobozzz 419633ce9d Server: throttle "seedAll" when starting the server 2016-07-21 17:15:29 +02:00
Chocobozzz 2f372a8654 Server: implement refresh token 2016-07-20 16:23:58 +02:00
Chocobozzz 1a42c9e2c0 Server: udpate async to 2.0.0 2016-07-18 17:17:52 +02:00
Chocobozzz b359546358 Server: limit actions for each request between pods 2016-07-06 19:59:01 +02:00
Chocobozzz 4fea95df04 Server: fix videos pagination 2016-07-06 19:57:47 +02:00
Chocobozzz 6666aad459 Fix requests ordering between pods 2016-07-05 21:36:01 +02:00
Chocobozzz 5f698b82c7 Use dashes for filenames 2016-07-01 16:22:36 +02:00
Chocobozzz 69b0a27cbb OAuth/User models refractoring -> use mongoose api 2016-07-01 16:03:53 +02:00
Chocobozzz a3ee6fa22d Pod model refractoring -> use mongoose api 2016-06-30 22:39:08 +02:00
Chocobozzz 5189d08aac Video model: namePath -> filename 2016-06-28 20:19:41 +02:00
Chocobozzz 907e9510c2 Re enable the "seed all videos" function 2016-06-28 20:17:05 +02:00
Chocobozzz 00057e85a7 Request model refractoring -> use mongoose api 2016-06-28 20:10:32 +02:00
Chocobozzz aaf61f3810 Video model refractoring -> use mongoose api 2016-06-24 17:42:51 +02:00
Chocobozzz 528a9efa82 Try to make a better communication (between pods) module 2016-06-18 16:13:54 +02:00
Chocobozzz e822fdaeee Use ng2-file-upload instead of jquery and add tags support to the video
upload form
2016-06-07 22:34:02 +02:00
Chocobozzz 8d199cb823 Add tag search support to server 2016-06-06 14:54:52 +02:00
Chocobozzz be587647f9 Add tags support to server 2016-06-06 14:15:03 +02:00
Chocobozzz 46246b5f19 Extends the search feature by customizing the search field (name,
podUrl...)
2016-05-22 09:15:00 +02:00
Chocobozzz 68ce3ae021 Add total results field and wrap videos in data field when listing
videos
2016-05-21 19:30:22 +02:00
Chocobozzz a877d5acc5 Add ability to sort videos list 2016-05-17 21:03:00 +02:00
Chocobozzz bb10240ee1 Add createdDate to videos 2016-05-13 20:42:11 +02:00
Chocobozzz fbf1134e3e Introduce paginations in videos listing 2016-05-13 18:10:46 +02:00
Chocobozzz bc503c2a62 Update to standard 7. Goodbye snake_case, I used to love you 2016-05-13 14:23:11 +02:00
Chocobozzz cbe2f7c348 Refractoring and add thumbnails support (without tests) 2016-05-10 21:19:24 +02:00
Chocobozzz 3a8a8b5122 Video duration support (server) 2016-05-03 22:41:46 +02:00
Chocobozzz e3647ae226 Rename pool requests --> requests scheduler 2016-05-02 17:25:05 +02:00
Chocobozzz 23a5a916db Make angular client load dynamically the generated client id/secret 2016-04-27 22:11:48 +02:00
Chocobozzz 0c1cbbfe29 Add authentications for routes that need it and adapts the tests 2016-04-14 22:06:11 +02:00
Chocobozzz 37dc07b292 Create an "installer" module that create defaults clients/users... 2016-03-21 21:11:26 +01:00
Chocobozzz 9457bf8807 OAuth server: first draft 2016-03-21 11:56:33 +01:00
Chocobozzz f0f5567b69 Use const/let now we use node 4.2 2016-03-16 22:29:27 +01:00
Chocobozzz 5101105ef9 Video lib/model/reqvalidator refractoring 2016-03-16 21:37:17 +01:00
Chocobozzz 3d446a26ad Fix tests 2016-03-07 18:53:03 +01:00
Chocobozzz b9a3e09ad5 Prepare folders structure for angular app 2016-03-07 11:33:59 +01:00