{"id":725,"date":"2018-10-15T12:00:39","date_gmt":"2018-10-15T12:00:39","guid":{"rendered":"http:\/\/blogs.magicjudges.org\/judgeapps\/?p=725"},"modified":"2019-05-05T12:13:04","modified_gmt":"2019-05-05T19:13:04","slug":"judgeapps-updates-september-2018","status":"publish","type":"post","link":"https:\/\/blogs.magicjudges.org\/judgeapps\/2018\/10\/15\/judgeapps-updates-september-2018\/","title":{"rendered":"JudgeApps Updates &#8211; September 2018"},"content":{"rendered":"<p><span style=\"font-weight: 400\">This month saw a lot of bug fixes and user experience improvements. We see people starting to use the <\/span><a href=\"https:\/\/support.magicjudges.org\/\"><span style=\"font-weight: 400\">Discourse discussion forum<\/span><\/a><span style=\"font-weight: 400\">, and we encourage you to give it a try.<\/span><\/p>\n<p><span style=\"color: #ff0000\"><b>IMPORTANT: If you find any security bugs, DO NOT post them to the Discourse forum!<\/b><\/span><\/p>\n<h1><span style=\"font-weight: 400\">Emails<\/span><\/h1>\n<p><span style=\"font-weight: 400\">During September we dedicated efforts into making JudgeApps email services better. The main change was to change our email services to Amazon\u2019s Simple Email Service (SES). After receiving several assistance requests from users who didn\u2019t get their account verification emails, we realized that iCloud (Apple\u2019s cloud and email service) was blocking emails sent by JudgeApps, because their source (JudgeApps using an email service controlled by us) was classified as untrusted. Once we identified the issue and started using SES, our emails (now using a well-known service) were blocked no more.<\/span><\/p>\n<p><span style=\"font-weight: 400\">One of the unintended side effect of this change was that for a few days emails were not sent immediately. We fixed that as well, and now email should be going out as expected. We\u2019re sorry for any inconvenience this might have caused.<\/span><\/p>\n<p><span style=\"font-weight: 400\">We also fixed two small bugs that affected email notifications for new event applications. The first bug caused emails for event applications to be sent with a broken link to the event page. The link was missing the domain part (links were missing this part: <\/span><a href=\"http:\/\/apps.magicjudges.org\"><span style=\"font-weight: 400\">apps.magicjudges.org<\/span><\/a><span style=\"font-weight: 400\">), so it couldn\u2019t be clicked. The second bug was caused by a wrong variable assignment that set the judge name to be the same as the event name, so the message would claim that the event applied to itself whenever a new application notification was sent (Thanks <span class='judge-tooltip'><a href='https:\/\/apps.magicjudges.org\/judges\/dci\/3213939960' >Nate Hurley<\/a><span class='avatar'><img width='200' height='200' src='https:\/\/apps.magicjudges.org\/dci\/avatar?dci=3213939960&size=200'><\/span><\/span>, for letting us know). Both were fixed. Event admins rejoice!<\/span><\/p>\n<h1><span style=\"font-weight: 400\">Translated Exam Questions<\/span><\/h1>\n<p><span style=\"font-weight: 400\">Two issues affecting translated content for exams were taken care of, one affecting users and the other affected the people translating questions.<\/span><\/p>\n<p><span style=\"font-weight: 400\">First, we improved the user experience by changing the way questions are loaded. Whenever a question is loaded, all its translations are loaded as well, but only the ones using the user\u2019s default language are shown (or English, if the question hasn\u2019t been translated to that language yet). Up until recently, all the content was loaded and shown on screen, and once the page was fully loaded, all the irrelevant translations were hidden. This caused two possible unexpected behaviors:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If it wasn\u2019t quick enough, users would see all the text before it disappeared, and it was confusing<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If one of the content maintainers started editing a question and then clicked the browser\u2019s \u2018back\u2019 button, all the text of all the languages would appear (and wouldn\u2019t disappear)<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">To prevent this awkward behavior, all text not in the user\u2019s default language (or English fallback) is now set to be hidden as soon as it\u2019s added to the page (think of it like a replacement effect that reads \u201cthis translation enters the page hidden\u201d).<\/span><\/p>\n<p><span style=\"font-weight: 400\">The other issue was a bag on the tests\u2019 admin pages. Each test admin page has a table with all the questions, and for each of those questions, the translation status for each language. Clicking the link for the status should take you to the question translation page, but that link was missing the question ID, thus sending translators to a nonexistent page. Thanks <span class='judge-tooltip'><a href='https:\/\/apps.magicjudges.org\/judges\/dci\/88109029' >Christian Genz<\/a><span class='avatar'><img width='200' height='200' src='https:\/\/apps.magicjudges.org\/dci\/avatar?dci=88109029&size=200'><\/span><\/span> for noticing the behavior, identifying the problem and telling us about it!<\/span><\/p>\n<h1><span style=\"font-weight: 400\">Minor Bug Fixes<\/span><\/h1>\n<p><span style=\"font-weight: 400\">The following bugs were found and squashed:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">To calculate how many questions are required to pass (or fail) an exam, the passing score (percentage) was multiplied by the number of questions and rounded. Unfortunately, it was sometimes rounded in the wrong direction, which gave wrong counts &#8211; now it works properly<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">When applications using the OIDC tried to get a user\u2019s photo from JudgeApps, it would return a broken link (similar to the one with the application notifications) &#8211; the link is whole again!<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The percentage symbol (%) has a special meaning in internet addresses (URL), so whenever a user would upload a file with the percentage symbol in its name, the resulting link to the file was illegal &#8211; we now tell the link to treat the name as is, instead of trying to understand what\u2019s the deeper meaning of the percentage symbol<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">After the downtime in August, the forum content search index wasn\u2019t rebuilt properly, so searches returned incomplete results &#8211; <span class='judge-tooltip'><a href='https:\/\/apps.magicjudges.org\/judges\/dci\/2103835322' >Isaac King<\/a><span class='avatar'><img width='200' height='200' src='https:\/\/apps.magicjudges.org\/dci\/avatar?dci=2103835322&size=200'><\/span><\/span> noticed and notified us, so we manually ran the indexing process on older content, which is now fully searchable again<\/span><\/li>\n<\/ul>\n<h1><span style=\"font-weight: 400\">Feedback and Support<\/span><\/h1>\n<p><span style=\"font-weight: 400\">As you may have heard, there\u2019s a new <\/span><a href=\"https:\/\/support.magicjudges.org\/\"><span style=\"font-weight: 400\">Discourse discussion forum<\/span><\/a><span style=\"font-weight: 400\"> for JudgeApps. This forum replaces some of the feedback form functionality. People have already started using it, and many of the bug fixes in this monthly update came from there. If you find any non-security bug, or have any questions, suggestions or feedback, please let us know over there. The forum is public and we encourage your participation in discussions. The feedback form has been modified to reflect this change.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Remember, though, that these discussions are public. Please do not post any confidential content such as exam content, personal details, reviews, etc&#8230;<\/span><\/p>\n<p><span style=\"color: #ff0000\"><b>IMPORTANT: If you find any security bugs, DO NOT post them to the Discourse forum!<\/b><\/span><\/p>\n<p><span style=\"font-weight: 400\">Security bug details should never be posted publicly. Please use the <\/span><a href=\"https:\/\/apps.magicjudges.org\/feedback\/\"><span style=\"font-weight: 400\">JudgeApps feedback form<\/span><\/a><span style=\"font-weight: 400\"> for those. Exposing such details publicly increases the risk of them reaching the wrong people and being exploited. Please help us keep you and your data safe.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bugs. Bugs, bugs, bugs. And more bugs. We fixed a lot of them. Not critical bugs. No big-scale-break-everything bugs, but a lot of little annoyances. We also have some insight after opening the support Discourse forum to the public, so go in and see what it\u2019s all about.<\/p>\n","protected":false},"author":368,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[9],"tags":[],"language":[11],"class_list":["post-725","post","type-post","status-publish","format-standard","hentry","category-updates","language-en"],"_links":{"self":[{"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/posts\/725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/users\/368"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/comments?post=725"}],"version-history":[{"count":2,"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/posts\/725\/revisions"}],"predecessor-version":[{"id":727,"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/posts\/725\/revisions\/727"}],"wp:attachment":[{"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/media?parent=725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/categories?post=725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/tags?post=725"},{"taxonomy":"language","embeddable":true,"href":"https:\/\/blogs.magicjudges.org\/judgeapps\/wp-json\/wp\/v2\/language?post=725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}