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
semantic-release-bot
06279cd90f
chore(release): 1.0.0-beta.4 [skip ci]
...
# [1.0.0-beta.4](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.3...v1.0.0-beta.4 ) (2022-01-29)
### Bug Fixes
* **housekeeping:** replace the use of GLOB_BRACE with looping over file extensions ([42d92d0 ](42d92d0c8d )), closes [#154 ](https://code.podlibre.org/podlibre/castopod-host/issues/154 )
* **housekeeping:** set default sizes value + ignore illegal IFD size error to proceed with script ([f21ca57 ](f21ca57603 ))
### Features
* **housekeeping:** add clear_cache option to flush redis or files cache ([99bfac0 ](99bfac0b42 ))
2022-01-29 17:03:15 +00:00
semantic-release-bot
3bfcce3751
chore(release): 1.0.0-beta.3 [skip ci]
...
# [1.0.0-beta.3](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.2...v1.0.0-beta.3 ) (2022-01-28)
### Bug Fixes
* revert to beta.1's codeigniter4 version ([e831411 ](e831411270 ))
2022-01-28 18:13:40 +00:00
semantic-release-bot
f80e820b1d
chore(release): 1.0.0-beta.2 [skip ci]
...
# [1.0.0-beta.2](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.1...v1.0.0-beta.2 ) (2022-01-28)
### Bug Fixes
* **migrations:** ignore invalid utf8 chars for media files metadata + update transcript parser ([45e8f99 ](45e8f99e75 ))
* **video-clips:** set audio codec to aac, fixing audio issue on twitter ([3c22c68 ](3c22c68ee8 ))
* **video-clips:** set longer podcast and episode lengths for squared format ([c030113 ](c0301134c2 ))
2022-01-28 15:26:24 +00:00
semantic-release-bot
d807ab9732
chore(release): 1.0.0-beta.1 [skip ci]
...
# 1.0.0-beta.1 (2022-01-23)
### Bug Fixes
* **a11y:** replace active tab color to contrast with background on podcast and episode pages ([f3785e1 ](f3785e1401 ))
* **activity-pub:** cache issues when navigating to activity stream urls ([7bcbfb3 ](7bcbfb32f7 ))
* **activity-pub:** get database records using new model instances ([92536dd ](92536ddb38 ))
* **activitypub:** set created_by to null for reblog if no user + update episode oembed data ([209dfbd ](209dfbd134 ))
* add admin-audio-player to vite config to have admin player show up ([93cb9b2 ](93cb9b2470 ))
* add application/octet-stream mimetype to mp3 and m4a extensions to prevent ext_in error ([339bef8 ](339bef878e )), closes [#145 ](https://code.podlibre.org/podlibre/castopod-host/issues/145 )
* add category_label component to include parent category in about podcast page ([74e7d68 ](74e7d68ac8 ))
* add head request to analytics_hit route ([f0a2f0b ](f0a2f0bea4 ))
* add missing explicit badge for podcasts and episodes ([cdf9f9d ](cdf9f9d53f ))
* add open graph size for podcast images to replace the inadequate large format ([33aae1f ](33aae1f793 ))
* add public/media folder to castopod bundle ([8053d35 ](8053d3521b )), closes [#52 ](https://code.podlibre.org/podlibre/castopod-host/issues/52 )
* add translation key for audio-clipper trim labels ([db191ac ](db191ac31b ))
* add where condition to get episode count without deleted episodes ([7661734 ](7661734ed2 )), closes [#67 ](https://code.podlibre.org/podlibre/castopod-host/issues/67 )
* **admin:** save block and lock switches ([b66c0af ](b66c0afc8f ))
* **analytics:** redirect to mp3 file even when referer was not set ([9fc388d ](9fc388d154 ))
* **analytics:** remove charts empty values + remove useless language cache ([1678794 ](1678794153 ))
* **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 ))
* **analytics:** update service management so that it works with new OPAWG slug values ([7fe9d42 ](7fe9d42500 ))
* **audio-clipper:** add mouse position offset when stretching clip to prevent content from jumping ([602654b ](602654b99b ))
* **audio-clipper:** show audio playing progress + put waveform behind audio clipper ([01a09dc ](01a09dc447 ))
* **avatar:** use default avatar when no avatar url has been set ([9d23c7e ](9d23c7e7e1 )), closes [#111 ](https://code.podlibre.org/podlibre/castopod-host/issues/111 )
* **bundle:** include modules and themes when copying files with rsync ([cd5bb88 ](cd5bb8835c ))
* **bundle:** update vite input files path + add `set -e` in bash scripts to fail if command fails ([0ee53c7 ](0ee53c71ff ))
* **cache:** add locale for podcast and episode pages + clear some persisting cache in models ([9cec8a8 ](9cec8a81cc )), closes [#42 ](https://code.podlibre.org/podlibre/castopod-host/issues/42 ) [#61 ](https://code.podlibre.org/podlibre/castopod-host/issues/61 )
* **cache:** return a non cached view when connected ([e2e7358 ](e2e735815d ))
* **cache:** suffix cache names with authenticated for credits, map and pages ([418a70b ](418a70b2a6 ))
* cast actor_id to pass as int to set_interact_as_actor() function ([56a8e5d ](56a8e5d7dd ))
* **category:** remove uncategorized option to enforce users in choosing a category ([8c64f25 ](8c64f25a0e ))
* check for database connection and podcasts table existence before redirecting to install ([eb74e81 ](eb74e81c3d ))
* check that additional files are valid when creating episode ([eac5bc8 ](eac5bc876d ))
* check that note has a preview_card_id before displaying it ([acb8b3a ](acb8b3a401 )), closes [#114 ](https://code.podlibre.org/podlibre/castopod-host/issues/114 )
* clear cache when deleting podcast banner ([99bb40b ](99bb40b8bc ))
* comment all cache clean after page update to prevent analytics cache deletion ([e6197a4 ](e6197a4972 ))
* **comments:** add comment view partials for public pages ([fcecbe1 ](fcecbe1c68 ))
* correct chart data ([4d3e9c8 ](4d3e9c8c02 ))
* correct percona compatibility issue ([e53f819 ](e53f819264 ))
* correct php-fpm issues ([1ef55d7 ](1ef55d7315 ))
* correct referrer bug ([ed69b2f ](ed69b2f500 ))
* correction for servers with low int precision ([31b7828 ](31b7828e77 ))
* **cors:** add preflight option routes for episode, podcast and status objects ([a281abf ](a281abfda4 ))
* declare typed properties in PHPDoc for php<7.4 ([14dd44d ](14dd44d03d )), closes [#23 ](https://code.podlibre.org/podlibre/castopod-host/issues/23 )
* define podcast_id and platform_slug as foreign keys in podcasts_plaforms table ([6e9451a ](6e9451a110 ))
* define podcastNamespaceLink value ([0d744d2 ](0d744d212d ))
* **embeddable-player:** enable any ancestor when X-Frame-Options is set on server ([44a4962 ](44a4962e0b ))
* **embed:** open embedded player's links in new tab ([4aa73d7 ](4aa73d71e3 ))
* **episode-form:** show warning to set `memory_limit`, `upload_max_filesize` & `post_max_size` ([3b3c218 ](3b3c218b9c )), closes [#5 ](https://code.podlibre.org/podlibre/castopod-host/issues/5 ) [#86 ](https://code.podlibre.org/podlibre/castopod-host/issues/86 )
* **episodeCount:** add missing brackets to French language file ([c1b4112 ](c1b411265a ))
* **episode:** replace guid's empty string value to null ([441052a ](441052af8d ))
* **episodes-page:** handle defaultQuery being null when no podcast episodes ([15183b7 ](15183b7eab )), closes [#100 ](https://code.podlibre.org/podlibre/castopod-host/issues/100 )
* **episodes-table:** set descriptions to be not null ([6774ec1 ](6774ec10fa ))
* **episodes:** add publication status + set publication date to null when none has been set ([d882981 ](d882981b3a )), closes [#70 ](https://code.podlibre.org/podlibre/castopod-host/issues/70 )
* escape generated feed tag values and remove new lines from public pages meta description ([6238a43 ](6238a43863 )), closes [#57 ](https://code.podlibre.org/podlibre/castopod-host/issues/57 ) [#46 ](https://code.podlibre.org/podlibre/castopod-host/issues/46 )
* expire default query cache upon scheduled episode publication ([b72e7c8 ](b72e7c8691 )), closes [#81 ](https://code.podlibre.org/podlibre/castopod-host/issues/81 )
* fix layout bugs in admin and update translation files ([a834171 ](a83417180c )), closes [#40 ](https://code.podlibre.org/podlibre/castopod-host/issues/40 )
* **follow:** add missing helpers to Actor controller ([ee53a73 ](ee53a732dc ))
* handle HEAD requests on podcast_feed route ([74b2640 ](74b2640f2a )), closes [#79 ](https://code.podlibre.org/podlibre/castopod-host/issues/79 )
* **images:** set default mimetype if none is specified when getting size info ([6e4acc6 ](6e4acc64ad ))
* **import-with-escaped-characters:** remove \CodeIgniter\HTTP\URI in download_file, closes [#103 ](https://code.podlibre.org/podlibre/castopod-host/issues/103 ) ([35b5be0 ](35b5be095f ))
* **import:** add extension when downloading file without + truncate slug if too long ([c5f18bb ](c5f18bb6dc ))
* **import:** add validation for handle field to prevent Router.invalidParameterType error ([5bf7200 ](5bf7200fb3 )), closes [#119 ](https://code.podlibre.org/podlibre/castopod-host/issues/119 )
* **import:** cast description's SimpleXMLElement to string ([02d17be ](02d17be4ff ))
* **import:** remove query string from files url ([109c4aa ](109c4aa1af ))
* **import:** save media files during podcast import + set missing media fields ([a9989d8 ](a9989d841a ))
* **import:** set episode and season numbers to null when not present in item tag ([3211398 ](3211398c78 ))
* **import:** use <image><url> tag when no <itunes:image> is present ([20e607a ](20e607afb7 ))
* include missing variables on public ui's episode page and remote_actions ([193b373 ](193b373bc9 ))
* **install:** redirect manually to install wizard on first visit ([2ceaaca ](2ceaaca44f ))
* **install:** redirect to host_url install route on instanceConfig validation error ([99250b1 ](99250b1868 ))
* **install:** redirect to input baseUrl after instance config ([2426af7 ](2426af7de8 )), closes [#53 ](https://code.podlibre.org/podlibre/castopod-host/issues/53 )
* **interact-as:** set actor_id instead of podcast id upon login event ([5dfade7 ](5dfade7cf3 )), closes [#104 ](https://code.podlibre.org/podlibre/castopod-host/issues/104 )
* **json-ld:** add missing properties to PodcastSeries object ([e97266c ](e97266c5d4 ))
* keep subtitle line breaks when parsing srt file to json ([cfb3da6 ](cfb3da6592 ))
* **layouts:** replace holy-grail layout with tailwind config + widen public podcast layout ([be5a287 ](be5a28787f ))
* **map:** update episode markers query to discard unpublished episodes ([b3caac4 ](b3caac45b1 ))
* **md-editor:** build new markdown editor with lit + github/markdown-toolbar-element ([9ec1cb9 ](9ec1cb93da )), closes [#93 ](https://code.podlibre.org/podlibre/castopod-host/issues/93 ) [#94 ](https://code.podlibre.org/podlibre/castopod-host/issues/94 ) [#120 ](https://code.podlibre.org/podlibre/castopod-host/issues/120 )
* minor corrections ([13be386 ](13be386842 ))
* move analytics to helper ([d311917 ](d31191732e ))
* **multiselect:** add missing class names in choices options for purge to work properly ([719538d ](719538d0cc ))
* **open-graph:** replace non existant episode description to podcast description in podcast page ([b02584e ](b02584ee60 ))
* **package.json:** update destination of postcss generation scripts ([21413f8 ](21413f8af3 ))
* **pages:** add locale to page cache ([8f999ce ](8f999ce2f7 ))
* **partner:** set correct image URL ([61554be ](61554be12a ))
* pass timezone to relative time component to show the localized time in the UI ([b9db936 ](b9db936461 ))
* **persons:** prevent overflow of persons list by adding horizontal scroll ([9e8995d ](9e8995dc6e ))
* **persons:** set person picture as optional for better ux ([7fdea63 ](7fdea63de7 )), closes [#125 ](https://code.podlibre.org/podlibre/castopod-host/issues/125 )
* **platforms:** display platform link only when visible is toggled on ([6e503c8 ](6e503c8d61 )), closes [#39 ](https://code.podlibre.org/podlibre/castopod-host/issues/39 )
* **podcast-import:** move guid attribute declaration for Episode entity to include slug data ([5d02ae3 ](5d02ae3990 ))
* **pwa:** add scope to webmanifests to allow installing an app per podcast ([74c683e ](74c683eb44 ))
* **pwa:** set app display as standalone in the webmanifests ([7aa37d2 ](7aa37d24ac ))
* re-order graph values ([35f633b ](35f633b4c7 ))
* redirect to non cached views when authenticated in public views ([482b47b ](482b47ba6b ))
* **release:** add missing version number to castopod-host package ([8f3e9d9 ](8f3e9d90c1 ))
* remove defer from js script declaration as it is a module ([18ae557 ](18ae557e97 ))
* remove fixed size from podcast sidebar + rearrange account info + space out import radio inputs ([776eec6 ](776eec6f0d ))
* remove required for other_categories field and add podcast_id to latest podcasts query ([5417be0 ](5417be0049 ))
* remove required property to persons picture ([c546be3 ](c546be385b )), closes [#125 ](https://code.podlibre.org/podlibre/castopod-host/issues/125 )
* rename field status to task_status to get scheduled activities ([4ff82a5 ](4ff82a5f0a ))
* rename issue_templates labels ([9f00305 ](9f00305844 ))
* rename MyAccount controller file ([e109df3 ](e109df3004 )), closes [#60 ](https://code.podlibre.org/podlibre/castopod-host/issues/60 )
* rename podcast name to podcast handle to clarify field usage ([9dd4c77 ](9dd4c7741e )), closes [#126 ](https://code.podlibre.org/podlibre/castopod-host/issues/126 )
* reorder fields as composite primary keys for analytics tables ([9660aa9 ](9660aa97c8 ))
* replace getWebEnclosureUrl with getEnclosureWebUrl ([8122cea ](8122ceaf8a ))
* replace hardcoded style links with vite service + set default value for remote transcript url ([3f2e056 ](3f2e05608e )), closes [#149 ](https://code.podlibre.org/podlibre/castopod-host/issues/149 ) [#150 ](https://code.podlibre.org/podlibre/castopod-host/issues/150 )
* replace website key for webpages in breadcrumb translate file ([50e32ff ](50e32ff756 ))
* rewrite regenerate image function to use saveSizes method from Image entity ([3889912 ](38899124ec ))
* **rss-import:** add Castopod user-agent, handle redirects for downloaded files, add Content namespace ([214243b ](214243b3fe ))
* **rss:** cast number type values to string in rss_helper ([7180ae9 ](7180ae9ec7 )), closes [#148 ](https://code.podlibre.org/podlibre/castopod-host/issues/148 )
* **rss:** do not escape podcast and episode titles in the xml ([0dd3b7e ](0dd3b7e0bf )), closes [#138 ](https://code.podlibre.org/podlibre/castopod-host/issues/138 ) [#71 ](https://code.podlibre.org/podlibre/castopod-host/issues/71 )
* **rss:** set ❬itunes:author❭ tag to owner_name if publisher not specified ([2271c14 ](2271c1445b )), closes [#96 ](https://code.podlibre.org/podlibre/castopod-host/issues/96 )
* **rss:** use originalPath instead of originalMediaPath in Image library ([b4012b7 ](b4012b7d2e ))
* 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 episode duration translation to hardcoded english ([c39efc9 ](c39efc9489 )), closes [#64 ](https://code.podlibre.org/podlibre/castopod-host/issues/64 )
* set episode guid upon episode creation ([ad8b153 ](ad8b153f2a )), closes [#48 ](https://code.podlibre.org/podlibre/castopod-host/issues/48 )
* set episode numbers during import + remove all custom form_helpers + minor ui issues ([99a3b8d ](99a3b8d33e ))
* set localized slug_field key as string in french language ([17fb29b ](17fb29b209 ))
* set location to null when getting empty string ([71b1b5f ](71b1b5f775 ))
* **settings:** add .jpg extension to site-icon file input to display all jpeg images ([f611a16 ](f611a16cd0 ))
* sort episodic podcasts by season ([d7b6794 ](d7b6794f68 ))
* **themes:** update themes stylesheet route and remove css extension ([e4e7e00 ](e4e7e0005e ))
* **types:** update fake seeders types + fix bugs ([76a4bf3 ](76a4bf3441 ))
* unpublish episode before deleting it + add validation step before deletion ([f75bd76 ](f75bd76458 )), closes [#112 ](https://code.podlibre.org/podlibre/castopod-host/issues/112 ) [#55 ](https://code.podlibre.org/podlibre/castopod-host/issues/55 )
* update .htaccess for shared hosting config ([2379826 ](2379826352 ))
* update broken contributor dropdown fields ([e5b7515 ](e5b7515023 ))
* update condition in AnalyticsTrait ([fbc0967 ](fbc0967caa ))
* update condition in home controller to redirect to install page ([33f1b91 ](33f1b91d55 ))
* update conditions when checking for empty max_episodes and season_number ([fbad0b5 ](fbad0b59f6 ))
* update iso-369 language table seeder ([0c90db4 ](0c90db44c4 ))
* update MarkdownEditor component + restyle Button and other components ([b05d177 ](b05d177f1b ))
* update purgecss content path for php helper files ([eb70bb4 ](eb70bb4f70 )), closes [#59 ](https://code.podlibre.org/podlibre/castopod-host/issues/59 )
* update translations for settings' tasks to include what they should be used for ([06b1a8b ](06b1a8b29b ))
* use slash instead of backslash to call layout ([a80adb2 ](a80adb2295 ))
* **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 )
* **ux:** redirect user to install page on database error in home page ([9017e30 ](9017e30bf4 ))
* **video-clips:** check if created video exists before recreating it and failing ([dff1208 ](dff1208725 ))
* **video-clips:** clear video clip cache after process has finished ([3ae6232 ](3ae6232585 ))
* **video-clips:** create unique temporary files for resources to be deleted after generation ([7f7c878 ](7f7c878cb6 ))
* **video-clips:** tweak portrait parameters to have subtitles display without overflowing ([2385b1a ](2385b1a292 ))
* **xml-editor:** escape xml editor's content + restyle form sections to prevent overflowing ([588590b ](588590bd2c ))
### Features
* **activitypub:** add Podcast actor and PodcastEpisode object with comments ([9e1e5d2 ](9e1e5d2e86 ))
* add alternate rss feed link tag to podcast page head ([a973c09 ](a973c097d5 )), closes [#35 ](https://code.podlibre.org/podlibre/castopod-host/issues/35 )
* add analytics and unknown useragents ([ec92e65 ](ec92e65aa4 ))
* add audio-clipper toolbar + add video-clip-previewer ([0255753 ](02557539e6 ))
* add audio-clipper webcomponent (wip) ([21d4251 ](21d4251b9b ))
* add basic stats on podcast about page ([1670558 ](1670558473 ))
* add breadcrumb in admin area ([7fb1de2 ](7fb1de2cf3 )), closes [#17 ](https://code.podlibre.org/podlibre/castopod-host/issues/17 )
* add cache to ActivityPub sql queries + cache activity and note pages ([2d297f4 ](2d297f45b3 ))
* add CDN url ([972bcbf ](972bcbf65e )), closes [#37 ](https://code.podlibre.org/podlibre/castopod-host/issues/37 )
* add codemirror to display xml editor for custom rss field ([f15f262 ](f15f26240c ))
* add cumulative listening time charts ([588b4d2 ](588b4d28da ))
* add DropdownMenu component + remove global audio player in admin ([abb7fba ](abb7fbac27 ))
* add episode_numbering() component helper to display episode and season numbers ([3f4a6bd ](3f4a6bd0b9 ))
* add french translation ([196920d ](196920d62f ))
* add heading component + update ecs rules to fix views ([23bdc6f ](23bdc6f8e3 ))
* add housekeeping task to run after migrations ([89dee41 ](89dee41d58 ))
* add install wizard form to bootstrap database and create the first superadmin user ([cba871c ](cba871c5df )), closes [#2 ](https://code.podlibre.org/podlibre/castopod-host/issues/2 )
* add ISO 3166 country codes ([97cd94b ](97cd94b474 ))
* add js audio player on podcast, admin and embeddable player pages + fix admon episodes ux ([0e14eb4 ](0e14eb4d3f )), closes [#131 ](https://code.podlibre.org/podlibre/castopod-host/issues/131 )
* add lock podcast according to the Podcastindex podcast-namespace to prevent unauthozized import ([72b3012 ](72b301272e ))
* add map analytics, add episodes analytics, clean analytics page layout, translate countries ([07eae83 ](07eae83a00 ))
* add media entity and link documents, images and audio files to it ([6ecf286 ](6ecf2866cf ))
* add Noto Sans Mono font to use for durations + button to access new video clip form in list ([7609bb6 ](7609bb6033 ))
* add npm for js dependencies + move src/ files to root folder ([cbb83a6 ](cbb83a6f30 ))
* add Open Graph and Twitter meta tags ([af970b8 ](af970b8bac )), closes [#41 ](https://code.podlibre.org/podlibre/castopod-host/issues/41 )
* add pages table to store custom instance pages (eg. legal-notice, cookie policy, etc.) ([9c224a8 ](9c224a8ac6 )), closes [#24 ](https://code.podlibre.org/podlibre/castopod-host/issues/24 )
* add platform models ([a333d29 ](a333d29196 ))
* add platforms form in podcast settings ([043f49c ](043f49c784 ))
* add platforms tables ([ce59344 ](ce5934419a ))
* add podcast banner field for each podcast + refactor images configuration ([4a8147b ](4a8147bfbb ))
* add remote_url alternative for transcript and chapters files ([3143c9a ](3143c9ad36 ))
* add replied to post or comment to reply element ([d0f9c60 ](d0f9c6018f ))
* add schema.org json-ld objects to podcasts, episodes, posts and comments pages ([902f959 ](902f959b30 ))
* add task to housekeeping setting for resetting all instance counts ([9303e51 ](9303e51bc5 ))
* add unique listeners analytics ([3a49258 ](3a4925816f ))
* add user permissions and basic groups to handle authorizations ([d58e518 ](d58e51874a )), closes [#3 ](https://code.podlibre.org/podlibre/castopod-host/issues/3 ) [#18 ](https://code.podlibre.org/podlibre/castopod-host/issues/18 )
* **admin:** make header stick on scroll and show title + action buttons using css only ([d60498c ](d60498c1be ))
* **admin:** update admin layout for better ux + update brand pine colors ([d86142e ](d86142ebe7 ))
* allow cross origin requests on episode comments ([e12f95a ](e12f95aca1 ))
* **analytics:** add 'other' group to pie charts in order to display more accurate data ([73acef9 ](73acef933f ))
* **analytics:** add charts and data export ([78625c4 ](78625c471b ))
* **analytics:** add service name from rss user-agent ([7202b98 ](7202b9867b ))
* **analytics:** add weekday and hour bar charts ([8ab3132 ](8ab313296b ))
* build hashed static files to renew browser cache ([37c54d2 ](37c54d2477 )), closes [#107 ](https://code.podlibre.org/podlibre/castopod-host/issues/107 )
* **cache:** add podcast and episode pages to cache + clear them after insert or update ([da0f047 ](da0f047281 ))
* **categories:** create model, entity, migrations and seeds ([f73b042 ](f73b042cc0 ))
* **clips:** setup clip entities and model + save video clip to have it generated in the background ([2f6fdf9 ](2f6fdf9091 ))
* **comments:** add comments to episodes + update naming of status to post ([bb4752c ](bb4752c35e ))
* **comments:** add like / undo like to comment + add comment page ([0c187ef ](0c187ef7a9 ))
* **components:** add custom view renderer with ComponentRenderer adapted from bonfire2 ([a95de8b ](a95de8bab0 ))
* create optimized & resized images upon upload ([02e4441 ](02e4441f98 )), closes [#6 ](https://code.podlibre.org/podlibre/castopod-host/issues/6 )
* **custom-rss:** add custom xml tag injection in rss feed for ❬channel❭ and ❬item❭ ([6ecdaad ](6ecdaad911 ))
* **devcontainer:** add devcontainer settings for dev environment ([69e7266 ](69e7266736 ))
* display castopod version in admin footer ([9f2574e ](9f2574e6fb )), closes [#68 ](https://code.podlibre.org/podlibre/castopod-host/issues/68 )
* display legal disclaimer and warning on podcast import page ([2f07992 ](2f07992e55 )), closes [#34 ](https://code.podlibre.org/podlibre/castopod-host/issues/34 )
* edit + delete podcast and episode ([ac5f0c7 ](ac5f0c7328 ))
* **embeddable-player:** add embeddable player widget ([141788f ](141788fa08 ))
* enhance admin ui with responsive design and ux improvements ([2d44b45 ](2d44b457a0 )), closes [#31 ](https://code.podlibre.org/podlibre/castopod-host/issues/31 ) [#9 ](https://code.podlibre.org/podlibre/castopod-host/issues/9 )
* enhance ui using javascript in admin area ([c0e66d5 ](c0e66d5f70 ))
* **episodes:** add create form and view pages for episode ([f3b2c8b ](f3b2c8b84f )), closes [#1 ](https://code.podlibre.org/podlibre/castopod-host/issues/1 )
* **episodes:** add migrations, model and entity for episodes table ([0444821 ](044482174e ))
* **episodes:** replace all audio file URL parameters with base64 encoded data ([e1f65cd ](e1f65cd3b5 ))
* **episodes:** schedule episode with future publication_date by using cache expiration time ([4f1e773 ](4f1e773c0f )), closes [#47 ](https://code.podlibre.org/podlibre/castopod-host/issues/47 )
* **fediverse:** implement activitypub protocols + update user interface ([2f525c0 ](2f525c0f6e )), closes [#69 ](https://code.podlibre.org/podlibre/castopod-host/issues/69 ) [#65 ](https://code.podlibre.org/podlibre/castopod-host/issues/65 ) [#85 ](https://code.podlibre.org/podlibre/castopod-host/issues/85 ) [#51 ](https://code.podlibre.org/podlibre/castopod-host/issues/51 ) [#91 ](https://code.podlibre.org/podlibre/castopod-host/issues/91 ) [#92 ](https://code.podlibre.org/podlibre/castopod-host/issues/92 ) [#88 ](https://code.podlibre.org/podlibre/castopod-host/issues/88 )
* **fonts:** replace Montserrat with Inter for better readablity ([bfa11d0 ](bfa11d007d ))
* import podcast from an rss feed url ([9a5d5a1 ](9a5d5a15b4 )), closes [#21 ](https://code.podlibre.org/podlibre/castopod-host/issues/21 )
* integrate stylized form components and update podcast edit page ([6536729 ](6536729546 ))
* make displayed publication time as relative time using @github/time-elements ([230e139 ](230e139e43 ))
* **map:** display geolocated episodes on a map page ([4357cc2 ](4357cc25cc ))
* **media:** clean media api + create an entity per media type ([fafaa7e ](fafaa7e689 ))
* **media:** save audio, images, transcripts and chapters to media for episode and persons ([58e2a00 ](58e2a00a87 ))
* **meta-tags:** add activitypub alternate links to podcast, episode, comment and post pages ([bd61752 ](bd61752be2 ))
* minor corrections to some tables ([3bf9420 ](3bf9420b59 ))
* **monetization:** add Web Monetization support ([96a6026 ](96a6026f1d ))
* **nodeinfo2:** add .well-known route for nodeinfo2 containing metadata about the castopod instance ([88fddc8 ](88fddc81d7 ))
* **partner:** add link and image in episode description ([ad07bb9 ](ad07bb9330 ))
* **person:** add podcastindex.org namespace person tag ([8acd011 ](8acd011f13 ))
* **platforms:** add AntennaPod ([53e9cfd ](53e9cfd61c ))
* **platforms:** add Fediverse and some funding platforms, add link on logo ([afc3d50 ](afc3d50289 ))
* **platforms:** add helloasso ([16cb993 ](16cb993ee6 ))
* **platforms:** add missing newpodcastapps.com's platforms ([92dd370 ](92dd370e2f ))
* **platforms:** add pod.link ([3d7a232 ](3d7a2320dd ))
* **platforms:** add Podcast Index ([ad52b1c ](ad52b1cc2b ))
* **platforms:** add podfriend ([9fdc8d3 ](9fdc8d3293 ))
* **podcast-form:** update routes and redirect to podcast page ([12ce905 ](12ce905799 ))
* **podcast:** create a podcast using form ([1202ba3 ](1202ba3545 ))
* prefill season and episode numbers + set episode number as mandatory for serial podcasts ([07d740b ](07d740b79f )), closes [#134 ](https://code.podlibre.org/podlibre/castopod-host/issues/134 ) [#136 ](https://code.podlibre.org/podlibre/castopod-host/issues/136 )
* **public-ui:** adapt public podcast and episode pages to wireframes ([40a0535 ](40a0535fc1 )), closes [#30 ](https://code.podlibre.org/podlibre/castopod-host/issues/30 ) [#13 ](https://code.podlibre.org/podlibre/castopod-host/issues/13 )
* **pwa:** add service-worker + webmanifest for each podcasts to have them install on devices ([fee2c1c ](fee2c1c0d0 ))
* redesign public podcast and episode pages + remove any information clutter for better ux ([9321400 ](932140077c ))
* replace form helper functions with components in admin template ([e64548b ](e64548b982 ))
* replace slug field with interactive permalink component ([578022b ](578022b8c5 ))
* restyle episode and person cards + add focus style to interactive elements for a11y ([a505a1d ](a505a1de56 ))
* **rss:** add ˂podcast:guid˃ tag for channel ([1fab10e ](1fab10eb0d ))
* **rss:** add podcast-namespace tags for platforms + previousUrl tag ([dbba8dc ](dbba8dc581 )), closes [#73 ](https://code.podlibre.org/podlibre/castopod-host/issues/73 ) [#75 ](https://code.podlibre.org/podlibre/castopod-host/issues/75 ) [#76 ](https://code.podlibre.org/podlibre/castopod-host/issues/76 ) [#80 ](https://code.podlibre.org/podlibre/castopod-host/issues/80 )
* **rss:** add podcast:comments tag to link to episode comments ([32e8c7c ](32e8c7c16a ))
* **rss:** add podcast:location tag ([c0a2282 ](c0a22829bd ))
* **rss:** add soundbites according to the podcastindex specs ([6b34617 ](6b34617d07 )), closes [#83 ](https://code.podlibre.org/podlibre/castopod-host/issues/83 )
* **rss:** add transcript and chapters support ([e769d83 ](e769d83a93 )), closes [#72 ](https://code.podlibre.org/podlibre/castopod-host/issues/72 ) [#82 ](https://code.podlibre.org/podlibre/castopod-host/issues/82 )
* **rss:** generate rss feed from podcast entity ([c815ecd ](c815ecd664 ))
* **rss:** update monetization tag so that it meets PodcastIndex requirements ([4c7ecbe ](4c7ecbee83 ))
* **select:** enhance select input with choices.js ([910d457 ](910d457cf8 ))
* set app parameter forceGlobalSecureRequests = true forcing requests to go through https ([d9dff1b ](d9dff1b8bf ))
* set podcast / episode description in the pages description meta tag ([1c4a504 ](1c4a50442b )), closes [#44 ](https://code.podlibre.org/podlibre/castopod-host/issues/44 )
* **settings:** add general config for instance (site name, description and icon) ([5c56f3e ](5c56f3e6f0 ))
* **settings:** add theme settings to set an accent color for all public pages ([5c529a8 ](5c529a83aa ))
* simplify podcast page's layout for better ux ([2c0efc6 ](2c0efc6563 ))
* **soundbites:** add soundbite list and creation forms with audio-clipper component ([de19317 ](de19317138 ))
* style file inputs using tailwind's file class ([8208ab6 ](8208ab6785 ))
* **themes:** add ViewThemes library to set views in root themes folder ([7a27676 ](7a276764e6 ))
* **themes:** set different default banner per theme ([11c916f ](11c916fe43 ))
* **themes:** set generic css variables for colors to enable instance themes ([a746a78 ](a746a781b4 ))
* toggle podcast sidebar on smaller screens ([f0205ec ](f0205ec274 ))
* **transcript:** parse srt subtitles into json file + add max file size info below audio file input ([0098761 ](00987610a0 ))
* **ui:** create ViewComponents library to enable building class and view files components ([94872f2 ](94872f2338 ))
* update analytics so to meet IABv2 requirements ([03e23a2 ](03e23a28bf )), closes [#10 ](https://code.podlibre.org/podlibre/castopod-host/issues/10 )
* update pine colors + create charts components ([a50abc1 ](a50abc138d ))
* **users:** add myth-auth to handle users crud + add admin gateway only accessible by login ([c63a077 ](c63a077618 )), closes [#11 ](https://code.podlibre.org/podlibre/castopod-host/issues/11 )
* **ux:** remove admin dashboard and redirect directly to podcast list ([27c48b8 ](27c48b8fa9 ))
* **video-clip:** add video-clip page with video preview + logs ([42538dd ](42538dd757 ))
* **video-clip:** generate video clips in the bg using a cron job + add video clip page + tidy up UI ([db0e427 ](db0e4272bd ))
* **video-clips:** add dimensions for portrait and squared formats ([3af404d ](3af404da3d ))
* **video-clips:** add new themes + add castopod logo as a watermark ([1d1490b ](1d1490b06a ))
* **video-clips:** add route for scheduled video clips + list video clips with status ([2065ebb ](2065ebbee5 ))
* **video-clips:** allow episodeNumbering text to stand in the indent of episodeTitle paragraph ([71a063d ](71a063dac3 ))
* **video-clips:** generate a 16:9 video using ffmpeg ([35aa7ea ](35aa7ea5d9 ))
* **video-clips:** generate subtitles clip using transcript json to have subtitles accross video ([3ce07e4 ](3ce07e455d ))
* **video-clips:** replace hardcoded colors with config's theme colors ([e462abf ](e462abf6d6 ))
* **vite:** add vite config to decouple it from CI_ENVIRONMENT ([8721719 ](8721719cd7 ))
* write id3v2 tags to episode's audio file ([4651d01 ](4651d01a84 ))
### Performance Improvements
* **cache:** update CI4 to use cache's deleteMatching method ([54b84f9 ](54b84f9684 ))
* **cache:** use deleteMatching method to prevent forgetting cached elements in models ([76afc0c ](76afc0cfa2 ))
* defer javascript + lazy load images for faster page loads ([f0685e4 ](f0685e4479 ))
* **docker:** add redis caching service for development ([05ace8c ](05ace8cff2 ))
### Reverts
* set deprecated config options back in App config ([433745f ](433745f194 ))
* **soundbites:** remove soundbite table from episode's public page ([5dc0f19 ](5dc0f19656 ))
* use basic input file for episodes audio files instead of button for better UX ([d5f22fb ](d5f22fbb38 ))
### BREAKING CHANGES
* **analytics:** analytics_podcasts_by_player table and analytics_podcasts procedure were updated
2022-01-23 20:23:27 +00:00
Yassine Doghri
a2136849dd
chore: run audit for npm + allow php-stan/extension-installer as a plugin in composer
2022-01-23 17:54:08 +00:00
Yassine Doghri
902f959b30
feat: add schema.org json-ld objects to podcasts, episodes, posts and comments pages
...
- refactor meta-tags by generating them in the controller and injecting them into the views
- use
`melbahja/seo` library to build opengraph and twitter meta-tags + schema.org objects
2021-12-29 12:06:13 +00:00
Yassine Doghri
5c56f3e6f0
feat(settings): add general config for instance (site name, description and icon)
2021-12-29 12:04:01 +00:00
Yassine Doghri
a95de8bab0
feat(components): add custom view renderer with ComponentRenderer adapted from bonfire2
...
- update Component class structure and remove component helper function and ComponentLoader
- update residual activitypub naming to fediverse
2021-12-29 11:54:50 +00:00
Yassine Doghri
3ff1364906
chore: update php dependencies to latest
2021-12-29 11:54:20 +00:00
semantic-release-bot
3a0a76d705
chore(release): 1.0.0-alpha.80 [skip ci]
...
# [1.0.0-alpha.80](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.79...v1.0.0-alpha.80 ) (2021-12-29)
### Bug Fixes
* add application/octet-stream mimetype to mp3 and m4a extensions to prevent ext_in error ([339bef8 ](339bef878e )), closes [#145 ](https://code.podlibre.org/podlibre/castopod-host/issues/145 )
2021-12-29 10:08:43 +00:00
semantic-release-bot
ece476b388
chore(release): 1.0.0-alpha.79 [skip ci]
...
# [1.0.0-alpha.79](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.78...v1.0.0-alpha.79 ) (2021-12-20)
### Bug Fixes
* **import:** set episode and season numbers to null when not present in item tag ([3211398 ](3211398c78 ))
2021-12-20 16:42:51 +00:00
Yassine Doghri
3211398c78
fix(import): set episode and season numbers to null when not present in item tag
...
update getid3 to latest dev branch
2021-12-20 16:31:03 +00:00
semantic-release-bot
548234aa4d
chore(release): 1.0.0-alpha.78 [skip ci]
...
# [1.0.0-alpha.78](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.77...v1.0.0-alpha.78 ) (2021-12-15)
### Bug Fixes
* **import:** add extension when downloading file without + truncate slug if too long ([c5f18bb ](c5f18bb6dc ))
2021-12-15 16:08:58 +00:00
semantic-release-bot
d86315ed94
chore(release): 1.0.0-alpha.77 [skip ci]
...
# [1.0.0-alpha.77](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.76...v1.0.0-alpha.77 ) (2021-11-23)
### Bug Fixes
* **cors:** add preflight option routes for episode, podcast and status objects ([a281abf ](a281abfda4 ))
* **podcast-import:** move guid attribute declaration for Episode entity to include slug data ([5d02ae3 ](5d02ae3990 ))
2021-11-23 11:03:31 +00:00
semantic-release-bot
a09853ef14
chore(release): 1.0.0-alpha.76 [skip ci]
...
# [1.0.0-alpha.76](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.75...v1.0.0-alpha.76 ) (2021-10-26)
### Bug Fixes
* replace hardcoded style links with vite service + set default value for remote transcript url ([3f2e056 ](3f2e05608e )), closes [#149 ](https://code.podlibre.org/podlibre/castopod-host/issues/149 ) [#150 ](https://code.podlibre.org/podlibre/castopod-host/issues/150 )
2021-10-26 10:40:11 +00:00
semantic-release-bot
84a0029c56
chore(release): 1.0.0-alpha.75 [skip ci]
...
# [1.0.0-alpha.75](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.74...v1.0.0-alpha.75 ) (2021-10-05)
### Bug Fixes
* **rss:** cast number type values to string in rss_helper ([7180ae9 ](7180ae9ec7 )), closes [#148 ](https://code.podlibre.org/podlibre/castopod-host/issues/148 )
2021-10-05 14:44:53 +00:00
semantic-release-bot
0f586152b0
chore(release): 1.0.0-alpha.74 [skip ci]
...
# [1.0.0-alpha.74](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.73...v1.0.0-alpha.74 ) (2021-09-28)
### Features
* **platforms:** add missing newpodcastapps.com's platforms ([92dd370 ](92dd370e2f ))
2021-09-28 10:40:31 +00:00
semantic-release-bot
3c5d3f65bf
chore(release): 1.0.0-alpha.73 [skip ci]
...
# [1.0.0-alpha.73](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.72...v1.0.0-alpha.73 ) (2021-09-22)
### Bug Fixes
* **map:** update episode markers query to discard unpublished episodes ([b3caac4 ](b3caac45b1 ))
2021-09-22 15:29:24 +00:00
semantic-release-bot
797e532727
chore(release): 1.0.0-alpha.72 [skip ci]
...
# [1.0.0-alpha.72](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.71...v1.0.0-alpha.72 ) (2021-09-20)
### Bug Fixes
* rename field status to task_status to get scheduled activities ([4ff82a5 ](4ff82a5f0a ))
2021-09-20 10:00:58 +00:00
semantic-release-bot
a78cacd3aa
chore(release): 1.0.0-alpha.71 [skip ci]
...
# [1.0.0-alpha.71](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.70...v1.0.0-alpha.71 ) (2021-09-17)
### Features
* **map:** display geolocated episodes on a map page ([4357cc2 ](4357cc25cc ))
2021-09-17 16:01:13 +00:00
semantic-release-bot
652fa3659e
chore(release): 1.0.0-alpha.70 [skip ci]
...
# [1.0.0-alpha.70](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.69...v1.0.0-alpha.70 ) (2021-08-31)
### Bug Fixes
* **partner:** set correct image URL ([61554be ](61554be12a ))
2021-08-31 09:01:26 +00:00
semantic-release-bot
1d00a23866
chore(release): 1.0.0-alpha.69 [skip ci]
...
# [1.0.0-alpha.69](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.68...v1.0.0-alpha.69 ) (2021-08-23)
### Bug Fixes
* **import:** cast description's SimpleXMLElement to string ([02d17be ](02d17be4ff ))
2021-08-23 14:20:06 +00:00
semantic-release-bot
4e76266d50
chore(release): 1.0.0-alpha.68 [skip ci]
...
# [1.0.0-alpha.68](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.67...v1.0.0-alpha.68 ) (2021-08-19)
### Bug Fixes
* **analytics:** redirect to mp3 file even when referer was not set ([9fc388d ](9fc388d154 ))
2021-08-19 14:37:51 +00:00
semantic-release-bot
af7d625462
chore(release): 1.0.0-alpha.67 [skip ci]
...
# [1.0.0-alpha.67](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.66...v1.0.0-alpha.67 ) (2021-07-24)
### Features
* allow cross origin requests on episode comments ([e12f95a ](e12f95aca1 ))
2021-07-24 17:01:10 +00:00
semantic-release-bot
797c96c1e6
chore(release): 1.0.0-alpha.66 [skip ci]
...
# [1.0.0-alpha.66](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.65...v1.0.0-alpha.66 ) (2021-07-24)
### Features
* **rss:** add podcast:comments tag to link to episode comments ([32e8c7c ](32e8c7c16a ))
2021-07-24 09:37:02 +00:00
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