]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
(no commit message)
authorspalax <spalax@web>
Mon, 29 Jun 2015 07:32:42 +0000 (03:32 -0400)
committeradmin <admin@branchable.com>
Mon, 29 Jun 2015 07:32:42 +0000 (03:32 -0400)
doc/bugs/Error_with_external_plugins.mdwn

index f2873692e21c8f08486e5ce4555567f75b472a1f..35245ace8593fd733c32cbb69210737fe815f08a 100644 (file)
@@ -62,3 +62,23 @@ Regards,
 > the plugin that something went wrong.
 > 
 > -- [[Louis|spalax]]
+
+>> Update: This can actually be a [proxy](https://github.com/joeyh/ikiwiki/blob/9c910a76e70111c50ba8cbb518277f809fc1d09d/plugins/proxy.py) error. Indeed:
+>> 
+>> - Ikiwiki sends a `methodCall` message to the plugin (which is a call to the
+>>   `preprocess` function);
+>> - the plugin sends a `methodCall` message to ikiwiki (which is a call to the
+>>   `srcfile` function);
+>> - Ikiwiki answers with a `methodCall` message:
+>>   - Ikiwiki answers this because the function call failed, and it is already
+>>     processing the next directive;
+>>   - the plugin thinks that it is its request answer, and misinterprets it.
+>> 
+>> Thus, I think that the bug is in the `proxy.py` python file. On receiving a
+>> `methodCall` (instead of a `methodResponse`) as an answer to a `methodCall`
+>> request, `proxy.py` should notice the type of request, and raise an exception,
+>> to exit any pending function execution, and call the requested function.
+>> 
+>> I know Python better than I know Perl, so I can try to fix this.
+>> 
+>> -- [[Louis|spalax]]