Show nick instead of CID when browsing offline shares

Bug #381931 reported by lagalopex
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
LinuxDC++
Fix Released
Low
Steven Sheehy

Bug Description

When loading a filelist from a offline user or your offline yourself, linuxdcpp complains about a "Older file list format detected" which is just wrong.
The file could be loaded before (when user was online) and afterwards too.

When the user is not online, or a CID could not be extracted from the filename, just load the list. (The tab could be named like the file with or without extension.)

It happend to me more than once and its bad to have to wait for the user, although you have already a filelist. (Its not deleted at shutdown.)

Its the 1.0.3 on a gentoo amd64 system, but that should not matter.

Related branches

Revision history for this message
Steven Sheehy (steven-sheehy) wrote :

It's not quite that simple. The DirectoryListing DC++ API used to parse the file list requires a User object be created and in order to create a User object, you need a CID in the filename. The filename is required to be in the form [username].[CID].[xml|xml.bz2|DcLst] in order to parse it and create a User object from it. If the filename is not in that form then it will be rejected and the error message you receive will be shown. What is the name of the file you are having issues? It shouldn't matter if the user is online or offline, as long as the filename is in the correct format and the file itself is valid.

Revision history for this message
lagalopex (lagalopex) wrote :

You are right, but would it be a problem to hash the filename if no CID could be extraced and use that?

And even when the CID is extraced it just shows it instead of the "username" at the beginning of the filename, but thats no problem for me.

And change the error message. It tells something wrong. The "file list format" is alright. Just the name is unparseable for linuxdcpp. And thats just absurd to fail to load it beacause the filename is not formatted properly.

Revision history for this message
Steven Sheehy (steven-sheehy) wrote :

As I explained, we use the DC++ API and this behavior cannot be changed. If you want to complain to the upstream DC++ team about why the DirectoryListing API requires a User object, then feel free to do so. Besides, I do not think it is absurd that an application should validate its input regardless of whether it's the filename or the file contents being validated. It is quite rational that since DC++ generates this file list that it should be able to read it in in the format that it was written.

Regarding the CID showing up instead of the username, that is a problem that should be relatively easy to fix.

As for the error message, I propose we rename it to "Invalid file list name" since this is what DC++ shows. Do these two latter changes sound reasonable to you?

Changed in linuxdcpp:
assignee: nobody → Steven Sheehy (steven-sheehy)
importance: Undecided → Low
status: New → Confirmed
summary: - Loading filelist gives "Unable to open: Older file list format detected"
+ Show nick instead of CID when browsing offline shares
Changed in linuxdcpp:
milestone: none → 1.1.0
status: Confirmed → Fix Committed
tags: added: share-browser ui
Changed in linuxdcpp:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.