Yassine Doghri
f295e9aa4c
chore: update CodeIgniter to v4.5.6
...
+ update php dependencies to latest
2024-12-29 16:02:08 +00:00
Yassine Doghri
fc2e7a0d83
docs(api): add instructions to enable and use API
2024-12-29 14:03:23 +00:00
Yassine Doghri
f981937645
fix: add downloads_count to episodes table, computed every hour
...
This removes computing latency when retrieving episodes list with download count in admin.
The more
analytics records, the more it took to calculate the sum of hits to get the downloads count for each
episode.
2024-12-29 13:24:42 +00:00
Yassine Doghri
f288a750f5
fix: typo in EpisodeController remap function to get episode
...
- fix defaultValue being empty string when cast as array
- fix initial styles for select to reduce
content layout shift
2024-12-29 13:21:50 +00:00
Yassine Doghri
888d610c2d
docs(api): add available operations based on openapi schema
...
use starlight-openapi plugin to generate docs
closes #536
2024-12-26 13:01:53 +00:00
Nate Ritter
775b302f7c
fix(api): cast integers when creating episode
2024-12-25 11:29:11 +00:00
Nate Ritter
a90cdfdcdb
feat(api): add Episode create and publish endpoints
2024-12-25 11:22:29 +00:00
Yassine Doghri
8402cc29d2
feat(rss): add option for 301 redirect to new feed url
2024-12-25 11:22:13 +00:00
Yassine Doghri
08c7df2a5d
fix(plugins): clear cache after activating or deactivating plugin
2024-12-23 16:09:17 +00:00
Yassine Doghri
34be5bccab
refactor(plugins): create Field objects per field type in settings forms + handle rendering in class
...
update manifest.schema.json to have defaultValue type differ based on field type
2024-12-23 15:35:47 +00:00
Yassine Doghri
d3a98db6d0
feat(plugins): add defaultValue for all field types
2024-12-19 12:33:57 +00:00
Yassine Doghri
00bd4c02ee
fix(plugins): delete relevant cache when submitting settings
2024-12-18 17:50:33 +00:00
Yassine Doghri
85704bfbe0
refactor: rename controller methods for views and actions to be more consistent
...
add PermalinkEditor component
2024-12-18 16:05:25 +00:00
Yassine Doghri
8cf9c6dc83
feat(plugins): add html field type + CodeEditor component + rework html head generation
...
update php and js packages to latest
2024-12-17 15:11:45 +00:00
Yassine Doghri
b869acb3a9
refactor: remove fields from podcast and episode entities to be replaced with plugins
2024-12-15 17:34:36 +00:00
Yassine Doghri
11ccd0ebe7
feat(plugins): add group field type + multiple option to render field arrays
...
- update docs
- render hint and helper options for all fields
- replace option's hint with
description
2024-12-10 15:57:06 +00:00
Yassine Doghri
f50098ec89
feat(image): add image size's width and height
...
escape plugin description + replace codeigniter-icons with php-icons v1.2
2024-11-07 12:56:46 +00:00
Yassine Doghri
63f93f585b
fix: update select and multi-select options to value/label arrays
...
add hint to select options + update dependencies to latest
2024-11-06 13:19:59 +00:00
Yassine Doghri
1667f5b202
build: update CI4 to v4.5.5 + php and js packages to latest
2024-11-06 13:19:59 +00:00
Yassine Doghri
1d7583d738
fix(fediverse): add "processing" and "failed" statuses to better manage broadcast load
...
fixes #511
2024-11-06 13:19:59 +00:00
Yassine Doghri
a68959c906
build: update CI4 to 4.5.4 + php and js dependencies to latest
2024-11-06 13:19:58 +00:00
Yassine Doghri
2b1bbf3430
fix(premium-podcasts): update query to validate subscription
2024-11-06 13:19:58 +00:00
Yassine Doghri
fc9ea7597e
feat(plugins): add minCastopodVersion
to denote incompatibility with previous Castopod versions
2024-07-05 16:47:01 +00:00
Yassine Doghri
fee7905935
feat(plugins): load and display LICENSE.md file if found in plugin's directory
2024-07-05 16:44:35 +00:00
crowdin
1c5fe1fea6
chore(i18n): new Crowdin updates
2024-07-04 13:54:43 +00:00
Yassine Doghri
a8c81b3fa1
fix(manifest): set repository url as required in docstring typings
2024-07-04 13:32:44 +00:00
Yassine Doghri
e9c04548de
build: update CI to 4.5.3 + php and js dependencies to latest
2024-07-04 13:27:10 +00:00
Yassine Doghri
e417d45b14
docs(plugins): fill up rest of manifest and hooks reference + creating a plugin
2024-06-14 15:53:33 +00:00
Yassine Doghri
cc6495dc7c
refactor(plugins): set settings properties as fields objects
2024-06-14 15:53:33 +00:00
Yassine Doghri
8f8c61eaae
docs(plugins): add experimental plugins section + plugins:create command to create plugin via CLI
2024-06-14 15:53:33 +00:00
Yassine Doghri
91dc8c8325
test(plugins): add test suite for Plugins service
2024-06-14 15:53:33 +00:00
Yassine Doghri
3a900bbab6
feat(plugins): add methods to easily retrieve general, podcast and episode settings in hooks methods
2024-06-14 15:53:33 +00:00
Yassine Doghri
2035c39fd1
feat(plugins): register plugins using Plugin.php file instead of namespace + simplify i18n structure
2024-06-14 15:53:33 +00:00
Yassine Doghri
b5bd2db28f
build(php): upgrade min php version to 8.3
2024-06-14 15:53:33 +00:00
Yassine Doghri
e2a90def88
test(plugins): add test cases for loading manifest data
2024-06-14 15:53:33 +00:00
Yassine Doghri
014facd5a1
refactor(plugins): rename manifest schema
2024-06-14 15:53:33 +00:00
Yassine Doghri
80d2c48ee2
feat(plugins): add before channel/item hooks to allow podcast/episode data edit when generating rss
2024-06-14 15:53:33 +00:00
Yassine Doghri
8ec79097bb
feat(plugins): display errors when plugin is invalid instead of crashing
2024-06-14 15:53:33 +00:00
Yassine Doghri
45ac2a4be9
feat(plugins): handle empty states and long strings in UI
2024-06-14 15:53:33 +00:00
Yassine Doghri
b62b483ad9
feat(plugins): abstract settings form for general, podcast and episode types
...
update filter permission logic for replacing router param
2024-06-14 15:53:33 +00:00
Yassine Doghri
6f833fc76a
feat(plugins): add new field types + validate & cast user data before storing settings
...
+ refactor form fields components
2024-06-14 15:53:33 +00:00
Yassine Doghri
dfb7888aeb
feat(plugins): add aside with plugin metadata next to plugin's readme
...
- enhance plugin card ui
- refactor components to be more consistent
- invert toggler label for better UX
- edit view components regex
2024-06-14 15:53:33 +00:00
Yassine Doghri
e6bfdfc390
feat(plugins): load README.md file to view plugin's instructions in UI
2024-06-14 15:53:32 +00:00
Yassine Doghri
1510e36c0a
feat(plugins): load and validate plugin manifest.json
2024-06-14 15:53:32 +00:00
Yassine Doghri
b5eddf351f
feat(plugins): add json schema definition for plugin manifest
2024-06-14 15:53:32 +00:00
Yassine Doghri
896f00661f
refactor(plugins): redefine plugins folder structure to vendor/package
2024-06-14 15:53:32 +00:00
Yassine Doghri
9a80de4068
feat(plugins): uninstall plugins via CLI and admin UI
2024-06-14 15:53:32 +00:00
Yassine Doghri
89ac92fb41
feat(plugins): add settings page for podcast and episode if defined in the plugin's manifest
...
- rename options to settings
2024-06-14 15:53:32 +00:00
Yassine Doghri
3d8aedf9c3
feat(plugins): add options to manifest for building forms and storing plugin settings
2024-06-14 15:53:32 +00:00
Yassine Doghri
e80a33bf2a
feat(plugins): add siteHead hook to add custom meta tags to public pages
2024-06-14 15:53:32 +00:00