transmission-remote-gui / transgui

🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.
GNU General Public License v2.0
3.26k stars 282 forks source link

Please add user-defined Labels #978

Open vladimirvanchytsky opened 7 years ago

vladimirvanchytsky commented 7 years ago

Please add user-defined torrent's Labels (such as "Music", "Movies", "SW" etc.) for torrent easy sorting and manipulation.

leonsoft-kras commented 7 years ago

zzzzzz I can suggest you to set templates for folders. In the figure, an example of the destination folder for video files.

vladimirvanchytsky commented 7 years ago

Thanks, buddy. But there is probably goal misunderstanding. I wrote "for torrent easy sorting and manipulation", meaning already downloaded torrents - so my problem is NOT torrent placement during downloading, but manipulation with already placed torrents. For example, I need to group all downloaded Audiobooks to change data location for all them. Folder view take me no such possibility - it shows only last folder in data location tree, and there is no option to show e.g. first folder after base path.

Upd.: See folder structure - there is far more than one level of hierarchy in e.g. "Audiobooks" branch. In other way it would impossible to find particular movie/audiobook/e-book/music album... capture

lordvalium commented 6 years ago

Do you mean just labels as in rutorrent? That would indeed be nice

qu1ck commented 5 years ago

I started working on this feature and have a dev build ready https://github.com/qu1ck/transgui/releases/tag/label-dev

Imgur

You need server support too, repo here: https://github.com/qu1ck/transmission/tree/labels

antekgla commented 5 years ago

Great effort!!!! :+1: A major feature wanted for so long. (more of 7 years)

Pity what the official transmission server doesn't support this... 😢 The transmission developers team refuse to add this feature for years...

For more reading of this: https://github.com/transmission/transmission/issues/79

cfpp2p commented 5 years ago

@qu1ck It might be better if the existing pull https://github.com/transmission/transmission/pull/137 was utilized. It includes server side download groups https://github.com/transmission/transmission/pull/137/commits/bc8a56f56b9a0ab734d2f26149f17b20e57f43a6 with torrent set and get functions accessible through rpc "downloadGroup". Already well proved for the web client, it is nicely set up for rpc access. It is already integrated for daemon at my fork https://github.com/cfpp2p/transmission . @Belphemur had been doing a nice job keeping it updated for official transmission. There is a little history here: https://trac.transmissionbt.com/ticket/5385 also.

decadent commented 5 years ago

Note, qu1ck's work on labels is now in the daemon, merged in transmission/transmission#822. It implements several labels for a torrent.

The code is currently only in the master branch, and changes in the RPC protocol are in the current unversioned spec.

lvella commented 4 years ago

So @qu1ck , do you think your branch ready for a pull request?

qu1ck commented 4 years ago

Currently editing the labels is done via simple text field. I'd like to improve it with autocomplete and better UI. But maybe it can be done as a later step.

gartkb commented 4 years ago

Currently editing the labels is done via simple text field. I'd like to improve it with autocomplete and better UI. But maybe it can be done as a later step.

Hi qu1ck, I installed your dev build but labels is greyed out for me. Can you recommend a way for me to monitor so I can know when I should update for this feature? thx

qu1ck commented 4 years ago

If labels are greyed out that means the server does not support labels. You need to upgrade to dev build of transmission server as well. When I make a pull request it will be attached to this issue so you will get a notification.

qu1ck commented 4 years ago

My code has been merged. I don't know if I'll have time to improve the UI but it's usable now.

PrimozR commented 4 years ago

My code has been merged. I don't know if I'll have time to improve the UI but it's usable now.

Does that mean this works with Transmission 3.0?

EDIT: never mind, the code was merged after the last release occured...

qu1ck commented 4 years ago

Does that mean this works with Transmission 3.0?

Yes it does.

the code was merged after the last release occured

Correct, you need a dev build if you want support for labels in gui.

PrimozR commented 4 years ago

Correct, you need a dev build if you want support for labels in gui.

Are there any dev builds already prepared so I could test it? I'm not really in a position where I could do my own builds...

qu1ck commented 4 years ago

I uploaded dev builds for win64 built from current master here https://github.com/qu1ck/transgui/releases/tag/label-dev

gartkb commented 4 years ago

I uploaded dev builds for win64 built from current master here https://github.com/qu1ck/transgui/releases/tag/label-dev

