Commit Graph

92 Commits

Author SHA1 Message Date
semantic-release-bot ed8dc0052c chore(release): 1.0.0-alpha.65 [skip ci]
# [1.0.0-alpha.65](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.64...v1.0.0-alpha.65) (2021-07-22)

### Bug Fixes

* update conditions when checking for empty max_episodes and season_number ([fbad0b5](fbad0b59f6))
2021-07-22 14:40:17 +00:00
semantic-release-bot 7047d5afb7 chore(release): 1.0.0-alpha.64 [skip ci]
# [1.0.0-alpha.64](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.63...v1.0.0-alpha.64) (2021-07-12)

### Features

* **activitypub:** add Podcast actor and PodcastEpisode object with comments ([9e1e5d2](9e1e5d2e86))
2021-07-12 18:49:14 +00:00
semantic-release-bot b814cfaf7c chore(release): 1.0.0-alpha.63 [skip ci]
# [1.0.0-alpha.63](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.62...v1.0.0-alpha.63) (2021-07-12)

### Features

* build hashed static files to renew browser cache ([37c54d2](37c54d2477)), closes [#107](https://code.podlibre.org/podlibre/castopod-host/issues/107)
2021-07-12 18:01:18 +00:00
semantic-release-bot cdc660e3b0 chore(release): 1.0.0-alpha.62 [skip ci]
# [1.0.0-alpha.62](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.61...v1.0.0-alpha.62) (2021-07-02)

### Bug Fixes

* **episode:** replace guid's empty string value to null ([441052a](441052af8d))
2021-07-02 07:15:10 +00:00
semantic-release-bot 3b5ce93c1b chore(release): 1.0.0-alpha.61 [skip ci]
# [1.0.0-alpha.61](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.60...v1.0.0-alpha.61) (2021-06-23)

### Bug Fixes

* **release:** add missing version number to castopod-host package ([8f3e9d9](8f3e9d90c1))
* **ux:** allow for empty message upon episode publication and warn user on submit ([33d01b8](33d01b8d4f)), closes [#129](https://code.podlibre.org/podlibre/castopod-host/issues/129)
2021-06-23 15:54:31 +00:00
semantic-release-bot ddeabf5665 chore(release): 1.0.0-alpha.60 [skip ci]
# [1.0.0-alpha.60](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.59...v1.0.0-alpha.60) (2021-06-21)

### Features

* **rss:** add ˂podcast:guid˃ tag for channel ([1fab10e](1fab10eb0d))
2021-06-21 12:08:38 +00:00
semantic-release-bot cc0d56a2f5 chore(release): 1.0.0-alpha.59 [skip ci]
# [1.0.0-alpha.59](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.58...v1.0.0-alpha.59) (2021-06-15)

### Bug Fixes

* check that additional files are valid when creating episode ([eac5bc8](eac5bc876d))
2021-06-15 07:15:18 +00:00
semantic-release-bot 7cb4e3a803 chore(release): 1.0.0-alpha.58 [skip ci]
# [1.0.0-alpha.58](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.57...v1.0.0-alpha.58) (2021-06-11)

### Bug Fixes

* cast actor_id to pass as int to set_interact_as_actor() function ([56a8e5d](56a8e5d7dd))
* **analytics:** set duration field to precise decimal as episode's audio file duration ([d772685](d772685405))
* **analytics:** update migrations to set decimal precision for latitude and longitude ([714d6b5](714d6b5d49))
* check for database connection and podcasts table existence before redirecting to install ([eb74e81](eb74e81c3d))
* save transcript and chapters files to podcasts folder ([63f49c7](63f49c719f))
* set cache expiration to next note publish to show note on publication date ([0a66de3](0a66de3e6c))
* set episode description footer to null when empty value ([3a7d97d](3a7d97d660))
* set location to null when getting empty string ([71b1b5f](71b1b5f775))
* update condition in home controller to redirect to install page ([33f1b91](33f1b91d55))
* **activity-pub:** cache issues when navigating to activity stream urls ([7bcbfb3](7bcbfb32f7))
* **activity-pub:** get database records using new model instances ([92536dd](92536ddb38))
* **category:** remove uncategorized option to enforce users in choosing a category ([8c64f25](8c64f25a0e))
* **install:** redirect manually to install wizard on first visit ([2ceaaca](2ceaaca44f))
* **types:** update fake seeders types + fix bugs ([76a4bf3](76a4bf3441))
* update broken contributor dropdown fields ([e5b7515](e5b7515023))
* **ux:** redirect user to install page on database error in home page ([9017e30](9017e30bf4))
* update condition in AnalyticsTrait ([fbc0967](fbc0967caa))

### Performance Improvements

* **cache:** use deleteMatching method to prevent forgetting cached elements in models ([76afc0c](76afc0cfa2))

### Reverts

* set deprecated config options back in App config ([433745f](433745f194))
2021-06-11 16:15:37 +00:00
Yassine Doghri cfd29d84e6
ci: merge husky and captainhook git hooks into .husky configuration
- hooks are installed automatically with npm install command
- add commit-msg, pre-commit and
pre-push hooks
- integrate captainhook commands into the created git hooks
2021-06-11 09:35:09 +00:00
Yassine Doghri 1a024bdec7
ci: fix rector issues for code-review job to pass 2021-06-11 09:35:07 +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 fb3593f828
refactor: remove all empty declarations + add missing type declarations
update composer dependencies
2021-05-18 17:16:36 +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
semantic-release-bot a54a5964c3 chore(release): 1.0.0-alpha.57 [skip ci]
# [1.0.0-alpha.57](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.56...v1.0.0-alpha.57) (2021-05-12)

### Bug Fixes

* **follow:** add missing helpers to Actor controller ([ee53a73](ee53a732dc))
2021-05-12 10:32:49 +00:00
semantic-release-bot fca7bd6808 chore(release): 1.0.0-alpha.56 [skip ci]
# [1.0.0-alpha.56](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.55...v1.0.0-alpha.56) (2021-05-12)

### Bug Fixes

* **rss:** use originalPath instead of originalMediaPath in Image library ([b4012b7](b4012b7d2e))
2021-05-12 09:16:14 +00:00
semantic-release-bot 6c7964fd51 chore(release): 1.0.0-alpha.55 [skip ci]
# [1.0.0-alpha.55](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.54...v1.0.0-alpha.55) (2021-05-03)

### Features

* add remote_url alternative for transcript and chapters files ([3143c9a](3143c9ad36))
2021-05-03 17:44:20 +00:00
semantic-release-bot 1296187613 chore(release): 1.0.0-alpha.54 [skip ci]
# [1.0.0-alpha.54](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.53...v1.0.0-alpha.54) (2021-05-03)

### Features

* set app parameter forceGlobalSecureRequests = true forcing requests to go through https ([d9dff1b](d9dff1b8bf))
* **ux:** remove admin dashboard and redirect directly to podcast list ([27c48b8](27c48b8fa9))
* add cache to ActivityPub sql queries + cache activity and note pages ([2d297f4](2d297f45b3))

### Performance Improvements

* **cache:** update CI4 to use cache's deleteMatching method ([54b84f9](54b84f9684))
* **docker:** add redis caching service for development ([05ace8c](05ace8cff2))
2021-05-03 15:43:53 +00:00
Yassine Doghri fad06e697d
refactor: replace castopod ➡ castopod-host
- rename all occurences of castopod to castopod host
- docs: update contribution guidelines
-
docs: update README to include guidance for help and links to socials
- remove
castopod_namespace.json
2021-05-03 15:32:55 +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
semantic-release-bot d372d6746c chore(release): 1.0.0-alpha.53 [skip ci]
# [1.0.0-alpha.53](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.52...v1.0.0-alpha.53) (2021-04-16)

### Bug Fixes

* check that note has a preview_card_id before displaying it ([acb8b3a](acb8b3a401)), closes [#114](https://code.podlibre.org/podlibre/castopod/issues/114)
2021-04-16 18:09:32 +00:00
semantic-release-bot b81e812506 chore(release): 1.0.0-alpha.52 [skip ci]
# [1.0.0-alpha.52](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.51...v1.0.0-alpha.52) (2021-04-16)

### Bug Fixes

* **avatar:** use default avatar when no avatar url has been set ([9d23c7e](9d23c7e7e1)), closes [#111](https://code.podlibre.org/podlibre/castopod/issues/111)
2021-04-16 17:15:22 +00:00
semantic-release-bot e2b85a1d8f chore(release): 1.0.0-alpha.51 [skip ci]
# [1.0.0-alpha.51](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.50...v1.0.0-alpha.51) (2021-04-15)

### Bug Fixes

* **interact-as:** set actor_id instead of podcast id upon login event ([5dfade7](5dfade7cf3)), closes [#104](https://code.podlibre.org/podlibre/castopod/issues/104)
2021-04-15 09:20:24 +00:00
semantic-release-bot 1c0d6cee44 chore(release): 1.0.0-alpha.50 [skip ci]
# [1.0.0-alpha.50](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.49...v1.0.0-alpha.50) (2021-04-14)

### Bug Fixes

* **persons:** prevent overflow of persons list by adding horizontal scroll ([9e8995d](9e8995dc6e))
2021-04-14 14:54:22 +00:00
semantic-release-bot 388fb42b3e chore(release): 1.0.0-alpha.49 [skip ci]
# [1.0.0-alpha.49](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.48...v1.0.0-alpha.49) (2021-04-12)

### Bug Fixes

* **multiselect:** add missing class names in choices options for purge to work properly ([719538d](719538d0cc))
2021-04-12 09:37:37 +00:00
semantic-release-bot 6303e71973 chore(release): 1.0.0-alpha.48 [skip ci]
# [1.0.0-alpha.48](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.47...v1.0.0-alpha.48) (2021-04-10)

### Bug Fixes

* **import-with-escaped-characters:** remove \CodeIgniter\HTTP\URI in download_file, closes [#103](https://code.podlibre.org/podlibre/castopod/issues/103) ([35b5be0](35b5be095f))
2021-04-10 14:42:23 +00:00
semantic-release-bot 15180d2265 chore(release): 1.0.0-alpha.47 [skip ci]
# [1.0.0-alpha.47](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.46...v1.0.0-alpha.47) (2021-04-10)

### Bug Fixes

* **episodeCount:** add missing brackets to French language file ([c1b4112](c1b411265a))
2021-04-10 14:14:47 +00:00
semantic-release-bot 6fc06bc8f8 chore(release): 1.0.0-alpha.46 [skip ci]
# [1.0.0-alpha.46](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.45...v1.0.0-alpha.46) (2021-04-09)

### Bug Fixes

* **episodes-page:** handle defaultQuery being null when no podcast episodes ([15183b7](15183b7eab)), closes [#100](https://code.podlibre.org/podlibre/castopod/issues/100)
2021-04-09 13:31:01 +00:00
semantic-release-bot 14d3d1d727 chore(release): 1.0.0-alpha.45 [skip ci]
# [1.0.0-alpha.45](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.44...v1.0.0-alpha.45) (2021-04-08)

### Bug Fixes

* add head request to analytics_hit route ([f0a2f0b](f0a2f0bea4))
2021-04-08 14:03:52 +00:00
semantic-release-bot b5eb4c68a5 chore(release): 1.0.0-alpha.44 [skip ci]
# [1.0.0-alpha.44](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.43...v1.0.0-alpha.44) (2021-04-08)

### Bug Fixes

* **rss:** set ❬itunes:author❭ tag to owner_name if publisher not specified ([2271c14](2271c1445b)), closes [#96](https://code.podlibre.org/podlibre/castopod/issues/96)
2021-04-08 11:20:49 +00:00
semantic-release-bot 0cd6b80847 chore(release): 1.0.0-alpha.43 [skip ci]
# [1.0.0-alpha.43](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.42...v1.0.0-alpha.43) (2021-04-08)

### Bug Fixes

* **episode-form:** show warning to set `memory_limit`, `upload_max_filesize` & `post_max_size` ([3b3c218](3b3c218b9c)), closes [#5](https://code.podlibre.org/podlibre/castopod/issues/5) [#86](https://code.podlibre.org/podlibre/castopod/issues/86)
2021-04-08 10:50:31 +00:00
semantic-release-bot c37a4af2d8 chore(release): 1.0.0-alpha.42 [skip ci]
# [1.0.0-alpha.42](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.41...v1.0.0-alpha.42) (2021-04-02)

### Features

* **fediverse:** implement activitypub protocols + update user interface ([2f525c0](2f525c0f6e)), closes [#69](https://code.podlibre.org/podlibre/castopod/issues/69) [#65](https://code.podlibre.org/podlibre/castopod/issues/65) [#85](https://code.podlibre.org/podlibre/castopod/issues/85) [#51](https://code.podlibre.org/podlibre/castopod/issues/51) [#91](https://code.podlibre.org/podlibre/castopod/issues/91) [#92](https://code.podlibre.org/podlibre/castopod/issues/92) [#88](https://code.podlibre.org/podlibre/castopod/issues/88)
2021-04-02 17:24:40 +00:00
Yassine Doghri 2f525c0f6e feat(fediverse): implement activitypub protocols + update user interface
- add "ActivityPub" library to handle server to server federation and basic
  client to server protocols using activitypub:
  - add webfinger endpoint to look for actor
  - add actor definition with inbox / outbox / followers
  - remote follow an actor
  - create notes with possible preview cards
  - interract with favourites, reblogs and replies
  - block incoming actors and/or domains
  - broadcast/schedule activities to fediverse followers using a cron task
- For castopod, the podcast is the actor:
  - overwrite the activitypub library for castopod's specific needs
  - perform basic interactions administrating a podcast to interact with fediverse users:
    - create notes with episode attachment
    - favourite and share a note + reply
    - add specific castopod_namespaces for podcasts and episodes definitions
- overwrite CodeIgniter's Route service to include alternate-content option for
  activitystream requests
- update episode publication logic:
  - remove publication inputs in create / edit episode form
  - publish / schedule or unpublish an episode after creation
  - the podcaster publishes a note when publishing an episode
- Javascript / Typescript modules:
  - fix Dropdown.ts to keep dropdown menu in foreground
  - add Modal.ts for funding links modal
  - add Toggler.ts to toggle various css states in ui
- User Interface:
  - update tailwindcss to v2
  - use castopod's pine and rose colors
  - update public layout to a 3 column layout
  - add pages in public for podcast activity, episode list and notes
  - update episode page to include linked notes
  - remove previous and next episodes from episode pages
  - show different public views depending on whether user is authenticated or not
  - use Kumbh Sans and Montserrat fonts
- update CodeIgniter's config files
- with CodeIgniter's new requirements, update docker environments are now based on
  php v7.3 image
- move Image entity to Libraries
- update composer and npm packages to latest versions

closes #69 #65 #85, fixes #51 #91 #92 #88
2021-04-02 17:20:02 +00:00
semantic-release-bot dd3ac9b4ab chore(release): 1.0.0-alpha.41 [skip ci]
# [1.0.0-alpha.41](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.40...v1.0.0-alpha.41) (2021-03-30)

### Features

* **partner:** add link and image in episode description ([ad07bb9](ad07bb9330))
2021-03-30 16:25:05 +00:00
semantic-release-bot 62bae1eb70 chore(release): 1.0.0-alpha.40 [skip ci]
# [1.0.0-alpha.40](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2021-03-19)

### Features

* **custom-rss:** add custom xml tag injection in rss feed for ❬channel❭ and ❬item❭ ([6ecdaad](6ecdaad911))
2021-03-19 16:17:09 +00:00
semantic-release-bot ea5383643c chore(release): 1.0.0-alpha.39 [skip ci]
# [1.0.0-alpha.39](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2021-03-01)

### Bug Fixes

* **embeddable-player:** enable any ancestor when X-Frame-Options is set on server ([44a4962](44a4962e0b))
2021-03-01 15:08:05 +00:00
semantic-release-bot 4e5b11ba5f chore(release): 1.0.0-alpha.38 [skip ci]
# [1.0.0-alpha.38](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2021-02-27)

### Features

* **embeddable-player:**  add embeddable player widget ([141788f](141788fa08))
2021-02-27 21:25:23 +00:00
semantic-release-bot 526809ef28 chore(release): 1.0.0-alpha.37 [skip ci]
# [1.0.0-alpha.37](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2021-02-17)

### Bug Fixes

* **import:** remove query string from files url ([109c4aa](109c4aa1af))
2021-02-17 10:55:08 +00:00
semantic-release-bot 6a7d7c3021 chore(release): 1.0.0-alpha.36 [skip ci]
# [1.0.0-alpha.36](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2021-02-16)

### Features

* **platforms:** add pod.link ([3d7a232](3d7a2320dd))
2021-02-16 13:34:15 +00:00
semantic-release-bot 3ad98c6a6a chore(release): 1.0.0-alpha.35 [skip ci]
# [1.0.0-alpha.35](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2021-02-12)

### Bug Fixes

* **admin:** save block and lock switches ([b66c0af](b66c0afc8f))
2021-02-12 09:53:36 +00:00
semantic-release-bot b3a34983fb chore(release): 1.0.0-alpha.34 [skip ci]
# [1.0.0-alpha.34](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2021-02-11)

### Bug Fixes

* **rss-import:** add Castopod user-agent, handle redirects for downloaded files, add Content namespace ([214243b](214243b3fe))
2021-02-11 17:45:16 +00:00
semantic-release-bot 3eecb82de8 chore(release): 1.0.0-alpha.33 [skip ci]
# [1.0.0-alpha.33](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2021-02-10)

### Features

* **platforms:** add helloasso ([16cb993](16cb993ee6))
2021-02-10 17:13:50 +00:00
semantic-release-bot 64d9100f7c chore(release): 1.0.0-alpha.32 [skip ci]
# [1.0.0-alpha.32](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2021-02-10)

### Features

* **person:** add podcastindex.org namespace person tag ([8acd011](8acd011f13))
2021-02-10 16:24:03 +00:00
Benjamin Bellamy 8acd011f13 feat(person): add podcastindex.org namespace person tag 2021-02-10 16:20:01 +00:00
semantic-release-bot 17e1e94a50 chore(release): 1.0.0-alpha.31 [skip ci]
# [1.0.0-alpha.31](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2020-12-23)

### Features

* **rss:** add podcast:location tag ([c0a2282](c0a22829bd))
2020-12-23 14:15:38 +00:00
semantic-release-bot ba088649d2 chore(release): 1.0.0-alpha.30 [skip ci]
# [1.0.0-alpha.30](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2020-12-21)

### Features

* **rss:** update monetization tag so that it meets PodcastIndex requirements ([4c7ecbe](4c7ecbee83))
2020-12-21 16:12:26 +00:00
semantic-release-bot 81c1c038c4 chore(release): 1.0.0-alpha.29 [skip ci]
# [1.0.0-alpha.29](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2020-12-10)

### Bug Fixes

* **episodes:** add publication status + set publication date to null when none has been set ([d882981](d882981b3a)), closes [#70](https://code.podlibre.org/podlibre/castopod/issues/70)

### Reverts

* **soundbites:** remove soundbite table from episode's public page ([5dc0f19](5dc0f19656))
2020-12-10 10:47:59 +00:00
semantic-release-bot 6d6747afa3 chore(release): 1.0.0-alpha.28 [skip ci]
# [1.0.0-alpha.28](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2020-12-07)

### Features

* **rss:** add soundbites according to the podcastindex specs ([6b34617](6b34617d07)), closes [#83](https://code.podlibre.org/podlibre/castopod/issues/83)
2020-12-07 20:17:41 +00:00
semantic-release-bot 0571a075da chore(release): 1.0.0-alpha.27 [skip ci]
# [1.0.0-alpha.27](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2020-12-07)

### Features

* **platforms:** add AntennaPod ([53e9cfd](53e9cfd61c))
2020-12-07 20:00:29 +00:00