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
crowdin
c4a07c29f1
chore: new Crowdin updates
2022-08-22 15:56:51 +00:00
Ola Hneini
999999e3ef
feat: add notifications inbox for actors
...
closes #215
2022-08-12 16:08:09 +00:00
Ola Hneini
ad8f5f5a0f
fix: set interact_as_actor for user upon password reset
...
closes #178
2022-08-12 16:06:26 +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
crowdin
b5263107da
chore: new Crowdin updates
2022-07-14 09:03:44 +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
crowdin
9843ce3882
chore: new Crowdin updates
2022-07-04 13:27:21 +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
3b73c67250
refactor(rest-api): move rest api's enabled flag to the RestApi config
2022-06-29 16:22:10 +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
root
ea20206ee6
fix: change image size requirement hints
2022-06-17 16:49:29 +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
e340b54a84
feat(i18n): add Spanish to supported locales
2022-04-22 09:51:59 +00:00
crowdin
cdc2e2edfb
chore: new Crowdin updates
2022-04-22 07:56:31 +00:00
Yassine Doghri
4c490c15bb
fix: overwrite common lang function to escape returned string
...
closes #196 , fixes #198
2022-04-21 12:54:19 +00:00
Yassine Doghri
01640fa161
chore: new Crowdin updates
...
+ update rector config for crowdin compatibility
2022-04-15 12:16:12 +00:00
Yassine Doghri
ced61fc236
feat(i18n): add Norwegian Nynorsk to supported locales
2022-04-14 15:04:09 +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
5564f77502
chore: new Crowdin updates
2022-04-14 13:11:07 +00:00
Yassine Doghri
c9b9fe4ee8
feat(i18n): add support for German and Brazilian Portuguese languages
...
rename pt to pt-BR for brazilian portuguese
2022-04-05 16:23:47 +00:00
Yassine Doghri
7b71f7971d
chore: new Crowdin updates
...
otetranome - Portuguese, Brazilian; Portuguese
forght - German
glottis0q - German
ernestoacostame - Spanish
Lucian I. Last (lil5) - Dutch
ButterflyOfFire (BoFFire) - Arabic
eorn - Breton
Angelos Chouvardas (achouvardas) - Greek
Russian Retro (retrograde) - Russian
cExplorer - German
GabiSnow - Spanish
CTHTC - German
Romain de Laage (rdelaage) - Spanish
LuuzViir (Spanish)
Samuel Roland (samuelroland) - French
thelama - Portuguese
2022-04-05 15:45:54 +00:00
Benjamin Bellamy
0188b67354
feat(analytics-gdpr): update cached personal data to expire at midnight
2022-04-01 16:35:34 +00:00
Yassine Doghri
df8506bb40
build: filter out unsupported locales from the castopod bundle + remove german as supported locale
...
- add .rsync-filter files to Language folders in order to filter out unsupported locales
- remove
german as supported locale, awaiting completed translation files
- remove unneeded app/Resources/
folder from bundle
2022-04-01 16:35:34 +00:00
Benjamin Bellamy
6f2e7c009c
feat(analytics): add current date and secret salt to analytics hash for improved privacy
2022-04-01 16:35:34 +00:00
crowdin
d021abb52f
feat(i18n): add 7 new languages + update german translations
...
add Breton, Dutch, Indonesian, Italian, Portuguese, Spanish and Swedish
2022-04-01 16:35:34 +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
Yassine Doghri
c220b310ed
feat(i18n): add german language as supported locale + create Language files from english source
2022-04-01 16:35:34 +00:00
crowdin
e985a193dc
chore(i18n): update French translations
2022-04-01 16:35:34 +00:00
crowdin
f3db223e33
chore: new Crowdin updates
2022-04-01 16:35:34 +00:00
Yassine Doghri
357886b931
refactor(translations): sort french translation keys for Countries.php in admin module
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
90e44437bd
fix: remove cache from remote follow form to display error messages
2022-03-15 14:05:19 +00:00
Patryk Miś
2d83b44add
feat(i18n): add Polish translation
2022-03-04 17:52:52 +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
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
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
Yassine Doghri
91128fad7a
fix(fediverse): set model instances as non shared to prevent overlapping
2022-02-05 11:40:30 +00:00
Yassine Doghri
2f2480998f
fix(activitypub): allow cors on get requests for routes exposing acitivitypub objects
2022-02-05 10:57:02 +00:00
Yassine Doghri
0128a21ec5
fix(activitypub): add target_actor_id for create activity to broadcast post reply
2022-02-03 14:12:47 +00:00
Yassine Doghri
962dd305f5
fix(activitypub): add target actor id to like / announce activities to send directly to note's actor
2022-02-03 14:12:47 +00:00
Yassine Doghri
8fbf948fbb
fix(activitypub): add conditions for possibly missing actor properties + add user-agent to requests
2022-02-03 14:12:36 +00:00
Yassine Doghri
b7f285e4e2
fix(http-signature): update SIGNATURE_PATTERN allowing signature keys to be sent in any order
...
set algorithm key as optional and set defaults for both algorithm (rsa-sha256) and headers (date)
keys
2022-02-03 10:15:59 +00:00
Benjamin Bellamy
ee50539591
fix(analytics): set initial value for duration and bandwidth
2022-01-31 16:49:26 +00:00
Yassine Doghri
99bfac0b42
feat(housekeeping): add clear_cache option to flush redis or files cache
2022-01-29 16:42:34 +00:00
Yassine Doghri
42d92d0c8d
fix(housekeeping): replace the use of GLOB_BRACE with looping over file extensions
...
The GLOB_BRACE flag is not available on non GNU systems, such as Solaris or Alpine Linux.
fixes #154
2022-01-29 15:32:38 +00:00
Yassine Doghri
f21ca57603
fix(housekeeping): set default sizes value + ignore illegal IFD size error to proceed with script
2022-01-29 15:21:46 +00:00
Yassine Doghri
99bb40b8bc
fix: clear cache when deleting podcast banner
2022-01-23 16:02:24 +00:00
Yassine Doghri
209dfbd134
fix(activitypub): set created_by to null for reblog if no user + update episode oembed data
2022-01-23 15:42:56 +00:00
Yassine Doghri
67b73c1525
docs: update install, update and readme for next release
...
fix translation files
2022-01-22 14:44:07 +00:00
Yassine Doghri
06b1a8b29b
fix: update translations for settings' tasks to include what they should be used for
2022-01-21 19:51:36 +00:00
Yassine Doghri
db191ac31b
fix: add translation key for audio-clipper trim labels
2022-01-21 18:29:39 +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
7f7c878cb6
fix(video-clips): create unique temporary files for resources to be deleted after generation
...
- tempfile uniqueness ensures that each process lives in its independent context
- add
writable/temp folder to store video clips temporary resources
- add videoClipWorkers config to
Admin for specifying the number of ffmpeg processes to run in parallel
- update video clip preview
background to better suit the end result
2022-01-21 12:35:50 +00:00
Yassine Doghri
c1581c1fd4
refactor: rename audio_file urls to audio urls
2022-01-21 08:52:28 +00:00
Yassine Doghri
cfb3da6592
fix: keep subtitle line breaks when parsing srt file to json
...
update job duration label for video clips list
2022-01-20 15:38:40 +00:00