Yassine Doghri
7a276764e6
feat(themes): add ViewThemes library to set views in root themes folder
...
app, admin, install and authentication views are now located in root themes/ folder
2021-12-29 11:54:52 +00:00
Yassine Doghri
a95de8bab0
feat(components): add custom view renderer with ComponentRenderer adapted from bonfire2
...
- update Component class structure and remove component helper function and ComponentLoader
- update residual activitypub naming to fediverse
2021-12-29 11:54:50 +00:00
Yassine Doghri
5083cd2fda
refactor(modules): extract castopod parts into a modules/ folder for a scalable HMVC structure
...
- create Admin, Analytics, Auth, Fediverse and Install modules in the root modules/ folder
- rename
ActivityPub to Fediverse
2021-12-29 11:54:22 +00:00
Yassine Doghri
fcecbe1c68
fix(comments): add comment view partials for public pages
2021-12-29 11:54:22 +00:00
Yassine Doghri
0c187ef7a9
feat(comments): add like / undo like to comment + add comment page
2021-12-29 11:54:22 +00:00
Yassine Doghri
bb4752c35e
feat(comments): add comments to episodes + update naming of status to post
...
- remove confusing counts for episode (total favourites, total reblogs)
- add comments section to
episode page to display episode comments + post replies linked to the episode
2021-12-29 11:54:22 +00:00
Yassine Doghri
3ff1364906
chore: update php dependencies to latest
2021-12-29 11:54:20 +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
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
Yassine Doghri
3211398c78
fix(import): set episode and season numbers to null when not present in item tag
...
update getid3 to latest dev branch
2021-12-20 16:31:03 +00:00
Yassine Doghri
c5f18bb6dc
fix(import): add extension when downloading file without + truncate slug if too long
2021-12-15 15:44:58 +00:00
Yassine Doghri
5d02ae3990
fix(podcast-import): move guid attribute declaration for Episode entity to include slug data
2021-11-22 17:01:40 +00:00
Yassine Doghri
a281abfda4
fix(cors): add preflight option routes for episode, podcast and status objects
2021-11-22 14:35:44 +00:00
Yassine Doghri
b3caac45b1
fix(map): update episode markers query to discard unpublished episodes
2021-09-22 15:07:18 +00:00
Benjamin Bellamy
4357cc25cc
feat(map): display geolocated episodes on a map page
2021-09-17 15:50:55 +00:00
Yassine Doghri
02d17be4ff
fix(import): cast description's SimpleXMLElement to string
...
Podcast import crashed because of type errors
2021-08-23 13:49:07 +00:00
Yassine Doghri
e12f95aca1
feat: allow cross origin requests on episode comments
2021-07-24 15:34:12 +00:00
Yassine Doghri
fbad0b59f6
fix: update conditions when checking for empty max_episodes and season_number
2021-07-19 12:27:27 +00:00
Yassine Doghri
9e1e5d2e86
feat(activitypub): add Podcast actor and PodcastEpisode object with comments
2021-07-12 18:40:22 +00:00
Yassine Doghri
441052af8d
fix(episode): replace guid's empty string value to null
...
New episodes were no longer published on some platforms: the item guid was no longer set for new
episodes.
2021-07-02 06:42:03 +00:00
Yassine Doghri
33d01b8d4f
fix(ux): allow for empty message upon episode publication and warn user on submit
...
- clarify distiction between the announcement post and the show notes
- change "note" occurences in UI by "post"
- show warning message explaining why the podcaster should fill the message area
- the podcaster
can choose to publish the episode with an empty message anyways
- redirect user to episode
dashboard with error message when episode publication pages are inaccessible instead of showing a
404 error
- add a cancel publication button in publish-edit form when episode is scheduled
closes #129
2021-06-23 13:34:59 +00:00
Yassine Doghri
134a071add
refactor: rename all occurences of notes to statuses
2021-06-23 13:34:53 +00:00
Benjamin Bellamy
1fab10eb0d
feat(rss): add ˂podcast:guid˃ tag for channel
2021-06-21 11:58:43 +00:00
Yassine Doghri
eac5bc876d
fix: check that additional files are valid when creating episode
2021-06-15 06:41:28 +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
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
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
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
1a024bdec7
ci: fix rector issues for code-review job to pass
2021-06-11 09:35:07 +00:00
Yassine Doghri
aa1612342e
style(ecs): add easy-coding-standard to enforce coding style rules for php
...
- update .devcontainer settings: remove auto-formatting
for php + set intelephense as default formatter
- remove prettier php plugin as it lacks php 8 support
- add captain hook action for checking style pre-commit
- fix style with ecs on all files except views
2021-06-11 09:34:48 +00:00
Yassine Doghri
fb3593f828
refactor: remove all empty declarations + add missing type declarations
...
update composer dependencies
2021-05-18 17:16:36 +00:00
Yassine Doghri
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
Yassine Doghri
ee53a732dc
fix(follow): add missing helpers to Actor controller
2021-05-12 10:22:16 +00:00
Yassine Doghri
3143c9ad36
feat: add remote_url alternative for transcript and chapters files
2021-05-03 17:39:58 +00:00