Commit Graph

2695 Commits (910744fb084499a110d26bf5542abebb8a750b19)

Author SHA1 Message Date
Chocobozzz fc3784583c
Fix user creation date on localized page 2022-09-14 09:48:43 +02:00
Chocobozzz 7c9a251912
Simplify transcoding sentence 2022-09-13 12:01:05 +02:00
Chocobozzz 367a9dc699
Don't display remove file icon in some cases 2022-09-13 12:00:13 +02:00
Chocobozzz ec8c188b14
Update client dep 2022-09-09 14:59:09 +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
Chocobozzz c5fe343411
Fix short description validator 2022-09-08 08:41:48 +02:00
lutangar 2873a53efd Set scroll position at top of the textarea when opening the subtitle editor.
## Description

This set the position of the scrollbar at the top of the textarea when opening the __subtitle editor__.
Previously the textarea scroll position was at the bottom of the textarea which doesn't make much sense when you want to edit a subtitle : you most likely want to edit the beginning of the subtitle first.

This also set the caret position on the first character.

## Design decision

I had to use a *component approach* instead of an `<ng-template>` for the edition modal because the `@viewChild` directive doesn't work for elements __inside__ an `<ng-template>`.
I needed the `viewChild` directive to get an `ElementRef` of the `textarea`.

> See the following issue and its workaround :
> - https://github.com/valor-software/ngx-bootstrap/issues/3825
> - https://stackblitz.com/edit/angular-t5dfp7
> - https://medium.com/@izzatnadiri/how-to-pass-data-to-and-receive-from-ng-bootstrap-modals-916f2ad5d66e

## Related issues
Closes [peertube-plugin-transcription/#39](https://gitlab.com/apps_education/peertube/plugin-transcription/-/issues/39)
2022-09-08 08:41:36 +02:00
Chocobozzz 690bb8f9f3
Prefer using Object.values 2022-08-17 15:36:03 +02:00
Chocobozzz 97eba003a9
Add sync link to import page 2022-08-17 13:40:00 +02:00
Chocobozzz fd3c2e8705
Add playback metric endpoint sent to OTEL 2022-08-16 10:33:27 +02:00
Chocobozzz 0e6cd1c00f
Add ability to list comments on local videos 2022-08-16 10:33:27 +02:00
Chocobozzz 2f6e173002
Prevent creating multiple lives 2022-08-12 10:43:50 +02:00
Chocobozzz 9a3f72508c
Move search bar at the middle of the header 2022-08-12 10:37:22 +02:00
Chocobozzz 0582b4f972
Improve wait transcoding help 2022-08-12 10:20:09 +02:00
Chocobozzz 437f277afd
Prefer thumbnail instead of preview 2022-08-12 10:15:45 +02:00
Chocobozzz 418db8ac99
Add years when grouping by stats by month 2022-08-11 15:51:27 +02:00
Chocobozzz de61544582
Add plugin hooks/placeholder to share modal 2022-08-11 15:28:11 +02:00
Chocobozzz 87cd93970d
Add missing openapi 2022-08-10 14:57:26 +02:00
Chocobozzz 40e9937247
Fix angular warning 2022-08-10 14:38:24 +02:00
Chocobozzz a3b472a12e
Add ability to list imports of a channel sync 2022-08-10 14:32:00 +02:00
Chocobozzz 0567049a98
Add missing job types to admin panel 2022-08-10 10:34:39 +02:00
Chocobozzz f228e9f064
More precise date for jobs 2022-08-10 10:26:20 +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 ca0f030787
Add error info on router error 2022-08-03 15:21:00 +02:00
Chocobozzz 9ca0f688e9
Add channel hooks 2022-08-03 10:39:40 +02:00
Chocobozzz e07c55167e
Fix table columns on safari 2022-08-01 15:13:52 +02:00
Chocobozzz 1bb4c9ab2e
Add ability to delete a specific video file 2022-08-01 14:55:10 +02:00
Chocobozzz 5a9a56b78f
Prevent error on highlighted thread 2022-07-29 10:32:56 +02:00
Chocobozzz 37b1d97f22
Prevent fetching playlist status after logout 2022-07-28 16:27:14 +02:00
Chocobozzz 8224e13d3b
Fix disabled inputs in admin 2022-07-28 09:45:15 +02:00
Chocobozzz dbf4952717
Fix broken admin page 2022-07-28 08:45:25 +02:00
Chocobozzz e3d6c6434f
Add bulk action on following/followers 2022-07-27 13:52:13 +02:00
Chocobozzz 073deef886
Handle rejected follows in client
Also add quick filters so it's easier to find pending follows
2022-07-27 13:52:13 +02:00
Chocobozzz 3267d381f4
Fix invalid margin when loader is not displayed 2022-07-27 13:52:13 +02:00
Chocobozzz 4f50475c67
Display latest uploaded date for captions 2022-07-25 10:45:40 +02:00
Chocobozzz d65cd16551
video-watch.video-threads.loaded after DOM loading 2022-07-22 15:31:37 +02:00
Chocobozzz c8fa571f32
Clearer live session
Get the save replay setting when the session started to prevent
inconsistent behaviour when the setting changed before the session was
processed by the live ending job

Display more information about the potential session replay in live
modal information
2022-07-22 15:22:21 +02:00
Chocobozzz ace01da348
Fix z-index with custom homepage 2022-07-18 15:01:47 +02:00
Chocobozzz 42b4063699
Add ability for client to create server logs 2022-07-18 11:37:18 +02:00
Chocobozzz 4fdc735020
Fix typeahead font size 2022-07-15 09:33:41 +02:00
Chocobozzz e45dd87b93
Fix host advanced filter with channels 2022-07-13 11:36:01 +02:00
Chocobozzz ba24a31c26
Fix interface lang button when unlogged 2022-07-12 14:48:44 +02:00
Chocobozzz 21d8979fbd
Fix instance config on mobile 2022-07-12 14:46:09 +02:00
Chocobozzz 0667dbaf26
Reset table pagination on search 2022-07-12 10:19:33 +02:00
Chocobozzz c0e3d9ff90
Rename not fount page to error page 2022-07-08 10:58:05 +02:00
kontrollanten c482d2b7a6
feat(client/PageNotFound): mascot margin 2022-07-08 10:58:04 +02:00
kontrollanten 9469783d43
feat: custom msg upon 401 response
closes #4768
2022-07-08 10:58:04 +02:00
kontrollanten a28b0f696c
fix(client/AbuseDetails): infinite update loop (#5109)
* fix(client/AbuseDetails): infinite update loop

* Abuse may not have predefined reasons

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-07-08 10:57:29 +02:00
kontrollanten f8b4a71d42
hooks filter:api.my-lib.playlist-elems.get.* (#5098)
* hooks filter:api.my-lib.playlist-elems.get.*

closes #4776

* Introduce my-library plugin scope

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-07-08 10:50:10 +02:00