Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 363062

Summary: Orion navigator shows actions on wrong file.
Product: [ECD] Orion Reporter: Mike Wilson <Mike_Wilson>
Component: ClientAssignee: Susan McCourt <susan>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: mamacdon, susan
Version: 0.3   
Target Milestone: 0.4 M1   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
(hidden) mouse is hovering over 'restart.sh~' none

Description Mike Wilson CLA 2011-11-07 11:31:03 EST
Created attachment 206533 [details]
(hidden) mouse is hovering over 'restart.sh~'

1) In an orion workspace, in the same directory, create two empty files: 'restart.sh' and 'restart.sh~'
2) hover the mouse over the 'restart.sh~' file and notice that it shows the actions beside 'restart.sh'

If you delete the 'restart.sh' file, then hovering over 'restart.sh~' will display the actions in the right place, so it looks like information is being lost somewhere (i.e. it thinks 'restart.sh~' == 'restart.sh').
Comment 1 Susan McCourt CLA 2011-11-09 09:26:51 EST
I assume that this is just for that file?  Or are you seeing selection problems for all the files?
Comment 2 Mark Macdonald CLA 2011-11-09 14:41:16 EST
(In reply to comment #1)
> I assume that this is just for that file?  Or are you seeing selection problems
> for all the files?

I see this too. The file explorer uses filenames to construct DOM IDs for table rows, but it ignores special characters. So when you have 2 files whose names differ only by special characters, we have a DOM ID collision, which messes up the hover.
Comment 3 Susan McCourt CLA 2011-11-23 15:57:17 EST
This was fun, I felt like I was doing computer science homework.  We were originally stripping out all characters that would be invalid in a DOM id.  So instead we need to substitute the stripped characters with something.  I finally opted for pattern matching each character, and if we want to "strip" it, we substitute its ascii value in the dom id. Tested with some really long file names and didn't notice a degradation in performance.  

fixed with 3415481a3816d2ee5cc047fa597136e551fbadc1