Modify

Opened 6 years ago

Closed 6 years ago

#13410 closed defect (invalid)

Kis assistant not working anymore.

Reported by: dries.decock@… Owned by: Jon Ashley
Priority: normal Component: KeepInterfaceSimplePlugin
Severity: normal Keywords:
Cc: Trac Release: 1.2

Description

Since our upgrade to trac 1.2.2 and KeepInterfaceSimplePlugin 2.3, our kis assistant is not working anymore.

A simple use case is that we try to hide the version field for enhancements. The configuration used to be like this:

[kis_assistant]
version.visible.all = type == 'bug'

But the version field is always shown. Is there anything we can do to debug this issue?

Kind regards

Attachments (3)

kis2_loaded.PNG (128.6 KB) - added by hakan 6 years ago.
trac.ini (7.5 KB) - added by hakan 6 years ago.
plugins.PNG (45.6 KB) - added by hakan 6 years ago.

Download all attachments as: .zip

Change History (21)

comment:1 Changed 6 years ago by Jon Ashley

I'll try and reproduce it. Can you please tell me what platform you are using (Linux, Windows, ...), what browser and the browser version, and what other plugins are enabled, if any? If you can think of anything else about the environment that might be relevant, please let me know that too.

Are there any error messages in the browser console window (most browsers show this when F12 is pressed) or in the Trac error log?

Last edited 6 years ago by Jon Ashley (previous) (diff)

comment:2 Changed 6 years ago by Jon Ashley

Also, does the Trac admin panel show that the kis plugin is present and all components are enabled?

comment:3 Changed 6 years ago by Jon Ashley

I have not been able to reproduce this in Debian Linux, running Trac 1.2.2 from tracd, using the version of kisplugin under tags/2.3 and using Firefox ESR 52.6.0 as the browser.

comment:4 Changed 6 years ago by dries.decock@…

Hi,

the kis plugin is enabled in the admin panel.

I'm running debian 9.4 running trac 1.2.2 from apache and firefox 59.0.2. Is there any logging or debugging I could enable?

comment:5 Changed 6 years ago by Jon Ashley

There are no other plugins in use then? Just to be clear, as well as the plugin itself being enabled in the admin panel, are the three components BuiltInConfigFunction, KisAssistant and KisWarden also all enabled?

Check whether the client-side script is being sent to the browser. Open a ticket page, press F12 in the browser, then select the Debugger tab on the developer console. You should see the script 'kis.js' in the "Sources" list. Is it there?

Error messages such as syntax errors in the trac.ini configuration or undefined field names are sent to the developer console. Try putting a deliberate syntax error in the configuration and check this is logged in the console when viewing a ticket. For example,

[kis_assistant]
type.visible = true)

should log

unexpected input
    true)
    ----^

If you can't find that error message, try

[kis_assistant]
type.visible = dummy()

instead, which should throw a very visible error page "Function 'dummy' has no implementation", titled "Missing plugin or error in trac.ini [kis2_assistant]". Does it?

If none of this sheds any light on the issue, could you please post your trac.ini file here?

Last edited 6 years ago by Jon Ashley (previous) (diff)

comment:6 Changed 6 years ago by dries.decock@…

Hi,

I found the issue. It seems the ticket reference plugin (TracTicketReferencePlugin) is not compatible with the KeepInterfaceClean plugin. I disabled that plugin and it started working again. Sorry for the inconvenience.

Kind regards,

Last edited 6 years ago by Ryan J Ollos (previous) (diff)

comment:7 in reply to:  6 Changed 6 years ago by Ryan J Ollos

Replying to dries.decock@…:

I found the issue. It seems the ticket reference plugin (TracTicketReferencePlugin) is not compatible with the KeepInterfaceClean plugin.

