{"issues": [{"id": 35721, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 3, "name": "Patch"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 123153, "name": "Pavel Rosick\u00fd"}, "category": {"id": 19, "name": "Attachments"}, "subject": "Unlink files after they're closed", "description": "Tests are trying to unlink the file inside the block while the file descriptor is still active.\r\n\r\nthey were introduced by https://redmine.org/issues/35539\r\n\r\nfixes _Errno::EACCES: Permission denied_\r\n\r\n
\r\n\r\ndiff --git a/test/unit/attachment_test.rb b/test/unit/attachment_test.rb\r\nindex 2aee87964..a870e3697 100644\r\n--- a/test/unit/attachment_test.rb\r\n+++ b/test/unit/attachment_test.rb\r\n@@ -276,27 +276,31 @@ class AttachmentTest < ActiveSupport::TestCase\r\n end\r\n \r\n def test_create_diskfile\r\n+ path = nil\r\n Attachment.create_diskfile(\"test_file.txt\") do |f|\r\n path = f.path\r\n assert_match(/^\\d{12}_test_file.txt$/, File.basename(path))\r\n assert_equal 'test_file.txt', File.basename(path)[13..-1]\r\n- File.unlink f.path\r\n end\r\n+ File.unlink path\r\n \r\n Attachment.create_diskfile(\"test_accentu\u00e9.txt\") do |f|\r\n+ path = f.path\r\n assert_equal '770c509475505f37c2b8fb6030434d6b.txt', File.basename(f.path)[13..-1]\r\n- File.unlink f.path\r\n end\r\n+ File.unlink path\r\n \r\n Attachment.create_diskfile(\"test_accentu\u00e9\") do |f|\r\n+ path = f.path\r\n assert_equal 'f8139524ebb8f32e51976982cd20a85d', File.basename(f.path)[13..-1]\r\n- File.unlink f.path\r\n end\r\n+ File.unlink path\r\n \r\n Attachment.create_diskfile(\"test_accentu\u00e9.\u00e7a\") do |f|\r\n+ path = f.path\r\n assert_equal 'cbb5b0f30978ba03731d61f9f6d10011', File.basename(f.path)[13..-1]\r\n- File.unlink f.path\r\n end\r\n+ File.unlink path\r\n end\r\n \r\n def test_title\r\n\r\n", "done_ratio": 0, "created_on": "2021-08-06T15:33:29Z", "updated_on": "2021-08-06T15:33:29Z"}, {"id": 35720, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 3, "name": "Patch"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 123153, "name": "Pavel Rosick\u00fd"}, "category": {"id": 19, "name": "Attachments"}, "subject": "Defect: Binmode specified twice", "description": "after https://redmine.org/issues/35539 I'm getting failures\r\n\r\n\r\nArgumentError: binmode specified twice\r\n app/models/attachment.rb:572:in `initialize'\r\n app/models/attachment.rb:572:in `open'\r\n app/models/attachment.rb:572:in `create_diskfile'\r\n app/models/attachment.rb:142:in `files_to_final_location'\r\n\r\n\r\n_File::BINARY_ flag should be enough to setup a binary mode\r\n\r\n
\r\ndiff --git a/app/models/attachment.rb b/app/models/attachment.rb\r\nindex c65c56722..b0b0a02ba 100644\r\n--- a/app/models/attachment.rb\r\n+++ b/app/models/attachment.rb\r\n@@ -572,7 +572,6 @@ class Attachment < ActiveRecord::Base\r\n File.open(\r\n File.join(path, name),\r\n flags: File::CREAT | File::EXCL | File::BINARY | File::WRONLY,\r\n- binmode: true,\r\n &block\r\n )\r\n rescue Errno::EEXIST\r\n", "done_ratio": 0, "created_on": "2021-08-06T14:43:42Z", "updated_on": "2021-08-07T09:56:27Z"}, {"id": 35715, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 532347, "name": "Cyprien D"}, "category": {"id": 19, "name": "Attachments"}, "subject": "Attachments fails - 500 Internal Server Error on uploads.js POST", "description": "Hello,\r\n\r\nAttachments are broken since I have upgrade my Redmine from 4.2.1 to 4.2.2.\r\nPOST fail with a 500 error and this error is logged:\r\n\r\nStarted POST \"/uploads.js?attachment_id=2&filename=placeholder.jpeg&content_type=image%2Fjpeg\" for X.X.X.X at 2021-08-05 17:48:28 +0200\r\nProcessing by AttachmentsController#upload as JS\r\n Parameters: {\"attachment_id\"=>\"2\", \"filename\"=>\"placeholder.jpeg\", \"content_type\"=>\"image/jpeg\"}\r\n Current user: cyprien (id=121)\r\nCompleted 500 Internal Server Error in 5ms (ActiveRecord: 0.9ms)\r\n \r\nNoMethodError (undefined method `size' for #):\r\n \r\napp/models/attachment.rb:123:in `file='\r\napp/controllers/attachments_controller.rb:108:in `upload'\r\nlib/redmine/sudo_mode.rb:61:in `sudo_mode'\r\n \r\n\r\nIt seems to come from this change introduced to 4.2.2\r\n\r\ndiff redmine-4.2.1/app/controllers/attachments_controller.rb redmine-4.2.2/app/controllers/attachments_controller.rb\r\n108c108\r\n< @attachment = Attachment.new(:file => request.raw_post)\r\n---\r\n> @attachment = Attachment.new(:file => request.body)\r\n\r\nIf I switch back from request.body to request.raw_post the error is fixed", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": "168"}], "created_on": "2021-08-06T08:50:30Z", "updated_on": "2021-08-06T15:05:06Z"}, {"id": 35688, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 49905, "name": "Brice Beaumesnil"}, "category": {"id": 44, "name": "Rails support"}, "subject": "OpenIdAuthentication alias_method_chain", "description": "Hello,\r\n\r\nIn redmine\\lib\\plugins\\open_id_authentication\\lib\\open_id_authentication\\request.rb\r\n\r\nA alias_method_chain already exist.\r\n\r\nIt could be change change to :\r\n\r\n
\r\n alias_method :request_method_without_openid, :request_method\r\n alias_method :request_method, :request_method_with_openid\r\n\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": "168"}], "created_on": "2021-08-05T09:32:01Z", "updated_on": "2021-08-05T09:32:01Z"}, {"id": 35687, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 3, "name": "Patch"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 188597, "name": "Guillermo ML"}, "category": {"id": 12, "name": "Translations"}, "subject": " Galician translation update", "description": "Added translations for missing strings against current trunk.\r\n* gl.yml\r\n* jstoolbar-gl.js", "done_ratio": 0, "created_on": "2021-08-05T07:57:47Z", "updated_on": "2021-08-05T07:57:47Z"}, {"id": 35685, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 97902, "name": "Martin Jungowski"}, "category": {"id": 21, "name": "Database"}, "subject": "Support for MySQL > 5.7 or MariaDB", "description": "Given that I cannot see anything on the roadmap I'd like to ask what the state of MySQL support is. As stated on the Install page the latest officially supported release is MySQL 5.6, which has been EOL since February of 2021. MySQL 5.7 seems to work just fine but is not yet officially supported (it's on the roadmap for the next major release after 5.0!) and has an EOL date of October 2023 (aka slightly over 2 years from today). At the current speed of development I fear that MySQL will be EOL long before it is officially supported by Redmine. MariaDB is not supported at all.\r\n\r\nAny insight?", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-08-04T20:23:06Z", "updated_on": "2021-08-04T20:23:06Z"}, {"id": 35683, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 3, "name": "Patch"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 40856, "name": "Jens Kr\u00e4mer"}, "category": {"id": 39, "name": "PDF export"}, "fixed_version": {"id": 33, "name": "Candidate for next minor release"}, "subject": "PDF rendering improvements", "description": "Two PDF generation improvements:\r\n\r\n1. Currently, when rendering an issue PDF, macros are only expanded in the description, but not when rendering custom fields with fulltext formatting enabled. The patch changes the behaviour so that formatted full-width custom fields are rendered in the same way the description is rendered, fully interpreting macros. The behaviour for rendering normal-width custom fields is unchanged, probably it is better to leave it as is due to space constraints.\r\n2. Thumbnail macro output was not rendered properly (in the issue description and elsewhere) because the thumbnail image file could not be retrieved - the second patch extends @get_image_filename@ to check for thumbnail URLs and retrieve the proper file path in that case.\r\n\r\nBoth patches were initially developed for \"Planio\":https://plan.io/redmine-hosting .", "done_ratio": 0, "created_on": "2021-08-04T11:01:57Z", "updated_on": "2021-08-06T21:30:36Z"}, {"id": 35680, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 365663, "name": "Markus Boremski"}, "category": {"id": 3, "name": "SCM"}, "subject": "Error while using local hashes gitlab-repository", "description": "In our company we have many small projects with files in a git-repo.\r\n\r\nWe wanted to get rid of this crontab-solution: \"HowTo: Easily integrate a (SSH secured) GIT repository into redmine\":https://www.redmine.org/projects/redmine/wiki/HowTo_Easily_integrate_a_(SSH_secured)_GIT_repository_into_redmine\r\nAlso we never even tried the plugin \"redmine_git_remote\":https://www.redmine.org/plugins/redmine_git_remote because it doessnt seems to be maintained anymore.\r\n\r\nSo we set up a single VM running gitlab and redmine side by side.\r\nThis setup was choosen to keep usage of git repositories in redmine easy.\r\nWe planned to use the local repo-storage of gitlab directly in redmine.\r\n\r\nNow, everything is set up, we see the following issue:\r\n* Set up a repository in redmine and use the local path of the gitlab-repo:\r\ne.g.: @/var/opt/gitlab/git-data/repositories/@hashed/7a/df/3ada92f28b4ceda38562ebf047c6ff0xxxxxxxxxxxxxxxxxxxxxxxx.git@\r\n* calling the repo leads to a @404-error@\r\n* production.log says:\r\n
\r\nStarted GET \"/projects/our_project_id/repository/test_local\" for xx.xx.xx.xx at 2021-08-04 09:30:19 +0200\r\nProcessing by RepositoriesController#show as HTML\r\n Parameters: {\"id\"=>\"our_project_id\", \"repository_id\"=>\"test_local\"}\r\n Current user: boremski (id=xx)\r\n Rendering common/error.html.erb within layouts/base\r\n Rendered common/error.html.erb within layouts/base (1.0ms)\r\n Rendering inline template\r\n Rendered inline template (0.8ms)\r\n Rendered plugins/redmine_tags/app/views/tags/_header_assets.html.erb (0.4ms)\r\n Rendered plugins/additionals/app/views/additionals/_html_head.html.slim (0.6ms)\r\n Rendered plugins/additionals/app/views/additionals/_body_top.slim (0.2ms)\r\n Rendered plugins/redmine_local_avatars/app/views/hooks/redmine_local_avatars/_base_body_bottom.erb (0.3ms)\r\n Rendered plugins/time_logger/app/views/time_loggers/_embed_menu.html.erb (18.9ms)\r\n Rendered plugins/time_logger/app/views/time_loggers/_update_menu.html.erb (20.0ms) [cache hit]\r\n Rendered plugins/additionals/app/views/additionals/_body_bottom.html.slim (0.3ms)\r\nCompleted 404 Not Found in 156ms (Views: 134.0ms | ActiveRecord: 10.3ms)\r\n\r\n\r\nFurther information:\r\n* redmine runs as root on our system\r\nSo I dont think this might eb an issue with access-rights.\r\nTo verify I changed the ownder of the repo-folder recursively.\r\nNo change.\r\n* I also tried to use a soft-link to this folder.\r\nalso no change.\r\n\r\nMaybe there is an issue with the @ in the path?\r\n\r\nSystem-Informations:\r\n\r\nEnvironment:\r\n Redmine version 4.1.2.stable.20855\r\n Ruby version 2.5.5-p157 (2019-03-15) [x86_64-linux-gnu]\r\n Rails version 5.2.4.5\r\n Environment production\r\n Database adapter Mysql2\r\n Mailer queue ActiveJob::QueueAdapters::AsyncAdapter\r\n Mailer delivery smtp\r\nSCM:\r\n Subversion 1.10.4\r\n Git 2.20.1\r\n Filesystem \r\nRedmine plugins:\r\n additionals 3.0.2-master\r\n msproject_import 0.6\r\n redmine_issue_evm 5.5.1\r\n redmine_local_avatars 1.0.5.2.0\r\n redmine_mail_from 2.0.0\r\n redmine_subtask_list_accordion 2.2.0\r\n redmine_tags 4.0.0\r\n redmine_workload 1.1.0\r\n time_logger 0.5.4\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": ""}], "created_on": "2021-08-04T07:40:25Z", "updated_on": "2021-08-04T07:40:25Z"}, {"id": 35679, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 3866, "name": "Felix Sch\u00e4fer"}, "category": {"id": 29, "name": "Email receiving"}, "subject": "Ignore text email parts only stating that the email should be viewed as HTML", "description": "As already discussed in #30838 some emails now contain \"Your email client does not support HTML messages.\" in the text part and the interesting bits in the HTML part. This can be solved with the \"prefer HTML\" setting introduced in #30838.\r\n\r\nWe would like to propose a patch to still ignore email text parts stating \"Your email client does not support HTML messages.\" or similar with a blacklist. This way users preferring text parts and/or not aware of the new option do not need to see those parts in Redmine.", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-08-03T20:06:47Z", "updated_on": "2021-08-03T20:14:12Z"}, {"id": 35677, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 3, "name": "Patch"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 40856, "name": "Jens Kr\u00e4mer"}, "category": {"id": 26, "name": "Text formatting"}, "fixed_version": {"id": 155, "name": "5.0.0"}, "subject": "Preserve leading white space when quoting using the JS toolbar", "description": "the attached patch changes the quote/unquote toolbar.js regular expressions so they preserve leading spaces. This is helpful i.e. when quoting blocks of code.", "done_ratio": 0, "created_on": "2021-08-03T10:54:01Z", "updated_on": "2021-08-04T08:07:19Z"}, {"id": 35676, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 53, "name": "Performance"}, "subject": "Optimize performance of syntax highlighting implementation", "description": "* re-implement performance optimizations of #26055\r\n* don't send input through syntax highlighting if it:\r\n** does not need to be highlighted, or\r\n** can not be highlighted\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-08-03T10:11:22Z", "updated_on": "2021-08-03T10:11:22Z"}, {"id": 35674, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 3, "name": "Patch"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 10, "name": "UI"}, "subject": "Several improvements (with fixes of inconsistencies) for the issues show view", "description": "I'll leave an untested WIP-patch against current trunk.\r\n\r\nChange descriptions by file:\r\n\r\n* +_app/views/issues/show.html.erb_+\r\n** blank (unset) value rendering of issue core attributes (currently a dash [@-@] is rendered for several attributes, while nothing is rendered for other attributes):\r\n*** consistently render a dash for issue core attributes with a blank (unset) value\r\n** spent time rendering (currently the field is not rendered when there's no spent time on the issue):\r\n*** 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)\r\n** blank description rendering (currently the field is not rendered when it has a blank [unset] value):\r\n*** consistently show the field and render a dash for blank description attribute (partly the same as #24015)\r\n** full-width custom field rendering (the field is rendered below the attachments section):\r\n*** render the field above the attachments section (and below the description core attribute)\r\n\r\n* +_app/helpers/issues_helper.rb_+\r\n** blank (unset) value rendering of issue core attributes for related issues and subtasks sections (currently nothing is rendered):\r\n*** consistently render a dash for issue core attributes with a blank (unset) value for related issues and subtasks sections\r\n** estimated time rendering (currently the field value always shows the 'Total:' label):\r\n*** 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\r\n** blank (unset) value rendering of half-width issue custom field attributes (currently nothing is rendered for custom field attributes):\r\n*** consistently render a dash for half-width issue custom field attributes with a blank (unset) value\r\n** full-width custom field rendering (currently the field is not rendered when it has a blank [unset] value):\r\n*** consistently render a dash for full-width issue custom field attributes with a blank (unset) value\r\n\r\nSome notes and warnings on the patch:\r\n* contains no tests, doesn't modify existing tests and might break existing tests\r\n* doesn't modify email templates and/or API views\r\n\r\nI'd like to get some feedback on the mentioned changes before I spend more time on this patch.", "done_ratio": 0, "created_on": "2021-08-03T02:33:54Z", "updated_on": "2021-08-03T02:33:54Z"}, {"id": 35671, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 30, "name": "Code cleanup/refactoring"}, "fixed_version": {"id": 155, "name": "5.0.0"}, "subject": "Move subtasks section on issues show view into a separate partial", "description": "Subject says it all.\r\n\r\nI'll attach a patch that does this.", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-08-02T23:30:35Z", "updated_on": "2021-08-02T23:38:40Z"}, {"id": 35670, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 40, "name": "Issues planning"}, "subject": "Graphs in the Issues Report details are too large.", "description": "I think the subject says it all. They should be resized to a more subtle size.\r\n\r\nAdditionally, they should be made printable too as they currently don't size well when they are printed (they are cut-of when they exceed page sizes).", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": "127"}], "created_on": "2021-08-02T23:04:52Z", "updated_on": "2021-08-02T23:04:52Z"}, {"id": 35669, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 40, "name": "Issues planning"}, "subject": "Prints of Issues Report details are messed-up due to the size of the graphs", "description": "When printing the Issues Report details I get lots of unwanted pages due to the large graphs (graph sizes should additionally be decreased independent of this issue, though [see #35670]) that are beneath the table. And the graphs that are actually printed are messed-up due to their size too.\r\n\r\nI think the best solution currently is to hide the charts when printing, like so:\r\n\r\n
\r\ndiff --git a/app/views/reports/_details.html.erb b/app/views/reports/_details.html.erb\r\nindex 9b8f3b5e5..701591c74 100644\r\n--- a/app/views/reports/_details.html.erb\r\n+++ b/app/views/reports/_details.html.erb\r\n@@ -25,10 +25,10 @@\r\n <% end %>\r\n \r\n \r\n-\r\n+\r\n \r\n \r\n-\r\n+\r\n \r\n \r\n <%= javascript_tag do %>\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": "127"}], "created_on": "2021-08-02T22:56:15Z", "updated_on": "2021-08-02T23:06:13Z"}, {"id": 35667, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 40, "name": "Issues planning"}, "subject": "Consider generalization of My page block mechanism for use on the Issues Reports view", "description": "Given the current implementation of the Issues Reports view it might be sensible to generalize the My page block mechanism and re-implement the Issues Reports view to use that generalization. This would provide:\r\n* addition of user personalization of the Issues Reports view\r\n* addition of plugin extensibility of the Issues Reports view", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-08-02T16:08:05Z", "updated_on": "2021-08-02T16:08:05Z"}, {"id": 35666, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 2, "name": "Issues"}, "subject": "Review incorrect usage of Setting.display_subprojects_issues", "description": "@Setting.display_subprojects_issues@ was originally intended to provide a default value that can be overridden by users. It's used in several other places now too where the user might not have the ability to override its value while it would still make sense to provide the user this ability. These usages should be reviewed and fixed if necessary.", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": ""}], "created_on": "2021-08-02T13:42:53Z", "updated_on": "2021-08-02T13:42:53Z"}, {"id": 35664, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 40, "name": "Issues planning"}, "subject": "Inconsistencies in rendering of subproject data on Issues Reports", "description": "There are several inconsistencies in rendering of subproject data on Issues Reports after the addition of subprojects-inclusion introduced in #2529 and its extension by #34185. I've put my findings in a table:\r\n\r\n|_<. Block: |_<. Shows subproject values: |_<. Shows subproject data: |\r\n|_<. _Tracker_ | yes, if with_subprojects=1 | yes, if with_subprojects=1 |\r\n|_<. _Priority_ | yes, always ** | yes, if with_subprojects=1 |\r\n|_<. _Assignee_ | no | yes, if with_subprojects=1 and only if subproject value is available in current project |\r\n|_<. _Author_ | no | yes, if with_subprojects=1 and only if subproject value is available in current project |\r\n|_<. _Version_ | yes, always | yes, if with_subprojects=1 |\r\n|_<. _Subproject_ * | yes, always * | yes, always * |\r\n|_<. _Category_ | no | no |\r\n\r\n|_\\3. Legend: |\r\n| * | = | only shown when @@project.children.any? == true@ |\r\n| ** | = | these values are global |\r\n| with_subprojects=1 | = | @Setting.display_subprojects_issues == 1@ |", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": "99"}], "created_on": "2021-08-02T13:26:16Z", "updated_on": "2021-08-02T13:26:16Z"}, {"id": 35663, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 434198, "name": "Simeon Trifonov"}, "category": {"id": 32, "name": "REST API"}, "subject": "Access custom fields in project specific activities via Redmine API", "description": "I created a custom field in the activities that should contain different code for each activity. Also the codes could be different in the different projects. This is supported from Redmine and works fine.\r\n\r\n!activities.png!\r\n\r\nI tried to access this data from outside (using Python-Redmin library) and it seems to be impossible. The developers of the library said that this is not supported from the Redmine API and they cannot solve this problem. I will appreciate extension of the Redmine API that will allow access to custom fields in the activities.", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-08-02T11:26:44Z", "updated_on": "2021-08-02T13:26:55Z"}, {"id": 35658, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 531763, "name": "Sebastian Hunziker"}, "category": {"id": 17, "name": "Permissions and roles"}, "subject": "Administration -> Role -> Users Visibility", "description": "In the dropdown list menu, adding \"None users\" as an option. For some approaches, It would be really useful to be able to select this option to set up a role that can be part of a project but cannot see other members.\r\n\r\n!RoleUserVisibility.png!", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-08-01T17:48:18Z", "updated_on": "2021-08-02T10:31:12Z"}, {"id": 35657, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 332, "name": "Go MAEDA"}, "category": {"id": 2, "name": "Issues"}, "subject": "Spent time ratio column and filter", "description": "I suggest adding a new column and a new filter to the issues list.\r\n\r\nThe name of the column and the filter is \"Spent time ratio\". \"Spent time ratio\" column displays the percentage of a spent time divided by an estimated time. The column is useful to see the sign of overspending of man-hours and find issues that took more time than estimated.\r\n\r\n\"Easy Redmine\":https://www.easyredmine.com/ already has the same column and filter.\r\n\r\n!{width: 1023px; border: 1px solid grey;}.spent-time-ratio.png!", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-08-01T14:07:22Z", "updated_on": "2021-08-01T14:26:31Z"}, {"id": 35656, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 107353, "name": "Marius BALTEANU"}, "category": {"id": 15, "name": "Importers"}, "fixed_version": {"id": 33, "name": "Candidate for next minor release"}, "subject": "When importing issue relations, the validation messages are not shown in the UI", "description": "If you import a CSV with invalid relations, the validations messages are not shown in the UI.\r\n\r\nThe attached CSV can be used to reproduce the problem and it should generate the following error in the logs:\r\n\r\nActiveRecord::RecordInvalid (Validation failed: Related issue cannot be blank):\r\n \r\napp/models/issue_import.rb:289:in `block (2 levels) in build_relations'\r\napp/models/issue_import.rb:252:in `each'\r\napp/models/issue_import.rb:252:in `block in build_relations'\r\napp/models/issue_import.rb:248:in `each_key'\r\napp/models/issue_import.rb:248:in `build_relations'\r\napp/models/issue_import.rb:244:in `extend_object'\r\napp/models/import.rb:215:in `block in run'\r\napp/models/import.rb:142:in `block in read_items'\r\napp/models/import.rb:256:in `block in read_rows'\r\napp/models/import.rb:255:in `read_rows'\r\napp/models/import.rb:136:in `read_items'\r\napp/models/import.rb:194:in `run'\r\napp/controllers/imports_controller.rb:91:in `run'\r\nlib/redmine/sudo_mode.rb:61:in `sudo_mode'\r\n
", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": "152"}], "created_on": "2021-08-01T14:06:13Z", "updated_on": "2021-08-01T14:06:13Z"}, {"id": 35655, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 107353, "name": "Marius BALTEANU"}, "assigned_to": {"id": 107353, "name": "Marius BALTEANU"}, "category": {"id": 2, "name": "Issues"}, "fixed_version": {"id": 170, "name": "4.2.3"}, "subject": "Create duplicated follows relations fails with 500 internal error", "description": "It seems that the relation validations are not covering all the cases and if you try to add two duplicated follows relations, the request fails with 500 internal error. The issue reproduces only on 4.2.* versions and it's caused by #33418.\r\n\r\n\r\nI, [2021-08-01T16:29:31.426087 #19530] INFO -- : Completed 500 Internal Server Error in 117ms (ActiveRecord: 70.3ms | Allocations: 8146)\r\n\r\n\r\nF, [2021-08-01T16:29:31.427135 #19530] FATAL -- : \r\nActiveRecord::RecordNotUnique (Mysql2::Error: Duplicate entry '1-2' for key 'issue_relations.index_issue_relations_on_issue_from_id_and_issue_to_id'):\r\n \r\napp/controllers/issue_relations_controller.rb:67:in `block in create'\r\napp/controllers/issue_relations_controller.rb:51:in `each'\r\napp/controllers/issue_relations_controller.rb:51:in `create'\r\n\r\n
", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": "152"}], "created_on": "2021-08-01T13:41:29Z", "updated_on": "2021-08-05T23:52:23Z"}, {"id": 35648, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 3, "name": "Patch"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 107353, "name": "Marius BALTEANU"}, "subject": "Changelog generator should allow merging two or more versions", "description": "The script used to generate the changelog for releases should allow merging two or more versions.\r\n\r\nFor example, for the latest releases, we generated the changelog for two versions:\r\n* 4.1.4\r\n* 4.2.2 \r\n\r\nThe 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.\r\n\r\nAlso, 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.", "done_ratio": 0, "created_on": "2021-08-01T08:15:59Z", "updated_on": "2021-08-01T08:15:59Z"}, {"id": 35647, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 40, "name": "Issues planning"}, "subject": "Allow the user to properly override Setting.display_subprojects_issues on Issue Reports if a project has subprojects", "description": "I'd like to know if there is interest in a feature like this:\r\n\r\n!{width:95%;}.2021-07-31_10-49-52.gif!\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-31T13:04:38Z", "updated_on": "2021-08-03T00:31:59Z"}, {"id": 35645, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 1565, "name": "Mischa The Evil"}, "category": {"id": 10, "name": "UI"}, "subject": "Request for reconsideration of removal of 'View all issues' link", "description": "Yesterday I started doing some development work on Redmine again. The first thing that I stumbled upon was that the 'View all issues' link in the issues sidebar was removed in r18304. Although I see the merit of its removal with #30294, it really annoys me not having that link available (to such an extend that I quickly created a \"small plugin\":/plugins/redmine_add_all_issues_link_in_issues_sidebar to restore it on the issues show view).\r\nThe reason for this annoyance is that it was the only way to clear the current, not-saved query straight from the issues show view without first going back to the issues index view and then subsequently clicking on the clear button. With the link on issues show it is possible to go back to the default issues list without the need of an additional click on the clear button to clear the in-memory query. All the other (currently available) links that go back to the issues index view (project menu and query links on the index show view) retain the current query.\r\n\r\nSo, to make a long story short, I'd like to request a reconsideration of the decision for the removal of this link. This is also rooted in the fact that I think more (power) users will be/have been bitten by this change.\r\n\r\nFTR:\r\n* I have no problems with the move of the other links ('Summary' and 'Import') to the drop-down menu. This request is just about the 'View all issues' link.\r\n* I haven't looked into the changes of the 'Spent time' sidebar yet, but the points of the 'Issues sidebar' might also apply to those views.\r\n* If the removal decision is indeed reverted then it would be viable to subsequently also revert the addition of the clear query buttons added in #31640, as they would become obsolete if the 'View all issues' link is added back in.\r\n* I am also ok if my request will be declined. I'll then just keep using my plugin to restore the old situation...\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-30T17:14:42Z", "updated_on": "2021-07-31T13:20:05Z"}, {"id": 35642, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 3, "name": "Resolved"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 332, "name": "Go MAEDA"}, "assigned_to": {"id": 332, "name": "Go MAEDA"}, "category": {"id": 2, "name": "Issues"}, "fixed_version": {"id": 169, "name": "4.1.5"}, "subject": "Long text custom field values are not aligned with their labels", "description": "See the screenshot below. You will see an unnecessary gap above the value of a custom field if all of the following conditions are met:\r\n\r\n* The format of the custom field is \"Long text\"\r\n* Text formatting is enabled for the custom field\r\n\r\nThe attached patch fixes the UI issue.\r\n\r\n!{width: 346px; border: 1px solid grey;}.custom-value-is-not-aligned-with-label.png!", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": "Fixed"}, {"id": 4, "name": "Affected version", "value": "164"}], "created_on": "2021-07-30T02:36:45Z", "updated_on": "2021-08-05T21:51:36Z"}, {"id": 35640, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 361957, "name": "Eugenia B."}, "category": {"id": 2, "name": "Issues"}, "subject": "select / deselect watchers with one click when I copy a single issue", "description": "I have issues with more than 10 watchers and I want to copy the issues without watchers .\r\nIt would be better not to deselect the watchers one by one.\r\n\r\nI want to select / deselect watchers with one click when I copy a single issue\r\n\r\nAlso, I would like to have the option to add a new checkbox to copy watchers when I copy a single issue\r\n\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-29T19:49:13Z", "updated_on": "2021-07-30T00:32:03Z"}, {"id": 35627, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 445357, "name": "token ring"}, "subject": "Database schema", "description": "Please publish latest database schema", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-28T14:04:16Z", "updated_on": "2021-07-28T14:04:16Z"}, {"id": 35626, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 445357, "name": "token ring"}, "category": {"id": 11, "name": "Projects"}, "subject": "Prevent close project", "description": "Please add feature to prevent closing project with opened tasks\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-28T14:03:31Z", "updated_on": "2021-07-28T14:03:31Z"}, {"id": 35616, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 332, "name": "Go MAEDA"}, "category": {"id": 10, "name": "UI"}, "subject": "Remove \"Delete\" from the context menu for related issues", "description": "A related issue has a context menu that is invoked by right-clicking the issue.\r\n\r\nIt contributes to improving usability, but it also causes certain misoperation. This is the accidental deletion of an issue. Sometimes users misunderstand \"Delete\" in the context menu as a menu item to delete the issue relation, and accidentally delete the issue. I have seen such users many times.\r\n\r\nI don't think there are many cases where you want to delete issues in the \"Related issues\" section. In my opinion, It is rather harmful to have \"Delete\" in the menu.\r\n\r\nI suggest removing the \"Delete\" from the context menu in order to avoid such accidents.\r\n\r\n!{width: 393px; border: 1px solid grey;}.delete-in-context-menu.png!", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-27T13:19:13Z", "updated_on": "2021-07-27T19:00:41Z"}, {"id": 35613, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 3, "name": "Patch"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 332, "name": "Go MAEDA"}, "category": {"id": 12, "name": "Translations"}, "subject": "German translation update of wiki_syntax_markdown.html", "description": "Related to #35375, I have updated untranslated de/wiki_syntax_markdown.html based on de/wiki_syntax_textile.html.\r\n\r\nSince I don't understand German, I didn't add any new translations. All translations are from de/wiki_syntax_textile.html.", "done_ratio": 0, "created_on": "2021-07-27T07:45:57Z", "updated_on": "2021-08-06T21:28:51Z"}, {"id": 35608, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 10, "name": "Needs feedback"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 530723, "name": "anderson henrique de oliveira"}, "subject": "ActionView::Template::Error", "description": "\r\nActionView::Template::Error (Tried to load unspecified class: ActiveSupport::HashWithIndifferentAccess):\r\n 6: \r\n 7: <%= label_tag available_tag_id, l(:description_available_columns) %>\r\n 8: <%= select_tag 'available_columns',\r\n 9: options_for_select(query_available_inline_columns_options(query)),\r\n 10: :id => available_tag_id,\r\n 11: :multiple => true, :size => 10,\r\n 12: :ondblclick => \"moveOptions(this.form.#{available_tag_id}, this.form.#{selected_tag_id});\" %>\r\n\r\napp/models/custom_field.rb:194:in `full_width_layout?'\r\napp/models/query.rb:129:in `initialize'\r\napp/models/issue_query.rb:227:in `new'\r\napp/models/issue_query.rb:227:in `block in available_columns'\r\napp/models/issue_query.rb:227:in `collect'\r\napp/models/issue_query.rb:227:in `available_columns'\r\napp/models/query.rb:751:in `available_inline_columns'\r\napp/helpers/queries_helper.rb:111:in `query_available_inline_columns_options'\r\napp/views/queries/_columns.html.erb:9:in `_app_views_queries__columns_html_erb__180106743509758731_39790100'\r\napp/helpers/queries_helper.rb:120:in `render_query_columns_selection'\r\napp/views/settings/_issues.html.erb:42:in `block in _app_views_settings__issues_html_erb___3907273758105470640_70343526728380'\r\napp/views/settings/_issues.html.erb:1:in `_app_views_settings__issues_html_erb___3907273758105470640_70343526728380'\r\napp/views/common/_tabs.html.erb:21:in `block in _app_views_common__tabs_html_erb___2021973252971248650_66522480'\r\napp/views/common/_tabs.html.erb:20:in `each'\r\napp/views/common/_tabs.html.erb:20:in `_app_views_common__tabs_html_erb___2021973252971248650_66522480'\r\napp/helpers/application_helper.rb:439:in `render_tabs'\r\napp/views/settings/edit.html.erb:5:in `_app_views_settings_edit_html_erb___2628854012480261892_66449720'\r\napp/controllers/settings_controller.rb:33:in `index'\r\nlib/redmine/sudo_mode.rb:65:in `sudo_mode'\r\n\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": ""}], "created_on": "2021-07-26T13:18:50Z", "updated_on": "2021-07-27T12:01:26Z"}, {"id": 35582, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 529660, "name": "Robinson Torres"}, "category": {"id": 8, "name": "Administration"}, "subject": "Error: Template::Error (Tried to load unspecified class: ActiveSupport::HashWithIndifferentAccess)", "description": "Started GET \"/redmine/roles/3/edit\" for 192.168.1.1 at 2021-07-19 11:31:51 -0500\r\nProcessing by RolesController#edit as HTML\r\n Parameters: {\"id\"=>\"3\"}\r\n Current user: admin (id=1)\r\n Rendered roles/_form.html.erb (35.5ms)\r\n Rendered roles/edit.html.erb within layouts/admin (37.1ms)\r\nCompleted 500 Internal Server Error in 51ms (ActiveRecord: 6.7ms)\r\n\r\nActionView::Template::Error (Tried to load unspecified class: ActiveSupport::HashWithIndifferentAccess):\r\n 84: <%= hidden_field_tag \"role[permissions_all_trackers][#{permission}]\", '0', :id => nil %>\r\n 85: <%= check_box_tag \"role[permissions_all_trackers][#{permission}]\",\r\n 86: '1',\r\n 87: @role.permissions_all_trackers?(permission),\r\n 88: :class => \"#{permission}_shown\",\r\n 89: :data => {:disables => \".#{permission}_tracker\"} %>\r\n 90: \r\n app/models/role.rb:229:in `permissions_all_trackers'\r\n app/models/role.rb:238:in `permissions_all_trackers?'\r\n app/views/roles/_form.html.erb:87:in `block in _app_views_roles__form_html_erb___376610786332119881_69944433040580'\r\n app/views/roles/_form.html.erb:82:in `each'\r\n app/views/roles/_form.html.erb:82:in `_app_views_roles__form_html_erb___376610786332119881_69944433040580'\r\n app/views/roles/edit.html.erb:4:in `block in _app_views_roles_edit_html_erb___4451376381137512519_69944418235820'\r\n app/helpers/application_helper.rb:1190:in `labelled_form_for'\r\n app/views/roles/edit.html.erb:3:in `_app_views_roles_edit_html_erb___4451376381137512519_69944418235820'\r\n lib/redmine/sudo_mode.rb:63:in `sudo_mode'\r\n", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}, {"id": 4, "name": "Affected version", "value": "134"}], "created_on": "2021-07-19T16:32:57Z", "updated_on": "2021-07-30T04:51:52Z"}, {"id": 35570, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 434111, "name": "C S"}, "category": {"id": 38, "name": "Themes"}, "subject": "Dynamically adjustable template options", "description": "\r\nAt the moment I use the template Purplemine (https://github.com/mrliptontea/PurpleMine2), because at least in the CSS file it offers the possibility to provide the trackers with different colored labels. This is particularly helpful in the Gant diagram to keep track of things. The colors are also used to highlight the respective IDs in the issue overview.\r\nIt would be even better if I could specify the colors directly in the definition of the tracker (Administration-> Tracker) myself", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-16T07:42:20Z", "updated_on": "2021-07-16T07:42:20Z"}, {"id": 35566, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 140010, "name": "shawn freeman"}, "category": {"id": 19, "name": "Attachments"}, "subject": "option to display thumbnails above file list in Documents", "description": "It would be nice to display the thumbnail of files/images, that are attached to an document, before the list of files (in some cases). I have a document enum to act as a catalog of images, and when the document has more than a few images, the users have to scroll down far to see the images. Here's a small example of the \"as is\", with the files listed BEFORE thumbnails (feature request is for AFTER).\r\n\r\n!Screenshot_20210714_203258.png!\r\n\r\nThank you!", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-15T00:51:19Z", "updated_on": "2021-07-15T00:51:19Z"}, {"id": 35559, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 332, "name": "Go MAEDA"}, "category": {"id": 2, "name": "Issues"}, "subject": "Query links for related issues on issue page", "description": "Redmine 4.2.0 and later have query links for subtasks on an issue page (#28471). I think the \"Related issues\" section should also have similar links.\r\n\r\nAlthough there is no filter that can extract all types of related issues as mentioned in #28471, I think the new links can be implemented by using the issue ids filter (#4806).\r\n\r\n!{width: 769px; border: 1px solid grey;}.query-links-for-related-issues.png!", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-13T02:02:47Z", "updated_on": "2021-07-29T13:21:50Z"}, {"id": 35558, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 2, "name": "Feature"}, "status": {"id": 1, "name": "New"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 400484, "name": "David Dole\u017eal"}, "category": {"id": 9, "name": "Email notifications"}, "subject": "Add button \"Send notification again\"", "description": "It happened today. I wrote issue's note wrong and saved it. Users got notification email with wrong information. So I edited my note, corrected all wrong parts (like url for pics, text, ...) and saved it. No notification was send. I think it's ok, because usually nobody change own note after save. But for admins can be usefull to send it again, for example when something crashed on SMTP, etc.\r\n\r\nSo can you add button *Send notification again* for issue journal and protect it with permission.\r\n\r\nHow I think about:\r\nOn issue head will be new button. When I click on it - it send notification about issue like I save it like a new.\r\nOn issue's notes will be new button. When I click on it - it send notication about issue's note like I save it like a new.\r\n\r\nFeel free for question. Maybe I didn't to describe it perfectly.... ", "done_ratio": 0, "custom_fields": [{"id": 2, "name": "Resolution", "value": ""}], "created_on": "2021-07-12T11:56:10Z", "updated_on": "2021-07-12T17:15:31Z"}, {"id": 35557, "project": {"id": 1, "name": "Redmine"}, "tracker": {"id": 1, "name": "Defect"}, "status": {"id": 9, "name": "Confirmed"}, "priority": {"id": 4, "name": "Normal"}, "author": {"id": 361769, "name": "Liane Hampe"}, "category": {"id": 14, "name": "Custom fields"}, "fixed_version": {"id": 32, "name": "Candidate for next major release"}, "subject": "Fix position when rendering custom field enumerations", "description": "The position of each custom field enumeration is integrated as hidden\r\nfield in the corresponding index.html.erb file.\r\n \r\nWhen iterating over all enumerations for a certain field, the iteration\r\nis done with an index information of the array, what contains all enumerations.\r\n \r\nThis index information again is used as the value for the position. \r\n\r\nThis is wrong, since the (array) index starts counting from zero whereas the position\r\nnumbers start counting from 1.\r\n \r\nThis is fixed now by increasing the position by 1 as stated below.\r\n\r\n\r\ndiff --git a/app/views/custom_field_enumerations/index.html.erb b/app/views/custom_field_enumerations/index.html.erb\r\nindex 83e9d59c9..45398728f 100755\r\n--- a/app/views/custom_field_enumerations/index.html.erb\r\n+++ b/app/views/custom_field_enumerations/index.html.erb\r\n@@ -7,7 +7,7 @@\r\n <% @custom_field.enumerations.each_with_index do |value, position| %>\r\n
\r\n \r\n- <%= hidden_field_tag \"custom_field_enumerations[#{value.id}][position]\", position, :class => 'position' %>\r\n+ <%= hidden_field_tag \"custom_field_enumerations[#{value.id}][position]\", position + 1, :class => 'position' %>\r\n <%= text_field_tag \"custom_field_enumerations[#{value.id}][name]\", value.name, :size => 40 %>\r\n <%= hidden_field_tag \"custom_field_enumerations[#{value.id}][active]\", 0 %>\r\n