qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
27.42k stars 3.9k forks source link

WebUi list of improvements that need to be made to the UI #9796

Open AceLewis opened 5 years ago

AceLewis commented 5 years ago

qBittorrent version and Operating System

qBittorrent 4.1.3 Windows 10 (10.0.1xxxx)

What is the problem

The WebUI is not a replacement for the desktop UI

What is the expected behavior

WebUI to be as good as Qt UI

Steps to reproduce

Use WebUI

Extra info(if any)

I love the fact that the WebUI is very good, it is nearly a drop in replacement for the Qt UI. Piccirello is currently working on the WebUI so some of these may have been fixed when his commits are merged but I have made a list of the ones I have noticed. Correcting these would make it more viable to use qBittorrent with only a WebUI.

From @Arathen

From @solarfl4re

Arathen commented 5 years ago

To this list, I would also add: Content: No way to select/prioritise multiple files at once. Content: Changing too many files at once causes some to reset after the UI refreshes. Trackers/Content: No way to sort columns.

Great list! And once again my sincere gratitude to @Piccirello for all the work he's put into the WebUI so far to keep it getting better. Legendary.

Piccirello commented 5 years ago

This is a really comprehensive list. What’s exciting is several of these will be fixed soon by existing PRs. But definitely still a lot more work to be done.

Could you switch your numbered list to a list of tasks? We can check off items as they’re completed.

WolfganP commented 5 years ago

Great list, as a nox user having a rich webui is really important. Thx guys for keeping improving this functionality.

solarfl4re commented 5 years ago

Also: on iOS (and probably Android), disable autocorrect/capitalize for text input fields that shouldn’t have it (e.g. paths like /home/user/movies). Otherwise while typing things get automatically capitalized or corrected. I’ve seen this specifically with the ‘Save files to location’ field in ‘Upload local torrent’.

WolfganP commented 5 years ago

Something that wasn't further discussed in the big https://github.com/qbittorrent/qBittorrent/pull/9752#issuecomment-433019297 but may be part of this improvements' list for stability in testing/trying new webUIs:

I didn't analyze exactly how the AltWebUI works, but as the core is already precompiled, wouldn't it be possible to access the core one anyways in case the alt goes wrong somehow? (ie via http://someIP:8099/core/ even if AltWebUI is enabled)

Or the other way around, the core webUI always be default on the base URL and the alternative under http://someIP:8099/altwebui/

Thoughts?

heynando commented 5 years ago

I think the WebUI is fundamentally flawed because it means doubling the work of everything. I mean think of it like this, everything you add or remove or edit in the main UI you must repeat and do the same for the WebUI too. That feels like lifting two walls to stay on the same place. I don't mean that it is bad result no, but simply a bad investment of man-hour time.

I think the correct approach is a single UI that is fully compatible & based on HTML5, something like the new UWP apps for example. Depending on the window or other factors those can, totally on the fly, morph into multiple UIs (cellphone, tablet and full desktop mode), all constructed under one singular code stream whilst being able to run inside a browser too because of HTML5 compatibility, meaning the WebUI would basically be a direct interface with the engine and depending on the size of the screen/window it would adapt (small-medium-full). And to reduce work, this project allows the removal of the medium size window (tablet-mode), leaving only small (cellphone) and full (desktop) which is more easy to maintain.

Even if the suggested approach takes a more deep redesign of the main code, and much more initial man-hours to get any result at all, I say it's worth because it will pay for itself in terms of man-hours spared in the long run whilst also making the program future-proof.

Piccirello commented 5 years ago

@FernanDK This sounds like a great vision, please feel free to open a PR.

Piccirello commented 5 years ago

I've marked two right-click suggestions above as wontfix. I have no interest in disabling the browser's default right-click (context) menu when we don't have an alternative context menu to display.

heynando commented 5 years ago

@Piccirello > @FernanDK This sounds like a great vision, please feel free to open a PR.

I spent literally more than 20 minutes trying to open one, and it's not even the first time, but I couldn't get past the button "new pull request". The button "create new pull request" is greyed out and it keeps asking "Choose different branches or forks above to discuss and review changes." GitHub system for creating a new pull request is awfully unintuitive and retarded or I'm just really really dumb and I'm betting on the first one. To suggest a new feature or request should not be this hard.

Piccirello commented 5 years ago

If you’d like to request a feature you need to open an issue. A PR is used for merging your existing code changes into qBittorrent (from your branch into qBittorrent master).

Piccirello commented 5 years ago

Peers: Column names are in different order when right clicking

I can't reproduce this one. Can someone post a screenshot?

thalieht commented 5 years ago

Maybe he means different from GUI: GUI / WebUI

Piccirello commented 5 years ago

Right click: "Delete" option is a minus not a cross like in the "normal" ui

I actually think this is a bug on behalf of the GUI. The toolbar uses list-remove.svg for remove, but the context menu uses dialog-cancel.svg. On the WebUI they both use list-remove.svg.

Edit: TransferListWidget lists the icon as edit-delete, but I'm definitely seeing dialog-cancel on Ubuntu 16.04. 🤷‍♂️

Piccirello commented 5 years ago

General > Time active: different strings after time "seeded for XXX" vs "XXX this session"

I do think these are consistent across the GUI and WebUI, and which you see just depends on the state of the torrent.

simo1994 commented 5 years ago

May I suggest, when adding a torrent from the WebUI, to express the download and upload rate limits in KB/s instead of B/s?

Piccirello commented 5 years ago

@simo1994 implemented by @jerrymakesjelly in #10618

xnoreq commented 5 years ago

Can we get the fix for file selection checked in soon? It's been ~7 months since I reported the issue and gave suggestions how to fix the event handling and it's still broken.

edit: #10162

Piccirello commented 5 years ago

@xnoreq the PR is finally about to be merged, so the fix should land within the next few days. I should have applied the patch in a separate PR to avoid this scenario. Will note this for future bugs.

lnicola commented 5 years ago

I haven't tried 4.2, but I think the WebUI Add Torrent pane should be taller so it would fit without scrolling:

image

Maybe someone can add it to the list here?

Piccirello commented 5 years ago

@lnicola Opened PR #11030 to address this

noraj commented 5 years ago

@AceLewis 1) In 4.1.7 there is still not the ability to add/display tags so I don't know what are #10527 #10527 about or if those are released 2) I added some issues #11160 #11162 #11163 3) For Side bar: Trackers not available I registered #11165

