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
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
Yassine Doghri
d882981b3a
fix(episodes): add publication status + set publication date to null when none has been set
...
- replace $is_published attribute by $publication_status to better handle episode's publication
state
- update publication date datepicker to include a clear button
fixes #70
2020-12-09 17:56:58 +00:00
Yassine Doghri
5dc0f19656
revert(soundbites): remove soundbite table from episode's public page
...
Soundbites are a mean to tease the episode, putting them in the episode page is unnecessary.
2020-12-08 10:14:24 +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
Benjamin Bellamy
6b34617d07
feat(rss): add soundbites according to the podcastindex specs
...
Closes #83
2020-12-07 20:13:46 +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
Benjamin Bellamy
53e9cfd61c
feat(platforms): add AntennaPod
2020-12-07 15:58:07 +01:00
semantic-release-bot
6d39beef91
chore(release): 1.0.0-alpha.26 [skip ci]
...
# [1.0.0-alpha.26](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.25...v1.0.0-alpha.26 ) (2020-11-30)
### Bug Fixes
* **analytics:** update service management so that it works with new OPAWG slug values ([7fe9d42
](7fe9d42500
))
2020-11-30 11:49:45 +00:00
Benjamin Bellamy
7fe9d42500
fix(analytics): update service management so that it works with new OPAWG slug values
2020-11-30 11:45:41 +00:00
semantic-release-bot
8b3c689f86
chore(release): 1.0.0-alpha.25 [skip ci]
...
# [1.0.0-alpha.25](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.24...v1.0.0-alpha.25 ) (2020-11-30)
### Features
* **platforms:** add podfriend ([9fdc8d3
](9fdc8d3293
))
2020-11-30 11:16:55 +00:00
Benjamin Bellamy
9fdc8d3293
feat(platforms): add podfriend
2020-11-28 18:32:36 +01:00
semantic-release-bot
74759dae14
chore(release): 1.0.0-alpha.24 [skip ci]
...
# [1.0.0-alpha.24](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.23...v1.0.0-alpha.24 ) (2020-11-26)
### Features
* **monetization:** add Web Monetization support ([96a6026
](96a6026f1d
))
2020-11-26 18:58:02 +00:00
Benjamin Bellamy
96a6026f1d
feat(monetization): add Web Monetization support
2020-11-26 18:53:52 +00:00
semantic-release-bot
e8771755b7
chore(release): 1.0.0-alpha.23 [skip ci]
...
# [1.0.0-alpha.23](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.22...v1.0.0-alpha.23 ) (2020-11-24)
### Bug Fixes
* define podcastNamespaceLink value ([0d744d2
](0d744d212d
))
2020-11-24 21:10:20 +00:00
Benjamin Bellamy
0d744d212d
fix: define podcastNamespaceLink value
2020-11-24 21:48:26 +01:00
semantic-release-bot
674ffd1cfb
chore(release): 1.0.0-alpha.22 [skip ci]
...
# [1.0.0-alpha.22](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.21...v1.0.0-alpha.22 ) (2020-11-24)
### Features
* **rss:** add transcript and chapters support ([e769d83
](e769d83a93
)), closes [#72 ](https://code.podlibre.org/podlibre/castopod/issues/72 ) [#82 ](https://code.podlibre.org/podlibre/castopod/issues/82 )
2020-11-24 20:21:59 +00:00
Benjamin Bellamy
e769d83a93
feat(rss): add transcript and chapters support
...
Close #72 , #82
2020-11-24 20:18:08 +00:00
semantic-release-bot
b9c8008062
chore(release): 1.0.0-alpha.21 [skip ci]
...
# [1.0.0-alpha.21](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.20...v1.0.0-alpha.21 ) (2020-11-24)
### Features
* **platforms:** add Fediverse and some funding platforms, add link on logo ([afc3d50
](afc3d50289
))
2020-11-24 18:25:10 +00:00
Benjamin Bellamy
afc3d50289
feat(platforms): add Fediverse and some funding platforms, add link on logo
2020-11-24 18:21:02 +00:00
semantic-release-bot
e6e21ddc3f
chore(release): 1.0.0-alpha.20 [skip ci]
...
# [1.0.0-alpha.20](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.19...v1.0.0-alpha.20 ) (2020-11-24)
### Bug Fixes
* **import:** use <image><url> tag when no <itunes:image> is present ([20e607a
](20e607afb7
))
### Features
* **rss:** add podcast-namespace tags for platforms + previousUrl tag ([dbba8dc
](dbba8dc581
)), closes [#73 ](https://code.podlibre.org/podlibre/castopod/issues/73 ) [#75 ](https://code.podlibre.org/podlibre/castopod/issues/75 ) [#76 ](https://code.podlibre.org/podlibre/castopod/issues/76 ) [#80 ](https://code.podlibre.org/podlibre/castopod/issues/80 )
2020-11-24 16:50:21 +00:00
Benjamin Bellamy
20e607afb7
fix(import): use <image><url> tag when no <itunes:image> is present
2020-11-24 16:40:35 +00:00
Benjamin Bellamy
dbba8dc581
feat(rss): add podcast-namespace tags for platforms + previousUrl tag
...
- add podcast:id tag
- add podcast:funding tag
- add podcast:social tag
- add podcast:previousUrl tag
- add missing platforms with icons
- update platforms table to include social and funding platforms
- rename platform_links table to podcasts_platforms
- move podcast import methods from podcast controller
- update import functionality to insert platforms from rss
closes #73 , #75 , #76 , #80
2020-11-19 10:44:54 +00:00
semantic-release-bot
7ee579d054
chore(release): 1.0.0-alpha.19 [skip ci]
...
# [1.0.0-alpha.19](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.18...v1.0.0-alpha.19 ) (2020-11-13)
### Bug Fixes
* handle HEAD requests on podcast_feed route ([74b2640
](74b2640f2a
)), closes [#79 ](https://code.podlibre.org/podlibre/castopod/issues/79 )
2020-11-13 16:10:23 +00:00
Benjamin Bellamy
74b2640f2a
fix: handle HEAD requests on podcast_feed route
...
Fixes #79
2020-11-13 17:01:34 +01:00
semantic-release-bot
b619e6d88f
chore(release): 1.0.0-alpha.18 [skip ci]
...
# [1.0.0-alpha.18](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.17...v1.0.0-alpha.18 ) (2020-11-09)
### Features
* **platforms:** add Podcast Index ([ad52b1c
](ad52b1cc2b
))
2020-11-09 17:17:51 +00:00
Benjamin Bellamy
ad52b1cc2b
feat(platforms): add Podcast Index
2020-11-09 17:13:52 +00:00
semantic-release-bot
d65f26e80a
chore(release): 1.0.0-alpha.17 [skip ci]
...
# [1.0.0-alpha.17](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.16...v1.0.0-alpha.17 ) (2020-11-05)
### Bug Fixes
* **open-graph:** replace non existant episode description to podcast description in podcast page ([b02584e
](b02584ee60
))
2020-11-05 19:04:14 +00:00
Yassine Doghri
b02584ee60
fix(open-graph): replace non existant episode description to podcast description in podcast page
2020-11-05 18:55:50 +00:00
semantic-release-bot
50b52f904e
chore(release): 1.0.0-alpha.16 [skip ci]
...
# [1.0.0-alpha.16](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.15...v1.0.0-alpha.16 ) (2020-11-04)
### Features
* add Open Graph and Twitter meta tags ([af970b8
](af970b8bac
)), closes [#41 ](https://code.podlibre.org/podlibre/castopod/issues/41 )
2020-11-04 17:07:18 +00:00
Benjamin Bellamy
af970b8bac
feat: add Open Graph and Twitter meta tags
...
fix : #41
2020-11-04 17:03:20 +00:00
semantic-release-bot
0e38dcca4a
chore(release): 1.0.0-alpha.15 [skip ci]
...
# [1.0.0-alpha.15](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.14...v1.0.0-alpha.15 ) (2020-11-03)
### Features
* **analytics:** add 'other' group to pie charts in order to display more accurate data ([73acef9
](73acef933f
))
2020-11-03 14:18:26 +00:00
Benjamin Bellamy
73acef933f
feat(analytics): add 'other' group to pie charts in order to display more accurate data
2020-11-03 14:14:30 +00:00
semantic-release-bot
ba89fd590d
chore(release): 1.0.0-alpha.14 [skip ci]
...
# [1.0.0-alpha.14](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.13...v1.0.0-alpha.14 ) (2020-11-02)
### Features
* **analytics:** add weekday and hour bar charts ([8ab3132
](8ab313296b
))
2020-11-02 18:19:13 +00:00
Benjamin Bellamy
8ab313296b
feat(analytics): add weekday and hour bar charts
2020-11-02 18:15:19 +00:00
semantic-release-bot
79a20a3bc8
chore(release): 1.0.0-alpha.13 [skip ci]
...
# [1.0.0-alpha.13](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.12...v1.0.0-alpha.13 ) (2020-10-29)
### Bug Fixes
* **episodes-table:** set descriptions to be not null ([6774ec1
](6774ec10fa
))
### Features
* add episode_numbering() component helper to display episode and season numbers ([3f4a6bd
](3f4a6bd0b9
))
* **episodes:** replace all audio file URL parameters with base64 encoded data ([e1f65cd
](e1f65cd3b5
))
2020-10-29 17:56:08 +00:00
Yassine Doghri
6774ec10fa
fix(episodes-table): set descriptions to be not null
2020-10-29 17:44:14 +00:00
Yassine Doghri
3f4a6bd0b9
feat: add episode_numbering() component helper to display episode and season numbers
2020-10-29 17:25:15 +00:00
Benjamin Bellamy
e1f65cd3b5
feat(episodes): replace all audio file URL parameters with base64 encoded data
2020-10-29 17:27:16 +01:00
Yassine Doghri
391c349daa
refactor(database): add / update fields to optimize storage
...
- harmonize field types and use explicit names
- store html value alongside markdown descriptions for better performance
- add duration and bandwidth to podcast analytics
- add new analytics table for podcast hits by hour
- replace visible MAXMIND_LICENCE_KEY with variable
2020-10-29 15:45:19 +00:00
semantic-release-bot
21da91eb9d
chore(release): 1.0.0-alpha.12 [skip ci]
...
# [1.0.0-alpha.12](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.11...v1.0.0-alpha.12 ) (2020-10-26)
### Bug Fixes
* replace getWebEnclosureUrl with getEnclosureWebUrl ([8122cea
](8122ceaf8a
))
2020-10-26 17:30:40 +00:00
Benjamin Bellamy
8122ceaf8a
fix: replace getWebEnclosureUrl with getEnclosureWebUrl
2020-10-26 17:26:41 +00:00
semantic-release-bot
0683ea94d8
chore(release): 1.0.0-alpha.11 [skip ci]
...
# [1.0.0-alpha.11](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.10...v1.0.0-alpha.11 ) (2020-10-26)
### Features
* add CDN url ([972bcbf
](972bcbf65e
)), closes [#37 ](https://code.podlibre.org/podlibre/castopod/issues/37 )
2020-10-26 16:17:35 +00:00
Benjamin Bellamy
972bcbf65e
feat: add CDN url
...
feat: rename ?s to ?_from to match podcastindex recommendation
feat: adust map height
feat: display pie chart on 1 column for small and medium screens
feat: handle empty rss user agent
fix: correct bug when importing episode with empty image
fix: add service to FakePodcastsAnalyticsSeeder, resize pie charts so that all lines fit
fix: set page title to ->title when it exists
fix: replace %20 with +
closes #37
2020-10-26 16:13:43 +00:00
semantic-release-bot
384b6b27a3
chore(release): 1.0.0-alpha.10 [skip ci]
...
# [1.0.0-alpha.10](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.9...v1.0.0-alpha.10 ) (2020-10-26)
### Bug Fixes
* **install:** redirect to host_url install route on instanceConfig validation error ([99250b1
](99250b1868
))
2020-10-26 15:29:29 +00:00
Yassine Doghri
99250b1868
fix(install): redirect to host_url install route on instanceConfig validation error
2020-10-26 15:21:21 +00:00
semantic-release-bot
414b23a3b7
chore(release): 1.0.0-alpha.9 [skip ci]
...
# [1.0.0-alpha.9](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.8...v1.0.0-alpha.9 ) (2020-10-26)
### Features
* display castopod version in admin footer ([9f2574e
](9f2574e6fb
)), closes [#68 ](https://code.podlibre.org/podlibre/castopod/issues/68 )
2020-10-26 14:20:19 +00:00
Yassine Doghri
9f2574e6fb
feat: display castopod version in admin footer
...
add CP_VERSION constant in app/Config/Constants.php that updates upon release through
prepare-release.sh script
closes #68
2020-10-26 11:48:17 +00:00
Yassine Doghri
4f1e773c0f
feat(episodes): schedule episode with future publication_date by using cache expiration time
...
- merge publication date fields into one field instanciated with flatpickr datetime picker
- get user timezone to convert user publication_date input to UTC
- remove setPublishedAt() method from episode entity
- add publication pill component to display the episode publication date info
- clear cache after episode insert
- use CI is_really_writable() helper in install instead of is_writable()
- fix latest episodes layout
- update tsconfig to only include ts folders
- update DEPENDENCIES.md to include flatpickr
- add format_duration helper to format episode enclosure duration instead of translating it (causes
translation bug)
- add Time.ts module to convert UTC time to user localized time for episode publication dates
- fix some layout issues
- update php and js dependencies to latest versions
closes #47
2020-10-22 17:41:59 +00:00
Benjamin Bellamy
7202b9867b
feat(analytics): add service name from rss user-agent
...
BREAKING CHANGE: analytics_podcasts_by_player table and analytics_podcasts procedure were updated
2020-10-21 16:04:18 +00:00
Yassine Doghri
9cec8a81cc
fix(cache): add locale for podcast and episode pages + clear some persisting cache in models
...
fixes #42 , #61
2020-10-20 15:39:20 +00:00
Benjamin Bellamy
72b301272e
feat: add lock podcast according to the Podcastindex podcast-namespace to prevent unauthozized import
2020-10-20 13:46:00 +00:00
Benjamin Bellamy
78625c471b
feat(analytics): add charts and data export
2020-10-20 09:32:03 +00:00
Benjamin Bellamy
1678794153
fix(analytics): remove charts empty values + remove useless language cache
...
fix(install): edit host_url helper and remove back() when create .env
2020-10-19 16:47:22 +00:00
Benjamin Bellamy
588b4d28da
feat: add cumulative listening time charts
2020-10-19 10:33:23 +00:00
Yassine Doghri
50e32ff756
fix: replace website key for webpages in breadcrumb translate file
2020-10-15 20:22:33 +00:00
Yassine Doghri
96b39002eb
chore: clean interactive rebase conflicts
2020-10-15 15:24:16 +00:00
Yassine Doghri
d5f22fbb38
revert: use basic input file for episodes audio files instead of button for better UX
...
replace platform visible checkbox with switch
2020-10-15 14:42:33 +00:00
Yassine Doghri
7661734ed2
fix: add where condition to get episode count without deleted episodes
...
contain podcast page header info within an md width
fixes #67
2020-10-15 14:42:32 +00:00
Yassine Doghri
e6197a4972
fix: comment all cache clean after page update to prevent analytics cache deletion
2020-10-15 14:42:31 +00:00
Yassine Doghri
eb70bb4f70
fix: update purgecss content path for php helper files
...
- fix overshooting podcast name when too long in podcast sidebar
- update npm packages to latest versions
fixes #59
2020-10-15 14:42:30 +00:00
Yassine Doghri
c39efc9489
fix: set episode duration translation to hardcoded english
...
- intl NumberFormatter doesn't work as it should with french language
- fix typo in episode french tranlation
fixes #64
2020-10-15 14:42:29 +00:00
Benjamin Bellamy
07eae83a00
feat: add map analytics, add episodes analytics, clean analytics page layout, translate countries
2020-10-15 14:42:28 +00:00
Benjamin Bellamy
196920d62f
feat: add french translation
2020-10-15 14:42:25 +00:00
Yassine Doghri
93eb9e1056
style: update 404 and 500 error pages to use tailwindcss and Castopod mascot
...
- add back to previous page button to 404 page
- replace public/favicon.ico
2020-10-15 14:42:24 +00:00
Yassine Doghri
a83417180c
fix: fix layout bugs in admin and update translation files
...
fixes #40
2020-10-15 14:42:23 +00:00
Yassine Doghri
e109df3004
fix: rename MyAccount controller file
...
Myaccount controller causes 404 page on certain systems
fixes #60
2020-10-15 14:42:22 +00:00
Yassine Doghri
6238a43863
fix: escape generated feed tag values and remove new lines from public pages meta description
...
fixes #57 , #46
2020-10-15 14:42:21 +00:00
Yassine Doghri
ad8b153f2a
fix: set episode guid upon episode creation
...
fixes #48
2020-10-15 14:42:19 +00:00
Yassine Doghri
2426af7de8
fix(install): redirect to input baseUrl after instance config
...
install was redirecting to default baseUrl because `redirect->back()` uses the `site_url()` function
fix #53
2020-10-15 14:42:17 +00:00
Yassine Doghri
1c4a50442b
feat: set podcast / episode description in the pages description meta tag
...
strip html tags from description_html attributes to generate text only description
closes #44
2020-10-15 14:42:15 +00:00
Benjamin Bellamy
4d3e9c8c02
fix: correct chart data
2020-10-15 14:42:14 +00:00
Yassine Doghri
769ea469c9
refactor: update install logic and add missing cache config step
...
- add `.env.example` and `INSTALL.md` to castopod bundle for installation docs
- update seeders to be silent on insert errors
- update install layout
- add manual config instructions when .env file is not writable
- fix eslint error in Charts.ts module
closes #32
2020-10-15 14:42:13 +00:00
Benjamin Bellamy
35f633b4c7
fix: re-order graph values
2020-10-15 14:42:11 +00:00
Benjamin Bellamy
e53f819264
fix: correct percona compatibility issue
2020-10-15 14:42:10 +00:00
Benjamin Bellamy
3a4925816f
feat: add unique listeners analytics
...
- add unique listener
- add some charts
- correct minor bugs
2020-10-15 14:42:09 +00:00
Benjamin Bellamy
9660aa97c8
fix: reorder fields as composite primary keys for analytics tables
2020-10-15 14:42:07 +00:00
Benjamin Bellamy
ed69b2f500
fix: correct referrer bug
2020-10-15 14:42:06 +00:00
Yassine Doghri
6e503c8d61
fix(platforms): display platform link only when visible is toggled on
...
add condition to podcast page
fix #39
2020-10-15 14:42:05 +00:00
Yassine Doghri
2f07992e55
feat: display legal disclaimer and warning on podcast import page
...
updated podcast import translations
closes #34
2020-10-15 14:42:04 +00:00
Yassine Doghri
a973c097d5
feat: add alternate rss feed link tag to podcast page head
...
update composer packages to latest versions
closes #35
2020-10-15 14:42:03 +00:00
Benjamin Bellamy
03e23a28bf
feat: update analytics so to meet IABv2 requirements
...
- https://iabtechlab.com/wp-content/uploads/2017/12/Podcast_Measurement_v2-Dec-20-2017.pdf
- no IP address is ever stored on the server. Only aggregate data is stored in the dababase.
- rolling 24-hour window
- castopod does not do pre-load
- IP Blacklisting https://github.com/client9/ipcat
- user-agent Filtering https://github.com/opawg/user-agents
- ignores 2 bytes range "Range: 0-1" (performed by official Apple iOS Podcast app)
- in case of partial content, adds up all requests to check >1mn was downloaded
- identifying Uniques is done with a combination of IP Address and User Agent
- add AMcharts
- add some graphs
- add regions to analytics
- add ipcat blacklist
- enhance useragents performances
- add filesize and header size in order to calculate 1mn downloads
- update publisher ID3 field
- update castopod icon
- add disclaimer and warning import form translation
- update docs/setup-development.md
closes #10
2020-10-15 14:42:02 +00:00
Benjamin Bellamy
5417be0049
fix: remove required for other_categories field and add podcast_id to latest podcasts query
2020-10-15 14:41:57 +00:00
Yassine Doghri
2d44b457a0
feat: enhance admin ui with responsive design and ux improvements
...
- add podcast sidebar navigation
- add podcast dashboard with latest episodes
- add pagination to podcast episodes
- add components helper to reuse ui components (button, data_table, etc.)
- enhance podcast and episode forms by splitting them into form sections
- add hint tooltips to podcast and episode forms
- transform radio inputs as buttons for better ux
- replace explicit field by parental_advisory
- replace author field by publisher
- add podcasts_categories table to set multiple categories
- use choices.js to enhance multiselect fields
- update Language files
- update js dependencies to latest versions
closes #31 , #9
2020-10-15 14:41:56 +00:00
Benjamin Bellamy
31b7828e77
fix: correction for servers with low int precision
2020-10-15 14:41:49 +00:00
Benjamin Bellamy
d7b6794f68
fix: sort episodic podcasts by season
2020-10-15 14:41:49 +00:00
Benjamin Bellamy
1ef55d7315
fix: correct php-fpm issues
2020-10-15 14:41:47 +00:00
Yassine Doghri
02e4441f98
feat: create optimized & resized images upon upload
...
- resize uploaded image to thumbnail, medium, large, feed, and id3 formats
- set image url formats where adapted in views
- set format sizes and extensions in Images config file for customization
- add validation for image uploads: `min_dims` and `is_image_squared`
- update codeigniter4 and myth-auth php packages to latest develop versions
- update npm packages to latest versions
- update public/.htaccess
closes #6
2020-10-15 14:41:45 +00:00
Yassine Doghri
40a0535fc1
feat(public-ui): adapt public podcast and episode pages to wireframes
...
- adapt wireframes with responsive design
- refactor models methods to cache requests for faster queries
- update public controllers to cache pages while retaining analytics hits
- add platform links to podcast page
- add previous / next episodes in episode page
- update npm packages to latest versions
closes #30 , #13
2020-10-15 14:41:43 +00:00
Yassine Doghri
2517808cd4
refactor: remove unnecessary permissions and update route filters
...
- add missing pages-manage permission
- remove some instance wide permissions for superadmin
closes #29
2020-10-15 14:41:41 +00:00
Yassine Doghri
043f49c784
feat: add platforms form in podcast settings
...
- set and remove platform links for a podcast
- remove unnecessary fields from platforms and platform_links tables
- add platforms svg icons to show in form
- update platform and auth seeders
- update svgo config for images
2020-10-15 14:41:39 +00:00
Benjamin Bellamy
9a5d5a15b4
feat: import podcast from an rss feed url
...
* add podcast import form
* add League\\HTMLToMarkdown
* add guid field in podcast table
* change podcast category from string to id
closes #21
2020-10-15 14:41:36 +00:00
Yassine Doghri
9c224a8ac6
feat: add pages table to store custom instance pages (eg. legal-notice, cookie policy, etc.)
...
- add pages migration, model and entity
- add page controllers
- update routes config to input page forms and page view in public
- fix markdow editor focus area
- show pages links in public side footer
closes #24
2020-10-15 14:41:34 +00:00
Yassine Doghri
a1a28de702
refactor: rewrite form pages using form helper
...
- add installGateway to app config
- update route names and groups
- remove `author_name` and `author_email` from `episodes` table
- remove `author_name` and `author_email` from `podcasts` table
- remove `owner_id` + add `created_by` and `updated_by` fields in `podcasts` and `episodes` tables
- remove unnecessary comments in database fields
- remove confirm password inputs from auth forms for better ux
- rename `pub_date` field to `published_at` and add publication time field in episode form
closes #14 , #28
2020-10-15 14:41:32 +00:00
Benjamin Bellamy
012de2072e
docs: add translation keys for tooltips helper messages
2020-10-15 14:41:29 +00:00
Yassine Doghri
cba871c5df
feat: add install wizard form to bootstrap database and create the first superadmin user
...
- generate .env file to configure instance's environment
- add phpdotenv dependency to verify .env file
- add AppSeeder to call all required seeds at once
- add env and superadmin form views using form helpers
closes #2
2020-10-15 14:41:28 +00:00
Yassine Doghri
14dd44d03d
fix: declare typed properties in PHPDoc for php<7.4
...
- fixes error when running castopod on php<7.4
fixes #23
2020-10-15 14:41:26 +00:00
Yassine Doghri
7fb1de2cf3
feat: add breadcrumb in admin area
...
- add Breadcrumb library and service
- update authorizations
- add missing routes to avoid 404 links in breadcrumb
- add svg_helper globally in base controller
- update purgecss config to check .ts files
closes #17
2020-10-15 14:41:25 +00:00
Yassine Doghri
ed6e953010
refactor: add php_codesniffer to define castopod's coding style based on psr-1
...
- add .editorconfig file
- format all files to comply with castopod's coding style
- switch parsedown dependency with commonmark library to better follow commonmark spec for markdown
- add prettier command to format all project files at once
closes #16
2020-10-15 14:41:22 +00:00
Yassine Doghri
58364bfed1
refactor(auth): change contributor's role logic to have it included in the users_podcasts table
...
- update myth-auth and codeigniter to latest develop changes
- improve permission check: remove all
dynamic permissions per podcast and overwrite myth-auth services and permission filter
- remove
unnecessary code because of myth-auth upgrade
- refactor some controller code for better clarity
-
add remaining seeders in docs
closes #19 , #20
2020-10-15 14:41:14 +00:00
Yassine Doghri
e0da11517d
refactor: update js files to typescript and replace parcel with rollup
...
- add basic rollup config to bundle minified and browser compatible js
- use babel to transpile
typescript files to js
- add static code checkers: eslint and stylelint
- update package.json
scripts
- update DEPENDENCIES.md file to include rollup and popper
- set html in rss feed
description fields
- update Podcast and Episode entities to add description_html attribute
generated by parsing markdown to html using parsedown
#9
2020-10-15 14:41:12 +00:00
Yassine Doghri
c0e66d5f70
feat: enhance ui using javascript in admin area
...
- bundle js using parcel
- add markdown editor, html editor, dropdown and tooltip features using third-party packages
- integrate optimized inline svg icons from RemixIcon using svgo and a php helper
- add scripts in package.json to bundle icons, images, css and js
- update tailwind config to add purgecss lookups and typography plugin
- refactor views to add missing pages in user journey
- update admin's holy grail layout using css grid
2020-10-15 14:41:09 +00:00
Yassine Doghri
d58e51874a
feat: add user permissions and basic groups to handle authorizations
...
- add AuthSeeder to bootstrap authorization data and remove UserSeeder
- create a superadmin group having all authorizations
- refactor routes and controller methods to separate get and post requests
- refactor admin views with a title section in layout
- add contributors section to podcasts to manage contributions (add, edit roles and remove)
closes #3 , #18
2020-10-15 14:41:06 +00:00