Yassine Doghri
6a2cdd066e
fix(preview): delete episode preview cache after editing episode
...
fixes #514
2024-08-14 10:34:13 +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
6289c42b11
fix(file-uploads): validate chapters json content + remove permit_empty rule to uploaded files
...
refs #445
2024-03-12 09:32:22 +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
Yassine Doghri
6f8217e1a6
chore: update CI4 + shield + other php and js packages
2024-01-15 14:34:11 +00:00
Yassine Doghri
119742cdbb
fix(housekeeping): add where clause to check episode_id is not null on reset comments count
2023-11-30 15:46:00 +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
d10c4fd753
fix(premium-podcasts): show premium flag only when podcast has published premium episodes
2023-08-28 14:01:33 +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
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
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
855aacce0b
fix(websub): add missing misc helper import
...
+ add checks before clearing episode cache
2023-04-17 11:18:02 +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
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
65e9c0b05e
fix(housekeeping): use EpisodeModel's builder to reset comments count
2022-06-27 14:56:08 +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
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
9303e51bc5
feat: add task to housekeeping setting for resetting all instance counts
...
set two toggle switches to run housekeeping tasks seperately if needed
2022-01-14 17:42:55 +00:00
Yassine Doghri
1670558473
feat: add basic stats on podcast about page
...
number of seasons and episodes + publication date of the first episode
2022-01-06 16:52: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
057559183c
refactor(migrations): replace 191 value with more relevant one
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
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
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
0e14eb4d3f
feat: add js audio player on podcast, admin and embeddable player pages + fix admon episodes ux
...
- use vimejs as audio player
- add global audio player + play episode buttons on public pages
-
refactor admin episodes list from a grid to a data table
- arrange episode cards to be more
readable
closes #131
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
4357cc25cc
feat(map): display geolocated episodes on a map page
2021-09-17 15:50:55 +00:00
Yassine Doghri
134a071add
refactor: rename all occurences of notes to statuses
2021-06-23 13:34:53 +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
76afc0cfa2
perf(cache): use deleteMatching method to prevent forgetting cached elements in models
2021-06-11 09:35:19 +00:00
Yassine Doghri
0a66de3e6c
fix: set cache expiration to next note publish to show note on publication date
...
fix episode, podcast and persons forms + episode scheduling
2021-06-11 09:35:17 +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
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
Yassine Doghri
231d578d64
refactor: add phpstan and update code to adhere to level 5
...
- move and refactor Image.php from Libraries to Entities folder
- update some database field names
/ types
- update composer packages
2021-05-12 14:00:25 +00:00
Yassine Doghri
5c5c6da4be
refactor: add rector to enforce type declarations, code quality + style and remove dead code
...
- update CI process to include quality stage (tests + code review)
- add captainhook to install git pre-commit & pre-push hooks
- remove .devcontainer Dockerfile to use project's docker-compose services: all
services can now be started automatically using vscode
- update docs/setup-development.md
2021-05-12 10:48:30 +00:00
Yassine Doghri
3143c9ad36
feat: add remote_url alternative for transcript and chapters files
2021-05-03 17:39:58 +00:00
Yassine Doghri
2d297f45b3
feat: add cache to ActivityPub sql queries + cache activity and note pages
...
- authenticated pages are not cached
- add AnalyticsTrait to register a podcast webpage hit across
mutliple controllers
- set actor_id as unique in podcasts table
- fix issues with preview card not appearing
- update codeigniter4-uuid
2021-05-03 15:32:54 +00:00
Yassine Doghri
54b84f9684
perf(cache): update CI4 to use cache's deleteMatching method
...
add missing locale to category_options cache name
2021-05-03 15:32:46 +00:00
Yassine Doghri
15183b7eab
fix(episodes-page): handle defaultQuery being null when no podcast episodes
...
fixes #100
2021-04-09 13:16:31 +00:00