Commit Graph

86 Commits

Author SHA1 Message Date
Yassine Doghri edbee96db5 chore: change rector and ecs configs + update devcontainer to php 8.2 2024-04-24 17:33:02 +00:00
Yassine Doghri f9a939471d chore: update codeigniter to 4.5.1 + other dependencies to latest 2024-04-24 15:42:17 +00:00
Guy Martin (Dwev) 57e459e187 feat: support podcast:txt tag with verify use case
closes #468
2024-04-24 10:03:20 +00:00
Yassine Doghri a5aef2a63e fix(rss): generate podcast guid if empty
closes #450
2024-04-06 11:50:12 +00:00
Guy Martin 630e788f0e feat: add support for podcasting 2.0 "medium" tag with podcast, music and audiobook
closes #439
2024-02-05 16:51:04 +00:00
Yassine Doghri 67c037c9eb fix(podcast-about): update stats query to discard scheduled episodes from episodes number 2024-01-25 11:58:39 +00:00
Ewen Korr 222e02a2af feat: allow hiding owner's email in public RSS feed 2024-01-15 14:34:11 +00:00
Yassine Doghri ac5336fbc5 fix(import): check for empty string when generating podcast guid for feeds not including one 2024-01-15 14:34:11 +00:00
Yassine Doghri 3c357183ca fix: use podcast-activity named route instead of not existing actor route 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 7a1eea58d3 fix(home): update where clause when getting all podcasts to prevent draft podcasts from showing up 2023-08-22 15:00:01 +00: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
Krzysztof Domańczy 85505d4b31 feat(rest-api): add endpoints for episodes and full text search for podcasts and episodes
closes #296
2023-06-21 10:07:31 +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 a00e45ea4c build: update js and php dependencies to latest 2023-04-14 11:22:12 +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 c1287cbe6c refactor(auth): replace myth/auth with codeigniter/shield + define new roles
closes #222
2022-10-16 13:35:26 +00:00
Yassine Doghri 94c0b7c159 feat(rss): add rss feed route without the `.xml` extension
closes #247
2022-10-14 12:50:25 +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
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 81f790868a chore: update quality tools + rewrite some migration files
* update php packages to latest
* update rector and ecs config
* update ci4/settings package to v2.1
2022-07-03 16:42: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 dbb4030da4 feat: add permanent delete feature for podcasts 🎉
closes #89
2022-06-07 11:13:06 +00:00
Yassine Doghri 92d5cc50a3 fix(home): remove hardcoded prefix in getAllPodcasts query 2022-04-16 08:36:28 +00:00
Yassine Doghri 4e22a0d5e4 fix: use UTC_TIMESTAMP() to get current utc date instead of NOW() in sql queries 2022-04-14 14:33:53 +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 e7eec48e7b feat(podcast-form): add new_feed_url field to set an url when changing domain or host 2022-02-09 17:44:24 +00:00
Yassine Doghri 7b89da6106 feat(home): sort podcasts by recent activity + add dropdown menu to choose between sorting options
fixes #164
2022-02-05 16:57:20 +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 b05d177f1b fix: update MarkdownEditor component + restyle Button and other components 2021-12-29 11:55:43 +00:00
Yassine Doghri 5083cd2fda refactor(modules): extract castopod parts into a modules/ folder for a scalable HMVC structure
- create Admin, Analytics, Auth, Fediverse and Install modules in the root modules/ folder
- rename
ActivityPub to Fediverse
2021-12-29 11:54:22 +00:00
Yassine Doghri 3ff1364906 chore: update php dependencies to latest 2021-12-29 11:54:20 +00:00
Yassine Doghri b72e7c8691 fix: expire default query cache upon scheduled episode publication
fix #81
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
Benjamin Bellamy 1fab10eb0d feat(rss): add ˂podcast:guid˃ tag for channel 2021-06-21 11:58:43 +00:00
Yassine Doghri 92536ddb38
fix(activity-pub): get database records using new model instances
update types and some remap logic
2021-06-11 09:35:21 +00:00
Yassine Doghri c72f4be6d8
refactor: add strict types declaration before each file and fix activitypub issues
fix some style issues
2021-06-11 09:35:19 +00:00
Yassine Doghri aa1612342e
style(ecs): add easy-coding-standard to enforce coding style rules for php
- update .devcontainer settings: remove auto-formatting
for php + set intelephense as default formatter
- remove prettier php plugin as it lacks php 8 support
- add captain hook action for checking style pre-commit
- fix style with ecs on all files except views
2021-06-11 09:34:48 +00:00
Yassine Doghri fb3593f828
refactor: remove all empty declarations + add missing type declarations
update composer dependencies
2021-05-18 17:16:36 +00:00
Yassine Doghri 93e605b406
refactor(persons): move podcast and episode persons models to person model for consistency
- fix lazy loading properties + podcast import controller
- rename all snake_case variables to
camelCase
- fix broken routes
- refactor Location construction logic and setters
2021-05-17 17:11:23 +00:00
Yassine Doghri 6b74a9e98a
refactor: update code base to php 8 and set phpstan lvl to 6 2021-05-14 17:59:35 +00:00