SeaDrive 2.0.4 is available

Changelog:

  • [Win] Use username for cache folder name instead of a hash value
  • [Win] Retry download files when pinning a folder
  • [Win] Retry rename category folder when switching language
  • [Win] Only allow install on Windows 10 1709 or later
  • [Mac] Disable “search in Finder” option
  • Fix tray icon sync error status

If you’ve used previous versions, the cache folder name won’t change automatically. If you want to change it, delete your current account, remove the “hash” folder and login again.

We think this version is production ready in terms of core functionalities. We’re still working on a thumbnail plugin and some other small enhancements.

Enjoy!

2 Likes

Hi,

Would it be possible at any time that seafile folder will be mounted as a unit letter in Windows, as it’s done in version 1.
Having the mount inside the user directory is very problematic for some indexing and backup software.

Thanks,
Anton

Is there any chance to change the settings before seadrive starts? I need to be able to define a proxy and to have seadrive NOT check SSL certificate, just accept it. As such seadrive always crashes as I cannot change these settings.

Hi Wanni,

a not configured proxy + SSL validation enabled makes your SeaDrive client crash upon startup?

Well, you can try to edit the the client’s config database (config.db) with an SQLite database editor. In the screenshot below, I configured https://proxy.example.com to be the proxy of my SeaDrive 2.0.4 with DB Browser for SQLite, an open source tool.

The SSL validation setting is not available in this database file, but 1.) I really cannot imagine that this makes the client crash and 2.) even if it does, just look for the SSL validation setting in the accounts database file or in one of the other databases and edit it right there.

1 Like

Hi @Jonathan,

I’ve been testing the previous versions pretty intensively and, surprise, I did so again with this new release :wink:

To begin with: SeaDrive 2.0.4 (for Windows) is pretty great. During my tests, I did mean things to this newest addition to the SeaDrive family and it did well!

I repeated all the tests that I had done with SeaDrive 2.0.2 and 2.0.3. The reactions of SeaDrive 2.0.4. that I observed were almost always what I wanted/expected to see.

There are only a few observations that I want to share.
A.) When uninstalling SeaDrive, the local cache is not removed/purged. Is this the desired behavior?

Ideally, the admin is prompted: “Do you want to remove the local cache?”

B.) The problem that one or several category folders (“My libraries”, “Share with me”, …) get duplicated when changing languages is gone. YES!!

There is one caveat though: When a Windows Explorer window is open when changing the language, the labels of the category folders are not refreshed and remain in the original language (until you close that window). When you click on one of the category folders before the navigation bar is refreshed, you get a nasty error message “Path not available.”

The screenshot below exemplifies this situation: The client was set to German, then I switched to English, the navigation bar was not refreshed and I clicked on one of the category folders with a German label. Bamm, error message!

My idea to prevent this problem: Could the client require the user to close all Explorer windows prior to changing the language?

I realize that this problem will not happen often because the language is rarely changed. But maybe in combination with C.) below, this may be more interesting.

C.) When one logs out of the SeaDrive account with SeaDrive open in an Explorer windows and answers the question “Remove local cache?” with “Yes” , the SeaDrive node is removed from the navigation bar, but the node’s label in the address row changes to “SeaDrive (32-Bit)” and all the category folders are still available in the main part of the window. When you then click one of the category folders, the SeaDrive node is repinned to the navigation bar and there is no way to remove it.

If the user was forced to close all Explorer windows when changing the language or logging out of an account, the problem described in B.) and C.) would be avoided. The biggest benefit: You’d limit the risk of having an abandoned Seafile node in the nav bar.

D.) So far, my comments were just nice-to-haves. Now comes the one real issue that I am having with SeaDrive 2.0.4: The “Always keep on this device” and the “Free up space” function are not as reliable as they could be. 80% of my tests worked flawless, but in the remaining 20% I encountered one of these two problems:

  • When downloading a files, all files in the library would be downloaded, but the status sign for the library would remain “sync pending” (see screenshot below)
  • When freeing up space, all but but one/two files would be deleted in the library/folder. But because of this one/two files that refused to get deleted, the status icon of the library would remain “sync pending” - a second “free up this space” didn’t help (see screenshot below) When I opened the file by double-clicking on it, the status wouldn’t change either.


