- Jul 24, 2021
-
-
Yassine Doghri authored
-
- Jun 21, 2021
-
-
Benjamin Bellamy authored
-
- Jun 11, 2021
-
-
Yassine Doghri authored
change Database connection import with db_connect helper
-
Yassine Doghri authored
update types and some remap logic
-
Yassine Doghri authored
fix some style issues
-
Yassine Doghri authored
- 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
-
- May 18, 2021
-
-
Yassine Doghri authored
update composer dependencies
-
- May 17, 2021
-
-
Yassine Doghri authored
- fix lazy loading properties + podcast import controller - rename all snake_case variables to camelCase - fix broken routes - refactor Location construction logic and setters
-
- May 14, 2021
-
-
Yassine Doghri authored
-
- May 12, 2021
-
-
Yassine Doghri authored
- move and refactor Image.php from Libraries to Entities folder - update some database field names / types - update composer packages
-
Yassine Doghri authored
- 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
-
- May 03, 2021
-
-
Yassine Doghri authored
-
Yassine Doghri authored
As there is currently no info on the dashboard, it is unnecessary for now
-
- Apr 08, 2021
-
-
Yassine Doghri authored
some platforms require the ❬itunes:author❭ tag to be specified in order to import an rss feed fixes #96
-
- Apr 02, 2021
-
-
Yassine Doghri authored
- 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
-
- Mar 30, 2021
-
-
Benjamin Bellamy authored
-
- Mar 19, 2021
-
-
Benjamin Bellamy authored
-
- Feb 10, 2021
-
-
Benjamin Bellamy authored
-
- Dec 23, 2020
-
-
Benjamin Bellamy authored
-
- Dec 20, 2020
-
-
Benjamin Bellamy authored
-
- Dec 07, 2020
-
-
Benjamin Bellamy authored
Closes #83
-
- Nov 30, 2020
-
-
Benjamin Bellamy authored
-
- Nov 26, 2020
-
-
Benjamin Bellamy authored
-
- Nov 24, 2020
-
-
Benjamin Bellamy authored
Close #72, #82
-
- Nov 19, 2020
-
-
- 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
-
- Oct 29, 2020
-
-
Yassine Doghri authored
-
Yassine Doghri authored
- 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
-
- Oct 26, 2020
-
-
Benjamin Bellamy authored
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
-
- Oct 21, 2020
-
-
Benjamin Bellamy authored
BREAKING CHANGE: analytics_podcasts_by_player table and analytics_podcasts procedure were updated
-
- Oct 20, 2020
-
-
Benjamin Bellamy authored
feat: add lock podcast according to the Podcastindex podcast-namespace to prevent unauthozized import
-
- Oct 15, 2020
-
-
- 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
-
Yassine Doghri authored
- 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
-
Yassine Doghri authored
- 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
-
Yassine Doghri authored
- 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
-
* add podcast import form * add League\\HTMLToMarkdown * add guid field in podcast table * change podcast category from string to id closes #21
-
Yassine Doghri authored
- 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
-
Yassine Doghri authored
- 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
-
Yassine Doghri authored
- 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
-
Yassine Doghri authored
- 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
-
Yassine Doghri authored
- 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
-