1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-03 09:49:20 +02:00
Commit graph

49 commits

Author SHA1 Message Date
Chocobozzz
3a4992633e
Migrate server to ESM
Sorry for the very big commit that may lead to git log issues and merge
conflicts, but it's a major step forward:

 * Server can be faster at startup because imports() are async and we can
   easily lazy import big modules
 * Angular doesn't seem to support ES import (with .js extension), so we
   had to correctly organize peertube into a monorepo:
    * Use yarn workspace feature
    * Use typescript reference projects for dependencies
    * Shared projects have been moved into "packages", each one is now a
      node module (with a dedicated package.json/tsconfig.json)
    * server/tools have been moved into apps/ and is now a dedicated app
      bundled and published on NPM so users don't have to build peertube
      cli tools manually
    * server/tests have been moved into packages/ so we don't compile
      them every time we want to run the server
 * Use isolatedModule option:
   * Had to move from const enum to const
     (https://www.typescriptlang.org/docs/handbook/enums.html#objects-vs-enums)
   * Had to explictely specify "type" imports when used in decorators
 * Prefer tsx (that uses esbuild under the hood) instead of ts-node to
   load typescript files (tests with mocha or scripts):
     * To reduce test complexity as esbuild doesn't support decorator
       metadata, we only test server files that do not import server
       models
     * We still build tests files into js files for a faster CI
 * Remove unmaintained peertube CLI import script
 * Removed some barrels to speed up execution (less imports)
2023-08-11 15:02:33 +02:00
Chocobozzz
d896fef7e2
Refactor video formatter 2023-06-29 10:18:00 +02:00
Chocobozzz
e915cde30e
Fix runner api rate limit bypass 2023-06-20 14:17:34 +02:00
Chocobozzz
d4d9bbc6f2
Fix channel sync right check 2022-09-08 08:41:48 +02:00
Florent
2a491182e4
Channel sync (#5135)
* Add external channel URL for channel update / creation (#754)

* Disallow synchronisation if user has no video quota (#754)

* More constraints serverside (#754)

* Disable sync if server configuration does not allow HTTP import (#754)

* Working version synchronizing videos with a job (#754)

TODO: refactoring, too much code duplication

* More logs and try/catch (#754)

* Fix eslint error (#754)

* WIP: support synchronization time change (#754)

* New frontend #754

* WIP: Create sync front (#754)

* Enhance UI, sync creation form (#754)

* Warning message when HTTP upload is disallowed

* More consistent names (#754)

* Binding Front with API (#754)

* Add a /me API (#754)

* Improve list UI (#754)

* Implement creation and deletion routes (#754)

* Lint (#754)

* Lint again (#754)

* WIP: UI for triggering import existing videos (#754)

* Implement jobs for syncing and importing channels

* Don't sync videos before sync creation + avoid concurrency issue (#754)

* Cleanup (#754)

* Cleanup: OpenAPI + API rework (#754)

* Remove dead code (#754)

* Eslint (#754)

* Revert the mess with whitespaces in constants.ts (#754)

* Some fixes after rebase (#754)

* Several fixes after PR remarks (#754)

* Front + API: Rename video-channels-sync to video-channel-syncs (#754)

* Allow enabling channel sync through UI (#754)

* getChannelInfo (#754)

* Minor fixes: openapi + model + sql (#754)

* Simplified API validators (#754)

* Rename MChannelSync to MChannelSyncChannel (#754)

* Add command for VideoChannelSync (#754)

* Use synchronization.enabled config (#754)

* Check parameters test + some fixes (#754)

* Fix conflict mistake (#754)

* Restrict access to video channel sync list API (#754)

* Start adding unit test for synchronization (#754)

* Continue testing (#754)

* Tests finished + convertion of job to scheduler (#754)

* Add lastSyncAt field (#754)

* Fix externalRemoteUrl sort + creation date not well formatted (#754)

* Small fix (#754)

* Factorize addYoutubeDLImport and buildVideo (#754)

* Check duplicates on channel not on users (#754)

* factorize thumbnail generation (#754)

* Fetch error should return status 400 (#754)

* Separate video-channel-import and video-channel-sync-latest (#754)

* Bump DB migration version after rebase (#754)

* Prettier states in UI table (#754)

* Add DefaultScope in VideoChannelSyncModel (#754)

* Fix audit logs (#754)

* Ensure user can upload when importing channel + minor fixes (#754)

* Mark synchronization as failed on exception + typos (#754)

* Change REST API for importing videos into channel (#754)

* Add option for fully synchronize a chnanel (#754)

* Return a whole sync object on creation to avoid tricks in Front (#754)

* Various remarks (#754)

* Single quotes by default (#754)

* Rename synchronization to video_channel_synchronization

* Add check.latest_videos_count and max_per_user options (#754)

* Better channel rendering in list #754

* Allow sorting with channel name and state (#754)

* Add missing tests for channel imports (#754)

* Prefer using a parent job for channel sync

* Styling

* Client styling

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-08-10 09:53:39 +02:00
Chocobozzz
bd911b54b5
Use bullmq job dependency 2022-08-09 09:18:07 +02:00
kontrollanten
d0800f7661
Implement avatar miniatures (#4639)
* client: remove unused file

* refactor(client/my-actor-avatar): size from input

Read size from component input instead of scss, to make it possible to
use smaller avatar images when implemented.

* implement avatar miniatures

close #4560

* fix(test): max file size

* fix(search-index): normalize res acc to avatarMini

* refactor avatars to an array

* client/search: resize channel avatar to 120

* refactor(client/videos): remove unused function

* client(actor-avatar): set default size

* fix tests and avatars full result

When findOne is used only an array containting one avatar is returned.

* update migration version and version notations

* server/search: harmonize normalizing

* Cleanup avatar miniature PR

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-02-28 08:34:43 +01:00
Chocobozzz
3c10840fa9 Add video file size info in admin videos list 2021-10-29 11:48:21 +02:00
Chocobozzz
2760b454a7 Deprecate filter video query
Introduce include and isLocal instead
2021-10-29 11:48:21 +02:00
Chocobozzz
906f46d084
Split check user params tests 2021-10-20 09:25:44 +02:00
Chocobozzz
4beda9e12a
Add ability to view my followers 2021-10-20 09:25:44 +02:00
Chocobozzz
41fb13c330
esModuleInterop to true 2021-08-27 15:12:22 +02:00
Chocobozzz
d688602710
Refactor search query options 2021-07-29 11:54:38 +02:00
Chocobozzz
1fd61899ea
Add ability to filter my videos by live 2021-05-03 16:42:15 +02:00
Rigel Kent
370240824e
Allow users/visitors to search through an account's videos (#3589)
* WIP: account search

* add search to account view

* add tests for account search
2021-01-19 13:43:33 +01:00
Chocobozzz
38267c0c8a Use dedicated hooks for account/channel videos 2020-12-08 10:33:23 +01:00
kontrollanten
1bfc07e4cc server accounts/videos: trigger filter hook 2020-12-08 10:33:23 +01:00
Chocobozzz
8054669f11
Optimize default sort when listing videos
createdAt does not have the appropriate index
2020-08-20 11:05:45 +02:00
Rigel Kent
4f5d045960 harmonize search for libraries 2020-07-29 18:15:53 +02:00
Chocobozzz
e1c5503114 Support logout and add id and pass tests 2020-05-04 16:21:39 +02:00
Chocobozzz
8dc8a34ee8 Avoir some circular dependencies 2020-05-04 16:21:39 +02:00
Rigel Kent
747c562837 Put channel stats behind withStats flag 2020-03-31 10:29:24 +02:00
Chocobozzz
a15871560f
Move to eslint 2020-02-03 08:31:02 +01:00
Chocobozzz
6b0c3c7ca9
Optimize list my playlists SQL query 2020-01-09 09:27:21 +01:00
Chocobozzz
fe98765624
Add ability to skip count query 2020-01-08 14:15:16 +01:00
Rigel Kent
c06af5012e
Add playlist search option and search input for add-to-video-playlist dropdown
fixes #2138
2019-12-26 11:52:52 +01:00
Chocobozzz
bc01017be9
Add ability to subscribe from the channel account page 2019-05-29 17:00:40 +02:00
Chocobozzz
91b6631984
Add pagination to account video channels endpoint 2019-05-29 15:09:38 +02:00
Chocobozzz
22834691ab
Add check params account ratings tests 2019-04-09 11:24:15 +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
dae86118ed
Cleanup express locals typings 2019-03-19 10:35:15 +01:00
Chocobozzz
df0b219d36 Add playlist rest tests 2019-03-18 11:17:59 +01:00
Chocobozzz
418d092afa Playlist server API 2019-03-18 11:17:59 +01:00
Chocobozzz
744d0eca19
Refresh remote actors on GET enpoints 2019-01-14 11:30:15 +01:00
Chocobozzz
4e74e8032b
Remove inferred type 2018-12-05 14:36:05 +01:00
Chocobozzz
7ad9b9846c Add ability for users to block an account/instance on server side 2018-10-16 16:41:36 +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
687d638c2b Fetch outbox when searching an actor 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
06a05d5f47 Add subscriptions endpoints to REST API 2018-08-27 09:41:54 +02:00
Chocobozzz
d525fc399a Add videos list filters 2018-07-24 14:04:05 +02:00
Chocobozzz
ad9e39fb81
Only use account name in routes 2018-05-25 10:41:07 +02:00
Chocobozzz
cc918ac3f4
Update video-channel routes (again)
Use /video-channels now, it's more simple for clients
2018-04-25 16:16:21 +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
f05a1c30c1
Don't show videos of remote instance after unfollow 2018-01-18 15:42:20 +01:00
Chocobozzz
1174a8479a
Set sort refractoring 2018-01-18 15:42:20 +01:00
Chocobozzz
265ba139eb
Send account activitypub update events 2018-01-03 16:38:50 +01:00