1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-05 02:39:33 +02:00
Commit graph

87 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
97583d0023
Add more rate limits 2023-07-26 08:37:50 +02:00
Chocobozzz
c0a4982ebe
Fix 404 when having ;threadId param 2023-03-02 10:35:59 +01: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
lutangar
06aad80165 chore(refactor): remove shared folder dependencies to the server
Many files from the `shared` folder were importing files from the `server` folder.
When attempting to use Typescript project references to describe dependencies,
it highlighted a circular dependency beetween `shared` <-> `server`.

The Typescript project forbid such usages.
Using project references greatly improve performance by rebuilding only
the updated project and not all source files.
> see https://www.typescriptlang.org/docs/handbook/project-references.html
2021-12-16 10:08:43 +01:00
kontrollanten
5fc44b57f8
Add header Vary Accept-Language (#4588)
* nginx: add header Vary Accept-Language

solves #3647

* Revert "nginx: add header Vary Accept-Language"

This reverts commit 90dccf5324.

* add resp header Vary Accept-Language

solves #3647

* don't add vary header to embed page
2021-12-02 09:14:54 +01:00
Chocobozzz
527a52ac42
Add ability to filter out public videos from admin 2021-11-12 14:23:22 +01:00
Chocobozzz
8db19c959e
Remove contributors list from /about/peertube
Some contributors don't want to be associated to a particular peertube
instance
2021-11-12 11:00:51 +01:00
kontrollanten
c80e458afb
extend client-overrides with default images (#4392)
* extend client-overrides with default images

Add:
* default-playlist.png
* default-avatar-account.png
* default-avatar-videochannel.png

solves #4108

* Rename to default-avatar-video-channel.png

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-10-12 13:50:40 +02:00
Chocobozzz
42cc1887af
Stop indexing /about/peertube 2021-10-11 09:37:26 +02:00
Chocobozzz
41fb13c330
esModuleInterop to true 2021-08-27 15:12:22 +02:00
Chocobozzz
c0e8b12e7f
Refactor requests 2021-07-20 15:27:18 +02:00
Rigel Kent
76148b27f7 refactor API errors to standard error format 2021-06-02 16:57:07 +02:00
Chocobozzz
a1eda903a4
Support '/w/' and '/w/p/' for watch page
And use them as default in client
2021-05-28 11:38:08 +02:00
Kimsible
9a911038d9 Add shorter URLs for accounts and channels server-side 2021-05-05 11:47:03 +02:00
Chocobozzz
eebd9838f0
Add filter hook to forbid embed access 2021-03-24 18:18:41 +01:00
Chocobozzz
03aa518e54
Fix manifest 2021-01-19 10:47:04 +01:00
Chocobozzz
17e6974409
Fix lint 2021-01-18 11:59:14 +01:00
Chocobozzz
1d22d2514f
Fix service worker 2021-01-18 11:16:37 +01:00
Rigel Kent
f2eb23cd87
emit more specific status codes on video upload (#3423)
- reduce http status codes list to potentially useful codes
- convert more codes to typed ones
- factorize html generator for error responses
2020-12-08 21:16:10 +01:00
Rigel Kent
2d53be0267
replace numbers with typed http status codes (#3409) 2020-12-07 14:32:36 +01:00
Kimsible
8872828d59
add client overrides to nginx configuration (#3297)
Co-authored-by: Rigel Kent <par@rigelk.eu>
Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-11-16 10:34:05 +01:00
Chocobozzz
cf649c2ed9
Inject plugin CSS in embed too 2020-08-24 11:25:40 +02:00
Chocobozzz
9054a8b6e5 Handle playlist methods in embed api 2020-08-07 08:58:29 +02:00
Chocobozzz
5abc96fca2 Add logic to handle playlist in embed 2020-08-07 08:58:29 +02:00
Chocobozzz
bd45d503e5 Reorganize shared models 2020-08-07 08:28:14 +02:00
Kim
8d987ec63e
Add fcbk open-graph and twitter-card metas for accounts, video-channels, playlists urls (#2996)
* Add open-graph and twitter-card metas to accounts and video-channels

* Add open-graph and twitter-card to video-playlists watch view

* Refactor meta-tags creation server-side

* Add client.ts tests for account, channel and playlist tags

* Correct lint forbidden spaces

* Correct test regression on client.ts

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-31 11:29:15 +02:00
Kim
caf2aaf4f9
Add ability to override client assets : logo - favicon - PWA icons - PWA manifest name and description (#2897)
* Add client-overrides storage to config

* Add static-serve for client overrides

* Move backgroun-image logo from bundle to css tag for runtime content hash

* Add dynamic JSON manifest

* Add content hash for manifest, favicon and logo

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-10 10:20:11 +02:00
Chocobozzz
78646451c9
Don't cache embed HTML file 2020-06-02 17:15:24 +02:00
Chocobozzz
bdd428a6d9
Update dependencies 2020-02-28 16:21:34 +01:00
Chocobozzz
4c1def5fd8
Merge branch 'release/2.1.0' into develop 2020-02-20 10:43:33 +01:00
Chocobozzz
dfab4fa9c6
Fix CSP for embeds 2020-02-20 10:11:17 +01:00
Chocobozzz
a15871560f
Move to eslint 2020-02-03 08:31:02 +01:00
Chocobozzz
c3b9379167
Remove CSP for embed 2019-12-18 10:14:23 +01:00
Chocobozzz
350131cbaf
Make build works 2019-11-13 10:04:16 +01:00
Chocobozzz
34dd7cb4ca
Fix quota in instance features table 2019-07-29 16:30:01 +02:00
Chocobozzz
cd4cb177e6
Improve static files cache 2019-07-29 15:20:36 +02:00
Chocobozzz
552d95b1e6
Move controller in dedicated functions 2019-07-25 16:56:41 +02:00
Chocobozzz
74dc3bca2b
Don't expose constants directly in initializers/ 2019-04-11 14:26:41 +02:00
Chocobozzz
92bf2f6299
Improve channel and account SEO 2019-02-21 14:06:10 +01:00
Chocobozzz
9aac44236c
Add video title/description when rendering html 2018-12-17 09:13:22 +01:00
Rigel Kent
5e755fff9d add Content Security Policy (#1252)
* add Content Security Policy

* remove reflect-metadata on production builds to get rid of unsafe-eval

* fix baseCSP usage

* add SRI to CSP

* add blob: to media-src

* remove SRI

* CSP set to reportOnly

* adding data: to connect-src CSP

* remove block-all-mixed-content

* add report-uri support
2018-12-13 09:49:45 +01:00
BO41
fcc7c06037 rename manifest 2018-09-20 08:22:29 +02:00
Chocobozzz
d73c98884e
Hack 459 regarding Angular & i18n 2018-07-25 09:57:52 +02:00
Chocobozzz
57c36b277e Begin advanced search 2018-07-24 14:04:05 +02:00
Chocobozzz
e032aec9b9
Render CSS/title/description tags on server side 2018-07-18 10:00:37 +02:00
Rigel Kent
d00e2393d4 selective route permission to use embeds with x-frame-deny 2018-07-17 12:03:31 +02:00
Chocobozzz
40e87e9ecc Implement captions/subtitles 2018-07-16 11:50:08 +02:00
William Lahti
999417328b Ability to programmatically control embeds (#776)
* first stab at jschannel based player api

* semicolon purge

* more method-level docs; consolidate definitions

* missing definitions

* better match peertube's class conventions

* styling for embed tester

* basic docs

* add `getVolume`

* document the test-embed feature
2018-07-10 17:47:56 +02:00
Chocobozzz
8afc19a612
Add ability to choose the language 2018-06-28 15:53:12 +02:00