THANK YOU! 👍

undaunt commented 4 years ago

This is fantastic, thanks @qu1ck

EDIT: When attempting to clear a label with one or multiple torrents by leaving it empty, I receive an error instead of it clearing the label.

qu1ck commented 4 years ago

@undaunt Fixed in #1335 , updated builds here https://github.com/qu1ck/transgui/releases/tag/labels-dev

undaunt commented 4 years ago

Awesome, thank you.

StentMan commented 4 years ago

I'm looking forward to using this feature. Been waiting for it for a long time. Any ETA when it's gonna be merged to the master branch and a build containing it will be released?

qu1ck commented 4 years ago

This project seems to be heading to abandonware bin, there hasn't been a commit since May. So I wouldn't hold my breath. You can get an unofficial windows build from the link I posted above.

undaunt commented 4 years ago

@qu1ck Any chance you are able to put out a MacOS version w/labels? Can I assist in some way if not?

qu1ck commented 4 years ago

@undaunt I tried compiling it on my mac but ran into multiple issues. You can give a try yourself, just check out https://github.com/qu1ck/transgui/tree/labels-dev and try to run scripts in setup/macosx. In theory install_deps.sh and create_app_new.sh is all you should need but it didn't work for me on 10.15 and I got stuck on some system dependency not being found.

qu1ck commented 4 years ago

Actually I managed to get travis to build it for me. I've uploaded mac build to https://github.com/qu1ck/transgui/releases/tag/labels-dev

Tested on 10.15, works fine.

PrimozR commented 4 years ago

If we're throwing our hats into the ring, is there any chance for the client to use the folder mapping everywhere, so even in the torrent properties display and the like and when adding torrents when you type out the folder where the torrent should be saved?

qu1ck commented 4 years ago

Not sure what you mean by folder mapping?

PrimozR commented 4 years ago

Sorry, Path Mapping. In Transmision Remote Gui you have the option of saying 'server:blabla' = 'client:foo' or something along those lines. That means that double clicking on a file with a 'unix/style/Path' is correctly translated to either 'differentUnix/with/a/different/path' or 'WinDrive:\path\to\Folder' and the file is opened, even though the actual Transmission client sees a different location for the file than the client OS.

When browsing for the file location when adding a torrent, the local client folder structure is shown and choosing a certain folder is then translated in the torrent adding window to the server-side-correct path. Is it possible to show a client side relevant path there too? And same goes for the 'Path' column in the torrents view (main view of Transmission Remote GUI), which also shows the server-side path?

I've gotten used to it and my mounts on server-side are relatively simple with Docker (luckily, the paths were very convoluted when I was trying to install and use Transmission in a jail on FreeNAS), so it works OK for now, but this would make it even more seamless, mainly for Windows client users running Transmission servers on Unix servers (I doubt there are any users going the other way).

And this might not be relevant to you, but considering you're adding code to the project, I suppose you might be aware of the underlying architecture and be able to comment on whether this is even possible to be achieved.

qu1ck commented 4 years ago

Ah, yes, I use path mapping all the time too.

So you are asking that

  1. Path column in torrents table recognize mapped paths and show client's equivalent instead of server's path when mapping is available.
  2. Torrent add dialog recognize mapped paths and allow using local client path when mapping is available.

First is definitely possible and relatively easy. Second is a bit hairy because if both client and server are same platform and paths look the same then it's impossible to recognize that you mean a server path or local mapped path. There probably needs to be an explicit toggle to indicate that you are using local paths and then transgui will validate that the path you chose is mapped correctly.

But either way this is unrelated to labels and I suggest you open a separate issue. Feel free to use my comment for problem description if you agree with it.

DuncanHills commented 4 years ago

Is this at the pull-request stage?

qu1ck commented 4 years ago

Main functionality is merged already, there are some fixes in #1335 that nobody has looked at for a while. I have custom builds with the fixes available for win and mac, see links above.

PrimozR commented 3 years ago

@qu1ck I think I found a bug. Having a label of 'Bla' opened with one torrent, giving a label of 'bla' to another torrent shows the amount of torrents with the label 'Bla' as two, but choosing the label view for 'Bla' only shows one torrent (the one labeled as 'Bla'), but no the torrent labeled as 'bla'. There is no 'bla' label in the label overview in the sidebar.

Different parts of the app thus take capital letters into account differently.

