Yassine Doghri
a83afb0004
fix(episode): do not change slug when editing episode title
...
fixes #513
2024-11-06 13:19:59 +00:00
Yassine Doghri
8f8c61eaae
docs(plugins): add experimental plugins section + plugins:create command to create plugin via CLI
2024-06-14 15:53:33 +00:00
Yassine Doghri
80d2c48ee2
feat(plugins): add before channel/item hooks to allow podcast/episode data edit when generating rss
2024-06-14 15:53:33 +00:00
Yassine Doghri
b62b483ad9
feat(plugins): abstract settings form for general, podcast and episode types
...
update filter permission logic for replacing router param
2024-06-14 15:53:33 +00:00
Yassine Doghri
6f833fc76a
feat(plugins): add new field types + validate & cast user data before storing settings
...
+ refactor form fields components
2024-06-14 15:53:33 +00:00
Yassine Doghri
dfb7888aeb
feat(plugins): add aside with plugin metadata next to plugin's readme
...
- enhance plugin card ui
- refactor components to be more consistent
- invert toggler label for better UX
- edit view components regex
2024-06-14 15:53:33 +00:00
Yassine Doghri
89ac92fb41
feat(plugins): add settings page for podcast and episode if defined in the plugin's manifest
...
- rename options to settings
2024-06-14 15:53:32 +00:00
Yassine Doghri
bb628f355f
refactor: add modules folder to phpstan paths + fix errors
2024-04-28 16:41:24 +00:00
Yassine Doghri
51b064d67a
refactor(icons): use php-icons library to load and display icons
2024-04-26 17:57:25 +00:00
Guy Martin
7071b4b6f4
feat: support VTT transcript file format in addition to SRT
...
closes #433
2024-02-09 16:34:50 +00:00
Yassine Doghri
3cb5ffd25b
fix(i18n): escape language strings in form fields to prevent them from disappearing
...
fixes #412
2024-01-24 16:48:23 +00:00
Ewen Korr
0bd7ddea58
feat(admin): emphasize unprivileged items in sidebar with "prohibited" icon
2024-01-15 14:34:11 +00:00
Yassine Doghri
1861d67971
fix(podcast-form): move fediverse section below author section
2023-11-29 16:00:28 +00:00
Yassine Doghri
dff85168b3
fix: move monetization outside of podcast form + add broadcast section to podcast menu
2023-11-17 17:29:05 +00:00
Yassine Doghri
f4ffa30ec4
fix(admin): remove episode title truncation + display description in two lines in episode list
...
fixes #386
2023-11-17 17:29:05 +00:00
Yassine Doghri
02132dc466
fix(persons): set roles field as optional + set Cast > Host
as default value
...
fixes #347
2023-11-17 17:29:05 +00:00
Yassine Doghri
b047a3c670
fix(admin-ux): hide navigation submenus in details panel for easier scanning
2023-11-17 17:29:05 +00:00
Yassine Doghri
ae57601c83
fix: update Router to include latest CI changes with alternate-content logic
2023-09-09 10:23:34 +00:00
Yassine Doghri
7ff1dbe903
fix: remove fediverse prefix to prevent migration error + load routes during podcast import
...
refactor migration queries to use forge functions
2023-09-09 10:23:34 +00:00
Yassine Doghri
b4f1b916bf
fix(routes): overwrite RouteCollection to include all routes + update js and php dependencies
2023-09-09 10:23:34 +00:00
Yassine Doghri
aa68386667
fix(audio-clipper): init segment position on firstUpdate + improve UX by adding ghost handle
...
- clean web components and js modules
- update js dependencies to latest
fixes #351
2023-07-01 13:46:03 +00:00
Yassine Doghri
d8e1d4031d
feat(import): run podcast imports' processes asynchronously using tasks
...
- use codeigniter4/tasks project to handle cron tasks
- use yassinedoghri/podcast-feed project to parse feeds for imports
2023-06-21 16:17:11 +00:00
Yassine Doghri
2a50f6e4d2
style: update ecs config to align associative arrays arrows
...
update composer dependencies to latest
2023-06-12 15:12:49 +00:00
Yassine Doghri
4665741425
fix(embed): set height of player iframe from config
2023-05-21 10:24:57 +00:00
Yassine Doghri
a76724a8cf
fix(s3): add proxy to serve images from s3 to client
...
refs #321
2023-04-13 11:46:31 +00:00
Yassine Doghri
d93fc98469
feat(media): add s3 to manage media files
...
Users may choose between filesystem (FS) or S3 to store and manage their media files
2023-03-16 13:00:05 +00:00
Yassine Doghri
b63c1dc9b1
feat: add downloads count to episode list
2023-02-28 16:53:58 +00:00
Yassine Doghri
84a6447fd4
ci: fix lint and formatting issues
2023-02-22 16:29:45 +00:00
Yassine Doghri
16527ed529
feat(analytics): add OP3 analytics service option + update episode audio url
2022-12-09 15:04:42 +00:00
Yassine Doghri
b07ac093b2
fix: validate slug length when submitting episode form + clean permalink edit prefix
2022-10-19 14:56:39 +00:00
Yassine Doghri
d783d16eb7
feat(episode): add form to allow editing episode's publication date to a past date
...
This allows podcasters to reorganize their published episodes as they see fit
closes #97
2022-10-14 14:37:03 +00:00
Yassine Doghri
3234500e2d
feat: add premium podcasts to manage subscriptions for premium episodes
...
closes #193
2022-09-28 15:02:09 +00:00
Yassine Doghri
b1a6c02e56
feat(admin): add instance wide dashboard with storage and bandwidth usage
...
* add DashboardCard component
* add instance wide podcasts and episodes numbers
* add app.storageLimit environment variable
* divide bytes by 1000 instead of 1024 in stats sql queries
closes #216
2022-07-06 15:29:15 +00:00
Ola Hneini
3d363f2efe
feat: add publish feature for podcasts and set draft by default
...
closes #128 , #220
2022-07-05 16:39:20 +00:00
Yassine Doghri
6be5d12877
feat(admin): add search form in podcast episodes list
...
closes #26
2022-06-17 12:52:36 +00:00
Ola Hneini
eb9ff522c2
feat(episodes): replace soft delete with permanent delete
...
+ add constraint to prevent deleting an episode when published
2022-05-05 15:48:16 +00:00
Yassine Doghri
bc6dea2f8a
fix: remove value escaping for form inputs and textareas
2022-04-01 16:35:34 +00:00
Ola Hneini
9ea5ca3169
fix: prefill description footer input when creating a new episode
2022-04-01 16:35:34 +00:00
Yassine Doghri
1253096197
fix: add explicit int conversion when formatting episode duration
2022-03-15 15:50:07 +00:00
Yassine Doghri
cd2e1e1dc3
fix(security): add csrf filter + prevent xss attacks by escaping user input
...
- update CI4 to v4.1.9's stable production package
- update php and js dependencies to latest
2022-03-04 14:36:32 +00:00
Yassine Doghri
9c4f60e00b
fix(markdown-editor): remove unnecessary buttons for podcast and episode editors + add extensions
...
update CommonMark to v2 + add Autolink, SmartPunct and DisallowedRawHtml extensions
2022-02-03 14:12:47 +00:00
Yassine Doghri
588590bd2c
fix(xml-editor): escape xml editor's content + restyle form sections to prevent overflowing
2022-01-23 16:53:23 +00:00
Yassine Doghri
db191ac31b
fix: add translation key for audio-clipper trim labels
2022-01-21 18:29:39 +00:00
Yassine Doghri
f0685e4479
perf: defer javascript + lazy load images for faster page loads
2022-01-21 18:07:43 +00:00
Yassine Doghri
7f7c878cb6
fix(video-clips): create unique temporary files for resources to be deleted after generation
...
- tempfile uniqueness ensures that each process lives in its independent context
- add
writable/temp folder to store video clips temporary resources
- add videoClipWorkers config to
Admin for specifying the number of ffmpeg processes to run in parallel
- update video clip preview
background to better suit the end result
2022-01-21 12:35:50 +00:00
Yassine Doghri
11c916fe43
feat(themes): set different default banner per theme
2022-01-20 14:51:31 +00:00
Yassine Doghri
00987610a0
feat(transcript): parse srt subtitles into json file + add max file size info below audio file input
...
remove episode form warning + add javascript validation when uploading a file to check if it's too
big to upload
2022-01-09 16:37:13 +00:00
Yassine Doghri
07d740b79f
feat: prefill season and episode numbers + set episode number as mandatory for serial podcasts
...
closes #134 , #136
2022-01-05 16:01:44 +00:00
Yassine Doghri
d0cb964b0f
refactor: harmonize redirects after submitting forms
...
go back to form after submitting an edit form
2022-01-05 14:58:53 +00:00
Yassine Doghri
de19317138
feat(soundbites): add soundbite list and creation forms with audio-clipper component
2022-01-03 13:52:07 +00:00