Bug 712268

Summary: broken links
Product: [Fedora] Fedora Reporter: bob brush <bob>
Component: gnucashAssignee: Bill Nottingham <notting>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 15CC: fedora, huzaifas, info, kevin, martin.sourada, mtasaka, notting, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: gnucash-2.4.7-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-07-16 07:30:23 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Trace file with additional information
none
Generated report on F14
none
Generated report on F15 none

Description bob brush 2011-06-10 03:38:06 UTC
Description of problem:
Many common links do not open as they should

Version-Release number of selected component (if applicable):
release

How reproducible:
1 Run a report, for instance "Receivable Aging"
Click on the link at the top "Accounts Receivable", note that it opens a register window for the link gnc-register:acct-guid=111e4cda6cef70094a3c2d252042283d#

2 Now try and click the link for a customer name, instead of showing the customer edit dialog nothing happens the link is: (gnccustomer:customer=96d9030cfdd0b3d0f5dcbbd7f0883592#)

3 Now click the link for a customer balance, note that it opens another report, the customer report for the link gnc-ownerreport:owner=c:7e9f57226a94833a6bd127eaba6c1ef2&acct=111e4cda6cef70094a3c2d252042283d#

4 On the new report typically you can click the "Invoice" link to open a copy of the invoice, notice it will not work, the link is gncinvoice:invoice=635f8e5f5108b52cd4acacbf11d71ae3#

5 The Customer Report link won't work to edit the customer either, the link is gnccustomer:customer=7e9f57226a94833a6bd127eaba6c1ef2#

Steps to Reproduce:
1. try the above steps on Fedora 14
2. compare to the same on Fedora 15
3. verify the same results for 64 and 32 versions
  
Actual results:
most links broken

Expected results:
Links work

Additional info:
This makes gnucash mostly unusable

Comment 1 bob brush 2011-06-10 19:13:40 UTC
I have discovered a possible reason that fedora 15 is broke, tell me what you think about this theory..
on Fedora 14 the link is gncCustomer:customer=4a7e9dfec733d57457ef444b7339e635#
see the "C" ustomer
on Fedora 15 the link is gnccustomer:customer=4a7e9dfec733d57457ef444b7339e635#
see the "c" ustomer
could the browser thing be that picky?
I know the command line is, but most dialogs in gnucash pick up both c and C

Comment 2 info@kobaltwit.be 2011-06-19 23:00:31 UTC
Created attachment 505517 [details]
Trace file with additional information

This trace file shows a critical warning that appears on Fedora 15 a customer link is clicked in the receivable aging report. This warning doesn't appear on Fedora 14.

Since the GnuCash versions on F14 and F15 are essentially the same, it suspect this is actually the result of different WebKit versions:
F14: 1.3.10
F15: 1.4.0

Comment 3 info@kobaltwit.be 2011-06-19 23:08:54 UTC
Created attachment 505518 [details]
Generated report on F14

This attachment shows the intermediary report that GnuCash generates and is rendered by Webkit on F14.

Comment 4 info@kobaltwit.be 2011-06-19 23:12:40 UTC
Created attachment 505519 [details]
Generated report on F15

And this is the intermediary html file generated on F15 for the same report.

Note that for both reports the custom type handler is gncCustomer with a capital C, while the warning in the trace file shows gnccustomer with small c.

It appears that the new version of webkit lowercases the type handlers before passing them back to the GnuCash code to handle.

I'm not sure if this should be dealt with in WebKit or GnuCash.

Comment 5 Bill Nottingham 2011-06-20 19:33:15 UTC
Thanks for tracking this down some more (and apologies for not getting to it yet). 

Assigning to webkit for the moment.

Comment 6 bob brush 2011-06-22 14:57:40 UTC
Could this be possibly related:
http://bugs.webkit.org/show_bug.cgi?id=16409

2011-04-29

"the webkit codebase is chock full of broken case-sensitive URL scheme compares (see FrameLoader.cpp for example).  instead of changing all of those comparisons to be case-insensitive, it seems like it would be better to just make KURL normalize the URL scheme to lowercase."

"there should be no compatibility problem with this change since URL schemes are case-insensitive."

There is also another link to http://bugs.webkit.org/show_bug.cgi?id=53848

I think GnuCash is a bit sensitive so to speak?

Comment 7 info@kobaltwit.be 2011-06-23 09:42:36 UTC
@Bill: you're welcome (and no problem)

I have fixed this from the GnuCash side by forcing all custom URL handlers to lowercase avoiding any case sensitivity issues (see svn commits r20796 on trunk and r20797 on the 2.4 branch).

So this will be fixed with the next GnuCash release.

Comment 8 Bill Nottingham 2011-06-24 20:21:20 UTC
Moving back to gnucash, then.

Comment 9 Fedora Update System 2011-07-06 19:25:55 UTC
gnucash-2.4.7-1.el6,gnucash-docs-2.4.1-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/gnucash-2.4.7-1.el6,gnucash-docs-2.4.1-1.el6

Comment 10 Fedora Update System 2011-07-06 19:27:04 UTC
gnucash-2.4.7-1.fc14,gnucash-docs-2.4.1-1.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/gnucash-2.4.7-1.fc14,gnucash-docs-2.4.1-1.fc14

Comment 11 Fedora Update System 2011-07-06 19:28:28 UTC
gnucash-2.4.7-1.fc15,gnucash-docs-2.4.1-1.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/gnucash-2.4.7-1.fc15,gnucash-docs-2.4.1-1.fc15

Comment 12 Fedora Update System 2011-07-08 16:02:38 UTC
Package gnucash-2.4.7-1.el6, gnucash-docs-2.4.1-1.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing gnucash-2.4.7-1.el6 gnucash-docs-2.4.1-1.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/gnucash-2.4.7-1.el6,gnucash-docs-2.4.1-1.el6
then log in and leave karma (feedback).

Comment 13 Fedora Update System 2011-07-16 07:30:12 UTC
gnucash-2.4.7-1.fc14, gnucash-docs-2.4.1-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2011-07-16 07:34:03 UTC
gnucash-2.4.7-1.fc15, gnucash-docs-2.4.1-1.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2011-07-26 07:58:54 UTC
gnucash-2.4.7-1.el6, gnucash-docs-2.4.1-1.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.