NTFS data streams (AFS) are not copied for files with long paths

If the full path for a file is too long (it seems that the threshold for that is around 255 chars) then NTFS data streams are not copied along with such a file, despite the option 'Copy all NTFS data streams' being checked in Preferences -> Copy Attributes.

There is no error message at all, DOpus just ignores the streams like they were never there.

The files themselves are copied ok and for shorter paths the bug does not occur at all.

Tested using usual copy / paste operation (only when the source / target drives were different but this probably does not matter).

This is crucial for plugins like CuMediaExtenders, which I use extensively.

Please fix.

Does it work when you copy with other software? It may be a limitation of the destination filesystem.

Have you tried with the Opus 13 beta? That uses a different copy method by default.

It works fine with Far Manager 3.

Both filesystems are NTFS - also, like I mentioned previously, for files with shorter paths DOpus works ok.

I have not tried v13 yet and I would not want to use beta software for production.

Might be caused by the clipboard. I'd try the normal Copy command.

Tried the 'Copy files' button between two listers - it also failed (the file copied fine but without streams).

I expect it already works in Opus 13, due to the new copy method.

We won't be changing how Opus 12 copies files this late in its lifecycle.

Opus 13 also has many of the columns CuMediaExtenders adds built-in, FWIW.

This is unprofessional, to say the least

In what way? The new version already has a new method of copying files. What do you want us to do exactly?

Well, you are selling a commercial product called DOpus, which is a file manager at its heart. What are the main functions of a file manager? Well, copying files around would surely qualify as one.

Now, you're telling me that such a function would never work correctly in my version of software and forcing me to use some untested version (while you haven't even tested whether it solves the bug - which is on another level of 'professionalism') and then eventually pay for a newer version just for me to be able to copy files correctly.

That's what one gets for getting reliant on paid software.

No one has brought up this issue until now in the many years Opus 12 (and previous versions that worked the same way) has been around. To act like it means file copying is completely broken and the product is useless is hyperbolic. (This also seems to be about cache data used by a script, which can be recreated if it's not copied.)

We aren't making large changes to Opus 12 now, as Opus 13 is the focus. Opus 13 already copies files in a different way to 12, with the Windows Shell taking care of ADS streams.

If you want to talk about "professionalism", how many developers would immediately drop everything and make changes to a fundamental aspect of a six year old version rather than the version they're working on? Changes to file copying code need to go through a long period of testing, and aren't made on a whim, as changes for one situation can cause problems for other people in other situations. It's unrealistic to expect that to be done in the old version, and it's already done in the new one.

Opus 13 is not unsafe to use. It has been in private beta for months and now in public beta for a few weeks. There are some minor issues to iron out, mainly in new functionality, but it's in a good state. It's up to you if you want a solution to your problem right now or to wait until it's out of beta, but the solution will be in Opus 13 either way.

I haven't had a chance to test things myself yet. That doesn't mean I am not going to test it. We have a stack of things to work through at the moment, and if I waited until I'd tested it you would not have had a reply for some time. Instead, I have replied with the information that Opus 13 likely already fixes the issue. It's up to you if you want to use that information, and try the new version, or dismiss it.

7 Likes

Ok, so I'm going to sum up your long explanation into an easy-to-digest list:

  • no one has brought up this issue
  • hence, it is not important to us (along with all the other power users with specific needs I suppose)
  • we wouldn't have resources to fix it anyway, as we're currently in a 'make more money' mode
  • 'beta' is just there as a decoration
  • pay us and things will get better. in the future. maybe.

Well, you do you - I really don't have any more time to explain just how bad each point on this list looks.

You've just lost a customer though.

You're being unrealistic. The solution is there. Try it if you want to, or don't. I've done all I can.

6 Likes

Follow-up after looking at this in more detail:

  • We've confirmed the new copy method copies ADS on paths >256 characters.

  • We've found why the old copy method didn't (due to Windows API limits, but they can be bypassed). We'll change that in Opus 13 so ADS can be copied in that situation even if the new copy mode is turned off.

Also:

  • It looks like you bought Opus 12 very recently, so the upgrade to 13 will either be free or cost very little money.

    Exact time windows and pricing haven't been decided yet, but we aim to be fair to people who buy just before a new version is announced, including free upgrades if it was close to or after the announcement. This is mentioned in the announcement itself.

    We aren't doing this to squeeze money out of you. After years of working on Opus 12, we have to focus our time on the new version or it'll never be finished.

  • Using paths longer than 256 characters is a bad idea. It will cause problems with some actions and software. Opus handles them better than most software, but we're still limited by Windows APIs and libraries that we don't have full control over, as well as external tools.

    Where it's feasible to make them work, we do, but the only thing we guarantee about paths longer than 256 characters is that you can rename them to something shorter to fix them. They shouldn't be left that long because they will cause problems with a lot of software, and parts of Windows itself.

    Even testing this was a pain because the Command Prompt in Windows is the easiest way to check for ADS, but it won't enter a directory with a path that long. That's part of the operating system.

7 Likes