civitai / civitai-link-desktop

Manage your Civitai models for your Stable Diffusion Web UI models folder
16 stars 7 forks source link

Unstable App with Limited Features #22

Closed thiagojramos closed 4 weeks ago

thiagojramos commented 4 months ago

Every interaction I have with the app results in it automatically closing itself, disappearing into the systray, as well as not showing any label on the taskbar when the window is in focus, just an icon in the tray. When minimized or out of focus, instead of staying active in the background with the window open, it completely hides itself.

The app's performance is lacking, operating with notable slowness (Print 01). Its functionality is limited to a list of models located in the specified folders, without offering any form of categorization or additional detail of the models, which is in stark contrast with the intuitive and information-rich navigation available in the Stability Matrix. Additionally, the app window is not resizable, which is a nuisance for someone with a large screen (21:9), as the interface appears too small.

Print 01

![Print 01](https://github.com/civitai/civitai-link-desktop/assets/45890502/4c55fd44-d9ea-49c9-bb63-f0ff95bc25b3)

Another limitation is the absence of a preview image download and the creation of a .json file containing information about the models (Print 02 and 03). This feature is particularly valuable for WebUI users (like automatic, forge, etc), who utilize these data in their interfaces.

Print 02

![Print 02](https://github.com/civitai/civitai-link-desktop/assets/45890502/a4b1d57b-995e-4387-99cd-47130bb997ad)

Print 03

![Print 03](https://github.com/civitai/civitai-link-desktop/assets/45890502/49de78c3-bbfd-462a-bf6e-3d57410c2014)

Some models that I have previously downloaded are listed on the site as if I had not downloaded them (Print 04), and when I click on the button, it shows an error and says that it has already been downloaded (Print 05).

Print 04

![Print 04](https://github.com/civitai/civitai-link-desktop/assets/45890502/088f429e-ff4a-4d7b-b1bc-333023701308)

Print 05

![Print 05](https://github.com/civitai/civitai-link-desktop/assets/45890502/9a5d9015-5578-40a4-bbec-7c8f5e246edc)

This feedback is intended not only to point out areas for improvement but also to reinforce the importance of a refined and efficient user experience, which is currently hindered by these issues.

thiagojramos commented 4 months ago

Regrettably, after updating to version "1.13.4" for Windows, things seem to have worsened rather than improved. Despite the hope for fixes to previously reported issues, I now face new challenges in addition to the already known ones.

During an attempt to download a model, the application started downloading the same file twice simultaneously, both with exasperating slowness. This is particularly frustrating when compared to the "less worse" Civitai Link extension for WebUI, which performs downloads at the appropriate speed. The downloaded files, to make matters worse, are incomplete, not reaching even half the expected size as indicated on the site; one of them had only a few kilobytes. Additionally, both remained in the "temp" folder, without being moved to the "lora" folder upon download completion.

One of the supposed novelties of this version would be the generation of a .json file containing data about the downloaded model. However, the provided data is, at best, incomplete—or even useless. The file failed to identify the version of the Stable Diffusion of the model, listing it as "unknown", and omitted critical information such as the "activation text". Essentially, the generated .json was reduced to this:

{"sd version":"unknown","preferred weight":0.8,"notes":""}

Note: as you can see in the print below, the model was an SDXL, hence recognizable. I say this because the extension for the WebUI only failed to recognize pony models.

There is still no functionality for downloading preview images, and the other bugs and utilities previously reported remain unresolved. The disappointment with the development and improvement of the application is palpable, reflecting a user experience that leaves much to be desired.

Prints

![2024-04-09 (4)](https://github.com/civitai/civitai-link-desktop/assets/45890502/ba4e8b2f-7bf1-4e4c-b14b-8d867f095ae3) ![2024-04-09 (5)](https://github.com/civitai/civitai-link-desktop/assets/45890502/ea34fb45-a105-468d-b38f-3e0c828d43e5) ![2024-04-09 (3)](https://github.com/civitai/civitai-link-desktop/assets/45890502/66840b88-ddaa-4e54-be50-aeadf01c9fcc)

cmoody commented 4 months ago

Thanks for the feedback @thiagojramos. A new UI is coming out and I am hoping to address a bunch of these issues. Please be patient as this takes time to both replicate, debug and fix. Im hoping to get this updated and out this week.

I will synthesize this as a punch list and update here as I get them updated. The biggest focus at the moment is around the performance issues with large amounts of files. I have some ideas on whats happening with a change made to try to improve how we check and hash files.

cmoody commented 4 months ago

Hey @thiagojramos this is kind of the list of what I noted from your comments above. Let me know if I didnt capture something from it. 1.14.0 just went out and hopefully addresses a lot of the problems you were experiencing. Theres still a lot more that Im looking into for performance and will be updating but Im hoping this unblocks everyone.

Open Issues

New UI (1.14.0)

thiagojramos commented 4 months ago

Hey, @cmoody thanks for the update and for addressing the issues so promptly! I really appreciate the effort to enhance the app's functionality and performance.

Regarding the "Specified folders and categorization", it would be great to have some sort of filter to view only specific types of models, such as LoRa, Checkpoints, etc. This would help in navigating through large collections of models more efficiently. If possible, a block-style display mode and a right-click context menu with options like "View in Explorer" would be incredibly useful (if these aren't already included in the new version).

However, I'm experiencing a new issue with the latest update (1.14.2). After installing it and entering the link key, the screen turns completely white. I've tried reinstalling multiple times, rebooting my PC, and clearing all entries, but nothing seems to fix it. There was an option for "Dev Tools" in the systray, and I've attached a print screen below showing the error in the console tab.

2024-04-11

I hope this can be looked into as well. Thanks again for your responsiveness and looking forward to the continuous improvements.

cmoody commented 4 months ago

Thanks for the screenshot of the devtools. Im glad I put that in there! I think I know whats happening and hopefully have that fixed up in the latest patch.

Ive got an idea around some sorting/filtering for different categorizations but I like where you are thinking on that. I talk with design and see how we can get that to be a bit more useful.

thiagojramos commented 4 months ago

@cmoody, Thanks so much for the quick fix and for considering my feedback on the sorting/filtering options! I'm really pleased to hear you're exploring those ideas.

I'm happy to report that the installation of version 1.14.3 went smoothly and the app is now functioning properly. The new features are a significant improvement and are working well.

However, I've noticed that the app is still using a bit more memory than expected, around 320-350MB, even when minimized to the systray (not actively doing anything). Just thought I'd mention it as you continue to look into performance enhancements.

Thanks again for your responsiveness and for the continuous updates. It's great to see such proactive support!

cmoody commented 4 months ago

@thiagojramos good to know. Im hoping to start focusing on the memory usage issues after an update going out today or tomorrow. My guess is that with the way the data store is working that it might be holding it all in memory. Im hoping to explore some other options that will make loading data more on demand. Will keep you udpated.

thiagojramos commented 4 months ago

Thanks for the update, @cmoody! I'm glad to hear that the memory usage issues are on your radar for future optimizations. I appreciate your efforts in continuously improving the app.

I've noticed something concerning the .json files created for the models (especially LoRa) by the Link App: they do not include the "activation text" that the SD UI refers to as "Trigger Words" on the website. I'm attaching two screenshots illustrating these points: one shows a .json file without the "activation text"/"Trigger Words" downloaded through the Link App, and the other with them (and the file hash that SD identified it) downloaded via the old Civitai extension for SD.

LoRa without Activation Text (LinkApp)

![LoRa-Without-Activation-Text](https://github.com/civitai/civitai-link-desktop/assets/45890502/9006ee40-e75e-4394-90df-7e07c751a9fc)

LoRa with Activation Text (Old SD ext.)

![LoRa-With-Activation-Text](https://github.com/civitai/civitai-link-desktop/assets/45890502/8687edd8-334a-48de-b228-4b871b4b21dc)

Note: Just for clarification, the text might appear in Portuguese in my screenshots due to a userscript I use to translate the Civitai interface, but "Texto de ativação" in the SD UI and "Palavras de Gatilho" on the site are known as "activation text" and "Trigger Words" in English, respectively.

Less importantly, I've noticed that when I search for the name of a LoRa model in the Link App that I had downloaded using the SD extension, even though it's in the same folder as the models downloaded through the Link App, it only appears after a significant delay and after I've opened and closed the Link App. A potential improvement might be to add a "refresh list" button somewhere at the top of the window.

Also, when the program is in the foreground, it would be beneficial for the icon/label of the program to appear in the taskbar, mainly for quick access to Windows shortcuts like right-click to close the app more swiftly, pin the app to the taskbar, and end task to avoid opening the task manager to force the program to close. I'm not sure if it's related, but when I use Alt+Tab to switch windows, the Link App does not appear among the open programs (when it's not hidden in the systray).

Thanks again for your attention and for keeping the community informed about ongoing improvements!

cmoody commented 4 months ago

@thiagojramos I think in 1.15.0 the activation text should be in the json file. I think I was missing passing it down to the function that creates it.

Less importantly, I've noticed that when I search for the name of a LoRa model in the Link App that I had downloaded using the SD extension, even though it's in the same folder as the models downloaded through the Link App, it only appears after a significant delay and after I've opened and closed the Link App. A potential improvement might be to add a "refresh list" button somewhere at the top of the window.

Ill take a look and see if we can improve that. Ive got a few refresh button ideas for various things including Vault that will be coming pretty soon.

Also, when the program is in the foreground, it would be beneficial for the icon/label of the program to appear in the taskbar, mainly for quick access to Windows shortcuts like right-click to close the app more swiftly, pin the app to the taskbar, and end task to avoid opening the task manager to force the program to close. I'm not sure if it's related, but when I use Alt+Tab to switch windows, the Link App does not appear among the open programs (when it's not hidden in the systray).

I think this should be working now if you can verify for me.

thiagojramos commented 4 months ago

Thanks again, @cmoody! The updates you've made have significantly improved the overall functionality of the app. I've completely transitioned from using the SD extension for Civitai to just using the Link App because of these improvements.

I can confirm that the program’s icon/label now appears normally in the taskbar, and it's generating the .json files correctly. However, I’ve noticed that in some cases (I can't remember if it's all of them), the content of the .json files is all on one line instead of being formatted. I'm not sure if this has any impact, but it's something I observed.

Here are a few issues and potential improvements I've noticed:

In some models, the preview doesn't download. Even though I set the file sorting to "Download Date," after downloading a model, it reverts to a sorting method that doesn’t match any of the three available options. It seems to occur when it updates the model list.

Sort issue and no preview model

What it was supposed to be like: ![2024-04-24 (1)](https://github.com/civitai/civitai-link-desktop/assets/45890502/f6ab27f0-3c5e-44f0-a399-e8d2b3c4e670) How it looks after the list is "updated": ![2024-04-24 (4)](https://github.com/civitai/civitai-link-desktop/assets/45890502/7a869ae3-f9e8-431c-a31c-24371840fdd7)

It might be helpful to have a progress bar somewhere, possibly even as a small popup in the corner of the app screen, when the program is scanning installed models. This is because, although the background operation consumes less memory than before, the app still freezes and takes time to connect during this initial scan after updates. Additionally, I’ve encountered an issue where downloads occasionally stall at certain points, greatly reducing speed and then pausing; I have to cancel the download and start it again to resume at normal speed. Here:

Download stuck

First download: ![2024-04-24 (2)](https://github.com/civitai/civitai-link-desktop/assets/45890502/81e0368d-1e0f-4080-b1e7-92f6a27f2bc1) After canceling and putting it to download again: ![2024-04-24 (3)](https://github.com/civitai/civitai-link-desktop/assets/45890502/6457fc05-ac2d-4523-812b-3d6768bedb7f)

Regarding the option to minimize to the systray as default, it would be great if users could choose this behavior in the settings.

Returning to the .json files, for Pony models, it continues to list "unknown" for the type. I remember the SD extension had a similar "issue" because it looked for model types in the SD files, and since there isn't a Pony model type recognized there, it showed as "unknown." Idk if the API could fetch this information from the Civitai site, where this differentiation exists.

Lastly, in the latest update (1.15.2), I noticed that when the app is minimized to the tray in standby mode, it consumes about 235MB of memory, compared to around 150MB in the previous version. (It's ok, now)

Thanks again for your responsiveness and the effort put into improving the app! I'm looking forward to seeing these issues addressed and to the continued evolution of the app.

cmoody commented 3 months ago

In some models, the preview doesn't download.

I think this might be due to it being animated. Im trying to get some resolution around this but its been a bit slow going.

Sorting issue

Ill take a look. Ive noticed its a little buggy at times. I think I need to rework how the data refreshes.

It might be helpful to have a progress bar somewhere, possibly even as a small popup in the corner of the app screen, when the program is scanning installed models.

I think it freezes because technically progress is blocking the main thread. Ive been looking at worker threads to help offload that work. Theres just some questions I have around how it reports back to Electron so still investigating.

Download stuck

Theres an issue that sometimes happens with images that is tracked in another github issue. Im going to test out a new download package to see if that helps and if so Im going to switch up the file download as well. 🤞 that works

Returning to the .json files, for Pony models, it continues to list "unknown" for the type.

I took the code from the SD extension 🤣 Its just an if statement that only checks for 3 things. Should be an easy fix.

Thanks for all the feedback. Its definitely helping make big strides in getting this more stable and into a better spot for everyone.

thiagojramos commented 3 months ago

About the previews that won't download. Initially, I thought it might be because of the image format on the website (.jpeg). Because I noticed that all the models that downloaded with a preview were .png, but when opening the image of Dr. Eggman's LoRa, IrfanView immediately warned that it was incorrect.

Eggman

![2024-04-29 (4)](https://github.com/civitai/civitai-link-desktop/assets/45890502/17eaff81-7286-461c-9d3b-483e7eaa4fd1)

And it's not just about only gif/mp4 or nsfw previews on the site because the one of the "Pirate that stretches and dies if he takes a bath", the image is static and the site doesn't even tag the image as nsfw.

Pirate boy

![2024-04-29 (1)](https://github.com/civitai/civitai-link-desktop/assets/45890502/3b8d03bc-2169-423c-a0d6-d1af3d2bff6b)

Regarding the animated ones, the Link App is downloading the next image (which is not animated) normally. Here's an example with the LoRa from Alice In Wonderland, where the author mostly uses the first animated image in their LoRas.

Alice

![2024-04-29 (6)](https://github.com/civitai/civitai-link-desktop/assets/45890502/5176585c-d449-442e-8b8b-479075b32d3d)

cmoody commented 3 months ago

@thiagojramos sorry for the delay. Been heads down on some fixes. Great catch! I was hard coding something and it was labeling things with the wrong extension. Ive got that fixed and going out in the next update.

cmoody commented 3 months ago

Hey @thiagojramos ! Thanks for your patience on this. We just did a big overhaul to how we hash files and watch folders for models. Hoping this helps alleviate a lot of the slow startup issues and getting stuck on initial setup. Your app should automatically update to 1.18.0 but it might be worth reinstalling just so it doesnt try to start the download process in 1.16.1.