Next release candidate: Lots of changes to download folder management, Qt 5.9

7485 views
Skip to first unread message

Nir Arbel

unread,
Aug 11, 2017, 6:28:06 PM8/11/17
to soulseek-...@googlegroups.com
I'm itching to release this build as it already fixed a lot of issues for quite a few users, but since it includes changes to very sensitive download folder management code I'm a little wary of releasing it just yet. I'm hoping you guys can try it out and let me know if you run into any new problems or whether it works well for you. Changes include:
  • Remote folder structures with more than one level of subfolders should now be properly recreated locally, and not flattened as before.
  • By default, the top-level folder for each download is the name of the user the file was downloaded from. Thank you grinsanscat for suggesting this! The behavior can be turned off under Options->File Sharing.
  • Files with illegal filename characters should now properly download on Windows.
  • All empty subfolders in the 'downloading' folder are now erased after every download.
  • Close all searches button. Also thanks to grinsanscat!
  • Qt 5.9.1 seems to work better for a number of Windows 10 users.
  • First time using AppImage for the Linux build! Hopefully works on most Linux distributions.
11/21: Rolled back to Qt 5.8 for the Mac build due to a yet unresolved UI bug. Other updates since the 7/29 build include minor fixes discussed in this thread.
12/21: Many users confirm Qt 5.9 works much better on OSX. The Mac build posted below uses 5.9 again, which means tab titles are back to looking screwed up. Hopefully this'll be fixed in Qt soon.


Let me know!

Thanks, Nir

majster

unread,
Aug 12, 2017, 6:42:34 AM8/12/17
to Soulseek Technical Discussion
Hello Nir. Can you publish Linux build?

tund...@gmail.com

unread,
Aug 12, 2017, 11:16:56 AM8/12/17
to Soulseek Technical Discussion
Will there be a new linux build with this release?

steveffisher

unread,
Aug 13, 2017, 1:39:34 AM8/13/17
to Soulseek Technical Discussion
The good news is that it appears people can now download tracks containing punctuation, so they're getting the message to update their build, obviously.

I did switch off the option to download folders with usernames, but they're still coming through, and some downloaded tracks which initially appear to be missing from the downloads are showing up in the 'Downloading' folder after completing the download itself.

MacOS High Sierra version 10.13 Beta (17A330h)
SoulSeekQT Build 2017.7.29

pd

unread,
Aug 13, 2017, 3:13:40 AM8/13/17
to Soulseek Technical Discussion
Would love a Linux build also.

Nir Arbel

unread,
Aug 13, 2017, 6:56:53 PM8/13/17
to soulseek-...@googlegroups.com
What do you guys think about AppImage, Snap, or Flatpak to make the executable work on different Linux distributions?

tund...@gmail.com

unread,
Aug 13, 2017, 7:00:27 PM8/13/17
to Soulseek Technical Discussion
Snap is Ubuntu default 16.04.

Nir Arbel

unread,
Aug 13, 2017, 7:20:56 PM8/13/17
to Soulseek Technical Discussion
Steve, are you saying newly downloaded files still end up in folders with the username in their path? Were those maybe files that were being downloaded while the setting was turned off?

Nir Arbel

unread,
Aug 13, 2017, 7:26:52 PM8/13/17
to Soulseek Technical Discussion
Looking into Snap and AppImage... so far I think AppImage may be better suited for distributing Qt applications. Will post here when I know more.

pd

unread,
Aug 13, 2017, 10:00:43 PM8/13/17
to Soulseek Technical Discussion
With snap, the user would need to install the snap with the "--classic" flag, or confinement (sandboxing) would be strict which would prevent the user from accessing or adding files into certain directories, anything onder /media for example. I don't think AppImage has sandboxing.

Nir Arbel

