Yassine Doghri
a746a781b4
feat(themes): set generic css variables for colors to enable instance themes
...
- set new colors using the css variables for theming in tailwind.config.js
- replace admin and
public colors with new variable enabled colors
2021-12-29 12:06:10 +00:00
Yassine Doghri
f0205ec274
feat: toggle podcast sidebar on smaller screens
...
update tailwind to v3.0.0-alpha with its official plugins (forms, typography)
2021-12-29 12:03:15 +00:00
Yassine Doghri
be5a28787f
fix(layouts): replace holy-grail layout with tailwind config + widen public podcast layout
...
- add rounded classes with conditional border-radius depending on screen width
- add ring-castopod
class to use on focus states
2021-12-29 12:02:51 +00:00
Yassine Doghri
932140077c
feat: redesign public podcast and episode pages + remove any information clutter for better ux
...
- add About podcast page
- use different layout for episode pages
- improve on user feedback with
design
- restructure app theme folders
- update js packages to latest versions
2021-12-29 12:02:14 +00:00
Yassine Doghri
e3bd9df00e
refactor: update podcast card style + create partial for public navigation
2021-12-29 12:01:42 +00:00
Yassine Doghri
d60498c1be
feat(admin): make header stick on scroll and show title + action buttons using css only
2021-12-29 12:00:53 +00:00
Yassine Doghri
d86142ebe7
feat(admin): update admin layout for better ux + update brand pine colors
2021-12-29 11:55:41 +00:00
Yassine Doghri
f15f26240c
feat: add codemirror to display xml editor for custom rss field
...
- replace hardcoded label values for play_episode_button component
2021-12-29 11:37:16 +00:00
Yassine Doghri
578022b8c5
feat: replace slug field with interactive permalink component
...
- create permalink-edit web component with slug editing and permalink copy functionalities
- add
@github/clipboard-copy-element
- update npm packages
- replace vscode extension lit-html with
lit-plugin to get css intellisense
2021-12-29 11:37:16 +00:00
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
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
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
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
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
semantic-release-bot
548234aa4d
chore(release): 1.0.0-alpha.78 [skip ci]
...
# [1.0.0-alpha.78](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.77...v1.0.0-alpha.78 ) (2021-12-15)
### Bug Fixes
* **import:** add extension when downloading file without + truncate slug if too long ([c5f18bb
](c5f18bb6dc
))
2021-12-15 16:08:58 +00:00
semantic-release-bot
d86315ed94
chore(release): 1.0.0-alpha.77 [skip ci]
...
# [1.0.0-alpha.77](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.76...v1.0.0-alpha.77 ) (2021-11-23)
### Bug Fixes
* **cors:** add preflight option routes for episode, podcast and status objects ([a281abf
](a281abfda4
))
* **podcast-import:** move guid attribute declaration for Episode entity to include slug data ([5d02ae3
](5d02ae3990
))
2021-11-23 11:03:31 +00:00
Yassine Doghri
0115787374
ci: update semantic-release dependency to latest
2021-11-23 10:11:04 +00:00
semantic-release-bot
a09853ef14
chore(release): 1.0.0-alpha.76 [skip ci]
...
# [1.0.0-alpha.76](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.75...v1.0.0-alpha.76 ) (2021-10-26)
### Bug Fixes
* replace hardcoded style links with vite service + set default value for remote transcript url ([3f2e056
](3f2e05608e
)), closes [#149 ](https://code.podlibre.org/podlibre/castopod-host/issues/149 ) [#150 ](https://code.podlibre.org/podlibre/castopod-host/issues/150 )
2021-10-26 10:40:11 +00:00
semantic-release-bot
84a0029c56
chore(release): 1.0.0-alpha.75 [skip ci]
...
# [1.0.0-alpha.75](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.74...v1.0.0-alpha.75 ) (2021-10-05)
### Bug Fixes
* **rss:** cast number type values to string in rss_helper ([7180ae9
](7180ae9ec7
)), closes [#148 ](https://code.podlibre.org/podlibre/castopod-host/issues/148 )
2021-10-05 14:44:53 +00:00
semantic-release-bot
0f586152b0
chore(release): 1.0.0-alpha.74 [skip ci]
...
# [1.0.0-alpha.74](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.73...v1.0.0-alpha.74 ) (2021-09-28)
### Features
* **platforms:** add missing newpodcastapps.com's platforms ([92dd370
](92dd370e2f
))
2021-09-28 10:40:31 +00:00
semantic-release-bot
3c5d3f65bf
chore(release): 1.0.0-alpha.73 [skip ci]
...
# [1.0.0-alpha.73](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.72...v1.0.0-alpha.73 ) (2021-09-22)
### Bug Fixes
* **map:** update episode markers query to discard unpublished episodes ([b3caac4
](b3caac45b1
))
2021-09-22 15:29:24 +00:00
semantic-release-bot
797e532727
chore(release): 1.0.0-alpha.72 [skip ci]
...
# [1.0.0-alpha.72](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.71...v1.0.0-alpha.72 ) (2021-09-20)
### Bug Fixes
* rename field status to task_status to get scheduled activities ([4ff82a5
](4ff82a5f0a
))
2021-09-20 10:00:58 +00:00
semantic-release-bot
a78cacd3aa
chore(release): 1.0.0-alpha.71 [skip ci]
...
# [1.0.0-alpha.71](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.70...v1.0.0-alpha.71 ) (2021-09-17)
### Features
* **map:** display geolocated episodes on a map page ([4357cc2
](4357cc25cc
))
2021-09-17 16:01:13 +00:00
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
semantic-release-bot
1d00a23866
chore(release): 1.0.0-alpha.69 [skip ci]
...
# [1.0.0-alpha.69](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.68...v1.0.0-alpha.69 ) (2021-08-23)
### Bug Fixes
* **import:** cast description's SimpleXMLElement to string ([02d17be
](02d17be4ff
))
2021-08-23 14:20:06 +00:00
semantic-release-bot
4e76266d50
chore(release): 1.0.0-alpha.68 [skip ci]
...
# [1.0.0-alpha.68](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.67...v1.0.0-alpha.68 ) (2021-08-19)
### Bug Fixes
* **analytics:** redirect to mp3 file even when referer was not set ([9fc388d
](9fc388d154
))
2021-08-19 14:37:51 +00:00
semantic-release-bot
af7d625462
chore(release): 1.0.0-alpha.67 [skip ci]
...
# [1.0.0-alpha.67](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.66...v1.0.0-alpha.67 ) (2021-07-24)
### Features
* allow cross origin requests on episode comments ([e12f95a
](e12f95aca1
))
2021-07-24 17:01:10 +00:00
semantic-release-bot
797c96c1e6
chore(release): 1.0.0-alpha.66 [skip ci]
...
# [1.0.0-alpha.66](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.65...v1.0.0-alpha.66 ) (2021-07-24)
### Features
* **rss:** add podcast:comments tag to link to episode comments ([32e8c7c
](32e8c7c16a
))
2021-07-24 09:37:02 +00:00
semantic-release-bot
ed8dc0052c
chore(release): 1.0.0-alpha.65 [skip ci]
...
# [1.0.0-alpha.65](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.64...v1.0.0-alpha.65 ) (2021-07-22)
### Bug Fixes
* update conditions when checking for empty max_episodes and season_number ([fbad0b5
](fbad0b59f6
))
2021-07-22 14:40:17 +00:00
semantic-release-bot
7047d5afb7
chore(release): 1.0.0-alpha.64 [skip ci]
...
# [1.0.0-alpha.64](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.63...v1.0.0-alpha.64 ) (2021-07-12)
### Features
* **activitypub:** add Podcast actor and PodcastEpisode object with comments ([9e1e5d2
](9e1e5d2e86
))
2021-07-12 18:49:14 +00:00
semantic-release-bot
b814cfaf7c
chore(release): 1.0.0-alpha.63 [skip ci]
...
# [1.0.0-alpha.63](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.62...v1.0.0-alpha.63 ) (2021-07-12)
### Features
* build hashed static files to renew browser cache ([37c54d2
](37c54d2477
)), closes [#107 ](https://code.podlibre.org/podlibre/castopod-host/issues/107 )
2021-07-12 18:01:18 +00:00
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
semantic-release-bot
3b5ce93c1b
chore(release): 1.0.0-alpha.61 [skip ci]
...
# [1.0.0-alpha.61](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.60...v1.0.0-alpha.61 ) (2021-06-23)
### Bug Fixes
* **release:** add missing version number to castopod-host package ([8f3e9d9
](8f3e9d90c1
))
* **ux:** allow for empty message upon episode publication and warn user on submit ([33d01b8
](33d01b8d4f
)), closes [#129 ](https://code.podlibre.org/podlibre/castopod-host/issues/129 )
2021-06-23 15:54:31 +00:00
semantic-release-bot
ddeabf5665
chore(release): 1.0.0-alpha.60 [skip ci]
...
# [1.0.0-alpha.60](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.59...v1.0.0-alpha.60 ) (2021-06-21)
### Features
* **rss:** add ˂podcast:guid˃ tag for channel ([1fab10e
](1fab10eb0d
))
2021-06-21 12:08:38 +00:00
semantic-release-bot
cc0d56a2f5
chore(release): 1.0.0-alpha.59 [skip ci]
...
# [1.0.0-alpha.59](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.58...v1.0.0-alpha.59 ) (2021-06-15)
### Bug Fixes
* check that additional files are valid when creating episode ([eac5bc8
](eac5bc876d
))
2021-06-15 07:15:18 +00:00
semantic-release-bot
7cb4e3a803
chore(release): 1.0.0-alpha.58 [skip ci]
...
# [1.0.0-alpha.58](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.57...v1.0.0-alpha.58 ) (2021-06-11)
### Bug Fixes
* cast actor_id to pass as int to set_interact_as_actor() function ([56a8e5d
](56a8e5d7dd
))
* **analytics:** set duration field to precise decimal as episode's audio file duration ([d772685
](d772685405
))
* **analytics:** update migrations to set decimal precision for latitude and longitude ([714d6b5
](714d6b5d49
))
* check for database connection and podcasts table existence before redirecting to install ([eb74e81
](eb74e81c3d
))
* save transcript and chapters files to podcasts folder ([63f49c7
](63f49c719f
))
* set cache expiration to next note publish to show note on publication date ([0a66de3
](0a66de3e6c
))
* set episode description footer to null when empty value ([3a7d97d
](3a7d97d660
))
* set location to null when getting empty string ([71b1b5f
](71b1b5f775
))
* update condition in home controller to redirect to install page ([33f1b91
](33f1b91d55
))
* **activity-pub:** cache issues when navigating to activity stream urls ([7bcbfb3
](7bcbfb32f7
))
* **activity-pub:** get database records using new model instances ([92536dd
](92536ddb38
))
* **category:** remove uncategorized option to enforce users in choosing a category ([8c64f25
](8c64f25a0e
))
* **install:** redirect manually to install wizard on first visit ([2ceaaca
](2ceaaca44f
))
* **types:** update fake seeders types + fix bugs ([76a4bf3
](76a4bf3441
))
* update broken contributor dropdown fields ([e5b7515
](e5b7515023
))
* **ux:** redirect user to install page on database error in home page ([9017e30
](9017e30bf4
))
* update condition in AnalyticsTrait ([fbc0967
](fbc0967caa
))
### Performance Improvements
* **cache:** use deleteMatching method to prevent forgetting cached elements in models ([76afc0c
](76afc0cfa2
))
### Reverts
* set deprecated config options back in App config ([433745f
](433745f194
))
2021-06-11 16:15:37 +00:00
Yassine Doghri
4730411e9b
ci: call the right scripts for the js lint stage
2021-06-11 09:35:15 +00:00
Yassine Doghri
53a934c8ea
ci: use image with already installed composer & npm + add commit msg and js lint stages
2021-06-11 09:35:10 +00:00
Yassine Doghri
cfd29d84e6
ci: merge husky and captainhook git hooks into .husky configuration
...
- hooks are installed automatically with npm install command
- add commit-msg, pre-commit and
pre-push hooks
- integrate captainhook commands into the created git hooks
2021-06-11 09:35:09 +00:00
Yassine Doghri
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
231d578d64
refactor: add phpstan and update code to adhere to level 5
...
- move and refactor Image.php from Libraries to Entities folder
- update some database field names
/ types
- update composer packages
2021-05-12 14:00:25 +00:00
Yassine Doghri
5c5c6da4be
refactor: add rector to enforce type declarations, code quality + style and remove dead code
...
- update CI process to include quality stage (tests + code review)
- add captainhook to install git pre-commit & pre-push hooks
- remove .devcontainer Dockerfile to use project's docker-compose services: all
services can now be started automatically using vscode
- update docs/setup-development.md
2021-05-12 10:48:30 +00:00
semantic-release-bot
a54a5964c3
chore(release): 1.0.0-alpha.57 [skip ci]
...
# [1.0.0-alpha.57](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.56...v1.0.0-alpha.57 ) (2021-05-12)
### Bug Fixes
* **follow:** add missing helpers to Actor controller ([ee53a73
](ee53a732dc
))
2021-05-12 10:32:49 +00:00
semantic-release-bot
fca7bd6808
chore(release): 1.0.0-alpha.56 [skip ci]
...
# [1.0.0-alpha.56](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.55...v1.0.0-alpha.56 ) (2021-05-12)
### Bug Fixes
* **rss:** use originalPath instead of originalMediaPath in Image library ([b4012b7
](b4012b7d2e
))
2021-05-12 09:16:14 +00:00
semantic-release-bot
6c7964fd51
chore(release): 1.0.0-alpha.55 [skip ci]
...
# [1.0.0-alpha.55](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.54...v1.0.0-alpha.55 ) (2021-05-03)
### Features
* add remote_url alternative for transcript and chapters files ([3143c9a
](3143c9ad36
))
2021-05-03 17:44:20 +00:00
semantic-release-bot
1296187613
chore(release): 1.0.0-alpha.54 [skip ci]
...
# [1.0.0-alpha.54](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.53...v1.0.0-alpha.54 ) (2021-05-03)
### Features
* set app parameter forceGlobalSecureRequests = true forcing requests to go through https ([d9dff1b
](d9dff1b8bf
))
* **ux:** remove admin dashboard and redirect directly to podcast list ([27c48b8
](27c48b8fa9
))
* add cache to ActivityPub sql queries + cache activity and note pages ([2d297f4
](2d297f45b3
))
### Performance Improvements
* **cache:** update CI4 to use cache's deleteMatching method ([54b84f9
](54b84f9684
))
* **docker:** add redis caching service for development ([05ace8c
](05ace8cff2
))
2021-05-03 15:43:53 +00:00
Yassine Doghri
fad06e697d
refactor: replace castopod ➡ castopod-host
...
- rename all occurences of castopod to castopod host
- docs: update contribution guidelines
-
docs: update README to include guidance for help and links to socials
- remove
castopod_namespace.json
2021-05-03 15:32:55 +00:00
semantic-release-bot
d372d6746c
chore(release): 1.0.0-alpha.53 [skip ci]
...
# [1.0.0-alpha.53](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.52...v1.0.0-alpha.53 ) (2021-04-16)
### Bug Fixes
* check that note has a preview_card_id before displaying it ([acb8b3a
](acb8b3a401
)), closes [#114 ](https://code.podlibre.org/podlibre/castopod/issues/114 )
2021-04-16 18:09:32 +00:00
semantic-release-bot
b81e812506
chore(release): 1.0.0-alpha.52 [skip ci]
...
# [1.0.0-alpha.52](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.51...v1.0.0-alpha.52 ) (2021-04-16)
### Bug Fixes
* **avatar:** use default avatar when no avatar url has been set ([9d23c7e
](9d23c7e7e1
)), closes [#111 ](https://code.podlibre.org/podlibre/castopod/issues/111 )
2021-04-16 17:15:22 +00:00
semantic-release-bot
e2b85a1d8f
chore(release): 1.0.0-alpha.51 [skip ci]
...
# [1.0.0-alpha.51](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.50...v1.0.0-alpha.51 ) (2021-04-15)
### Bug Fixes
* **interact-as:** set actor_id instead of podcast id upon login event ([5dfade7
](5dfade7cf3
)), closes [#104 ](https://code.podlibre.org/podlibre/castopod/issues/104 )
2021-04-15 09:20:24 +00:00
semantic-release-bot
1c0d6cee44
chore(release): 1.0.0-alpha.50 [skip ci]
...
# [1.0.0-alpha.50](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.49...v1.0.0-alpha.50 ) (2021-04-14)
### Bug Fixes
* **persons:** prevent overflow of persons list by adding horizontal scroll ([9e8995d
](9e8995dc6e
))
2021-04-14 14:54:22 +00:00
semantic-release-bot
388fb42b3e
chore(release): 1.0.0-alpha.49 [skip ci]
...
# [1.0.0-alpha.49](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.48...v1.0.0-alpha.49 ) (2021-04-12)
### Bug Fixes
* **multiselect:** add missing class names in choices options for purge to work properly ([719538d
](719538d0cc
))
2021-04-12 09:37:37 +00:00
semantic-release-bot
6303e71973
chore(release): 1.0.0-alpha.48 [skip ci]
...
# [1.0.0-alpha.48](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.47...v1.0.0-alpha.48 ) (2021-04-10)
### Bug Fixes
* **import-with-escaped-characters:** remove \CodeIgniter\HTTP\URI in download_file, closes [#103 ](https://code.podlibre.org/podlibre/castopod/issues/103 ) ([35b5be0
](35b5be095f
))
2021-04-10 14:42:23 +00:00
semantic-release-bot
15180d2265
chore(release): 1.0.0-alpha.47 [skip ci]
...
# [1.0.0-alpha.47](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.46...v1.0.0-alpha.47 ) (2021-04-10)
### Bug Fixes
* **episodeCount:** add missing brackets to French language file ([c1b4112
](c1b411265a
))
2021-04-10 14:14:47 +00:00
semantic-release-bot
6fc06bc8f8
chore(release): 1.0.0-alpha.46 [skip ci]
...
# [1.0.0-alpha.46](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.45...v1.0.0-alpha.46 ) (2021-04-09)
### Bug Fixes
* **episodes-page:** handle defaultQuery being null when no podcast episodes ([15183b7
](15183b7eab
)), closes [#100 ](https://code.podlibre.org/podlibre/castopod/issues/100 )
2021-04-09 13:31:01 +00:00
semantic-release-bot
14d3d1d727
chore(release): 1.0.0-alpha.45 [skip ci]
...
# [1.0.0-alpha.45](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.44...v1.0.0-alpha.45 ) (2021-04-08)
### Bug Fixes
* add head request to analytics_hit route ([f0a2f0b
](f0a2f0bea4
))
2021-04-08 14:03:52 +00:00
semantic-release-bot
b5eb4c68a5
chore(release): 1.0.0-alpha.44 [skip ci]
...
# [1.0.0-alpha.44](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.43...v1.0.0-alpha.44 ) (2021-04-08)
### Bug Fixes
* **rss:** set ❬itunes:author❭ tag to owner_name if publisher not specified ([2271c14
](2271c1445b
)), closes [#96 ](https://code.podlibre.org/podlibre/castopod/issues/96 )
2021-04-08 11:20:49 +00:00
semantic-release-bot
0cd6b80847
chore(release): 1.0.0-alpha.43 [skip ci]
...
# [1.0.0-alpha.43](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.42...v1.0.0-alpha.43 ) (2021-04-08)
### Bug Fixes
* **episode-form:** show warning to set `memory_limit`, `upload_max_filesize` & `post_max_size` ([3b3c218
](3b3c218b9c
)), closes [#5 ](https://code.podlibre.org/podlibre/castopod/issues/5 ) [#86 ](https://code.podlibre.org/podlibre/castopod/issues/86 )
2021-04-08 10:50:31 +00:00
semantic-release-bot
c37a4af2d8
chore(release): 1.0.0-alpha.42 [skip ci]
...
# [1.0.0-alpha.42](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.41...v1.0.0-alpha.42 ) (2021-04-02)
### Features
* **fediverse:** implement activitypub protocols + update user interface ([2f525c0
](2f525c0f6e
)), closes [#69 ](https://code.podlibre.org/podlibre/castopod/issues/69 ) [#65 ](https://code.podlibre.org/podlibre/castopod/issues/65 ) [#85 ](https://code.podlibre.org/podlibre/castopod/issues/85 ) [#51 ](https://code.podlibre.org/podlibre/castopod/issues/51 ) [#91 ](https://code.podlibre.org/podlibre/castopod/issues/91 ) [#92 ](https://code.podlibre.org/podlibre/castopod/issues/92 ) [#88 ](https://code.podlibre.org/podlibre/castopod/issues/88 )
2021-04-02 17:24:40 +00:00
Yassine Doghri
2f525c0f6e
feat(fediverse): implement activitypub protocols + update user interface
...
- add "ActivityPub" library to handle server to server federation and basic
client to server protocols using activitypub:
- add webfinger endpoint to look for actor
- add actor definition with inbox / outbox / followers
- remote follow an actor
- create notes with possible preview cards
- interract with favourites, reblogs and replies
- block incoming actors and/or domains
- broadcast/schedule activities to fediverse followers using a cron task
- For castopod, the podcast is the actor:
- overwrite the activitypub library for castopod's specific needs
- perform basic interactions administrating a podcast to interact with fediverse users:
- create notes with episode attachment
- favourite and share a note + reply
- add specific castopod_namespaces for podcasts and episodes definitions
- overwrite CodeIgniter's Route service to include alternate-content option for
activitystream requests
- update episode publication logic:
- remove publication inputs in create / edit episode form
- publish / schedule or unpublish an episode after creation
- the podcaster publishes a note when publishing an episode
- Javascript / Typescript modules:
- fix Dropdown.ts to keep dropdown menu in foreground
- add Modal.ts for funding links modal
- add Toggler.ts to toggle various css states in ui
- User Interface:
- update tailwindcss to v2
- use castopod's pine and rose colors
- update public layout to a 3 column layout
- add pages in public for podcast activity, episode list and notes
- update episode page to include linked notes
- remove previous and next episodes from episode pages
- show different public views depending on whether user is authenticated or not
- use Kumbh Sans and Montserrat fonts
- update CodeIgniter's config files
- with CodeIgniter's new requirements, update docker environments are now based on
php v7.3 image
- move Image entity to Libraries
- update composer and npm packages to latest versions
closes #69 #65 #85 , fixes #51 #91 #92 #88
2021-04-02 17:20:02 +00:00
semantic-release-bot
dd3ac9b4ab
chore(release): 1.0.0-alpha.41 [skip ci]
...
# [1.0.0-alpha.41](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.40...v1.0.0-alpha.41 ) (2021-03-30)
### Features
* **partner:** add link and image in episode description ([ad07bb9
](ad07bb9330
))
2021-03-30 16:25:05 +00:00
semantic-release-bot
62bae1eb70
chore(release): 1.0.0-alpha.40 [skip ci]
...
# [1.0.0-alpha.40](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.39...v1.0.0-alpha.40 ) (2021-03-19)
### Features
* **custom-rss:** add custom xml tag injection in rss feed for ❬channel❭ and ❬item❭ ([6ecdaad
](6ecdaad911
))
2021-03-19 16:17:09 +00:00
semantic-release-bot
ea5383643c
chore(release): 1.0.0-alpha.39 [skip ci]
...
# [1.0.0-alpha.39](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.38...v1.0.0-alpha.39 ) (2021-03-01)
### Bug Fixes
* **embeddable-player:** enable any ancestor when X-Frame-Options is set on server ([44a4962
](44a4962e0b
))
2021-03-01 15:08:05 +00:00
semantic-release-bot
4e5b11ba5f
chore(release): 1.0.0-alpha.38 [skip ci]
...
# [1.0.0-alpha.38](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.37...v1.0.0-alpha.38 ) (2021-02-27)
### Features
* **embeddable-player:** add embeddable player widget ([141788f
](141788fa08
))
2021-02-27 21:25:23 +00:00
semantic-release-bot
526809ef28
chore(release): 1.0.0-alpha.37 [skip ci]
...
# [1.0.0-alpha.37](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.36...v1.0.0-alpha.37 ) (2021-02-17)
### Bug Fixes
* **import:** remove query string from files url ([109c4aa
](109c4aa1af
))
2021-02-17 10:55:08 +00:00
semantic-release-bot
6a7d7c3021
chore(release): 1.0.0-alpha.36 [skip ci]
...
# [1.0.0-alpha.36](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.35...v1.0.0-alpha.36 ) (2021-02-16)
### Features
* **platforms:** add pod.link ([3d7a232
](3d7a2320dd
))
2021-02-16 13:34:15 +00:00
semantic-release-bot
3ad98c6a6a
chore(release): 1.0.0-alpha.35 [skip ci]
...
# [1.0.0-alpha.35](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.34...v1.0.0-alpha.35 ) (2021-02-12)
### Bug Fixes
* **admin:** save block and lock switches ([b66c0af
](b66c0afc8f
))
2021-02-12 09:53:36 +00:00
semantic-release-bot
b3a34983fb
chore(release): 1.0.0-alpha.34 [skip ci]
...
# [1.0.0-alpha.34](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.33...v1.0.0-alpha.34 ) (2021-02-11)
### Bug Fixes
* **rss-import:** add Castopod user-agent, handle redirects for downloaded files, add Content namespace ([214243b
](214243b3fe
))
2021-02-11 17:45:16 +00:00
semantic-release-bot
3eecb82de8
chore(release): 1.0.0-alpha.33 [skip ci]
...
# [1.0.0-alpha.33](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.32...v1.0.0-alpha.33 ) (2021-02-10)
### Features
* **platforms:** add helloasso ([16cb993
](16cb993ee6
))
2021-02-10 17:13:50 +00:00
semantic-release-bot
64d9100f7c
chore(release): 1.0.0-alpha.32 [skip ci]
...
# [1.0.0-alpha.32](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.31...v1.0.0-alpha.32 ) (2021-02-10)
### Features
* **person:** add podcastindex.org namespace person tag ([8acd011
](8acd011f13
))
2021-02-10 16:24:03 +00:00
semantic-release-bot
17e1e94a50
chore(release): 1.0.0-alpha.31 [skip ci]
...
# [1.0.0-alpha.31](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.30...v1.0.0-alpha.31 ) (2020-12-23)
### Features
* **rss:** add podcast:location tag ([c0a2282
](c0a22829bd
))
2020-12-23 14:15:38 +00:00
semantic-release-bot
ba088649d2
chore(release): 1.0.0-alpha.30 [skip ci]
...
# [1.0.0-alpha.30](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.29...v1.0.0-alpha.30 ) (2020-12-21)
### Features
* **rss:** update monetization tag so that it meets PodcastIndex requirements ([4c7ecbe
](4c7ecbee83
))
2020-12-21 16:12:26 +00:00
semantic-release-bot
81c1c038c4
chore(release): 1.0.0-alpha.29 [skip ci]
...
# [1.0.0-alpha.29](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.28...v1.0.0-alpha.29 ) (2020-12-10)
### Bug Fixes
* **episodes:** add publication status + set publication date to null when none has been set ([d882981
](d882981b3a
)), closes [#70 ](https://code.podlibre.org/podlibre/castopod/issues/70 )
### Reverts
* **soundbites:** remove soundbite table from episode's public page ([5dc0f19
](5dc0f19656
))
2020-12-10 10:47:59 +00:00
semantic-release-bot
6d6747afa3
chore(release): 1.0.0-alpha.28 [skip ci]
...
# [1.0.0-alpha.28](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.27...v1.0.0-alpha.28 ) (2020-12-07)
### Features
* **rss:** add soundbites according to the podcastindex specs ([6b34617
](6b34617d07
)), closes [#83 ](https://code.podlibre.org/podlibre/castopod/issues/83 )
2020-12-07 20:17:41 +00:00
semantic-release-bot
0571a075da
chore(release): 1.0.0-alpha.27 [skip ci]
...
# [1.0.0-alpha.27](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.26...v1.0.0-alpha.27 ) (2020-12-07)
### Features
* **platforms:** add AntennaPod ([53e9cfd
](53e9cfd61c
))
2020-12-07 20:00:29 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
semantic-release-bot
6b36a80102
chore(release): 1.0.0-alpha.8 [skip ci]
...
# [1.0.0-alpha.8](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.7...v1.0.0-alpha.8 ) (2020-10-22)
### Features
* **episodes:** schedule episode with future publication_date by using cache expiration time ([4f1e773
](4f1e773c0f
)), closes [#47 ](https://code.podlibre.org/podlibre/castopod/issues/47 )
2020-10-22 17:49:16 +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
semantic-release-bot
0ab17d1075
chore(release): 1.0.0-alpha.7 [skip ci]
...
# [1.0.0-alpha.7](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.6...v1.0.0-alpha.7 ) (2020-10-21)
### Features
* **analytics:** add service name from rss user-agent ([7202b98
](7202b9867b
))
### BREAKING CHANGES
* **analytics:** analytics_podcasts_by_player table and analytics_podcasts procedure were updated
2020-10-21 16:08:07 +00:00
semantic-release-bot
8ca5b33b60
chore(release): 1.0.0-alpha.6 [skip ci]
...
# [1.0.0-alpha.6](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.5...v1.0.0-alpha.6 ) (2020-10-20)
### Bug Fixes
* **cache:** add locale for podcast and episode pages + clear some persisting cache in models ([9cec8a8
](9cec8a81cc
)), closes [#42 ](https://code.podlibre.org/podlibre/castopod/issues/42 ) [#61 ](https://code.podlibre.org/podlibre/castopod/issues/61 )
2020-10-20 15:50:31 +00:00
semantic-release-bot
a354940e5e
chore(release): 1.0.0-alpha.5 [skip ci]
...
# [1.0.0-alpha.5](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.4...v1.0.0-alpha.5 ) (2020-10-20)
### Features
* add lock podcast according to the Podcastindex podcast-namespace to prevent unauthozized import ([72b3012
](72b301272e
))
2020-10-20 13:50:01 +00:00
semantic-release-bot
e49b223926
chore(release): 1.0.0-alpha.4 [skip ci]
...
# [1.0.0-alpha.4](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.3...v1.0.0-alpha.4 ) (2020-10-20)
### Features
* **analytics:** add charts and data export ([78625c4
](78625c471b
))
2020-10-20 09:42:47 +00:00
semantic-release-bot
112a71d867
chore(release): 1.0.0-alpha.3 [skip ci]
...
# [1.0.0-alpha.3](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.2...v1.0.0-alpha.3 ) (2020-10-19)
### Bug Fixes
* **analytics:** remove charts empty values + remove useless language cache ([1678794
](1678794153
))
2020-10-19 16:50:56 +00:00
semantic-release-bot
bc8b88f6f6
chore(release): 1.0.0-alpha.2 [skip ci]
...
# [1.0.0-alpha.2](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.1...v1.0.0-alpha.2 ) (2020-10-19)
### Features
* add cumulative listening time charts ([588b4d2
](588b4d28da
))
2020-10-19 10:46:00 +00:00
semantic-release-bot
14733105e6
chore(release): 1.0.0-alpha.1 [skip ci]
...
# 1.0.0-alpha.1 (2020-10-16)
### Bug Fixes
* add public/media folder to castopod bundle ([8053d35
](8053d3521b
)), closes [#52 ](https://code.podlibre.org/podlibre/castopod/issues/52 )
* add where condition to get episode count without deleted episodes ([7661734
](7661734ed2
)), closes [#67 ](https://code.podlibre.org/podlibre/castopod/issues/67 )
* comment all cache clean after page update to prevent analytics cache deletion ([e6197a4
](e6197a4972
))
* correct chart data ([4d3e9c8
](4d3e9c8c02
))
* correct percona compatibility issue ([e53f819
](e53f819264
))
* correct php-fpm issues ([1ef55d7
](1ef55d7315
))
* correct referrer bug ([ed69b2f
](ed69b2f500
))
* correction for servers with low int precision ([31b7828
](31b7828e77
))
* declare typed properties in PHPDoc for php<7.4 ([14dd44d
](14dd44d03d
)), closes [#23 ](https://code.podlibre.org/podlibre/castopod/issues/23 )
* escape generated feed tag values and remove new lines from public pages meta description ([6238a43
](6238a43863
)), closes [#57 ](https://code.podlibre.org/podlibre/castopod/issues/57 ) [#46 ](https://code.podlibre.org/podlibre/castopod/issues/46 )
* fix layout bugs in admin and update translation files ([a834171
](a83417180c
)), closes [#40 ](https://code.podlibre.org/podlibre/castopod/issues/40 )
* minor corrections ([13be386
](13be386842
))
* move analytics to helper ([d311917
](d31191732e
))
* re-order graph values ([35f633b
](35f633b4c7
))
* remove required for other_categories field and add podcast_id to latest podcasts query ([5417be0
](5417be0049
))
* rename issue_templates labels ([9f00305
](9f00305844
))
* rename MyAccount controller file ([e109df3
](e109df3004
)), closes [#60 ](https://code.podlibre.org/podlibre/castopod/issues/60 )
* reorder fields as composite primary keys for analytics tables ([9660aa9
](9660aa97c8
))
* replace website key for webpages in breadcrumb translate file ([50e32ff
](50e32ff756
))
* set episode duration translation to hardcoded english ([c39efc9
](c39efc9489
)), closes [#64 ](https://code.podlibre.org/podlibre/castopod/issues/64 )
* set episode guid upon episode creation ([ad8b153
](ad8b153f2a
)), closes [#48 ](https://code.podlibre.org/podlibre/castopod/issues/48 )
* update purgecss content path for php helper files ([eb70bb4
](eb70bb4f70
)), closes [#59 ](https://code.podlibre.org/podlibre/castopod/issues/59 )
* **install:** redirect to input baseUrl after instance config ([2426af7
](2426af7de8
)), closes [#53 ](https://code.podlibre.org/podlibre/castopod/issues/53 )
* **platforms:** display platform link only when visible is toggled on ([6e503c8
](6e503c8d61
)), closes [#39 ](https://code.podlibre.org/podlibre/castopod/issues/39 )
* sort episodic podcasts by season ([d7b6794
](d7b6794f68
))
* update .htaccess for shared hosting config ([2379826
](2379826352
))
* update iso-369 language table seeder ([0c90db4
](0c90db44c4
))
* **package.json:** update destination of postcss generation scripts ([21413f8
](21413f8af3
))
* use slash instead of backslash to call layout ([a80adb2
](a80adb2295
))
### Features
* add alternate rss feed link tag to podcast page head ([a973c09
](a973c097d5
)), closes [#35 ](https://code.podlibre.org/podlibre/castopod/issues/35 )
* add analytics and unknown useragents ([ec92e65
](ec92e65aa4
))
* add breadcrumb in admin area ([7fb1de2
](7fb1de2cf3
)), closes [#17 ](https://code.podlibre.org/podlibre/castopod/issues/17 )
* add french translation ([196920d
](196920d62f
))
* add install wizard form to bootstrap database and create the first superadmin user ([cba871c
](cba871c5df
)), closes [#2 ](https://code.podlibre.org/podlibre/castopod/issues/2 )
* add ISO 3166 country codes ([97cd94b
](97cd94b474
))
* add map analytics, add episodes analytics, clean analytics page layout, translate countries ([07eae83
](07eae83a00
))
* add npm for js dependencies + move src/ files to root folder ([cbb83a6
](cbb83a6f30
))
* add pages table to store custom instance pages (eg. legal-notice, cookie policy, etc.) ([9c224a8
](9c224a8ac6
)), closes [#24 ](https://code.podlibre.org/podlibre/castopod/issues/24 )
* add platform models ([a333d29
](a333d29196
))
* add platforms form in podcast settings ([043f49c
](043f49c784
))
* add platforms tables ([ce59344
](ce5934419a
))
* add unique listeners analytics ([3a49258
](3a4925816f
))
* add user permissions and basic groups to handle authorizations ([d58e518
](d58e51874a
)), closes [#3 ](https://code.podlibre.org/podlibre/castopod/issues/3 ) [#18 ](https://code.podlibre.org/podlibre/castopod/issues/18 )
* create optimized & resized images upon upload ([02e4441
](02e4441f98
)), closes [#6 ](https://code.podlibre.org/podlibre/castopod/issues/6 )
* display legal disclaimer and warning on podcast import page ([2f07992
](2f07992e55
)), closes [#34 ](https://code.podlibre.org/podlibre/castopod/issues/34 )
* edit + delete podcast and episode ([ac5f0c7
](ac5f0c7328
))
* enhance admin ui with responsive design and ux improvements ([2d44b45
](2d44b457a0
)), closes [#31 ](https://code.podlibre.org/podlibre/castopod/issues/31 ) [#9 ](https://code.podlibre.org/podlibre/castopod/issues/9 )
* enhance ui using javascript in admin area ([c0e66d5
](c0e66d5f70
))
* import podcast from an rss feed url ([9a5d5a1
](9a5d5a15b4
)), closes [#21 ](https://code.podlibre.org/podlibre/castopod/issues/21 )
* set podcast / episode description in the pages description meta tag ([1c4a504
](1c4a50442b
)), closes [#44 ](https://code.podlibre.org/podlibre/castopod/issues/44 )
* update analytics so to meet IABv2 requirements ([03e23a2
](03e23a28bf
)), closes [#10 ](https://code.podlibre.org/podlibre/castopod/issues/10 )
* **cache:** add podcast and episode pages to cache + clear them after insert or update ([da0f047
](da0f047281
))
* **categories:** create model, entity, migrations and seeds ([f73b042
](f73b042cc0
))
* **devcontainer:** add devcontainer settings for dev environment ([69e7266
](69e7266736
))
* **episodes:** add create form and view pages for episode ([f3b2c8b
](f3b2c8b84f
)), closes [#1 ](https://code.podlibre.org/podlibre/castopod/issues/1 )
* **episodes:** add migrations, model and entity for episodes table ([0444821
](044482174e
))
* **podcast:** create a podcast using form ([1202ba3
](1202ba3545
))
* **podcast-form:** update routes and redirect to podcast page ([12ce905
](12ce905799
))
* **public-ui:** adapt public podcast and episode pages to wireframes ([40a0535
](40a0535fc1
)), closes [#30 ](https://code.podlibre.org/podlibre/castopod/issues/30 ) [#13 ](https://code.podlibre.org/podlibre/castopod/issues/13 )
* **rss:** generate rss feed from podcast entity ([c815ecd
](c815ecd664
))
* **users:** add myth-auth to handle users crud + add admin gateway only accessible by login ([c63a077
](c63a077618
)), closes [#11 ](https://code.podlibre.org/podlibre/castopod/issues/11 )
* minor corrections to some tables ([3bf9420
](3bf9420b59
))
* write id3v2 tags to episode's audio file ([4651d01
](4651d01a84
))
### Reverts
* use basic input file for episodes audio files instead of button for better UX ([d5f22fb
](d5f22fbb38
))
2020-10-16 15:26:13 +00:00
Yassine Doghri
6c36888a21
ci(release): automate castopod versioned releases using semantic-release
...
closes #38
2020-10-16 15:17:08 +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
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
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
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
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
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
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
ac5f0c7328
feat: edit + delete podcast and episode
...
- refactor model / entity and controller logic for DRY code
- update episodes and podcasts
migrations
- define callbacks for podcast and episode models for enclosure update and cache
clearing
2020-10-15 14:40:57 +00:00
Yassine Doghri
f3b2c8b84f
feat(episodes): add create form and view pages for episode
...
- add james-heinrich/getid3 library as a dependency to composer.json
- update DEPENDENCIES.md file
- fix episodes table migration script
- add js devDependencies: prettier, @prettier/plugin-php and lint-staged to automatically format staged files before commit
- reformat all files to the prettier format
- refactor code by separating some logic as helper functions
- overwrite existing files when uploading new files with the same name
fixes #1
2020-10-15 14:40:47 +00:00
Yassine Doghri
21413f8af3
fix(package.json): update destination of postcss generation scripts
2020-10-15 14:06:41 +00:00
Yassine Doghri
cbb83a6f30
feat: add npm for js dependencies + move src/ files to root folder
...
- add node service in docker-compose.yml
- update .devcontainer Dockerfile by adding node, npm and vim
- init package.json for npm with tailwindcss, postcss, commitlint and commitizen as dev dependencies
- update default layout main header and footer
- replace CI's welcome_message.php with home.php listing all podcasts
- add AUTHORS.md file
- add docs folder in which to place castopod's technical documentation
2020-10-15 14:05:36 +00:00