Coder Social home page Coder Social logo

mawilms / lembas Goto Github PK

View Code? Open in Web Editor NEW
16.0 16.0 1.0 7.05 MB

Lembas is a plugin manager for the MMORPG Lord of the Rings Online

License: GNU General Public License v3.0

Go 60.32% HTML 0.46% Svelte 21.23% TypeScript 7.95% CSS 0.58% JavaScript 9.46%
gaming golang lotro wails-app

lembas's People

Contributors

mawilms avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

jtsagata

lembas's Issues

Missing permissions when installing

Describe the bug
The installation fails atm because there are permissions missing when we download the archive to install the plugin

Expected behavior
No crash. Set proper permissions

Parse Plugincompendium file

Is your feature request related to a problem? Please describe.
To extract as much information as possible we should parse the .plugincompendium file. This simplifies the actual update and synchro process

  • Sync process change

Reducing sync complexity

Is your feature request related to a problem? Please describe.
At the moment the synchro process is quite slow and has a too high overhead. We currently store every plugin in the local database, installed or not. Another problem is that we retrieve a file list for every plugin that is also synced.

Describe the solution you'd like
The API responses are shrinked so when we start the application we perform a request that only contains the title, latest_version, category and plugin_id. We won't sync the files anymore because we don't need them there. If we want to install/update/delete a plugin we retrieve all information.

  • Sync at startup
  • Catalog Plugin struct optimization
  • Overview Plugin struct optimization

Additional settings

Is your feature request related to a problem? Please describe.

The users can't change their settings folders. Other functionalities could be for example a auto update checkbox. This ticket will get expanded with features within the next days.

Describe the solution you'd like

  • Change settings paths
  • Auto update functionality
  • Clean Backup folder

Update button

Is your feature request related to a problem? Please describe.
The user should get an indicator that there is an update available for lembas

Describe the solution you'd like
A simple button that indicates an update. After pressing the button, Lembas is getting updated

Different themes

Is your feature request related to a problem? Please describe.
Different themes like a default lotr, a gondor and isengard/mordor theme would be great.

Describe the solution you'd like
Extend the settings.json file to store theme configurations. These theme configurations can be json files that are read in while the startup process of the app.

Test pipeline

Is your feature request related to a problem? Please describe.
We currently rely on manual testing. For the future we definitely need a straightforward testing pipeline to test critical parts of the application.

Describe the solution you'd like
Unit tests for the core parts of the application

  • Plugin Parser
  • Synchronizer

Blacklist for specific plugin name

Is your feature request related to a problem? Please describe.
Some plugins contain demo plugin files that don't need to be in the actual plugin manager. Therefore it makes sense to create a blacklist with string patterns that should be excluded from the display process

Describe the solution you'd like
Blacklist array with string pattern

Catalog plugin version not updating

Describe the bug
If the user installs a plugin through the catalog the "current version" column isn't updated

To Reproduce
Install some random plugin

Database tuning

Is your feature request related to a problem? Please describe.
Measure the performance of the current database implementation. There might be optimizations that could improve the UX.

Describe the solution you'd like

  • Use Query planner to analyse queries
  • Check requirements of the Write-Ahead-Log functionality
  • Tweak cache size

Refresh button inconsistent

Describe the bug
The Refresh button logic is buggy. When I click on "Refresh" x plugins are loaded. When I click again on it x-1 are loaded

To Reproduce
Install several plugins and click in the plugins view on "Refresh"

Lembas freezes when clicked on update all

Describe the bug
Application blocks and most likely crashes when clicked on "Update All"

To Reproduce
Click on "Update all"

Expected behavior
No freezing and only updating of outdated versions

Blacklist plugins that should not be loaded

Describe the bug
LotRO has plugins that shouldn't be loaded by the plugin manager or user. One of these plugins is the TitanBar Unloader.

Expected behavior
Blacklist these loader plugins

Settings window + backup functionality

Is your feature request related to a problem? Please describe.

Since Lembas is in the early alpha it makes sense to have an option in the settings panel to backup your existing plugins folder. If Lembas breaks the plugins you can easily recover them to a working state. This backup is fired after every plugin operation like installations or updates.

Describe the solution you'd like

  • Settings View
  • Checkbox to toggle the backup functionality
  • Set backup by default
  • settings file as centralized solution for settings like this
  • Backup functionality

Error handling if internet connection is missing

Is your feature request related to a problem? Please describe.
There is currently no clear screen to indicate a missing internet connection with a retry button

Describe the solution you'd like

  • Error handling when plugins can't be loaded
  • Retry functionality

Test Pipeline

Is your feature request related to a problem? Please describe.
I definitely need a proper test pipeline for some quality assurance and to provide the needed functionality.

Disable plugin buttons based on their state

Is your feature request related to a problem? Please describe.
At the moment the user can install already installed plugins from the catalog panel.

Describe the solution you'd like
Change the button behavior based on their states.

Fix the plugin version

Is your feature request related to a problem? Please describe.
Updated plugins can be buggy. So fixing the version until the bug is fixed could be handy.

Install from GitHub repo

Is your feature request related to a problem? Please describe.
Currently lotrointerface is the only site to download plugins. It would be great to have a feature to download plugins directly from the GitHub page if they have one.

Describe the solution you'd like
Implement GitHub download functionality.

Broken packages lead to sync error

Describe the bug
The syncro process don't work properly because of broken packages that are served by lotrointerface.

Expected behavior
Sync process shouldn't be interrupted when a broken package arrives. It should be ignored

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.