Risky Business
Submitted by Nir on Fri, 10/24/2014 - 15:34
Being between jobs as I currently am, I've had a lot more time than usual to push on a few of the most wanted SoulseekQt features and fixes from the last couple of years that I held off on due to their level of complexity and risk. Seeing as how risky some of these are, I'm posting the new builds here instead of to the download page in hopes that enough of you will try them out and report any problems that pop up, before silence reigns supreme and I feel confident enough to release them into the wild. First, the builds:
[Check the download page for updated links]
Here's what changed:
- Folders above shared folders should no longer show in search results and on other users' download page. For example, users should see SharedFiles/SomeFolder instead of /Users/MyRealName/SharedFiles/SomeFolder when they receive your search results and download your files. This is the riskiest of the risky changes, as it's implemented by replacing real paths on your end with random codes, and can potentially result in files that won't upload. Worked well in testing though!
- New setting (which is on by default) allows your client to upload small files (100k maximum, or whatever you set it to) without making the downloader wait in line. Great for transferring small text files containing information about the entire folder. The risk here is that I may have done something to screw up the upload queue code.
- File transfer code has been majorly cleaned up to minimize multithreaded interaction with sockets and files. This appears to have made one of the most persistently reported crashes on OSX over the last couple of years go away, and there's nothing pointing to the problem being Mac specific, so it could resolve some crashes on Windows as well. Who knows. Hopefully I didn't create any new potential crashes.
- Old-style table transfer views for those of you who want it. Columns can be re-ordered at will and the new order is memorized between sessions. Lots of changes to overall UI logic.
- Major code style change to the underlying data management system. It didn't result in any actual improvements or new functionality, and also something might have gone wrong.
Those are the big changes. Small changes include:
- Fixed a possible crash when removing download entries.
- Fixed a possible crash related to the top button bar when switching or opening new views.
- Splitter and column width settings in browsed share and upload views are now memorized.
- Tree widgets no longer use custom-drawn lines.
Added since the original post:
- 11/1: Added the oft requested option to set how frequently the client saves its data, under Options->General.
Cheers, Nir
Comments
Hi! Many thanks for your work
Hi! Many thanks for your work!
Old bug: After expanding program window, left click soulseek icon in tray - window will collapse.
Also, can you make a chat selection with shift key pressed:
http://i65.fastpic.ru/big/2014/1025/34/8abac8393346b0193f3f77593265f034.png
i got tons of this messages everyday.
Both should be addressed in
Both should be addressed in the updated builds above. Thanks!
no linux build...
no linux build...
Yeah, I'm on a new MacBook
Yeah, I'm on a new MacBook Pro and I don't have my Linux VMs and development environments set up yet. I'll post Linux builds here once I have them ready.
any progress?
any progress with linux?
on win all seems fine
Sorry for the lateness, new
Sorry for the lateness, new job and all. Updated Linux builds posted to the download page.
Thanks, Nir
New job? Good! :-D
New job? Good! :-D
speed no longer shows uphttp:
speed no longer shows up
http://prntscr.com/4zjd3i
Nice catch, should be fixed
Nice catch, should be fixed in the updated builds linked to above.
Just about to update to the
Just about to update to the new one! Let's see what happens....
Why can't I download the
Why can't I download the Windows build? Downloading it on my Dropbox takes forever, its last kilobytes seem damaged...
Been using this build now
Been using this build now since yesterday morning. Found no issues with it so far. Nice job. Thanks Nir.
Nice updates in this build.
Nice updates in this build. Anything that reduces possible crashes is a good thing.
I noticed the new Shared File Not Found tab in the Diagnostics window. It's interesting to see that people have files still queued that I had moved or changed folder names many months ago. Maybe the username could be added, so these people could be directed to the new folder/file location.
I noticed Shared File Not
I noticed Shared File Not Found tab also, mostly because there was a file listed in the tab, I have not moved the file or changed its name or anything, I can locate the file and download it to myself, and see no issues with the file. The only thing I can see is (2013) is not in the file title, but hasn't been since January, or before, why showing up now? Any ideas would be appreciated.
Hi Nir, how you're doing?
Hi Nir, how you're doing?
Full paths still show in the latest build.
http://oi59.tinypic.com/2dhwu41.jpg
Cheers, Chiquitin
Hey Chiquitin, it's been a
Hey Chiquitin, it's been a while! The new client hides your own paths, not other users'.
Ah sorry, my fault, it of
Ah sorry, my fault, it of course only works for users who already have the latest build.
Searching for a bug..........
Searching for a bug............. :-)
Yeah, when you show uploads and downloads in same tab, it always focuses uploads when returning from another tab, even if downloads had focus before. I always have to click in the download window before the "Clear Complete" button appears. Minor issue, though.
Keep up the good work!
new strings for translations
new translations strings needed :P
I've updated the builds in
I've updated the builds in the article with the latest translations, also updated the language files in Dropbox.
Thank you Nir :D
Thank you Nir :D
Thank you :)
Thank you :)
Thanks, Nir! I appreciate
Thanks, Nir! I appreciate your continued commitment to this project — Thanks for keeping Soulseek going. Love the new build (so far)!
Happy to hear :) thank you
Happy to hear :) thank you for the kind word!
Seems to stick and then blank
Seems to stick and then blank if a very long uploads list is being cleared, rather than the pause I used to see. Using Windows 7
I think I know why it's
I think I know why it's happening, I've updated the builds above with a probable fix.
Thanks! Nir
Added the oft requested
Added the oft requested option to set how frequently the client saves its data, under Options->General.
Thanks for this addition. I
Thanks for this addition. I don't know if it's a bug, but I noticed when I changed the time several times while still connected that it would no longer save any of the data. It would only resume saving after I changed the time again.
*Wishlist On/Off option,
*Wishlist On/Off option, either as a whole or by individual item. *Being able to stay on the tab you currently are (message/chat/chatroom/transfer room/Users files) without being automatically re-directed to the wishlist page that just opened up. PS: Thank you for all the help and for making all the sharing possible!!!!!
testing mac version. all
testing mac version. all fine by now.
i just wanted to point out and old bug:
"Removing Download" option does not delete the file being downloaded from hard disk. i had to do it manually.
thanks!
Hello good day! It's my first
Hello good day! It's my first time to visit here
but I'm so grateful and thankful because I've found
so much of interesting articles in your website.
I'll definitely recommend this site to my friends.
Thank you and Godbless...
buy datpiff views
Im having trouble signiing in
Im having trouble signiing in with my new password
this is the 6th time that I done this reset on my password
waiting for assistance and support
Hi, I am no longer able to
Hi, I am no longer able to open Soulseek. When I open it, I get a message titled "Microsoft Visual C++ Runtime Library" that says: "This application has requested the Runtime to terminate it in an unusual way". I tried re-installing but not luck. Any thoughts?
generally is caused when one
generally is caused when one of the settings files is damaged/corrupted.
Got it working again. Looks
Got it working again. Looks good. Thanks!!!
Working fine on Mac here...
Working fine on Mac here... Thanks
Thanks for the effort,
Thanks for the effort, working good on Mac!
I had several crashes on my
I had several crashes on my iMac (powered by Yosemite 10.10.1). Here is the log of the last one:
Date/Time: 2014-11-26 11:45:40 +0100
OS Version: 10.10.1 (Build 14B25)
Architecture: x86_64
Report Version: 21
Command: SoulseekQt
Path: /Applications/SoulseekQt.app/Contents/MacOS/SoulseekQt
Version: ??? (???)
Parent: launchd [1]
PID: 240
Event: hang
Duration: 0.80s (process was unresponsive for 31 seconds before sampling)
Steps: 9 (100ms sampling interval)
Hardware model: iMac11,2
Active cpus: 4
Fan speed: 1000 rpm
--------------------------------------------------
Timeline format: stacks are sorted chronologically
Use -i and -heavy to re-report with count sorting
--------------------------------------------------
Heaviest stack for the main thread of the target process:
9 start + 52 (SoulseekQt + 14948) [0x101f81a64]
9 main + 3489 (SoulseekQt + 18449) [0x101f82811]
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2338535) [0x102b2aee7]
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad]
9 ??? (<11698C69-9848-3320-B311-B5F9CF22C1FE> + 128484) [0x1057995e4]
9 -[NSApplication run] + 800 (AppKit + 98033) [0x7fff99c73ef1]
9 -[NSAutoreleasePool drain] + 153 (Foundation + 115023) [0x7fff98ca114f]
9 _CFAutoreleasePoolPop + 50 (CoreFoundation + 238194) [0x7fff9b6ad272]
9 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 575 (libobjc.A.dylib + 31007) [0x7fff9903b91f]
9 objc_object::sidetable_release(bool) + 236 (libobjc.A.dylib + 128652) [0x7fff9905368c]
9 -[NSBitmapGraphicsContext dealloc] + 94 (AppKit + 987770) [0x7fff99d4d27a]
9 -[NSWindowGraphicsContext dealloc] + 67 (AppKit + 987846) [0x7fff99d4d2c6]
9 -[NSCGSContext dealloc] + 25 (AppKit + 987878) [0x7fff99d4d2e6]
9 -[NSCGSContext _invalidate] + 79 (AppKit + 987995) [0x7fff99d4d35b]
9 CFRelease + 416 (CoreFoundation + 100768) [0x7fff9b68b9a0]
9 context_reclaim + 37 (CoreGraphics + 190344) [0x7fff8e39e788]
9 CFRelease + 416 (CoreFoundation + 100768) [0x7fff9b68b9a0]
9 CGContextDelegateFinalize + 55 (CoreGraphics + 190470) [0x7fff8e39e806]
9 ripc_Finalize + 234 (libRIP.A.dylib + 59909) [0x7fff951cca05]
9 RIPRemoveContextFromContextList + 40 (libRIP.A.dylib + 60488) [0x7fff951ccc48]
7 x_list_remove + 34 (CoreGraphics + 151204) [0x7fff8e394ea4] (running)
Process: SoulseekQt [240]
Path: /Applications/SoulseekQt.app/Contents/MacOS/SoulseekQt
Architecture: x86_64
Parent: launchd [1]
UID: 502
Task size: 121236 pages (-512)
CPU Time: 0.798s
Note: Unresponsive for 31 seconds before sampling
Note: 3 idle work queue threads omitted
Thread 0xd73 DispatchQueue 1 9 samples (1-9) priority 46 cpu time 0.798s
9 start + 52 (SoulseekQt + 14948) [0x101f81a64] 1-9
9 main + 3489 (SoulseekQt + 18449) [0x101f82811] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2338535) [0x102b2aee7] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<11698C69-9848-3320-B311-B5F9CF22C1FE> + 128484) [0x1057995e4] 1-9
9 -[NSApplication run] + 800 (AppKit + 98033) [0x7fff99c73ef1] 1-9
9 -[NSAutoreleasePool drain] + 153 (Foundation + 115023) [0x7fff98ca114f] 1-9
9 _CFAutoreleasePoolPop + 50 (CoreFoundation + 238194) [0x7fff9b6ad272] 1-9
9 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 575 (libobjc.A.dylib + 31007) [0x7fff9903b91f] 1-9
9 objc_object::sidetable_release(bool) + 236 (libobjc.A.dylib + 128652) [0x7fff9905368c] 1-9
9 -[NSBitmapGraphicsContext dealloc] + 94 (AppKit + 987770) [0x7fff99d4d27a] 1-9
9 -[NSWindowGraphicsContext dealloc] + 67 (AppKit + 987846) [0x7fff99d4d2c6] 1-9
9 -[NSCGSContext dealloc] + 25 (AppKit + 987878) [0x7fff99d4d2e6] 1-9
9 -[NSCGSContext _invalidate] + 79 (AppKit + 987995) [0x7fff99d4d35b] 1-9
9 CFRelease + 416 (CoreFoundation + 100768) [0x7fff9b68b9a0] 1-9
9 context_reclaim + 37 (CoreGraphics + 190344) [0x7fff8e39e788] 1-9
9 CFRelease + 416 (CoreFoundation + 100768) [0x7fff9b68b9a0] 1-9
9 CGContextDelegateFinalize + 55 (CoreGraphics + 190470) [0x7fff8e39e806] 1-9
9 ripc_Finalize + 234 (libRIP.A.dylib + 59909) [0x7fff951cca05] 1-9
9 RIPRemoveContextFromContextList + 40 (libRIP.A.dylib + 60488) [0x7fff951ccc48] 1-9
4 x_list_remove + 34 (CoreGraphics + 151204) [0x7fff8e394ea4] (running) 1-4
1 x_list_remove + 60 (CoreGraphics + 151230) [0x7fff8e394ebe] (running) 5
2 x_list_remove + 34 (CoreGraphics + 151204) [0x7fff8e394ea4] (running) 6-7
1 x_list_remove + 60 (CoreGraphics + 151230) [0x7fff8e394ebe] (running) 8
1 x_list_remove + 34 (CoreGraphics + 151204) [0x7fff8e394ea4] (running) 9
Thread 0xe3a DispatchQueue 2 9 samples (1-9) priority 46
9 _dispatch_mgr_thread + 52 (libdispatch.dylib + 19050) [0x7fff911eda6a] 1-9
9 kevent64 + 10 (libsystem_kernel.dylib + 94766) [0x7fff96d3022e] 1-9
*9 ??? (kernel + 6000416) [0xffffff80007b8f20] 1-9
Thread 0xf21 9 samples (1-9) priority 46
9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9
Thread 0xf22 9 samples (1-9) priority 31
9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 192638) [0x10291f07e] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2686363) [0x102b7fd9b] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2682104) [0x102b7ecf8] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9
Thread 0xf61 9 samples (1-9) priority 31
9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 192638) [0x10291f07e] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2686363) [0x102b7fd9b] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2682104) [0x102b7ecf8] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9
Thread 0xf62 9 samples (1-9) priority 31
9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 192638) [0x10291f07e] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2686363) [0x102b7fd9b] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2682104) [0x102b7ecf8] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9
Thread 0x1130 9 samples (1-9) priority 46
9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 _NSEventThread + 137 (AppKit + 1603495) [0x7fff99de37a7] 1-9
9 CFRunLoopRunSpecific + 296 (CoreFoundation + 464952) [0x7fff9b6e4838] 1-9
9 __CFRunLoopRun + 1371 (CoreFoundation + 466907) [0x7fff9b6e4fdb] 1-9
9 __CFRunLoopServiceMachPort + 212 (CoreFoundation + 469780) [0x7fff9b6e5b14] 1-9
9 mach_msg_trap + 10 (libsystem_kernel.dylib + 70958) [0x7fff96d2a52e] 1-9
*9 ipc_mqueue_receive_continue + 0 (kernel + 1209328) [0xffffff80003273f0] 1-9
Thread 0x118f 9 samples (1-9) priority 31
9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 192638) [0x10291f07e] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2686363) [0x102b7fd9b] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2682104) [0x102b7ecf8] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9
Thread 0x27cac 9 samples (1-9) priority 31
9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<85B57365-7E11-3D55-A891-2810FB8D36EE> + 17868) [0x108c845cc] 1-9
9 -[CWInterface scanForNetworksWithName:error:] + 109 (CoreWLAN + 132364) [0x7fff940d950c] 1-9
9 -[CWInterface(Private) scanForNetworksWithChannels:ssidList:legacyScanSSID:includeHiddenNetworks:mergedScanResults:maxAge:maxMissCount:maxWakeCount:maxAutoJoinCount:waitForWiFi:waitForBluetooth:priority:error:] + 638 (CoreWLAN + 154757) [0x7fff940dec85] 1-9
9 semaphore_wait_trap + 10 (libsystem_kernel.dylib + 71018) [0x7fff96d2a56a] 1-9
*9 semaphore_wait_continue + 0 (kernel + 1415472) [0xffffff8000359930] 1-9
Thanks for your great job !
bug found:
bug found:
"excluded download extensions" doesn't work. this regards to 2014.11.30 build as well
Will look into it over the
Will look into it over the weekend. Thanks!
Well, I dunno Nir, - it works
Well, I dunno Nir, - it works (even in Ubuntu), but what was wrong with the old display - funky, organic, rootsy, etcetera, whydja change it?
Not sure what you're
Not sure what you're referring to... what display?
Thanks for maintaining
Thanks for maintaining Soulseek! I'm creating package for my users (and lusers), for professional (my job) and home use (my friends). With soulseek I can give them a better alternative to spotify.
Soulseek -> check artist -> album good -> buy album -> done!
Spotify -> check artist -> listen -> artist gets paid nothing!
Thanks a lot!
Thanks a lot!
Thanks a lot
Thanks a lot
Hi Nir, I can no longer
Hi Nir, I can no longer download music. As soon as I issue a request the system goes offline. I continue to reset the modem, the bird turns blue and then I issue the search again and the bird goes offline and my downloads stop. This is only a few days old as a problem, cause you probably can tell I had success recently. Even tonight it goes off/on intermittently so I cannot rely on downloading. Please advise. I have over 370 days of support left and I'm worried that my downloads can no longer continue. Thanks Giuseppe
it is still behaving as usual
it is still behaving as usual. Called my ISP, they said everything was OK. Called Mcafee and they said my computer was fine. Please advise. I know you multitask at many jobs so please when you get time, please provide me with instructions to remedy this situation. Thanks Giuseppe.
Network keeps dropping upon
Network keeps dropping upon request. Do you have an update as to why only on Soulseek, the network intermittently drops. I can't get the application to run steady. Thanks.
Hello Nir, which backup and
Hello Nir, which backup and restore tool for SoulseekQT do you stand by, there are 2 different tools available, below are the links.
http://noyou.net/ss/SoulSeek-Backup.zip
http://www32.zippyshare.com/v/8318605/file.html
I really can't say since I
I really can't say since I haven't used either one. Perhaps someone else can weigh in?
Pages