unread,
Aug 13, 2017, 10:34:48 PM8/13/17
to Soulseek Technical Discussion
I'm not sure what the real world advantages for SoulseekQt would be with sandboxing and those security features. If I understand correctly, I can use the Qt Linux deployment tool to put the SoulseekQt executable and all the libraries it needs in one folder, then bundle the folder into a single executable using AppImage that the user can run on almost any Linux distribution without any extra tools. I also love the idea of not having to build Qt statically every time they release a new version. Will experiment more with this later today and tomorrow.

pd

unread,
Aug 14, 2017, 12:38:01 AM8/14/17
to Soulseek Technical Discussion
I agree. I don't need sandboxing for SoulseekQt. What I meant was it would be confusing with the sandboxing security features if they installed the snap normally, because some people (like me) store music in /media and it wouldn't allow access to those directories. So the user would have to install it with the "--classic" flag. So AppImage makes more sense.

Nir Arbel

unread,
Aug 14, 2017, 12:42:13 AM8/14/17
to Soulseek Technical Discussion
Oh I see! Awesome, I'll try AppImage.

steveffisher

unread,
Aug 14, 2017, 2:58:43 AM8/14/17
to Soulseek Technical Discussion
It's OK, they did it once and haven't done it since.  Thank you.

steveffisher

unread,
Aug 14, 2017, 3:02:32 AM8/14/17
to Soulseek Technical Discussion

I have been getting this, though.  In the search header boxes, there is no 'X' to close the window, and a strange yellow and black 'bomb-like' icon appears!

vitora...@gmail.com

unread,
Aug 14, 2017, 7:47:34 PM8/14/17
to Soulseek Technical Discussion
Thanks!! Keep up the good work!

Nir Arbel

unread,
Aug 16, 2017, 1:46:56 AM8/16/17
to Soulseek Technical Discussion
Thanks vitor!

Nir Arbel

unread,
Aug 16, 2017, 4:33:39 AM8/16/17
to Soulseek Technical Discussion
Alright! I have the first AppImage built on Ubuntu 16.04. Qt deployment tool wouldn't work on 17.04, but the AppImage runs fine on 16.04, 17.04 and Debian 9. Only 64-bit to start with, but I'll create a 32-bit version if it goes well:


Nir Arbel

unread,
Aug 16, 2017, 4:34:29 AM8/16/17
to Soulseek Technical Discussion
Steve, that's the usual flashlight icon for search tabs... are you not seeing any close buttons? Did it run out of room in the search tab bar?

steveffisher

unread,
Aug 16, 2017, 10:42:35 AM8/16/17
to Soulseek Technical Discussion
No, no close button.  Doesn't matter whether the search string is short or long.

majster

unread,
Aug 16, 2017, 12:17:43 PM8/16/17
to Soulseek Technical Discussion
Works well on Mint 18.2 64bit

pd

unread,
Aug 16, 2017, 11:45:50 PM8/16/17
to Soulseek Technical Discussion
The AppImage works great on Ubuntu MATE 17.04.

grins...@gmail.com

unread,
Aug 18, 2017, 3:58:39 PM8/18/17
to Soulseek Technical Discussion
Hi Nir I also forgot to mention this when you first sent me the Mac build - close buttons on tabs are missing for me too, either getting that flashlight or an empty space where the X would be. Clicking the flashlight or the empty space still closes the tab as expected.

Nir Arbel

unread,
Aug 18, 2017, 7:24:41 PM8/18/17
to Soulseek Technical Discussion
*sigh* Yeah, looks like a bug in Qt 5.9.1. Supposedly fixed in the upcoming 5.9.2: https://bugreports.qt.io/browse/QTBUG-61092

I think Qt 5.9 fixes some other issue on OSX though, might be worth waiting for 5.9.2 before release. Here's a Qt 5.8 build in the meantime:

TJT74

unread,
Aug 20, 2017, 12:14:01 AM8/20/17
to Soulseek Technical Discussion
One bug that I've noticed is that the file counts are missing for most people who are on my userlist.  This is on Windows 10.
Message has been deleted

