Redmine: Issueshttps://www.redmine.org/https://www.redmine.org/favicon.ico?16793021292024-02-28T11:59:45ZRedmine
Redmine Redmine - Patch #40325 (New): Redmine Email Notification Issue - Help Needed for Modern Authentic...https://www.redmine.org/issues/403252024-02-28T11:59:45ZDarshan Faldu
<p>Hi,</p>
<p>We've recently configured Redmine for our organization, and while everything seems to be working smoothly, we're encountering an issue with email notifications.</p>
<p>We have configured the email delivery method to use SMTP, as shown below:</p>
<pre><code class="ruby syntaxhl"><span class="ss">email_delivery:
delivery_method: :smtp</span>
<span class="ss">smtp_settings:
address: </span><span class="n">smtp</span><span class="p">.</span><span class="nf">office365</span><span class="p">.</span><span class="nf">com</span>
<span class="ss">port: </span><span class="mi">587</span>
<span class="ss">domain: </span><span class="n">smtp</span><span class="p">.</span><span class="nf">office365</span><span class="p">.</span><span class="nf">com</span>
<span class="ss">authentication: :login</span>
<span class="ss">user_name: </span><span class="s2">"noreply@myorg.com"</span>
<span class="ss">password: </span><span class="s2">"my~p@ssw0rd"</span>
<span class="ss">enable_starttls_auto: </span><span class="kp">true</span>
</code></pre>
<p>However, when attempting to send a test email, we receive the following error:</p>
<blockquote>
<p>An error occurred while sending mail (535 5.7.139 Authentication unsuccessful, basic authentication is disabled. [BM1PR01CA0164.INDPRD01.PROD.OUTLOOK.COM 2024-02-28T11:48:49.884Z 08DC38275E4F25C6])</p>
</blockquote>
<p>Our research suggests that Redmine may not fully support modern authentication methods by default, and Microsoft's deprecation of basic authentication for Office 365 further complicates this situation.</p>
<p>We would greatly appreciate your guidance on how to address this issue and ensure successful email notifications from Redmine.</p>
<p>Below are the Redmine installation information.</p>
<pre><code class="yaml syntaxhl"><span class="na">Environment</span><span class="pi">:</span>
<span class="s">Redmine version 5.0.3.stable</span>
<span class="s">Ruby version 2.6.10-p210 (2022-04-12) [x64-mingw32]</span>
<span class="s">Rails version 6.1.7</span>
<span class="s">Environment production</span>
<span class="s">Database adapter Mysql2</span>
<span class="s">Mailer queue ActiveJob::QueueAdapters::AsyncAdapter</span>
<span class="s">Mailer delivery smtp</span>
<span class="na">Redmine settings</span><span class="pi">:</span>
<span class="s">Redmine theme Default</span>
<span class="na">SCM</span><span class="pi">:</span>
<span class="s">Git 2.41.0</span>
<span class="s">Filesystem</span>
<span class="na">Redmine plugins</span><span class="pi">:</span>
<span class="s">no plugin installed</span>
</code></pre>
<p>Thank you for your time and assistance.</p> Redmine - Patch #40267 (New): Phone number as a link for textile formating texthttps://www.redmine.org/issues/402672024-02-19T17:09:32ZAnton Nekrasov
<p>Hello. The following syntax is not currently used to display phone as textile format links.<br />"+588882222":tel:+588882222</p> Redmine - Patch #40221 (New): Update wiki content related to how to create a custom themehttps://www.redmine.org/issues/402212024-02-10T10:31:36ZMarius BĂLTEANU
<p>After we finish the migration to Asset Pipeline, we need to update Wiki pages related to custom themese, for example: <a class="wiki-page" href="https://www.redmine.org/projects/redmine/wiki/HowTo_create_a_custom_Redmine_theme">HowTo_create_a_custom_Redmine_theme</a></p> Redmine - Patch #40202 (New): Add LICENSE.txt in the root directoryhttps://www.redmine.org/issues/402022024-02-07T02:35:13ZGo MAEDA
<p>Currently, the COPYING file which describes the license of Redmine is placed under the doc directory. This placement might not be immediately obvious to people.</p>
<p>I propose the addition of a short license file, named LICENSE.txt, to the root directory. This file briefly states that Redmine is licensed under the GNU General Public License version 2 (GPLv2) and the full license text can be found in the doc directory.</p>
<p>This approach has several benefits:</p>
<ol>
<li>It makes it easier for people to find and understand the licensing information at a glance</li>
<li>GitHub will automatically detect the presence of the LICENSE.txt file and display a link to it in the repository's sidebar</li>
<li>It aligns with the common practice among open-source projects to include licensing information in the root directory</li>
</ol> Redmine - Patch #40198 (New): Update html-pipeline to 3.0https://www.redmine.org/issues/401982024-02-06T07:05:04ZMarius BĂLTEANU
<p><a class="external" href="https://github.com/gjtorikian/html-pipeline/blob/main/CHANGELOG.md">https://github.com/gjtorikian/html-pipeline/blob/main/CHANGELOG.md</a></p> Redmine - Patch #40197 (New): Update commonmark to 1.0https://www.redmine.org/issues/401972024-02-06T07:04:34ZMarius BĂLTEANU
<p><a class="external" href="https://github.com/gjtorikian/commonmarker/blob/main/CHANGELOG.md">https://github.com/gjtorikian/commonmarker/blob/main/CHANGELOG.md</a></p> Redmine - Patch #40194 (New): Fix error in clear_disabled_fields method when IssuePriority is mis...https://www.redmine.org/issues/401942024-02-05T15:57:18ZYazan Al aeddin
<p>Hello</p>
<p>The clear_disabled_fields method in the Redmine codebase raises a NoMethodError exception when called,<br /> and the IssuePriority model is missing. This occurs due to an attempt to access the id attribute of IssuePriority without verifying its presence. The proposed fix ensures that the method gracefully handles the case where IssuePriority is missing by checking for its presence before accessing its attributes.<br />I propose this patch</p> Redmine - Patch #40014 (New): Comma support in Wiki macro with double quoteshttps://www.redmine.org/issues/400142024-01-08T05:48:09ZYasu Saku
<p>Please consider supporting comma in Wiki macro.</p>
<p>I have considered using double quotes and I'm attaching a patch.<br />This patch supports the following two additional features.<br />1. Double quotes can be escaped by placing two consecutive double quotes.<br />2. Support for enclosing values in double quotes in key/value pair arguments.</p>
<p>For example:<br /><pre><code class="ruby syntaxhl"><span class="n">args</span> <span class="o">=</span> <span class="s1">'a, "b, bbb, b", cc c, """d, ""d""", "e" , hh, , "", """", jj=jj, kk="kk, k", "ll=l,ll"'</span>
<span class="n">args</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="nf">split</span><span class="p">(</span><span class="sr">/\s*,\s*(?=(?:[^"]*"[^"]*")*[^"]*$)/</span><span class="p">).</span><span class="nf">map</span><span class="p">{</span><span class="o">|</span><span class="n">i</span><span class="o">|</span> <span class="n">i</span><span class="p">.</span><span class="nf">gsub</span><span class="p">(</span><span class="sr">/^"(.*)"$/</span><span class="p">,</span> <span class="s1">'\1'</span><span class="p">).</span><span class="nf">gsub</span><span class="p">(</span><span class="s1">'""'</span><span class="p">,</span> <span class="s1">'"'</span><span class="p">)}</span>
<span class="c1"># args:</span>
<span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b, bbb, b"</span><span class="p">,</span> <span class="s2">"cc c"</span><span class="p">,</span> <span class="s2">"</span><span class="se">\"</span><span class="s2">d, </span><span class="se">\"</span><span class="s2">d</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"e"</span><span class="p">,</span> <span class="s2">"hh"</span><span class="p">,</span> <span class="s2">""</span><span class="p">,</span> <span class="s2">""</span><span class="p">,</span> <span class="s2">"</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"jj=jj"</span><span class="p">,</span> <span class="s2">"kk=</span><span class="se">\"</span><span class="s2">kk, k</span><span class="se">\"</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"ll=l,ll"</span><span class="p">]</span>
</code></pre></p> Redmine - Patch #39895 (New): Add hook call in edit issue formhttps://www.redmine.org/issues/398952023-12-21T03:04:54ZAllan C
<p>In Time Spent module, there is a hook call to view_timelog_edit_form_bottom.</p>
<p>In Issue module, when edit issue, there is a section to input time spent but no hook call to view_timelog_edit_form_bottom.</p>
<p>A pull request has been created to add in the hook call and can be viewed <a href="https://github.com/redmine/redmine/pull/148" class="external">here</a>.</p>
<p>Appreciate if the PR can be reviewed. Thanks.</p> Redmine - Patch #39385 (New): Install Redmine on cPanel hostinghttps://www.redmine.org/issues/393852023-10-27T14:06:51ZAndre Men
<a name="Install-Redmine-on-cPanel-hosting"></a>
<h1 >Install Redmine on cPanel hosting<a href="#Install-Redmine-on-cPanel-hosting" class="wiki-anchor">¶</a></h1>
<p>Any one can install it for me over cPanel hosting?</p>
<p>I need a fresh install.</p>
<p>Regards, Andre</p> Redmine - Patch #39050 (New): New design for the calendar viewhttps://www.redmine.org/issues/390502023-09-09T08:22:03ZYasu Saku
<p>I propose a new design for the calendar.<br />I have made it possible to visualize not only the start and end dates but also valid events.</p>
<a name="Current-designsourcetrunk22293"></a>
<h3 >Current design<br />(<a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/revisions/22293/entry/trunk">source:trunk@22293</a>)<br /><img src="https://www.redmine.org/attachments/download/30927/current.png" style="width:300px;" alt="" /><a href="#Current-designsourcetrunk22293" class="wiki-anchor">¶</a></h3>
<a name="New-design"></a>
<h3 >New design<br /><img src="https://www.redmine.org/attachments/download/30928/new.png" style="width:300px;" alt="" /><a href="#New-design" class="wiki-anchor">¶</a></h3> Redmine - Patch #38796 (New): Improved display of tracker selection area in custom field settingshttps://www.redmine.org/issues/387962023-06-30T20:20:02Zryo ito
<p>The items in the tracker selection area of the custom field setting screen are not properly aligned, <br />making it difficult to see and easy to operate when a large number of trackers are created.</p>
<p>Therefore, we have modified it to be properly aligned like the issue tracking tab in the project settings, <br />so that it can be easily viewed even when many trackers are displayed.</p>
<ul>
<li>before<br /><img src="https://www.redmine.org/attachments/download/30705/trackers_selection_before.png" alt="" /></li>
</ul>
<ul>
<li>after<br /><img src="https://www.redmine.org/attachments/download/30706/trackers_selection_after.png" alt="" /></li>
</ul> Redmine - Patch #38795 (New): Hide submit button in splitcontentleft on mobilehttps://www.redmine.org/issues/387952023-06-30T06:14:55ZKenta Kumojima
<p>In a mobile environment, the submit button is displayed in the middle of the form.<br />It is need to add 'mobile-hide' class and add submit button which has 'mobile-show' class.</p> Redmine - Patch #38792 (New): Allow removing some watchers via bulk edit context menuhttps://www.redmine.org/issues/387922023-06-28T16:37:33Zsalman mp
<p>It's needed sometimes to remove some watchers in bulk edit.<br />This patch added this feature, but does not contains related tests!</p> Redmine - Patch #38740 (New): Enhanced collapsing/expanding functionalities for Gantt Charthttps://www.redmine.org/issues/387402023-06-18T15:12:25ZYasu Saku
<p>I have added new three features to the Gantt Chart that enhance its collapsing/expanding functionalities.</p>
<a name="1-Maintain-Collapse-State-of-Child-Elements"></a>
<h4 >1. Maintain Collapse State of Child Elements:<a href="#1-Maintain-Collapse-State-of-Child-Elements" class="wiki-anchor">¶</a></h4>
<p>Currently, when expanding parent elements in the Gantt Chart, the collapse state of child elements would reset.<br />With this new feature, the collapse state of child elements is maintained even when expanding parent elements.<br /><img src="https://www.redmine.org/attachments/download/30667/maintain_collapse_state_of_child_elements.gif" alt="" /></p>
<a name="2-Expand-All-Subelements-with-CtrlClick"></a>
<h4 >2. Expand All Subelements with Ctrl+Click:<a href="#2-Expand-All-Subelements-with-CtrlClick" class="wiki-anchor">¶</a></h4>
<p>By holding the Ctrl key and clicking on a parent element, all its subelements will be expanded.<br />(This is equivalent to the current behavior.)<br /><img src="https://www.redmine.org/attachments/download/30668/expand_all_subelements_with_ctrl-click.gif" alt="" /></p>
<a name="3-Collapse-All-Subelements-with-CtrlClick"></a>
<h4 >3. Collapse All Subelements with Ctrl+Click:<a href="#3-Collapse-All-Subelements-with-CtrlClick" class="wiki-anchor">¶</a></h4>
<p>By holding the Ctrl key and clicking on a parent element, all its subelements will be collapsed.<br /><img src="https://www.redmine.org/attachments/download/30669/collapse_all_subelements_with_ctrl-click.gif" alt="" /></p> Redmine - Patch #38732 (New): Adjusting elements position on Issue Edit Viewhttps://www.redmine.org/issues/387322023-06-16T10:29:09ZYasu Saku
<p>Currentry, elements are not same position on Issue Show View and Issue Edit View.<br />I think it will confuse people who are new to Redmine.<br />So, I propose this patch.</p>
<p><a class="thumbnail" title="adjusting_elements_position_on_issue_edit_view.png" href="https://www.redmine.org/attachments/30655"><img alt="adjusting_elements_position_on_issue_edit_view.png" src="https://www.redmine.org/attachments/thumbnail/30655/300" /></a></p>
<p>Note: You can easily apply similar content as this patch using jQuery.<br /><pre><code class="javascript syntaxhl"><span class="nx">$</span><span class="p">(</span><span class="dl">"</span><span class="s2">#parent_issue</span><span class="dl">"</span><span class="p">).</span><span class="nx">insertAfter</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_project_id</span><span class="dl">'</span><span class="p">).</span><span class="nx">parent</span><span class="p">()).</span><span class="nx">css</span><span class="p">({</span><span class="na">float</span><span class="p">:</span> <span class="dl">"</span><span class="s2">right</span><span class="dl">"</span><span class="p">});</span>
<span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_description_and_toolbar</span><span class="dl">'</span><span class="p">).</span><span class="nx">parent</span><span class="p">().</span><span class="nx">insertAfter</span><span class="p">(</span><span class="dl">'</span><span class="s1">#attributes</span><span class="dl">'</span><span class="p">);</span>
<span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_done_ratio</span><span class="dl">'</span><span class="p">).</span><span class="nx">parent</span><span class="p">().</span><span class="nx">insertAfter</span><span class="p">(</span><span class="dl">'</span><span class="s1">#due_date_area</span><span class="dl">'</span><span class="p">);</span>
<span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><hr></span><span class="dl">'</span><span class="p">).</span><span class="nx">insertAfter</span><span class="p">(</span><span class="dl">'</span><span class="s1">#attributes</span><span class="dl">'</span><span class="p">);</span>
<span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><hr></span><span class="dl">'</span><span class="p">).</span><span class="nx">insertAfter</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_subject</span><span class="dl">'</span><span class="p">).</span><span class="nx">parent</span><span class="p">());</span>
</code></pre></p> Redmine - Patch #38652 (New): Actual translation of Syntax Wiki Bulgarienhttps://www.redmine.org/issues/386522023-06-02T09:45:52ZC S
<p>Source: <a class="external" href="https://www.redmine.org/boards/2/topics/68465?r=68506#message-68506">https://www.redmine.org/boards/2/topics/68465?r=68506#message-68506</a></p> Redmine - Patch #38614 (New): add email handling by subjecthttps://www.redmine.org/issues/386142023-05-26T14:55:47ZAisha Tammy
<p>This change allows the email handler to find issues by subject and adds an option for this to be enabled (disabled by default as SQL full text search might be more expensive than needed).</p>
<p>I needed this as I am trying to use redmine for the openbsd project mailing lists, so I made redmine subscribe to that list and now redmine will add/update issues by looking at mails on this mailing list.</p> Redmine - Patch #38505 (New): Add an index into table custom_values on value columnhttps://www.redmine.org/issues/385052023-04-30T12:43:35Zsalman mp
<p>In my case (due to some custom fields on issues) querying issues was very time consuming.<br />This problem is almost solved by adding some index to the <code>custom_values</code> table on column <code>value</code>.</p> Redmine - Patch #38432 (New): Journal diff without Issuehttps://www.redmine.org/issues/384322023-04-11T08:28:29ZBrice Beaumesnil
<p>Hello,</p>
<p>If a plugin use journal (like redmine_risks), find_journal and diff methods need to link with an issue, if journal is create on another class 404 error is send.</p>
<p>I make a little patch to display generic diff without issue link.</p> Redmine - Patch #38284 (New): New settings for mail_handlerhttps://www.redmine.org/issues/382842023-02-20T09:24:45ZMayama Takeshimayamatakeshi@gmail.com
<p>Hi,<br />aside from dev work my company uses redmine to track internal issues from other teams.<br />However, too frequently, people start discussing things via email and don't edit quoted messages.<br />This ends up causing duplication of attachments several times.</p>
<p>So I have implemented new setting mail_handler_avoid_attachment_duplication<br />to avoid creating new Attachment records for an item that already exists (I know redmine already avoids duplication of the same item in the filesystem).</p>
<p>Also, people want emails with images to retain text/image layout and not just have images attached.<br />So I have also implemented new setting mail_handler_keep_layout that will replace image references in description/notes by markup language set in settings.text_formmating (currently: markdown/textile/common_mark)</p>
<p>Currently they are settable in config/settings.yml only but if this patch is approved I will add them to the "Incoming emails" setting panel.</p>
<p>Obs: I wrote this patch mostly to learn more about RoR development. <br />It was worthy even if this patch ends up not being accepted.</p>
<p>The only tests that failed were the ones related to revision control, filesystem and LDAP:</p>
<pre>
$ rake test
Bazaar test repository NOT FOUND. Skipping functional tests !!!
CVS test repository NOT FOUND. Skipping functional tests !!!
Filesystem test repository NOT FOUND. Skipping functional tests !!!
Git test repository NOT FOUND. Skipping functional tests !!!
Mercurial test repository NOT FOUND. Skipping functional tests !!!
Subversion test repository NOT FOUND. Skipping functional tests !!!
Git test repository NOT FOUND. Skipping integration tests !!!
(Test LDAP server not configured)
Bazaar test repository NOT FOUND. Skipping unit tests !!!
Cvs test repository NOT FOUND. Skipping unit tests !!!
Filesystem test repository NOT FOUND. Skipping unit tests !!! See doc/RUNNING_TESTS.
Git test repository NOT FOUND. Skipping unit tests !!!
Mercurial test repository NOT FOUND. Skipping unit tests !!!
Subversion test repository NOT FOUND. Skipping unit tests !!!
Bazaar test repository NOT FOUND. Skipping unit tests !!!
CVS test repository NOT FOUND. Skipping unit tests !!!
Filesystem test repository NOT FOUND. Skipping unit tests !!! See doc/RUNNING_TESTS.
Git test repository NOT FOUND. Skipping unit tests !!!
Git UTF-8 test repository NOT FOUND. Skipping unit tests !!!
Mercurial test repository NOT FOUND. Skipping unit tests !!!
Subversion test repository NOT FOUND. Skipping unit tests !!!
Skipping LDAP tests.
Run options: --seed 32481
# Running:
...ABRIDGED...
Finished in 505.205749s, 10.2335 runs/s, 43.5743 assertions/s.
5170 runs, 22014 assertions, 0 failures, 0 errors, 7 skips
You have skipped tests. Run with --verbose for details.
</pre>
<p>So I think it is OK as my changes would not affect those.</p>
<p>But I can try to adjust to pass such tests if necessary for the patch to be evaluated (the "See doc/RUNNING_TESTS." actually is incomplete and doesn't mention filesystem at all)</p>
<p>I'm attaching browser screenshots showing redmine running with the new settings on and off for comparison.</p> Redmine - Patch #38278 (New): Basename of repository and Branch/Tags in Changeset Descriptionhttps://www.redmine.org/issues/382782023-02-16T16:47:21ZNiklaus Giger
<p>Our development team uses branches pretty thoroughly.<br />Therefore we are running for a few years a patched version for redmine which improves the display of a revision in order to ease the review of patches.</p>
<ul>
<li>Show basename of associated repository (often our issues require changes in several repositories)</li>
<li>Show a link to the associated revision</li>
<li>Show a link to the associated diff</li>
</ul>
<p>I invested 2 hours to add a test for the attached patch, but was not successfull. If anybody gives me a hint about howto proceed, I am willing to invest some more time, as it is always a good idea to test the changes.</p>
<p>Running `RAILS_ENV=test bundle exec rake test:scm:functionals` results in `159 runs, 844 assertions, 26 failures, 0 errors, 0 skips`, but is about the same as running the master branch.</p>
<p>A similar issue was raised in <a class="external" href="https://www.redmine.org/issues/5386">https://www.redmine.org/issues/5386</a>, but I never got any reponse to my patches supplied there.</p> Redmine - Patch #38189 (New): Parent Tracker Issuehttps://www.redmine.org/issues/381892023-01-17T15:25:51ZMatias Buonavolonta
<p>I am needing to be able to create a custom query that I can group by the tracker of the parent issue.</p>
<p>I have not found any plugin to make this field available.</p>
<p>Can you help me?</p>
<p>Thanks!</p> Redmine - Patch #38153 (New): Make wiki 'Sidebar' localizablehttps://www.redmine.org/issues/381532023-01-05T10:39:46Zsalman mp
<p>Apllying attached patch can make 'sidebar' wiki page localizable.</p> Redmine - Patch #37994 (New): Unify link to user/group in application helperhttps://www.redmine.org/issues/379942022-12-05T16:12:13ZDmitry Makurin
After <a class="changeset" title="Add link from group name to group page on project overview page (#12795). Patch by Go MAEDA." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/21073">r21073</a> was introduced application helper has multiple methods to render user/group links:
<ul>
<li>link_to_user</li>
<li>link_to_principal</li>
<li>link_to_group</li>
</ul>
<p>The <code>link_to_principal</code> method combines the functionality of the other two. They don't have much use right now. I propose to unify all 3 methods in one.</p>
<p>An attached patch removes <code>link_to_user</code> and <code>link_to_group</code> methods and adds two aliases to <code>link_to_principal</code> (user and group respectively).</p>
<p><code>link_to_group</code> was used to redirect admin user to edit group page which is obsolete since all users have access to show group page and there is an edit link for admin.</p>
<p>Patch also adds a new test to confirm edit link presence for admins.</p> Redmine - Patch #37942 (New): Traditional Chinese translation (to r21959)https://www.redmine.org/issues/379422022-11-17T02:23:06ZChunChang (Nagaharu) Lo
<ul>
<li>added
<ul>
<li>permission_change_issue_author</li>
</ul></li>
</ul> Redmine - Patch #37862 (New): Estimated time remaining issue query columnhttps://www.redmine.org/issues/378622022-10-30T02:52:51ZJens Krämerjk@jkraemer.net
<p>The attached patch, which was extracted from <a href="https://plan.io/redmine-hosting" class="external">Planio</a>, adds an issue query column that represents the estimated remaining time to completion, calculated from estimated time and done ratio.</p>
<p>The main use case here is to get a quick estimation of the remaining effort for completion of a group of issues by adding the column in the query totals.</p> Redmine - Patch #37748 (New): Favicon takes a long time to loadhttps://www.redmine.org/issues/377482022-10-04T10:56:01ZGasper C
<p>I'm using passenger standalone and nginx as proxy webserver. Redmine is v5.0.2.</p>
<p>I've noticed that favicon isn't cached, and takes a ridiculous amount to load (~30ms).</p>
<p>While caching should be configured at webserver level, I've noticed that when I remove versioning from the favicon, it only takes about 4ms to load it.</p>
<p>This is a simple patch, maybe it would be better to remove some more of the code related to favicon, but I'm not familiar with ruby.</p>
<p>Before:<br /><img src="https://www.redmine.org/attachments/download/29750/before.png" alt="" /></p>
<p>After:<br /><img src="https://www.redmine.org/attachments/download/29749/after.png" alt="" /></p> Redmine - Patch #37664 (New): Preload all stylesheets and JavaScriptshttps://www.redmine.org/issues/376642022-09-11T21:37:13ZTakashi Kato
<p>All browsers usually block HTML from rendering when loading stylesheets and javascript. Preloading the stylesheet and javascript with the link element or Link header can avoid this block.</p>
<p>Rails 6.1 has a feature that automatically preloads stylesheets and javascript, so enable it.</p>
<p>Please see <a class="external" href="https://github.com/rails/rails/pull/39939">https://github.com/rails/rails/pull/39939</a> and <a class="external" href="https://github.com/rails/rails/pull/40882">https://github.com/rails/rails/pull/40882</a> .</p> Redmine - Patch #37600 (New): Cache attachments and thumbnails in web browsershttps://www.redmine.org/issues/376002022-08-24T03:15:55ZGo MAEDA
<p>The attached patch adds "max-age" value to "Cache-Control" filed in response headers of <code>AttachmentController#download</code> and <code>AttachmentController#thumbnail</code> in order to reduce the number of requests to a Redmine server and speed up page loading especially when an issue or a Wiki page has dozens of inline images and thumbnails.</p>
<p>Before:<br /><pre>
Cache-Control: private
</pre></p>
<p>After:<br /><pre>
Cache-Control: max-age=86400, private
</pre></p>
<p>In my observation, some users attach about 100 or more images to an issue. Even if they access the issue again shortly after it was accessed, their browser sends many GET requests to <code>AttachmentController#download</code> and <code>AttachmentController#thumbnail</code> to revalidate their local cache. Each of those requests that receive "304 Not Modified" consumes a few tens of milliseconds of server time.</p>
<p>By adding "max-age: 86400" to "Cache-Control" header field, web browsers will cache images and thumbnails and will not make revalidate requests for 24 hours, which improves page loading speed and reduces server load.</p>
<p>In Redmine, the content of attachments and thumbnails with the same URL is immutable. So there is no need to frequently revalidate the local cache and it is safe to keep the cache for some time.</p>
<p>It is safe to keep caches of attachments and thumbnails for some time because the content of attachments and thumbnails with the same URL is immutable in Redmine. And there is no need to frequently revalidate the local cache.</p> Redmine - Patch #37559 (New): Use meta element instead of javascript objecthttps://www.redmine.org/issues/375592022-08-07T02:16:15ZTakashi Kato
<p>Modify autocomplete paths to be held in meta elements instead of JSON.<br />It reduces coupling compared to writing javascript in ruby code.</p>
<p>The patch can be applied to <a class="changeset" title="Replace JQuery `.focus()` method with HTML `autofocus` attribute (#37482). Patch by Go MAEDA." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/21762">r21762</a></p> Redmine - Patch #37486 (New): Add JavaScript unit tests.https://www.redmine.org/issues/374862022-07-23T01:49:55ZTakashi Kato
<p>Currently, Redmine does not have JavaScript unit tests; I propose to add lightweight unit tests in a Node.js environment.</p>
<p>Prerequisite environment: Node.js 16 or later, yarn 1.22</p>
<p>Tools to deploy for unit testing: mocha, chai, jsdom</p>
<p>This patch does not require all Redmine developers, including plugins and themes, to install Node.js. This patch uses Node.js only for JavaScript unit tests (like when adding stylelint).</p>
<p>Applying this patch and running yarn install will install the necessary tools for testing.</p>
<p>As a first example of adding tests, I added tests to context_menu.js and refactored them.</p>
<p>As a prerequisite for testing, I convert JavaScript to ES modules. (<a class="external" href="https://javascript.info/modules-intro">https://javascript.info/modules-intro</a>)</p>
<ul>
<li>ES modules do not use global namespaces by default. There is no longer a need to fear duplicate function names; context_menu.js prefixed all functions "ContextMenu" to avoid function names conflict, but that practice is no longer necessary.</li>
<li>Modularizing the scripts will delay processing, waiting until the HTML document is fully ready, which should speed up HTML processing as we move forward.</li>
<li>It would be impractical to es-modularize all of application.js at once, as there is a lot of JavaScript tightly coupled to html (using onclick, link_to_function, etc.). We need to consider other ways to improve.</li>
</ul>
<p>This patch also contains fix <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Fix the unintentional selection of rows with the context menu (Closed)" href="https://www.redmine.org/issues/37481">#37481</a>.</p>
<p>The patch can be applied to <a class="changeset" title="Open Help in a separate tab (#1069). Contributed by Vijay Kiran." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/21737">r21737</a></p> Redmine - Patch #37381 (New): Fix autoscrollable areas not covering whole pagehttps://www.redmine.org/issues/373812022-07-04T21:45:07ZVitaly vit9696
<p>This patch resolves "Repositories are not displaying properly at 125% in Safari 15.4" (<a class="issue tracker-1 status-9 priority-4 priority-default" title="Defect: Repositories are not displaying properly at 125% in Safari 15.4 (Confirmed)" href="https://www.redmine.org/issues/37000">#37000</a>).</p> Redmine - Patch #36742 (New): Scroll to top buttonhttps://www.redmine.org/issues/367422022-03-09T12:33:44ZDmitry Makurin
<p>As title says the patch adds a small button to the right bottom of the page. On click scrolls to top.</p>
<p><img src="https://www.redmine.org/attachments/download/28894/ksnip_20220309-130332.png" alt="" /></p>
<p>This is very handy for long pages e.g. index of issues/news/wikis or issue with a lot of changes.</p>
<p>Patch was extracted from plugin <a class="external" href="https://bitbucket.org/dkuk/usability">https://bitbucket.org/dkuk/usability</a></p> Redmine - Patch #36438 (New): Support nulls first/last option for sorting order of custom querieshttps://www.redmine.org/issues/364382022-01-17T12:41:18ZDmitry Makurin
<p>A lot of RDBMS has support for placement of null values at the start or end using options nulls first/last.</p>
<p>Atached patch adds two more order options to the saved query:</p>
<ul>
<li>Ascending nulls last.</li>
<li>Descending nulls first.</li>
</ul>
<p><img src="https://www.redmine.org/attachments/download/28682/ksnip_20220117-150142.png" title="order options" alt="order options" /></p>
<p>And the result of issues sorted by <code>due date ascending nulls last</code>:</p>
<p><img src="https://www.redmine.org/attachments/download/28683/ksnip_20220117-150213.png" title="sported issues" alt="sported issues" /></p>
<p>Patch probably broken when using MySql since it doesn't have a straightforward syntax for order predicate but it's fine using SQLite3 or Postgres.</p> Redmine - Patch #36265 (New): More flexible options for issue notificationshttps://www.redmine.org/issues/362652021-12-01T09:27:24ZDmitry Makurin
<p>Currently issue notifications are limited to few options. If you want to exclude particular event redmine only allows settings for note, status, assignee, priority and target versions updates.<br />So there is no way to disable e.g. notifications for relation update.<br />Attached patch extends possible options for notifications. To existing ones added next events:</p>
<ul>
<li>Start date updated</li>
<li>Due date updated</li>
<li>Estimated hours updated</li>
<li>Category updated</li>
<li>Description updated</li>
<li>Done ratio updated</li>
<li>Parent issue updated</li>
<li>Project updated</li>
<li>Tracker updated</li>
<li>Subject updated</li>
<li>Attachment updated</li>
<li>Relation updated</li>
<li>Custom value updated</li>
</ul> Redmine - Patch #36182 (New): Show notifications for all Redmine usershttps://www.redmine.org/issues/361822021-11-11T04:54:59ZMizuki ISHIKAWA
<p>This patch adds the feature to display text throughout the site once it has been set in Settings > Administration.</p>
<p><img src="https://www.redmine.org/attachments/download/28407/screenshot-2021-11-11-10.41.31.png" style="width: 500px;border: 1px solid #ccc;" alt="" /><br /><img src="https://www.redmine.org/attachments/download/28408/screenshot-2021-11-11-10.41.49.png" style="width: 500px;border: 1px solid #ccc;" alt="" /></p>
<p>There is already a famous plugin called Redmine banner that is used by many people. <a class="external" href="https://www.redmine.org/plugins/redmine_banner">https://www.redmine.org/plugins/redmine_banner</a><br />This patch only provides very simple functionality, so I think you will need the Redmine banner plugin to change the notification destination and design.</p> Redmine - Patch #36135 (New): Setting partially independent start-date, end-date, priority and do...https://www.redmine.org/issues/361352021-11-03T16:06:05ZHolger Mößinger
<p>This patch adds a new setting for handling start and due dates, which I here call "partially independent", which was initially proposed in <a class="issue tracker-2 status-5 priority-5 priority-high2 closed" title="Feature: Option for independent subtask priority/start date/due date/done ratio (Closed)" href="https://www.redmine.org/issues/5490">#5490</a>, <a class="issue tracker-2 status-5 priority-5 priority-high2 closed" title="Feature: Option for independent subtask priority/start date/due date/done ratio (Closed)" href="https://www.redmine.org/issues/5490#note-91">#5490-91</a>, to be more specific.</p>
<p>I implemented this as part of a new feature request in <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Setting for partially independent start-date, end-date in parent tickets (New)" href="https://www.redmine.org/issues/34609">#34609</a>. This issue now provides a patch to add an option set start and due date, as well as done ratio and priority to "partially derived".</p>
<p>As the proposed way of submitting a patch seems to be to add another issue ("I have a patch to add X" - these need to be filed into the Issue Tracker, as stated in <a class="external" href="https://www.redmine.org/boards/4/topics/15134">https://www.redmine.org/boards/4/topics/15134</a>) I add this new issue, which basically contains the patch from <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Setting for partially independent start-date, end-date in parent tickets (New)" href="https://www.redmine.org/issues/34609#note-6">#34609-6</a>. More implementation details can also be found in <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Setting for partially independent start-date, end-date in parent tickets (New)" href="https://www.redmine.org/issues/34609">#34609</a>.</p>
<p>I hope I am doing this right!?</p>
<p><strong>Why is this new setting useful?</strong></p>
<p>There are currently two ways of handling start date and due date of parent tickets and subtasks: "Independent" and "Derived".</p>
<p>When set to "Independent", the parent issue does not care about the dates set in the subtasks.<br />One can define start and due date for a parent ticket and it stays like this, which is good for planning tasks for a certain time.<br />However, when adding subtasks their dates do not influence the dates of the parent task. A subtask can set (or get delayed ) to be completely outside the time slot of the parent task. This means work from a subtask taking longer is not reflecting back into the parent task.</p>
<p>When set to "Derived", the start and due date of the parent task are completely controlled by the subtasks. So if you plan a parent task to start in January and be done in May and then add a shorter subtask, e.g. starting February and ending already in March, the parent task will suddenly change its planned dates to the ones defined in the subtask. The initial planning is lost.</p>
<p>The implementation proposed in <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Setting for partially independent start-date, end-date in parent tickets (New)" href="https://www.redmine.org/issues/34609">#34609</a> adds a third option, bringing together the best of both already existing options.<br />The parent tasks dates are independent of the subtasks dates, as long as the subtasks fit within the parent task.<br />If subtask get delayed beyond the due date of the parent task the delay gets transferred over to the parent task, but as long as subtasks stay within the confines of the parent task the parent task keeps its initial dates and can be independently edited. Basically subtask only extend the time of the parent task, if required, but no longer shrink it.</p>
<p>This makes hierarchical planning of projects and task more useful.</p>
<p>Similarly the partially derived option for done ratio and priority allow the done ratio of the parent task to be lower than the done ratio derived from its subtasks and the priority to be higher than the highest priority derived from the subtasks.</p>
<p>I would like to ask the developers to take a look at the patch and possibly at <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Setting for partially independent start-date, end-date in parent tickets (New)" href="https://www.redmine.org/issues/34609">#34609</a>, as well as include the patch into the core, or let me know if some more work is required.</p> Redmine - Patch #35946 (New): Mark project categories as "inactive"https://www.redmine.org/issues/359462021-10-01T09:29:47ZThomas Zauner
<p>Hello, since nobody has responded to my comment/patch on the old ticket, I will give it another try with this new ticket and proper tracker type (tracker=Patch).<br />See also issue <a class="issue tracker-2 status-1 priority-5 priority-high2" title="Feature: Mark project categories as "inactive" (New)" href="https://www.redmine.org/issues/16188">#16188</a>.</p>
<hr />
<p>Based on the outdated plugin I tried to integrate the changes into current git master, tested the UI with a running server and created some unit tests.</p>
<p>The plugin was running fine with redmine 3.x, but for redmine 4 the overwritten files had changed so the UX got broken and also the routes needed to be fixed (since this seems new with redmine 4.x).</p>
<p>I'm not 100% sure if the version in migration is right (6.1?) and if the config/routes.rb is properly since I'm not really into ruby/rails dev (so sorry if this is not proper coded). I mainly ported the plugin into the source. For me the code worked incl. routing and it provided same functionally than the old redmine plugin.<br />Tests were green beside one search test (Must be superuser to create this extension).</p>
<p>If the code/patch needs adaption, please let me know.</p> Redmine - Patch #35919 (New): Illumination of overdue closed issueshttps://www.redmine.org/issues/359192021-09-24T17:04:06ZGry Adams
<p>To improve the visual analysis of the department's performance, the illumination of overdue closed issues was added</p> Redmine - Patch #35816 (New): Patch to add Postgis adapter supporthttps://www.redmine.org/issues/358162021-08-25T15:51:21ZMarcel B
<p>I've been running Redmine with postgis adapter for while to support a plugin for spatial data.</p>
<p>The proposed patch is necessary to eliminate annoying waning messages from Gemfile and to allow Query with case insentive (ILIKE), since postgis only adds spatial functions on top of the postgresql adapter.</p>
<p>It was tested for several months on FreeBSD 12 and CentOS 7.</p> Redmine - Patch #35772 (New): Change the background color of tables written in Wiki notationhttps://www.redmine.org/issues/357722021-08-17T04:05:31ZMizuki ISHIKAWA
<p>Currently, tables written in Wiki notation do not have a background color.<br />This patch adds a background color to make it easier to distinguish header rows from non-header rows.<br />It will also change the color of the row to yellow when the cursor is hovering over it.</p>
<p>Sample:<br /><img src="https://www.redmine.org/attachments/download/27910/sample.png" style="width: 500px;border: 1px solid #ccc;" alt="" /></p> Redmine - Patch #35769 (New): Add a Revision (Changeset) API end-point with support for inclusion...https://www.redmine.org/issues/357692021-08-16T23:22:41ZJan Catrysse
<p>This is a small patch to add an API call to get details about a revision and the linked issues.<br />It should be reviewed by someone with some more experience.</p>
<p>EDIT: app/controllers/repositories_controller.rb<br />ADD: app/views/repositories/revision.rsb</p>
<p>USE: <a class="external" href="https://www.redminexxx.org/projects/{project_name}/repository/{repository_name}/revisions/{revison_name}.json">https://www.redminexxx.org/projects/{project_name}/repository/{repository_name}/revisions/{revison_name}.json</a></p> Redmine - Patch #35674 (New): Several improvements (with fixes of inconsistencies) for the issues...https://www.redmine.org/issues/356742021-08-03T02:33:54ZMischa The Evil
<p>I'll leave an untested WIP-patch against current trunk.</p>
<p>Change descriptions by file:</p>
<ul>
<li><ins><em>app/views/issues/show.html.erb</em></ins>
<ul>
<li>blank (unset) value rendering of issue core attributes (currently a dash [<code>-</code>] is rendered for several attributes, while nothing is rendered for other attributes):
<ul>
<li>consistently render a dash for issue core attributes with a blank (unset) value</li>
</ul>
</li>
<li>spent time rendering (currently the field is not rendered when there's no spent time on the issue):
<ul>
<li>consistently show the field and render a dash when there's no spent time on the issue (if spent time module is disabled the field and dash won't be rendered)</li>
</ul>
</li>
<li>blank description rendering (currently the field is not rendered when it has a blank [unset] value):
<ul>
<li>consistently show the field and render a dash for blank description attribute (partly the same as <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Do not hide estimated_hours label when value is nil (Closed)" href="https://www.redmine.org/issues/24015">#24015</a>)</li>
</ul>
</li>
<li>full-width custom field rendering (the field is rendered below the attachments section):
<ul>
<li>render the field above the attachments section (and below the description core attribute)</li>
</ul></li>
</ul></li>
</ul>
<ul>
<li><ins><em>app/helpers/issues_helper.rb</em></ins>
<ul>
<li>blank (unset) value rendering of issue core attributes for related issues and subtasks sections (currently nothing is rendered):
<ul>
<li>consistently render a dash for issue core attributes with a blank (unset) value for related issues and subtasks sections</li>
</ul>
</li>
<li>estimated time rendering (currently the field value always shows the 'Total:' label):
<ul>
<li>consistently show the field and render a dash when there's no estimated time on the issue, and only show the 'Total:' label with value when it is appropriate</li>
</ul>
</li>
<li>blank (unset) value rendering of half-width issue custom field attributes (currently nothing is rendered for custom field attributes):
<ul>
<li>consistently render a dash for half-width issue custom field attributes with a blank (unset) value</li>
</ul>
</li>
<li>full-width custom field rendering (currently the field is not rendered when it has a blank [unset] value):
<ul>
<li>consistently render a dash for full-width issue custom field attributes with a blank (unset) value</li>
</ul></li>
</ul></li>
</ul>
Some notes and warnings on the patch:
<ul>
<li>contains no tests, doesn't modify existing tests and might break existing tests</li>
<li>doesn't modify email templates and/or API views</li>
</ul>
<p>I'd like to get some feedback on the mentioned changes before I spend more time on this patch.</p> Redmine - Patch #35648 (New): Changelog generator should allow merging two or more versionshttps://www.redmine.org/issues/356482021-08-01T08:15:59ZMarius BĂLTEANU
<p>The script used to generate the changelog for releases should allow merging two or more versions.</p>
For example, for the latest releases, we generated the changelog for two versions:
<ul>
<li>4.1.4</li>
<li>4.2.2</li>
</ul>
<p>The changelog for 4.2.2 should contain also the changes for 4.1.4, but the script doesn't do this and we need to manually merge the changelogs which is very error-prone.</p>
<p>Also, the script should allow authorised requests in order to pull the security issues which are private at the time of the releases. The authorization should use environment variables.</p> Redmine - Patch #35536 (New): Use webpack to improve javascripts and stylesheets managementhttps://www.redmine.org/issues/355362021-07-06T10:00:04ZTakashi Kato
<p>I propose the use of webpack as a library management tool for javascript. I also suggest the use of <a href="https://github.com/hokaccha/simpacker" class="external">simpacker</a> as a tool for linking rails and webpack.</p>
<p>The docker environment can be found here.</p>
<p><a class="external" href="https://github.com/tohosaku/redmine-docker-wsl2">https://github.com/tohosaku/redmine-docker-wsl2</a></p>
<a name="Motivation"></a>
<h2 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h2>
<ul>
<li>To deal with the problem that <a class="issue tracker-1 status-1 priority-4 priority-default" title="Defect: JavaScript is not minified for production use (New)" href="https://www.redmine.org/issues/6662">#6662</a> "js files are not compressed" </li>
<li>To be a foundation for future npm package usage.</li>
</ul> Redmine - Patch #35373 (New): Improve project deletion warning texthttps://www.redmine.org/issues/353732021-06-08T12:53:10ZFelix Schäfer
<p>This is related to <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Require explicit confirmation when deleting a user or a project (Closed)" href="https://www.redmine.org/issues/34417">#34417</a></p>
<p>The information text when deleting the user clearly states that deleting the user cannot be undone and that locking the user would be an alternative. This patch adds similar text stating the finality of deleting a project and the alternative of archiving the project to the project deletion information text.</p> Redmine - Patch #35268 (New): Issue.acts_as_searchable columns option cleanuphttps://www.redmine.org/issues/352682021-05-20T14:29:36ZThomas Löber
<p>Hi,</p>
<p>Just for the sake of completeness, in <code>Issue.acts_as_searchable</code> the <code>columns</code> option should specify the table name for both columns.</p>
<p>A patch is attached.</p>
<p>Best regards,<br />Thomas</p> Redmine - Patch #35217 (New): Replace use of Digest::MD5 / Digest::SHA1 with ActiveSupport::Digesthttps://www.redmine.org/issues/352172021-05-07T03:02:16ZJens Krämerjk@jkraemer.net
<p>Rails introduced <code>ActiveSupport::Digest</code> to allow central configuration of the actual digest implementation that is used throughout Rails. This is helpful in environments where certain digest implementations (most notably, MD5) are not available, i.e. to be <a href="https://www.nist.gov/itl/fips-general-information" class="external">FIPS</a> compliant.</p>
<p>The attached patch replaces all uses of <code>Digest::SHA1</code> and <code>Digest::MD5</code> with <code>ActiveSupport::Digest</code>. Without further configuration, this will result in <code>Digest::SHA1</code> being used in all these instances since that's the current Rails default. This can be changed by users via the <a href="https://github.com/rails/rails/pull/40213" class="external">config.active_support.hash_digest_class setting</a> , i.e.:</p>
<pre>
Rails.application.config.active_support.hash_digest_class = OpenSSL::Digest::SHA256
</pre> Redmine - Patch #34654 (New): Accounting for the closing date of the issue when calculating the o...https://www.redmine.org/issues/346542021-01-29T08:14:40ZStan Efremov
<p>When calculating the overdue for issues, the closing date of the issues is not taken into account, despite the availability of relevant information. An overdue issue remains overdue even after it is closed.</p>
<p>Environment:<br /> Redmine version 4.0.4.stable<br /> Ruby version 2.6.5-p114 (2019-10-01) [x86_64-linux]<br /> Rails version 5.2.3<br /> Environment test<br /> Database adapter PostgreSQL<br /> Mailer queue ActiveJob::QueueAdapters::InlineAdapter<br /> Mailer delivery test\nSCM:<br /> Subversion 1.9.7<br /> Git 2.17.1<br /> Filesystem <br />Redmine plugins: no plugin installed</p> Redmine - Patch #34426 (New): Issue Categories sortablehttps://www.redmine.org/issues/344262020-12-09T13:32:05ZKarel Pičman
<p>Adding a possibility to reorder issue categories.</p> Redmine - Patch #34218 (New): Increase size of value field in settingshttps://www.redmine.org/issues/342182020-11-03T10:21:58ZAleksandar Pavic
<p>Size of value is text field which is around ~64kb.</p>
<p>In some cases like using some of plugins, errors like this might arise:</p>
<p><code>Mysql2::Error: Data too long for column 'value' at row 1: UPDATE settings SET value = '---\nprojects:\n 45:\n helpdesk_answer_from:</code></p>
<p>This patch increases size of text field to larger format.</p> Redmine - Patch #34146 (New): Implementationhttps://www.redmine.org/issues/341462020-10-20T20:35:55ZCarlos Miguel
<p>For creating the lists and making it even better. It would be important to create a relationship between the contents of the lists by viewing the codes of the values created. So that I have the possibility to have a personalized list that share values from the list. The value of a list must be in several lists. In this case, when passing the values of a list, I can select the values in the list fields, showing the duplicity and the need to create new values for several lists.</p> Redmine - Patch #33938 (New): Add missing fixtures to IssueNestedSetTesthttps://www.redmine.org/issues/339382020-09-01T03:04:56ZYuichi HARADA
<p>Sometimes IssueNestedSetTest fails.</p>
<pre>
$ RAILS_ENV=test bundle exec rake db:migrate:reset
$ RAILS_ENV=test bundle exec rake test
Run options: --seed 43474
# Running:
............F
Failure:
IssueNestedSetTest#test_destroy_should_destroy_children [./test/unit/issue_nested_set_test.rb:225]:
"JournalDetail.count" didn't change by -1.
Expected: 7
Actual: 6
bin/rails test test/unit/issue_nested_set_test.rb:216
.........F
Failure:
IssueNestedSetTest#test_destroy_child_issue_with_children [./test/unit/issue_nested_set_test.rb:270]:
"JournalDetail.count" didn't change by -1.
Expected: 7
Actual: 6
bin/rails test test/unit/issue_nested_set_test.rb:262
........
Finished in 410.935528s, 12.2404 runs/s, 56.5588 assertions/s.
5030 runs, 23242 assertions, 2 failures, 0 errors, 3 skips
You have skipped tests. Run with --verbose for details.
$
<pre></pre> Redmine - Patch #33910 (New): Rendering bug in Chrome Windows and Linux when pressing PageUp in T...https://www.redmine.org/issues/339102020-08-26T15:42:12ZFelix Schäfer
<p>A rendering bug in Chrome on Windows and Linux leads to the content of the window shifting to the left when pressing PageUp in a Textarea, for example on the issue edit page. In some cases this can lead to UI elements, for example the "Edit" button, to not be visible anymore.</p>
<p>This is the page for the bug in Chrome <a class="external" href="https://bugs.chromium.org/p/chromium/issues/detail?id=890248">https://bugs.chromium.org/p/chromium/issues/detail?id=890248</a>, it seems to exist since 2018 and has not been resolved since. We have observed this happening on Redmine too, not by much with the default theme but a lot with the Planio theme. We have a gif demonstrating this, unfortunately it is too large to upload here.</p> Redmine - Patch #33774 (New): Update Russian translationhttps://www.redmine.org/issues/337742020-07-27T15:08:03ZVVD VVD
<p>Fixes for Russian trunslation</p> Redmine - Patch #33726 (New): Translate Vietnamesehttps://www.redmine.org/issues/337262020-07-13T15:44:07ZVu LeRedmine - Patch #33722 (Resolved): migrate_from_trac dose not workhttps://www.redmine.org/issues/337222020-07-13T00:51:16ZHideyuki KATO
<p>Current migrate_from_trac rake task dose not work with 3.4.13, 4.0.7, 4.1.1.</p>
<p>There are many patches, but they have not been applied. and they are old (maybe they are for Redmine2.x or early 3.x)</p>
<ul>
<li><a class="issue tracker-3 status-1 priority-4 priority-default" title="Patch: migrate_from_trac.rake does not convert timestamps in Trac database version 23 (New)" href="https://www.redmine.org/issues/14567">#14567</a></li>
<li><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Exception in Migration from Trac to Redmine (incl. solution) (Closed)" href="https://www.redmine.org/issues/17898">#17898</a></li>
<li><a class="issue tracker-1 status-1 priority-4 priority-default" title="Defect: Issues with migrate_from_trac.rake from trac 0.12/1.0 (possible solutions provided) (New)" href="https://www.redmine.org/issues/18658">#18658</a></li>
<li><a class="issue tracker-1 status-1 priority-4 priority-default" title="Defect: Migrating from Trac to Redmine [Trac2Redmine] (New)" href="https://www.redmine.org/issues/24570">#24570</a></li>
</ul>
<p>I have merged these patches and available on Redmine 3.4.13. but not work with Redmine 4.x. because of the difference between Rails/ActiveRecord 4.2 and 5.2.</p>
<p><a class="external" href="https://github.com/hkato/migrate_from_trac.rake/blob/master/migrate_from_trac-trac-1.0.patch">https://github.com/hkato/migrate_from_trac.rake/blob/master/migrate_from_trac-trac-1.0.patch</a></p>
<p>Anyway, could you merge this patch for trunk. and we will support Rails/ActiveRecord 5.2 issue after this.</p>
<p>Redmine 3.4.13</p>
<pre>
$ rake redmine:migrate_from_trac RAILS_ENV="production"
rake aborted!
NoMethodError: undefined method `set_inheritance_column' for TracMigrate::TracAttachment(Table doesn't exist):Class
Did you mean? set_trace_func
/usr/local/bundle/gems/activerecord-4.2.11.1/lib/active_record/dynamic_matchers.rb:26:in `method_missing'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:121:in `<class:TracAttachment>'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:119:in `<module:TracMigrate>'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:25:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => redmine:migrate_from_trac
(See full trace by running task with --trace)
</pre>
<p>Redmine 4.1.1<br /><pre>
$ rake redmine:migrate_from_trac RAILS_ENV="production"
rake aborted!
NoMethodError: undefined method `set_inheritance_column' for TracMigrate::TracAttachment(Table doesn't exist):Class
Did you mean? set_trace_func
/usr/local/bundle/gems/activerecord-5.2.4.2/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:121:in `<class:TracAttachment>'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:119:in `<module:TracMigrate>'
/usr/src/redmine/lib/tasks/migrate_from_trac.rake:25:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => redmine:migrate_from_trac
(See full trace by running task with --trace)
</pre></p> Redmine - Patch #33554 (New): Fix by date weekly filter query to use Setting.start_of_weekhttps://www.redmine.org/issues/335542020-06-04T15:35:09ZKonstantin Borisov
<p>Currently when you search issues or time log entries with using "this week", "next week", "last week" and "last 2 week" conditions it uses current user locale setting of when the week is started. For example EN locale is using Sunday as week start and RU locale is using Monday week starts. We have a <code>Setting.start_of_week</code> that allow to configure when the calendar weeks should be started, but Issue filters ignores this setting.</p>
<p>This patch makes the fix, so the issues query use the <code>Setting.start_of_week</code> value configured for the Redmine instance for weekly queries. And it were possible to have issue queries with weeks started from Monday having the EN UI locale configured.</p> Redmine - Patch #33457 (New): Croatian translations for v4.1.1https://www.redmine.org/issues/334572020-05-16T21:38:46ZAnonymous
<p>Hi, I would like to submit Croatian translations for version 4.1.1, with keys and key ordering matching the EN language file. The current translations file is quite old, many items were untranslated or poorly translated, so it pretty much needed a major overhaul.</p> Redmine - Patch #33440 (New): Emails not being processed because of https://www.redmine.org/issues/334402020-05-13T16:31:35ZSimon Song
<p>I have Redmine receive email via SMTP. I noticed about 90% of them go through just fine, that 90% of emails would update their associated tickets no problem.</p>
<p>However, the other 10% would not work. It would be stuck in limbo (in the inbox). I was able to track it down from the</p>
<p>mail_handler.rb > dispatch</p>
<p>The email's header for in_reply_to did not have the correct value to extract the proper object_id.</p>
<p>Here is an example:</p>
<blockquote>
<p>References: <<a class="email" href="mailto:redmine.issue-12345.20200428144405.5@omitting.com">redmine.issue-12345.20200428144405.5@omitting.com</a>>,<<a class="email" href="mailto:redmine.journal-67890.20200512212705.5@omitting.com">redmine.journal-67890.20200512212705.5@omitting.com</a>><br />In-Reply-To: <<a class="email" href="mailto:redmine.journal-67890.20200512212705.5@omitting.com">redmine.journal-67890.20200512212705.5@omitting.com</a>></p>
</blockquote>
<p>In this example, the 12345 was the correct ticket number, while 67890 does not exist in our Redmine.</p>
<p>I think the header array needs to switch from:</p>
<p><code>headers = [email.in_reply_to, email.references].flatten.compact</code></p>
<p>to:</p>
<p><code>headers = [email.references, email.in_reply_to].flatten.compact</code></p>
<p><strong>OR</strong></p>
<p>The regex for MESSAGE_ID_RE needs to point to include issue</p>
<p><strong>OR</strong></p>
<p>dispatch has a validation to check if the object_id exists or not. If it does not, it moves on to the next array key.</p> Redmine - Patch #33431 (New): Better performance for Time entries without issue and activity filtershttps://www.redmine.org/issues/334312020-05-11T11:47:56ZAlexander Meindl
<p>At the moment all time entry queries join issue and activities. If there is a large number of time entries and issues, this is a big performance issue.</p>
<p>Some of our customers have more than 500.000 time entries and even more issues. A query without a time filter requires minutes. With this attached patch this improves it to some seconds.</p>
<p>Issue and activity joins are only add, if they are required.</p>
<p>It would be great, to get this in Redmine.</p> Redmine - Patch #33211 (New): Include block columns (ex: Description, Last notes) in CSV export w...https://www.redmine.org/issues/332112020-03-29T13:24:01ZMarius BĂLTEANURedmine - Patch #33118 (New): Detect plain diffs in e-mail submitted issues and map to attachmentshttps://www.redmine.org/issues/331182020-03-10T10:21:26ZAnthony Mallet
<p>Diffs sent as plain/text message (as with git format-patch + git send-email) in<br />issues tend to be textilized, which messes up the display. Also, the original<br />patch file is not easily downloadable for processing.</p>
<p>With this patch, when a diff file is detected in a plain text message without<br />attachment, the whole e-mail message is converted into a proper attachment<br />(that is suitable for git am) and only the diff comment is stored in the<br />issue description.</p>
<p>The diff detection is based on the following heuristics:<br />- body contains three consecutive lines starting with "---", "+++" and "@@" <br />- and body contains a line starting with "---", "diff -" or "Index: "</p>
<p>The message body is split before this detected separator.</p> Redmine - Patch #33117 (New): Redirect to users_path instead of edit_user_path in order to avoid ...https://www.redmine.org/issues/331172020-03-10T10:01:07ZGo MAEDA
<p>Currently, a user is redirected to <code>edit_user_path</code> (/users/*/edit) after creating a user. However, I think it is better to be redirected to <code>user_path</code> (/users) for the following reasons:</p>
<ul>
<li>Inconsistent. There are some exceptions but most forms in Admin page shows index page after an object is created</li>
<li>Confusing. Today I observed that an admin mistakenly rewrote the user that has just created. It is because they misunderstood that the form is /users/new, but it was actually /users/*/edit</li>
<li>I cannot find any use cases that showing <code>edit_user_path</code> is better than <code>users_path</code></li>
</ul>
<pre><code class="diff syntaxhl"><span class="gh">diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 2fb297874..d3e853b43 100644
</span><span class="gd">--- a/app/controllers/users_controller.rb
</span><span class="gi">+++ b/app/controllers/users_controller.rb
</span><span class="p">@@ -122,7 +122,7 @@</span> class UsersController < ApplicationController
attrs = {:generate_password => @user.generate_password }
redirect_to new_user_path(:user => attrs)
else
<span class="gd">- redirect_to edit_user_path(@user)
</span><span class="gi">+ redirect_to users_path
</span> end
}
format.api { render :action => 'show', :status => :created, :location => user_url(@user) }
</code></pre> Redmine - Patch #32961 (New): Make group names clickable in permissions reporthttps://www.redmine.org/issues/329612020-02-06T17:05:36ZBernhard Rohloff
<p>At the moment only the caret next to the group name is clickable which makes it difficult to collapse/expand the groups.<br />It would be better to make also the group text clickable like for the filters.</p> Redmine - Patch #32951 (New): Issue Statuses sortable by name and positionhttps://www.redmine.org/issues/329512020-02-04T20:14:30ZAnas Al Salah
<p>Allow admin to sort statuses by name and position in /issue_statuses</p> Redmine - Patch #32847 (New): Ability to add custom css classes to body taghttps://www.redmine.org/issues/328472020-01-21T09:44:45ZAleksandar Pavic
<p>This ability is important for plugin developers to avoid unnecessary use of deface gem.</p>
<p>If it's going to be implemented, also wiki page for plugin developers should<br />be updated, accordingly.</p> Redmine - Patch #32747 (New): Fix wrong translation for "time entries" in redmine 4.1.0https://www.redmine.org/issues/327472020-01-03T12:24:50Zpasquale [:dedalus]
<p>I have fixed 3 incorrect strings related to translation of "time entries"</p> Redmine - Patch #32548 (New): Add new hook in projects/settings/_issues.html.erb for custom fieldshttps://www.redmine.org/issues/325482019-12-03T19:02:50ZJérôme BATAILLE
<p>This would be very helpful to add new features from plugins related to custom fields.</p>
<p>Thanks a lot to take in accout this very small patch<br /><pre><code class="ruby syntaxhl"> <span class="o"><</span><span class="sx">% unless </span><span class="vi">@issue_custom_fields</span><span class="p">.</span><span class="nf">empty?</span> <span class="sx">%>
<fieldset class="box tabular" id="project_issue_custom_fields"></span><span class="o"><</span><span class="n">legend</span><span class="o">><</span><span class="sx">%= toggle_checkboxes_link('#project_issue_custom_fields input[type=</span><span class="n">checkbox</span><span class="p">]</span><span class="ss">:enabled</span><span class="s1">') %><%=l(:label_custom_field_plural)%></legend>
<% @issue_custom_fields.each do |custom_field| %>
<label class="floating">
<%= check_box_tag '</span><span class="n">project</span><span class="p">[</span><span class="n">issue_custom_field_ids</span><span class="p">][]</span><span class="s1">', custom_field.id, (@project.all_issue_custom_fields.include? custom_field),
:disabled => (custom_field.is_for_all? ? "disabled" : nil),
:id => nil %>
<%= custom_field_name_tag(custom_field) %>
</label>
<% end %>
<%= hidden_field_tag '</span><span class="n">project</span><span class="p">[</span><span class="n">issue_custom_field_ids</span><span class="p">][]</span><span class="s1">', '</span><span class="err">'</span> <span class="o">%></span>
<span class="o"><</span><span class="sr">/fieldset>
<%
# The new hook
-%>
<%= call_hook(:view_project_settings_issues_custom_fields, { :issue_custom_fields => @issue_custom_fields, :project => @project }) %>
<% end %>
</span></code></pre></p> Redmine - Patch #32523 (New): Improve javascript performances on query editionhttps://www.redmine.org/issues/325232019-11-27T15:52:05ZStéphane Parunakian
<p>Hi,</p>
<p>When building a query on the /issues page, if you use a filter on users (assigned to, author, etc.) and you have a lot of them, the browser freezes for a few moments. This can be improved by slightly modifying the JavaScript running on the page.</p>
<p>In the public/javascripts/application.js, a lot of "for" loops use var.length in their statements, which is evaluated at each loop.</p>
<p>The attached patch adds, for each loop, a var assignment just before the loop, which is used in the statement.</p>
<p>Performances are greatly improved on Firefox and Chromium.</p>
<p>Regards</p> Redmine - Patch #32522 (New): Add Project.find_by_name to target_projecthttps://www.redmine.org/issues/325222019-11-27T12:35:23ZKeks Keksov
<p>Consider issue <a class="issue tracker-1 status-5 priority-5 priority-high2 closed" title="Defect: Bug in project name when create issue by email (Closed)" href="https://www.redmine.org/issues/6694">#6694</a>, fix is trivial. Think about all those reporters who struggle to memorizing all that ID stuff.</p>
<p>File app/models/mail_handler.rb<br />Line 410</p>
<p>target = get_project_from_receiver_addresses<br />target ||= Project.find_by_identifier(get_keyword(:project))<br />target ||= Project.find_by_name(get_keyword(:project)) # just one new line</p> Redmine - Patch #32326 (Needs feedback): Update it.yml localehttps://www.redmine.org/issues/323262019-10-23T11:23:26Zpasquale [:dedalus]
<ul>
<li>added various missing strings;</li>
<li>reorder strings into the file;</li>
<li>made some changes to already translated strings for consistency.</li>
</ul> Redmine - Patch #31752 (Reopened): Show assigned people when displaying tickets which are related...https://www.redmine.org/issues/317522019-07-18T15:01:43ZMasatoshi TSUCHIYA
<p>When we hurry a release of a specific version, it is natural to want to know who stops the release.<br />To resolve the such case, I think that the attached patch is useful.</p> Redmine - Patch #31224 (Resolved): My page, add Time Entry querieshttps://www.redmine.org/issues/312242019-04-18T22:33:43ZJérôme BATAILLE
<p>This patch is pretty simple, it continues the work that has been done to add Issue Queries in My Page blocks.<br />It does the same for Time Entry queries, with very few modifications.</p>
<p><strong>Time Entry</strong> block has been renamed <strong>Time Entry Activity</strong></p>
<p>Please review it.<br />Thanks a lot.</p> Redmine - Patch #30999 (Needs feedback): Datepicker javascript files locale in uppercase not foundhttps://www.redmine.org/issues/309992019-03-08T16:50:00ZJérôme BATAILLE
<ul>
<li>In public / javascripts / i18n<br />Files like datepicker-en-GB.js are not found because file is searched with locale that is lowercase.<br />These files should be in lower case.</li>
</ul>
<pre>
The error :
Started GET "/javascripts/i18n/datepicker-en-gb.js" for 127.0.0.1 at 2019-03-08 17:43:44 +0100
17.43.44.110 09924:
17.43.44.110 09924: ActionController::RoutingError (No route matches [GET] "/javascripts/i18n/datepicker-en-gb.js"):
17.43.44.110 09924:
17.43.44.110 09924: actionpack (5.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:65:in `call'
17.43.44.110 09924:actionpack (5.2.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `c
</pre> Redmine - Patch #29378 (Needs feedback): More call_hooks for projects, issue statusses, time entr...https://www.redmine.org/issues/293782018-08-13T12:33:45ZJonas Ineveld, van
<p>Currently there are only functional call_hooks for issues, and with that, i mean the 'controller_issues_edit_after_save' etc.<br />Because i'm working on a seperate app, connected with redmine on the backend, i need more hooks to hook my 'update API' to.</p>
<p>For now i've created the call_hooks for creation of a project, and for the deletion of a issue.</p>
<p>Would it be something if these changes would go back into core? I can imagine more uses for these type of hooks.</p>
<p>Svn patch file is included</p> Redmine - Patch #26139 (Reopened): Follow Gemfile's plugin loader as #24007https://www.redmine.org/issues/261392017-06-12T09:31:12ZSho HASHIMOTO
<p>Plugin's Gemfile can't settable from Redmine::Plugin.directory yet.</p> Redmine - Patch #26122 (Resolved): Implementation of visible conditions with inner join instead o...https://www.redmine.org/issues/261222017-06-07T20:51:37ZPavel Rosický
<p>The change from <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Project#allowed_to_condition performance (Closed)" href="https://www.redmine.org/issues/21608">#21608</a> should be reverted because it's a speed regression:</p>
<p>1/ current version<br /><pre>EXISTS (SELECT 1 AS one FROM enabled_modules em WHERE em.project_id = projects.id AND em. NAME = 'issue_tracking')</pre></p>
<p>2/ previous version (actually faster even without an index on enabled modules)<br /><pre>projects.id IN (SELECT project_id FROM enabled_modules em WHERE em.project_id = projects.id AND em. NAME = 'issue_tracking'</pre></p>
<p>3/ fastest version (in some cases better indexes were used)<br /><pre>INNER JOIN `enabled_modules` ON `enabled_modules`.`project_id` = `projects`.`id` WHERE `enabled_modules`.`name` = 'issue_tracking'</pre> or<br /><pre>INNER JOIN `enabled_modules` ON `enabled_modules`.`project_id` = `projects`.`id` AND `enabled_modules`.`name` = 'issue_tracking'</pre></p>
Patches:
<ul>
<li>revert of <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Project#allowed_to_condition performance (Closed)" href="https://www.redmine.org/issues/21608">#21608</a>, because the previous version was faster (about 30%)</li>
<li>new index "enabled_modules_name", but it's not very helpful unless you have many projects (3000+)</li>
<li>implementation of visible conditions with inner join instead of subselect, it passes all tests, but it should be refactored. I want to know what do you think about it first</li>
</ul>
<pre>
Rails version 4.2.8
Ruby version 2.1.9-p490 (x64-mingw32)
RubyGems version 2.6.12
Rack version 1.6.8
Middleware Rack::Sendfile, Rack::ContentLength, ActionDispatch::Static, Rack::Lock, #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x00000007745610>, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, ActionDispatch::XmlParamsParser, Rack::Head, Rack::ConditionalGet, Rack::ETag, RequestStore::Middleware, OpenIdAuthentication
Environment development
Database adapter mysql2
Database schema version 20170607051650
</pre> Redmine - Patch #25491 (Needs feedback): List of role membershttps://www.redmine.org/issues/254912017-03-31T21:12:38ZAnonymous
<p>This simple patch provides a list of all members of a role grouped by projects.</p>
<p>Tested and working with Redmine 3.2 & 3.3</p> Redmine - Patch #25114 (Needs feedback): Context menu positioning inside positioned DOM elementshttps://www.redmine.org/issues/251142017-02-17T13:23:25ZSerge Galanin
<p>In my theme the #content element is positioned relatively. It leads to an incorrect positioning of the context menu wich living inside the #content. A most simple fix is to bubble the context menu up to the top of DOM. Can we use this way?</p>
<p>Patch based on <a class="changeset" title="remove trailing white space from test/unit/setting_test.rb" href="https://www.redmine.org/projects/redmine/repository/svn/revisions/16333">r16333</a>.</p> Redmine - Patch #24837 (Needs feedback): Bulk update issues with authorhttps://www.redmine.org/issues/248372017-01-16T07:55:14ZMarcin Świątkiewicz
<p>It would be nice, to add option to bulk update many different issues with option 'assigned to author'.<br />Below is my diff with this feature.</p> Redmine - Patch #24051 (Resolved): As a non-admin user using API, I want to be able to filter use...https://www.redmine.org/issues/240512016-10-11T18:36:15ZAnonymous
<p>We created an Odoo -> Redmine connector for uploading time spent from Redmine to HR tools in Odoo (<a class="external" href="https://github.com/savoirfairelinux/connector-redmine/tree/ddufresne_port_to_8_0">https://github.com/savoirfairelinux/connector-redmine/tree/ddufresne_port_to_8_0</a>).</p>
<p>When we call that function from a superuser API key, all works well, but when it is normal user API key, it does return a forbidden exception :</p>
<pre>
redmine_api.user.filter(name="SOMEUSERNAME")
</pre>
<p>I think that to reinforce security by not giving superuser Redmine API key to Odoo would be interesting.</p>
<p>That would be possible by allowing standard Redmine users to use API to filter users by their username instead of throwing an exception.</p> Redmine - Patch #24007 (Reopened): Change plugins directory through the configuration.yml filehttps://www.redmine.org/issues/240072016-10-05T18:18:02ZHelder Manuel Torres Vieira
<p>This patch adds the possibility to change the directory "plugins" of the application through the file configuration.yml.</p>
<p>The patch has been tested with the last Trunk version (15839)</p> Redmine - Patch #21808 (Needs feedback): Make the Sidebar collapsible, statefulhttps://www.redmine.org/issues/218082016-01-23T20:58:50ZDaniel Ritz
<p>This adds a button to the sidebar to make it collapsible. The state is preserved between requests with a cookie.</p>
This seems to be a feature that is missed. There's a few plugins that implement something similar. Some of them:
<ul>
<li><a class="external" href="https://www.redmine.org/plugins/sidebar_hide">https://www.redmine.org/plugins/sidebar_hide</a></li>
<li><a class="external" href="http://www.redmine.org/projects/redmine/wiki/PluginCollapse">http://www.redmine.org/projects/redmine/wiki/PluginCollapse</a></li>
<li><a class="external" href="https://github.com/thambley/redmine-sidebar-hide">https://github.com/thambley/redmine-sidebar-hide</a></li>
</ul>
<p>And there are related issues, at least: <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Collapsible Sidebar (Closed)" href="https://www.redmine.org/issues/12032">#12032</a>, <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: A new button to hide/show the sidebar (Closed)" href="https://www.redmine.org/issues/10525">#10525</a></p>
<p>Because of high demand from my users, I did something similar in a theme at work. This is basically that plus it's stateful now.</p>
This patch:
<ul>
<li>Adds the relative URL root as a meta property in the head tag</li>
<li>Adds a simple <a> to the sidebar as collapse/expand button</li>
<li>Makes the .content a BFC taking the remaining width</li>
<li>Few lines of javascript to toggle CSS and set a cookie</li>
<li>Sidebar is hidden by setting its margin-right</li>
<li>Nice hiding animation using CSS for browsers that support it</li>
<li>The state of the sidebar is read from the cookie and applied on page load</li>
<li>Good theming support since it's mostly just CSS</li>
</ul>
<p>Based on <a class="changeset" title="Typo (#21421)." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/15095">r15095</a>, passes all tests with Ruby 2.1.5. Tested on FF, Chrome, Safari (+ an earlier, stateless version on IE11)</p>
<p>Screenshot: <img src="https://www.redmine.org/attachments/download/15176/collapsible_sidebar.png" title="Screenshot" alt="Screenshot" /></p> Redmine - Patch #21550 (Needs feedback): New option in html redmine link parsing - attachmentshttps://www.redmine.org/issues/215502015-12-16T21:32:09ZOndřej Ezr
<p>Option for parsing to choose if attachment link should be download link or not.</p> Redmine - Patch #18496 (Resolved): Migrate to Redmine 2.5.3 (or 2.6.0) from Mantis 1.2.17https://www.redmine.org/issues/184962014-11-28T14:03:46ZGergely Révész
<p>Migrate to Redmine 2.5.3 (or 2.6.0) from Mantis 1.2.17.</p>
<p>The original migrate script quits with errors when migrating from Mantis 1.2.17.<br />I'm attaching the patch to get it to work.<br />And the working full "migrate_from_mantis.rake" file if anyone finds it difficult to apply a patch.</p>
<p>You have to patch or replace the "%redmine%/lib/tasks/migrate_from_mantis.rake" file.</p> Redmine - Patch #18059 (Resolved): Activity when issue change assigned to.https://www.redmine.org/issues/180592014-10-10T11:59:15ZMarcin Świątkiewicz
<p>Hi. There is patch to change activity for project. It's will shows you when issue status was changed, assigned_to was changed, and when status and assigned_to was changed together.</p>
<p>I wrote test for this and everything works fine.</p>
<p>See files.</p> Redmine - Patch #16116 (Needs feedback): Sort of version optionshttps://www.redmine.org/issues/161162014-02-18T08:51:15ZDaniel Felix
<p>Hi there,</p>
<p>currently all versions are just sorted by an array.</p>
<p>This causes that our version field results in an unsorted order. Either id nor name or date (all dates are nil) is respected.</p>
<p>This way could improve the version sort.</p>
<p>See <a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/entry/trunk/app/models/issue.rb#L743">source:trunk/app/models/issue.rb#L743</a></p>
<p>Replace this line with<br /><pre><code class="ruby syntaxhl"><span class="vi">@assignable_versions</span> <span class="o">=</span> <span class="n">versions</span><span class="p">.</span><span class="nf">uniq</span><span class="p">.</span><span class="nf">sort_by</span><span class="p">{</span><span class="o">|</span><span class="n">v</span><span class="o">|</span> <span class="p">[</span><span class="n">v</span><span class="p">.</span><span class="nf">effective_date</span><span class="p">,</span> <span class="n">v</span><span class="p">.</span><span class="nf">name</span><span class="p">]}</span>
</code></pre></p>
<p>This will sort the result in first place by effective date and otherwise by name.</p>
<p>Any regressions?</p>
<p>Best regards,<br />Daniel</p> Redmine - Patch #15906 (Needs feedback): Create a default forum by defaulthttps://www.redmine.org/issues/159062014-01-20T08:35:28ZJan from Planio www.plan.io
<p>In my experience, new or inexperienced users find it hard to get started with the forums. This is because of the fact that it doesn't suffice to enable the module, one has to also create a first forum in the project settings.</p>
<p>I therefore propose this patch which adds an empty "general" forum when the module is activated. It uses the same mechanism that creates the project's wiki.</p>
<p>This way, users will see the "Forums" tab in their project immediately after they enabled the module.</p> Redmine - Patch #14148 (Reopened): Double translation: label_f_hours vs. x_hourshttps://www.redmine.org/issues/141482013-05-25T13:05:52ZFilou Centrinov
<p>It seems that the translations <code>x_hours</code> and <code>label_f_hours</code> are identic. (Same with <code>x_hour</code> and <code>label_f_hour</code>.) Moreover for many languages only <code>label_f_hours</code> (respectively <code>label_f_hour</code>) is translated. I suggest to replace <code>label_f_hours</code> by <code>x_hours</code>, because we have also x_minutes, x_seconds, ...</p>
<p>Finally I suggest to delete the labels <code>label_f_hour</code> and <code>label_f_hours</code> from all translation files and repository.</p> Redmine - Patch #13545 (Needs feedback): Workflow permissions are broken if user has multiple rol...https://www.redmine.org/issues/135452013-03-21T13:51:23ZAlexander Kriventsov
If user has multiple roles in project workflow permissions don't work.<br />It works in two cases:
<ol>
<li>User has one role</li>
<li>User has two roles with the same workflow permisions</li>
</ol> Redmine - Patch #13239 (Resolved): migrate_from_mantis script doesn't work for later mantis versionshttps://www.redmine.org/issues/132392013-02-20T21:46:28ZDiego Antunes
<a name="Redmine-Info"></a>
<h2 >Redmine Info<a href="#Redmine-Info" class="wiki-anchor">¶</a></h2>
<p>Environment:<br /> Redmine version 2.2.2.stable<br /> Ruby version 1.9.3 (x86_64-linux)<br /> Rails version 3.2.11<br /> Environment production<br /> Database adapter Mysql2<br />Redmine plugins:<br /> no plugin installed</p>
<a name="Mantis-BT-info"></a>
<h2 >Mantis BT info<a href="#Mantis-BT-info" class="wiki-anchor">¶</a></h2>
<p>Site Information<br />MantisBT Version 1.2.11<br />Schema Version 185</p> Redmine - Patch #9697 (Resolved): Projects list with progresshttps://www.redmine.org/issues/96972011-11-30T10:25:33ZDmitry Babenko
<p>Redesign of project list page (<a class="external" href="http://www.redmine.org/projects">http://www.redmine.org/projects</a>) to show the progress of every project and their versions. See <a class="attachment" href="https://www.redmine.org/attachments/6836">Redmine-project-list-with-progress.png</a>.</p>
<p>Gihub pull request: <a class="external" href="https://github.com/edavis10/redmine/pull/46">https://github.com/edavis10/redmine/pull/46</a></p> Redmine - Patch #8222 (Needs feedback): Setting model should use Rails.cache instead of class var...https://www.redmine.org/issues/82222011-04-25T17:44:22ZJan from Planio www.plan.io
<p>The <code>Setting</code> model uses two local class variables called <code>@cached_settings</code> and <code>@cached_cleared_on</code> to prevent reloading the settings from database and/or <code>settings.yml</code> at every request.</p>
<p>Rails has been supporting different cache implementations for some time now, why not let the <code>Setting</code> model use them as well? Besides the fact that this will help with tenant switching which we've implemented for Planio, it should also improve Redmine's performance when running it with more than processes and a custom cache mechanism, like memcached.</p>
<p>A patch is attached.</p> Redmine - Patch #5510 (Resolved): Enable Mutliple Versions Per Issuehttps://www.redmine.org/issues/55102010-05-12T06:14:28ZCharlie Savage
<p>Attached is a patch against head (as of today) that enables multiple versions per issue. If there is interest, we would be happy to do what is necessary to integrate this into Redmine core. I've attached a screen shot of the issue page so people can see what it looks like.</p>
<p>There have been several past discussions about supporting multiple versions per issue - see <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Add 'affected version' as a standard field (Closed)" href="https://www.redmine.org/issues/1675">#1675</a>, <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Issues fixed in multiple versions (Closed)" href="https://www.redmine.org/issues/284">#284</a>, <a class="issue tracker-2 status-1 priority-5 priority-high2" title="Feature: Feature: Allow setting multiple target-milestones (New)" href="https://www.redmine.org/issues/1266">#1266</a>.</p>
<p>In our use case, we have 60 projects, each of which has 7 phases (each a version) and work orders (each a version) and weekly development releases (global versions). Thus an issue can be added to the May 14th development release, added to Phase I and added to a work order. Basically, we find versions a great way to group issues together to a) keep track of progress b) roll up time entries c) roll up estimated times.</p>
<p>A quick over of the patch:</p>
<ul>
<li>Because it changes models, controller and views, its not really workable as a plugin</li>
</ul>
<ul>
<li>It adds a new table, issues_versions, with issue_id and version_id columns. This is a habtm relationship between versions and issues. This could be done as :has_many :through if that is preferable.</li>
</ul>
<ul>
<li>It includes migrations to setup the new table and then renames the fixed_version_id column in issues to fixed_version_id_old (so as to not delete the data). Note that as far as I can tell, rails migrations don't allow the creation of a two column habtm table with both fields as primary keys, thus part of the migration is in sql currently (tested on postgresql).</li>
</ul>
<ul>
<li>It adds a new issue_version controller modeled after issue_relation as well as the necessary controller permissions.</li>
</ul>
<ul>
<li>It updates all the various places issue.fixed_version is used (issue update form, mass edit form, move form, reports, etc).</li>
</ul>
<ul>
<li>The ugliest part of the patch is Issue#by_version since it has to repeat code from Issue#count_and_group_by which isn't flexible enough for this change.</li>
</ul>
<p>The one caveat of the patch is time reports. These reports remain unchanged if you do not group by version. But if you group by version, and add an issue to two versions, then its time is added to both versions. That is exactly the behavior we want, but it might not be appropriate in all cases. The easy way to avoid it is don't add an issue to two versions (or if you do, don't sum up the times between the two versions). Or in other words, multiple versions give a great deal more flexibility to managing a product, but you do have to understand what you are doing.</p>
<p>Like I said, if there is interest we'd like to see this integrated into Redmine core and are happy to make changes/update tests, etc. to make it happen. Note we've been running the patch in production for a couple days now, so believe it works as designed. We'll keep the patch updated against head, and fix any issues that we run into obvously.</p> Redmine - Patch #4878 (Resolved): More Hook Featureshttps://www.redmine.org/issues/48782010-02-18T17:28:59ZThomas Löber
<p>Hi!</p>
<p>I added some features to <code>hook.rb</code>:</p>
<ul>
<li>cleaned-up <code>call_hook</code></li>
</ul>
<ul>
<li>added an <code>:if</code> option to <code>render_on</code>, so you can write:<br /><pre>
render_on :view_issues_form_details_bottom, :partial => "test", :if => :really?</pre></li>
</ul>
<ul>
<li>added <code>render_to_string</code> to <code>ActionMailer</code> so <code>call_hook</code> can also be called from the mail templates in <code>app/views/mailer</code></li>
</ul>
<p>Unfortunately I didn't manage to write the matching test for @hook_test.rb" so far.</p> Redmine - Patch #3123 (Needs feedback): Check additional mail headers when creating issues via emailhttps://www.redmine.org/issues/31232009-04-05T15:54:45ZDuncan Harris
<p>We have a setup with Redmine where users often send mail using different from addresses in the email. We use Google Apps for email, but this would apply to other mail systems where users can set up multiple from addresses in their email.</p>
<p>If users send email with a different from address than their registered one then Redmine ignores the incoming email.</p>
<p>To fix this issue I created the attached modification which checks the mail headers "Return-Path", "Sender" and finally "From" (as before) for a match to a user account.</p>
<p>The "Return-Path" header relies on getting mail server to set this to the envelope sender address. I use the preline program with qmail to get this set.</p>
<p>This works because Google Apps email (and GMail) always set the Sender and envelope sender addresses to the users main or canonical email address even if they choose a different "From" address.</p> Redmine - Patch #2457 (Needs feedback): Different style of new issue/timelog interfacehttps://www.redmine.org/issues/24572009-01-07T13:49:09ZMischa The Evil
<p>For my own Redmine instance I modified the interface regarding the "entry-links" for new issues and new timelogs a long time ago. I used several other patches and sources to come to the final result. I always wanted to create a configurable patch for others who might be interested, but never came to it. Now, here it finally is...</p>
<p>The urge for the modifications came from the fact that I needed to have cross-project, direct-access to the new-links for both the issues and the timelogs (the only two things which a user enters frequently).</p>
I added/modified the following things:
<ul>
<li>Added setting <code>main_new_links_enabled</code> which enables the changes from this patch (defaults to 0/false) and at the same time removes the default "New issue"-tab on the project-menu</li>
<li>Added new-issue link right above the main issuelist (view: issues/index) which get rendered <code>if_authorized</code></li>
<li>Added JavaScripted top-menu items for new issue and new timelog (only rendered when the visitor is a logged-in user && the current logged-in user has at least one membership (role)) which opens dynamic-menu's (based on the project-selector) showing the projects for which the current logged-in user has a role.</li>
</ul>
As mentioned earlier I based my modifications on some other patches and contributions:
<ul>
<li>Patch <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Patch for #1003 (Closed)" href="https://www.redmine.org/issues/1022">#1022</a> (Patch for <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Allow "New Issue" from anywhere (Closed)" href="https://www.redmine.org/issues/1003">#1003</a> [Allow "New Issue" from anywhere]) by Rocco Stanzione; This was my starting point for this patch. I've refactored the CSS to better fit the current trunk's default theme. I've also modified the conditions under which the links are displayed.</li>
<li>Patch <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Jump-in for 'add time' (Closed)" href="https://www.redmine.org/issues/249">#249</a> (Jump-in for 'add time') by Michael Pirogov; This patch made me realize I wanted the new timelog-liks integrated just as the new issue-links. This also gave me the insights about how this could be merged with patch <a class="issue tracker-3 status-5 priority-4 priority-default closed" title="Patch: Patch for #1003 (Closed)" href="https://www.redmine.org/issues/1022">#1022</a> to implement my needs for the new timelog-links.</li>
<li><a href="http://forge.typo3.org/repositories/diff/team-forge?rev=905" class="external">Revision 905</a> of Typo3's Redmine-fork by Sebastian Kurfürst; This changeset gave me the idea and basic-code for adding the new issue-link also in the main issuelist and for removing the new-issue tab.</li>
</ul>
<p>Like stated before I've added a setting for the modifications I've made. This means that with the patch applied (but no configuration) the default behaviour/UI isn't modified. The modifications specifically needs to be configured to be used.</p>
<p>This patch is not specifically shared/posted to get integrated into the Redmine core since I think it is more a personal request to have these changes integrated rather then that it is a community one.</p>
<p>Hope someone can appreciate the patch. Just to note: I've kept the code as seperated as possible (ie duplicated lots of it for both the JavaScripted menu's, instead for combining it at a higher-level). This will allow more easy extraction of parts of this patch.</p> Redmine - Patch #2173 (Needs feedback): Update the Git repository automaticallyhttps://www.redmine.org/issues/21732008-11-13T08:03:48ZDavid Holm
<p>The Wiki suggests (<a class="external" href="http://www.redmine.org/wiki/redmine/RedmineRepositories">http://www.redmine.org/wiki/redmine/RedmineRepositories</a>) that you should set up a cron job to update the Git bare repository, the one redmine points to, automatically. This is unneccessary since you could just as easily use Git's hooking mechanism to have it automatically update the repo on each push.</p>
<p>1. chmod a+x post-receive-redmine<br />2. Put post-receive-redmine in <redmine dir>/doc/git-hooks<br />3. Change into your main git repo dir (the one you push to)<br />4. Edit ./hooks/post-receive and add a line that says ". <redmine dir>/doc/git-hooks/post-receive-redmine" <br />5. Run "git config --add hooks.redmineGitBase <base path to redmine bare repos, i.e. /var/lib/redmine/git_repos>" <br />6. You're done!</p>
<p>The script could be updated to create the bare repo if it doesn't already exist but it would need to know which permissions to change it to for redmine to read it so I didn't add this feature.</p>