Commit Graph

218 Commits (3a4992633ee62d5edfbb484d9c6bcb3cf158489d)

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 f42fcb4b58
Implement video file replacement in client 2023-07-25 11:53:08 +02:00
Chocobozzz d430862f00
Force ltr on code inputs 2023-07-19 11:22:05 +02:00
Chocobozzz c57ad141a9
Rename webtorrent config to web_videos 2023-07-11 09:52:14 +02:00
Chocobozzz 784e2ad5c3
Prefer web videos in favour of webtorrent 2023-07-11 09:21:13 +02:00
Chocobozzz d8f39b126d
Add storyboard support 2023-06-29 10:16:55 +02:00
Chocobozzz 866c5f667d
Simplify ICU in components 2023-06-29 09:49:06 +02:00
Chocobozzz f9fc41cb88
Broadcast message level should be translated 2023-05-24 17:37:45 +02:00
Chocobozzz b99ee1b150
Better label for default transcoding profile 2023-05-24 17:35:39 +02:00
Chocobozzz 5490930428
Remove suppressImplicitAnyIndexErrors
It's deprecated by TS
2023-05-24 16:56:05 +02:00
Chocobozzz d0fbc9fd0a
Fix lint 2023-05-24 15:27:15 +02:00
Chocobozzz 01283e2066
Improve remote runner config UX 2023-05-19 14:11:22 +02:00
Chocobozzz 5e47f6ab98 Support studio transcoding in peertube runner 2023-05-09 08:57:34 +02:00
Chocobozzz 118626c875 Implement runner in client side 2023-05-09 08:57:34 +02:00
Wicklow a8d42c560a
I18n missing parameter (#5782)
* fix syntax

* Missing i18n parameter
2023-05-02 10:31:00 +02:00
Wicklow b302c80dc0
feature/ability to disable video history by default (#5728)
* draft: ability to disable video history by default

* Update configuration and add tests

* Updated code based on review comments

* Add tests on registration and video quota

* Remove required video quotas in query

* Fix tests
2023-04-07 10:09:54 +02:00
Joël Galeran 9258e9a4a3
feat(about): render images in markdown (#5732)
* feat(about): render images in markdown

Closes https://github.com/Chocobozzz/PeerTube/issues/5710

* Update edit-instance-information.component.html

* use `markdownType="enhanced"`
2023-04-05 11:12:00 +02:00
Chocobozzz f44cd95c01
Update doc anchor links 2023-02-23 09:46:43 +01:00
Chocobozzz c5c95361e6
Move to new documentation links 2023-02-22 16:15:14 +01:00
Chocobozzz 15825ef18d
Fix default trending algorithm in admin config 2023-02-20 10:18:05 +01:00
Chocobozzz cb38c9b9ea
Fix broadcast message inconsistency with preview 2023-02-13 14:37:13 +01:00
Chocobozzz 9589907c89 Implement signup approval in client 2023-01-19 13:53:40 +01:00
Chocobozzz 6a056bbe4d
Increase textarea debounce time for custom markup 2023-01-13 09:30:47 +01:00
paulienm c6820dc4a5 feat(config): add missing videos sort options in admin 2022-12-19 15:45:50 +01:00
Chocobozzz 5c5bcea2e6
Refactor form reactive 2022-10-07 15:26:53 +02:00
Chocobozzz 49602b3a26
Fix lint 2022-09-28 14:55:58 +02:00
Chocobozzz f67ac646a2 Put video quota info in its own component 2022-09-28 14:04:06 +02:00
The Cashew Trader b0d6a800f8 Add transcoding quota message to admin config page 2022-09-28 14:04:06 +02:00
Chocobozzz 85edcb5626
Fix number with text input overflow 2022-09-27 10:05:29 +02:00
Chocobozzz 7c9a251912
Simplify transcoding sentence 2022-09-13 12:01:05 +02:00
Chocobozzz 8b69f9f028
Check admin config when loading the page
Avoid issues when an invalid config was set in the configuration file
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 84cae54e7a
Add option to not transcode original resolution 2022-08-09 09:18:07 +02:00
Chocobozzz 8224e13d3b
Fix disabled inputs in admin 2022-07-28 09:45:15 +02:00
Chocobozzz 21d8979fbd
Fix instance config on mobile 2022-07-12 14:46:09 +02:00
Chocobozzz 00fe5d6136
Fix setting theme in client 2022-06-27 09:59:10 +02:00
Chocobozzz 9bc3622320
Handle input error in markdown textarea 2022-06-20 15:56:16 +02:00
Chocobozzz 5e93a6d142
Improve theme label 2022-06-16 14:44:14 +02:00
Chocobozzz 5b0ec7cddb
Increase global font size 2022-06-16 11:37:08 +02:00
Chocobozzz b13a0a48ba
Move alert into to pt-alert-primary 2022-06-15 14:43:33 +02:00
Chocobozzz 6f03f944c3
Redesign register steps 2022-06-15 13:31:53 +02:00
Chocobozzz 4c8749cb9e
Migrate to bootstrap 5 2022-06-10 09:21:00 +02:00
Chocobozzz eaa529528c
Support ICU in TS components 2022-06-08 13:40:40 +02:00
Chocobozzz 86c5229b4d
Save replay of permanent live in client 2022-05-03 08:32:20 +02:00
Chocobozzz 2b0d17ccf4
Reduce videos sort complexity
Automatically use best sort if user is logged in and chose hot algorithm
2022-04-15 15:07:20 +02:00
Chocobozzz 92e66e04f7
Rename studio to editor 2022-03-22 17:24:32 +01:00
Chocobozzz b788e69131
Some fixes for themes 2022-03-15 14:12:37 +01:00
Chocobozzz f443a74649 Add latency setting support 2022-03-09 09:23:10 +01:00
Chocobozzz c729caf6cc Add basic video editor support 2022-02-28 10:42:19 +01:00
Chocobozzz 474542d7ac
Add additional checks when importing a video 2022-02-09 11:54:18 +01:00