Kristijonas Latvelis

unread,
Aug 22, 2017, 5:12:37 PM8/22/17
to Soulseek Technical Discussion
Hello, I like your idea and I want join for it's development.

Nir Arbel

unread,
Aug 23, 2017, 12:06:34 AM8/23/17
to Soulseek Technical Discussion
Anyone else having a problem with missing file counts in the user list? I'm seeing file counts for everyone on my list.

Nir Arbel

unread,
Aug 24, 2017, 1:16:52 AM8/24/17
to Soulseek Technical Discussion
Thank you for offering Kr1st1s, I'm not looking for help right now.

psynature…

unread,
Aug 25, 2017, 4:34:57 PM8/25/17
to Soulseek Technical Discussion
no problems here on win7 (at least as far as i can tell, but i'm not hardcore user lately)
i might try it also on ubuntu based distro, however there i prefer to use windows version under wine (better tray icon support if i recall correctly)

Thank You for coding!

Sid

unread,
Aug 26, 2017, 5:41:09 PM8/26/17
to Soulseek Technical Discussion
Posted this some time ago in another thread, now this user have changed his directory name and everything downloads as it should.

Stumbled across similar problem, in my case user (ivstinivs) main share directory is named "__~~[]{}()". Download would not start and show Queued place 171 (this number never change), even tho search and user info Queued uploads was 0. This was using 2017-7-29 version, I tiried Soulseek NS as well and it would loop dowload starting on multiple files and not dowload either.

Hopefully this helps to pin point the issue, should be easy to test witch character is messing with download.

James Bassdrop

unread,
Aug 27, 2017, 7:10:07 AM8/27/17
to Soulseek Technical Discussion
I love the username download folders, but unfortunately on the third folder I tried to download it appears to have completely frozen my computer (Windows 7), requiring a hard power off by holding down the computer's power button...

Admittedly, I had quite a bit running on my computer at the time so I can't guarantee with 100% certainty that this caused it, but my computer's uptime was 35 days and was toast within 2-3 minutes of running this build of Soulseek... the very last thing I did before the computer froze was right click on a folder while browsing someone's files and click Download Folder... as soon as the right click menu disappeared, the computer was frozen, with the mouse cursor still beside that folder name.

If it were any other issue, I'd give it another go to confirm, but I don't want to risk data/drive corruption.


djsarcastro

unread,
Aug 27, 2017, 7:26:01 AM8/27/17
to Soulseek Technical Discussion
Also, I can confirm that the folder was, in fact, added to my queue... but not created until as soon as I started soulseek again (using version 2017.02.20)... seeing as there was no remote queue, seems unlikely that something else crashed the computer within that split second window before beginning the transfer.

Cheers, hope this helps :)

The Scarlet Fire

unread,
Aug 27, 2017, 7:39:40 AM8/27/17
to Soulseek Technical Discussion
Hi Nir,

Hope all is well. Thank you for the new Linux app update, I've been testing it for a little while now and have a few things to share back with you. First, I've tried this on my Ubuntu laptop as well as a virtual machine, and both have this issue: I cannot minimize Soulseek. To tray, dock, nothing. The whole GUI just flickers briefly once and each time I hit the minimize button in the upper corner of the GUI. Maximize and exit/close work fine but minimize won't work. Can you reproduce on Ubuntu (mint)?

Also, I am happy to report that I am seeing significantly better performance w/ this build of SSqt. Lower resource usage as well as more responsive user share browsing, etc.

Thanks again for all the work you do for this app.


sylvai...@gmail.com

unread,
Aug 27, 2017, 10:49:24 AM8/27/17
to Soulseek Technical Discussion
Hi,
With this release a lot of my uploads fail with status "local error".
In the terminal window I have this message : "QIODevice::write (QTcpSocket): device not open"
using SoulseekQt-2017-7-29-64bit.AppImage on Ubuntu 17.04

