Skip to content
Snippets Groups Projects
  1. Feb 27, 2021
  2. Feb 17, 2021
  3. Feb 11, 2021
  4. Feb 10, 2021
  5. Dec 23, 2020
  6. Dec 20, 2020
  7. Dec 09, 2020
  8. Dec 07, 2020
  9. Nov 30, 2020
  10. Nov 26, 2020
  11. Nov 24, 2020
  12. Nov 19, 2020
    • Benjamin Bellamy's avatar
      feat(rss): add podcast-namespace tags for platforms + previousUrl tag · dbba8dc5
      Benjamin Bellamy authored and Yassine Doghri's avatar Yassine Doghri committed
      - 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
      dbba8dc5
  13. Nov 04, 2020
  14. Oct 29, 2020
  15. Oct 26, 2020
    • Benjamin Bellamy's avatar
      feat: add CDN url · 972bcbf6
      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
      972bcbf6
  16. Oct 22, 2020
    • Yassine Doghri's avatar
      feat(episodes): schedule episode with future publication_date by using cache expiration time · 4f1e773c
      Yassine Doghri authored
      - 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
      4f1e773c
  17. Oct 21, 2020
  18. Oct 20, 2020
  19. Oct 19, 2020
  20. Oct 15, 2020
    • Yassine Doghri's avatar
      refactor: update install logic and add missing cache config step · 769ea469
      Yassine Doghri authored
      - 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
      769ea469
    • Benjamin Bellamy's avatar
      feat: add unique listeners analytics · 3a492581
      Benjamin Bellamy authored and Yassine Doghri's avatar Yassine Doghri committed
      - add unique listener
      - add some charts
      - correct minor bugs
      3a492581
    • Benjamin Bellamy's avatar
      fix: correct referrer bug · ed69b2f5
      Benjamin Bellamy authored and Yassine Doghri's avatar Yassine Doghri committed
      ed69b2f5
    • Yassine Doghri's avatar
      feat: display legal disclaimer and warning on podcast import page · 2f07992e
      Yassine Doghri authored
      updated podcast import translations
      
      closes #34
      2f07992e
    • Benjamin Bellamy's avatar
      feat: update analytics so to meet IABv2 requirements · 03e23a28
      Benjamin Bellamy authored and Yassine Doghri's avatar Yassine Doghri committed
      - 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
      03e23a28
    • Yassine Doghri's avatar
      feat: enhance admin ui with responsive design and ux improvements · 2d44b457
      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
      2d44b457
    • Benjamin Bellamy's avatar
      fix: correct php-fpm issues · 1ef55d73
      Benjamin Bellamy authored and Yassine Doghri's avatar Yassine Doghri committed
      1ef55d73
    • Yassine Doghri's avatar
      feat: create optimized & resized images upon upload · 02e4441f
      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
      02e4441f
    • Yassine Doghri's avatar
      feat(public-ui): adapt public podcast and episode pages to wireframes · 40a0535f
      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
      40a0535f
    • Yassine Doghri's avatar
      feat: add platforms form in podcast settings · 043f49c7
      Yassine Doghri authored
      - 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
      043f49c7
    • Benjamin Bellamy's avatar
      feat: import podcast from an rss feed url · 9a5d5a15
      Benjamin Bellamy authored and Yassine Doghri's avatar Yassine Doghri committed
      * add podcast import form
      * add League\\HTMLToMarkdown
      * add guid field in podcast table
      * change podcast category from string to id
      
      closes #21
      9a5d5a15
    • Yassine Doghri's avatar
      feat: add pages table to store custom instance pages (eg. legal-notice, cookie policy, etc.) · 9c224a8a
      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
      9c224a8a
    • Yassine Doghri's avatar
      refactor: rewrite form pages using form helper · a1a28de7
      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
      a1a28de7
    • Yassine Doghri's avatar
      feat: add breadcrumb in admin area · 7fb1de2c
      Yassine Doghri authored
      - 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
      7fb1de2c
    • Yassine Doghri's avatar
      refactor: add php_codesniffer to define castopod's coding style based on psr-1 · ed6e9530
      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
      ed6e9530
    • Yassine Doghri's avatar
      refactor(auth): change contributor's role logic to have it included in the users_podcasts table · 58364bfe
      Yassine Doghri authored
      - 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
      58364bfe
    • Yassine Doghri's avatar
      refactor: update js files to typescript and replace parcel with rollup · e0da1151
      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
      e0da1151
    • Yassine Doghri's avatar
      feat: enhance ui using javascript in admin area · c0e66d5f
      Yassine Doghri authored
      - 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
      c0e66d5f
    • Yassine Doghri's avatar
      feat: add user permissions and basic groups to handle authorizations · d58e5187
      Yassine Doghri authored
      - 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
      d58e5187
Loading