Benjamin Bellamy
c668f1c151
chore(platforms): update amazon and podcastindex submit urls
2022-10-17 15:49:31 +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
3234500e2d
feat: add premium podcasts to manage subscriptions for premium episodes
...
closes #193
2022-09-28 15:02:09 +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
Ola Hneini
e5d16e8711
fix(notifications): add trigger after activities update + update insert trigger
2022-08-15 10:06:45 +00:00
Ola Hneini
999999e3ef
feat: add notifications inbox for actors
...
closes #215
2022-08-12 16:08: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
Sebastian Janik
e64001d006
feat(api): add rest api with podcasts read endpoints
...
relates to #210
2022-06-22 11:06:53 +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
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
5bcdfebe64
feat(icons): add default icons for podcasting, social and funding platforms + remove complex icons
...
- add pleroma, misskey and fosspay platforms
- update adaures/ipcat-php to fix autoload issue
-
fix Breez and Podcast Guru icons
closes #166 , #167 , #170
2022-02-24 14:48:17 +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
dff1208725
fix(video-clips): check if created video exists before recreating it and failing
...
update seed scripts to prevent sql error when reloading install page
2022-01-21 17:25:27 +00:00
Yassine Doghri
6e9451a110
fix: define podcast_id and platform_slug as foreign keys in podcasts_plaforms table
...
update discord logo
2022-01-04 16:37:59 +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
db0e4272bd
feat(video-clip): generate video clips in the bg using a cron job + add video clip page + tidy up UI
2021-12-29 12:10: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
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
5c56f3e6f0
feat(settings): add general config for instance (site name, description and icon)
2021-12-29 12:04:01 +00:00
Yassine Doghri
025b2f42e6
refactor: replace "embeddable-player" occurrences to "embed"
2021-12-29 12:02:53 +00:00
Yassine Doghri
a95de8bab0
feat(components): add custom view renderer with ComponentRenderer adapted from bonfire2
...
- update Component class structure and remove component helper function and ComponentLoader
- update residual activitypub naming to fediverse
2021-12-29 11:54:50 +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
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
7fdea63de7
fix(persons): set person picture as optional for better ux
...
- use default avatar image if person image is not set
- add thumbnail and medium default avatar
images
- set default avatar images directly in public/media folder
- remove public/media's root
folder from .gitignore
- remove unnecessary copy:images script and cpy-cli package
closes #125
2021-12-29 11:37:16 +00:00
Yassine Doghri
910d457cf8
feat(select): enhance select input with choices.js
...
- select fields come with a search field
- update language names by fixing missing caps in
LanguageSeeder
- add parent to categoryOptions
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
92dd370e2f
feat(platforms): add missing newpodcastapps.com's platforms
2021-09-28 10:26:47 +00:00
Yassine Doghri
134a071add
refactor: rename all occurences of notes to statuses
2021-06-23 13:34:53 +00:00
Benjamin Bellamy
1fab10eb0d
feat(rss): add ˂podcast:guid˃ tag for channel
2021-06-21 11:58:43 +00:00
Yassine Doghri
714d6b5d49
fix(analytics): update migrations to set decimal precision for latitude and longitude
...
add unsigned for soundbites start time and duration
2021-06-11 13:01:42 +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
76a4bf3441
fix(types): update fake seeders types + fix bugs
2021-06-11 09:35:20 +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
76afc0cfa2
perf(cache): use deleteMatching method to prevent forgetting cached elements in models
2021-06-11 09:35:19 +00:00
Yassine Doghri
8c64f25a0e
fix(category): remove uncategorized option to enforce users in choosing a category
...
Apple podcasts requires a category to submit a valid podcast RSS feed. The "uncategorized" category
is not a valid category.
2021-06-11 09:35:16 +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