Commit Graph

267 Commits

Author SHA1 Message Date
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 11aa3586a0 fix(s3): add a flag to serve media files by redirecting to a presigned url instead of default proxy 2023-08-21 13:34:48 +00:00
Yassine Doghri 754e7a6b4b fix(media): get path using media_path_absolute when saving media file 2023-08-06 13:49:06 +00:00
Yassine Doghri 9346e787bd fix(media): copy and delete temp file when saving instead of moving it for FS FileManager
+ throw exception instead silently failing file save

closes #338
2023-08-06 12:14:25 +00:00
Yassine Doghri 0775add678 fix(media): init file properties in setAttributes' Model method + set defaults to pathinfo data 2023-08-05 10:14:06 +00:00
Yassine Doghri 9cc5ffd143 fix(admin-ui): remove button labels on smaller screens in podcast view
- update components renderer regex to include special characters
- fix itunes_explicit mapping
during import
2023-07-29 09:57:35 +00:00
crowdin dfa93ff8e3 chore(i18n): new Crowdin updates 2023-07-27 12:47:41 +00:00
Yassine Doghri 9b955c9ce2 fix(s3): allow CORS for served static files 2023-07-19 15:04:17 +00:00
Yassine Doghri 5e719f3e9e fix(podcast-import): remove error log when no import in queue, exit with success instead 2023-07-11 10:28:19 +00:00
Yassine Doghri 082cdc9ee7 fix(fediverse): expand object before sending accept follow request
fixes #350
2023-07-05 14:57:05 +00:00
Yassine Doghri 41a5932233 fix(s3): handle range requests to serve media files 2023-07-04 11:03:34 +00:00
Yassine Doghri 0b327cb4d9 fix: set resized images to 72dpi for compatibility with Apple Podcasts
fixes #282
2023-07-02 09:42:54 +00:00
crowdin 5d1edd7e4c chore(i18n): new Crowdin updates 2023-06-29 15:23:25 +00:00
Yassine Doghri 60814b8d20 fix(video-clipper): add -t option to ffmpeg command to stop generation after duration
fixes #341
2023-06-29 15:15:04 +00:00
crowdin c4bdde2b03 chore(i18n): new Crowdin updates 2023-06-27 10:47:52 +00:00
Yassine Doghri e42258de1f fix(podcast-import): show cancel or retry action depending on task status 2023-06-26 12:05:17 +00:00
Yassine Doghri 06c4f15477 fix(fediverse): check that actor's images mimetype is present or guess it otherwise
fixes #348
2023-06-26 11:46:52 +00:00
Yassine Doghri aa46dca4e3 fix(podcast-import): set default values for person group and role if not found in taxonomy
+ update podcast-feed and podcast-persons-taxonomy packages
2023-06-22 15:11:21 +00:00
crowdin ad1ba4f8a1 chore(i18n): new Crowdin updates 2023-06-21 17:49:33 +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 30db9f0667 fix(s3): serve files without cache if dummy cache handler + add http referer header to redirect 2023-06-14 17:20:14 +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 cb92dc73f1 fix(s3): use presigned request uri to serve static files 2023-06-05 11:48:29 +00:00
crowdin 5fb43065ef chore(i18n): new Crowdin updates 2023-05-09 14:30:05 +00:00
Yassine Doghri c682f03a67 fix: replace essence with embera to create preview cards 2023-05-09 11:55:16 +00:00
crowdin 80dfe46323 chore(i18n): new Crowdin updates 2023-05-05 14:28:51 +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 855aacce0b fix(websub): add missing misc helper import
+ add checks before clearing episode cache
2023-04-17 11:18:02 +00:00
Yassine Doghri a00e45ea4c build: update js and php dependencies to latest 2023-04-14 11:22:12 +00:00
crowdin 23a47efefd chore(i18n): new Crowdin updates 2023-04-14 09:47:53 +00:00
Yassine Doghri 502f53c970 fix(s3): serve files using media base url to allow for CDN setup 2023-04-14 09:35:05 +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
crowdin 1a69bc48bb chore(i18n): new Crowdin updates 2023-04-01 12:38:40 +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
Yassine Doghri da7076fc2d fix(s3): do not create bucket if not exists, check if healthy instead
update php and js dependencies to latest
2023-03-23 11:46:21 +00:00
Aonrud ae5e12be3b fix: allow images to have .jpeg extension consistently 2023-03-21 18:06:54 +00:00
Yassine Doghri 208c2715f9 fix(s3): delete persons image sizes from bucket + add keyPrefix to config 2023-03-21 17:08:42 +00:00
Yassine Doghri a4141421aa fix(migration): change old media file_key to file_path
fixes #314
2023-03-18 10:13:36 +00:00
Yassine Doghri b3c6e05e6f fix: change app.mediaBaseURL to media.baseURL in install, docker entrypoints and docs 2023-03-17 17:36:26 +00:00
Yassine Doghri 5d2a2d49c4 fix(contributors): add dash to prevent deleting permissions from other podcast
fixes #310
2023-03-17 16:34:44 +00:00
Yassine Doghri 1dde11f8e4 feat: add health route to check if db, cache and file manager are ok 2023-03-17 14:54:03 +00:00
crowdin d2151b74bd chore(i18n): new Crowdin updates 2023-03-16 16:45:41 +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 a9b630884b fix(auth): update podcast editors' permissions
`episodes.manage-notifications` should be `manage-notifications`
2023-03-07 14:55:49 +00:00
Yassine Doghri b63c1dc9b1 feat: add downloads count to episode list 2023-02-28 16:53:58 +00:00
Yassine Doghri fc009f3d00 revert(install): reset condition to look for instance owner before continuing install 2023-02-28 14:26:27 +00:00
Aonrud 1111177eb7 fix(analytics): check the x_forwarded_for client header 2023-02-24 15:38:14 +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
crowdin 1cc9c11e8f chore(i18n): new Crowdin updates 2022-12-14 11:18:11 +00:00
Yassine Doghri 77ccb30600 fix(analytics): set EpisodeAudioController to init user session data 2022-12-14 10:02:36 +00:00
Yassine Doghri 0ad22e49bc fix(op3): remove scheme when wraping audio URI 2022-12-13 11:56:49 +00:00
Yassine Doghri 964cbba54f fix(rss): add file extension to enclosure url 2022-12-13 11:34:50 +00:00
Yassine Doghri 46d70541d3 fix(notifications): remove cache inconsistencies when marking notification as read 2022-12-09 16:44:59 +00:00
crowdin 2e7b462d94 chore(i18n): new Crowdin updates 2022-12-09 15:42:46 +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 7fbbd08da6 fix(notifications): retrieve activity from database instead of getting cache 2022-12-07 14:00:38 +00:00
crowdin 80666bc728 chore(i18n): new Crowdin updates 2022-11-25 17:44:19 +00:00
Yassine Doghri c13cfa0ea0 fix(router): revert to CI4 v4.2.7 to include all routes 2022-11-24 15:30:24 +00:00
Yassine Doghri 4f7c17f420 chore: add missing translation keys for blocked actors and domains breadcrumb 2022-11-22 16:48:59 +00:00
Yassine Doghri 1d6b177a55 fix: update actorUsername regex to get url_to actor
Since CI4 v4.2.8, the actor route is not retrieved anymore, this prevents users from creating a
podcast.
2022-11-18 17:38:40 +00:00
crowdin b1e52ffac3 chore: new Crowdin updates 2022-11-17 14:42:46 +00:00
Yassine Doghri 0eb223baa0 chore: update CodeIgniter to v4.2.10 2022-11-17 13:10:34 +00:00
crowdin fa90decdd1 chore(i18n): new Crowdin updates 2022-11-04 11:03:24 +00:00
Yassine Doghri 379b9be2b9 fix(auth): disallow registration by default 2022-11-04 10:39:26 +00:00
Yassine Doghri 9f785db7ba fix(contributors): add prefix to podcast group to delete contributor 2022-11-04 10:39:26 +00:00
Yassine Doghri e26215a11f fix: extract podcast ids from user groups using a regex 2022-11-04 10:39:26 +00:00
Yassine Doghri ed7c247bcb fix(notifications): add manage-notifications permission to podcast 2022-11-04 10:39:26 +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
crowdin d76a1d9fee chore: new Crowdin updates 2022-10-20 07:55:28 +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 5a2ca0cc4a fix(install): add password validation when creating super admin 2022-10-19 11:47:26 +00:00
Yassine Doghri 0bab4c7af9 chore: remove testing update migration + rename auth migration 2022-10-19 11:02:05 +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 7213ed290c feat(auth): add auth.enable2FA config to enable two-factor authentication
+ update phpstan and rector configs
2022-10-16 13:35:48 +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
crowdin d0d8be7fe3 chore: new Crowdin updates 2022-10-14 16:12:14 +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 ca109ba3a8 fix(premium-podcasts): display unlock button in embed when premium episode 2022-09-29 13:34:28 +00:00
Yassine Doghri 242352c4d9 fix(premium-podcasts): remove cache in unlock form + redirect to podcast if podcast is not premium 2022-09-29 11:10:39 +00:00
Yassine Doghri b1303c5255 fix(premium-podcasts): return different cached page when podcast is unlocked
- clear podcast cache when setting subscription link
- update and add missing translation keys
2022-09-29 10:52:28 +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
crowdin 7b66f46ae2 chore: new Crowdin updates 2022-09-23 15:51:26 +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
Yassine Doghri 48d1443472 feat(i18n): add support for Simplified Chinese (zh-Hans) and Catalan (ca) locales 2022-09-06 15:30:07 +00:00
crowdin 3fc9734161 chore: new Crowdin updates 2022-09-06 14:55:46 +00:00
Yassine Doghri 10fc6f17c6 fix(email): set the correct url in the activation and forgot emails
- add default values for Config/Email properties
- set mariadb to the minimal required version for development

fixes #204
2022-08-24 09:45:36 +00:00