Commit Graph

225 Commits

Author SHA1 Message Date
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
semantic-release-bot c760acc79d chore(release): 1.0.0-beta.24 [skip ci]
# [1.0.0-beta.24](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.23...v1.0.0-beta.24) (2022-10-14)

### Bug Fixes

* **router:** trim URI slash to match same routes for URIs with and without trailing slash ([9e9375f](9e9375f9a2))

### Features

* **episode:** add form to allow editing episode's publication date to a past date ([d783d16](d783d16eb7)), closes [#97](https://code.castopod.org/adaures/castopod/issues/97)
* **rss:** add rss feed route without the `.xml` extension ([94c0b7c](94c0b7c159)), closes [#247](https://code.castopod.org/adaures/castopod/issues/247)
2022-10-14 16:32:44 +00:00
Yassine Doghri a3ebd6c9a4 refactor(view-components): use CI4's View Decorators to render components 2022-10-14 15:31:16 +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
semantic-release-bot 104438ec5f chore(release): 1.0.0-beta.23 [skip ci]
# [1.0.0-beta.23](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.22...v1.0.0-beta.23) (2022-09-29)

### Bug Fixes

* **premium-podcasts:** display unlock button in embed when premium episode ([ca109ba](ca109ba3a8))
* **premium-podcasts:** remove cache in unlock form + redirect to podcast if podcast is not premium ([242352c](242352c4d9))
* **premium-podcasts:** return different cached page when podcast is unlocked ([b1303c5](b1303c5255))

### Features

* add instructions on production error page to ease Castopod debugging process ([9eab54e](9eab54e085)), closes [#224](https://code.castopod.org/adaures/castopod/issues/224)
* add premium podcasts to manage subscriptions for premium episodes ([3234500](3234500e2d)), closes [#193](https://code.castopod.org/adaures/castopod/issues/193)
* **gdpr:** add purpose for granting access to premium content ([47d6d81](47d6d81b79))
2022-09-29 14:40:00 +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
Yassine Doghri b2db783c8e docs(install): add email/smtp configuration options
closes #147
2022-09-26 14:55:00 +00:00
semantic-release-bot eabe3f3b97 chore(release): 1.0.0-beta.22 [skip ci]
# [1.0.0-beta.22](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.21...v1.0.0-beta.22) (2022-09-23)

### Bug Fixes

* **fediverse:** set default castopod avatar url when actor avatar is not present ([460f52f](460f52f70e))
* **import:** set default episode type if not set ([d7250ab](d7250ab03f))
* **input-component:** unset required attribute to prevent rendering it when false ([db9ac13](db9ac13860))
* **notifications:** notify actors after activities insert / update using model callback methods ([e08555a](e08555a4e9))
* overwrite getActorById to return app's Actor entity ([f2bc2f7](f2bc2f7e01))
* remove heavy image cover data from audio file metadata ([f74403b](f74403bd7a))
* set storage limit as disk_total_space instead of free space ([7512e2e](7512e2ed1f))
* **ui:** remove empty tooltip when hovering on sponsor button ([40aa661](40aa661289))
* **users:** remove required roles input when editing user + prevent owner's roles from being edited ([1c8af75](1c8af7550b)), closes [#239](https://code.castopod.org/adaures/castopod/issues/239)
* **ux:** have podcast dashboard card link to podcast dashboard if only one podcast in instance ([7dabee5](7dabee58a1))
2022-09-23 16:20:14 +00:00
Yassine Doghri 460f52f70e fix(fediverse): set default castopod avatar url when actor avatar is not present 2022-09-07 10:04:02 +00:00
semantic-release-bot 3bb7572abb chore(release): 1.0.0-beta.21 [skip ci]
# [1.0.0-beta.21](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.20...v1.0.0-beta.21) (2022-09-06)

### Bug Fixes

* **email:** set the correct url in the activation and forgot emails ([10fc6f1](10fc6f17c6)), closes [#204](https://code.castopod.org/adaures/castopod/issues/204)
* **notifications:** add trigger after activities update + update insert trigger ([e5d16e8](e5d16e8711))

### Features

* **i18n:** add support for Simplified Chinese (zh-Hans) and Catalan (ca) locales ([48d1443](48d1443472))
2022-09-06 15:49:52 +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
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
Yassine Doghri 37f086075e chore: update CodeIgniter to 4.2.4 + other dependencies to latest 2022-08-22 15:36:29 +00:00
semantic-release-bot 9222975856 chore(release): 1.0.0-beta.20 [skip ci]
# [1.0.0-beta.20](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.19...v1.0.0-beta.20) (2022-08-12)

### Bug Fixes

* add underline and semibold font weight for prose links to have them stand out ([d4d8671](d4d867121c))
* **router:** check if Accept header is set before getting value ([10a2ae0](10a2ae0248)), closes [#228](https://code.castopod.org/adaures/castopod/issues/228)
* **search-episodes:** add fallback sql query using LIKE for search query with less than 4 characters ([e66bf44](e66bf44341)), closes [#236](https://code.castopod.org/adaures/castopod/issues/236)
* set interact_as_actor for user upon password reset ([ad8f5f5](ad8f5f5a0f)), closes [#178](https://code.castopod.org/adaures/castopod/issues/178)

### Features

* add label to sponsor button on podcast page ([c29c018](c29c018c7a)), closes [#162](https://code.castopod.org/adaures/castopod/issues/162)
* add notifications inbox for actors ([999999e](999999e3ef)), closes [#215](https://code.castopod.org/adaures/castopod/issues/215)
2022-08-12 16:37:29 +00:00
semantic-release-bot fab916ee8a chore(release): 1.0.0-beta.19 [skip ci]
# [1.0.0-beta.19](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2022-07-21)

### Bug Fixes

* **episode-unpublish:** set consistent posts_counts' increments/decrements for actors and episodes ([8acdafd](8acdafd260)), closes [#233](https://code.castopod.org/adaures/castopod/issues/233)
* **get_browser_language:** return defaultLocale if browser doesn't send user preferred language ([9cc2996](9cc2996261))

### Features

* **episode-unpublish:** remove episode comments upon unpublish ([78acd7f](78acd7f5c0))
2022-07-21 17:04:07 +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
semantic-release-bot 455efae00f chore(release): 1.0.0-beta.18 [skip ci]
# [1.0.0-beta.18](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2022-07-07)

### Bug Fixes

* **player-styling:** revert vite to 2.8 to reference the player css ([e07d3af](e07d3afea9))

### Features

* add legalNoticeURL to app config for setting an external url to legal notice ([711843a](711843a0c8))
2022-07-07 17:37:01 +00:00
Yassine Doghri 711843a0c8 feat: add legalNoticeURL to app config for setting an external url to legal notice 2022-07-07 10:08:04 +00:00
semantic-release-bot 98a8a480a7 chore(release): 1.0.0-beta.17 [skip ci]
# [1.0.0-beta.17](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.16...v1.0.0-beta.17) (2022-07-06)

### Bug Fixes

* explicitly cast seconds to int in iso8601_duration helper function ([779653f](779653f75b))
* **housekeeping:** use EpisodeModel's builder to reset comments count ([65e9c0b](65e9c0b05e))
* **rss:** round episode durations and soundbites ([c9fb987](c9fb987fcf)), closes [#214](https://code.castopod.org/adaures/castopod/issues/214)
* **xml-editor:** prettify xml even without root node ([ca55c24](ca55c248d0))

### Features

* add publish feature for podcasts and set draft by default ([3d363f2](3d363f2efe)), closes [#128](https://code.castopod.org/adaures/castopod/issues/128) [#220](https://code.castopod.org/adaures/castopod/issues/220)
* **admin:** add instance wide dashboard with storage and bandwidth usage ([b1a6c02](b1a6c02e56)), closes [#216](https://code.castopod.org/adaures/castopod/issues/216)
* **datetime-picker:** set material_green theme to flatpickr ([3ce6541](3ce6541003))
2022-07-06 15:47:53 +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
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
semantic-release-bot de8b1df948 chore(release): 1.0.0-beta.16 [skip ci]
# [1.0.0-beta.16](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.15...v1.0.0-beta.16) (2022-06-24)

### Bug Fixes

* change image size requirement hints ([ea20206](ea20206ee6))

### Features

* add update rss feed feature for podcasts to import their latest episodes ([5eb9dc1](5eb9dc168e)), closes [#183](https://code.castopod.org/adaures/castopod/issues/183)
* **admin:** add search form in podcast episodes list ([6be5d12](6be5d12877)), closes [#26](https://code.castopod.org/adaures/castopod/issues/26)
* **api:** add rest api with podcasts read endpoints ([e64001d](e64001d006)), closes [#210](https://code.castopod.org/adaures/castopod/issues/210)
2022-06-24 08:06:30 +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 9f4a467ad4 chore: update CI4 to 4.2.1 2022-06-17 08:14:39 +00:00
semantic-release-bot cca973e9c2 chore(release): 1.0.0-beta.15 [skip ci]
# [1.0.0-beta.15](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2022-06-14)

### Bug Fixes

* replace deletedField with published_at for episodes ([14d7d07](14d7d07822))

### Features

* add default icons to Alert component ([0d98001](0d9800123b))
* add permanent delete feature for podcasts 🎉 ([dbb4030](dbb4030da4)), closes [#89](https://code.castopod.org/adaures/castopod/issues/89)
* apply colour theme to embed player ([9548337](9548337a7c)), closes [#201](https://code.castopod.org/adaures/castopod/issues/201)
* **episodes:** replace soft delete with permanent delete ([eb9ff52](eb9ff522c2))
2022-06-14 13:35:04 +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
semantic-release-bot 3240ed4177 chore(release): 1.0.0-beta.14 [skip ci]
# [1.0.0-beta.14](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.13...v1.0.0-beta.14) (2022-04-23)

### Bug Fixes

* **home:** remove hardcoded prefix in getAllPodcasts query ([92d5cc5](92d5cc50a3))
* overwrite common lang function to escape returned string ([4c490c1](4c490c15bb)), closes [#196](https://code.castopod.org/adaures/castopod/issues/196) [#198](https://code.castopod.org/adaures/castopod/issues/198)

### Features

* **i18n:** add Spanish to supported locales ([e340b54](e340b54a84))
2022-04-23 08:32:31 +00:00
Yassine Doghri e340b54a84 feat(i18n): add Spanish to supported locales 2022-04-22 09:51:59 +00:00
semantic-release-bot e787b6b6e7 chore(release): 1.0.0-beta.13 [skip ci]
# [1.0.0-beta.13](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.12...v1.0.0-beta.13) (2022-04-14)

### Bug Fixes

* **rss:** remove escaping for publisher and owner name ([e2046e4](e2046e4b11))
* use UTC_TIMESTAMP() to get current utc date instead of NOW() in sql queries ([853a6ba](853a6ba915))

### Features

* **i18n:** add Norwegian Nynorsk to supported locales ([744340d](744340df61))
2022-04-14 15:31:04 +00:00
Yassine Doghri ced61fc236 feat(i18n): add Norwegian Nynorsk to supported locales 2022-04-14 15:04:09 +00:00
semantic-release-bot 366eaeb09e chore(release): 1.0.0-beta.12 [skip ci]
# [1.0.0-beta.12](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.11...v1.0.0-beta.12) (2022-04-05)

### Bug Fixes

* update form_textarea to prevent escaping value ([78548b5](78548b5cd7))

### Features

* **i18n:** add support for German and Brazilian Portuguese languages ([19da003](19da003fd3))
2022-04-05 16:57:10 +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
semantic-release-bot 73ad94c1d5 chore(release): 1.0.0-beta.11 [skip ci]
# [1.0.0-beta.11](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.10...v1.0.0-beta.11) (2022-04-01)

### Bug Fixes

* change message upon cancellation of episode publication ([9859c74](9859c7434c))
* prefill description footer input when creating a new episode ([9ea5ca3](9ea5ca3169))
* remove value escaping for form inputs and textareas ([bc6dea2](bc6dea2f8a))
* restore default podcast icon on public website ([342778b](342778bac3))
* **socialinteract:** move social interact uri into uri attribute + update social data upon import ([12b2200](12b22008a2))

### Features

* **analytics-gdpr:** update cached personal data to expire at midnight ([0188b67](0188b67354))
* **analytics:** add current date and secret salt to analytics hash for improved privacy ([6f2e7c0](6f2e7c009c))
* **i18n:** add 7 new languages + update german translations ([d021abb](d021abb52f))
* **i18n:** add german language as supported locale + create Language files from english source ([c220b31](c220b310ed))
* **icons:** add podnews icon to podcasting platforms ([5f42355](5f423557c2)), closes [#190](https://code.castopod.org/adaures/castopod/issues/190)
2022-04-01 16:45:29 +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
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
semantic-release-bot 086a79c9de chore(release): 1.0.0-beta.10 [skip ci]
# [1.0.0-beta.10](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.9...v1.0.0-beta.10) (2022-03-15)

### Bug Fixes

* add explicit int conversion when formatting episode duration ([1253096](1253096197))
* add href to castopod website on login page ([cc54257](cc54257351))
* move html escaping on credits page ([fbffdbd](fbffdbde78))
* remove cache from remote follow form to display error messages ([90e4443](90e44437bd))

### Features

* add autofocus to input field "Email or username" on login page ([19caed4](19caed4bce))
* add WebSub module for pushing feed updates to open hubs ([10d3f73](10d3f73786))
* **GDPR:** add GDPR.yml file to public/.well-known/ ([86bccc3](86bccc3d5c))
2022-03-15 17:22:56 +00:00
Yassine Doghri 10d3f73786 feat: add WebSub module for pushing feed updates to open hubs 2022-03-15 16:47:35 +00:00
semantic-release-bot 01041775e0 chore(release): 1.0.0-beta.9 [skip ci]
# [1.0.0-beta.9](https://code.castopod.org/adaures/castopod/compare/v1.0.0-beta.8...v1.0.0-beta.9) (2022-03-04)

### Bug Fixes

* **cache:** delete posts and comments pages cache when updating platform links ([f7c3e5b](f7c3e5bf4a)), closes [#169](https://code.castopod.org/adaures/castopod/issues/169)
* escape characters for `min` in format_duration_symbol ([3b6722a](3b6722a42b))
* **security:** add csrf filter + prevent xss attacks by escaping user input ([cd2e1e1](cd2e1e1dc3))
* update ivoox podcasting icon ([f2b69a4](f2b69a4733))
* **video-clips:** update condition to check if ffmpeg is installed ([b57f0b6](b57f0b6eb6)), closes [#163](https://code.castopod.org/adaures/castopod/issues/163)

### Features

* **i18n:** add Polish translation ([2d83b44](2d83b44add))
* **icons:** add default icons for podcasting, social and funding platforms + remove complex icons ([5bcdfeb](5bcdfebe64)), closes [#166](https://code.castopod.org/adaures/castopod/issues/166) [#167](https://code.castopod.org/adaures/castopod/issues/167) [#170](https://code.castopod.org/adaures/castopod/issues/170)
* make episode description more visible on episode pages ([90533be](90533be029)), closes [#171](https://code.castopod.org/adaures/castopod/issues/171)
* **podcasting 2.0:** update podcast:social tag to adhere to latest spec ([a597cf4](a597cf4ecf))
2022-03-04 18:14:17 +00:00
Patryk Miś 2d83b44add feat(i18n): add Polish translation 2022-03-04 17:52:52 +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
semantic-release-bot 472842fae6 chore(release): 1.0.0-beta.8 [skip ci]
# [1.0.0-beta.8](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2022-02-10)

### Features

* **podcast-form:** add new_feed_url field to set an url when changing domain or host ([e7eec48](e7eec48e7b))
2022-02-10 11:19:13 +00:00
semantic-release-bot 634961bcaa chore(release): 1.0.0-beta.7 [skip ci]
# [1.0.0-beta.7](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2022-02-05)

### Bug Fixes

* **activitypub:** allow cors on get requests for routes exposing acitivitypub objects ([2f24809](2f2480998f))
* **fediverse:** set model instances as non shared to prevent overlapping ([91128fa](91128fad7a))
* **htaccess:** add ? after index.php in RewriteRule ([d9d139e](d9d139eefa)), closes [#152](https://code.podlibre.org/podlibre/castopod-host/issues/152)

### Features

* **home:** sort podcasts by recent activity + add dropdown menu to choose between sorting options ([7b89da6](7b89da6106)), closes [#164](https://code.podlibre.org/podlibre/castopod-host/issues/164)
2022-02-05 17:18:45 +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
semantic-release-bot 412cf14604 chore(release): 1.0.0-beta.6 [skip ci]
# [1.0.0-beta.6](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2022-02-03)

### Bug Fixes

* **activitypub:** add conditions for possibly missing actor properties + add user-agent to requests ([8fbf948](8fbf948fbb))
* **activitypub:** add target actor id to like / announce activities to send directly to note's actor ([962dd30](962dd305f5))
* **activitypub:** add target_actor_id for create activity to broadcast post reply ([0128a21](0128a21ec5))
* **http-signature:** update SIGNATURE_PATTERN allowing signature keys to be sent in any order ([b7f285e](b7f285e4e2))
* **install:** set message block on forms to show error messages ([3a0a20d](3a0a20d59c)), closes [#157](https://code.podlibre.org/podlibre/castopod-host/issues/157)
* **markdown-editor:** remove unnecessary buttons for podcast and episode editors + add extensions ([9c4f60e](9c4f60e00b))
* **podcast-activity:** check if transcript and chapters are set before including them in audio ([5855a25](5855a25093))
* **podcast:** use markdown description value for editor + set prose class to about description ([f304d97](f304d97b14)), closes [#156](https://code.podlibre.org/podlibre/castopod-host/issues/156)
2022-02-03 14:39:13 +00:00
semantic-release-bot 7bc2d42c8e chore(release): 1.0.0-beta.5 [skip ci]
# [1.0.0-beta.5](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2022-01-31)

### Bug Fixes

* **analytics:** set initial value for duration and bandwidth ([ee50539](ee50539591))
2022-01-31 17:23:53 +00:00