Commit Graph

97 Commits

Author SHA1 Message Date
Yassine Doghri c682f03a67 fix: replace essence with embera to create preview cards 2023-05-09 11:55:16 +00:00
Yassine Doghri 108fdf84b8 fix(import-update): insert episodes incrementally into database 2023-05-05 12:56:57 +00:00
Yassine Doghri ebb9be985a chore(podcast-import): clean unnecessary critical log when importing episodes 2023-04-17 11:21:07 +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 41d8efe6e7 fix: delete files using file_manager when deleting episode and podcast
- add deleteAll method to file manager
- refactor deletePodcastImageSizes and
deletePersonImagesSizes implementations
2023-03-30 13:23:10 +00:00
misuzu 7e1a470ba4 feat(media): set media storage directory as configurable 2023-03-28 16:13:04 +00:00
Aonrud ae5e12be3b fix: allow images to have .jpeg extension consistently 2023-03-21 18:06:54 +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 a2a87abf7c fix: display bandwidth limit on dashboard when set in .env 2022-12-28 16:57:14 +00:00
Yassine Doghri 46d70541d3 fix(notifications): remove cache inconsistencies when marking notification as read 2022-12-09 16:44:59 +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 82310a2e0b fix(platforms): convert special characters to htmlentities to validate url
remove validate_url custom validator and replace with CI4's valid_url_strict
2022-11-04 10:39:26 +00:00
Yassine Doghri 259fe5f697 fix(platforms): trim platform url before validation and storage
--> Having a URL with spaces in the beginning or end would cause the platform to be deleted
2022-11-01 15:15:39 +00:00
Yassine Doghri 07780c5f6f refactor(migrations): set namespace to null to run all migrations during install and updates 2022-10-20 06:48:44 +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 1686f840d1 fix: sort episodes by published_at with unpublished episodes at the begining
set the right permissions for episode's publication date edit

fixes #249
2022-10-18 17:25:49 +00:00
Yassine Doghri d0836f3ee3 feat: add about page in admin with instance info + database update button 2022-10-18 16:53:51 +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 c1287cbe6c refactor(auth): replace myth/auth with codeigniter/shield + define new roles
closes #222
2022-10-16 13:35:26 +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 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
Yassine Doghri b6114d3d93 chore: update rector to latest and use parallel for faster processing
update composer dependencies to latest
2022-09-28 14:00:46 +00:00
Yassine Doghri d7250ab03f fix(import): set default episode type if not set 2022-09-19 10:58:56 +00:00
Yassine Doghri e08555a4e9 fix(notifications): notify actors after activities insert / update using model callback methods
--> Remove sql triggers because most shared hosting plans prevent using them
2022-09-08 11:50:23 +00:00
Yassine Doghri 1c8af7550b fix(users): remove required roles input when editing user + prevent owner's roles from being edited
fixes #239
2022-09-07 09:41:58 +00:00
Yassine Doghri 7512e2ed1f fix: set storage limit as disk_total_space instead of free space 2022-09-07 08:27:28 +00:00
Ola Hneini 999999e3ef feat: add notifications inbox for actors
closes #215
2022-08-12 16:08:09 +00:00
Yassine Doghri e66bf44341 fix(search-episodes): add fallback sql query using LIKE for search query with less than 4 characters
fixes #236
2022-07-28 15:11:25 +00:00
Yassine Doghri 78acd7f5c0 feat(episode-unpublish): remove episode comments upon unpublish 2022-07-21 16:37:22 +00:00
Yassine Doghri 8acdafd260 fix(episode-unpublish): set consistent posts_counts' increments/decrements for actors and episodes
Some episodes could not be unpublished because of out of range error when removing posts.

fixes #233
2022-07-21 13:56:10 +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
root 5eb9dc168e feat: add update rss feed feature for podcasts to import their latest episodes
closes #183
2022-06-17 16:46:59 +00:00
Yassine Doghri 6be5d12877 feat(admin): add search form in podcast episodes list
closes #26
2022-06-17 12:52:36 +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
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 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 12b22008a2 fix(socialinteract): move social interact uri into uri attribute + update social data upon import 2022-04-01 16:35:34 +00:00
Ola Hneini 9859c7434c fix: change message upon cancellation of episode publication 2022-04-01 16:35:34 +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 b57f0b6eb6 fix(video-clips): update condition to check if ffmpeg is installed
fixes #163
2022-03-04 15:40:38 +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 a597cf4ecf feat(podcasting 2.0): update podcast:social tag to adhere to latest spec 2022-03-03 16:15:42 +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