I had a feeling that the problem with the freeing up space most often happend with ZIP files. But as shown in the screenshot, it also happened with other files.

When I then repeated the download/free-up process (or the other way round), the problem was usually solved. But you don’t want to do things twice.

Bottom line:
I’ve been using SeaDrive 2 in production since 2.0.2, but with a bad feeling. This is the first version that feels almost ready for mass deployment.

Two features high up on my wishlist are these two: :wink:
i.) Context menu integration to create sharing links straight from Windows Explorer
ii.) Ability to not show “Shared with all” and “My libraries” (SeaDrive 2.0.3 is released!)

2 Likes

I can second rdb’s findings about the “Free up space” issue and I created my own topic on the issue, except he says it’s usually solved after doing it a second time, but in my case I can never get them to unsync.

Hi again,

after concluding my SeaDrive tests last night with great satisfaction, I returned to my computer this morning to see this problem:

The client tells me that I am NOT logged in, but I am definitely logged in (see screenshot below). I can access all the libraries shown in the screenshot and I can download files with the cloud icon. I can also upload files - which I can verify in Seahub.

To make matters weirder: This is what the accounts.db looks like:

So I wonder: Where does the client get the access credentials from?

2 Likes

Unfortunately it’s not possible to implement this way. Windows cloud files API doesn’t support such way.

@Wanni Are you sure this is the cause of the crash? Which version did you use before the crash?

@rdb, thank you for the feedback. Please find my replies below.

The intended behavior is:

  • The cache folder will not be removed unless the user choose to remove account information when uninstall
  • The shortcut in Explorer should be removed on uninstall. As as side effect, the placeholders in the cache folder will be removed too. But downloaded files will remain in the folder.

This is planned to be improved in the next version.

We don’t plan to handle this in near future.

This is usually not the case. The 32-Bit address appears because the registry entry 32-bit shortcut in Explorer is not deleted after log out. But our latest code will delete that registry entry after logout and remove local cache. So it usually won’t leave a 32-bit address. Perhaps it appears on your computer because you used some older version before and there is some incompatibility.

On my computer, it’s like this and I cannot click into any category folder.

By the way, the user documentation has been updated with the way to remove left-over shortcuts manually.

Can you share the seadrive.log when you initiate these operations? This is usually caused by failure to cache a file or uncache a file. In 2.0.4 we retry failed cache operations but not uncache operations.

There is no way to add this back with an MSI installer. We may try to build a separate MSIX installer and upload it to Windows Store. But this may take some time. Except for the installer, there is also some code to add.

It’s not in the near future plan. We’ll see whether it’s requested by more users.

What operations has you done? Can you share the seadrive.log and seadrive-gui.log?

@Jonathan
Here the log files:
Seadrive.log
[07/18/20 11:04:03] Starting SeaDrive client 2.0.4
[07/18/20 11:04:03] rpc server started.
[07/18/20 11:04:04] start to serve on pipe client
[07/18/20 11:04:05] start to serve on pipe client
[07/18/20 11:04:05] switching account to https://1.2.3.4:445 user@account.com.
[07/18/20 11:04:05] libcurl failed to GET https://1.2.3.4:445/api2/repos/: SSL peer certificate or SSH remote key was not OK.
[07/18/20 11:04:06] libcurl failed to GET https://1.2.3.4:445/seafhttp/protocol-version: SSL peer certificate or SSH remote key was not OK.

and seadrive_gui.log:
[07/18/20 11:03:59] loaded 1 accounts
[07/18/20 11:03:59] starting applet rpc service
[07/18/20 11:03:59] applet rpc service started
[07/18/20 11:04:00] seadrive gui started
[07/18/20 11:04:02] Using cache directory: C:/Users/me/seadrive_root
[07/18/20 11:04:02] starting seadrive daemon: seadrive.exe “-d” “C:/Users/me/seadrive/data” “-l” “C:/Users/me/seadrive/logs/seadrive.log” “C:\Users\me\seadrive_root”
[07/18/20 11:04:05] Unable to get config value download_limit: Config not exists
[07/18/20 11:04:05] Unable to get config value upload_limit: Config not exists
[07/18/20 11:04:07] Unable to switch to account https://1.2.3.4:445 user@account.com 123456 : ‘[’ or ‘{’ expected near end of file
[07/18/20 11:04:07] Failed to connect to named pipe: The system cannot find the file specified.