grins...@gmail.com

unread,
Aug 28, 2017, 12:57:47 AM8/28/17
to Soulseek Technical Discussion
One minor bug I've noticed (not limited to the new build) is the "scroll to" location of the left pane on a "Browse user's files" operation.

Expected behavior is that right pane shows dir contents, while left pane, which is typically a very long list of expanded dirs, would scroll to show the current selection
Observed behavior is that right pane shows dir contents, but left pane is scrolled to a portion of the dir list that does not include currently selected dir

To reproduce:
Right click on a search result, select "Browse user's files"
View switches to "Browse" tab
Split pane view shows dir hierarchy (Left) and dir contents (Right)
Left pane scrolls to a random portion of the dir list that does not include the currently selected dir

Nir Arbel

unread,
Aug 28, 2017, 7:37:22 PM8/28/17
to Soulseek Technical Discussion
Hey Scarlet and Psynature,

Your replies in this thread are either empty or deleted for some reason. I posted to the Google Groups product forum describing this issue in case you're curious:



Nir Arbel

unread,
Aug 29, 2017, 1:43:05 AM8/29/17
to Soulseek Technical Discussion
Scarlet, I'm not having any issues minimizing SoulseekQt-2017-7-29-64bit.AppImage on either Mint 18.2 (or Ubuntu 16.04). Are you on a different version of Mint?

Nir Arbel

unread,
Aug 29, 2017, 1:48:11 AM8/29/17
to soulseek-...@googlegroups.com
djsarcastro, it might have been precipitated by the transfer, but there's very little SoulseekQt can do on its on to crash your computer, so there might be something else going on on your machine. Has it happened again since?

Nir Arbel

unread,
Aug 29, 2017, 1:57:38 AM8/29/17
to Soulseek Technical Discussion
sylvainfaivre, is this only happening to you with that particular build? Is there a build that's not having this problem?

sylvai...@gmail.com

unread,
Aug 29, 2017, 3:59:21 AM8/29/17
to Soulseek Technical Discussion


On Tuesday, August 29, 2017 at 7:57:38 AM UTC+2, Nir Arbel wrote:
sylvainfaivre, is this only happening to you with that particular build? Is there a build that's not having this problem?

Hi, I never had this problem (uploads fail with "local error") with SoulseekQt-2016-1-17-64bit. I've been using it again for a few days because that problem was too annoying.
The message in the terminal window "QIODevice::write (QTcpSocket): device not open" also happens with SoulseekQt-2016-1-17-64bit so it might not be related to the problem. It also happens less often than the upload problem.

tripfog

unread,
Aug 30, 2017, 8:07:13 AM8/30/17
to Soulseek Technical Discussion

hi Nir, here just a tip for dropbox links, if you replace the last 0 with a 1, the link becomes a direct link. 

like this:
https://www.dropbox.com/s/c5zcjhpj432ol3c/SoulseekQt-2017-7-29.exe?dl=1

The Scarlet Fire

unread,
Aug 30, 2017, 8:50:41 AM8/30/17
to Soulseek Technical Discussion
Hi Nir,

I've attached a 1MB mp4 file showing the minimize issue, as well as how the Soulseek logo icon appears in a dock or panel. It's quite pixelated and blurry and blown out. Dock or panel, both look quite skewed.

Did you need an SVG or PNG icon for Soulseek? :)
Wasn't sure if you knew how it looked on Linux. Thank you!


For NIR.mp4

sylvai...@gmail.com

unread,
Aug 30, 2017, 2:49:58 PM8/30/17
to Soulseek Technical Discussion
Hi Nir, in fact it seems that I have the failed uploads bug with SoulseekQt-2016-1-17-64bit too, but in this version the status in Soulseek is "aborted" instead of "local error" in the latest release.
Is there anything I can do to help you troubleshoot this ?

