Commit Graph

52 Commits (cd42491cf08fdf2a538d4f01d8bcc56e3f2fb424)

Author SHA1 Message Date
kontrollanten cd42491cf0
feat: add support for sub routes under /my-account (#6218)
* feat: add support for sub routes under /my-account

closes #6217

* feat(plugins/client-routes): page titles

Add support for adding custom page titles in client routes.

* fix(client/PluginPages): reload component upon URL change

* Styling

* docs(plugins): update registerClientRoute

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2024-04-04 08:17:59 +02:00
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 0e45e336f6
Fix HTML in account/channel description 2022-11-14 10:47:39 +01:00
Chocobozzz 9d4c60dccc
Add ability for plugins to register ws routes 2022-10-11 11:11:04 +02:00
Chocobozzz 0628157fe9
Move uuid stuff in extra utils
Since it requires an external dependency
2021-12-29 14:44:58 +01:00
Chocobozzz fb3c9e2bf5
Translate plugin settings 2021-12-29 14:08:07 +01:00
Chocobozzz d63e6d4604
Add ability for plugins to register client routes 2021-12-10 15:01:12 +01:00
Chocobozzz 9df52d660f
Migrate client to eslint 2021-08-18 08:35:06 +02:00
Chocobozzz 1378c0d343
Fix client lint 2021-08-17 14:01:45 +02:00
Chocobozzz 0f6521fa6b
Fix plugin modal/notifier 2021-06-14 13:44:17 +02:00
kontrollanten 72f611ca15 add client hook filter:videojs.options
closes #4086
2021-06-14 13:35:48 +02:00
Chocobozzz fc21ef5c62
Speed up plugins loading 2021-06-04 15:45:44 +02:00
Chocobozzz 584ac47a32
Add debug logs to plugin service 2021-06-04 15:45:44 +02:00
John Livingston 9777fe9eeb
Adding frontend peertubeHelpers.getBaseRouterRoute. (#4153)
* Adding frontend peertubeHelpers.getBaseRouterRoute.

* Fix doctoc.
2021-06-03 12:28:26 +02:00
Chocobozzz 4eca42ffb4
Add getAuthHeader client helper 2021-04-22 11:29:06 +02:00
Chocobozzz 0ea9f463a9
Add action:admin-plugin-settings.init client hook 2021-04-22 11:18:13 +02:00
Chocobozzz 3c47fa3bc0
Add ability to hide plugin settings 2021-04-09 13:50:31 +02:00
Chocobozzz c713017f3c
Translate plugin options 2021-04-09 13:23:25 +02:00
Chocobozzz faeec106ef
Add auth user client hook actions 2021-03-24 18:18:41 +01:00
Chocobozzz c6c0fa6cd8 Live streaming implementation first step 2020-11-09 15:33:04 +01:00
Chocobozzz 7294aab0c8 Add ability to set custom field to video form 2020-08-21 15:39:51 +02:00
Chocobozzz f95628636b Support plugin hooks in embed 2020-08-20 14:23:57 +02:00
Chocobozzz bd45d503e5 Reorganize shared models 2020-08-07 08:28:14 +02:00
Chocobozzz 67ed6552b8 Reorganize client shared modules 2020-06-23 16:00:49 +02:00
Chocobozzz f375bb3db4
Add ability to override login signup message 2020-05-06 14:03:23 +02:00
Kim 8c7725dc3c
Add markdown support to plugins (#2654)
* Add markdown renderer to plugins

* Chore: add doc for markdown plugins

* Fix typing markdown plugin helpers

* Add lines between components in template

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-04-20 14:51:24 +02:00
Chocobozzz 891bc2ffad
Support rel="me" links in markdown 2020-04-16 16:13:28 +02:00
Kim 437e8e06eb
Add custom modal to plugin helpers (#2631)
* Add custom modal component

* Add custom modal to app and plugins helpers

* Fixes custom modal component

* Add doc for custom modal

* Fix newline end of file html and scss files

* Move my-custom-modal component outside component for UserLoggedIn modals

* Move initializeCustomModal to ngAfterViewInit()

* Wrap events and conditionnals

* Replace ng-show with ngIf*

* Add modalRef to open only one modal + onCloseClick

* Refacto + Fix access methods of custom modal

* Fix methods names custom-modal.component

* Fix implement AfterViewInit & no default boolean

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-04-15 15:35:41 +02:00
Chocobozzz f757be65b8
Better plugin notifier typings 2020-04-15 09:21:06 +02:00
Kim 74c2dece42
Add notifier to plugin helpers (#2627)
* Add notifier to client PeerTubeHelpers plugin

* Add doc for notifier PeerTubeHelpers

* Add getBaseClientScriptsRoute to client PeerTubeHelpers plugin

* Add doc for getBaseClientScriptsRoute PeerTubeHelpers

* Remove unused helper

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-04-15 09:08:59 +02:00
Chocobozzz ba430d7516
Lazy load static objects 2019-12-18 15:40:59 +01:00
Chocobozzz 64ff48cb8d
Change the support icon 2019-12-03 18:54:49 +01:00
Rigel Kent eb8f702c83 (plugins) add helper to know if user is logged-in 2019-12-02 09:19:34 +01:00
Rigel Kent ba7b7e572f (plugins) adding signup scope and init hook, modifying ensureUserRegistrationAllowed allowedParams 2019-11-25 11:16:12 +01:00
Chocobozzz 0c503f5c87
Fix bad import on FF ESR 2019-08-20 09:01:19 +02:00
Chocobozzz d75db01f14
Add plugin translation system 2019-07-26 15:18:30 +02:00
Chocobozzz 16d5469629
Run hooks and register plugins outside angular 2019-07-26 15:18:29 +02:00
Chocobozzz ba211e7386
Add public settings endpoint 2019-07-26 15:18:29 +02:00
Chocobozzz 23bdacf8ec
Add setting helper to client plugins 2019-07-26 15:18:28 +02:00
Chocobozzz bfa1a32b34
Add client hook/register typings 2019-07-24 11:55:08 +02:00
Chocobozzz 9ae88819c2
Change plugin models names 2019-07-24 11:17:42 +02:00
Chocobozzz c9e3eeedad Lazy load client script scopes 2019-07-24 10:58:16 +02:00
Chocobozzz 7663e55a2c Log error on unknown hook 2019-07-24 10:58:16 +02:00
Chocobozzz e8f902c05c Use search client scope 2019-07-24 10:58:16 +02:00
Chocobozzz 93cae47925 Add client 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 f0c5e8b657 Add client helpers to plugins 2019-07-24 10:58:16 +02:00
Chocobozzz b5f919ac8e WIP plugins: update plugin 2019-07-24 10:58:16 +02:00
Chocobozzz d00dc28dd7 WIP plugins: list installed plugins in client 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