Lagicrus commented 4 years ago

Could adding night/dark mode support natively be added to this list to make it easier to track progress compared to a 2.5y thread? https://github.com/qbittorrent/qBittorrent/issues/6434

loligans commented 4 years ago

Under the Content pane:

I can rename files, but I cannot rename folders in the Web UI. I am using Web UI v4.2.2

I have a torrent with a root folder that contains a few files. I can rename the files, but when I try to rename the folder I only get the option to change the Priority.

Perhaps add: Content: right click to rename folder

More information can be found at #12328

Prurite commented 4 years ago

How can I get the speed graph from remote server with only Web UI and SSH available? Thanks in advance

junpet commented 4 years ago

@Prurite I doubt you can.

FranciscoPombal commented 4 years ago

@Prurite

How can I get the speed graph from remote server with only Web UI and SSH available? Thanks in advance

The speedgraph is currently not exposed via the WebAPI (and the current WebAPI is not designed for that kind of stuff, unless a speedgraph with a pretty low update frequency would be acceptable to you), so it's currently not possible.

loligans commented 4 years ago

I believe something like that would be best suited for websockets instead of the existing polling architecture the webui uses.

Prurite commented 4 years ago

@FranciscoPombal

The speedgraph is currently not exposed via the WebAPI (and the current WebAPI is not designed for that kind of stuff, unless a speedgraph with a pretty low update frequency would be acceptable to you), so it's currently not possible.

OK, I'm using qbittorrent on a private tracker and for a nice seeding efficiency I need to remove the torrents that are 'inactive' (upload speed lower than a certain value say 1MB/s) for a period of time. Without speed graphs, is there anyway to see the upload/download traffic of a torrent in a period of time? I don't restart my server often, so the 'traffic of current session' isn't that meaningful to me. Thanks in advance.

FranciscoPombal commented 4 years ago

@Prurite

OK, I'm using qbittorrent on a private tracker and for a nice seeding efficiency I need to remove the torrents that are 'inactive' (upload speed lower than a certain value say 1MB/s) for a period of time. Without speed graphs, is there anyway to see the upload/download traffic of a torrent in a period of time? I don't restart my server often, so the 'traffic of current session' isn't that meaningful to me. Thanks in advance.

Without speed graphs, is there anyway to see the upload/download traffic of a torrent in a period of time?

I don't think there is a way to see this directly, with or without speed graphs. The speedgraph only shows you aggregate stats, not per-torrent, so it wouldn't be appropriate for your use case, right?

I think you've got 2 options:

  1. Look up such stats on the tracker website, if they provide them
  2. Code something to do what you want by querying the WebAPI (e.g. with Python 3)

Option 2 would be something like:

Then you can even extend the script to remove torrents whose average upload speed over the last X hours is below a certain threshold automatically.

More info on the WebAPI: https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)


Note: there is actually an "average upload speed" reported per-torrent, but it is the average since the torrent was added - so if you are uploading at 20 MiB/s for the first hour, and 0 afterwards, it will take an additional >19 hours before this average falls below 1 MiB/s. You might consider this to be too long for your use case. It's not "average over a period of time", but "average for this torrent since it was added".

Bolkarr commented 3 years ago

Speed: graphs do not exist Thumbs up for the graph

