Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
3b396a5
feat(plugins): directory-per-plugin layout and unified native loader
streamkit-devin Apr 8, 2026
d49d545
fix(plugins): address review feedback on unified loader
streamkit-devin Apr 8, 2026
7dc833a
refactor(plugins): drop bare .so fallback, require directory layout
streamkit-devin Apr 8, 2026
c103a07
fix(plugins): handle empty stem edge case and warn on bare .so files
streamkit-devin Apr 8, 2026
a232bc9
fix(plugins): fix stale comment and clean up orphaned dirs on failed …
streamkit-devin Apr 8, 2026
8eac95b
refactor(plugins): extract try_remove_empty_plugin_dir helper
streamkit-devin Apr 8, 2026
892a1b1
fix(plugins): validate stem edge cases and document error-string coup…
streamkit-devin Apr 8, 2026
75cadcd
fix(plugins): ensure directory cleanup on all upload error paths
streamkit-devin Apr 8, 2026
5661bcb
fix(plugins): probe native plugin kind before overwriting on upload
streamkit-devin Apr 8, 2026
05cf2c8
fix(plugins): only clean up target_path if file was actually placed t…
streamkit-devin Apr 8, 2026
84a2d3d
fix(plugins): load_from_bytes writes to temp file before probing conf…
streamkit-devin Apr 8, 2026
e70fe11
refactor(plugins): address review feedback on conflict detection and …
streamkit-devin Apr 8, 2026
c6dd132
feat(plugins): log both versions when skipping duplicate plugin
streamkit-devin Apr 8, 2026
4df62fa
Merge branch 'main' into devin/1775648777-plugin-directory-convention
streamer45 Apr 8, 2026
1ba0a41
fix(plugins): avoid probing native uploads from noexec temp mounts
streamkit-devin Apr 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions apps/skit/src/plugin_assets.rs
Original file line number Diff line number Diff line change
Expand Up @@ -898,9 +898,10 @@ pub fn plugin_assets_router() -> Router<Arc<AppState>> {
///
/// Searches for the manifest in two locations:
/// 1. `plugin.yml` / `plugin.yaml` in the same directory as the `.so` file
/// (works when the plugin is in its source tree, e.g. `plugins/native/slint/`).
/// 2. `{stem}.plugin.yml` next to the `.so` file (works with the flat layout
/// produced by `just copy-plugins-native`, e.g. `.plugins/native/slint.plugin.yml`).
/// (works with the directory-per-plugin layout produced by
/// `just copy-plugins-native`, e.g. `.plugins/native/slint/plugin.yml`).
/// 2. `{stem}.plugin.yml` / `{stem}.plugin.yaml` next to the `.so` file
/// (fallback for any non-standard layouts).
pub fn read_local_plugin_manifest(
library_path: &std::path::Path,
) -> Option<crate::marketplace::PluginManifest> {
Expand Down
Loading
Loading