1. 26 Oct, 2021 1 commit
  2. 05 Oct, 2021 1 commit
  3. 24 Jul, 2021 1 commit
  4. 21 Jun, 2021 1 commit
  5. 11 Jun, 2021 4 commits
  6. 18 May, 2021 1 commit
  7. 17 May, 2021 1 commit
  8. 14 May, 2021 1 commit
  9. 12 May, 2021 2 commits
  10. 03 May, 2021 2 commits
  11. 08 Apr, 2021 1 commit
  12. 02 Apr, 2021 1 commit
    • Yassine Doghri's avatar
      feat(fediverse): implement activitypub protocols + update user interface · 2f525c0f
      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
      2f525c0f
  13. 30 Mar, 2021 1 commit
  14. 19 Mar, 2021 1 commit
  15. 10 Feb, 2021 1 commit
  16. 23 Dec, 2020 1 commit
  17. 20 Dec, 2020 1 commit
  18. 07 Dec, 2020 1 commit
  19. 30 Nov, 2020 1 commit
  20. 26 Nov, 2020 1 commit
  21. 24 Nov, 2020 1 commit
  22. 19 Nov, 2020 1 commit
    • 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
  23. 29 Oct, 2020 2 commits
  24. 26 Oct, 2020 1 commit
    • 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
  25. 21 Oct, 2020 1 commit
  26. 20 Oct, 2020 1 commit
  27. 15 Oct, 2020 8 commits
    • 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
    • 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
    • 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
      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