sylvai...@gmail.com

unread,
Aug 30, 2017, 3:50:30 PM8/30/17
to Soulseek Technical Discussion
On Wednesday, August 30, 2017 at 8:49:58 PM UTC+2, sylvai...@gmail.com wrote:
Hi Nir, in fact it seems that I have the failed uploads bug with SoulseekQt-2016-1-17-64bit too, but in this version the status in Soulseek is "aborted" instead of "local error" in the latest release.
Is there anything I can do to help you troubleshoot this ?

OK, so I looked into it, and this is not the same problem. Uploads failing with status "aborted", both on SoulseekQt-2016-1-17-64bit and SoulseekQt-2017-7-29-64bit.AppImage, are when a folder name contains characters which are illegal on Windows file system, for example a colon ':'
I could confirm with another user than upgrading to the latest release on the downloader's side fixed this problem.

My other problem with uploads failing with status "local error" is unrelated, and happening only with the latest release. I'm going to try and find a pattern when this happens again.

a...@riga.ahlers.com

unread,
Aug 30, 2017, 5:18:17 PM8/30/17
to Soulseek Technical Discussion
Something weird I noticed, which is also valid for the previous build on Mac OS (I am running 10.12.6) is that the dock icon will stop working after Mac reboot.   "?" symbol will be displayed, instead and I would have to drag the SoulSeekQt application back into Dock to work.  However, when I start it, it opens another active SoulSeekQt icon in the dock, instead of using the one I just clicked...  Please check it out.

Nir Arbel

unread,
Aug 30, 2017, 10:30:52 PM8/30/17
to Soulseek Technical Discussion
tripfog, thanks, good to know. It's actually sending me back to dl=0 in my default browser (probably because of the Dropbox cookie), but in my secondary browser it does indeed download the file directly.

Nir Arbel

unread,
Aug 30, 2017, 11:40:30 PM8/30/17
to soulseek-...@googlegroups.com
Scarlet, this should let you hide the client on Xfce and keep it in the tray when you close it by toggling 'Minimize to tray on close' in Options->UI.


The 'Minimize to tray' setting is normally hidden and ignored on Linux, but still actually toggled by default. Just re-enabling it would mean other Linux users who upgrade may not be aware that the client no longer shuts down when they close the window (and is only accessible via a potentially non-existent tray), so I had to reimplement it as a new Linux specific setting that's off by default. 

Let me know if you run into any problems!

Thanks, Nir
 

Nir Arbel

unread,
Sep 1, 2017, 2:51:59 PM9/1/17
to Soulseek Technical Discussion
aei, I'm unable to reproduce this on 10.12.6 over here. Looking online it sounds like question marks appear in the dock if the application is moved from where it originally was, but it doesn't sound like you're doing that... not sure if this is relevant to your situation, but you could try removing all SoulseekQt icons from the dock, running SoulseekQt which will show the SoulseekQt icon in the dock again, right click that and select Options->Keep in Dock.
Message has been deleted

djsarcastro

unread,
Sep 2, 2017, 10:18:18 PM9/2/17
to Soulseek Technical Discussion
On Tuesday, 29 August 2017 01:48:11 UTC-4, Nir Arbel wrote:
djsarcastro, it might have been precipitated by the transfer, but there's very little SoulseekQt can do on its on to crash your computer, so there might be something else going on on your machine. Has it happened again since?

Good news (sorta).. seems to be drive-related on my part, it it ended up happening again earlier while Soulseek wasn't even open... guess it was purely coincidental that the first time it happened was immediately after installing this.

Guess I'll give this build another go then :)

a...@riga.ahlers.com