TracTicketReferencePlugin has some JavaScript which could be the issue. Any errors in the browser console (trac:TracTroubleshooting#ChecktheBrowserConsole)?

Last edited 6 years ago by Ryan J Ollos (previous) (diff)

comment:8 Changed 6 years ago by Ryan J Ollos

Resolution: invalid
Status: newclosed

Reproduced and opened issue #9 for TracTicketReferencePlugin. I'll provide a patch for that plugin.

comment:9 Changed 6 years ago by Jon Ashley

I tried to reproduce the issue by installing TracTicketReferencePlugin, but haven't had any luck so far - both that plugin and KeepInterfaceSimplePlugin are working together fine.

However, I am getting an error in the browser console with TracTicketReferencePlugin enabled. This seems to originate in that plugin's ticket.js script and causes a later error in jQuery:

jQuery.Deferred exception: $(...).live is not a function @http://127.0.0.1:8080/chrome/ticketref/ticket.js:32:5
resolve/</mightThrow@http://127.0.0.1:8080/chrome/common/js/jquery.js:2:16085
resolve/</process<@http://127.0.0.1:8080/chrome/common/js/jquery.js:2:16754
 undefined  jquery.js:2:18858
TypeError: $(...).live is not a function[Learn More]  ticket.js:32:5

The .live method was apparently deprecated in jQuery 1.7 and removed in jQuery 1.9. Trac 1.2.2 appears to be using jQuery 3.2.1, so this could be related.

I'll see if I can replace the use of .live in TracTicketReferencePlugin with .on. It might resolve your issue - it's very difficult to say, as I can't reproduce it.

comment:10 Changed 6 years ago by Jon Ashley

You found the problem while I was typing up my comment... :)

comment:11 in reply to:  9 Changed 6 years ago by Ryan J Ollos

Replying to Jon Ashley:

Good to arrive at same solution!

The .live method was apparently deprecated in jQuery 1.7 and removed in jQuery 1.9. Trac 1.2.2 appears to be using jQuery 3.2.1, so this could be related.

Uses 1.11.3, see newly-added table.

comment:12 Changed 6 years ago by Jon Ashley

I wonder if the version of Trac in my distribution (Debian 10 'buster') has been modified then? I got the jQuery version by typing

$().jquery

in the browser console. One to watch out for in future and possibly the reason that I couldn't reproduce the error whereas you could; perhaps version 3.2.1 recovers from the missing-function error more robustly?

comment:13 Changed 6 years ago by Jon Ashley

Yes, that's it: Trac in Debian is using the distribution's package libjs-jquery at version 3.2.1-1.

comment:14 Changed 6 years ago by dries.decock@…

You guys rock! I will apply the patch for ticketreferenceplugin, and will verify everything is working as expected.

Thanks again!

comment:15 Changed 6 years ago by anonymous

I can confirm the patch is working!

comment:16 Changed 6 years ago by Jon Ashley

Awesome news! If this ticket were still open, I would close it.

Changed 6 years ago by hakan

Attachment: kis2_loaded.PNG added

Changed 6 years ago by hakan

Attachment: trac.ini added

Changed 6 years ago by hakan

Attachment: plugins.PNG added

comment:17 Changed 6 years ago by hakan

Resolution: invalid
Status: closedreopened

Hi all;

Can't have kis2 working. Ubuntu 18.04, Trac 1.2.3. I see kis2.js loaded, without errors.

Plugins I have are mastertickets enabled. dynfields disabled and uninstalled. some other plugins are also installed but not enabled.

I am testing kis2 with a simple custom field labeled "one" as below, but can't have the field "invisible". attachment:trac.ini

[kis2-assistant]
one.visible.all = status==assigned

[ticket-custom]
blockedby = text
blockedby.label = Blocked By
blocking = text
blocking.label = Blocking
one = text
one.label = one

Thanx in advance.

Last edited 6 years ago by Ryan J Ollos (previous) (diff)

comment:18 Changed 6 years ago by Ryan J Ollos

Resolution: invalid
Status: reopenedclosed

Please make a new ticket.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Jon Ashley.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.