Commit Graph

67 Commits

Author SHA1 Message Date
Yassine Doghri 34777598dd build: replace npm with pnpm + add Dockerfile for ci
update php and js dependencies to latest
2023-02-22 14:36:56 +00:00
Yassine Doghri c13cfa0ea0 fix(router): revert to CI4 v4.2.7 to include all routes 2022-11-24 15:30:24 +00:00
Yassine Doghri 0eb223baa0 chore: update CodeIgniter to v4.2.10 2022-11-17 13:10:34 +00:00
Yassine Doghri acb067a80e chore: update ci4/shield to v1.0.0-beta.3 2022-11-04 10:39:26 +00:00
Yassine Doghri 3a57538572 build: set minimal php version to 8.1
closes #225
2022-10-17 14:17:50 +00:00
Yassine Doghri c1287cbe6c refactor(auth): replace myth/auth with codeigniter/shield + define new roles
closes #222
2022-10-16 13:35:26 +00:00
Yassine Doghri a182d96f18 chore: update CI4 to v4.2.7 + dependencies to latest 2022-10-14 14:56:30 +00:00
Yassine Doghri b6114d3d93 chore: update rector to latest and use parallel for faster processing
update composer dependencies to latest
2022-09-28 14:00:46 +00:00
Yassine Doghri f3c1ddb3b1 chore: update CI4 to 4.2.6 + composer and npm dependencies to latest 2022-09-06 12:25:43 +00:00
Yassine Doghri 2a2cb3efdb chore: upgrade CI4 to v4.2.5 + update other dependencies to latest
- add file associations for env and .rsync-filter files
- include version lens to .devcontainer config
2022-08-31 10:50:19 +00:00
Yassine Doghri 37f086075e chore: update CodeIgniter to 4.2.4 + other dependencies to latest 2022-08-22 15:36:29 +00:00
Yassine Doghri 81f790868a chore: update quality tools + rewrite some migration files
* update php packages to latest
* update rector and ecs config
* update ci4/settings package to v2.1
2022-07-03 16:42:20 +00:00
Yassine Doghri 6be5d12877 feat(admin): add search form in podcast episodes list
closes #26
2022-06-17 12:52:36 +00:00
Yassine Doghri 9f4a467ad4 chore: update CI4 to 4.2.1 2022-06-17 08:14:39 +00:00
Yassine Doghri 14d7d07822 fix: replace deletedField with published_at for episodes
- remove delete_at field + soft delete for media and pages
- update CodeIgniter4 to 4.2.0 + update all starter files
- explicitly use builder() when creating queries from model
2022-06-13 16:30:34 +00:00
Yassine Doghri cd2e1e1dc3 fix(security): add csrf filter + prevent xss attacks by escaping user input
- update CI4 to v4.1.9's stable production package
- update php and js dependencies to latest
2022-03-04 14:36:32 +00:00
Yassine Doghri 5bcdfebe64 feat(icons): add default icons for podcasting, social and funding platforms + remove complex icons
- add pleroma, misskey and fosspay platforms
- update adaures/ipcat-php to fix autoload issue
-
fix Breez and Podcast Guru icons

closes #166, #167, #170
2022-02-24 14:48:17 +00:00
Yassine Doghri c16cf700ba build: update adaures/ipcat-php and adaures/podcast-persons-taxonomy references in composer.lock 2022-02-20 14:54:21 +00:00
Yassine Doghri f58f712aa6 chore: replace group slug from ad-aures to adaures in repo url
this fixes the adblocker loading viewer error
2022-02-20 13:23:57 +00:00
Yassine Doghri fa5b5f51a4 docs(init): create documentation website using vitepress
- rename podlibre to adaures
- rename castopod-host to castopod
- simplify README and redirect to docs site
- move INSTALL and UPDATE docs
- add new gitlabci pipeline to deploy docs
- upgrade node to v16 in Dockerfile
2022-02-19 16:06:11 +00:00
Yassine Doghri 9c4f60e00b fix(markdown-editor): remove unnecessary buttons for podcast and episode editors + add extensions
update CommonMark to v2 + add Autolink, SmartPunct and DisallowedRawHtml extensions
2022-02-03 14:12:47 +00:00
Yassine Doghri e831411270 fix: revert to beta.1's codeigniter4 version 2022-01-28 18:04:10 +00:00
Yassine Doghri c0301134c2 fix(video-clips): set longer podcast and episode lengths for squared format
update CI4 to latest version
2022-01-28 15:04:47 +00:00
Yassine Doghri 958c1213ed chore: update codeigniter4 after 4.1.7 hot fix release 2022-01-10 10:31:47 +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 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 5c56f3e6f0 feat(settings): add general config for instance (site name, description and icon) 2021-12-29 12:04:01 +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 3ff1364906 chore: update php dependencies to latest 2021-12-29 11:54:20 +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 cacd228098
build: update php dependencies, especially myth-auth and update phpstan config 2021-06-11 09:35:23 +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 4a28127bc4
style: prettify composer.lock 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 051951e946
ci: pass node_modules as artifact for js dependencies
prettify composer.lock file
2021-06-11 09:35:14 +00:00
Yassine Doghri cfd29d84e6
ci: merge husky and captainhook git hooks into .husky configuration
- hooks are installed automatically with npm install command
- add commit-msg, pre-commit and
pre-push hooks
- integrate captainhook commands into the created git hooks
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 6b74a9e98a
refactor: update code base to php 8 and set phpstan lvl to 6 2021-05-14 17:59:35 +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 2d297f45b3
feat: add cache to ActivityPub sql queries + cache activity and note pages
- authenticated pages are not cached
- add AnalyticsTrait to register a podcast webpage hit across
mutliple controllers
- set actor_id as unique in podcasts table
- fix issues with preview card not appearing
- update codeigniter4-uuid
2021-05-03 15:32:54 +00:00
Yassine Doghri 54b84f9684
perf(cache): update CI4 to use cache's deleteMatching method
add missing locale to category_options cache name
2021-05-03 15:32:46 +00:00
Yassine Doghri 2f525c0f6e feat(fediverse): implement activitypub protocols + update user interface
- 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
2021-04-02 17:20:02 +00:00
Benjamin Bellamy 8acd011f13 feat(person): add podcastindex.org namespace person tag 2021-02-10 16:20:01 +00:00
Benjamin Bellamy 7fe9d42500 fix(analytics): update service management so that it works with new OPAWG slug values 2020-11-30 11:45:41 +00:00
Yassine Doghri 4f1e773c0f feat(episodes): schedule episode with future publication_date by using cache expiration time
- 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
2020-10-22 17:41:59 +00:00