karashiiro / TextToTalk

Chat TTS plugin for Dalamud. Has support for triggers/exclusions, several TTS providers, and more!
MIT License
47 stars 30 forks source link

Lexicon repository #84

Closed karashiiro closed 2 years ago

karashiiro commented 2 years ago

A in-game UI section for downloading lexicons in this repository, as mentioned a few times in #62.

Draft download workflow:

  1. Fetch all of the package metadata files to get a list of the available lexicons
  2. Check if the user requested a lexicon
  3. Download and load all of the lexicon files listed in the package metadata file (they should be downloaded to AppData for now)

Draft update check workflow:

  1. Check each file listed in the package metadata file using a HEAD request to see if there is a newer version of it (don't actually download the file)
  2. If so, notify the user

Draft update workflow:

  1. Check each file listed in the package metadata file using a HEAD request to see if there is a newer version of it (don't actually download the file)
  2. For each newer file, download it
  3. For each newer file, check if it's already been loaded and unload it if so
  4. For each newer file, load the file into the lexicon manager

Draft uninstall workflow:

  1. Create a list of each lexicon file from the package metadata file
  2. For each file, check if it's been loaded and unload it if so
  3. For each file, delete the file

Draft plugin load workflow:

  1. Scan the installed lexicon folder and load all of the lexicons
karashiiro commented 2 years ago

https://github.com/karashiiro/TextToTalk/blob/5d02a73b4f7cc49cc4107ad079e0ebb2eb390899/src/TextToTalk.Lexicons.Updater/LexiconPackage.cs

There's not currently a method to check for updates without downloading a file; TODO. Done

karashiiro commented 2 years ago

Released in testing version 1.13.0.