task #30
closedIssue recurring not compatible with additionals / additional_tags
Description
When using together this plugin (Issue recurring) with the plugins
- additionals (https://github.com/AlphaNodes/additionals)
- additional_tags (https://github.com/AlphaNodes/additional_tags)
a stack overflow error occurs when copying an issue. I made an issue in the guthub page of additional_tags project (https://github.com/AlphaNodes/additional_tags/issues/6). It seems the problem is in the method of realization of copy_from
method. The methods should be the same, but in this case they are different.
More information is given in https://github.com/AlphaNodes/additional_tags/issues/6 and https://github.com/AlphaNodes/additionals/issues/71#issuecomment-591290491
Updated by cryptogopher almost 4 years ago
Thank you for reporting. I wasn't even aware that such kind of problem even exists.
My understanding of the problem is that different plugins can use at least 2 different methods to override (patch) existing code (in this case: Issue#copy_from
method). These methods are:
1. alias_method
- like additional_tags
plugin does (https://github.com/AlphaNodes/additional_tags/blob/master/lib/additional_tags/patches/issue_patch.rb)
and
2. prepend
+ super
- like additionals
and issue_recuring
plugins do source:lib/issue_recurring/issue_patch.rb@2d1ffc87.
The problem is that all plugins have to patch the same code using same method consistently - otherwise problem occurs.
The question is: what kind of action do you expect from me? Whichever method of overriding issue_recurring
uses, it will be incompatible with one of your other plugins. Moreover, according to this comment https://github.com/AlphaNodes/additionals/issues/71#issuecomment-591290491, prepend
+ super
is considered preferred way of overriding code. Changing it to alias_method
in issue_recurring
would be a step back.
Updated by cryptogopher almost 4 years ago
- Status changed from feedback to in progress
Ok, I patched the code for you to be able to run it along with additional_tags
.
You just need to make sure you're running latest issue_recurring
version and replace the file in your installation with: source:lib/issue_recurring/issue_patch.rb@issue30
I'm providing this patch only for transitory period, until other plugins update to prepend
+super
. I won't be actively updating it. If issue_recurring
will upgrade in the meantime and you still need this patch and want to upgrade as well - let me know here. I'm not closing this ticket for some time.
Keep in mind though that - due to nature of the problem - even after applying this patch you can run into issues with different plugins (that don't use alias_method
and override Issue#copy_from
) and there is nothing we can do about it :/
Updated by jwalkerbg almost 4 years ago
Thank you very much for this patch. I applied it and then copy issue
was successful. Indeed, a tend to use as few plugins as it is possible, and this is because of avoiding compatibility problems. I use additionals
because it is used by another plugin - additional_tags
. Redmine lacks core tagging system and we have to use third party plugins fer that functionality.
Updated by kepi almost 3 years ago
Just to let you know, same issue is with ixti/redmine_tags and fortunately same fix works. Thanks!
Updated by cryptogopher over 1 year ago
- Status changed from in progress to closed
Updated by admin over 1 year ago
- Tracker changed from 2 to task
- Target version set to unspecified
- Redmine version set to unspecified