[07/18/20 11:04:08] Failed to connect to named pipe: The system cannot find the file specified.

[07/18/20 11:04:08] Failed to connect to named pipe: The system cannot find the file specified.

[07/18/20 11:04:09] Failed to connect to named pipe: The system cannot find the file specified.

[07/18/20 11:04:09] Failed to connect to named pipe: The system cannot find the file specified.

[07/18/20 11:04:10] Failed to connect to named pipe: The system cannot find the file specified.

[07/18/20 11:04:10] Failed to connect to named pipe: The system cannot find the file specified.

[07/18/20 11:04:10] Exiting with error: internal error: failed to connect to seadrive daemon
[07/18/20 11:04:10] Seadrive daemon process exited normally with code -529697949
[07/18/20 11:04:11] failed to write to named pipe: The pipe is being closed.

[07/18/20 11:04:11] failed to send rpc call: No error
[07/18/20 11:04:11] Unable to switch to account https://1.2.3.4:445 user@account.com 123456: Transport Error
[07/18/20 11:04:15] internal error: failed to connect to seadrive daemon
[07/18/20 11:04:15] failed to write to named pipe: The pipe is being closed.

[07/18/20 11:04:15] failed to send rpc call: No error
[07/18/20 11:04:15] Unable to get config value client_id: Transport Error
[07/18/20 11:04:15] failed to write to named pipe: The pipe is being closed.

[07/18/20 11:04:15] failed to send rpc call: No error
[07/18/20 11:04:15] Unable to set config value client_id
[07/18/20 11:04:15] app event loop exited with 1
[07/18/20 11:04:15] Unmounting before exit
[07/18/20 11:04:15] failed to write to named pipe: The pipe is being closed.

[07/18/20 11:04:15] failed to send rpc call: No error
[07/18/20 11:04:15] [Daemon Mgr] stopping seadrive daemon
[07/18/20 11:04:15] failed to write to named pipe: The pipe is being closed.

[07/18/20 11:04:15] failed to send rpc call: No error
[07/18/20 11:04:15] failed to stop seadrive daemon process: Transport Error
[07/18/20 11:04:15] failed to exit seadrive daemon

And every time I try to start it creates a new folder in Windows Explorer like this:

seadrivejpg

I tried to reproduce the situation. I thought I knew what I was doing. But I couldn’t reproduce it. I will try again and get back.

Hi - I uninstalled Seadrive but it left the library on my hard drive- how do I remove that ?

With version 1, cache size can be adjusted in settings. Is there any similar setting for v2?
V1 max size was very helpful for having an extra drive unit for laptops with a small ssd unit (most of them), allowing to have free space in ssd and the data accessible.
V2 seems not to have that option, so it seems not valid for that use case.

Now, I didn’t try to reproduce the problem, yet it happened.

What did I do: This morning, I logged out of my first Seafile account (account 1) and added another account (account 2) to SeaDrive. Later, I removed account 2 again but I didn’t log back into my account 1. Actually I forgot logging back into account 1 and only now realized it.

Current status: I am logged out of my Seafile Account: The Drive Client says “not logged in” and the accounts db does not contain a password. Yet, there is a SeaDrive node in the Explorer’s nav bar and there are status icons shown.

In the screenshot above, all elements (only files) show icons.

In the screenshot below, only the files show an icon. This is actually a pattern. All files have an icon, but no folder seems to have one.

I’ll send the log files by PM.

i have same problem duplicate seadrive in explorer…

i remove the duplicate in regedit in HKEY_CURRENT_USER\Software\Classes\CLSID

Hi @Wanni

You can temporarily fix the issue by uninstall SeaDrive, choose to remove account information.

But can you first check whether there is some recent dump files in C:\username\user\seadrive\logs\dumps?

@wolf001 @DoubleD

Please refer to the end of the manual: https://download.seafile.com/published/seafile-user-manual/drive_client/drive_client_2.0_for_windows_10.md

Hi @avelo

SeaDrive 2.0 let users access the cache folder directly. The cached files are real files in NTFS. So the total size is naturally limited by the size of the partition. It will never use more than the partition size. So there is no need for setting cache size limit.