Yassine Doghri
230e139e43
feat: make displayed publication time as relative time using @github/time-elements
2021-12-29 11:37:16 +00:00
Yassine Doghri
0e14eb4d3f
feat: add js audio player on podcast, admin and embeddable player pages + fix admon episodes ux
...
- use vimejs as audio player
- add global audio player + play episode buttons on public pages
-
refactor admin episodes list from a grid to a data table
- arrange episode cards to be more
readable
closes #131
2021-12-29 11:37:16 +00:00
Yassine Doghri
b72e7c8691
fix: expire default query cache upon scheduled episode publication
...
fix #81
2021-12-29 11:37:16 +00:00
Yassine Doghri
7fdea63de7
fix(persons): set person picture as optional for better ux
...
- use default avatar image if person image is not set
- add thumbnail and medium default avatar
images
- set default avatar images directly in public/media folder
- remove public/media's root
folder from .gitignore
- remove unnecessary copy:images script and cpy-cli package
closes #125
2021-12-29 11:37:16 +00:00
Yassine Doghri
0dd3b7e0bf
fix(rss): do not escape podcast and episode titles in the xml
...
- add parameter to prevent escaping value in SimpleRSSElement's addChild method
- clean prosemirror residue (typedef + DEPENDENCIES.md)
- remove type definition generation in tsconfig
fixes #138 , #71
2021-12-29 11:37:16 +00:00
Yassine Doghri
9ec1cb93da
fix(md-editor): build new markdown editor with lit + github/markdown-toolbar-element
...
- create markdown-write-preview + markdown-preview webcomponents using lit
- create
form_markdown_editor helper form component
- simplify form_dropdown and form_multiselect
components
- fix partner fields display
fixes #93 , #94 , #120
2021-12-29 11:37:16 +00:00
Yassine Doghri
910d457cf8
feat(select): enhance select input with choices.js
...
- select fields come with a search field
- update language names by fixing missing caps in
LanguageSeeder
- add parent to categoryOptions
2021-12-29 11:37:16 +00:00
Yassine Doghri
9dd4c7741e
fix: rename podcast name to podcast handle to clarify field usage
...
- podcast name was too vague and didn't come clearly for users: handle is more relevant
- update
package.json dependencies and remove unnused packages
closes #126
2021-12-29 11:37:16 +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
Yassine Doghri
339bef878e
fix: add application/octet-stream mimetype to mp3 and m4a extensions to prevent ext_in error
...
fixes #145
2021-12-29 09:46:32 +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
Yassine Doghri
c5f18bb6dc
fix(import): add extension when downloading file without + truncate slug if too long
2021-12-15 15:44: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
Yassine Doghri
5d02ae3990
fix(podcast-import): move guid attribute declaration for Episode entity to include slug data
2021-11-22 17:01:40 +00:00
Yassine Doghri
a281abfda4
fix(cors): add preflight option routes for episode, podcast and status objects
2021-11-22 14:35:44 +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
Yassine Doghri
3f2e05608e
fix: replace hardcoded style links with vite service + set default value for remote transcript url
...
fixes #149 , #150
2021-10-26 10:27:57 +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
Yassine Doghri
7180ae9ec7
fix(rss): cast number type values to string in rss_helper
...
fixes #148
2021-10-05 13:41:58 +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
Benjamin Bellamy
92dd370e2f
feat(platforms): add missing newpodcastapps.com's platforms
2021-09-28 10:26:47 +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
Yassine Doghri
b3caac45b1
fix(map): update episode markers query to discard unpublished episodes
2021-09-22 15:07:18 +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
Yassine Doghri
4ff82a5f0a
fix: rename field status to task_status to get scheduled activities
...
fix: load css using vite service for page view
2021-09-20 09:49:29 +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
Benjamin Bellamy
4357cc25cc
feat(map): display geolocated episodes on a map page
2021-09-17 15:50:55 +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
Benjamin Bellamy
61554be12a
fix(partner): set correct image URL
2021-08-31 08:52:28 +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
Yassine Doghri
02d17be4ff
fix(import): cast description's SimpleXMLElement to string
...
Podcast import crashed because of type errors
2021-08-23 13:49:07 +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
Benjamin Bellamy
9fc388d154
fix(analytics): redirect to mp3 file even when referer was not set
2021-08-19 14:08:04 +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
Yassine Doghri
e12f95aca1
feat: allow cross origin requests on episode comments
2021-07-24 15:34:12 +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
Yassine Doghri
32e8c7c16a
feat(rss): add podcast:comments tag to link to episode comments
2021-07-24 08:49:16 +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
Yassine Doghri
fbad0b59f6
fix: update conditions when checking for empty max_episodes and season_number
2021-07-19 12:27:27 +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
Yassine Doghri
9e1e5d2e86
feat(activitypub): add Podcast actor and PodcastEpisode object with comments
2021-07-12 18:40:22 +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
Yassine Doghri
37c54d2477
feat: build hashed static files to renew browser cache
...
- replace rollup config with vitejs
- use vite dev server during development to take advantage of
hot module replacement (HMR)
- add vite service using Vite library to load css and js assets
- update package.json scripts and remove unnecessary
dependencies
- update scripts/bundle-prepare.sh
closes #107
2021-07-12 17:47:56 +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
Yassine Doghri
441052af8d
fix(episode): replace guid's empty string value to null
...
New episodes were no longer published on some platforms: the item guid was no longer set for new
episodes.
2021-07-02 06:42:03 +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
Yassine Doghri
33d01b8d4f
fix(ux): allow for empty message upon episode publication and warn user on submit
...
- clarify distiction between the announcement post and the show notes
- change "note" occurences in UI by "post"
- show warning message explaining why the podcaster should fill the message area
- the podcaster
can choose to publish the episode with an empty message anyways
- redirect user to episode
dashboard with error message when episode publication pages are inaccessible instead of showing a
404 error
- add a cancel publication button in publish-edit form when episode is scheduled
closes #129
2021-06-23 13:34:59 +00:00
Yassine Doghri
134a071add
refactor: rename all occurences of notes to statuses
2021-06-23 13:34:53 +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
Benjamin Bellamy
1fab10eb0d
feat(rss): add ˂podcast:guid˃ tag for channel
2021-06-21 11:58:43 +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
Yassine Doghri
eac5bc876d
fix: check that additional files are valid when creating episode
2021-06-15 06:41:28 +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
56a8e5d7dd
fix: cast actor_id to pass as int to set_interact_as_actor() function
2021-06-11 15:34:11 +00:00
Yassine Doghri
d772685405
fix(analytics): set duration field to precise decimal as episode's audio file duration
2021-06-11 14:51:14 +00:00
Yassine Doghri
714d6b5d49
fix(analytics): update migrations to set decimal precision for latitude and longitude
...
add unsigned for soundbites start time and duration
2021-06-11 13:01:42 +00:00
Yassine Doghri
63f49c719f
fix: save transcript and chapters files to podcasts folder
2021-06-11 09:35:25 +00:00
Yassine Doghri
8d9bba4e9f
refactor: clean episode analytics url by removing podcasts/
prefix
2021-06-11 09:35:25 +00:00
Yassine Doghri
3a7d97d660
fix: set episode description footer to null when empty value
...
change Database connection import with db_connect helper
2021-06-11 09:35:24 +00:00
Yassine Doghri
33f1b91d55
fix: update condition in home controller to redirect to install page
2021-06-11 09:35:24 +00:00
Yassine Doghri
eb74e81c3d
fix: check for database connection and podcasts table existence before redirecting to install
...
fix signature regex
2021-06-11 09:35:23 +00:00
Yassine Doghri
ac5b2d6e94
ci(bundle): update bundle-prepare script
2021-06-11 09:35:23 +00:00
Yassine Doghri
71b1b5f775
fix: set location to null when getting empty string
2021-06-11 09:35:22 +00:00
Yassine Doghri
2ceaaca44f
fix(install): redirect manually to install wizard on first visit
...
update php dependencies
2021-06-11 09:35:22 +00:00
Yassine Doghri
cc9e4c7dc7
refactor(rector): update contributor controller's remap logic
2021-06-11 09:35:21 +00:00
Yassine Doghri
92536ddb38
fix(activity-pub): get database records using new model instances
...
update types and some remap logic
2021-06-11 09:35:21 +00:00
Yassine Doghri
76a4bf3441
fix(types): update fake seeders types + fix bugs
2021-06-11 09:35:20 +00:00
Yassine Doghri
c72f4be6d8
refactor: add strict types declaration before each file and fix activitypub issues
...
fix some style issues
2021-06-11 09:35:19 +00:00
Yassine Doghri
76afc0cfa2
perf(cache): use deleteMatching method to prevent forgetting cached elements in models
2021-06-11 09:35:19 +00:00
Yassine Doghri
7bcbfb32f7
fix(activity-pub): cache issues when navigating to activity stream urls
2021-06-11 09:35:19 +00:00
Yassine Doghri
e5b7515023
fix: update broken contributor dropdown fields
2021-06-11 09:35:18 +00:00
Yassine Doghri
9017e30bf4
fix(ux): redirect user to install page on database error in home page
...
When first visiting the home page, users would see an error message that was normal because Castopod
Host wasn't installed yet. From now on, the error is caught to redirect users directly to install
page, preventing them seeing the error and thus, resulting in a better user experience.
2021-06-11 09:35:18 +00:00
Yassine Doghri
0a66de3e6c
fix: set cache expiration to next note publish to show note on publication date
...
fix episode, podcast and persons forms + episode scheduling
2021-06-11 09:35:17 +00:00
Yassine Doghri
fbc0967caa
fix: update condition in AnalyticsTrait
2021-06-11 09:35:17 +00:00
Yassine Doghri
8c64f25a0e
fix(category): remove uncategorized option to enforce users in choosing a category
...
Apple podcasts requires a category to submit a valid podcast RSS feed. The "uncategorized" category
is not a valid category.
2021-06-11 09:35:16 +00:00
Yassine Doghri
433745f194
revert: set deprecated config options back in App config
2021-06-11 09:35:16 +00:00
Yassine Doghri
91a9670e22
refactor: update app starter files to CI4 4.1.2
2021-06-11 09:35:16 +00:00
Yassine Doghri
88c52db53c
build(docker): optimize Dockerfile and setup vscode devcontainer with all required dependencies
...
- fix: set mediaBaseURL as baseURL if not defined
- update dev documentation seting up a dev environment
2021-06-11 09:35:09 +00:00
Yassine Doghri
4429a3d481
ci: fix PersonModel issues with static analysis
2021-06-11 09:35:08 +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
6802bee0db
ci(gitlabci): add easy-coding-standard check for code-style + fix quality scripts
2021-06-11 09:35:06 +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
93e605b406
refactor(persons): move podcast and episode persons models to person model for consistency
...
- fix lazy loading properties + podcast import controller
- rename all snake_case variables to
camelCase
- fix broken routes
- refactor Location construction logic and setters
2021-05-17 17:11:23 +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
525698d834
ci: remove git hooks before uninstalling composer dev dependencies
2021-05-12 14:12:39 +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
Yassine Doghri
ee53a732dc
fix(follow): add missing helpers to Actor controller
2021-05-12 10:22:16 +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
Yassine Doghri
b4012b7d2e
fix(rss): use originalPath instead of originalMediaPath in Image library
2021-05-12 08:19:09 +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
Yassine Doghri
3143c9ad36
feat: add remote_url alternative for transcript and chapters files
2021-05-03 17:39:58 +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
d9dff1b8bf
feat: set app parameter forceGlobalSecureRequests = true forcing requests to go through https
...
docs: update INSTALL.md to include SSL certificate requirement + update install instructions
2021-05-03 15:32:55 +00:00
Yassine Doghri
27c48b8fa9
feat(ux): remove admin dashboard and redirect directly to podcast list
...
As there is currently no info on the dashboard, it is unnecessary for now
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
Yassine Doghri
54b84f9684
perf(cache): update CI4 to use cache's deleteMatching method
...
add missing locale to category_options cache name
2021-05-03 15:32:46 +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
Yassine Doghri
acb8b3a401
fix: check that note has a preview_card_id before displaying it
...
fixes #114
2021-04-16 17:59:39 +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
Yassine Doghri
9d23c7e7e1
fix(avatar): use default avatar when no avatar url has been set
...
- get avatar and cover urls from entity: if no image exists, retrieve the default ones.
- always
set icon and image in actor object: set the default ones if podcast hasn't set them.
fixes #111
2021-04-16 17:05:23 +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
Yassine Doghri
5dfade7cf3
fix(interact-as): set actor_id instead of podcast id upon login event
...
fixes #104
2021-04-15 08:27:29 +00:00
Yassine Doghri
247ae1824f
refactor(analytics): move all analytics files to a new Libraries/Analytics folder
...
- add page hit on podcast activity page
- update development docs
2021-04-14 15:58:40 +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
Yassine Doghri
9e8995dc6e
fix(persons): prevent overflow of persons list by adding horizontal scroll
...
add js tootip to show persons info
2021-04-12 10:08:05 +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
Yassine Doghri
719538d0cc
fix(multiselect): add missing class names in choices options for purge to work properly
...
Multiselect options wouldn't show up in production environment because of purgecss removing state
classes.
2021-04-12 09:18:25 +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
Benjamin Bellamy
35b5be095f
fix(import-with-escaped-characters): remove \CodeIgniter\HTTP\URI in download_file, closes #103
2021-04-10 16:18:23 +02: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
Benjamin Bellamy
c1b411265a
fix(episodeCount): add missing brackets to French language file
2021-04-10 14:06:30 +02: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
Yassine Doghri
15183b7eab
fix(episodes-page): handle defaultQuery being null when no podcast episodes
...
fixes #100
2021-04-09 13:16:31 +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
Yassine Doghri
f0a2f0bea4
fix: add head request to analytics_hit route
...
validators break because they can't request the episode's audio files with HEAD
2021-04-08 13:54:05 +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
Yassine Doghri
2271c1445b
fix(rss): set ❬itunes:author❭ tag to owner_name if publisher not specified
...
some platforms require the ❬itunes:author❭ tag to be specified in order to import an rss feed
fixes #96
2021-04-08 11:10:58 +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
Yassine Doghri
3b3c218b9c
fix(episode-form): show warning to set memory_limit
, upload_max_filesize
& post_max_size
...
remove undefined "my-podcasts" route
closes #5 , #86
2021-04-08 10:45:58 +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
Benjamin Bellamy
ad07bb9330
feat(partner): add link and image in episode description
2021-03-30 16:21:00 +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
Benjamin Bellamy
6ecdaad911
feat(custom-rss): add custom xml tag injection in rss feed for ❬channel❭ and ❬item❭
2021-03-19 16:12:36 +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
Benjamin Bellamy
44a4962e0b
fix(embeddable-player): enable any ancestor when X-Frame-Options is set on server
2021-03-01 15:59:07 +01: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
Benjamin Bellamy
141788fa08
feat(embeddable-player): add embeddable player widget
2021-02-27 21:21:26 +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
Benjamin Bellamy
109c4aa1af
fix(import): remove query string from files url
2021-02-17 10:46:20 +01: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
Benjamin Bellamy
3d7a2320dd
feat(platforms): add pod.link
2021-02-15 13:35:54 +01: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
Benjamin Bellamy
b66c0afc8f
fix(admin): save block and lock switches
2021-02-11 19:07:30 +01: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
Benjamin Bellamy
214243b3fe
fix(rss-import): add Castopod user-agent, handle redirects for downloaded files, add Content namespace
2021-02-11 17:41:20 +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
Benjamin Bellamy
16cb993ee6
feat(platforms): add helloasso
2021-02-10 17:52:51 +01: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
Benjamin Bellamy
c0a22829bd
feat(rss): add podcast:location tag
2020-12-23 14:11: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
Benjamin Bellamy
4c7ecbee83
feat(rss): update monetization tag so that it meets PodcastIndex requirements
2020-12-20 12:31:40 +01:00