ElementsProject / ElementsProject/cln-application

Implement Reckless Plugin Manager UI

Open
#120 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
52
Forks
15
PR merge metrics
No merged PRs in 30d

Description

Implementation for the Reckless UI, including source and plugin management.

## Requirements

### 1. Reckless Visibility
- Call `reckless --version` to verify availability.
- If successful:
- Display Reckless UI screens.
- Show the reckless version number prominently.
- If unavailable:
- Hide all Reckless-related UI elements.

### 2. Source Management
- Call `reckless source list` to fetch sources.
- Display the list of added sources in a dedicated Sources screen.
- Actions:
- Remove source: Option to delete any source from the list.
- Add source: Input field to add a new source after validating the link.

### 3. Plugin Management
- Show installed plugins with (*):
- Enabled/disabled state (*).
- Current version (*).
- Latest available version (*).
- List plugins from added sources that are not yet installed (*).
- Actions per plugin:
- Enable/Disable (toggle state).
- Update (if newer version exists).
- Uninstall.
- Install for uninstalled plugins.
- Bulk action:
- "Update All" button to update all installed & enabled plugins.

### 4. Plugin Search
- Add a search bar to find plugins not in the current list.
- Call `reckless search `.
- If found:
- Display plugin details (name, version, description, etc).
- Show Install button.
- If not found:
- Prompt user to add new source

### 5. Installation
- When installing from step 3 or 4 (`reckless install `):
- Stream logs in real-time (progress bar + terminal-like output)(*).
- Final status: Clearly show success/failure.

## Dependencies
- Some features marked with (*) are depend on [#8439](https://github.com/ElementsProject/lightning/issues/8439).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.