qu1ck commented 3 years ago

@PrimozR fixed. Get latest builds from https://github.com/qu1ck/transgui/releases/tag/labels

PrimozR commented 3 years ago

Can confirm, it works. Thanks!

sa-egor commented 3 years ago

Hello! Please specify why I can't add label? Button is not active. Screenshot_20210227_125550

P.S. I found my problem. Transmission need upgrade to version 3.

PrimozR commented 3 years ago

Another bug that I found, the TransGUI labels don't tie into the underlying client labels. My TransGUI labeled torrents had empty labels when connecting to the Transmission daemon through the web interface.

EDIT: I need to mention, I use the Transmission Web Control webUI, so that might also play a role. Can anyone confirm if the TransGUI labels work with other GUIs?

qu1ck commented 3 years ago

TransGUI labels use server side label functionality that I recently implemented in transmission daemon. Any client that uses the server api for labels will have full interoperability with TransGUI labels but if they have their own ad-hoc implementation those labels will not port over to any other client including TransGUI.

Update: I checked Transmission Web Control code, they save labels in browser local storage, not in transmission so those labels will not be interoperable with anything but their own app.

PrimozR commented 3 years ago

Yeah, when I first posted here I didn't even realise that I changed the WebUI, makes sense that they have it hacked together considering they support pre-v3 clients... Plus the labels don't do that much, you can view a label category and that's it, can't sort through them for example.

Sorry for a false alarm.

Nerdy314159265 commented 3 years ago

This project seems to be heading to abandonware bin, there hasn't been a commit since May. So I wouldn't hold my breath. You can get an unofficial windows build from the link I posted above.

I wish they'd pass the project off instead of letting it die.

qu1ck commented 3 years ago

Not many people willing to support pascal code with no test coverage. I'm thinking of reimplementing it as a lightweight web app. Maybe something that can replace the severely dated transmission web interface itself.

PrimozR commented 3 years ago

Do you know of transmission Web control? I used it when I was running transmission in a docker container, but it's not officially supported on FreeBSD, so don't have it running in the jail in truenas currently.

Would a Web app have all the functionality a standalone app has?

qu1ck commented 3 years ago

An electron app would but that's not lightweight. Simple web page doesn't have direct access to file system so things like deleting torrent when it's added or launching/opening files from torrents will not work.

Nerdy314159265 commented 3 years ago

A replacement for Transmission's web interface would probably be good, however, if something is made to replace this program it should have all the features that this program has at minimum.

The reason I'm still using this instead of any other options is because this is the only one that still has a reasonable remote gui experience. (Deluge might have a good one but I don't want to have to download an unofficial version or figure out the hacky Windows setup). So many other programs are limited to only Web UIs and Transmission's official remote version doesn't allow for easy switching between servers and has a less detailed UI (IIRC).

qu1ck commented 3 years ago

Transmission's built in web interface has same limitations any web interface has. And it doesn't even implement all available features so a replacement would be an enhancement in functionality. I'm saying that compared to a standalone desktop application a web interface will have less features unless it's an electron app.

Nerdy314159265 commented 3 years ago

I understand that, what I meant was that my preference would be a replacement for this application instead or first, because there currently isn't another program like as convenient as this and if this breaks then I'm SoL.

I'm not telling you what you have to work on just saying my opinion.

PrimozR commented 3 years ago

Deluge is horrible, once running multiples of 100s of torrents it's really really slow. As for remote gui, the application can be run as a daemon or as a remote gui, so the same app can either be running the full fledged client, doing the downloading, or can connect to a remote server and be a remote gui.

That way full functionality is preserved even when remoting.

As for transmission the path dictionary is what takes the cake for me when it comes to transmission remote gui. It's the only one with this functionality.

Nerdy314159265 commented 3 years ago

I really respect Deluge's single application design but what kills them in my eyes is that they've left their Windows build path broken and without official releases for years without bothering to fix it.

PrimozR commented 3 years ago

Oh yeah, that too.

elboletaire commented 1 year ago

Is this still ongoing? Any updates? I've just learned transmission has labels support, but no interface actually supports them, so I was wondering if this is ever gonna be available... ?

qu1ck commented 1 year ago

I added labels support to transgui a while ago (read posts above). There are some bugfixes in my custom builds here https://github.com/qu1ck/transgui/releases/tag/labels