Yassine Doghri
f981937645
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-29 13:24:42 +00:00
Yassine Doghri
8cf9c6dc83
feat(plugins): add html field type + CodeEditor component + rework html head generation
...
update php and js packages to latest
2024-12-17 15:11:45 +00:00
Yassine Doghri
b869acb3a9
refactor: remove fields from podcast and episode entities to be replaced with plugins
2024-12-15 17:34:36 +00:00
Yassine Doghri
bb628f355f
refactor: add modules folder to phpstan paths + fix errors
2024-04-28 16:41:24 +00:00
Yassine Doghri
d4a36f811b
chore: update CodeIgniter to 4.5.1 + other dependencies to latest
2024-04-26 09:26:22 +00:00
Yassine Doghri
d0a94dd2cb
chore: update php and js dependencies to latest
2024-02-17 13:01:39 +00:00
Guy Martin
87cc437e1e
feat: display chapters in episode's public page
...
closes #423
2024-02-17 12:02:38 +00:00
Yassine Doghri
d580369235
fix(op3): move op3 prefix to enclosure url instead of audio proxy
2024-02-12 16:55:09 +00:00
Yassine Doghri
1861d67971
fix(podcast-form): move fediverse section below author section
2023-11-29 16:00:28 +00:00
Yassine Doghri
d100fe0999
refactor: fix styling and logic issues
2023-09-09 10:23:34 +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
7d21b3509e
feat(episode): add preview link in admin to view and share episode before publication
2023-08-28 13:53:04 +00:00
Yassine Doghri
26a714d9c2
build(devcontainer): update network's subnet to 172.31.0.0/24
2023-08-02 19:05:12 +02:00
Yassine Doghri
6833dd05ab
fix(rss): update podcast extension namespace
...
refs #360
2023-07-29 08:27:43 +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
4c1a3e5015
refactor: fix some of phpstan's ignored errors
2023-06-13 16:05:02 +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
c682f03a67
fix: replace essence with embera to create preview cards
2023-05-09 11:55:16 +00:00
Yassine Doghri
a00e45ea4c
build: update js and php dependencies to latest
2023-04-14 11:22:12 +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
964cbba54f
fix(rss): add file extension to enclosure url
2022-12-13 11:34:50 +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
3a57538572
build: set minimal php version to 8.1
...
closes #225
2022-10-17 14:17:50 +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
78acd7f5c0
feat(episode-unpublish): remove episode comments upon unpublish
2022-07-21 16:37:22 +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
14d7d07822
fix: replace deletedField with published_at for episodes
...
- remove delete_at field + soft delete for media and pages
- update CodeIgniter4 to 4.2.0 + update all starter files
- explicitly use builder() when creating queries from model
2022-06-13 16:30:34 +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
10d3f73786
feat: add WebSub module for pushing feed updates to open hubs
2022-03-15 16:47:35 +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
fa5b5f51a4
docs(init): create documentation website using vitepress
...
- rename podlibre to adaures
- rename castopod-host to castopod
- simplify README and redirect to docs site
- move INSTALL and UPDATE docs
- add new gitlabci pipeline to deploy docs
- upgrade node to v16 in Dockerfile
2022-02-19 16:06:11 +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
c1581c1fd4
refactor: rename audio_file urls to audio urls
2022-01-21 08:52:28 +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
2065ebbee5
feat(video-clips): add route for scheduled video clips + list video clips with status
2021-12-29 12:10:13 +00:00
Yassine Doghri
2f6fdf9091
feat(clips): setup clip entities and model + save video clip to have it generated in the background
2021-12-29 12:10:13 +00:00
Yassine Doghri
a9989d841a
fix(import): save media files during podcast import + set missing media fields
2021-12-29 12:10:13 +00:00
Yassine Doghri
58e2a00a87
feat(media): save audio, images, transcripts and chapters to media for episode and persons
2021-12-29 12:10:13 +00:00
Yassine Doghri
fafaa7e689
feat(media): clean media api + create an entity per media type
2021-12-29 12:10:13 +00:00
Yassine Doghri
6ecf2866cf
feat: add media entity and link documents, images and audio files to it
2021-12-29 12:09:32 +00:00
Yassine Doghri
fee2c1c0d0
feat(pwa): add service-worker + webmanifest for each podcasts to have them install on devices
...
- configure service-worker using vite-plugin-pwa
- refactor Image entity to generate images of
different types based on size config
- add requirement for webp library for php gd to generate webp
images for instance
- add action to regenerate all instance images for eventual Images config
changes
- enhance google lighthouse metrics for pwa
2021-12-29 12:09:31 +00:00
Yassine Doghri
4a8147bfbb
feat: add podcast banner field for each podcast + refactor images configuration
...
- rename image fields on podcast, episode and persons for better clarity
- set different sizes
config for podcast cover, banner and persons avatars
- add tiny size for covers
- fix responsive
on admin forms
2021-12-29 12:04:04 +00:00
Yassine Doghri
025b2f42e6
refactor: replace "embeddable-player" occurrences to "embed"
2021-12-29 12:02:53 +00:00
Yassine Doghri
0c187ef7a9
feat(comments): add like / undo like to comment + add comment page
2021-12-29 11:54:22 +00:00
Yassine Doghri
bb4752c35e
feat(comments): add comments to episodes + update naming of status to post
...
- remove confusing counts for episode (total favourites, total reblogs)
- add comments section to
episode page to display episode comments + post replies linked to the episode
2021-12-29 11:54:22 +00:00
Yassine Doghri
f15f26240c
feat: add codemirror to display xml editor for custom rss field
...
- replace hardcoded label values for play_episode_button component
2021-12-29 11:37:16 +00:00
Yassine Doghri
9dd4c7741e
fix: rename podcast name to podcast handle to clarify field usage
...
- podcast name was too vague and didn't come clearly for users: handle is more relevant
- update
package.json dependencies and remove unnused packages
closes #126
2021-12-29 11:37:16 +00:00