Meneth32 commented 3 years ago

With the Qt UI, you can launch / open files with their associated program on your local machine. I suppose this may not be possible with a Web UI, but it's probably a popular feature, it should be mentioned here for completeness' sake.

loligans commented 2 years ago

I've opened a new issue to add the ability to modify the structure of a torrent when it's first added. This includes things like directory names and file names. #15718

luzpaz commented 1 year ago

Is this tracking ticket still being maintained ?

AceLewis commented 1 year ago

Is this tracking ticket still being maintained ?

I am not, if you like I could when I have time re-go through all the issues raised in this ticket.

luzpaz commented 1 year ago

It may be valuable to x-ref with all the open WebUI labeled tickets

chezhades commented 1 year ago

Is this tracking ticket still being maintained ?

I am not, if you like I could when I have time re-go through all the issues raised in this ticket.

The one feature on this list that I find useful and don't currently have a workaround for is the speed graph: sometimes it's useful for me when I'm trying to troubleshoot connection issues to see the history of DL/UL speed overnight, say, and in the Windows UI that's as simple as clicking a button. If it's possible at some point to add this to the web UI it would be a great help! Thanks.

loligans commented 1 year ago

Anyone who is still following this, could you provide comments on this issue: #16239

scottcopus commented 1 year ago

I haven't tried 4.2, but I think the WebUI Add Torrent pane should be taller so it would fit without scrolling:

It would work better for me if it this pane was actually shorter. As it is now, this pane doesn't fit within my laptop's browser window area without me zooming out. A couple alternatives would be to make all panes "wide" (as in in 16x9 aspect ratio to coincide with most monitors), or to move the Download button nearer to the top.

luzpaz commented 1 year ago

@AceLewis do you mind bringing this list up to date ?

luzpaz commented 1 year ago

@xavier2k6 should we open tickets for remaining tasks in OPs post?

xavier2k6 commented 1 year ago

@xavier2k6 should we open tickets for remaining tasks in OPs post?

I don't use the WebUI much....only for testing purposes.

However, we could review/x-ref the tasks here first against latest master to see what may be still applicable.

(No doubt there will be new additions too)

I do know that there's no moving filter in the filter list & I plan to open a PR for that. (just from my own observation...didn't check if it was on list above)

luzpaz commented 1 year ago

I don't use WebUI much either. So maybe we can get some folks that do to help ?

xavier2k6 commented 1 year ago

So maybe we can get some folks that do to help ?

Enough on the plate as it stands to get through before biting off anymore......leave it for now.

thalieht commented 1 year ago

I updated the list for 4.6 branch. Not sure if the PR i attached to Content: right click to rename folder is the one that fixed it. I didn't even know that wasn't possible (i never rename anything).

j-peeters commented 5 months ago

I would like to add that a reset button in the filter field would be great to quickly empty it/reset the filter

20240419 qBittorrent

drws commented 3 weeks ago

Two more for the list: #20557 and #20603

Piccirello commented 3 weeks ago

This is a really comprehensive list. What’s exciting is several of these will be fixed soon by existing PRs. But definitely still a lot more work to be done.

Following up on my comment from nearly 6(!!) years ago - the vast majority of this list has been completed. I'm actively working on cookie management and the Add Torrent dialog, while a WebAPI now exists for torrent creation. After those three, the remaining items are incremental improvements. Such great progress from @qbittorrent/web-developers and other contributors during that time.

skomerko commented 3 weeks ago

I compared GUI with WebUI and there are still some notable features missing that should be added to the list:

1) Availability bar 2) Torrent options dialog 3) Start/pause session 4) Missing tracker filters (Tracker error, Other error, Warning) 5) Edit trackers option in context menu 6) Watched folders dialog 7) Tracker favicons 8) Hide zero and infinity values 9) Resolve peer hostnames 10) Next announce/min announce columns in trackers table (+ endpoints) 11) Change tracker tier in trackers table (arrows on the right) 12) Merge state icon column with name 13) Better speedlimit dialogs 14) Priority "By shown file order" in content table 15) Import/export RSS rules 16) Adjust columns to content 17) Notifications 18) Torrent category properties dialog

Add torent dialog: 1) Display torrent information 2) Add/remove tags dialog 3) Remember last used save path option 4) Set as default category option 5) Use anoter path for incomplete torrent option

Some of the above could also be applied to RSS Downloader.

Others: 1) Some kind of table pagination - really needed for people with huge amount of torrents 2) Better mobile support 3) Importing/exporting settings that are kept in localstorage

Piccirello commented 2 weeks ago

I compared GUI with WebUI and there are still some notable features missing that should be added to the list:

This is a great list.

Importing/exporting settings that are kept in localstorage

I've wanted this for so long - localstorage is an ugly hack. Perhaps via a separate WebAPI and configuration file? I suspect some of the core devs will have strong opinions on this.