Yassine Doghri
3359abf3fc
fix: remove exit function from podcast:import command to allow for episodes:compute-downloads to run
...
- update CI4 to v4.5.7
- update php and js dependencies to latest
- reconfigure lint-staged
2025-01-08 12:11:18 +00:00
Yassine Doghri
5182d5d67a
fix: add downloads_count to episodes table, computed every hour
...
This removes computing latency when retrieving episodes list with download count in admin.
The more
analytics records, the more it took to calculate the sum of hits to get the downloads count for each
episode.
2024-12-28 15:23:02 +00:00
Yassine Doghri
89bf73b869
fix(episode): do not change slug when editing episode title
...
fixes #513
2024-08-14 10:34:27 +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
Yassine Doghri
602654b99b
fix(audio-clipper): add mouse position offset when stretching clip to prevent content from jumping
...
update Forms.Section component to adapt to full width
2022-01-02 14:11:05 +00:00
Yassine Doghri
6809789206
refactor: set episode and podcast type hints next to each option
2021-12-31 10:21:57 +00:00
Yassine Doghri
02557539e6
feat: add audio-clipper toolbar + add video-clip-previewer
2021-12-30 17:09:24 +00:00
Yassine Doghri
01a09dc447
fix(audio-clipper): show audio playing progress + put waveform behind audio clipper
2021-12-29 17:40:59 +00:00