Commit Graph

133 Commits

Author SHA1 Message Date
Yassine Doghri 482b47ba6b fix: redirect to non cached views when authenticated in public views 2022-01-21 09:08:14 +00:00
Yassine Doghri e97266c5d4 fix(json-ld): add missing properties to PodcastSeries object
rename episode activity cache
2022-01-20 16:50:26 +00:00
Yassine Doghri 11c916fe43 feat(themes): set different default banner per theme 2022-01-20 14:51:31 +00:00
Yassine Doghri 8f999ce2f7 fix(pages): add locale to page cache 2022-01-19 18:41:00 +00:00
Yassine Doghri 9303e51bc5 feat: add task to housekeeping setting for resetting all instance counts
set two toggle switches to run housekeeping tasks seperately if needed
2022-01-14 17:42:55 +00:00
Yassine Doghri 1670558473 feat: add basic stats on podcast about page
number of seasons and episodes + publication date of the first episode
2022-01-06 16:52:13 +00:00
Yassine Doghri 1fc3da139e chore: update CodeIgniter to latest dev version after 4.1.6 2022-01-04 15:40:27 +00:00
Yassine Doghri 6ecf2866cf feat: add media entity and link documents, images and audio files to it 2021-12-29 12:09:32 +00:00
Yassine Doghri 827ca03f61 refactor(color-themes): set themes declaration as a config property + generate css file dynamically 2021-12-29 12:09:32 +00:00
Yassine Doghri fee2c1c0d0 feat(pwa): add service-worker + webmanifest for each podcasts to have them install on devices
- configure service-worker using vite-plugin-pwa
- refactor Image entity to generate images of
different types based on size config
- add requirement for webp library for php gd to generate webp
images for instance
- add action to regenerate all instance images for eventual Images config
changes
- enhance google lighthouse metrics for pwa
2021-12-29 12:09:31 +00:00
Yassine Doghri 902f959b30 feat: add schema.org json-ld objects to podcasts, episodes, posts and comments pages
- refactor meta-tags by generating them in the controller and injecting them into the views
- use
`melbahja/seo` library to build opengraph and twitter meta-tags + schema.org objects
2021-12-29 12:06:13 +00:00
Yassine Doghri 4a8147bfbb feat: add podcast banner field for each podcast + refactor images configuration
- rename image fields on podcast, episode and persons for better clarity
- set different sizes
config for podcast cover, banner and persons avatars
- add tiny size for covers
- fix responsive
on admin forms
2021-12-29 12:04:04 +00:00
Yassine Doghri 5c56f3e6f0 feat(settings): add general config for instance (site name, description and icon) 2021-12-29 12:04:01 +00:00
Yassine Doghri 025b2f42e6 refactor: replace "embeddable-player" occurrences to "embed" 2021-12-29 12:02:53 +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 2c0efc6563 feat: simplify podcast page's layout for better ux 2021-12-29 12:01:40 +00:00
Yassine Doghri e64548b982 feat: replace form helper functions with components in admin template 2021-12-29 11:55:43 +00:00
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