Commit Graph

289 Commits

Author SHA1 Message Date
Yassine Doghri 3d5fc14d5e build: upgrade CI4 + php and js dependencies to latest
closes #396
2023-11-17 17:29:05 +00:00
Yassine Doghri 6a7ef0109a fix(nodeinfo2): import database config + use dynamic table prefix for active local actors query 2023-11-17 17:29:05 +00:00
Yassine Doghri 2d52fa1046 fix: reorder podcast form fields + extract sync feeds to its own form
- update fields' styling
- update icons contents
2023-11-17 17:29:05 +00:00
Yassine Doghri b047a3c670 fix(admin-ux): hide navigation submenus in details panel for easier scanning 2023-11-17 17:29:05 +00:00
Yassine Doghri 4ca7f9ccae fix(import): use cocur/slugify library to handle non latin text 2023-11-08 13:51:34 +00:00
Yassine Doghri 5a834c0f89 fix(auth): display error messages from validator 2023-10-05 11:36:36 +00:00
Yassine Doghri ffa530e187 fix(fediverse): use NoteObject including episode link in content (hotfix) 2023-09-26 15:20:25 +00:00
Yassine Doghri 2dd9cc9ef5 chore(phpstan): remove redundant dynamicConstantNames
+ update quality tools
2023-09-26 14:56:04 +00:00
Yassine Doghri 4ecb42f7c8 fix(fediverse): do not cache remote action form + fix typo on post routes for passing post uuid
+ remove unnecessary session->start() directive
2023-09-17 10:07:59 +00:00
Yassine Doghri 3189f12206 fix(fediverse): update post controller namespace in routes 2023-09-15 16:40:07 +00:00
crowdin d1b35312a4 chore(i18n): new Crowdin updates 2023-09-09 11:48:16 +00:00
Yassine Doghri ba5324ea19 fix(admin): redirect root fediverse route to fediverse-blocked-actors 2023-09-09 10:23:34 +00:00
Yassine Doghri 2c07070b2c refactor: use Validation::getValidated() when using $this->validate() in controllers 2023-09-09 10:23:34 +00:00
Yassine Doghri 77c2d08b6e build: add phpstan-codeigniter extension to manage config(), model() and service() functions 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 b4f1b916bf fix(routes): overwrite RouteCollection to include all routes + update js and php dependencies 2023-09-09 10:23:34 +00:00
Yassine Doghri 4ccb363a3d refactor(modules): add Registrars to declare filter aliases 2023-09-09 10:23:34 +00:00
Yassine Doghri c6e8000bab fix(auth): overwrite Shield's PermissionFilter 2023-09-09 10:23:34 +00:00
Yassine Doghri 23842df03a fix(auth): update shield from v1.0.0-beta.3 to v1.0.0-beta.6
v1.0.0-beta.4 fixes a security issue "Password Shucking Vulnerability"
(https://github.com/codeigniter4/shield/security/advisories/GHSA-c5vj-f36q-p9vg)
2023-09-09 10:23:34 +00:00
Aonrud 6be38e9fda fix(analytics): show full referrer domain in web pages visits reports
fixes #367
2023-08-31 08:53:46 +00:00
crowdin b719be10c0 chore(i18n): new Crowdin updates 2023-08-28 14:13:45 +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 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