unread,
Sep 3, 2017, 8:28:10 AM9/3/17
to Soulseek Technical Discussion
aei, I'm unable to reproduce this on 10.12.6 over here. Looking online it sounds like question marks appear in the dock if the application is moved from where it originally was, but it doesn't sound like you're doing that... not sure if this is relevant to your situation, but you could try removing all SoulseekQt icons from the dock, running SoulseekQt which will show the SoulseekQt icon in the dock again, right click that and select Options->Keep in Dock.
Yes, I tried it a few times e.g. removed SoulseekQt icon from the dock, then ran SoulseekQt, then moved the icon where in the dock it should be and made sure "Keep in dock" was checked.   After reboot, there's always the question mark.   Something else, which might be relevant: if I drag SoulseekQt application over to my dock and then run it, another SoulseekQt icon appears at the end of the dock, making it two icons....   Something is wrong, but I don't know what.  I tried to reset Dock and re-install SoulseekQt, all to no avail.

Any thoughts? 

vpc...@gmail.com

unread,
Sep 7, 2017, 6:49:37 AM9/7/17
to Soulseek Technical Discussion
Hello Nir, i tried out your new release but unfortunately i get the same crashes as with the previous ones... I hope you'll be able to fix it sooner or later. Good Luck.

Here is the report :

Process:               SoulseekQt [40058]
Path:                  /Applications/SoulseekQt.app/Contents/MacOS/SoulseekQt
Identifier:            com.example.SoulseekQt
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           SoulseekQt [40058]
User ID:               502

Date/Time:             2017-09-06 22:35:33.889 +0200
OS Version:            Mac OS X 10.12.6 (16G29)
Report Version:        12
Anonymous UUID:        6F516B98-A28D-6AA0-9A54-1D7A7AB74523

Sleep/Wake UUID:       FC271F1D-0600-4DE7-9F32-B20375E7C264

Time Awake Since Boot: 620000 seconds
Time Since Wake:       99000 seconds

System Integrity Protection: enabled

Crashed Thread:        10

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
abort() called

Thread 0:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib         0x00007fff9cf1c6be close + 10
1   org.qt-project.QtNetwork       0x0000000104b25647 0x104a65000 + 788039
2   org.qt-project.QtNetwork       0x0000000104b22c35 0x104a65000 + 777269
3   org.qt-project.QtNetwork       0x0000000104b0e835 0x104a65000 + 694325
4   org.qt-project.QtNetwork       0x0000000104b0e8c1 0x104a65000 + 694465
5   org.qt-project.QtNetwork       0x0000000104b10104 0x104a65000 + 700676
6   org.qt-project.QtCore         0x0000000104619a81 QMetaObject::activate(QObject*, int, int, void**) + 913
7   org.qt-project.QtCore         0x00000001046223b4 QTimer::timerEvent(QTimerEvent*) + 100
8   org.qt-project.QtCore         0x0000000104612aa0 QObject::event(QEvent*) + 48
9   org.qt-project.QtWidgets       0x0000000103913bdd QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
10  org.qt-project.QtWidgets       0x00000001039164ac QApplication::notify(QObject*, QEvent*) + 5852
11  org.qt-project.QtCore         0x00000001045e89f4 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164
12  org.qt-project.QtCore         0x0000000104640326 QTimerInfoList::activateTimers() + 1142
13  libqcocoa.dylib               0x000000010658bde2 0x106564000 + 163298
14  com.apple.CoreFoundation       0x00007fff8768d321 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
15  com.apple.CoreFoundation       0x00007fff8766e197 __CFRunLoopDoSources0 + 423
16  com.apple.CoreFoundation       0x00007fff8766d716 __CFRunLoopRun + 934
17  com.apple.CoreFoundation       0x00007fff8766d114 CFRunLoopRunSpecific + 420
18  com.apple.HIToolbox           0x00007fff86bcdebc RunCurrentEventLoopInMode + 240
19  com.apple.HIToolbox           0x00007fff86bcdcf1 ReceiveNextEventCommon + 432
20  com.apple.HIToolbox           0x00007fff86bcdb26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
21  com.apple.AppKit               0x00007fff851