{"latest_posts":[{"id":2034587,"name":"","username":"Don","avatar_template":"/user_avatar/meta.discourse.org/don/{size}/228726_2.png","created_at":"2026-09-06T18:54:18.814Z","cooked":"<p>감사합니다 <a class=\"mention\" href=\"/u/stephane_roy\">@Stephane_Roy</a>! 수정 내용은 다음과 같습니다: <a href=\"https://github.com/VaperinaDEV/discourse-topic-preview-modal/commit/0be328ef1d0697032a1306341735efacc51d116d\" class=\"inline-onebox\" rel=\"noopener nofollow ugc\">FIX: post-voting topics crashing the topic preview modal · VaperinaDEV/discourse-topic-preview-modal@0be328e · GitHub</a></p>","post_number":74,"post_type":1,"posts_count":74,"updated_at":"2026-09-06T18:54:18.814Z","reply_count":0,"reply_to_post_number":73,"quote_count":0,"incoming_link_count":1,"reads":4,"readers_count":3,"score":5.6,"yours":false,"topic_id":409712,"topic_slug":"topic-preview-modal","topic_title":"토픽 미리보기 모달","topic_html_title":"토픽 미리보기 모달","category_id":120,"display_username":"","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"https://global.discourse-cdn.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_bg_color":"","flair_color":"","flair_group_id":276,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Leader","title_is_group":false,"reply_to_user":{"id":98294,"username":"Stephane_Roy","name":"Stephane Roy","avatar_template":"/user_avatar/meta.discourse.org/stephane_roy/{size}/222598_2.png"},"bookmarked":false,"raw":"Thank you @Stephane_Roy! Here is the fix: https://github.com/VaperinaDEV/discourse-topic-preview-modal/commit/0be328ef1d0697032a1306341735efacc51d116d","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"group_moderator":true,"user_id":78445,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"감사합니다 <a class=\"mention\" href=\"/u/stephane_roy\">@Stephane_Roy</a>! 수정 내용은 다음과 같습니다: <a href=\"https://github.com/VaperinaDEV/discourse-topic-preview-modal/commit/0be328ef1d0697032a1306341735efacc51d116d\" class=\"inline-onebox\" rel=\"noopener nofollow ugc\">FIX: post-voting topics crashing the topic preview modal · VaperinaDEV/discourse-topic-preview-modal@0be328e · GitHub</a>","truncated":true,"post_url":"/t/topic-preview-modal/409712/74","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034579,"name":"","username":"twofoursixeight","avatar_template":"/user_avatar/meta.discourse.org/twofoursixeight/{size}/574822_2.png","created_at":"2026-09-06T17:29:34.794Z","cooked":"<p>보통 등록한 상태에서는 이 페이지에 접근하지 못하도록 되어 있습니다. 하지만 게시물에 있는 링크를 클릭하면 접근할 수 있습니다. 보통 이 두 페이지를 클릭하면 홈 페이지로 되돌려집니다.</p>\n<p>이 버그를 재현하는 방법:</p>\n<ol>\n<li>포럼에서 /signup 또는 /login 링크가 포함된 게시물을 찾거나 작성합니다.</li>\n<li>계정 상태에서도 이 링크 중 하나를 클릭하면 가입 또는 로그인 페이지로 이동합니다.</li>\n<li>이 상태에서 계정을 만들려고 하면 아무 반응이 없어 보이지만, 아래 이미지와 같은 이메일이 전송됩니다.<br>\n<div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://global.discourse-cdn.com/meta/original/4X/e/3/6/e36b45208e92167873f4de077f6cdfa1d8f943a6.png\" data-download-href=\"/uploads/short-url/wrQd4bGGJku5wNF9ZWKElH1n85o.png?dl=1\" title=\"image\"><img src=\"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/e/3/6/e36b45208e92167873f4de077f6cdfa1d8f943a6_2_690x372.png\" alt=\"image\" data-base62-sha1=\"wrQd4bGGJku5wNF9ZWKElH1n85o\" width=\"690\" height=\"372\" srcset=\"https://global.discourse-cdn.com/meta/optimized/4X/e/3/6/e36b45208e92167873f4de077f6cdfa1d8f943a6_2_690x372.png, https://global.discourse-cdn.com/meta/original/4X/e/3/6/e36b45208e92167873f4de077f6cdfa1d8f943a6.png 1.5x, https://global.discourse-cdn.com/meta/original/4X/e/3/6/e36b45208e92167873f4de077f6cdfa1d8f943a6.png 2x\" data-dominant-color=\"FAF1F1\" aria-description=\"A screenshot of an email from 'Discourse Demo' with the subject 'Confirm your new account,' featuring a red-highlighted link for account activation. (Captioned by AI)\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">901×486 23.7 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></li>\n<li>이 상태에서 계정에 로그인하려고 하면 아무 반응이 없어 보이지만, 새로고침을 하자마자 다른 계정으로 로그인됩니다.</li>\n</ol>\n<p>동영상:</p>\n<p></p><div class=\"video-placeholder-container\" data-video-src=\"https://global.discourse-cdn.com/meta/original/4X/3/5/8/358fa4c19ed2e6266399a2628ed4cf404d80e967.mp4\" data-thumbnail-src=\"https://global.discourse-cdn.com/meta/original/4X/2/8/e/28e55a3de519bbf94f4de728c7dc31c9802f3728.jpeg\" data-video-base62-sha1=\"7DP3M2cHYLDjZpntBfw7AgIWlUj.mp4\">\n  </div><br>\n동영상 1: 로그인 페이지<br>\n<div class=\"video-placeholder-container\" data-video-src=\"https://global.discourse-cdn.com/meta/original/4X/f/5/f/f5f7c1e0f846b4c81f410ac683879b75bb7cc3d0.mp4\" data-thumbnail-src=\"https://global.discourse-cdn.com/meta/original/4X/d/a/c/dac23c33e9f43d7b2cac9b2e0608b71e0ff5eafb.jpeg\" data-video-base62-sha1=\"z5VNtatrWBs9WZkwwxJZlxnffJm.mp4\">\n  </div><br>\n동영상 2: 가입 페이지<p></p>","post_number":1,"post_type":1,"posts_count":1,"updated_at":"2026-09-06T17:31:09.607Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":2,"reads":10,"readers_count":9,"score":27.0,"yours":false,"topic_id":411756,"topic_slug":"you-can-open-the-sign-up-and-login-pages-on-discourse-forums-by-clicking-them-in-a-post-despite-being-a-registered-user","topic_title":"회원가입 및 로그인 페이지를 게시글에서 클릭하면 등록된 회원이라도 열립니다","topic_html_title":"회원가입 및 로그인 페이지를 게시글에서 클릭하면 등록된 회원이라도 열립니다","category_id":1,"display_username":"","primary_group_name":null,"flair_name":"theme_creator","flair_url":"palette","flair_bg_color":"ddd","flair_color":"111","flair_group_id":84,"badges_granted":[],"version":2,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Ghostwriter","title_is_group":false,"bookmarked":false,"raw":"Normally, you are not supposed to access these pages when registered. However you can when you click the link a post. Normally both pages kick you back to the home page when you click them.\n\nHow to reproduce this bug:\n1. Find or make a post on the forum that has either a /signup or a /login link.\n2. Clicking either of those will take you to the signup or login page even with an account.\n3. If you try to make an account in this state, nothing seems to happen, but it sends an email like the image below.\n![image|690x372](upload://wrQd4bGGJku5wNF9ZWKElH1n85o.png)\n4. If you try to log in to an account in this state, nothing seems to happen, but as soon as you refresh, the account logs you in to a different account.\n\n\nVideos:\n\n![2026-09-06 10-11-36|video](upload://7DP3M2cHYLDjZpntBfw7AgIWlUj.mp4)\nVideo 1: The login page\n![2026-09-06 10-28-42|video](upload://z5VNtatrWBs9WZkwwxJZlxnffJm.mp4)\nVideo 2: The signup page","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":120090,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"보통 등록한 상태에서는 이 페이지에 접근하지 못하도록 되어 있습니다. 하지만 게시물에 있는 링크를 클릭하면 접근할 수 있습니다. 보통 이 두 페이지를 클릭하면 홈 페이지로 되돌려집니다. \n이 버그를 재현하는 방법: \n\n포럼에서 /signup 또는 /login 링크가 포함된 게시물을 찾거나 작성합니다.\n계정 상태에서도 이 링크 중 하나를 클릭하면 가입 또는 로그인 페이지로 이동합니다.\n이 상태에서 계정을 만들려고 하면 아무 반응이 없어 보이지만, 아래 이미지와 같은 이메일이 전송됩니다. \n<a class=\"lightbox\" href=\"https://global.discourse-cdn.com/meta/original/4X/e/3/6/e36b45208e92167873f4de077f6cdfa1d8f943a6.png\" data-download-href=\"/uploads/short-url/wrQd4bGGJku5wNF9ZWKElH1n85o.png?dl=1\" title=\"image\">[image]</a>\n이 상태에서 계정에 로그인하려고&hellip;","truncated":true,"post_url":"/t/you-can-open-the-sign-up-and-login-pages-on-discourse-forums-by-clicking-them-in-a-post-despite-being-a-registered-user/411756/1","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"calendar_details":[],"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":2034578,"name":"","username":"ducks","avatar_template":"/user_avatar/meta.discourse.org/ducks/{size}/518975_2.png","created_at":"2026-09-06T17:29:00.899Z","cooked":"<p>훌륭한 제안입니다. 이 문제를 수정해야 할 PR입니다.</p>\n<p><a href=\"https://github.com/discourse/discourse/pull/43338\" class=\"onebox\" target=\"_blank\" rel=\"noopener nofollow ugc\">https://github.com/discourse/discourse/pull/43338</a></p>","post_number":3,"post_type":1,"posts_count":3,"updated_at":"2026-09-06T17:29:00.899Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":7,"readers_count":6,"score":36.4,"yours":false,"topic_id":411753,"topic_slug":"optimize-the-selection-of-the-month-for-an-event","topic_title":"이벤트용 월 선택 최적화","topic_html_title":"이벤트용 월 선택 최적화","category_id":2,"display_username":"","primary_group_name":"team","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111","flair_group_id":47,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"team","title_is_group":true,"bookmarked":false,"raw":"great suggestion. PR here that should fix this.\n\nhttps://github.com/discourse/discourse/pull/43338","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":true,"staff":true,"user_id":176466,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"훌륭한 제안입니다. 이 문제를 수정해야 할 PR입니다. \n<a href=\"https://github.com/discourse/discourse/pull/43338\" class=\"onebox\" target=\"_blank\" rel=\"noopener nofollow ugc\">https://github.com/discourse/discourse/pull/43338</a>","truncated":true,"post_url":"/t/optimize-the-selection-of-the-month-for-an-event/411753/3","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":2}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034577,"name":"Stephane Roy","username":"Stephane_Roy","avatar_template":"/user_avatar/meta.discourse.org/stephane_roy/{size}/222598_2.png","created_at":"2026-09-06T17:04:08.642Z","cooked":"<p>안녕하세요,</p>\n<p>테마의 플로팅 버튼에서 텍스트 표시 문제가 발생하고 있습니다. “New topic” 텍스트가 표시되지 않습니다.</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://global.discourse-cdn.com/meta/original/4X/4/7/a/47a084316b801849b64713608b29da7c684b9143.png\" data-download-href=\"/uploads/short-url/adDNV1HfB0IJAdnaTilaaMrO9uX.png?dl=1\" title=\"image\"><img src=\"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/7/a/47a084316b801849b64713608b29da7c684b9143_2_690x265.png\" alt=\"image\" data-base62-sha1=\"adDNV1HfB0IJAdnaTilaaMrO9uX\" width=\"690\" height=\"265\" srcset=\"https://global.discourse-cdn.com/meta/optimized/4X/4/7/a/47a084316b801849b64713608b29da7c684b9143_2_690x265.png, https://global.discourse-cdn.com/meta/optimized/4X/4/7/a/47a084316b801849b64713608b29da7c684b9143_2_1035x397.png 1.5x, https://global.discourse-cdn.com/meta/original/4X/4/7/a/47a084316b801849b64713608b29da7c684b9143.png 2x\" data-dominant-color=\"F5F4EF\" aria-description=\"A screenshot of a web interface displaying a calendar for September 2026, with navigation tabs and a highlighted event on the 11th. (Captioned by AI)\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">1121×431 47.1 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<p>이 문제는 “<a href=\"https://meta.discourse.org/t/customize-new-topic-button-text/269086\">Customize new topic button text</a>” 테마 구성 요소를 사용하여 “create topic” 버튼의 기본 텍스트를 사용자 지정한 카테고리에서만 발생합니다.</p>\n<p>예를 들어 이 카테고리에서 문제가 발생합니다:</p><aside class=\"onebox allowlistedgeneric\" data-onebox-src=\"https://forums.ffjdr.org/c/e-irl/14\">\n  <header class=\"source\">\n      <img src=\"https://global.discourse-cdn.com/meta/original/4X/9/5/c/95c7b4fe9a3836de5098f2f2e6ddb1d73c75a2b4.png\" class=\"site-icon\" alt=\"\" data-dominant-color=\"D7CCC1\" width=\"32\" height=\"32\">\n\n      <a href=\"https://forums.ffjdr.org/c/e-irl/14\" target=\"_blank\" rel=\"nofollow ugc noopener\">Forums FFJdR</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <div class=\"aspect-image\" style=\"--aspect-ratio:478/500;\"><img src=\"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/4/f/f4fa19c8b868c180399141393197a5a0cc8b5403_2_478x500.png\" class=\"thumbnail\" alt=\"\" width=\"478\" height=\"500\" data-dominant-color=\"6D472A\"></div>\n\n<h3><a href=\"https://forums.ffjdr.org/c/e-irl/14\" target=\"_blank\" rel=\"nofollow ugc noopener\">Conventions JdR</a></h3>\n\n  <p>« Récent » pour celles annoncées\n « Carte » pour l’historique par lieux\n..Ajoutez/MAJ celles de votre région !!\nProcédure en cours de changement :</p>\n\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p>도와주셔서 감사합니다. 정말 멋진 테마네요 <img src=\"https://emoji.discourse-cdn.com/twitter/heart_eyes.png?v=15\" title=\":heart_eyes:\" class=\"emoji\" alt=\":heart_eyes:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":420,"post_type":1,"posts_count":9,"updated_at":"2026-09-06T17:04:08.642Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":7,"readers_count":6,"score":6.4,"yours":false,"topic_id":47142,"topic_slug":"material-design-theme","topic_title":"Material Design Theme","topic_html_title":"Material Design Theme","category_id":61,"display_username":"Stephane Roy","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hello,\n\nI’m encountering a text display issue with the theme's floating button: \"New topic\" isn't showing up.\n\n![image|690x265](upload://adDNV1HfB0IJAdnaTilaaMrO9uX.png)\n\n\nThis problem only occurs in categories where I’ve customized the default text for the \"create topic\" button using the \"[Customize new topic button text](https://meta.discourse.org/t/customize-new-topic-button-text/269086)\" theme component.\n\nFor exemple in this category : \nhttps://forums.ffjdr.org/c/e-irl/14\n\n\n\nThanks for your help and for this wonderful theme :heart_eyes:","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":98294,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"안녕하세요, \n테마의 플로팅 버튼에서 텍스트 표시 문제가 발생하고 있습니다. “New topic” 텍스트가 표시되지 않습니다. \n <a class=\"lightbox\" href=\"https://global.discourse-cdn.com/meta/original/4X/4/7/a/47a084316b801849b64713608b29da7c684b9143.png\" data-download-href=\"/uploads/short-url/adDNV1HfB0IJAdnaTilaaMrO9uX.png?dl=1\" title=\"image\">[image]</a> \n이 문제는 “<a href=\"https://meta.discourse.org/t/customize-new-topic-button-text/269086\">Customize new topic button text</a>” 테마 구성 요소를 사용하여 “create topic” 버튼의 기본 텍스트를 사용자 지정한 카테고리에서만 발생합니다. \n예를 들어 이 카테고리에서 문제가 발생합니다: \n\n도와주셔서 감사합니다. 정말 멋진 테마네요 :heart_eyes:","truncated":true,"post_url":"/t/material-design-theme/47142/420","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034575,"name":"Stephane Roy","username":"Stephane_Roy","avatar_template":"/user_avatar/meta.discourse.org/stephane_roy/{size}/222598_2.png","created_at":"2026-09-06T16:53:47.271Z","cooked":"<p>안녕하세요,</p>\n<p>“Events” 카테고리에서 두 가지 유형의 Discourse 템플릿 모두에서 버그를 겪고 있습니다.</p>\n<ul>\n<li>\n<p>카테고리 템플릿의 경우: 작성기(composer)에서 이벤트 아래에 표시되지 않습니다.</p>\n</li>\n<li>\n<p>폼 템플릿의 경우:<br>\n작성기에서 자동으로 생성되는 이벤트를 대체합니다.<br>\n또한, 폼 템플릿 요소에서 “Event” 유형을 사용할 수 없습니다.</p>\n</li>\n</ul>\n<p>이 문제는 Form Templates와 Events가 모두 아직 개발 중이기 때문에 발생하는 것으로 추정됩니다 <img src=\"https://emoji.discourse-cdn.com/twitter/face_blowing_a_kiss.png?v=15\" title=\":face_blowing_a_kiss:\" class=\"emoji\" alt=\":face_blowing_a_kiss:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>\n<pre><code class=\"lang-plaintext\"></code></pre>","post_number":632,"post_type":1,"posts_count":170,"updated_at":"2026-09-06T16:53:47.271Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":5,"readers_count":4,"score":1.0,"yours":false,"topic_id":97376,"topic_slug":"discourse-events","topic_title":"Discourse Events","topic_html_title":"Discourse Events","category_id":22,"display_username":"Stephane Roy","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hello,\n\nI’m encountering bugs with both types of Discourse templates in an \"Events\" category.\n\n- With the category template: it doesn't appear below the event in the composer.\n\n- With the form template:\nIt replaces the event that is normally created automatically in the composer.\nAlso, there is no \"Event\" type available in the form template elements.\n\nI assume the issue is likely caused by the fact that both Form Templates and Events are still under development :face_blowing_a_kiss:\n```","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":98294,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"안녕하세요, \n“Events” 카테고리에서 두 가지 유형의 Discourse 템플릿 모두에서 버그를 겪고 있습니다. \n\n\n카테고리 템플릿의 경우: 작성기(composer)에서 이벤트 아래에 표시되지 않습니다. \n\n\n폼 템플릿의 경우: \n작성기에서 자동으로 생성되는 이벤트를 대체합니다. \n또한, 폼 템플릿 요소에서 “Event” 유형을 사용할 수 없습니다. \n\n\n이 문제는 Form Templates와 Events가 모두 아직 개발 중이기 때문에 발생하는 것으로 추정됩니다 :face_blowing_a_kiss:","truncated":true,"post_url":"/t/discourse-events/97376/632","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034574,"name":"","username":"satonotdead","avatar_template":"/user_avatar/meta.discourse.org/satonotdead/{size}/447830_2.png","created_at":"2026-09-06T16:51:15.144Z","cooked":"<p>이벤트 뷰의 재구성 및 재편성에 동의합니다. 선택기를 비활성화하고 월간 이벤트 표시만 유지하여, 나머지 기능을 제거하면서 사용자에게 단순한 UI/UX를 제공했습니다.</p>","post_number":2,"post_type":1,"posts_count":3,"updated_at":"2026-09-06T16:51:15.144Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":7,"readers_count":6,"score":21.4,"yours":false,"topic_id":411753,"topic_slug":"optimize-the-selection-of-the-month-for-an-event","topic_title":"이벤트용 월 선택 최적화","topic_html_title":"이벤트용 월 선택 최적화","category_id":2,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","bookmarked":false,"raw":"I agree with a restructure and reorganization of these event views. I just disabled the selector and let the monthly event display to give a simple UI/UX to users while dropping the rest.","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":71041,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"이벤트 뷰의 재구성 및 재편성에 동의합니다. 선택기를 비활성화하고 월간 이벤트 표시만 유지하여, 나머지 기능을 제거하면서 사용자에게 단순한 UI/UX를 제공했습니다.","truncated":true,"post_url":"/t/optimize-the-selection-of-the-month-for-an-event/411753/2","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034573,"name":"Stephane Roy","username":"Stephane_Roy","avatar_template":"/user_avatar/meta.discourse.org/stephane_roy/{size}/222598_2.png","created_at":"2026-09-06T16:32:26.867Z","cooked":"<p>안녕하세요,</p>\n<p>관리자가 특정 카테고리에 대해 사용 가능한 필드를 구성하거나 기본 설정을 지정할 수 있을까요?</p>\n<p>예를 들어:</p>\n<p>위치 필드를 제거하거나 필수로 설정하는 것.</p>\n<p>리마인더의 시간 범위를 설정하는 것.</p>\n<p>이벤트 필드를 켜거나 끌 수 있거나(또는 필수로 지정할 수 있다면), 이벤트 기능을 매우 높은 수준으로 커스터마이징할 수 있을 것입니다.</p>\n<p>이벤트 기능에 대한 모든 작업에 감사드립니다! <img src=\"https://emoji.discourse-cdn.com/twitter/slight_smile.png?v=15\" title=\":slight_smile:\" class=\"emoji\" alt=\":slight_smile:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":1,"post_type":1,"posts_count":1,"updated_at":"2026-09-06T16:32:26.867Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":2,"reads":6,"readers_count":5,"score":26.2,"yours":false,"topic_id":411755,"topic_slug":"make-event-fields-disabled-or-mandatory","topic_title":"이벤트 필드를 비활성화하거나 필수로 설정하기","topic_html_title":"이벤트 필드를 비활성화하거나 필수로 설정하기","category_id":2,"display_username":"Stephane Roy","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hello,\n\nWould it be possible for the administrator to configure the available fields—or set defaults configurations—for a specific category ?\n\n\nFor example:\n\nTo remove or mandate the location field.\n\nTo set the timeframe for reminders.\n\nIf event fields could be toggled on or off (or made mandatory), it would allow for a high level of customization of the Events feature.\n\n\n  \nThanks for all the work on Events! :-)","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":98294,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"안녕하세요, \n관리자가 특정 카테고리에 대해 사용 가능한 필드를 구성하거나 기본 설정을 지정할 수 있을까요? \n예를 들어: \n위치 필드를 제거하거나 필수로 설정하는 것. \n리마인더의 시간 범위를 설정하는 것. \n이벤트 필드를 켜거나 끌 수 있거나(또는 필수로 지정할 수 있다면), 이벤트 기능을 매우 높은 수준으로 커스터마이징할 수 있을 것입니다. \n이벤트 기능에 대한 모든 작업에 감사드립니다! :slight_smile:","truncated":true,"post_url":"/t/make-event-fields-disabled-or-mandatory/411755/1","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"calendar_details":[],"reactions":[{"id":"eyes","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":true},{"id":2034570,"name":"Stephane Roy","username":"Stephane_Roy","avatar_template":"/user_avatar/meta.discourse.org/stephane_roy/{size}/222598_2.png","created_at":"2026-09-06T16:19:09.174Z","cooked":"<p>안녕하세요,</p>\n<p>이 시나리오에 대한 사용성 개선 사항을 제안드리고자 합니다.</p>\n<p>컴포저를 사용하여 2일짜리 이벤트를 생성할 때,</p>\n<p>시작 날짜가 몇 달 후라면—</p>\n<p>예를 들어 2027년 7월 14일—</p>\n<p>날짜 선택기가 자동으로 7월로 설정되도록 할 수 있을까요?</p>\n<p>이렇게 하면 사용자가 날짜 선택기에서 월을 넘겨보며 찾을 필요가 없어집니다.</p>\n<p>감사합니다.</p>","post_number":1,"post_type":1,"posts_count":3,"updated_at":"2026-09-06T16:19:09.174Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":2,"reads":9,"readers_count":8,"score":86.8,"yours":false,"topic_id":411753,"topic_slug":"optimize-the-selection-of-the-month-for-an-event","topic_title":"이벤트용 월 선택 최적화","topic_html_title":"이벤트용 월 선택 최적화","category_id":2,"display_username":"Stephane Roy","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hello,\n\nI’d like to suggest a usability improvement for this scenario:\n\nWhen creating a 2-day event using the composer,\n\nif the start date is several months away—\n\nfor example, July 14, 2027—\n\nwould it be possible for the date picker to automatically default to the month of July?\n\nThis would save the user from having to scroll through the months in the picker.\n\nThanks.","actions_summary":[{"id":2,"count":3}],"moderator":false,"admin":false,"staff":false,"user_id":98294,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"안녕하세요, \n이 시나리오에 대한 사용성 개선 사항을 제안드리고자 합니다. \n컴포저를 사용하여 2일짜리 이벤트를 생성할 때, \n시작 날짜가 몇 달 후라면— \n예를 들어 2027년 7월 14일— \n날짜 선택기가 자동으로 7월로 설정되도록 할 수 있을까요? \n이렇게 하면 사용자가 날짜 선택기에서 월을 넘겨보며 찾을 필요가 없어집니다. \n감사합니다.","truncated":true,"post_url":"/t/optimize-the-selection-of-the-month-for-an-event/411753/1","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"calendar_details":[],"reactions":[{"id":"heart","type":"emoji","count":2},{"id":"eyes","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":3,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":true},{"id":2034567,"name":"Ethan ","username":"Ethsim2","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png","created_at":"2026-09-06T15:52:22.609Z","cooked":"<p>이 PR이 카테고리별 설정의 <strong>이벤트 시작일 기준으로 주제 정렬</strong> 옵션에 영향을 미치는지 확인하는 것도 가치가 있을 수 있습니다:</p>\n<aside class=\"onebox githubpullrequest\" data-onebox-src=\"https://github.com/discourse/discourse/pull/43285\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/discourse/discourse/pull/43285\" target=\"_blank\" rel=\"nofollow ugc noopener\">github.com/discourse/discourse</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <div class=\"github-row --gh-status-open\" data-github-private-repo=\"false\">\n\n\n\n    <div class=\"github-icon-container\" title=\"Open Pull Request\">\n      <svg width=\"60\" height=\"60\" class=\"github-icon\" viewBox=\"0 0 12 16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n    </div>\n\n  <div class=\"github-info-container\">\n\n\n\n      <h4>\n        <a href=\"https://github.com/discourse/discourse/pull/43285\" target=\"_blank\" rel=\"nofollow ugc noopener\">FIX: Refresh event dates in topic lists (#43285)</a>\n      </h4>\n\n    <div class=\"branches\">\n      <code>main</code> ← <code>Ethsim12:fix-event-topic-event_time-live-refresh</code>\n    </div>\n\n      <div class=\"github-info\">\n        <div class=\"date\">\n          opened <span class=\"discourse-local-date\" data-format=\"ll\" data-date=\"2026-09-04\" data-time=\"12:59:38\" data-timezone=\"UTC\">12:59PM - 04 Sep 26 UTC</span>\n        </div>\n\n        <div class=\"user\">\n          <a href=\"https://github.com/Ethsim12\" target=\"_blank\" rel=\"nofollow ugc noopener\">\n            <img alt=\"\" src=\"https://global.discourse-cdn.com/meta/original/4X/c/3/d/c3dc8fb5f0ef8648e860e52620338526be80d87e.jpeg\" class=\"onebox-avatar-inline\" width=\"20\" height=\"20\" data-dominant-color=\"957B67\">\n            Ethsim12\n          </a>\n        </div>\n\n        <div class=\"lines\" title=\"1 commits changed 5 files with 106 additions and 10 deletions\">\n          <a href=\"https://github.com/discourse/discourse/pull/43285/files\" target=\"_blank\" rel=\"nofollow ugc noopener\">\n            <span class=\"added\">+106</span>\n            <span class=\"removed\">-10</span>\n          </a>\n        </div>\n      </div>\n  </div>\n</div>\n\n  <div class=\"github-row\">\n    <p class=\"github-body-container\">## What changed\n\nEvent date badges in topic lists could become stale in two wa<span class=\"show-more-container\"><a href=\"https://github.com/discourse/discourse/pull/43285\" target=\"_blank\" rel=\"nofollow ugc noopener\" class=\"show-more\">…</a></span><span class=\"excerpt hidden\">ys:\n\n- relative labels such as `in a minute`, `Ends in a minute`, or `a minute ago` did not rerender as time passed unless something else caused the component to update;\n- when a recurring event advanced to its next occurrence, `/latest` did not publish an update for the topic, and the existing Topic model did not track the event date fields needed to rerender after rehydration.\n\nThis change:\n\n- makes `EventDate` consume Discourse's existing once-per-minute `a11y.autoUpdatingRelativeDateRef`, so future/current/past relative labels update as time passes without adding another timer;\n- registers the event date/topic fields as tracked Topic properties so rehydrating an existing topic updates the badge;\n- publishes a latest-topic update after a recurring event advances to its next date, while leaving non-recurring event completion unchanged.\n\n## Tests\n\nAutomated:\n\n- `bin/qunit --standalone plugins/discourse-events/test/javascripts/integration/components/event-date-test.gjs` — 274 tests, 273 passed, 1 skipped, 0 failed\n- `bin/rspec plugins/discourse-events/spec/jobs/scheduled/monitor_event_dates_spec.rb` — 9 examples, 0 failures\n- Prettier, ESLint, RuboCop, Syntax Tree and `git diff --check` pass\n\nManual GUI smoke tests:\n\n- a non-recurring event updated automatically from pre-event relative time to the active `Ends in …` state, then to past relative time, and continued updating each minute without a page refresh;\n\n- a recurring event advanced through the same future/current/past states, then showed Discourse's normal `See 1 new or updated topic` notice after rollover; loading that update changed the badge to the next weekly occurrence (`in 7 days`) without a full page refresh.</span></p>\n  </div>\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p>해당 PR은 카테고리 정렬을 위해 특별히 작성된 것은 아니지만, 업데이트된 이벤트 날짜가 기존 주제 모델에 어떻게 전파되는지를 변경하고, 반복 이벤트가 다음 발생 시점으로 넘어갈 때 최신 주제 업데이트를 발행합니다.</p>\n<p><strong>이벤트 시작일 기준으로 주제 정렬</strong> 기능을 사용 중인 사용자들이 이벤트 날짜가 변경될 때 주제가 올바르게 업데이트/재정렬되지 않는 문제를 목격했다면, PR 헤드(최신 커밋) 기준으로 해당 문제가 여전히 재현되는지 알려주시면 유용할 것입니다.</p>","post_number":631,"post_type":1,"posts_count":170,"updated_at":"2026-09-06T15:52:22.609Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":8,"readers_count":7,"score":16.6,"yours":false,"topic_id":97376,"topic_slug":"discourse-events","topic_title":"Discourse Events","topic_html_title":"Discourse Events","category_id":22,"display_username":"Ethan ","primary_group_name":null,"flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Tester","title_is_group":false,"bookmarked":false,"raw":"It may also be worth checking whether this PR has any effect on the **Sort topics by event start date** option in the per-category settings:\n\nhttps://github.com/discourse/discourse/pull/43285\n\nThe PR wasn’t written specifically for category sorting, but it does change how updated event dates are propagated to existing topic models, and publishes a latest-topic update when a recurring event advances to its next occurrence.\n\nIf anyone using **Sort topics by event start date** has seen topics fail to update/re-sort correctly as event dates change, it would be useful to know whether that still reproduces against the PR head.","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":160471,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"이 PR이 카테고리별 설정의 이벤트 시작일 기준으로 주제 정렬 옵션에 영향을 미치는지 확인하는 것도 가치가 있을 수 있습니다: \n\n\n해당 PR은 카테고리 정렬을 위해 특별히 작성된 것은 아니지만, 업데이트된 이벤트 날짜가 기존 주제 모델에 어떻게 전파되는지를 변경하고, 반복 이벤트가 다음 발생 시점으로 넘어갈 때 최신 주제 업데이트를 발행합니다. \n이벤트 시작일 기준으로 주제 정렬 기능을 사용 중인 사용자들이 이벤트 날짜가 변경될 때 주제가 올바르게 업데이트/재정렬되지 않는 문제를 목격했다면, PR 헤드(최신 커밋) 기준으로 해당 &hellip;","truncated":true,"post_url":"/t/discourse-events/97376/631","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034566,"name":"Stephane Roy","username":"Stephane_Roy","avatar_template":"/user_avatar/meta.discourse.org/stephane_roy/{size}/222598_2.png","created_at":"2026-09-06T15:25:26.336Z","cooked":"<p>안녕하세요,</p>\n<p>다양한 기능이 추가되어 사용하게 되었습니다… 감사합니다!</p>\n<p>다음 시나리오에서 버그를 발견했습니다:</p>\n<p>예를 들어 2일간 지속되는 이벤트를 생각해 보세요.</p>\n<p>이벤트가 이벤트 시작일 기준으로 정렬된 토픽 목록 상단에서 너무 일찍 사라집니다.<br>\n이벤트의 첫날이 시작되는 순간 바로 사라집니다.</p>\n<p>이벤트가 끝날 때까지 유지되어야 하지 않을까요?</p>\n<p>그리고 토픽 제목 옆에 상태가 단순히 \"진행 중\"으로 변경되어야 하지 않을까요?</p>\n<p>감사합니다.</p>","post_number":630,"post_type":1,"posts_count":170,"updated_at":"2026-09-06T15:25:26.336Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":9,"readers_count":8,"score":21.8,"yours":false,"topic_id":97376,"topic_slug":"discourse-events","topic_title":"Discourse Events","topic_html_title":"Discourse Events","category_id":22,"display_username":"Stephane Roy","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hello,\n\nThe addition of numerous features convinced me to use it... thanks!\n\nI've run into a bug in this scenario:\n\nTake an event that lasts, for example, 2 days.\n\nThe event disappears from the top of the topic list (sorted by event start date) too early.\nIt vanishes right at the start of the event's first day.\n\nShouldn't it disappear only when the event ends?\n\nAnd shouldn't its status simply change to \"in progress\" next to the topic title?\n\nThanks.","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":98294,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"안녕하세요, \n다양한 기능이 추가되어 사용하게 되었습니다… 감사합니다! \n다음 시나리오에서 버그를 발견했습니다: \n예를 들어 2일간 지속되는 이벤트를 생각해 보세요. \n이벤트가 이벤트 시작일 기준으로 정렬된 토픽 목록 상단에서 너무 일찍 사라집니다. \n이벤트의 첫날이 시작되는 순간 바로 사라집니다. \n이벤트가 끝날 때까지 유지되어야 하지 않을까요? \n그리고 토픽 제목 옆에 상태가 단순히 &quot;진행 중&quot;으로 변경되어야 하지 않을까요? \n감사합니다.","truncated":true,"post_url":"/t/discourse-events/97376/630","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034564,"name":"","username":"satonotdead","avatar_template":"/user_avatar/meta.discourse.org/satonotdead/{size}/447830_2.png","created_at":"2026-09-06T14:59:59.203Z","cooked":"<p>Discourse AI에서 프롬프트/에이전트를 설계하고 구조화한 후, 현재 ask.discourse.com에서 확인되는 대화형 채팅에 현재 글로벌 표준으로 자리 잡은 기능들을 업데이트할 좋은 시점이라고 생각합니다.</p>\n<p>아래 목록은 포괄적이지는 않지만, 가장 가치 있고 유용한 사용 사례를 다루고 있습니다:</p>\n<ul>\n<li><strong>채팅 이름 변경 기능:</strong> 개인적인 관례에 따라 채팅을 쉽게 찾을 수 있도록 합니다.</li>\n<li><strong>그룹 생성 및 조직화 기능:</strong> 다양한 에이전트/기능에 따라 조직화 매개변수를 정의할 수 있도록 합니다.</li>\n<li><strong>채팅 삭제 기능:</strong> 사용자 프라이버시를 존중하기 위해 필수적이라고 생각합니다.</li>\n</ul>\n<p>현재 AI 채팅 패널은 이러한 기능을 지원하지 않으며, 해당 패널에 제공되는 정보를 검색하거나 찾는 데 어려움을 겪고 있습니다.</p>","post_number":1,"post_type":1,"posts_count":1,"updated_at":"2026-09-06T14:59:59.203Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":4,"reads":12,"readers_count":11,"score":22.4,"yours":false,"topic_id":411751,"topic_slug":"add-groups-rename-and-remove-to-ai-conversations","topic_title":"AI 대화에 그룹 추가, 이름 변경 및 삭제 기능 추가","topic_html_title":"AI 대화에 그룹 추가, 이름 변경 및 삭제 기능 추가","category_id":2,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","bookmarked":false,"raw":"After designing and structuring my prompts/agents in Discourse AI, I think it's a good time to update the conversation chat (the same one we see on ask.discourse.com) with functionalities that are currently the global standard.\n\nThe list is not exhaustive, although it covers the most valued and useful use cases:\n\n- **Ability to rename chats:** allows finding them based on personal conventions.\n- **Ability to generate and organize groups:** allows defining organization parameters according to different agents/functions.\n- **Ability to delete chats:** I think this is indispensable to respect user privacy.\n\nCurrently, the AI chat panel does not allow any of these functions, and I am having trouble searching for/finding the information that is provided there.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":71041,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Discourse AI에서 프롬프트/에이전트를 설계하고 구조화한 후, 현재 ask.discourse.com에서 확인되는 대화형 채팅에 현재 글로벌 표준으로 자리 잡은 기능들을 업데이트할 좋은 시점이라고 생각합니다. \n아래 목록은 포괄적이지는 않지만, 가장 가치 있고 유용한 사용 사례를 다루고 있습니다: \n\n채팅 이름 변경 기능: 개인적인 관례에 따라 채팅을 쉽게 찾을 수 있도록 합니다.\n그룹 생성 및 조직화 기능: 다양한 에이전트/기능에 따라 조직화 매개변수를 정의할 수 있도록 합니다.\n채팅 삭제 기능: 사용자 프라이버시를 존중하기&hellip;","truncated":true,"post_url":"/t/add-groups-rename-and-remove-to-ai-conversations/411751/1","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"calendar_details":[],"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":true},{"id":2034563,"name":"Stephane Roy","username":"Stephane_Roy","avatar_template":"/user_avatar/meta.discourse.org/stephane_roy/{size}/222598_2.png","created_at":"2026-09-06T14:57:06.086Z","cooked":"<p>안녕하세요,</p>\n<p>와, 이 컴포넌트는 정말 멋지고 특히 스마트폰에서 뛰어난 사용성을 제공하는 것 같습니다!</p>\n<p>막히는 버그를 발견했습니다:</p>\n<p>\"<a href=\"https://meta.discourse.org/t/discourse-post-voting/227808\">Post Voting 플러그인</a>\"이 적용된 토픽에서 모달이 로드되지 않습니다.</p>\n<p>이 문제는 스마트폰과 PC 모두에서 발생합니다.<br>\n최신 버전에서도 동일한 현상이 나타납니다.</p>\n<p>필요하시면 제 포럼에서 해당 컴포넌트를 다시 활성화하고 버그 링크를 DM으로 보내드리겠습니다.</p>\n<p>감사합니다.</p>","post_number":73,"post_type":1,"posts_count":74,"updated_at":"2026-09-06T14:57:26.036Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":8,"readers_count":7,"score":36.6,"yours":false,"topic_id":409712,"topic_slug":"topic-preview-modal","topic_title":"토픽 미리보기 모달","topic_html_title":"토픽 미리보기 모달","category_id":120,"display_username":"Stephane Roy","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hello,\n\nWow, this component looks great and offers excellent usability, especially on smartphones!\n\nI’ve run into a blocking bug:\n\nOn a topic using the \"[Post Voting plugin](https://meta.discourse.org/t/discourse-post-voting/227808)\", the modal doesn't load.\n\nThis issue occurs on both smartphones and PCs.\nIt happens with the latest versions.\n\nIf needed, I can reactivate the component on my forum and send you a link to the bug via PM.\n\nThanks.","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"user_id":98294,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"안녕하세요, \n와, 이 컴포넌트는 정말 멋지고 특히 스마트폰에서 뛰어난 사용성을 제공하는 것 같습니다! \n막히는 버그를 발견했습니다: \n&quot;<a href=\"https://meta.discourse.org/t/discourse-post-voting/227808\">Post Voting 플러그인</a>&quot;이 적용된 토픽에서 모달이 로드되지 않습니다. \n이 문제는 스마트폰과 PC 모두에서 발생합니다. \n최신 버전에서도 동일한 현상이 나타납니다. \n필요하시면 제 포럼에서 해당 컴포넌트를 다시 활성화하고 버그 링크를 DM으로 보내드리겠습니다. \n감사합니다.","truncated":true,"post_url":"/t/topic-preview-modal/409712/73","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":2}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034545,"name":"system","username":"system","avatar_template":"/user_avatar/meta.discourse.org/system/{size}/443519_2.png","created_at":"2026-09-06T13:01:59.552Z","cooked":"<h1><a name=\"p-2034545-today-on-metadiscourseorg-1\" class=\"anchor\" href=\"#p-2034545-today-on-metadiscourseorg-1\" aria-label=\"Heading link\"></a>Today on <a href=\"http://meta.discourse.org\">meta.discourse.org</a>…</h1>\n<h2><a name=\"p-2034545-key-stats-2\" class=\"anchor\" href=\"#p-2034545-key-stats-2\" aria-label=\"Heading link\"></a>Key Stats</h2>\n<ul>\n<li><strong>63 posts</strong> were created across <strong>23 topics</strong> in the last 24 hours.</li>\n<li><strong>58 likes</strong> were given on posts returned in this window.</li>\n</ul>\n<h3><a name=\"p-2034545-top-users-by-posts-and-likes-3\" class=\"anchor\" href=\"#p-2034545-top-users-by-posts-and-likes-3\" aria-label=\"Heading link\"></a>Top users by posts and likes</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>User</th>\n<th>Posts</th>\n<th>Likes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a class=\"mention\" href=\"/u/moin\">Moin</a></td>\n<td>7</td>\n<td>15</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a></td>\n<td>9</td>\n<td>5</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/don\">Don</a></td>\n<td>2</td>\n<td>5</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/ed_s\">Ed_S</a></td>\n<td>4</td>\n<td>4</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a></td>\n<td>2</td>\n<td>3</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/sterretje\">Sterretje</a></td>\n<td>1</td>\n<td>3</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/jagster\">Jagster</a></td>\n<td>4</td>\n<td>2</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a></td>\n<td>4</td>\n<td>2</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/emilio\">Emilio</a></td>\n<td>3</td>\n<td>2</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/scavin\">Scavin</a></td>\n<td>2</td>\n<td>2</td>\n</tr>\n</tbody>\n</table>\n</div><h2><a name=\"p-2034545-interesting-topics-4\" class=\"anchor\" href=\"#p-2034545-interesting-topics-4\" aria-label=\"Heading link\"></a>Interesting Topics</h2>\n<h3><a name=\"p-2034545-announcements-5\" class=\"anchor\" href=\"#p-2034545-announcements-5\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Announcements</span></h3>\n<ul>\n<li>\n<p><a href=\"https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/29?silent=true\"><strong>Easier account signup using email codes</strong></a> – On the <a class=\"hashtag-cooked\" href=\"/tag/signup/934\" data-type=\"tag\" data-slug=\"signup\" data-id=\"934\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>signup</span></a> announcement, <a class=\"mention\" href=\"/u/thisisjoshjones\">Thisisjoshjones</a> asked whether the new email-code flow could also be applied to the invitations landing page, and <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> replied that <a href=\"https://github.com/discourse/discourse/pull/43138\">work is already in progress in discourse/discourse#43138</a>. <a href=\"https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/30?silent=true\">read more</a></p>\n</li>\n<li>\n<p><a href=\"https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/50?silent=true\"><strong>Introducing Upcoming Changes</strong></a> – <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> asked if opting out of <code>Dashboard improvements</code> still preserves the legacy admin dashboard and its old update-status faces; <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> <a href=\"https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/52?silent=true\">confirmed</a> the legacy dashboard is on its way out once the new one becomes permanent, pointing to the new System section for self-hosters. <a href=\"https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/51?silent=true\">read more</a></p>\n</li>\n<li>\n<p><a href=\"https://meta.discourse.org/t/postgresql-18-update-for-self-hosters/406194/85?silent=true\"><strong>PostgreSQL 18 update for self-hosters</strong></a> – <a class=\"mention\" href=\"/u/astonj\">AstonJ</a> shared that <a class=\"mention\" href=\"/u/lilly\">Lilly</a>'s advice about checking disk space helped make the upgrade go smoothly on dual containers. <a href=\"https://meta.discourse.org/t/postgresql-18-update-for-self-hosters/406194/85?silent=true\">read more</a></p>\n</li>\n<li>\n<p><a href=\"https://meta.discourse.org/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/27?silent=true\"><strong>Voice: Discord-style voice and video rooms, now bundled with Discourse</strong></a> – <a class=\"mention\" href=\"/u/jagster\">Jagster</a> needed help finding how to remove rooms from the new <a class=\"hashtag-cooked\" href=\"/tag/voice/1199\" data-type=\"tag\" data-slug=\"voice\" data-id=\"1199\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>voice</span></a> feature; <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> explained the option lives in the plugin’s room settings, not in the forum GUI, and <a class=\"mention\" href=\"/u/jagster\">Jagster</a> eventually found it. <a href=\"https://meta.discourse.org/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/29?silent=true\">read more</a></p>\n</li>\n<li>\n<p><a href=\"https://meta.discourse.org/t/a-preview-of-the-new-workflows-feature/406990/28?silent=true\"><strong>A preview of the new Workflows feature</strong></a> – <a class=\"mention\" href=\"/u/gilles\">Gilles</a> suggested that when an event reaches “full” status, Workflows should be able to rename the event to add “complet” and perhaps show remaining spots in the year view. <a href=\"https://meta.discourse.org/t/a-preview-of-the-new-workflows-feature/406990/28?silent=true\">read more</a></p>\n</li>\n</ul>\n<h3><a name=\"p-2034545-plugin-6\" class=\"anchor\" href=\"#p-2034545-plugin-6\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Plugin</span></h3>\n<ul>\n<li><a href=\"https://meta.discourse.org/t/discourse-boards/411414/3?silent=true\"><strong>Discourse Boards</strong></a> – <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a>'s announcement that Boards is bundled with core drew a question from <a class=\"mention\" href=\"/u/m_terenui\">M_Terenui</a> about self-hosted availability; <a class=\"mention\" href=\"/u/moin\">Moin</a> explained that the feature landed in the dev build only four days ago and can be enabled via Upcoming Changes. <a href=\"https://meta.discourse.org/t/discourse-boards/411414/3?silent=true\">read more</a></li>\n</ul>\n<h3><a name=\"p-2034545-theme-component-7\" class=\"anchor\" href=\"#p-2034545-theme-component-7\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Theme</span> component</h3>\n<ul>\n<li><a href=\"https://meta.discourse.org/t/external-link-shield-exit-confirmation-trust-gating/392962/7?silent=true\"><strong>External Link Shield – Exit Confirmation &amp; Trust Gating</strong></a> – <a class=\"mention\" href=\"/u/don\">Don</a> shipped v2.0 of this theme component with real SVG icons, new settings for icon position/colors, and an anonymous-blocking crash fix; <a class=\"mention\" href=\"/u/moin\">Moin</a> recommended switching those custom icon settings to the native <code>icon</code> setting type, which <a class=\"mention\" href=\"/u/don\">Don</a> adopted. <a href=\"https://meta.discourse.org/t/external-link-shield-exit-confirmation-trust-gating/392962/8?silent=true\">read more</a></li>\n</ul>\n<h3><a name=\"p-2034545-feature-8\" class=\"anchor\" href=\"#p-2034545-feature-8\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Feature</span></h3>\n<ul>\n<li>\n<p><a href=\"https://meta.discourse.org/t/allow-user-to-delete-their-own-topic-at-any-time/411689/1?silent=true\"><strong>Allow user to delete their own topic at any time</strong></a> – <a class=\"mention\" href=\"/u/emilio\">Emilio</a> reignited the debate about the hardcoded 24-hour deletion window; <a class=\"mention\" href=\"/u/moin\">Moin</a> <a href=\"https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\">linked to the Guardian code</a>, <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> argued the conversational record matters, and <a class=\"mention\" href=\"/u/ecki\">Ecki</a> raised GDPR as an argument for more user control. <a href=\"https://meta.discourse.org/t/allow-user-to-delete-their-own-topic-at-any-time/411689/10?silent=true\">read more</a></p>\n</li>\n<li>\n<p><a href=\"https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/4?silent=true\"><strong>Actually delete permanently without all the obstacles</strong></a> – <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> has been working on a <a href=\"https://github.com/discourse/discourse/pull/43323\">PR that adds a per-admin opt-in</a> to permanently delete a topic and all replies in one action, with a preference under Preferences → Interface, Staff Action Log entries, and a clearer irreversible confirmation. <a href=\"https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/3?silent=true\">read more</a></p>\n</li>\n<li>\n<p><a href=\"https://meta.discourse.org/t/combining-category-types/409045/8?silent=true\"><strong>Combining Category types</strong></a> – <a class=\"mention\" href=\"/u/ecki\">Ecki</a> asked whether solved status could work from a tag, and <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> agreed that topics should be able to combine “Me too” and voting; <a class=\"mention\" href=\"/u/moin\">Moin</a> noted <code>enable_solved_tags</code> exists but may not support the “Me too” button. <a href=\"https://meta.discourse.org/t/combining-category-types/409045/6?silent=true\">read more</a></p>\n</li>\n</ul>\n<h3><a name=\"p-2034545-bug-9\" class=\"anchor\" href=\"#p-2034545-bug-9\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/tag/bug/1056\" data-type=\"tag\" data-slug=\"bug\" data-id=\"1056\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>bug</span></a></h3>\n<ul>\n<li>\n<p><a href=\"https://meta.discourse.org/t/discourse-mail-receiver-release-docker-image-appears-to-be-outdated/411734/1?silent=true\"><strong>Discourse/mail-receiver:release Docker image appears to be outdated</strong></a> – <a class=\"mention\" href=\"/u/scavin\">Scavin</a> found the published <a class=\"hashtag-cooked\" href=\"/tag/mail-receiver/562\" data-type=\"tag\" data-slug=\"mail-receiver\" data-id=\"562\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>mail-receiver</span></a> image is nearly two years old and still runs removed fast-rejection code, breaking <code>RCPT TO</code>; <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> <a href=\"https://meta.discourse.org/t/discourse-mail-receiver-release-docker-image-appears-to-be-outdated/411734/3?silent=true\">independently confirmed</a> that a merged <code>email_encoded</code> change never made it into the published image. <a href=\"https://meta.discourse.org/t/discourse-mail-receiver-release-docker-image-appears-to-be-outdated/411734/2?silent=true\">read more</a></p>\n</li>\n<li>\n<p><a href=\"https://meta.discourse.org/t/discourse-events-can-cause-500-when-deleting-a-topic-in-development-uninitialized-calendar-extractor/411731/1?silent=true\"><strong>Discourse-events can cause 500 when deleting a topic in development</strong></a> – <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> traced a <code>DELETE /t/35</code> 500 to an <code>uninitialized constant DiscourseEvents::Calendar::Extractor</code> in the <code>:post_destroyed</code> callback, and wondered whether dev-mode reloading or the <a class=\"hashtag-cooked\" href=\"/tag/events/241\" data-type=\"tag\" data-slug=\"events\" data-id=\"241\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>events</span></a> plugin’s callback loading is responsible. <a href=\"https://meta.discourse.org/t/discourse-events-can-cause-500-when-deleting-a-topic-in-development-uninitialized-calendar-extractor/411731/1?silent=true\">read more</a></p>\n</li>\n<li>\n<p><a href=\"https://meta.discourse.org/t/regression-new-check-username-rate-limit-can-block-normal-signup-flow/411646/4?silent=true\"><strong>Regression: new check_username rate limit can block normal signup flow</strong></a> – <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> thanked <a class=\"mention\" href=\"/u/hbp\">HBP</a> for the detailed repro and said a fix is in the works for the new <a class=\"hashtag-cooked\" href=\"/tag/signup/934\" data-type=\"tag\" data-slug=\"signup\" data-id=\"934\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>signup</span></a> rate limit. <a href=\"https://meta.discourse.org/t/regression-new-check-username-rate-limit-can-block-normal-signup-flow/411646/4?silent=true\">read more</a></p>\n</li>\n</ul>\n<h3><a name=\"p-2034545-support-10\" class=\"anchor\" href=\"#p-2034545-support-10\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/c/support/6\" data-type=\"category\" data-slug=\"support\" data-id=\"6\" data-style-type=\"icon\" data-icon=\"circle-question\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>Support</span></a></h3>\n<ul>\n<li>\n<p><a href=\"https://meta.discourse.org/t/is-anyone-experiencing-an-odd-spam-user-attack-any-way-to-block/404427/16?silent=true\"><strong>Is anyone experiencing an odd spam user attack? Any way to block?</strong></a> – <a class=\"mention\" href=\"/u/lordofbikes\">LordOfBikes</a> described blocking cloud-provider networks after a wave of registrations, <a class=\"mention\" href=\"/u/one1\">One1</a> said hCaptcha eliminated the exact spam pattern, <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> added an “Interests” user field to help human reviewers, and <a class=\"mention\" href=\"/u/moin\">Moin</a> suggested checking <code>moderators_view_ips</code> / <code>moderators_view_emails</code>. <a href=\"https://meta.discourse.org/t/is-anyone-experiencing-an-odd-spam-user-attack-any-way-to-block/404427/21?silent=true\">read more</a></p>\n</li>\n<li>\n<p><a href=\"https://meta.discourse.org/t/randomly-attached-tags/411729/1?silent=true\"><strong>Randomly attached tags</strong></a> – <a class=\"mention\" href=\"/u/ecki\">Ecki</a> asked where a mysterious third <span class=\"hashtag-raw\">#tag</span> keeps coming from on hand-tagged posts; <a class=\"mention\" href=\"/u/moin\">Moin</a> asked whether it was a required parent tag in a tag group, but <a class=\"mention\" href=\"/u/ecki\">Ecki</a> ruled that out. <a href=\"https://meta.discourse.org/t/randomly-attached-tags/411729/3?silent=true\">read more</a></p>\n</li>\n</ul>\n<h2><a name=\"p-2034545-activity-by-the-a-classmention-hrefuteamteama-group-11\" class=\"anchor\" href=\"#p-2034545-activity-by-the-a-classmention-hrefuteamteama-group-11\" aria-label=\"Heading link\"></a>Activity by the <a class=\"mention\" href=\"/u/team\">Team</a> Group</h2>\n<ul>\n<li>\n<p><a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> <a href=\"https://meta.discourse.org/t/discourse-boards/411414/1?silent=true\">announced Discourse Boards</a>, noting that the plugin is bundled with Discourse core and can be previewed via Upcoming Changes.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> <a href=\"https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/30?silent=true\">shared a WIP pull request</a> to bring the new email-code signup experience to invitations, following <a class=\"mention\" href=\"/u/thisisjoshjones\">Thisisjoshjones</a>'s request.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> <a href=\"https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/52?silent=true\">confirmed that the legacy admin dashboard will be removed</a> once Dashboard improvements become permanent.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> <a href=\"https://meta.discourse.org/t/regression-new-check-username-rate-limit-can-block-normal-signup-flow/411646/4?silent=true\">responded to the check_username regression report</a>, thanking <a class=\"mention\" href=\"/u/hbp\">HBP</a> for the detailed write-up and confirming a fix is in the works.</p>\n</li>\n</ul>\n<hr>\n<p>Yesterday’s mix of spam-fighting, permanent-deletion PRs, and Discord-style voice rooms proved that even a forum platform knows how to throw a party.</p>","post_number":941,"post_type":1,"posts_count":714,"updated_at":"2026-09-06T13:01:59.552Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":1,"readers_count":0,"score":0.2,"yours":false,"topic_id":291852,"topic_slug":"daily-summary-1pm-utc","topic_title":"일일 요약 (UTC 오후 1시)","topic_html_title":"일일 요약 (UTC 오후 1시)","category_id":157,"display_username":"system","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"# Today on meta.discourse.org...\n\n## Key Stats\n\n- **63 posts** were created across **23 topics** in the last 24 hours.\n- **58 likes** were given on posts returned in this window.\n\n### Top users by posts and likes\n\n| User | Posts | Likes |\n|---|---|---|\n| <a class=\"mention\" href=\"/u/moin\">Moin</a> | 7 | 15 |\n| <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> | 9 | 5 |\n| <a class=\"mention\" href=\"/u/don\">Don</a> | 2 | 5 |\n| <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> | 4 | 4 |\n| <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> | 2 | 3 |\n| <a class=\"mention\" href=\"/u/sterretje\">Sterretje</a> | 1 | 3 |\n| <a class=\"mention\" href=\"/u/jagster\">Jagster</a> | 4 | 2 |\n| <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> | 4 | 2 |\n| <a class=\"mention\" href=\"/u/emilio\">Emilio</a> | 3 | 2 |\n| <a class=\"mention\" href=\"/u/scavin\">Scavin</a> | 2 | 2 |\n\n## Interesting Topics\n\n### #Announcements\n\n- [**Easier account signup using email codes**](https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/29?silent=true) – On the #signup announcement, <a class=\"mention\" href=\"/u/thisisjoshjones\">Thisisjoshjones</a> asked whether the new email-code flow could also be applied to the invitations landing page, and <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> replied that [work is already in progress in discourse/discourse#43138](https://github.com/discourse/discourse/pull/43138). [read more](https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/30?silent=true)\n\n- [**Introducing Upcoming Changes**](https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/50?silent=true) – <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> asked if opting out of `Dashboard improvements` still preserves the legacy admin dashboard and its old update-status faces; <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> [confirmed](https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/52?silent=true) the legacy dashboard is on its way out once the new one becomes permanent, pointing to the new System section for self-hosters. [read more](https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/51?silent=true)\n\n- [**PostgreSQL 18 update for self-hosters**](https://meta.discourse.org/t/postgresql-18-update-for-self-hosters/406194/85?silent=true) – <a class=\"mention\" href=\"/u/astonj\">AstonJ</a> shared that <a class=\"mention\" href=\"/u/lilly\">Lilly</a>'s advice about checking disk space helped make the upgrade go smoothly on dual containers. [read more](https://meta.discourse.org/t/postgresql-18-update-for-self-hosters/406194/85?silent=true)\n\n- [**Voice: Discord-style voice and video rooms, now bundled with Discourse**](https://meta.discourse.org/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/27?silent=true) – <a class=\"mention\" href=\"/u/jagster\">Jagster</a> needed help finding how to remove rooms from the new #voice feature; <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> explained the option lives in the plugin's room settings, not in the forum GUI, and <a class=\"mention\" href=\"/u/jagster\">Jagster</a> eventually found it. [read more](https://meta.discourse.org/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/29?silent=true)\n\n- [**A preview of the new Workflows feature**](https://meta.discourse.org/t/a-preview-of-the-new-workflows-feature/406990/28?silent=true) – <a class=\"mention\" href=\"/u/gilles\">Gilles</a> suggested that when an event reaches \"full\" status, Workflows should be able to rename the event to add \"complet\" and perhaps show remaining spots in the year view. [read more](https://meta.discourse.org/t/a-preview-of-the-new-workflows-feature/406990/28?silent=true)\n\n### #Plugin\n\n- [**Discourse Boards**](https://meta.discourse.org/t/discourse-boards/411414/3?silent=true) – <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a>'s announcement that Boards is bundled with core drew a question from <a class=\"mention\" href=\"/u/m_terenui\">M_Terenui</a> about self-hosted availability; <a class=\"mention\" href=\"/u/moin\">Moin</a> explained that the feature landed in the dev build only four days ago and can be enabled via Upcoming Changes. [read more](https://meta.discourse.org/t/discourse-boards/411414/3?silent=true)\n\n### #Theme component\n\n- [**External Link Shield – Exit Confirmation & Trust Gating**](https://meta.discourse.org/t/external-link-shield-exit-confirmation-trust-gating/392962/7?silent=true) – <a class=\"mention\" href=\"/u/don\">Don</a> shipped v2.0 of this theme component with real SVG icons, new settings for icon position/colors, and an anonymous-blocking crash fix; <a class=\"mention\" href=\"/u/moin\">Moin</a> recommended switching those custom icon settings to the native `icon` setting type, which <a class=\"mention\" href=\"/u/don\">Don</a> adopted. [read more](https://meta.discourse.org/t/external-link-shield-exit-confirmation-trust-gating/392962/8?silent=true)\n\n### #Feature\n\n- [**Allow user to delete their own topic at any time**](https://meta.discourse.org/t/allow-user-to-delete-their-own-topic-at-any-time/411689/1?silent=true) – <a class=\"mention\" href=\"/u/emilio\">Emilio</a> reignited the debate about the hardcoded 24-hour deletion window; <a class=\"mention\" href=\"/u/moin\">Moin</a> [linked to the Guardian code](https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385), <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> argued the conversational record matters, and <a class=\"mention\" href=\"/u/ecki\">Ecki</a> raised GDPR as an argument for more user control. [read more](https://meta.discourse.org/t/allow-user-to-delete-their-own-topic-at-any-time/411689/10?silent=true)\n\n- [**Actually delete permanently without all the obstacles**](https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/4?silent=true) – <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> has been working on a [PR that adds a per-admin opt-in](https://github.com/discourse/discourse/pull/43323) to permanently delete a topic and all replies in one action, with a preference under Preferences → Interface, Staff Action Log entries, and a clearer irreversible confirmation. [read more](https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/3?silent=true)\n\n- [**Combining Category types**](https://meta.discourse.org/t/combining-category-types/409045/8?silent=true) – <a class=\"mention\" href=\"/u/ecki\">Ecki</a> asked whether solved status could work from a tag, and <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> agreed that topics should be able to combine \"Me too\" and voting; <a class=\"mention\" href=\"/u/moin\">Moin</a> noted `enable_solved_tags` exists but may not support the \"Me too\" button. [read more](https://meta.discourse.org/t/combining-category-types/409045/6?silent=true)\n\n### #Bug\n\n- [**Discourse/mail-receiver:release Docker image appears to be outdated**](https://meta.discourse.org/t/discourse-mail-receiver-release-docker-image-appears-to-be-outdated/411734/1?silent=true) – <a class=\"mention\" href=\"/u/scavin\">Scavin</a> found the published #mail-receiver image is nearly two years old and still runs removed fast-rejection code, breaking `RCPT TO`; <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> [independently confirmed](https://meta.discourse.org/t/discourse-mail-receiver-release-docker-image-appears-to-be-outdated/411734/3?silent=true) that a merged `email_encoded` change never made it into the published image. [read more](https://meta.discourse.org/t/discourse-mail-receiver-release-docker-image-appears-to-be-outdated/411734/2?silent=true)\n\n- [**Discourse-events can cause 500 when deleting a topic in development**](https://meta.discourse.org/t/discourse-events-can-cause-500-when-deleting-a-topic-in-development-uninitialized-calendar-extractor/411731/1?silent=true) – <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> traced a `DELETE /t/35` 500 to an `uninitialized constant DiscourseEvents::Calendar::Extractor` in the `:post_destroyed` callback, and wondered whether dev-mode reloading or the #events plugin's callback loading is responsible. [read more](https://meta.discourse.org/t/discourse-events-can-cause-500-when-deleting-a-topic-in-development-uninitialized-calendar-extractor/411731/1?silent=true)\n\n- [**Regression: new check_username rate limit can block normal signup flow**](https://meta.discourse.org/t/regression-new-check-username-rate-limit-can-block-normal-signup-flow/411646/4?silent=true) – <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> thanked <a class=\"mention\" href=\"/u/hbp\">HBP</a> for the detailed repro and said a fix is in the works for the new #signup rate limit. [read more](https://meta.discourse.org/t/regression-new-check-username-rate-limit-can-block-normal-signup-flow/411646/4?silent=true)\n\n### #Support\n\n- [**Is anyone experiencing an odd spam user attack? Any way to block?**](https://meta.discourse.org/t/is-anyone-experiencing-an-odd-spam-user-attack-any-way-to-block/404427/16?silent=true) – <a class=\"mention\" href=\"/u/lordofbikes\">LordOfBikes</a> described blocking cloud-provider networks after a wave of registrations, <a class=\"mention\" href=\"/u/one1\">One1</a> said hCaptcha eliminated the exact spam pattern, <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> added an \"Interests\" user field to help human reviewers, and <a class=\"mention\" href=\"/u/moin\">Moin</a> suggested checking `moderators_view_ips` / `moderators_view_emails`. [read more](https://meta.discourse.org/t/is-anyone-experiencing-an-odd-spam-user-attack-any-way-to-block/404427/21?silent=true)\n\n- [**Randomly attached tags**](https://meta.discourse.org/t/randomly-attached-tags/411729/1?silent=true) – <a class=\"mention\" href=\"/u/ecki\">Ecki</a> asked where a mysterious third #tag keeps coming from on hand-tagged posts; <a class=\"mention\" href=\"/u/moin\">Moin</a> asked whether it was a required parent tag in a tag group, but <a class=\"mention\" href=\"/u/ecki\">Ecki</a> ruled that out. [read more](https://meta.discourse.org/t/randomly-attached-tags/411729/3?silent=true)\n\n## Activity by the <a class=\"mention\" href=\"/u/team\">Team</a> Group\n\n- <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> [announced Discourse Boards](https://meta.discourse.org/t/discourse-boards/411414/1?silent=true), noting that the plugin is bundled with Discourse core and can be previewed via Upcoming Changes.\n\n- <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> [shared a WIP pull request](https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/30?silent=true) to bring the new email-code signup experience to invitations, following <a class=\"mention\" href=\"/u/thisisjoshjones\">Thisisjoshjones</a>'s request.\n\n- <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> [confirmed that the legacy admin dashboard will be removed](https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/52?silent=true) once Dashboard improvements become permanent.\n\n- <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> [responded to the check_username regression report](https://meta.discourse.org/t/regression-new-check-username-rate-limit-can-block-normal-signup-flow/411646/4?silent=true), thanking <a class=\"mention\" href=\"/u/hbp\">HBP</a> for the detailed write-up and confirming a fix is in the works.\n\n---\nYesterday's mix of spam-fighting, permanent-deletion PRs, and Discord-style voice rooms proved that even a forum platform knows how to throw a party.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":-1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a name=\"p-2034545-today-on-metadiscourseorg-1\" class=\"anchor\" href=\"#p-2034545-today-on-metadiscourseorg-1\" aria-label=\"Heading link\"></a>Today on <a href=\"http://meta.discourse.org\">meta.discourse.org</a>…\n<a name=\"p-2034545-key-stats-2\" class=\"anchor\" href=\"#p-2034545-key-stats-2\" aria-label=\"Heading link\"></a>Key Stats\n\n63 posts were created across 23 topics in the last 24 hours.\n58 likes were given on posts returned in this window.\n\n<a name=\"p-2034545-top-users-by-posts-and-likes-3\" class=\"anchor\" href=\"#p-2034545-top-users-by-posts-and-likes-3\" aria-label=\"Heading link\"></a>Top users by posts and likes\n\n\n\n\nUser\nPosts\nLikes\n\n\n\n\n<a class=\"mention\" href=\"/u/moin\">Moin</a>\n7\n15\n\n\n<a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a>\n9\n5\n\n\n<a class=\"mention\" href=\"/u/don\">Don</a>\n2\n5\n\n\n<a class=\"mention\" href=\"/u/ed_s\">Ed_S</a>\n4\n4\n\n\n<a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a>\n2\n3\n\n\n<a class=\"mention\" href=\"/u/sterretje\">Sterretje</a>\n1\n3\n\n\n<a class=\"mention\" href=\"/u/jagster\">Jagster</a>\n4\n2\n\n&hellip;","truncated":true,"post_url":"/t/daily-summary-1pm-utc/291852/941","locale":null,"is_localized":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034539,"name":"","username":"satonotdead","avatar_template":"/user_avatar/meta.discourse.org/satonotdead/{size}/447830_2.png","created_at":"2026-09-06T12:36:54.617Z","cooked":"<p>정말 훌륭하네요, 니콜스. 저도 보통 생일에 프로젝트를 진행하거나 발표하곤 해요.</p>\n<p>우리가 하는 일과 삶을 일치시키는 건 건강한 방법이라고 생각해요. 그리고 우리가 세상에 나누는 것에 얼마나 많은 에너지와 품질을 쏟고 있는지를 말해 주는 것이기도 하죠. 상황이 허락하지 않을 때도, 의도와 노력이야말로 남아 있는 진정한 가치입니다.</p>\n<p>생일 축하해요!</p>","post_number":33,"post_type":1,"posts_count":31,"updated_at":"2026-09-06T12:36:54.617Z","reply_count":0,"reply_to_post_number":31,"quote_count":0,"incoming_link_count":5,"reads":18,"readers_count":17,"score":58.6,"yours":false,"topic_id":408132,"topic_slug":"a-social-mobile-desktop-client-for-communities-2","topic_title":"커뮤니티용 소셜 모바일 및 데스크톱 클라이언트 (2)","topic_html_title":"커뮤니티용 소셜 모바일 및 데스크톱 클라이언트 (2)","category_id":124,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","reply_to_user":{"id":189150,"username":"nicolsdennis","name":"Nicols Dennis","avatar_template":"/user_avatar/meta.discourse.org/nicolsdennis/{size}/545883_2.png"},"bookmarked":false,"raw":"This is great, Nicols. I also usually work on or announce projects on my birthday.\n\nI believe it's a healthy way to align what we do with our lives and speaks volumes about the energy and quality we put into what we share with the world. Even if times don't allow for it, the intention and effort is the real value that remains.\n\nHappy birthday!","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"user_id":71041,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"정말 훌륭하네요, 니콜스. 저도 보통 생일에 프로젝트를 진행하거나 발표하곤 해요. \n우리가 하는 일과 삶을 일치시키는 건 건강한 방법이라고 생각해요. 그리고 우리가 세상에 나누는 것에 얼마나 많은 에너지와 품질을 쏟고 있는지를 말해 주는 것이기도 하죠. 상황이 허락하지 않을 때도, 의도와 노력이야말로 남아 있는 진정한 가치입니다. \n생일 축하해요!","truncated":true,"post_url":"/t/a-social-mobile-desktop-client-for-communities-2/408132/33","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":2}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034531,"name":"Sammy","username":"eisammy","avatar_template":"/user_avatar/meta.discourse.org/eisammy/{size}/528804_2.png","created_at":"2026-09-06T12:20:38.798Z","cooked":"<p>이 컴포넌트의 존재를 제가 어떻게 알았을까요? 유지보수를 해주셔서 정말 감사합니다. 테스트해 보겠습니다. <img src=\"https://emoji.discourse-cdn.com/twitter/heart_eyes.png?v=15\" title=\":heart_eyes:\" class=\"emoji\" alt=\":heart_eyes:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":10,"post_type":1,"posts_count":10,"updated_at":"2026-09-06T12:20:38.798Z","reply_count":0,"reply_to_post_number":7,"quote_count":0,"incoming_link_count":1,"reads":9,"readers_count":8,"score":36.8,"yours":false,"topic_id":392962,"topic_slug":"external-link-shield-exit-confirmation-trust-gating","topic_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","topic_html_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","category_id":120,"display_username":"Sammy","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Bug Reporter","title_is_group":false,"reply_to_user":{"id":78445,"username":"Don","name":"","avatar_template":"/user_avatar/meta.discourse.org/don/{size}/228726_2.png"},"bookmarked":false,"raw":"Como eu não sabia da existência desse componente? Muito obrigado por fazer a manutenção, irei testa-lo :heart_eyes:","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"user_id":146973,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"이 컴포넌트의 존재를 제가 어떻게 알았을까요? 유지보수를 해주셔서 정말 감사합니다. 테스트해 보겠습니다. :heart_eyes:","truncated":true,"post_url":"/t/external-link-shield-exit-confirmation-trust-gating/392962/10","locale":"pt_BR","is_localized":true,"language":"pt_BR","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"chefs_kiss","type":"emoji","count":1},{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034524,"name":"","username":"Don","avatar_template":"/user_avatar/meta.discourse.org/don/{size}/228726_2.png","created_at":"2026-09-06T11:32:28.217Z","cooked":"<p>좋아요, 고맙습니다. 수정했습니다. <img src=\"https://emoji.discourse-cdn.com/twitter/slightly_smiling_face.png?v=15\" title=\":slightly_smiling_face:\" class=\"emoji\" alt=\":slightly_smiling_face:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":9,"post_type":1,"posts_count":10,"updated_at":"2026-09-06T11:32:28.217Z","reply_count":0,"reply_to_post_number":8,"quote_count":0,"incoming_link_count":1,"reads":10,"readers_count":9,"score":52.0,"yours":false,"topic_id":392962,"topic_slug":"external-link-shield-exit-confirmation-trust-gating","topic_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","topic_html_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","category_id":120,"display_username":"","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"https://global.discourse-cdn.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_bg_color":"","flair_color":"","flair_group_id":276,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Leader","title_is_group":false,"reply_to_user":{"id":95552,"username":"Moin","name":"","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png"},"bookmarked":false,"raw":"Cool, thanks changed it. :slightly_smiling_face:","actions_summary":[{"id":2,"count":3}],"moderator":false,"admin":false,"staff":false,"group_moderator":true,"user_id":78445,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"좋아요, 고맙습니다. 수정했습니다. :slightly_smiling_face:","truncated":true,"post_url":"/t/external-link-shield-exit-confirmation-trust-gating/392962/9","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":3}],"current_user_reaction":null,"reaction_users_count":3,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034523,"name":"","username":"elmuerte","avatar_template":"/user_avatar/meta.discourse.org/elmuerte/{size}/456517_2.png","created_at":"2026-09-06T11:26:02.226Z","cooked":"<p>이 비추천(deprecation) 알림을 우회하면서 <code>user_field</code>에 여전히 접근할 수 있는 방법을 찾았습니다:</p>\n<pre data-code-wrap=\"javascript\"><code class=\"lang-javascript\">api.getCurrentUser().findDetails().then((user) =&gt; { ... });\n</code></pre>\n<p>다만, <code>findDetails</code>는 <em>항상</em> 서버에 요청을 보냅니다. 캐싱은 이루어지지 않습니다. 한 번 호출되면 현재 사용자의 user_fields가 채워지게 됩니다.</p>\n<p>따라서 로직을 다음과 같이 조금 최적화할 수 있습니다:</p>\n<pre data-code-wrap=\"javascript\"><code class=\"lang-javascript\">\nfunction withUserFields(user, callback) {\n  if (user.user_fields === undefined) {\n    user.findDetails().then(callback);\n  } else {\n    callback(user);\n  }\n}\n\nwithUserFields(api.getCurrentUser(), (user) =&gt; {\n  // user.user_fields[]를 사용하여 무언가를 수행\n});\n\n\n</code></pre>","post_number":2,"post_type":1,"posts_count":2,"updated_at":"2026-09-06T11:26:02.226Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":9,"readers_count":8,"score":6.8,"yours":false,"topic_id":411227,"topic_slug":"deprecation-notice-getting-timezone-property-of-user-object-is-deprecated-use-user-option-object-instead","topic_title":"비추천 공지: 사용자 객체의 timezone 속성을 가져오는 기능은 비추천되었습니다. 대신 user_option 객체를 사용하세요","topic_html_title":"비추천 공지: 사용자 객체의 timezone 속성을 가져오는 기능은 비추천되었습니다. 대신 user_option 객체를 사용하세요","category_id":7,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Plugin Author","title_is_group":false,"bookmarked":false,"raw":"I found a away around getting this deprecation notice, and still getting access to the `user_field`:\n\n```javascript\napi.getCurrentUser().findDetails().then((user) => { ... });\n```\n\nHowever, `findDetails` will *always* send a request to the server. Nothing is cached. Once it is called, the current user will have a populated user_fields.\n\nSo you can optimize the logic a bit like:\n\n```javascript\n\nfunction withUserFields(user, callback) {\n  if (user.user_fields === undefined) {\n    user.findDetails().then(callback);\n  } else {\n    callback(user);\n  }\n}\n\nwithUserFields(api.getCurrentUser(), (user) => {\n  // do something with user.user_fields[]\n});\n\n\n```","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":119375,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"이 비추천(deprecation) 알림을 우회하면서 user_field에 여전히 접근할 수 있는 방법을 찾았습니다: \napi.getCurrentUser().findDetails().then((user) =&gt; { ... });\n\n다만, findDetails는 항상 서버에 요청을 보냅니다. 캐싱은 이루어지지 않습니다. 한 번 호출되면 현재 사용자의 user_fields가 채워지게 됩니다. \n따라서 로직을 다음과 같이 조금 최적화할 수 있습니다: \n\nfunction withUserFields(user, callback) {\n  if (u&hellip;","truncated":true,"post_url":"/t/deprecation-notice-getting-timezone-property-of-user-object-is-deprecated-use-user-option-object-instead/411227/2","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034521,"name":"","username":"Moin","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png","created_at":"2026-09-06T11:09:30.171Z","cooked":"<aside class=\"onebox githubpullrequest\" data-onebox-src=\"https://github.com/discourse/discourse/pull/42632\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/discourse/discourse/pull/42632\" target=\"_blank\" rel=\"noopener\">github.com/discourse/discourse</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <div class=\"github-row --gh-status-merged\" data-github-private-repo=\"false\">\n\n\n\n    <div class=\"github-icon-container\" title=\"Zusammengeführter Pull Request\">\n      <svg width=\"60\" height=\"60\" class=\"github-icon\" viewBox=\"0 0 12 16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n    </div>\n\n  <div class=\"github-info-container\">\n\n\n\n      <h4>\n        <a href=\"https://github.com/discourse/discourse/pull/42632\" target=\"_blank\" rel=\"noopener\">FEATURE: Support `icon` properties in objects settings schemas (#42632)</a>\n      </h4>\n\n    <div class=\"branches\">\n      <code>main</code> ← <code>feature/objects-icon-property</code>\n    </div>\n\n      <div class=\"github-info\">\n        <div class=\"date\">\n          Zusammengeführt am <span class=\"discourse-local-date\" data-format=\"ll\" data-date=\"2026-08-21\" data-time=\"14:08:31\" data-timezone=\"UTC\">02:08PM - 21 Aug 26 UTC</span>\n        </div>\n\n        <div class=\"user\">\n          <a href=\"https://github.com/Grubba27\" target=\"_blank\" rel=\"noopener\">\n            <img alt=\"\" src=\"https://global.discourse-cdn.com/meta/original/4X/b/b/2/bb2daa406ce5bde77ab4e85bb4e6ec1d766ffa47.png\" class=\"onebox-avatar-inline\" width=\"20\" height=\"20\" data-dominant-color=\"DBDBDB\">\n            Grubba27\n          </a>\n        </div>\n\n        <div class=\"lines\" title=\"4 Commits haben 12 Dateien durch 268 Ergänzungen und 9 Löschungen geändert\">\n          <a href=\"https://github.com/discourse/discourse/pull/42632/files\" target=\"_blank\" rel=\"noopener\">\n            <span class=\"added\">+268</span>\n            <span class=\"removed\">-9</span>\n          </a>\n        </div>\n      </div>\n  </div>\n</div>\n\n  <div class=\"github-row\">\n    <p class=\"github-body-container\">Follow-up to #42626.\n\nPreviously, the `icon` setting type was only available a<span class=\"show-more-container\"><a href=\"https://github.com/discourse/discourse/pull/42632\" target=\"_blank\" rel=\"noopener\" class=\"show-more\">…</a></span><span class=\"excerpt hidden\">s a top-level site/theme setting type — properties inside an `objects` setting schema could not use it, and icon names stored in objects values were never added to the SVG sprite sheet.\n\nThis change allows `objects` type site and theme settings to declare schema properties with `type: icon`, rendering the icon grid picker in the schema editor and automatically including the selected icons (nested `objects` included) in the sprite sheet.\n\nNote one adjacent change: sprite cache invalidation in `014-track-setting-changes.rb` was gated on the setting *name* containing `_icon`, so changing an `icon` or `objects` typed site setting left a stale sprite. It now also expires for those types, which fixes that latent gap for top-level `icon` site settings from 802fa4c3562 as well.\n\nExample:\n```yaml\nExample:\n  type: objects\n  default: \"\"\n  schema:\n    name: link\n    identifier: title\n    properties:\n      title:\n        type: string\n        required: true\n      icon:\n        type: icon\n````</span></p>\n  </div>\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p>업데이트 감사합니다. 정말 감사드립니다!</p>","post_number":2,"post_type":1,"posts_count":2,"updated_at":"2026-09-06T11:09:30.171Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":7,"readers_count":6,"score":21.4,"yours":false,"topic_id":410092,"topic_slug":"icon-type-theme-setting-in-objects-type-settings","topic_title":"오브젝트 유형 설정에서 아이콘 유형 테마 설정","topic_html_title":"오브젝트 유형 설정에서 아이콘 유형 테마 설정","category_id":2,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Kluges Köpfchen","title_is_group":false,"bookmarked":false,"raw":"https://github.com/discourse/discourse/pull/42632\n\nThanks for the update, much appreciated!","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":95552,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"업데이트 감사합니다. 정말 감사드립니다!","truncated":true,"post_url":"/t/icon-type-theme-setting-in-objects-type-settings/410092/2","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034520,"name":"","username":"Moin","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png","created_at":"2026-09-06T11:05:16.352Z","cooked":"<aside class=\"quote group-VolunteerMods\" data-username=\"Don\" data-post=\"7\" data-topic=\"392962\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/48/228726_2.png\" class=\"avatar\"> Don:</div>\n<blockquote>\n<ul>\n<li>external_link_icon</li>\n</ul>\n</blockquote>\n</aside>\n<p>v2.1에 대한 제안: 아이콘 설정 유형 사용</p>\n<aside class=\"quote no-group\" data-username=\"Discourse\" data-post=\"1\" data-topic=\"82557\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/discourse/48/148734_2.png\" class=\"avatar\"> Discourse:</div>\n<blockquote>\n<p><strong>아이콘 설정:</strong></p>\n<pre><code class=\"lang-plaintext\">banner_icon:\n  default: bullhorn\n  type: icon\n\n</code></pre>\n<p>아이콘 설정은 사이트 소유자에게 검색 가능한 아이콘 선택기를 제공하며, 값은 아이콘 이름입니다. Discourse는 선택된 아이콘을 스프라이트 시트에 추가하므로, 별도로 등록하지 않고도 테마에서 렌더링할 수 있습니다.</p>\n</blockquote>\n</aside>","post_number":8,"post_type":1,"posts_count":10,"updated_at":"2026-09-06T11:05:16.352Z","reply_count":1,"reply_to_post_number":7,"quote_count":1,"incoming_link_count":1,"reads":12,"readers_count":11,"score":72.4,"yours":false,"topic_id":392962,"topic_slug":"external-link-shield-exit-confirmation-trust-gating","topic_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","topic_html_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","category_id":120,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Kluges Köpfchen","title_is_group":false,"bookmarked":false,"raw":"[quote=\"Don, post:7, topic:392962\"]\n* external_link_icon\n[/quote]\nSuggestion for v2.1: Using the icon setting type\n\n[quote=\"Discourse, post:1, topic:82557\"]\n**Icon Setting:**\n\n```\nbanner_icon:\n  default: bullhorn\n  type: icon\n\n```\n\nIcon settings give site owners a searchable icon picker, and the value is the icon name. Discourse adds the selected icon to the sprite sheet, so you can render it in your theme without registering it separately.\n[/quote]","actions_summary":[{"id":2,"count":4}],"moderator":false,"admin":false,"staff":false,"user_id":95552,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"v2.1에 대한 제안: 아이콘 설정 유형 사용","truncated":true,"post_url":"/t/external-link-shield-exit-confirmation-trust-gating/392962/8","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":4}],"current_user_reaction":null,"reaction_users_count":4,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034518,"name":"","username":"Don","avatar_template":"/user_avatar/meta.discourse.org/don/{size}/228726_2.png","created_at":"2026-09-06T10:40:16.610Z","cooked":"<p>안녕하세요 <img src=\"https://emoji.discourse-cdn.com/twitter/waving_hand.png?v=15\" title=\":waving_hand:\" class=\"emoji\" alt=\":waving_hand:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>\n<p>테마 컴포넌트를 <strong>v2.0</strong>으로 업데이트했습니다 <img src=\"https://emoji.discourse-cdn.com/twitter/tada.png?v=15\" title=\":tada:\" class=\"emoji\" alt=\":tada:\" loading=\"lazy\" width=\"20\" height=\"20\">: <a href=\"https://github.com/VaperinaDEV/external-link-shield/pull/1\" class=\"inline-onebox --gh-status-merged\" rel=\"noopener nofollow ugc\">DEV: Replace CSS-drawn link icons with configurable d-icon rendering; fix anonymous blocking crashAdd files via upload - Pull Request #1 - VaperinaDEV/external-link-shield - GitHub</a></p>\n<p>이번 업데이트에는 다음 내용이 포함되어 있습니다:</p>\n<ul>\n<li>\n<p>수동으로 관리하던 SVG <code>mask-image</code> 아이콘을 <code>iconHTML()</code>을 통해 렌더링되는 실제 <code>&lt;svg class=\"d-icon\"&gt;</code> 요소로 교체하고, secure-links.js가 링크 옆에 삽입하도록 변경</p>\n</li>\n<li>\n<p>설정 항목 추가:</p>\n<ul>\n<li><code>exit_confirmation_continue_icon</code></li>\n<li><code>external_link_icon</code>,</li>\n<li><code>trusted_link_icon</code>,</li>\n<li><code>external_link_icon_color</code>,</li>\n<li><code>trusted_link_icon_color</code>,</li>\n<li><code>link_icon_position</code> (앞/뒤)</li>\n</ul>\n</li>\n<li>\n<p><code>enable_anonymous_blocking</code>이 비활성화되어 있을 때 발생하는 충돌 수정: 익명 사용자의 경우 <code>currentUser.trust_level</code>이 읽히면서(null) 예외가 발생하고 원래의 <code>&lt;a&gt;</code> 태그가 처리되지 않거나 보호되지 않은 채로 방치되는 문제가 있었습니다. 이제 익명 방문자에게는 잘 정의된 통과 경로(아이콘 + 선택적 확인 모달, TL 게이트 없음)가 제공됩니다</p>\n</li>\n</ul>\n<hr>\n<p><a href=\"https://meta.discourse.org/u/don\">&gt; ./support --coffee</a> <img src=\"https://emoji.discourse-cdn.com/twitter/heart.png?v=15\" title=\":heart:\" class=\"emoji\" alt=\":heart:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":7,"post_type":1,"posts_count":10,"updated_at":"2026-09-06T10:43:55.502Z","reply_count":2,"reply_to_post_number":6,"quote_count":0,"incoming_link_count":1,"reads":12,"readers_count":11,"score":47.4,"yours":false,"topic_id":392962,"topic_slug":"external-link-shield-exit-confirmation-trust-gating","topic_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","topic_html_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","category_id":120,"display_username":"","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"https://global.discourse-cdn.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_bg_color":"","flair_color":"","flair_group_id":276,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Leader","title_is_group":false,"reply_to_user":{"id":71041,"username":"satonotdead","name":"","avatar_template":"/user_avatar/meta.discourse.org/satonotdead/{size}/447830_2.png"},"bookmarked":false,"raw":"Hello :waving_hand: \n\nI've updated the theme component to **v2.0** :tada:: https://github.com/VaperinaDEV/external-link-shield/pull/1\n\nThis update contains:\n\n- Swap the hand-maintained SVG `mask-image` icons for real `<svg class=\"d-icon\">` elements rendered via `iconHTML()`, inserted next to links by secure-links.js\n- Add settings: \n  - `exit_confirmation_continue_icon`\n  - `external_link_icon`,\n  - `trusted_link_icon`,\n  - `external_link_icon_color`,\n  - `trusted_link_icon_color`,\n  - `link_icon_position` (before/after)\n\n- Fix crash when `enable_anonymous_blocking` is disabled: `currentUser.trust_level` was read for anonymous users (null), throwing and silently leaving the original `<a>` unprocessed/unprotected; anonymous visitors now get a well-defined pass-through (icon + optional confirmation modal, no TL gating)\n\n---\n\n[> ./support --coffee](https://meta.discourse.org/u/don) :heart:","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"group_moderator":true,"user_id":78445,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"안녕하세요 :waving_hand: \n테마 컴포넌트를 v2.0으로 업데이트했습니다 :tada:: <a href=\"https://github.com/VaperinaDEV/external-link-shield/pull/1\" class=\"inline-onebox --gh-status-merged\" rel=\"noopener nofollow ugc\">DEV: Replace CSS-drawn link icons with configurable d-icon rendering; fix anonymous blocking crashAdd files via upload - Pull Request #1 - VaperinaDEV/external-link-shield - GitHub</a> \n이번 업데이트에는 다음 내용이 포함되어 있습니다: \n\n\n수동으로 관리하던 SVG mask-image 아이콘을 ico&hellip;","truncated":true,"post_url":"/t/external-link-shield-exit-confirmation-trust-gating/392962/7","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"100","type":"emoji","count":1},{"id":"exploding_head","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034516,"name":null,"username":"gilles","avatar_template":"/user_avatar/meta.discourse.org/gilles/{size}/549022_2.png","created_at":"2026-09-06T10:13:06.212Z","cooked":"<p>생일 축하해 <a class=\"mention\" href=\"/u/nicolsdennis\">@nicolsdennis</a> <img src=\"https://emoji.discourse-cdn.com/twitter/partying_face.png?v=15\" title=\":partying_face:\" class=\"emoji\" alt=\":partying_face:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":32,"post_type":1,"posts_count":31,"updated_at":"2026-09-06T10:13:06.212Z","reply_count":0,"reply_to_post_number":31,"quote_count":0,"incoming_link_count":1,"reads":21,"readers_count":20,"score":39.2,"yours":false,"topic_id":408132,"topic_slug":"a-social-mobile-desktop-client-for-communities-2","topic_title":"커뮤니티용 소셜 모바일 및 데스크톱 클라이언트 (2)","topic_html_title":"커뮤니티용 소셜 모바일 및 데스크톱 클라이언트 (2)","category_id":124,"display_username":null,"primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"reply_to_user":{"id":189150,"username":"nicolsdennis","name":"Nicols Dennis","avatar_template":"/user_avatar/meta.discourse.org/nicolsdennis/{size}/545883_2.png"},"bookmarked":false,"raw":"Bon Anniversaire @nicolsdennis :partying_face:","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"user_id":173218,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"생일 축하해 <a class=\"mention\" href=\"/u/nicolsdennis\">@nicolsdennis</a> :partying_face:","truncated":true,"post_url":"/t/a-social-mobile-desktop-client-for-communities-2/408132/32","locale":"fr","is_localized":true,"language":"fr","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":2}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034513,"name":null,"username":"gilles","avatar_template":"/user_avatar/meta.discourse.org/gilles/{size}/549022_2.png","created_at":"2026-09-06T10:00:52.600Z","cooked":"<p>이벤트 상태가 '정원’으로 변경되면 이벤트 이름에 \"정원\"이라는 문구가 자동으로 추가되는 기능이 가능한지 궁금합니다. 이렇게 하면 사용자가 연도별 미리보기에서 정원 마감된 이벤트를 바로 확인할 수 있어, 이벤트에 들어와 자리가 남아 있는지 확인해야 하는 번거로움을 줄일 수 있습니다. 더 나아가 이벤트 이름에 남은 좌석 수를 표시하는 것도 고려해 볼 수 있겠습니다. 제 사용자분들의 이용 경험을 개선하기 위한 제 의견입니다. <img src=\"https://emoji.discourse-cdn.com/twitter/sweat_smile.png?v=15\" title=\":sweat_smile:\" class=\"emoji\" alt=\":sweat_smile:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":28,"post_type":1,"posts_count":20,"updated_at":"2026-09-06T10:00:52.600Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":10,"readers_count":9,"score":7.0,"yours":false,"topic_id":406990,"topic_slug":"a-preview-of-the-new-workflows-feature","topic_title":"새로운 워크플로 기능 미리보기","topic_html_title":"새로운 워크플로 기능 미리보기","category_id":67,"display_username":null,"primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"J'aimerais savoir si c'est possible lorsque le statuts événement est complet il renomme automatiquement le nom de l'événement en ajoutant \"complet\". Cela permettrait aux utilisateurs de voir directement les événements complet dans l'aperçu année par exemple cela évite de cliquer sur l'événement pour savoir si il reste des places. Sinon pour aller plus loin afficher le nombre de places dans le nom de l'événement. Après c'est mon ressenti pour améliorer l'utilisation auprès de mes utilisateurs :sweat_smile:","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":173218,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"이벤트 상태가 &#39;정원’으로 변경되면 이벤트 이름에 &quot;정원&quot;이라는 문구가 자동으로 추가되는 기능이 가능한지 궁금합니다. 이렇게 하면 사용자가 연도별 미리보기에서 정원 마감된 이벤트를 바로 확인할 수 있어, 이벤트에 들어와 자리가 남아 있는지 확인해야 하는 번거로움을 줄일 수 있습니다. 더 나아가 이벤트 이름에 남은 좌석 수를 표시하는 것도 고려해 볼 수 있겠습니다. 제 사용자분들의 이용 경험을 개선하기 위한 제 의견입니다. :sweat_smile:","truncated":true,"post_url":"/t/a-preview-of-the-new-workflows-feature/406990/28","locale":"fr","is_localized":true,"language":"fr","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034504,"name":"Ethan ","username":"Ethsim2","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png","created_at":"2026-09-06T07:01:50.420Z","cooked":"<p><span class=\"hashtag-raw\">#mail-receiver의</span> 다른 변경 사항에서 오래된 릴리스 이미지를 확인할 수 있습니다.</p>\n<p>8월 11일에 병합된 이 PR을 열었습니다:</p>\n<aside class=\"onebox githubpullrequest\" data-onebox-src=\"https://github.com/discourse/mail-receiver/pull/37\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/discourse/mail-receiver/pull/37\" target=\"_blank\" rel=\"nofollow ugc noopener\">github.com/discourse/mail-receiver</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <div class=\"github-row --gh-status-merged\" data-github-private-repo=\"false\">\n\n\n\n    <div class=\"github-icon-container\" title=\"Merged Pull Request\">\n      <svg width=\"60\" height=\"60\" class=\"github-icon\" viewBox=\"0 0 12 16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n    </div>\n\n  <div class=\"github-info-container\">\n\n\n\n      <h4>\n        <a href=\"https://github.com/discourse/mail-receiver/pull/37\" target=\"_blank\" rel=\"nofollow ugc noopener\">FIX: Use email_encoded for incoming mail (#37)</a>\n      </h4>\n\n    <div class=\"branches\">\n      <code>main</code> ← <code>Ethsim12:fix-email-encoded</code>\n    </div>\n\n      <div class=\"github-info\">\n        <div class=\"date\">\n          merged <span class=\"discourse-local-date\" data-format=\"ll\" data-date=\"2026-08-11\" data-time=\"13:09:14\" data-timezone=\"UTC\">01:09PM - 11 Aug 26 UTC</span>\n        </div>\n\n        <div class=\"user\">\n          <a href=\"https://github.com/Ethsim12\" target=\"_blank\" rel=\"nofollow ugc noopener\">\n            <img alt=\"\" src=\"https://global.discourse-cdn.com/meta/original/4X/c/3/d/c3dc8fb5f0ef8648e860e52620338526be80d87e.jpeg\" class=\"onebox-avatar-inline\" width=\"20\" height=\"20\" data-dominant-color=\"957B67\">\n            Ethsim12\n          </a>\n        </div>\n\n        <div class=\"lines\" title=\"3 commits changed 2 files with 18 additions and 2 deletions\">\n          <a href=\"https://github.com/discourse/mail-receiver/pull/37/files\" target=\"_blank\" rel=\"nofollow ugc noopener\">\n            <span class=\"added\">+18</span>\n            <span class=\"removed\">-2</span>\n          </a>\n        </div>\n      </div>\n  </div>\n</div>\n\n  <div class=\"github-row\">\n    <p class=\"github-body-container\">## What does this change?\n\nUpdates mail-receiver to send incoming MIME messages <span class=\"show-more-container\"><a href=\"https://github.com/discourse/mail-receiver/pull/37\" target=\"_blank\" rel=\"nofollow ugc noopener\" class=\"show-more\">…</a></span><span class=\"excerpt hidden\">using the\n`email_encoded` parameter expected by Discourse's `/admin/email/handle_mail`\nendpoint.\n\nThe message is encoded with `Base64.strict_encode64` before being added to\nthe form data.\n\nThis removes use of the deprecated raw `email` parameter.\n\n## Why?\n\nDiscourse currently logs a deprecation notice for every incoming email sent\nby mail-receiver:\n\n&gt; the email parameter is deprecated. all POST requests to this route should\n&gt; be sent with a base64 strict encoded email_encoded parameter instead\n\nA freshly rebuilt `discourse/mail-receiver:release` still reproduces the\nwarning because the current mail-receiver code continues to send `email`.\n\n## Tests\n\nAdds regression coverage which verifies that:\n\n- the deprecated `email` parameter is not sent\n- `email_encoded` is sent\n- the encoded value represents the original MIME message\n\nTested locally with Ruby 3.2.11:\n\n- `bundle exec rake test` — 16 examples, 0 failures\n- `bundle exec rubocop` — no offenses\n- `bundle exec stree check ...` — all files matched expected format\n\nThis is related to #13, which proposed the same API migration in 2023.\nThis PR refreshes that change against current `main` and adds regression\ncoverage.</span></p>\n  </div>\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p>이 PR은 메일 리시버를 다음과 같이 변경합니다:</p>\n<p><code>post.set_form_data(email: @mail)</code></p>\n<p>Discourse에서 기대하는 새로운 <code>email_encoded</code> 매개변수로 변경됩니다.</p>\n<p>PR이 병합된 후 8월 17일에 mail-receiver를 다시 빌드했지만, 새로 빌드된 컨테이너에는 여전히 다음 코드가 포함되어 있었습니다:</p>\n<p><code>post.set_form_data(email: @mail)</code></p>\n<p>병합된 PR에 세부 정보를 여기에 추가했습니다:</p>\n<aside class=\"onebox githubpullrequest\" data-onebox-src=\"https://github.com/discourse/mail-receiver/pull/37#issuecomment-5316800475\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/discourse/mail-receiver/pull/37#issuecomment-5316800475\" target=\"_blank\" rel=\"nofollow ugc noopener\">github.com/discourse/mail-receiver</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <div class=\"github-row --gh-status-merged\" data-github-private-repo=\"false\">\n\n    <div class=\"github-icon-container\" title=\"Comment\">\n      <svg width=\"60\" height=\"60\" class=\"github-icon\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M1.5 2.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-3.5a.75.75 0 00-.53.22L3.5 11.44V9.25a.75.75 0 00-.75-.75h-1a.25.25 0 01-.25-.25v-5.5zM1.75 1A1.75 1.75 0 000 2.75v5.5C0 9.216.784 10 1.75 10H2v1.543a1.457 1.457 0 002.487 1.03L7.061 10h3.189A1.75 1.75 0 0012 8.25v-5.5A1.75 1.75 0 0010.25 1h-8.5zM14.5 4.75a.25.25 0 00-.25-.25h-.5a.75.75 0 110-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0114.25 12H14v1.543a1.457 1.457 0 01-2.487 1.03L9.22 12.28a.75.75 0 111.06-1.06l2.22 2.22v-2.19a.75.75 0 01.75-.75h1a.25.25 0 00.25-.25v-5.5z\"></path></svg>\n    </div>\n\n\n\n  <div class=\"github-info-container\">\n\n      <h4>\n        Comment by\n        <a href=\"https://github.com/Ethsim12\" target=\"_blank\" rel=\"nofollow ugc noopener\">\n          <img alt=\"\" src=\"https://global.discourse-cdn.com/meta/original/4X/c/3/d/c3dc8fb5f0ef8648e860e52620338526be80d87e.jpeg\" class=\"onebox-avatar-inline\" width=\"20\" height=\"20\" data-dominant-color=\"957B67\">\n          Ethsim12\n        </a> - <a href=\"https://github.com/discourse/mail-receiver/pull/37#issuecomment-5316800475\" target=\"_blank\" rel=\"nofollow ugc noopener\">FIX: Use email_encoded for incoming mail</a>\n      </h4>\n\n\n\n    <div class=\"branches\">\n      <code>main</code> ← <code>Ethsim12:fix-email-encoded</code>\n    </div>\n\n  </div>\n</div>\n\n  <div class=\"github-row\">\n    <p class=\"github-body-container\">Thanks again for merging this.\n\nI rebuilt `mail-receiver` again today (17 August<span class=\"show-more-container\"><a href=\"https://github.com/discourse/mail-receiver/pull/37\" target=\"_blank\" rel=\"nofollow ugc noopener\" class=\"show-more\">…</a></span><span class=\"excerpt hidden\">), but the published\n`discourse/mail-receiver:release` image still appears to contain the old\nimplementation.\n\nThe rebuild reports the `release` image as up to date, and checking the\nfreshly rebuilt running container gives:\n\n```text\n# docker exec mail-receiver \\\n  grep -n -E 'base64|set_form_data' \\\n  /usr/local/lib/site_ruby/mail_receiver/discourse_mail_receiver.rb\n\n40:      post.set_form_data(email: @mail)\n\n\n```\nA newly received email therefore still produces the `email parameter is\ndeprecated` warning in Discourse.\n\nSince #37 is merged into `main`, does the\n`discourse/mail-receiver:release` Docker image need to be rebuilt/published\nseparately for this change to reach normal self-hosted installations?</span></p>\n  </div>\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p>8월 22일에 다시 빌드했으며 <code>./launcher rebuild mail-receiver</code> 명령은 게시된 릴리스 이미지가 최신 상태라고 보고했고, 다이제스트는 다음과 같았습니다:</p>\n<p><code>sha256:2a0d45bb92a783c846a821e635413764eeadb3441ef6190085545a4bf054cb1e</code></p>\n<p>제 설치 환경에서는 수신 메일이 여전히 정상 작동하지만, 수신된 각 메일은 게시된 이미지에 병합된 <a href=\"https://github.com/discourse/mail-receiver/pull/37\" rel=\"noopener nofollow ugc\">#37</a> 변경 사항이 포함되어 있지 않기 때문에 Discourse의 다음 경고를 계속 트리거합니다:</p>\n<p><code>the email parameter is deprecated</code></p>\n<p>따라서 이는 여러분이 발견한 첫 번째 문제를 독립적으로 확인하는 것으로 보입니다: <a class=\"hashtag-cooked\" href=\"/tag/mail-receiver/562\" data-type=\"tag\" data-slug=\"mail-receiver\" data-id=\"562\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>mail-receiver</span></a> 저장소에 병합된 변경 사항이 게시된 <code>discourse/mail-receiver:release</code> 이미지에 반영되지 않고 있습니다.</p>","post_number":3,"post_type":1,"posts_count":3,"updated_at":"2026-09-06T07:12:42.419Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":13,"readers_count":12,"score":37.6,"yours":false,"topic_id":411734,"topic_slug":"discourse-mail-receiver-release-docker-image-appears-to-be-outdated","topic_title":"Discourse/mail-receiver:release Docker 이미지가 오래된 것으로 보입니다","topic_html_title":"Discourse/mail-receiver:release Docker 이미지가 오래된 것으로 보입니다","category_id":1,"display_username":"Ethan ","primary_group_name":null,"flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"badges_granted":[],"version":4,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Tester","title_is_group":false,"bookmarked":false,"raw":"I can confirm the outdated release image from another change in #mail-receiver.\n\nI opened this PR, which was merged on 11 August: https://github.com/discourse/mail-receiver/pull/37\n\nIt changes the mail receiver from:\n\n`post.set_form_data(email: @mail)`\n\nto the newer `email_encoded` parameter expected by Discourse.\n\nAfter the PR was merged, I rebuilt mail-receiver on 17 August, but the freshly rebuilt container still contained:\n\n`post.set_form_data(email: @mail)`\n\nI added the details to the merged PR here:\n\n\nhttps://github.com/discourse/mail-receiver/pull/37#issuecomment-5316800475\n\nI rebuilt again on 22 August and `./launcher rebuild mail-receiver` reported the published release image as up to date, with digest:\n\n`sha256:2a0d45bb92a783c846a821e635413764eeadb3441ef6190085545a4bf054cb1e`\n\nIncoming mail still works on my installation, but each received email continues to trigger Discourse’s:\n\n`the email parameter is deprecated`\n\nwarning because the published image does not contain the merged [#37](https://github.com/discourse/mail-receiver/pull/37) change.\n\nSo this appears to independently confirm the first issue you’ve found: changes merged into the #mail-receiver repository have not been making it into the published `discourse/mail-receiver:release` image.","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"user_id":160471,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":"the first onebox was consuming too much height","can_view_edit_history":true,"wiki":false,"excerpt":"#mail-receiver의 다른 변경 사항에서 오래된 릴리스 이미지를 확인할 수 있습니다. \n8월 11일에 병합된 이 PR을 열었습니다: \n\n\n이 PR은 메일 리시버를 다음과 같이 변경합니다: \npost.set_form_data(email: @mail) \nDiscourse에서 기대하는 새로운 email_encoded 매개변수로 변경됩니다. \nPR이 병합된 후 8월 17일에 mail-receiver를 다시 빌드했지만, 새로 빌드된 컨테이너에는 여전히 다음 코드가 포함되어 있었습니다: \npost.set_form_data(email: &hellip;","truncated":true,"post_url":"/t/discourse-mail-receiver-release-docker-image-appears-to-be-outdated/411734/3","locale":"en","is_localized":true,"language":"en","localization_outdated":true,"customer_flair_customer":null,"event":null,"reactions":[{"id":"+1","type":"emoji","count":1},{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034502,"name":"scavin","username":"scavin","avatar_template":"/user_avatar/meta.discourse.org/scavin/{size}/115938_2.png","created_at":"2026-09-06T05:04:44.080Z","cooked":"<h2><a name=\"main-1\" class=\"anchor\" href=\"#main-1\" aria-label=\"Heading link\"></a>업데이트: 현재 <code>main</code> 브랜치 테스트</h2>\n<p>현재 <code>main</code> 브랜치를 로컬에서 빌드하여 또 다른 문제를 발견했습니다.</p>\n<p>기존 Docker Hub의 <code>release</code> 이미지는 여전히旧的 빠른 거부(fast-rejection) 코드를 실행하며, RCPT 단계에서 다음과 같은 오류로 실패합니다:</p>\n<pre><code class=\"lang-plaintext\">450 4.7.1 Recipient address rejected: Internal error, API request failed\n</code></pre>\n<p>그러나 현재 <code>main</code> 브랜치에서는 이미 <code>smtp_should_reject</code> / 빠른 거부 구현이 제거되었습니다. <code>main</code>을 빌드한 후 Postfix는 다음과 같이 실패합니다:</p>\n<pre><code class=\"lang-plaintext\">warning: connect to private/policy: No such file or directory\n451 4.3.5 Recipient address rejected: Server configuration problem\n</code></pre>\n<p>이 문제를 <code>Dockerfile</code>의 두 가지 남은 참조로 추적했습니다:</p>\n<pre><code class=\"lang-plaintext\">check_policy_service unix:private/policy\n</code></pre>\n<p>정책 서비스 자체는 제거되었지만, <code>smtpd_recipient_restrictions</code>에는 여전히 해당 소켓이 참조되고 있습니다.</p>\n<p><code>smtpd_recipient_restrictions</code>에서 <code>unix:private/policy</code>를 제거하고 이미지를 다시 빌드한 후, 수신 SMTP 메일이 성공적으로 수락되었습니다.</p>\n<p>Global API Key로 전환한 후 Discourse로의 전달도 성공했습니다:</p>\n<pre><code class=\"lang-plaintext\">dsn=2.0.0, status=sent (delivered via discourse service)\n</code></pre>\n<p>따라서 두 가지 별개의 문제가 있는 것 같습니다:</p>\n<ol>\n<li>공개된 <code>discourse/mail-receiver:release</code> 이미지는 오래되었고 여전히旧的 빠른 거부 구현을 포함하고 있습니다.</li>\n<li>현재 <code>main</code> 브랜치에서는 해당 구현이 제거되었지만, <code>Dockerfile</code>은 여전히 Postfix가 <code>unix:private/policy</code>를 사용하도록 구성하고 있습니다.</li>\n</ol>\n<p>또한 세분화된 API 키와 관련된 별도의 문제도 있을 수 있습니다: <code>receive emails</code> 범위로만 설정된 키는 <code>/admin/email/handle_mail</code>에서 HTTP 404를 반환한 반면, Global API Key는 HTTP 200을 반환했습니다.</p>\n<p>도움이 된다면 <code>Dockerfile</code>의 두 가지 오래된 <code>private/policy</code> 참조에 대한 PR을 제출할 수 있습니다.</p>","post_number":2,"post_type":1,"posts_count":3,"updated_at":"2026-09-06T05:04:44.080Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":16,"readers_count":15,"score":38.2,"yours":false,"topic_id":411734,"topic_slug":"discourse-mail-receiver-release-docker-image-appears-to-be-outdated","topic_title":"Discourse/mail-receiver:release Docker 이미지가 오래된 것으로 보입니다","topic_html_title":"Discourse/mail-receiver:release Docker 이미지가 오래된 것으로 보입니다","category_id":1,"display_username":"scavin","primary_group_name":null,"flair_name":"translators","flair_url":"globe","flair_bg_color":"ddd","flair_color":"111","flair_group_id":50,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Plugin Author","title_is_group":false,"bookmarked":false,"raw":"## Update: I tested the current `main` branch\n\nI built the current `main` branch locally and found another issue.\n\nThe old Docker Hub `release` image still runs the old fast-rejection code and fails during RCPT with:\n\n```text\n450 4.7.1 Recipient address rejected: Internal error, API request failed\n```\n\nHowever, the current `main` branch has already removed the `smtp_should_reject` / fast-rejection implementation. After building `main`, Postfix instead fails with:\n\n```text\nwarning: connect to private/policy: No such file or directory\n451 4.3.5 Recipient address rejected: Server configuration problem\n```\n\nI traced this to two remaining references in the `Dockerfile`:\n\n```text\ncheck_policy_service unix:private/policy\n```\n\nThe policy service itself has been removed, but `smtpd_recipient_restrictions` still references its socket.\n\nI removed `unix:private/policy` from `smtpd_recipient_restrictions`, rebuilt the image, and incoming SMTP mail was then accepted successfully.\n\nAfter switching to a Global API Key, delivery to Discourse also succeeded:\n\n```text\ndsn=2.0.0, status=sent (delivered via discourse service)\n```\n\nSo there seem to be two separate issues:\n\n1. The published `discourse/mail-receiver:release` image is outdated and still contains the old fast-rejection implementation.\n2. The current `main` branch removed that implementation, but the `Dockerfile` still configures Postfix to use `unix:private/policy`.\n\nThere may also be a separate issue with granular API keys: a key scoped only to `receive emails` returned HTTP 404 from `/admin/email/handle_mail`, while a Global API Key returned HTTP 200.\n\nI can submit a PR for the two stale `private/policy` references in the `Dockerfile` if that would be helpful.","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"user_id":14617,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a name=\"main-1\" class=\"anchor\" href=\"#main-1\" aria-label=\"Heading link\"></a>업데이트: 현재 main 브랜치 테스트\n현재 main 브랜치를 로컬에서 빌드하여 또 다른 문제를 발견했습니다. \n기존 Docker Hub의 release 이미지는 여전히旧的 빠른 거부(fast-rejection) 코드를 실행하며, RCPT 단계에서 다음과 같은 오류로 실패합니다: \n450 4.7.1 Recipient address rejected: Internal error, API request failed\n\n그러나 현재 main 브랜치에서는 이미 smtp_should_reject / 빠른 거부 구현이 제거되었습니다. main을 &hellip;","truncated":true,"post_url":"/t/discourse-mail-receiver-release-docker-image-appears-to-be-outdated/411734/2","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":2}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034501,"name":"system","username":"system","avatar_template":"/user_avatar/meta.discourse.org/system/{size}/443519_2.png","created_at":"2026-09-06T05:02:04.245Z","cooked":"<h1><a name=\"p-2034501-today-on-metadiscourseorg-1\" class=\"anchor\" href=\"#p-2034501-today-on-metadiscourseorg-1\" aria-label=\"Heading link\"></a>Today on <a href=\"http://meta.discourse.org\">meta.discourse.org</a>…</h1>\n<h2><a name=\"p-2034501-key-stats-2\" class=\"anchor\" href=\"#p-2034501-key-stats-2\" aria-label=\"Heading link\"></a>Key Stats</h2>\n<p>In the last 24 hours, <a href=\"http://meta.discourse.org\">meta.discourse.org</a> saw <strong>54 posts</strong> across <strong>20 topics</strong>, with <strong>38 likes</strong> given out.</p>\n<p><strong>Top users by activity:</strong></p>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>User</th>\n<th>Posts</th>\n<th>Likes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a class=\"mention\" href=\"/u/moin\">Moin</a></td>\n<td>5</td>\n<td>10</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/ed_s\">Ed_S</a></td>\n<td>4</td>\n<td>4</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a></td>\n<td>8</td>\n<td>3</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a></td>\n<td>2</td>\n<td>3</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/jagster\">Jagster</a></td>\n<td>4</td>\n<td>2</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/emilio\">Emilio</a></td>\n<td>3</td>\n<td>2</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/lordofbikes\">LordOfBikes</a></td>\n<td>1</td>\n<td>2</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/sterretje\">Sterretje</a></td>\n<td>1</td>\n<td>2</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/ecki\">Ecki</a></td>\n<td>4</td>\n<td>1</td>\n</tr>\n<tr>\n<td><a class=\"mention\" href=\"/u/natedhaliwal\">NateDhaliwal</a></td>\n<td>3</td>\n<td>1</td>\n</tr>\n</tbody>\n</table>\n</div><h2><a name=\"p-2034501-interesting-topics-3\" class=\"anchor\" href=\"#p-2034501-interesting-topics-3\" aria-label=\"Heading link\"></a>Interesting Topics</h2>\n<h3><a name=\"p-2034501-feature-4\" class=\"anchor\" href=\"#p-2034501-feature-4\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Feature</span></h3>\n<ul>\n<li>\n<p><strong>Allow user to delete their own topic at any time</strong> — <a class=\"mention\" href=\"/u/emilio\">Emilio</a> <a href=\"https://meta.discourse.org/t/-/411689/1?silent=true\">asked</a> for an end to the arbitrary 24-hour self-deletion window, and <a class=\"mention\" href=\"/u/rubi\">Rubi</a> <a href=\"https://meta.discourse.org/t/-/411689/2?silent=true\">questioned the reasoning</a> behind it. <a class=\"mention\" href=\"/u/moin\">Moin</a> <a href=\"https://meta.discourse.org/t/-/411689/10?silent=true\">pointed to the hardcoded Guardian limit</a>, while <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> <a href=\"https://meta.discourse.org/t/-/411689/12?silent=true\">suggested making the window configurable</a> for unanswered topics. <a class=\"mention\" href=\"/u/jagster\">Jagster</a> <a href=\"https://meta.discourse.org/t/-/411689/6?silent=true\">also compared the idea to Facebook groups</a>, where deleting a thread can delete everyone’s replies.</p>\n</li>\n<li>\n<p><strong>Actually delete permanently without all the obstacles</strong> — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> <a href=\"https://meta.discourse.org/t/-/411687/2?silent=true\">worked through</a> the current permanent-deletion restrictions and eventually <a href=\"https://meta.discourse.org/t/-/411687/4?silent=true\">submitted a ready-for-review PR</a> adding a per-admin opt-in to permanently delete a topic and all remaining posts, including Staff Action Logging and an extra confirmation warning (<a href=\"https://meta.discourse.org/t/-/411687/3?silent=true\">read more</a>).</p>\n</li>\n<li>\n<p><strong>Combining Category types</strong> — A long-running <a class=\"hashtag-cooked\" href=\"/tag/solved/229\" data-type=\"tag\" data-slug=\"solved\" data-id=\"229\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>solved</span></a>, <a class=\"hashtag-cooked\" href=\"/tag/topic-voting/231\" data-type=\"tag\" data-slug=\"topic-voting\" data-id=\"231\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>topic-voting</span></a>, and <a class=\"hashtag-cooked\" href=\"/tag/events/241\" data-type=\"tag\" data-slug=\"events\" data-id=\"241\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>events</span></a> discussion resurfaced as <a class=\"mention\" href=\"/u/ecki\">Ecki</a> <a href=\"https://meta.discourse.org/t/-/409045/6?silent=true\">asked whether solution types can be tag-based</a>, <a class=\"mention\" href=\"/u/moin\">Moin</a> <a href=\"https://meta.discourse.org/t/-/409045/8?silent=true\">mentioned 0</a>, and <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> <a href=\"https://meta.discourse.org/t/-/409045/7?silent=true\">supported making the “Me too” button switchable</a>.</p>\n</li>\n</ul>\n<h3><a name=\"p-2034501-support-5\" class=\"anchor\" href=\"#p-2034501-support-5\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/c/support/6\" data-type=\"category\" data-slug=\"support\" data-id=\"6\" data-style-type=\"icon\" data-icon=\"circle-question\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>Support</span></a></h3>\n<ul>\n<li>\n<p><strong>Is anyone experiencing an odd spam user attack?</strong> — <a class=\"mention\" href=\"/u/lordofbikes\">LordOfBikes</a> <a href=\"https://meta.discourse.org/t/-/404427/16?silent=true\">detailed</a> a rising wave of cloud-hosted spam registrations and started blocking /24 networks from providers. <a class=\"mention\" href=\"/u/one1\">One1</a> <a href=\"https://meta.discourse.org/t/-/404427/18?silent=true\">recommended hCaptcha</a> after it eliminated the same spam pattern for their site, and <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> <a href=\"https://meta.discourse.org/t/-/404427/19?silent=true\">experimented with a required user field</a> to help moderators spot bad applications. <a class=\"mention\" href=\"/u/moin\">Moin</a> <a href=\"https://meta.discourse.org/t/-/404427/21?silent=true\">suggested checking 1 and 2</a> to give moderators better review tools (<a href=\"https://meta.discourse.org/t/-/404427/17?silent=true\">read more</a>).</p>\n</li>\n<li>\n<p><strong>Randomly attached tags</strong> — <a class=\"mention\" href=\"/u/ecki\">Ecki</a> <a href=\"https://meta.discourse.org/t/-/411729/1?silent=true\">reported</a> an annoying mystery third tag being added to posts, seemingly without human action. <a class=\"mention\" href=\"/u/moin\">Moin</a> <a href=\"https://meta.discourse.org/t/-/411729/2?silent=true\">asked whether a tag group requires a parent tag</a>, and <a class=\"mention\" href=\"/u/ecki\">Ecki</a> <a href=\"https://meta.discourse.org/t/-/411729/3?silent=true\">said that wasn’t the case</a>, leaving the cause still unexplained.</p>\n</li>\n</ul>\n<h3><a name=\"p-2034501-plugin-6\" class=\"anchor\" href=\"#p-2034501-plugin-6\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Plugin</span></h3>\n<ul>\n<li><strong>Discourse Boards</strong> — A self-hosted user <a href=\"https://meta.discourse.org/t/-/411414/3?silent=true\">couldn’t find the Boards plugin</a> after updating to 2026.9. <a class=\"mention\" href=\"/u/moin\">Moin</a> <a href=\"https://meta.discourse.org/t/-/411414/4?silent=true\">explained that Boards is bundled with core</a> but only appears in builds after the merge, and that it can be enabled experimentally through <strong>Upcoming Changes</strong> (<a href=\"https://meta.discourse.org/t/-/411414/1?silent=true\">read more</a>).</li>\n</ul>\n<h3><a name=\"p-2034501-announcements-7\" class=\"anchor\" href=\"#p-2034501-announcements-7\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Announcements</span></h3>\n<ul>\n<li>\n<p><strong>Easier account signup using email codes</strong> — <a class=\"mention\" href=\"/u/thisisjoshjones\">Thisisjoshjones</a> <a href=\"https://meta.discourse.org/t/-/407068/29?silent=true\">asked</a> whether the email-code signup flow could also be applied to the invitation landing page, and <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> <a href=\"https://meta.discourse.org/t/-/407068/30?silent=true\">linked to in-progress work</a> on exactly that (<a href=\"https://meta.discourse.org/t/-/407068/1?silent=true\">read more</a>).</p>\n</li>\n<li>\n<p><strong>Introducing Upcoming Changes</strong> — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> <a href=\"https://meta.discourse.org/t/-/392894/50?silent=true\">asked</a> whether opting out of <strong>Dashboard improvements</strong> would restore the old happy/neutral/sad status icons. <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> <a href=\"https://meta.discourse.org/t/-/392894/52?silent=true\">confirmed the old dashboard is going away completely</a> once the change becomes permanent, and pointed to a redesigned system section for self-hosters (<a href=\"https://meta.discourse.org/t/-/392894/51?silent=true\">read more</a>).</p>\n</li>\n<li>\n<p><strong>Voice: Discord-style voice and video rooms</strong> — <a class=\"mention\" href=\"/u/jagster\">Jagster</a> <a href=\"https://meta.discourse.org/t/-/411337/27?silent=true\">asked how to remove rooms</a> from the new bundled voice feature. <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> <a href=\"https://meta.discourse.org/t/-/411337/28?silent=true\">pointed them toward the plugin’s rooms tab in settings</a>, and <a class=\"mention\" href=\"/u/jagster\">Jagster</a> <a href=\"https://meta.discourse.org/t/-/411337/29?silent=true\">confirmed that worked</a> (<a href=\"https://meta.discourse.org/t/-/411337/1?silent=true\">read more</a>).</p>\n</li>\n<li>\n<p><strong>PostgreSQL 18 update for self-hosters</strong> — <a class=\"mention\" href=\"/u/astonj\">AstonJ</a> <a href=\"https://meta.discourse.org/t/-/406194/85?silent=true\">reported a successful upgrade</a> on a dual-container server, following <a class=\"mention\" href=\"/u/lilly\">Lilly</a>’s advice about upgrading and checking disk space first (<a href=\"https://meta.discourse.org/t/-/406194/1?silent=true\">read more</a>).</p>\n</li>\n</ul>\n<h3><a name=\"p-2034501-ux-8\" class=\"anchor\" href=\"#p-2034501-ux-8\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/tag/ux/835\" data-type=\"tag\" data-slug=\"ux\" data-id=\"835\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>ux</span></a></h3>\n<ul>\n<li><strong>Moderation yes button after suspending user</strong> — <a class=\"mention\" href=\"/u/sterretje\">Sterretje</a> <a href=\"https://meta.discourse.org/t/-/411693/1?silent=true\">reported</a> a leftover “Yes” button remaining in the review queue after suspending a spam user. <a class=\"mention\" href=\"/u/per1234\">Per1234</a> <a href=\"https://meta.discourse.org/t/-/411693/3?silent=true\">narrowed it down</a> to the dedicated reviewable page, noting it does not appear on the general <code>/review</code> listing (<a href=\"https://meta.discourse.org/t/-/411693/2?silent=true\">read more</a>).</li>\n</ul>\n<h3><a name=\"p-2034501-bug-9\" class=\"anchor\" href=\"#p-2034501-bug-9\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/tag/bug/1056\" data-type=\"tag\" data-slug=\"bug\" data-id=\"1056\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>bug</span></a></h3>\n<ul>\n<li>\n<p><strong>Discourse-events can cause 500 when deleting a topic</strong> — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> <a href=\"https://meta.discourse.org/t/-/411731/1?silent=true\">encountered</a> a <code>NameError</code> from <code>DiscourseEvents::Calendar::Extractor</code> while deleting a topic in a development instance, triggered by the plugin’s <code>:post_destroyed</code> callback and possibly related to development-mode reloading.</p>\n</li>\n<li>\n<p><strong>Regression: new check_username rate limit can block signup</strong> — <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> <a href=\"https://meta.discourse.org/t/-/411646/4?silent=true\">thanked @HBP</a> for a detailed report and confirmed “we have a fix in the works” (<a href=\"https://meta.discourse.org/t/-/411646/1?silent=true\">read more</a>).</p>\n</li>\n</ul>\n<h3><a name=\"p-2034501-theme-component-10\" class=\"anchor\" href=\"#p-2034501-theme-component-10\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Theme</span> component</h3>\n<ul>\n<li><strong>External Link Shield – Exit Confirmation &amp; Trust Gating</strong> — <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> <a href=\"https://meta.discourse.org/t/-/392962/6?silent=true\">praised the component</a> for covering their external-link use cases, but questioned whether a lock icon is the right metaphor for <em>trusted</em> external links, and suggested moving the icons to the right as a common standard (<a href=\"https://meta.discourse.org/t/-/392962/1?silent=true\">read more</a>).</li>\n</ul>\n<h3><a name=\"p-2034501-self-hosting-11\" class=\"anchor\" href=\"#p-2034501-self-hosting-11\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Self-hosting</span></h3>\n<ul>\n<li><strong>Solving Gemini API key errors in Discourse</strong> — <a class=\"mention\" href=\"/u/karthik_k1\">Karthik_K1</a> <a href=\"https://meta.discourse.org/t/-/411545/17?silent=true\">resolved</a> their AI key configuration issue by switching to a lighter model, noting the LiteLLM workaround was good enough and that latency disappeared after the change (<a href=\"https://meta.discourse.org/t/-/411545/16?silent=true\">read more</a>).</li>\n</ul>\n<h2><a name=\"p-2034501-activity-by-the-a-classmention-hrefuteamteama-group-12\" class=\"anchor\" href=\"#p-2034501-activity-by-the-a-classmention-hrefuteamteama-group-12\" aria-label=\"Heading link\"></a>Activity by the <a class=\"mention\" href=\"/u/team\">Team</a> Group</h2>\n<p>Members of the <a class=\"mention\" href=\"/u/team\">Team</a> group were active across several discussions over the past 24 hours:</p>\n<ul>\n<li>\n<p><a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> <a href=\"https://meta.discourse.org/t/-/411414/4?silent=true\">clarified how the <strong>Discourse Boards</strong> plugin is bundled with core</a>, <a href=\"https://meta.discourse.org/t/-/392894/52?silent=true\">confirmed the legacy admin dashboard will be removed</a> once <strong>Dashboard improvements</strong> is permanent, and <a href=\"https://meta.discourse.org/t/-/407068/30?silent=true\">linked to in-progress work</a> on invitation landing pages using email codes.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> <a href=\"https://meta.discourse.org/t/-/411646/4?silent=true\">acknowledged the check_username rate-limit regression</a> and said a fix is already in the works.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/moin\">Moin</a> <a href=\"https://meta.discourse.org/t/-/411689/10?silent=true\">cited the hardcoded topic-deletion limit in Guardian</a>, <a href=\"https://meta.discourse.org/t/-/404427/21?silent=true\">helped clarify moderator access to email/IP data</a>, <a href=\"https://meta.discourse.org/t/-/411414/4?silent=true\">explained the availability of Boards</a>, and <a href=\"https://meta.discourse.org/t/-/411729/2?silent=true\">asked a useful question about tag groups</a>.</p>\n</li>\n</ul>\n<p>With all the talk of permanent deletion, mysterious build tags, and 500-error ghosts, yesterday was a good reminder that even the most “gone forever” forum posts can still leave a trail of discussion behind them — so maybe think twice before asking for that delete button.</p>","post_number":949,"post_type":1,"posts_count":718,"updated_at":"2026-09-06T05:02:04.245Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":2,"readers_count":1,"score":0.4,"yours":false,"topic_id":291851,"topic_slug":"daily-summary-5am-utc","topic_title":"일일 요약 (UTC 오전 5시)","topic_html_title":"일일 요약 (UTC 오전 5시)","category_id":157,"display_username":"system","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"# Today on meta.discourse.org...\n\n## Key Stats\n\nIn the last 24 hours, meta.discourse.org saw **54 posts** across **20 topics**, with **38 likes** given out.\n\n**Top users by activity:**\n\n| User | Posts | Likes |\n|---|---|---|\n| <a class=\"mention\" href=\"/u/moin\">Moin</a> | 5 | 10 |\n| <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> | 4 | 4 |\n| <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> | 8 | 3 |\n| <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> | 2 | 3 |\n| <a class=\"mention\" href=\"/u/jagster\">Jagster</a> | 4 | 2 |\n| <a class=\"mention\" href=\"/u/emilio\">Emilio</a> | 3 | 2 |\n| <a class=\"mention\" href=\"/u/lordofbikes\">LordOfBikes</a> | 1 | 2 |\n| <a class=\"mention\" href=\"/u/sterretje\">Sterretje</a> | 1 | 2 |\n| <a class=\"mention\" href=\"/u/ecki\">Ecki</a> | 4 | 1 |\n| <a class=\"mention\" href=\"/u/natedhaliwal\">NateDhaliwal</a> | 3 | 1 |\n\n## Interesting Topics\n\n### #Feature\n\n- **Allow user to delete their own topic at any time** — <a class=\"mention\" href=\"/u/emilio\">Emilio</a> [asked](https://meta.discourse.org/t/-/411689/1?silent=true) for an end to the arbitrary 24-hour self-deletion window, and <a class=\"mention\" href=\"/u/rubi\">Rubi</a> [questioned the reasoning](https://meta.discourse.org/t/-/411689/2?silent=true) behind it. <a class=\"mention\" href=\"/u/moin\">Moin</a> [pointed to the hardcoded Guardian limit](https://meta.discourse.org/t/-/411689/10?silent=true), while <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> [suggested making the window configurable](https://meta.discourse.org/t/-/411689/12?silent=true) for unanswered topics. <a class=\"mention\" href=\"/u/jagster\">Jagster</a> [also compared the idea to Facebook groups](https://meta.discourse.org/t/-/411689/6?silent=true), where deleting a thread can delete everyone's replies.\n\n- **Actually delete permanently without all the obstacles** — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> [worked through](https://meta.discourse.org/t/-/411687/2?silent=true) the current permanent-deletion restrictions and eventually [submitted a ready-for-review PR](https://meta.discourse.org/t/-/411687/4?silent=true) adding a per-admin opt-in to permanently delete a topic and all remaining posts, including Staff Action Logging and an extra confirmation warning ([read more](https://meta.discourse.org/t/-/411687/3?silent=true)).\n\n- **Combining Category types** — A long-running #solved, #topic-voting, and #events discussion resurfaced as <a class=\"mention\" href=\"/u/ecki\">Ecki</a> [asked whether solution types can be tag-based](https://meta.discourse.org/t/-/409045/6?silent=true), <a class=\"mention\" href=\"/u/moin\">Moin</a> [mentioned 0](https://meta.discourse.org/t/-/409045/8?silent=true), and <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> [supported making the “Me too” button switchable](https://meta.discourse.org/t/-/409045/7?silent=true).\n\n### #Support\n\n- **Is anyone experiencing an odd spam user attack?** — <a class=\"mention\" href=\"/u/lordofbikes\">LordOfBikes</a> [detailed](https://meta.discourse.org/t/-/404427/16?silent=true) a rising wave of cloud-hosted spam registrations and started blocking /24 networks from providers. <a class=\"mention\" href=\"/u/one1\">One1</a> [recommended hCaptcha](https://meta.discourse.org/t/-/404427/18?silent=true) after it eliminated the same spam pattern for their site, and <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> [experimented with a required user field](https://meta.discourse.org/t/-/404427/19?silent=true) to help moderators spot bad applications. <a class=\"mention\" href=\"/u/moin\">Moin</a> [suggested checking 1 and 2](https://meta.discourse.org/t/-/404427/21?silent=true) to give moderators better review tools ([read more](https://meta.discourse.org/t/-/404427/17?silent=true)).\n\n- **Randomly attached tags** — <a class=\"mention\" href=\"/u/ecki\">Ecki</a> [reported](https://meta.discourse.org/t/-/411729/1?silent=true) an annoying mystery third tag being added to posts, seemingly without human action. <a class=\"mention\" href=\"/u/moin\">Moin</a> [asked whether a tag group requires a parent tag](https://meta.discourse.org/t/-/411729/2?silent=true), and <a class=\"mention\" href=\"/u/ecki\">Ecki</a> [said that wasn't the case](https://meta.discourse.org/t/-/411729/3?silent=true), leaving the cause still unexplained.\n\n### #Plugin\n\n- **Discourse Boards** — A self-hosted user [couldn’t find the Boards plugin](https://meta.discourse.org/t/-/411414/3?silent=true) after updating to 2026.9. <a class=\"mention\" href=\"/u/moin\">Moin</a> [explained that Boards is bundled with core](https://meta.discourse.org/t/-/411414/4?silent=true) but only appears in builds after the merge, and that it can be enabled experimentally through **Upcoming Changes** ([read more](https://meta.discourse.org/t/-/411414/1?silent=true)).\n\n### #Announcements\n\n- **Easier account signup using email codes** — <a class=\"mention\" href=\"/u/thisisjoshjones\">Thisisjoshjones</a> [asked](https://meta.discourse.org/t/-/407068/29?silent=true) whether the email-code signup flow could also be applied to the invitation landing page, and <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> [linked to in-progress work](https://meta.discourse.org/t/-/407068/30?silent=true) on exactly that ([read more](https://meta.discourse.org/t/-/407068/1?silent=true)).\n\n- **Introducing Upcoming Changes** — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> [asked](https://meta.discourse.org/t/-/392894/50?silent=true) whether opting out of **Dashboard improvements** would restore the old happy/neutral/sad status icons. <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> [confirmed the old dashboard is going away completely](https://meta.discourse.org/t/-/392894/52?silent=true) once the change becomes permanent, and pointed to a redesigned system section for self-hosters ([read more](https://meta.discourse.org/t/-/392894/51?silent=true)).\n\n- **Voice: Discord-style voice and video rooms** — <a class=\"mention\" href=\"/u/jagster\">Jagster</a> [asked how to remove rooms](https://meta.discourse.org/t/-/411337/27?silent=true) from the new bundled voice feature. <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> [pointed them toward the plugin’s rooms tab in settings](https://meta.discourse.org/t/-/411337/28?silent=true), and <a class=\"mention\" href=\"/u/jagster\">Jagster</a> [confirmed that worked](https://meta.discourse.org/t/-/411337/29?silent=true) ([read more](https://meta.discourse.org/t/-/411337/1?silent=true)).\n\n- **PostgreSQL 18 update for self-hosters** — <a class=\"mention\" href=\"/u/astonj\">AstonJ</a> [reported a successful upgrade](https://meta.discourse.org/t/-/406194/85?silent=true) on a dual-container server, following <a class=\"mention\" href=\"/u/lilly\">Lilly</a>’s advice about upgrading and checking disk space first ([read more](https://meta.discourse.org/t/-/406194/1?silent=true)).\n\n### #UX\n\n- **Moderation yes button after suspending user** — <a class=\"mention\" href=\"/u/sterretje\">Sterretje</a> [reported](https://meta.discourse.org/t/-/411693/1?silent=true) a leftover “Yes” button remaining in the review queue after suspending a spam user. <a class=\"mention\" href=\"/u/per1234\">Per1234</a> [narrowed it down](https://meta.discourse.org/t/-/411693/3?silent=true) to the dedicated reviewable page, noting it does not appear on the general `/review` listing ([read more](https://meta.discourse.org/t/-/411693/2?silent=true)).\n\n### #Bug\n\n- **Discourse-events can cause 500 when deleting a topic** — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> [encountered](https://meta.discourse.org/t/-/411731/1?silent=true) a `NameError` from `DiscourseEvents::Calendar::Extractor` while deleting a topic in a development instance, triggered by the plugin’s `:post_destroyed` callback and possibly related to development-mode reloading.\n\n- **Regression: new check_username rate limit can block signup** — <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> [thanked @HBP](https://meta.discourse.org/t/-/411646/4?silent=true) for a detailed report and confirmed “we have a fix in the works” ([read more](https://meta.discourse.org/t/-/411646/1?silent=true)).\n\n### #Theme component\n\n- **External Link Shield – Exit Confirmation & Trust Gating** — <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> [praised the component](https://meta.discourse.org/t/-/392962/6?silent=true) for covering their external-link use cases, but questioned whether a lock icon is the right metaphor for *trusted* external links, and suggested moving the icons to the right as a common standard ([read more](https://meta.discourse.org/t/-/392962/1?silent=true)).\n\n### #Self-hosting\n\n- **Solving Gemini API key errors in Discourse** — <a class=\"mention\" href=\"/u/karthik_k1\">Karthik_K1</a> [resolved](https://meta.discourse.org/t/-/411545/17?silent=true) their AI key configuration issue by switching to a lighter model, noting the LiteLLM workaround was good enough and that latency disappeared after the change ([read more](https://meta.discourse.org/t/-/411545/16?silent=true)).\n\n## Activity by the <a class=\"mention\" href=\"/u/team\">Team</a> Group\n\nMembers of the <a class=\"mention\" href=\"/u/team\">Team</a> group were active across several discussions over the past 24 hours:\n\n- <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> [clarified how the **Discourse Boards** plugin is bundled with core](https://meta.discourse.org/t/-/411414/4?silent=true), [confirmed the legacy admin dashboard will be removed](https://meta.discourse.org/t/-/392894/52?silent=true) once **Dashboard improvements** is permanent, and [linked to in-progress work](https://meta.discourse.org/t/-/407068/30?silent=true) on invitation landing pages using email codes.\n\n- <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> [acknowledged the check_username rate-limit regression](https://meta.discourse.org/t/-/411646/4?silent=true) and said a fix is already in the works.\n\n- <a class=\"mention\" href=\"/u/moin\">Moin</a> [cited the hardcoded topic-deletion limit in Guardian](https://meta.discourse.org/t/-/411689/10?silent=true), [helped clarify moderator access to email/IP data](https://meta.discourse.org/t/-/404427/21?silent=true), [explained the availability of Boards](https://meta.discourse.org/t/-/411414/4?silent=true), and [asked a useful question about tag groups](https://meta.discourse.org/t/-/411729/2?silent=true).\n\nWith all the talk of permanent deletion, mysterious build tags, and 500-error ghosts, yesterday was a good reminder that even the most “gone forever” forum posts can still leave a trail of discussion behind them — so maybe think twice before asking for that delete button.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":-1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a name=\"p-2034501-today-on-metadiscourseorg-1\" class=\"anchor\" href=\"#p-2034501-today-on-metadiscourseorg-1\" aria-label=\"Heading link\"></a>Today on <a href=\"http://meta.discourse.org\">meta.discourse.org</a>…\n<a name=\"p-2034501-key-stats-2\" class=\"anchor\" href=\"#p-2034501-key-stats-2\" aria-label=\"Heading link\"></a>Key Stats\nIn the last 24 hours, <a href=\"http://meta.discourse.org\">meta.discourse.org</a> saw 54 posts across 20 topics, with 38 likes given out. \nTop users by activity: \n\n\n\n\nUser\nPosts\nLikes\n\n\n\n\n<a class=\"mention\" href=\"/u/moin\">Moin</a>\n5\n10\n\n\n<a class=\"mention\" href=\"/u/ed_s\">Ed_S</a>\n4\n4\n\n\n<a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a>\n8\n3\n\n\n<a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a>\n2\n3\n\n\n<a class=\"mention\" href=\"/u/jagster\">Jagster</a>\n4\n2\n\n\n<a class=\"mention\" href=\"/u/emilio\">Emilio</a>\n3\n2\n\n\n<a class=\"mention\" href=\"/u/lordofbikes\">LordOfBikes</a>\n1\n2\n\n\n<a class=\"mention\" href=\"/u/sterretje\">Sterretje</a>\n1\n2\n\n\n<a class=\"mention\" href=\"/u/ecki\">E&hellip;</a>","truncated":true,"post_url":"/t/daily-summary-5am-utc/291851/949","locale":null,"is_localized":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034500,"name":"scavin","username":"scavin","avatar_template":"/user_avatar/meta.discourse.org/scavin/{size}/115938_2.png","created_at":"2026-09-06T04:30:12.962Z","cooked":"<p>안녕하세요,</p>\n<p>공식 <code>discourse/mail-receiver:release</code> Docker 이미지가 무시되어 꽤 오랜 시간 동안 재빌드되지 않은 것 같습니다.</p>\n<p>GitHub 저장소는 여전히 적극적으로 유지 관리되고 있습니다:</p>\n<aside class=\"onebox githubrepo\" data-onebox-src=\"https://github.com/discourse/mail-receiver\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/discourse/mail-receiver\" target=\"_blank\" rel=\"nofollow ugc noopener\">github.com</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <div class=\"github-row\" data-github-private-repo=\"false\">\n  <img width=\"690\" height=\"344\" src=\"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/f/3/0f3cf4fb6ed7a68a372c587b848f615dce904577_2_690x344.png\" class=\"thumbnail\" data-dominant-color=\"EEECEB\">\n\n  <h3><a href=\"https://github.com/discourse/mail-receiver\" target=\"_blank\" rel=\"nofollow ugc noopener\">GitHub - discourse/mail-receiver</a></h3>\n\n    <p><span class=\"github-repo-description\">通过在 GitHub 上创建帐户来为 discourse/mail-receiver 开发做出贡献。</span></p>\n</div>\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p>그러나 공식 Docker 이미지는:</p>\n<pre><code class=\"lang-plaintext\">discourse/mail-receiver:release\n</code></pre>\n<p>거의 <strong>2년 전</strong>에 빌드된 것으로 보입니다.</p>\n<p>이것이 현재 버전의 Discourse와 호환성 문제를 일으키는 것 같습니다.</p>\n<p>제 경우, 수신 이메일은 메일 리시버에 성공적으로 도달하지만, <code>RCPT TO</code> 단계에서 다음과 같이 거부됩니다:</p>\n<pre><code class=\"lang-plaintext\">450 4.7.1 Recipient address rejected: Internal error, API request failed\n</code></pre>\n<p>오래된 Docker 이미지는 여전히 <code>smtp_should_reject</code> / 빠른 거부(fast-rejection) 메커니즘을 사용하고 있는 것으로 보입니다.</p>\n<p>그러나 현재 Discourse 소스에는 다음과 같은 주석이 포함되어 있습니다:</p>\n<pre data-code-wrap=\"ruby\"><code class=\"lang-ruby\"># this endpoint has been broken for years\n# and was used only in the public mail-receiver's fast rejection code,\n# which is removed in https://github.com/discourse/mail-receiver/pull/33\n</code></pre>\n<p>PR <span class=\"hashtag-raw\">#33은</span> 이미 <code>mail-receiver</code>에서 해당 빠른 거부 코드를 제거했지만, 이러한 변경 사항은 현재 공개된 <code>discourse/mail-receiver:release</code> 이미지에 포함되지 않은 것으로 보입니다.</p>\n<p>공식 메일 리시버 문서/README는 여전히 사용자에게 다음을 사용하도록 안내하고 있습니다:</p>\n<pre><code class=\"lang-plaintext\">discourse/mail-receiver:release\n</code></pre>\n<p>따라서 최근 변경 사항 이후 Docker 이미지 게시 과정이 단순히 누락되었는지 궁금합니다.</p>\n<p>새로운 <code>discourse/mail-receiver:release</code> 이미지가 빌드되고 게시되어야 하는지 확인해 주시겠습니까?</p>\n<p>감사합니다!</p>","post_number":1,"post_type":1,"posts_count":3,"updated_at":"2026-09-06T04:30:12.962Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":8,"reads":18,"readers_count":17,"score":43.6,"yours":false,"topic_id":411734,"topic_slug":"discourse-mail-receiver-release-docker-image-appears-to-be-outdated","topic_title":"Discourse/mail-receiver:release Docker 이미지가 오래된 것으로 보입니다","topic_html_title":"Discourse/mail-receiver:release Docker 이미지가 오래된 것으로 보입니다","category_id":1,"display_username":"scavin","primary_group_name":null,"flair_name":"translators","flair_url":"globe","flair_bg_color":"ddd","flair_color":"111","flair_group_id":50,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Plugin Author","title_is_group":false,"bookmarked":false,"raw":"Hi,\n\nI think the official `discourse/mail-receiver:release` Docker image may have been overlooked and has not been rebuilt for quite some time.\n\nThe GitHub repository is still actively maintained:\n\nhttps://github.com/discourse/mail-receiver\n\nHowever, the official Docker image:\n\n```text\ndiscourse/mail-receiver:release\n```\n\nappears to have been built almost **2 years ago**.\n\nThis seems to cause compatibility problems with current versions of Discourse.\n\nIn my case, incoming email reaches the mail receiver successfully, but it is rejected during `RCPT TO` with:\n\n```text\n450 4.7.1 Recipient address rejected: Internal error, API request failed\n```\n\nThe old Docker image still appears to use the `smtp_should_reject` / fast-rejection mechanism.\n\nHowever, the current Discourse source contains this comment:\n\n```ruby\n# this endpoint has been broken for years\n# and was used only in the public mail-receiver's fast rejection code,\n# which is removed in https://github.com/discourse/mail-receiver/pull/33\n```\n\nPR #33 has already removed that fast-rejection code from `mail-receiver`, but those changes do not appear to be included in the currently published `discourse/mail-receiver:release` image.\n\nThe official mail-receiver documentation/README still instructs users to use:\n\n```text\ndiscourse/mail-receiver:release\n```\n\nSo I wonder if the Docker image publishing process was simply missed after the recent changes.\n\nCould you please check whether a new `discourse/mail-receiver:release` image needs to be built and published?\n\nThanks!","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":14617,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"안녕하세요, \n공식 discourse/mail-receiver:release Docker 이미지가 무시되어 꽤 오랜 시간 동안 재빌드되지 않은 것 같습니다. \nGitHub 저장소는 여전히 적극적으로 유지 관리되고 있습니다: \n\n\n그러나 공식 Docker 이미지는: \ndiscourse/mail-receiver:release\n\n거의 2년 전에 빌드된 것으로 보입니다. \n이것이 현재 버전의 Discourse와 호환성 문제를 일으키는 것 같습니다. \n제 경우, 수신 이메일은 메일 리시버에 성공적으로 도달하지만, RCPT TO 단계에서 다음&hellip;","truncated":true,"post_url":"/t/discourse-mail-receiver-release-docker-image-appears-to-be-outdated/411734/1","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"calendar_details":[],"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":2034498,"name":"AstonJ","username":"AstonJ","avatar_template":"/user_avatar/meta.discourse.org/astonj/{size}/215041_2.png","created_at":"2026-09-06T02:46:42.495Z","cooked":"<aside class=\"quote no-group\" data-username=\"Lilly\" data-post=\"81\" data-topic=\"406194\" data-full=\"true\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/48/575047_2.png\" class=\"avatar\"> Lilly:</div>\n<blockquote>\n<p>며칠 전 서버 하나에서 이중 컨테이너 업그레이드를 수행했습니다 (러시아 서버에서도요). 아무 문제가 없었지만, 먼저 디스크 공간이 충분한지 꼭 확인하세요.</p>\n</blockquote>\n</aside>\n<p>릴리 감사합니다. 조금 전에 업그레이드를 했는데 모두 잘 된 것 같습니다 <img src=\"https://emoji.discourse-cdn.com/twitter/+1.png?v=15\" title=\":+1:\" class=\"emoji\" alt=\":+1:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":85,"post_type":1,"posts_count":83,"updated_at":"2026-09-06T02:46:42.495Z","reply_count":0,"reply_to_post_number":81,"quote_count":1,"incoming_link_count":1,"reads":20,"readers_count":19,"score":24.0,"yours":false,"topic_id":406194,"topic_slug":"postgresql-18-update-for-self-hosters","topic_title":"자체 호스팅 사용자를 위한 PostgreSQL 18 업데이트","topic_html_title":"자체 호스팅 사용자를 위한 PostgreSQL 18 업데이트","category_id":67,"display_username":"AstonJ","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","bookmarked":false,"raw":"[quote=\"Lilly, post:81, topic:406194, full:true\"]\nyes i did upgrades on dual containers on one server a couple of weeks ago (on a russian server too). no issues at all but make sure you have enough disk space first.\n[/quote]\n\nThanks Lilly, did the upgrade earlier and it all seems to have gone ok :+1:","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":704,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"릴리 감사합니다. 조금 전에 업그레이드를 했는데 모두 잘 된 것 같습니다 :+1:","truncated":true,"post_url":"/t/postgresql-18-update-for-self-hosters/406194/85","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034488,"name":"Ethan ","username":"Ethsim2","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png","created_at":"2026-09-06T01:16:12.241Z","cooked":"<p>로컬 개발 인스턴스에서 무관한 토픽 삭제 관련 변경 사항을 테스트하던 중, 토픽을 삭제하려고 했더니 <strong>500 Internal Server Error</strong>가 반환되었습니다.</p>\n<p>해당 에러가 발생한 개발 인스턴스는 정확히 이 Discourse 커밋을 실행 중이었습니다:</p>\n<aside class=\"onebox githubcommit\" data-onebox-src=\"https://github.com/Ethsim12/discourse/commit/58070a6173a7ba162dbc8ec1165836043290d5ab\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/Ethsim12/discourse/commit/58070a6173a7ba162dbc8ec1165836043290d5ab\" target=\"_blank\" rel=\"nofollow ugc noopener\">github.com/Ethsim12/discourse</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <div class=\"github-row\">\n  <div class=\"github-icon-container\" title=\"Commit\">\n    <svg width=\"60\" height=\"60\" class=\"github-icon\" viewBox=\"0 0 14 16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z\"></path></svg>\n  </div>\n\n  <div class=\"github-info-container\">\n    <h4>\n      <a href=\"https://github.com/Ethsim12/discourse/commit/58070a6173a7ba162dbc8ec1165836043290d5ab\" target=\"_blank\" rel=\"nofollow ugc noopener\">FEATURE: Add per-admin bulk permanent topic deletion</a>\n    </h4>\n\n    <div class=\"github-info\">\n      <div class=\"date\">\n        committed <span class=\"discourse-local-date\" data-format=\"ll\" data-date=\"2026-09-05\" data-time=\"15:12:51\" data-timezone=\"UTC\">03:12PM - 05 Sep 26 UTC</span>\n      </div>\n\n      <div class=\"user\">\n        <a href=\"https://github.com/Ethsim12\" target=\"_blank\" rel=\"nofollow ugc noopener\">\n          <img alt=\"\" src=\"https://global.discourse-cdn.com/meta/original/4X/c/3/d/c3dc8fb5f0ef8648e860e52620338526be80d87e.jpeg\" class=\"onebox-avatar-inline\" width=\"20\" height=\"20\" data-dominant-color=\"957B67\">\n          Ethsim12\n        </a>\n      </div>\n\n      <div class=\"lines\" title=\"changed 22 files with 491 additions and 15 deletions\">\n        <a href=\"https://github.com/Ethsim12/discourse/commit/58070a6173a7ba162dbc8ec1165836043290d5ab\" target=\"_blank\" rel=\"nofollow ugc noopener\">\n          <span class=\"added\">+491</span>\n          <span class=\"removed\">-15</span>\n        </a>\n      </div>\n    </div>\n  </div>\n</div>\n\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://global.discourse-cdn.com/meta/original/4X/b/3/0/b30281dca989bd06e6b37d629b80b5ff70dcc483.jpeg\" data-download-href=\"/uploads/short-url/pxAQ1bD98lguWosARW2VJIHgYFR.jpeg?dl=1\" title=\"image\"><img src=\"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/3/0/b30281dca989bd06e6b37d629b80b5ff70dcc483_2_690x357.jpeg\" alt=\"image\" data-base62-sha1=\"pxAQ1bD98lguWosARW2VJIHgYFR\" width=\"690\" height=\"357\" srcset=\"https://global.discourse-cdn.com/meta/optimized/4X/b/3/0/b30281dca989bd06e6b37d629b80b5ff70dcc483_2_690x357.jpeg, https://global.discourse-cdn.com/meta/optimized/4X/b/3/0/b30281dca989bd06e6b37d629b80b5ff70dcc483_2_1035x535.jpeg 1.5x, https://global.discourse-cdn.com/meta/optimized/4X/b/3/0/b30281dca989bd06e6b37d629b80b5ff70dcc483_2_1380x714.jpeg 2x\" data-dominant-color=\"4D4D4F\" aria-description=\"A screenshot of a computer screen showing a web browser with a '500 Internal Server Error' dialog box open over a Discourse forum, alongside two terminal windows displaying code and server logs. (Captioned by AI)\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">2048×1060 449 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<p>요청은 다음과 같았습니다:</p>\n<pre><code class=\"lang-plaintext\">DELETE /t/35\n</code></pre>\n<p>그리고 예외는 <code>discourse-events</code> 플러그인의 <code>:post_destroyed</code> 콜백에서 발생했습니다:</p>\n<pre><code class=\"lang-plaintext\">NameError (uninitialized constant DiscourseEvents::Calendar::Extractor)\n\nplugins/discourse-events/plugin.rb:639:in 'block (2 levels) in Plugin::Instance#activate!'\nlib/plugin/instance.rb:676:in 'block in Plugin::Instance#on'\nlib/discourse_event.rb:13:in 'block in DiscourseEvent.trigger'\nlib/discourse_event.rb:12:in 'DiscourseEvent.trigger'\nlib/post_destroyer.rb:91:in 'PostDestroyer#destroy'\napp/controllers/topics_controller.rb:818:in 'TopicsController#destroy'\n</code></pre>\n<p>해당 콜백은 다음을 호출하려고 시도하는 것으로 보입니다:</p>\n<pre data-code-wrap=\"ruby\"><code class=\"lang-ruby\">DiscourseEvents::Calendar::Extractor.destroy(post)\n</code></pre>\n<p>전체 에러 페이지에는 다음과 같이 보고됩니다:</p>\n<pre><code class=\"lang-plaintext\">NameError (uninitialized constant DiscourseEvents::Calendar::Extractor)\n</code></pre>\n<p>브라우저는 <code>PostDestroyer#destroy</code>가 이미 <code>:post_destroyed</code>를 트리거하는 지점에 도달했음에도 불구하고 500 오류를 수신합니다. 따라서 콜백이 예외를 발생시키기 전에 삭제가 이미 적용되었을 수 있습니다.</p>\n<p>이것은 개발 환경에서 발생했습니다. <code>DiscourseEvents::Calendar::Extractor</code>는 일반적으로 <a class=\"hashtag-cooked\" href=\"/tag/events/241\" data-type=\"tag\" data-slug=\"events\" data-id=\"241\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>events</span></a> 플러그인에 의해 제공되므로, 구현 자체가 누락된 것이 아니라 개발 모드 리로딩/플러그인 상태와 관련이 있을 수 있는지 궁금합니다.</p>\n<p>당시 저는 무관한 토픽 삭제 코드 작업을 하고 있었지만, 예외 자체는 <code>discourse-events</code>의 <code>:post_destroyed</code> 핸들러 내부에서 완전히 발생하고 있습니다.</p>\n<p>혹시 다른 분들도 개발 인스턴스에서 <code>DiscourseEvents::Calendar::Extractor</code>가 정의되지 않는 상황을 경험해 보셨나요? 이것이 개발 리로딩/플러그인 상태와 관련이 있을 수 있으며, 아니면 <code>:post_destroyed</code> 콜백이 추출기를 다른 방식으로 로드해야 하는 것일까요?</p>","post_number":1,"post_type":1,"posts_count":1,"updated_at":"2026-09-06T01:25:30.579Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":6,"reads":10,"readers_count":9,"score":47.0,"yours":false,"topic_id":411731,"topic_slug":"discourse-events-can-cause-500-when-deleting-a-topic-in-development-uninitialized-calendar-extractor","topic_title":"개발 환경에서 토픽 삭제 시 discourse-events로 인해 500 오류 발생: Calendar::Extractor 초기화 안 됨","topic_html_title":"개발 환경에서 토픽 삭제 시 discourse-events로 인해 500 오류 발생: Calendar::Extractor 초기화 안 됨","category_id":1,"display_username":"Ethan ","primary_group_name":null,"flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"badges_granted":[],"version":2,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Tester","title_is_group":false,"bookmarked":false,"raw":"While testing some unrelated topic-deletion changes in a local development instance, deleting a topic returned a **500 Internal Server Error**.\n\nThe development instance which produced the error was running this exact Discourse commit:\n\nhttps://github.com/Ethsim12/discourse/commit/58070a6173a7ba162dbc8ec1165836043290d5ab\n\n![image|690x357](upload://pxAQ1bD98lguWosARW2VJIHgYFR.jpeg)\n\n\nThe request was:\n\n```text\nDELETE /t/35\n```\n\nand the exception is coming from the `discourse-events` `:post_destroyed` callback:\n\n```text\nNameError (uninitialized constant DiscourseEvents::Calendar::Extractor)\n\nplugins/discourse-events/plugin.rb:639:in 'block (2 levels) in Plugin::Instance#activate!'\nlib/plugin/instance.rb:676:in 'block in Plugin::Instance#on'\nlib/discourse_event.rb:13:in 'block in DiscourseEvent.trigger'\nlib/discourse_event.rb:12:in 'DiscourseEvent.trigger'\nlib/post_destroyer.rb:91:in 'PostDestroyer#destroy'\napp/controllers/topics_controller.rb:818:in 'TopicsController#destroy'\n```\n\nThe relevant callback appears to be attempting to call:\n\n```ruby\nDiscourseEvents::Calendar::Extractor.destroy(post)\n```\n\nThe full error page reports:\n\n```text\nNameError (uninitialized constant DiscourseEvents::Calendar::Extractor)\n```\n\nThe browser consequently receives a 500 even though `PostDestroyer#destroy` has already reached the point where it triggers `:post_destroyed`, so the deletion may already have been applied before the callback raises.\n\nThis occurred in development. `DiscourseEvents::Calendar::Extractor` is normally provided by #events, so I’m wondering whether this could be related to development-mode reloading/plugin state rather than the implementation itself being absent.\n\nI was working on unrelated topic-deletion code at the time, but the exception itself is entirely within the `discourse-events` `:post_destroyed` handler.\n\nHas anyone else encountered `DiscourseEvents::Calendar::Extractor` becoming undefined in a development instance? Could this be related to development reloading/plugin state, or should the `:post_destroyed` callback be loading the extractor differently?","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":160471,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"로컬 개발 인스턴스에서 무관한 토픽 삭제 관련 변경 사항을 테스트하던 중, 토픽을 삭제하려고 했더니 500 Internal Server Error가 반환되었습니다. \n해당 에러가 발생한 개발 인스턴스는 정확히 이 Discourse 커밋을 실행 중이었습니다: \n\n\n <a class=\"lightbox\" href=\"https://global.discourse-cdn.com/meta/original/4X/b/3/0/b30281dca989bd06e6b37d629b80b5ff70dcc483.jpeg\" data-download-href=\"/uploads/short-url/pxAQ1bD98lguWosARW2VJIHgYFR.jpeg?dl=1\" title=\"image\">[image]</a> \n요청은 다음과 같았습니다: \nDELETE /t/35\n\n그리고 예외는 discourse-events 플러그인의 :post_destroyed 콜백에서 발생했습니다: \nNameError (uninitialized constant DiscourseEvents::C&hellip;","truncated":true,"post_url":"/t/discourse-events-can-cause-500-when-deleting-a-topic-in-development-uninitialized-calendar-extractor/411731/1","locale":"en","is_localized":true,"language":"en","localization_outdated":true,"customer_flair_customer":null,"event":null,"calendar_details":[],"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":2034484,"name":"Ethan ","username":"Ethsim2","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png","created_at":"2026-09-06T00:46:22.978Z","cooked":"<aside class=\"quote no-group\" data-username=\"Ed_S\" data-post=\"8\" data-topic=\"411689\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/48/134015_2.png\" class=\"avatar\"> Ed_S:</div>\n<blockquote>\n<p>그래도, 삭제하고 싶은 것이 답이 없는 주제라는 점을 명확히 하기 위해 기능 요청으로 제시하는 것이 더 나을 수 있습니다.</p>\n</blockquote>\n</aside>\n<p>저는 이것이 여기서 중요한 구별점이라고 생각합니다. 기존 구현에서는 이미 일반 사용자가 답글이 없는 경우에만 자신의 주제를 삭제할 수 있도록 제한하고 있습니다:</p>\n<aside class=\"onebox githubblob\" data-onebox-src=\"https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\" target=\"_blank\" rel=\"nofollow ugc noopener\">github.com/discourse/discourse</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <h4><a href=\"https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\" target=\"_blank\" rel=\"nofollow ugc noopener\">lib/guardian/topic_guardian.rb</a></h4>\n\n<div class=\"git-blob-info\">\n  <a href=\"https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\" rel=\"nofollow ugc noopener\"><code>5e9779d4c</code></a>\n</div>\n\n\n\n    <pre class=\"onebox\"><code class=\"lang-rb\">\n      <ol class=\"start lines\" start=\"383\" style=\"counter-reset: li-counter 382 ;\">\n          <li>def can_delete_own_topic?(topic)</li>\n          <li>  topic.posts_count &lt;= 1 &amp;&amp; topic.created_at? &amp;&amp; topic.created_at &gt; 24.hours.ago</li>\n          <li>end</li>\n      </ol>\n    </code></pre>\n\n\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p>따라서 더 구체적인 기능 요청은 현재 하드코딩된 <code>24.hours</code>를 설정 가능하도록 하고, 기존 <code>posts_count &lt;= 1</code> 제한을 유지하는 것으로 충분할 수 있습니다. 기본값은 24시간으로 유지하되, 관리자가 더 긴 기간을 선택하거나, 답이 없는 주제의 삭제를 무제한으로 허용할 수 있도록 할 수 있습니다.</p>\n<aside class=\"quote no-group\" data-username=\"ecki\" data-post=\"11\" data-topic=\"411689\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ecki/48/264025_2.png\" class=\"avatar\"> ecki:</div>\n<blockquote>\n<p>GDPR 소송을 나중에 처리하는 것보다 훨씬 쉽습니다 - 사용자가 자신의 데이터 주권을 가질 수 있도록 합시다.</p>\n</blockquote>\n</aside>\n<p>GDPR이 이 기능이 필요한 진정한 이유라고 생각하지 않습니다. 삭제권은 절대적이지 않으며, 사용자가 게시한 모든 콘텐츠에 대해 무제한의 셀프 서비스 삭제 옵션을 제공해야 한다는 것을 의미하지 않습니다.</p>\n<p>기존 24시간 제한의 설정 가능성은 이 기능 자체에 대한 충분한 논거로 보입니다.</p>","post_number":12,"post_type":1,"posts_count":12,"updated_at":"2026-09-06T00:47:03.155Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":13,"readers_count":12,"score":37.6,"yours":false,"topic_id":411689,"topic_slug":"allow-user-to-delete-their-own-topic-at-any-time","topic_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","topic_html_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","category_id":2,"display_username":"Ethan ","primary_group_name":null,"flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Tester","title_is_group":false,"bookmarked":false,"raw":"[quote=“Ed_S, post:8, topic:411689”]\nStill, it might be clearer as a feature request that it’s unanswered topics which you’d like to make deletable.\n[/quote]\n\nI think that’s the important distinction here. The existing implementation already restricts ordinary users to deleting their own topic only when it has no replies:\n\nhttps://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\n\nSo the narrower feature request could simply be to make the currently hardcoded `24.hours` configurable, while retaining the existing `posts_count <= 1` restriction. That could default to 24 hours but allow admins to choose a longer period, or potentially unlimited deletion of unanswered topics.\n\n[quote=“ecki, post:11, topic:411689”]\nIt’s much easier than to deal with GDPR sues later on - let’s have user their data soverenity\n[/quote]\n\nI don’t think GDPR is really the reason this feature is needed. The right to erasure is not absolute, and it doesn’t mean forum software has to provide an unlimited self-service option to delete any content a user has posted.\n\nThe configurability of the existing 24-hour restriction seems like a sufficient argument for the feature on its own.","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"user_id":160471,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"저는 이것이 여기서 중요한 구별점이라고 생각합니다. 기존 구현에서는 이미 일반 사용자가 답글이 없는 경우에만 자신의 주제를 삭제할 수 있도록 제한하고 있습니다: \n\n\n따라서 더 구체적인 기능 요청은 현재 하드코딩된 24.hours를 설정 가능하도록 하고, 기존 posts_count &lt;= 1 제한을 유지하는 것으로 충분할 수 있습니다. 기본값은 24시간으로 유지하되, 관리자가 더 긴 기간을 선택하거나, 답이 없는 주제의 삭제를 무제한으로 허용할 수 있도록 할 수 있습니다. \n\nGDPR이 이 기능이 필요한 진정한 이유라고 생각하지 않&hellip;","truncated":true,"post_url":"/t/allow-user-to-delete-their-own-topic-at-any-time/411689/12","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":2}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034481,"name":"","username":"satonotdead","avatar_template":"/user_avatar/meta.discourse.org/satonotdead/{size}/447830_2.png","created_at":"2026-09-06T00:11:44.355Z","cooked":"<p>Don, 정말 좋습니다. 만들어서 공유해 주셔서 감사합니다!</p>\n<aside class=\"quote group-VolunteerMods\" data-username=\"Don\" data-post=\"1\" data-topic=\"392962\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/48/228726_2.png\" class=\"avatar\"> Don:</div>\n<blockquote>\n<ul>\n<li><strong>신뢰할 수 있는 외부 링크</strong> → 잠금 아이콘 (성공 색상)</li>\n</ul>\n</blockquote>\n</aside>\n<p>신뢰할 수 있는 외부 링크에 왜 잠금 아이콘을 사용하는지 궁금합니다. 허용된 링크인데 '잠김’으로 해석될 수 있을 것 같아서요. <img src=\"https://emoji.discourse-cdn.com/twitter/sweat_smile.png?v=15\" title=\":sweat_smile:\" class=\"emoji\" alt=\":sweat_smile:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>\n<p>이 컴포넌트를 사용해 보겠습니다. 외부 링크에 대한 우리의 모든 사용 사례를 커버하는 것 같습니다. 또한, 일반적인 표준이 오른쪽에 아이콘을 배치하는 것임을 알고 있으므로 아이콘을 오른쪽으로 이동시키는 것도 시도해 보겠습니다.</p>\n<p>항상 그렇듯이 제 생각을 공유하는 것뿐이며, 이를 통해 TC가 개선되기를 바랍니다.</p>","post_number":6,"post_type":1,"posts_count":10,"updated_at":"2026-09-06T00:12:09.264Z","reply_count":1,"reply_to_post_number":null,"quote_count":1,"incoming_link_count":0,"reads":14,"readers_count":13,"score":37.8,"yours":false,"topic_id":392962,"topic_slug":"external-link-shield-exit-confirmation-trust-gating","topic_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","topic_html_title":"외부 링크 보호 – 종료 확인 및 신뢰 게이트","category_id":120,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","bookmarked":false,"raw":"This is great Don, thanks for building and sharing it!\n\n[quote=\"Don, post:1, topic:392962\"]\n* **Trusted external links** → lock icon (success color)\n[/quote]\nI wonder why the trusted external links uses a lock icon? I mean, it can be interpreted as \"locked\" 😅 when they are allowed.\n\nI will try this component; it seems to cover all our use cases for external links. I will also try moving the icons to the right because I understand it is the common standard.\n\nLike always, just sharing my thoughts and glad if the TC can be improved with them.","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"user_id":71041,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Don, 정말 좋습니다. 만들어서 공유해 주셔서 감사합니다! \n\n신뢰할 수 있는 외부 링크에 왜 잠금 아이콘을 사용하는지 궁금합니다. 허용된 링크인데 &#39;잠김’으로 해석될 수 있을 것 같아서요. :sweat_smile: \n이 컴포넌트를 사용해 보겠습니다. 외부 링크에 대한 우리의 모든 사용 사례를 커버하는 것 같습니다. 또한, 일반적인 표준이 오른쪽에 아이콘을 배치하는 것임을 알고 있으므로 아이콘을 오른쪽으로 이동시키는 것도 시도해 보겠습니다. \n항상 그렇듯이 제 생각을 공유하는 것뿐이며, 이를 통해 TC가 개선되기를 바랍니다.","truncated":true,"post_url":"/t/external-link-shield-exit-confirmation-trust-gating/392962/6","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":2}],"current_user_reaction":null,"reaction_users_count":2,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034480,"name":"","username":"Moin","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png","created_at":"2026-09-05T22:16:40.166Z","cooked":"<p><code>enable_solved_tags</code> 설정이 있습니다. 하지만 이 설정이 “나도” 버튼을 지원하는지는 알 수 없습니다.</p>\n<p>새로운 보고 도구는 카테고리별로 설정된 solved 플러그인에 한정되어 있는 것 같습니다. 이로 인해 다른 최근 기능들도 영향을 받는 것일지 궁금해집니다.</p>\n<aside class=\"quote no-group\" data-username=\"lindsey\" data-post=\"1\" data-topic=\"411397\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/48/318210_2.png\" class=\"avatar\"> lindsey:</div>\n<blockquote>\n<p><strong>참고:</strong> 승인된 해결책 보고서와 관련 대시보드 카드는 최소 하나의 <a href=\"https://meta.discourse.org/t/easily-create-support-categories-using-the-discourse-solved-plugin/398338\">지원 카테고리</a>가 있는 커뮤니티에서만 표시됩니다.</p>\n</blockquote>\n</aside>","post_number":8,"post_type":1,"posts_count":8,"updated_at":"2026-09-05T22:16:40.166Z","reply_count":0,"reply_to_post_number":6,"quote_count":0,"incoming_link_count":0,"reads":10,"readers_count":9,"score":17.0,"yours":false,"topic_id":409045,"topic_slug":"combining-category-types","topic_title":"카테고리 유형 결합","topic_html_title":"카테고리 유형 결합","category_id":2,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Kluges Köpfchen","title_is_group":false,"reply_to_user":{"id":117384,"username":"ecki","name":"Bernd","avatar_template":"/user_avatar/meta.discourse.org/ecki/{size}/264025_2.png"},"bookmarked":false,"raw":"There is the `enable_solved_tags` setting. But I don't know if that supports the \"me too\" button.\n\nThe new reporting tool seems to be limited to the solved plugin being set up by category. This makes me wonder if other recent features are affected too.\n[quote=\"lindsey, post:1, topic:411397\"]\n**Note:** The Accepted Solutions report and corresponding dashboard card are only shown in communities with at least one [support category](https://meta.discourse.org/t/easily-create-support-categories-using-the-discourse-solved-plugin/398338).\n[/quote]","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":95552,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"enable_solved_tags 설정이 있습니다. 하지만 이 설정이 “나도” 버튼을 지원하는지는 알 수 없습니다. \n새로운 보고 도구는 카테고리별로 설정된 solved 플러그인에 한정되어 있는 것 같습니다. 이로 인해 다른 최근 기능들도 영향을 받는 것일지 궁금해집니다.","truncated":true,"post_url":"/t/combining-category-types/409045/8","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034479,"name":"","username":"satonotdead","avatar_template":"/user_avatar/meta.discourse.org/satonotdead/{size}/447830_2.png","created_at":"2026-09-05T22:16:29.341Z","cooked":"<p>이 융합에 동의합니다. 일부 주제에는 ‘나도!’ 옵션과 투표 기능이 모두 있어야 합니다. 둘 다 활성화하거나, 하나만 활성화하거나, 또는 둘 다 비활성화할 수 있도록 전환 가능해야 한다고 생각합니다.</p>\n<p>정확한 처리 방법은 잘 모르겠지만, 이 목적은 여기에서 충분히 지지받고 있습니다.</p>","post_number":7,"post_type":1,"posts_count":8,"updated_at":"2026-09-05T22:16:29.341Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":10,"readers_count":9,"score":2.0,"yours":false,"topic_id":409045,"topic_slug":"combining-category-types","topic_title":"카테고리 유형 결합","topic_html_title":"카테고리 유형 결합","category_id":2,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","bookmarked":false,"raw":"I am agree with this fusion, some topics should have the 'Me too' option and voting as well. I think it should be switchable for enabling both, one or none of them.\n\nNot sure how to properly handle it but the purpose is really supported here.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":71041,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"이 융합에 동의합니다. 일부 주제에는 ‘나도!’ 옵션과 투표 기능이 모두 있어야 합니다. 둘 다 활성화하거나, 하나만 활성화하거나, 또는 둘 다 비활성화할 수 있도록 전환 가능해야 한다고 생각합니다. \n정확한 처리 방법은 잘 모르겠지만, 이 목적은 여기에서 충분히 지지받고 있습니다.","truncated":true,"post_url":"/t/combining-category-types/409045/7","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034478,"name":"Bernd","username":"ecki","avatar_template":"/user_avatar/meta.discourse.org/ecki/{size}/264025_2.png","created_at":"2026-09-05T22:12:47.607Z","cooked":"<p>아니, 적어도 나는 그런 것을 본 적이 없습니다(그리고 그것들은 사실 관련이 없습니다). 테스트 게시물에서도 그런 현상은 일어나지 않습니다. 누군가가 ‘유용하게’ 도와주려고 추가한 줄 알았는데, 가끔은 의외로 매우 빠르게 나타납니다.</p>","post_number":3,"post_type":1,"posts_count":3,"updated_at":"2026-09-05T22:13:13.474Z","reply_count":0,"reply_to_post_number":2,"quote_count":0,"incoming_link_count":1,"reads":15,"readers_count":14,"score":8.0,"yours":false,"topic_id":411729,"topic_slug":"randomly-attached-tags","topic_title":"무작위로 붙은 태그","topic_html_title":"무작위로 붙은 태그","category_id":6,"display_username":"Bernd","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","reply_to_user":{"id":95552,"username":"Moin","name":"","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png"},"bookmarked":false,"raw":"No, at least I haven’t seen that (and also they are not really related). It also does not happen on test posts. I already thought it’s someone „helpful“ adding it but it sometimes shows up surprisingly fast","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":117384,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"아니, 적어도 나는 그런 것을 본 적이 없습니다(그리고 그것들은 사실 관련이 없습니다). 테스트 게시물에서도 그런 현상은 일어나지 않습니다. 누군가가 ‘유용하게’ 도와주려고 추가한 줄 알았는데, 가끔은 의외로 매우 빠르게 나타납니다.","truncated":true,"post_url":"/t/randomly-attached-tags/411729/3","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034477,"name":"","username":"Moin","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png","created_at":"2026-09-05T22:10:36.984Z","cooked":"<p>해갈(Thirst) 태그를 부모 태그로 설정한 태그 그룹에서, 추가하는 태그 중 하나를 선택한 건가요?</p>","post_number":2,"post_type":1,"posts_count":3,"updated_at":"2026-09-05T22:10:36.984Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":16,"readers_count":15,"score":8.2,"yours":false,"topic_id":411729,"topic_slug":"randomly-attached-tags","topic_title":"무작위로 붙은 태그","topic_html_title":"무작위로 붙은 태그","category_id":6,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Kluges Köpfchen","title_is_group":false,"bookmarked":false,"raw":"Is one of the tags you add in a tag group where you configured that the thirst one is required as the parent tag?","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":95552,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"해갈(Thirst) 태그를 부모 태그로 설정한 태그 그룹에서, 추가하는 태그 중 하나를 선택한 건가요?","truncated":true,"post_url":"/t/randomly-attached-tags/411729/2","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034476,"name":"Bernd","username":"ecki","avatar_template":"/user_avatar/meta.discourse.org/ecki/{size}/264025_2.png","created_at":"2026-09-05T22:10:25.257Z","cooked":"<p>나중에 GDPR 소송을 처리하는 것보다 훨씬 쉽습니다. 사용자에게 데이터 주권을 돌려주도록 합시다.</p>","post_number":11,"post_type":1,"posts_count":12,"updated_at":"2026-09-05T22:10:25.257Z","reply_count":0,"reply_to_post_number":2,"quote_count":0,"incoming_link_count":0,"reads":15,"readers_count":14,"score":3.0,"yours":false,"topic_id":411689,"topic_slug":"allow-user-to-delete-their-own-topic-at-any-time","topic_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","topic_html_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","category_id":2,"display_username":"Bernd","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","reply_to_user":{"id":176316,"username":"Rubi","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/r/7ea924/{size}.png"},"bookmarked":false,"raw":"It’s much easier than to deal with GDPR sues later on - let’s have user their data soverenity","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":117384,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"나중에 GDPR 소송을 처리하는 것보다 훨씬 쉽습니다. 사용자에게 데이터 주권을 돌려주도록 합시다.","truncated":true,"post_url":"/t/allow-user-to-delete-their-own-topic-at-any-time/411689/11","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034475,"name":"Bernd","username":"ecki","avatar_template":"/user_avatar/meta.discourse.org/ecki/{size}/264025_2.png","created_at":"2026-09-05T22:05:49.190Z","cooked":"<p>아, 실제로 태그를 기반으로 솔루션 유형을 만들 수 있나요? 예를 들어 ‘지원 질문으로 표시’ 같은 거요? 그러면 토론 항목에 '나도’나 ‘해결됨’ 버튼이 없게 되니까 그게 좋겠네요.</p>","post_number":6,"post_type":1,"posts_count":8,"updated_at":"2026-09-05T22:05:49.190Z","reply_count":1,"reply_to_post_number":5,"quote_count":0,"incoming_link_count":1,"reads":11,"readers_count":10,"score":12.2,"yours":false,"topic_id":409045,"topic_slug":"combining-category-types","topic_title":"카테고리 유형 결합","topic_html_title":"카테고리 유형 결합","category_id":2,"display_username":"Bernd","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","reply_to_user":{"id":95552,"username":"Moin","name":"","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png"},"bookmarked":false,"raw":"Oh can you actually make solution types based on a tag? Something like „mark it a support question“? That would be cool so discussion entries have no „Me too“ or „mark solved“ buttons","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":117384,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"아, 실제로 태그를 기반으로 솔루션 유형을 만들 수 있나요? 예를 들어 ‘지원 질문으로 표시’ 같은 거요? 그러면 토론 항목에 &#39;나도’나 ‘해결됨’ 버튼이 없게 되니까 그게 좋겠네요.","truncated":true,"post_url":"/t/combining-category-types/409045/6","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034474,"name":"Bernd","username":"ecki","avatar_template":"/user_avatar/meta.discourse.org/ecki/{size}/264025_2.png","created_at":"2026-09-05T22:02:43.298Z","cooked":"<p>제가 정기적으로 작성하는 게시물 중 일부에 내가 직접 고른 두 개의 태그를 붙여도, 나중에 특정 세 번째 태그가 자동으로 붙어 있는 문제가 있습니다. 해당 태그는 동의어가 아니며, 카테고리에도 설정되어 있지 않습니다. 이 태그가 어디서 오는 걸까요? 처음에는 내가 추가한 태그와 접두사가 같아서 실수로 선택한 줄 알았지만, 주의를 기울여 보니 그런 게 아니었습니다. 이 태그들이 어디서 유입되는지 확인할 수 있는 로그나 테이블이 있을까요?</p>","post_number":1,"post_type":1,"posts_count":3,"updated_at":"2026-09-05T22:02:43.298Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":2,"reads":16,"readers_count":15,"score":28.2,"yours":false,"topic_id":411729,"topic_slug":"randomly-attached-tags","topic_title":"무작위로 붙은 태그","topic_html_title":"무작위로 붙은 태그","category_id":6,"display_username":"Bernd","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","bookmarked":false,"raw":"I have this annoying problem that some posts I make regularly with 2 hand picked tags later show up with a specific third one. It’s not a synonym and not set on the category. Where can it come from? In the beginning I assumed it was an accidental selection since it has the same prefix as the one I added, but since I pay attention I can say that’s not it. Is there a lot or table where I can find out where they are coming from?","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":117384,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"제가 정기적으로 작성하는 게시물 중 일부에 내가 직접 고른 두 개의 태그를 붙여도, 나중에 특정 세 번째 태그가 자동으로 붙어 있는 문제가 있습니다. 해당 태그는 동의어가 아니며, 카테고리에도 설정되어 있지 않습니다. 이 태그가 어디서 오는 걸까요? 처음에는 내가 추가한 태그와 접두사가 같아서 실수로 선택한 줄 알았지만, 주의를 기울여 보니 그런 게 아니었습니다. 이 태그들이 어디서 유입되는지 확인할 수 있는 로그나 테이블이 있을까요?","truncated":true,"post_url":"/t/randomly-attached-tags/411729/1","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"calendar_details":[],"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":2034470,"name":"Dave McClure","username":"mcwumbly","avatar_template":"/user_avatar/meta.discourse.org/mcwumbly/{size}/103861_2.png","created_at":"2026-09-05T21:02:59.534Z","cooked":"<p>우연히도, 그 부분에 대해 여기에서 진행 중인 작업이 있습니다:</p>\n<aside class=\"onebox githubpullrequest\" data-onebox-src=\"https://github.com/discourse/discourse/pull/43138\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/discourse/discourse/pull/43138\" target=\"_blank\" rel=\"noopener\">github.com/discourse/discourse</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <div class=\"github-row --gh-status-draft\" data-github-private-repo=\"false\">\n\n\n\n    <div class=\"github-icon-container\" title=\"Draft Pull Request\">\n      <svg width=\"60\" height=\"60\" class=\"github-icon\" viewBox=\"0 0 12 16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n    </div>\n\n  <div class=\"github-info-container\">\n\n\n\n      <h4>\n        <a href=\"https://github.com/discourse/discourse/pull/43138\" target=\"_blank\" rel=\"noopener\">FEATURE: Use email code for invites (#43138)</a>\n      </h4>\n\n    <div class=\"branches\">\n      <code>main</code> ← <code>use-email-codes-invites</code>\n    </div>\n\n      <div class=\"github-info\">\n        <div class=\"date\">\n          drafted <span class=\"discourse-local-date\" data-format=\"ll\" data-date=\"2026-09-02\" data-time=\"20:54:42\" data-timezone=\"UTC\">08:54PM - 02 Sep 26 UTC</span>\n        </div>\n\n        <div class=\"user\">\n          <a href=\"https://github.com/pmusaraj\" target=\"_blank\" rel=\"noopener\">\n            <img alt=\"\" src=\"https://global.discourse-cdn.com/meta/original/3X/c/4/c451db62d75fb4e3658f416eddec0810aec10a65.jpeg\" class=\"onebox-avatar-inline\" width=\"20\" height=\"20\" data-dominant-color=\"55544B\">\n            pmusaraj\n          </a>\n        </div>\n\n        <div class=\"lines\" title=\"1 commits changed 20 files with 1300 additions and 214 deletions\">\n          <a href=\"https://github.com/discourse/discourse/pull/43138/files\" target=\"_blank\" rel=\"noopener\">\n            <span class=\"added\">+1300</span>\n            <span class=\"removed\">-214</span>\n          </a>\n        </div>\n      </div>\n  </div>\n</div>\n\n  <div class=\"github-row\">\n    <p class=\"github-body-container\">WIP</p>\n  </div>\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n","post_number":30,"post_type":1,"posts_count":19,"updated_at":"2026-09-05T21:02:59.534Z","reply_count":0,"reply_to_post_number":29,"quote_count":0,"incoming_link_count":1,"reads":10,"readers_count":9,"score":22.0,"yours":false,"topic_id":407068,"topic_slug":"easier-account-signup-using-email-codes","topic_title":"이메일 코드를 활용한 간편한 계정 가입","topic_html_title":"이메일 코드를 활용한 간편한 계정 가입","category_id":67,"display_username":"Dave McClure","primary_group_name":"team","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111","flair_group_id":47,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Director of Product","title_is_group":false,"reply_to_user":{"id":132341,"username":"thisisjoshjones","name":"Joshua Jones","avatar_template":"/user_avatar/meta.discourse.org/thisisjoshjones/{size}/303241_2.png"},"bookmarked":false,"raw":"Coincidentally, there's some work in progress on that front here:\n\nhttps://github.com/discourse/discourse/pull/43138","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":true,"staff":true,"user_id":4263,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"우연히도, 그 부분에 대해 여기에서 진행 중인 작업이 있습니다:","truncated":true,"post_url":"/t/easier-account-signup-using-email-codes/407068/30","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034469,"name":"system","username":"system","avatar_template":"/user_avatar/meta.discourse.org/system/{size}/443519_2.png","created_at":"2026-09-05T21:02:13.771Z","cooked":"<h1><a name=\"p-2034469-today-on-metadiscourseorg-1\" class=\"anchor\" href=\"#p-2034469-today-on-metadiscourseorg-1\" aria-label=\"Heading link\"></a>Today on <a href=\"http://meta.discourse.org\">meta.discourse.org</a>…</h1>\n<h2><a name=\"p-2034469-key-stats-2\" class=\"anchor\" href=\"#p-2034469-key-stats-2\" aria-label=\"Heading link\"></a>Key Stats</h2>\n<p>In the last 24 hours, the community produced <strong>106 new posts</strong> across <strong>33 new topics</strong>, collecting <strong>85 likes</strong> along the way. The top contributors by likes were:</p>\n<ul>\n<li><a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> — 9 likes, 5 posts</li>\n<li><a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> — 8 likes, 3 posts</li>\n<li><a class=\"mention\" href=\"/u/per1234\">Per1234</a> — 7 likes, 2 posts</li>\n<li><a class=\"mention\" href=\"/u/lilly\">Lilly</a> — 5 likes, 9 posts</li>\n<li><a class=\"mention\" href=\"/u/moin\">Moin</a> — 5 likes, 3 posts</li>\n<li><a class=\"mention\" href=\"/u/nat\">Nat</a> — 5 likes, 2 posts</li>\n<li><a class=\"mention\" href=\"/u/falco\">Falco</a> — 5 likes, 1 post</li>\n<li><a class=\"mention\" href=\"/u/jagster\">Jagster</a> — 4 likes, 6 posts</li>\n<li><a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> — 3 likes, 11 posts</li>\n<li><a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> — 3 likes, 6 posts</li>\n</ul>\n<h2><a name=\"p-2034469-interesting-topics-3\" class=\"anchor\" href=\"#p-2034469-interesting-topics-3\" aria-label=\"Heading link\"></a>Interesting Topics</h2>\n<h3><a name=\"p-2034469-support-4\" class=\"anchor\" href=\"#p-2034469-support-4\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/c/support/6\" data-type=\"category\" data-slug=\"support\" data-id=\"6\" data-style-type=\"icon\" data-icon=\"circle-question\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>Support</span></a></h3>\n<p><a class=\"mention\" href=\"/u/apidevlab\">Apidevlab</a> shared a <a href=\"https://meta.discourse.org/t/fresh-install-hetzner-vps-failing/411664/1?silent=true\">frustrating Hetzner VPS bootstrap failure</a> after successful installs on Layer7, and <a class=\"mention\" href=\"/u/lilly\">Lilly</a>, <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a>, and <a class=\"mention\" href=\"/u/jagster\">Jagster</a> all asked for the full error log, with <a class=\"mention\" href=\"/u/lilly\">Lilly</a> noting that unsupported Podman installs will be hard to get help for. <a href=\"https://meta.discourse.org/t/fresh-install-hetzner-vps-failing/411664/6?silent=true\">read more</a></p>\n<p>In a more niche integration thread, <a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> explained <a href=\"https://meta.discourse.org/t/exposing-livekit-status-in-site-settings-serializer/411428/13?silent=true\">how he exposed LiveKit status in a client app</a>, building on earlier design comments from <a class=\"mention\" href=\"/u/pmusaraj\">Pmusaraj</a> and <a class=\"mention\" href=\"/u/falco\">Falco</a>. <a href=\"https://meta.discourse.org/t/exposing-livekit-status-in-site-settings-serializer/411428/13?silent=true\">read more</a></p>\n<h3><a name=\"p-2034469-general-5\" class=\"anchor\" href=\"#p-2034469-general-5\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/c/general/124\" data-type=\"category\" data-slug=\"general\" data-id=\"124\" data-style-type=\"emoji\" data-emoji=\"blue_book\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>General</span></a></h3>\n<p><a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> showed off <a href=\"https://meta.discourse.org/t/a-social-mobile-desktop-client-for-communities-2/408132/30?silent=true\">new native voice support in the “mesh” client</a> and a companion app for live-streaming Discourse Voice conversations, complete with screenshots of the voice rooms and LiveKit integration. <a href=\"https://meta.discourse.org/t/a-social-mobile-desktop-client-for-communities-2/408132/30?silent=true\">read more</a></p>\n<h3><a name=\"p-2034469-community-building-6\" class=\"anchor\" href=\"#p-2034469-community-building-6\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Community</span> Building</h3>\n<p><a class=\"mention\" href=\"/u/per1234\">Per1234</a> shared a ready-to-import <a href=\"https://meta.discourse.org/t/show-us-your-workflows/410589/13?silent=true\">Discourse Update Notifier workflow</a> that automatically posts about new Discourse versions, giving members more transparency about UI changes. <a href=\"https://meta.discourse.org/t/show-us-your-workflows/410589/13?silent=true\">read more</a></p>\n<p>In a more philosophical thread, <a class=\"mention\" href=\"/u/eisammy\">Eisammy</a> celebrated <a href=\"https://meta.discourse.org/t/for-the-next-decade-of-the-internet-2026-edition/409454/8?silent=true\">Discourse and the Fediverse as alternatives to attention-driven social media</a>, hoping to still be communicating the same way in ten years. <a href=\"https://meta.discourse.org/t/for-the-next-decade-of-the-internet-2026-edition/409454/8?silent=true\">read more</a></p>\n<h3><a name=\"p-2034469-feature-7\" class=\"anchor\" href=\"#p-2034469-feature-7\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Feature</span></h3>\n<p><a class=\"mention\" href=\"/u/emilio\">Emilio</a> asked for a less painful way to <a href=\"https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/1?silent=true\">permanently delete topics</a>, and <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> delivered a full implementation: a per-admin opt-in setting that permanently deletes the topic and all replies, with <a href=\"https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/4?silent=true\">the PR now ready for review</a>. <a href=\"https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/4?silent=true\">read more</a></p>\n<p><a class=\"mention\" href=\"/u/happyhappy\">Happyhappy</a> received a helpful pointer from <a class=\"mention\" href=\"/u/heliosurge\">Heliosurge</a> to the <a href=\"https://meta.discourse.org/t/allow-category-moderator-to-add-or-remove-users-from-that-category/411506/8?silent=true\">Category Restrictor plugin</a> as a possible way to let category moderators manage user membership without full admin powers. <a href=\"https://meta.discourse.org/t/allow-category-moderator-to-add-or-remove-users-from-that-category/411506/8?silent=true\">read more</a></p>\n<h3><a name=\"p-2034469-announcements-8\" class=\"anchor\" href=\"#p-2034469-announcements-8\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Announcements</span></h3>\n<p>The new <a href=\"https://meta.discourse.org/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/25?silent=true\">bundled Voice rooms</a> continued to generate excitement, with <a class=\"mention\" href=\"/u/jagster\">Jagster</a> finally figuring out that rooms are deleted from the settings tab rather than the forum GUI. <a href=\"https://meta.discourse.org/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/25?silent=true\">read more</a></p>\n<p>A discussion about <a href=\"https://meta.discourse.org/t/new-calendar-feature-end-date-for-recurring-events/368527/11?silent=true\">end dates for recurring calendar events</a> led <a class=\"mention\" href=\"/u/miniforum\">MiniForum</a> to a related feature request: adding recurrence to the per-topic calendar workflow, not just separate Events. <a href=\"https://meta.discourse.org/t/new-calendar-feature-end-date-for-recurring-events/368527/11?silent=true\">read more</a></p>\n<p><a class=\"mention\" href=\"/u/thisisjoshjones\">Thisisjoshjones</a> asked whether the new <a href=\"https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/29?silent=true\">email-code signup flow</a> could also be used on the invitations landing page, calling it a big barrier-lowering improvement for communities. <a href=\"https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/29?silent=true\">read more</a></p>\n<h3><a name=\"p-2034469-bug-9\" class=\"anchor\" href=\"#p-2034469-bug-9\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/tag/bug/1056\" data-type=\"tag\" data-slug=\"bug\" data-id=\"1056\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>bug</span></a></h3>\n<p><a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> opened a PR and shared a <a href=\"https://meta.discourse.org/t/editing-event-end-date-post-event-date-on-topic-title-not-updated-since-3-6-0-beta2-update/387466/4?silent=true\">detailed screen recording</a> showing how event date edits should update the topic title correctly.</p>\n<p><a class=\"mention\" href=\"/u/stephen\">Stephen</a> reported that <a href=\"https://meta.discourse.org/t/expanded-markdown-tables-cant-be-interacted-with/364439/4?silent=true\">expanded markdown tables</a> only allow one checkbox interaction after expansion, flagging the regression for <a class=\"mention\" href=\"/u/sam\">Sam</a>. <a href=\"https://meta.discourse.org/t/expanded-markdown-tables-cant-be-interacted-with/364439/4?silent=true\">read more</a></p>\n<h3><a name=\"p-2034469-plugin-10\" class=\"anchor\" href=\"#p-2034469-plugin-10\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Plugin</span></h3>\n<p><a class=\"mention\" href=\"/u/proxytracer\">ProxyTracer</a> announced a new beta with <a href=\"https://meta.discourse.org/t/proxytracer-vpn-proxy-blocker/399958/23?silent=true\">CAPTCHA challenges, independent clearance tokens, and visual analytics</a> for blocking or challenging proxy and VPN traffic. <a href=\"https://meta.discourse.org/t/proxytracer-vpn-proxy-blocker/399958/23?silent=true\">read more</a></p>\n<h3><a name=\"p-2034469-sysadmins-11\" class=\"anchor\" href=\"#p-2034469-sysadmins-11\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Sysadmins</span></h3>\n<p><a class=\"mention\" href=\"/u/simonk\">Simonk</a> corrected the <a href=\"https://meta.discourse.org/t/configuring-aws-ses-for-outgoing-bounce-and-incoming-email/263604/14?silent=true\">AWS SES setup guide</a>, warning that raw message delivery must be <strong>disabled</strong> for SNS bounce notifications to pass Discourse’s validation checks. <a href=\"https://meta.discourse.org/t/configuring-aws-ses-for-outgoing-bounce-and-incoming-email/263604/14?silent=true\">read more</a></p>\n<h3><a name=\"p-2034469-development-12\" class=\"anchor\" href=\"#p-2034469-development-12\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/tag/development/278\" data-type=\"tag\" data-slug=\"development\" data-id=\"278\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>development</span></a></h3>\n<p><a class=\"mention\" href=\"/u/natedhaliwal\">NateDhaliwal</a> asked how to <a href=\"https://meta.discourse.org/t/preset-value-for-composer-field-for-formkit/411695/1?silent=true\">preset a value for FormKit’s composer field</a>, then discovered that using <code>@data={{hash content=...}}</code> on the <code>&lt;Form&gt;</code> component solves it. <a href=\"https://meta.discourse.org/t/preset-value-for-composer-field-for-formkit/411695/2?silent=true\">read more</a></p>\n<h2><a name=\"p-2034469-activity-by-the-a-classmention-hrefuteamteama-group-13\" class=\"anchor\" href=\"#p-2034469-activity-by-the-a-classmention-hrefuteamteama-group-13\" aria-label=\"Heading link\"></a>Activity by the <a class=\"mention\" href=\"/u/team\">Team</a> Group</h2>\n<p>Members of the <a class=\"mention\" href=\"/u/team\">Team</a> group were active across a wide range of threads:</p>\n<ul>\n<li>\n<p><a class=\"mention\" href=\"/u/moin\">Moin</a> helped with a <a href=\"https://meta.discourse.org/t/is-anyone-experiencing-an-odd-spam-user-attack-any-way-to-block/404427/21?silent=true\">spam user attack thread</a> by asking <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> about the <code>moderators_view_ips</code> and <code>moderators_view_emails</code> site settings, then pointed to the <a href=\"https://meta.discourse.org/t/allow-user-to-delete-their-own-topic-at-any-time/411689/10?silent=true\">hard-coded 24-hour deletion limit</a> in a separate feature request. He also clarified <a href=\"https://meta.discourse.org/t/discourse-boards/411414/4?silent=true\">when Discourse Boards appears</a> for self-hosted instances based on the 2026.9 development timeline.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/martin\">Martin</a> confirmed that a fix for <a href=\"https://meta.discourse.org/t/discourse-events/97376/629?silent=true\">Discourse Events recurrence</a> was already merged via PR <span class=\"hashtag-raw\">#42852</span>, and noted that hover cards for subcategory hashtags were next in <a href=\"https://meta.discourse.org/t/can-we-make-inline-links-to-subcategories-more-concise/397217/20?silent=true\">Can we make inline links to subcategories more concise?</a>.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> supported the <a href=\"https://meta.discourse.org/t/option-to-enable-search-for-logged-in-users-only/256772/14?silent=true\">anonymous search control PR</a> and confirmed that the old admin dashboard will disappear completely once the new dashboard is permanent in <a href=\"https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/52?silent=true\">Introducing Upcoming Changes</a>.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/nat\">Nat</a> proposed and implemented a PR for <code>allow_anonymous_search</code> in <a href=\"https://meta.discourse.org/t/option-to-enable-search-for-logged-in-users-only/256772/12?silent=true\">Option to enable search for logged in users only?</a>, and also helped diagnose <a href=\"https://meta.discourse.org/t/how-to-fix-the-blank-ask-ai-response/411572/3?silent=true\">blank Ask AI responses</a> by pointing at timeout issues.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> thanked <a class=\"mention\" href=\"/u/hbp\">HBP</a> for a thorough report and confirmed that a fix is in the works for the <a href=\"https://meta.discourse.org/t/regression-new-check-username-rate-limit-can-block-normal-signup-flow/411646/4?silent=true\">check_username rate-limit signup regression</a>.</p>\n</li>\n<li>\n<p><a class=\"mention\" href=\"/u/falco\">Falco</a> shared a ready PR for <a href=\"https://meta.discourse.org/t/granular-permissions-for-cameras-and-screen-sharing/411477/4?silent=true\">granular permissions for cameras and screen sharing</a> in Voice rooms.</p>\n</li>\n</ul>\n<hr>\n<p>From fighting spam bots to making permanent deletion one click easier, the community came out swinging yesterday — just don’t ask us to delete <em>this</em> summary! <img src=\"https://emoji.discourse-cdn.com/twitter/wink.png?v=15\" title=\":wink:\" class=\"emoji\" alt=\":wink:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":975,"post_type":1,"posts_count":717,"updated_at":"2026-09-05T21:02:13.771Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":3,"readers_count":2,"score":0.6,"yours":false,"topic_id":291850,"topic_slug":"daily-summary-9pm-utc","topic_title":"일일 요약 (UTC 오후 9시)","topic_html_title":"일일 요약 (UTC 오후 9시)","category_id":157,"display_username":"system","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"# Today on meta.discourse.org...\n\n## Key Stats\n\nIn the last 24 hours, the community produced **106 new posts** across **33 new topics**, collecting **85 likes** along the way. The top contributors by likes were:\n\n- <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> — 9 likes, 5 posts\n- <a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> — 8 likes, 3 posts\n- <a class=\"mention\" href=\"/u/per1234\">Per1234</a> — 7 likes, 2 posts\n- <a class=\"mention\" href=\"/u/lilly\">Lilly</a> — 5 likes, 9 posts\n- <a class=\"mention\" href=\"/u/moin\">Moin</a> — 5 likes, 3 posts\n- <a class=\"mention\" href=\"/u/nat\">Nat</a> — 5 likes, 2 posts\n- <a class=\"mention\" href=\"/u/falco\">Falco</a> — 5 likes, 1 post\n- <a class=\"mention\" href=\"/u/jagster\">Jagster</a> — 4 likes, 6 posts\n- <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> — 3 likes, 11 posts\n- <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> — 3 likes, 6 posts\n\n## Interesting Topics\n\n### #Support\n\n<a class=\"mention\" href=\"/u/apidevlab\">Apidevlab</a> shared a [frustrating Hetzner VPS bootstrap failure](https://meta.discourse.org/t/fresh-install-hetzner-vps-failing/411664/1?silent=true) after successful installs on Layer7, and <a class=\"mention\" href=\"/u/lilly\">Lilly</a>, <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a>, and <a class=\"mention\" href=\"/u/jagster\">Jagster</a> all asked for the full error log, with <a class=\"mention\" href=\"/u/lilly\">Lilly</a> noting that unsupported Podman installs will be hard to get help for. [read more](https://meta.discourse.org/t/fresh-install-hetzner-vps-failing/411664/6?silent=true)\n\nIn a more niche integration thread, <a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> explained [how he exposed LiveKit status in a client app](https://meta.discourse.org/t/exposing-livekit-status-in-site-settings-serializer/411428/13?silent=true), building on earlier design comments from <a class=\"mention\" href=\"/u/pmusaraj\">Pmusaraj</a> and <a class=\"mention\" href=\"/u/falco\">Falco</a>. [read more](https://meta.discourse.org/t/exposing-livekit-status-in-site-settings-serializer/411428/13?silent=true)\n\n### #General\n\n<a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> showed off [new native voice support in the “mesh” client](https://meta.discourse.org/t/a-social-mobile-desktop-client-for-communities-2/408132/30?silent=true) and a companion app for live-streaming Discourse Voice conversations, complete with screenshots of the voice rooms and LiveKit integration. [read more](https://meta.discourse.org/t/a-social-mobile-desktop-client-for-communities-2/408132/30?silent=true)\n\n### #Community Building\n\n<a class=\"mention\" href=\"/u/per1234\">Per1234</a> shared a ready-to-import [Discourse Update Notifier workflow](https://meta.discourse.org/t/show-us-your-workflows/410589/13?silent=true) that automatically posts about new Discourse versions, giving members more transparency about UI changes. [read more](https://meta.discourse.org/t/show-us-your-workflows/410589/13?silent=true)\n\nIn a more philosophical thread, <a class=\"mention\" href=\"/u/eisammy\">Eisammy</a> celebrated [Discourse and the Fediverse as alternatives to attention-driven social media](https://meta.discourse.org/t/for-the-next-decade-of-the-internet-2026-edition/409454/8?silent=true), hoping to still be communicating the same way in ten years. [read more](https://meta.discourse.org/t/for-the-next-decade-of-the-internet-2026-edition/409454/8?silent=true)\n\n### #Feature\n\n<a class=\"mention\" href=\"/u/emilio\">Emilio</a> asked for a less painful way to [permanently delete topics](https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/1?silent=true), and <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> delivered a full implementation: a per-admin opt-in setting that permanently deletes the topic and all replies, with [the PR now ready for review](https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/4?silent=true). [read more](https://meta.discourse.org/t/actually-delete-permanently-without-all-the-obstacles/411687/4?silent=true)\n\n<a class=\"mention\" href=\"/u/happyhappy\">Happyhappy</a> received a helpful pointer from <a class=\"mention\" href=\"/u/heliosurge\">Heliosurge</a> to the [Category Restrictor plugin](https://meta.discourse.org/t/allow-category-moderator-to-add-or-remove-users-from-that-category/411506/8?silent=true) as a possible way to let category moderators manage user membership without full admin powers. [read more](https://meta.discourse.org/t/allow-category-moderator-to-add-or-remove-users-from-that-category/411506/8?silent=true)\n\n### #Announcements\n\nThe new [bundled Voice rooms](https://meta.discourse.org/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/25?silent=true) continued to generate excitement, with <a class=\"mention\" href=\"/u/jagster\">Jagster</a> finally figuring out that rooms are deleted from the settings tab rather than the forum GUI. [read more](https://meta.discourse.org/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/25?silent=true)\n\nA discussion about [end dates for recurring calendar events](https://meta.discourse.org/t/new-calendar-feature-end-date-for-recurring-events/368527/11?silent=true) led <a class=\"mention\" href=\"/u/miniforum\">MiniForum</a> to a related feature request: adding recurrence to the per-topic calendar workflow, not just separate Events. [read more](https://meta.discourse.org/t/new-calendar-feature-end-date-for-recurring-events/368527/11?silent=true)\n\n<a class=\"mention\" href=\"/u/thisisjoshjones\">Thisisjoshjones</a> asked whether the new [email-code signup flow](https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/29?silent=true) could also be used on the invitations landing page, calling it a big barrier-lowering improvement for communities. [read more](https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/29?silent=true)\n\n### #Bug\n\n<a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> opened a PR and shared a [detailed screen recording](https://meta.discourse.org/t/editing-event-end-date-post-event-date-on-topic-title-not-updated-since-3-6-0-beta2-update/387466/4?silent=true) showing how event date edits should update the topic title correctly.\n\n<a class=\"mention\" href=\"/u/stephen\">Stephen</a> reported that [expanded markdown tables](https://meta.discourse.org/t/expanded-markdown-tables-cant-be-interacted-with/364439/4?silent=true) only allow one checkbox interaction after expansion, flagging the regression for <a class=\"mention\" href=\"/u/sam\">Sam</a>. [read more](https://meta.discourse.org/t/expanded-markdown-tables-cant-be-interacted-with/364439/4?silent=true)\n\n### #Plugin\n\n<a class=\"mention\" href=\"/u/proxytracer\">ProxyTracer</a> announced a new beta with [CAPTCHA challenges, independent clearance tokens, and visual analytics](https://meta.discourse.org/t/proxytracer-vpn-proxy-blocker/399958/23?silent=true) for blocking or challenging proxy and VPN traffic. [read more](https://meta.discourse.org/t/proxytracer-vpn-proxy-blocker/399958/23?silent=true)\n\n### #Sysadmins\n\n<a class=\"mention\" href=\"/u/simonk\">Simonk</a> corrected the [AWS SES setup guide](https://meta.discourse.org/t/configuring-aws-ses-for-outgoing-bounce-and-incoming-email/263604/14?silent=true), warning that raw message delivery must be **disabled** for SNS bounce notifications to pass Discourse’s validation checks. [read more](https://meta.discourse.org/t/configuring-aws-ses-for-outgoing-bounce-and-incoming-email/263604/14?silent=true)\n\n### #Development\n\n<a class=\"mention\" href=\"/u/natedhaliwal\">NateDhaliwal</a> asked how to [preset a value for FormKit’s composer field](https://meta.discourse.org/t/preset-value-for-composer-field-for-formkit/411695/1?silent=true), then discovered that using `@data={{hash content=...}}` on the `<Form>` component solves it. [read more](https://meta.discourse.org/t/preset-value-for-composer-field-for-formkit/411695/2?silent=true)\n\n## Activity by the <a class=\"mention\" href=\"/u/team\">Team</a> Group\n\nMembers of the <a class=\"mention\" href=\"/u/team\">Team</a> group were active across a wide range of threads:\n\n- <a class=\"mention\" href=\"/u/moin\">Moin</a> helped with a [spam user attack thread](https://meta.discourse.org/t/is-anyone-experiencing-an-odd-spam-user-attack-any-way-to-block/404427/21?silent=true) by asking <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> about the `moderators_view_ips` and `moderators_view_emails` site settings, then pointed to the [hard-coded 24-hour deletion limit](https://meta.discourse.org/t/allow-user-to-delete-their-own-topic-at-any-time/411689/10?silent=true) in a separate feature request. He also clarified [when Discourse Boards appears](https://meta.discourse.org/t/discourse-boards/411414/4?silent=true) for self-hosted instances based on the 2026.9 development timeline.\n\n- <a class=\"mention\" href=\"/u/martin\">Martin</a> confirmed that a fix for [Discourse Events recurrence](https://meta.discourse.org/t/discourse-events/97376/629?silent=true) was already merged via PR #42852, and noted that hover cards for subcategory hashtags were next in [Can we make inline links to subcategories more concise?](https://meta.discourse.org/t/can-we-make-inline-links-to-subcategories-more-concise/397217/20?silent=true).\n\n- <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> supported the [anonymous search control PR](https://meta.discourse.org/t/option-to-enable-search-for-logged-in-users-only/256772/14?silent=true) and confirmed that the old admin dashboard will disappear completely once the new dashboard is permanent in [Introducing Upcoming Changes](https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894/52?silent=true).\n\n- <a class=\"mention\" href=\"/u/nat\">Nat</a> proposed and implemented a PR for `allow_anonymous_search` in [Option to enable search for logged in users only?](https://meta.discourse.org/t/option-to-enable-search-for-logged-in-users-only/256772/12?silent=true), and also helped diagnose [blank Ask AI responses](https://meta.discourse.org/t/how-to-fix-the-blank-ask-ai-response/411572/3?silent=true) by pointing at timeout issues.\n\n- <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> thanked <a class=\"mention\" href=\"/u/hbp\">HBP</a> for a thorough report and confirmed that a fix is in the works for the [check_username rate-limit signup regression](https://meta.discourse.org/t/regression-new-check-username-rate-limit-can-block-normal-signup-flow/411646/4?silent=true).\n\n- <a class=\"mention\" href=\"/u/falco\">Falco</a> shared a ready PR for [granular permissions for cameras and screen sharing](https://meta.discourse.org/t/granular-permissions-for-cameras-and-screen-sharing/411477/4?silent=true) in Voice rooms.\n\n---\n\nFrom fighting spam bots to making permanent deletion one click easier, the community came out swinging yesterday — just don’t ask us to delete *this* summary! 😉","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":-1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a name=\"p-2034469-today-on-metadiscourseorg-1\" class=\"anchor\" href=\"#p-2034469-today-on-metadiscourseorg-1\" aria-label=\"Heading link\"></a>Today on <a href=\"http://meta.discourse.org\">meta.discourse.org</a>…\n<a name=\"p-2034469-key-stats-2\" class=\"anchor\" href=\"#p-2034469-key-stats-2\" aria-label=\"Heading link\"></a>Key Stats\nIn the last 24 hours, the community produced 106 new posts across 33 new topics, collecting 85 likes along the way. The top contributors by likes were: \n\n<a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> — 9 likes, 5 posts\n<a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> — 8 likes, 3 posts\n<a class=\"mention\" href=\"/u/per1234\">Per1234</a> — 7 likes, 2 posts\n<a class=\"mention\" href=\"/u/lilly\">Lilly</a> — 5 likes, 9 posts\n&hellip;","truncated":true,"post_url":"/t/daily-summary-9pm-utc/291850/975","locale":null,"is_localized":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034465,"name":"Joshua Jones","username":"thisisjoshjones","avatar_template":"/user_avatar/meta.discourse.org/thisisjoshjones/{size}/303241_2.png","created_at":"2026-09-05T20:48:31.240Z","cooked":"<p>이 가입 플로우를 초대 랜딩 페이지에도 구현할 수 있을까요? 아마도 이 알파 단계에서는 범위를 벗어난 내용일 테지만, 기능이 안정화되면 해당 구현이 매우 유용할 것입니다. 제 커뮤니티 멤버들의 진입 장벽을 확실히 낮춰 주니 정말 감사합니다!</p>","post_number":29,"post_type":1,"posts_count":19,"updated_at":"2026-09-05T20:48:31.240Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":10,"readers_count":9,"score":57.0,"yours":false,"topic_id":407068,"topic_slug":"easier-account-signup-using-email-codes","topic_title":"이메일 코드를 활용한 간편한 계정 가입","topic_html_title":"이메일 코드를 활용한 간편한 계정 가입","category_id":67,"display_username":"Joshua Jones","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Could this signup flow be implemented in the invitations landing page, too? I'm sure that's beyond the scope of this alpha stage, but that implementation would be very useful after the feature is stable. This really lowers the barrier to entry for my community members, so thank you!","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":132341,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"이 가입 플로우를 초대 랜딩 페이지에도 구현할 수 있을까요? 아마도 이 알파 단계에서는 범위를 벗어난 내용일 테지만, 기능이 안정화되면 해당 구현이 매우 유용할 것입니다. 제 커뮤니티 멤버들의 진입 장벽을 확실히 낮춰 주니 정말 감사합니다!","truncated":true,"post_url":"/t/easier-account-signup-using-email-codes/407068/29","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034459,"name":"","username":"Moin","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png","created_at":"2026-09-05T18:14:54.249Z","cooked":"<p>공지 이후 업데이트를 했나요? 2026.9 버전 개발은 11일 전에 시작되었지만, 보드(Boards) 기능은 4일 전에 추가되었습니다. 따라서 보드 기능이 없는 2026.9 버전의 버전을 사용 중일 수 있습니다. 최근 업데이트를 했다면, 예정된 변경 사항(upcoming changes)에서 해당 기능을 찾을 수 있을 것입니다.</p>\n<aside class=\"quote group-team\" data-username=\"mcwumbly\" data-post=\"1\" data-topic=\"411418\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/48/103861_2.png\" class=\"avatar\"> mcwumbly:</div>\n<blockquote>\n<h2>보드 미리보기</h2>\n<p><strong>현재 이 기능은 실험적 기능으로 간주됩니다!</strong> 여러분의 피드백을 환영하며, 이를 통해 기능을 개선하고 더 널리 배포할 수 있도록 하겠습니다.</p>\n<p>시도해 보려면 <strong><a href=\"https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894\">예정된 변경 사항</a></strong>(<code>/admin/config/upcoming-changes</code>)으로 이동하여 <strong>보드 활성화(Boards enabled)</strong> 항목을 찾고, <strong>활성화 대상(Enabled for…)</strong> 필드를 **모든 사용자(Everyone)**로 변경하여 사이트에서 기능을 활성화하세요.</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://global.discourse-cdn.com/meta/original/4X/d/a/f/dafe12fda53f90c47fb967856eb3756610bc293f.png\" data-download-href=\"/uploads/short-url/vfirhiwsrvqN1RaqMR6vnJKcsUv.png?dl=1\" title=\"image\"><img src=\"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/d/a/f/dafe12fda53f90c47fb967856eb3756610bc293f_2_690x129.png\" alt=\"image\" data-base62-sha1=\"vfirhiwsrvqN1RaqMR6vnJKcsUv\" width=\"690\" height=\"129\" srcset=\"https://global.discourse-cdn.com/meta/optimized/4X/d/a/f/dafe12fda53f90c47fb967856eb3756610bc293f_2_690x129.png, https://global.discourse-cdn.com/meta/original/4X/d/a/f/dafe12fda53f90c47fb967856eb3756610bc293f.png 1.5x, https://global.discourse-cdn.com/meta/original/4X/d/a/f/dafe12fda53f90c47fb967856eb3756610bc293f.png 2x\" data-dominant-color=\"EFEBEA\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">980×184 52.3 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n</blockquote>\n</aside>","post_number":4,"post_type":1,"posts_count":3,"updated_at":"2026-09-05T18:14:54.249Z","reply_count":0,"reply_to_post_number":3,"quote_count":0,"incoming_link_count":1,"reads":23,"readers_count":22,"score":99.6,"yours":false,"topic_id":411414,"topic_slug":"discourse-boards","topic_title":"Discourse 게시판","topic_html_title":"Discourse 게시판","category_id":22,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Kluges Köpfchen","title_is_group":false,"reply_to_user":{"id":186884,"username":"m_terenui","name":"Terenui","avatar_template":"/user_avatar/meta.discourse.org/m_terenui/{size}/537133_2.png"},"bookmarked":false,"raw":"Did you update after the announcement? The development of 2026.9 started 11 days ago, but boards was added 4 days ago. So there is a chance you are on a version of 2026.9 without boards. If you updated recently, you should be able to find it in the upcoming changes.\n\n[quote=\"mcwumbly, post:1, topic:411418\"]\n## Previewing Boards\n\n**For now, this is considered an experimental feature!** We’re welcoming your feedback, which will help us make improvements and roll this out further.\n\nTo try it out, go to **[Upcoming changes](https://meta.discourse.org/t/introducing-upcoming-changes-a-system-to-manage-new-features-and-changes-to-existing-functionality-in-your-community/392894)** at `/admin/config/upcoming-changes`, find the **Boards enabled** item, and update the **Enabled for…** field to **Everyone** opt your site in.\n\n![image|690x129](upload://vfirhiwsrvqN1RaqMR6vnJKcsUv.png)\n[/quote]","actions_summary":[{"id":2,"count":4}],"moderator":false,"admin":false,"staff":false,"user_id":95552,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"공지 이후 업데이트를 했나요? 2026.9 버전 개발은 11일 전에 시작되었지만, 보드(Boards) 기능은 4일 전에 추가되었습니다. 따라서 보드 기능이 없는 2026.9 버전의 버전을 사용 중일 수 있습니다. 최근 업데이트를 했다면, 예정된 변경 사항(upcoming changes)에서 해당 기능을 찾을 수 있을 것입니다.","truncated":true,"post_url":"/t/discourse-boards/411414/4","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":4}],"current_user_reaction":null,"reaction_users_count":4,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034458,"name":"Terenui","username":"m_terenui","avatar_template":"/user_avatar/meta.discourse.org/m_terenui/{size}/537133_2.png","created_at":"2026-09-05T17:55:18.576Z","cooked":"<aside class=\"quote group-team\" data-username=\"mcwumbly\" data-post=\"1\" data-topic=\"411414\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/48/103861_2.png\" class=\"avatar\"> mcwumbly:</div>\n<blockquote>\n<p><strong>이 플러그인은 Discourse 코어에 포함되어 있습니다.</strong> 플러그인을 별도로 설치할 필요가 없습니다.</p>\n</blockquote>\n</aside>\n<p>안녕하세요! 2026.9.0-latest 버전으로 업데이트된 셀프 호스팅 인스턴스를 운영 중인데, 플러그인 목록에서 Discourse Board를 찾을 수 없습니다.</p>\n<p>셀프 호스팅 인스턴스에서도 이 플러그인을 사용할 수 있나요? 수동으로 추가해야 하나요?</p>\n<p>도와주셔서 감사합니다.<br>\n감사합니다!</p>","post_number":3,"post_type":1,"posts_count":3,"updated_at":"2026-09-05T17:55:18.576Z","reply_count":1,"reply_to_post_number":null,"quote_count":1,"incoming_link_count":0,"reads":25,"readers_count":24,"score":10.0,"yours":false,"topic_id":411414,"topic_slug":"discourse-boards","topic_title":"Discourse 게시판","topic_html_title":"Discourse 게시판","category_id":22,"display_username":"Terenui","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"\n[quote=\"mcwumbly, post:1, topic:411414\"]\n**This plugin is bundled with Discourse core.** There is no need to install the plugin separately.\n[/quote]\n\nHey ! I have a self hosted instance updated with 2026.9.0-latest version but I cannot find Discourse Board in my list of plugins. \n\nIs the plugin available for self hosted instance ? Should we add it manually ? \n\nThanks for your help and support. \nCheers !","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":186884,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"안녕하세요! 2026.9.0-latest 버전으로 업데이트된 셀프 호스팅 인스턴스를 운영 중인데, 플러그인 목록에서 Discourse Board를 찾을 수 없습니다. \n셀프 호스팅 인스턴스에서도 이 플러그인을 사용할 수 있나요? 수동으로 추가해야 하나요? \n도와주셔서 감사합니다. \n감사합니다!","truncated":true,"post_url":"/t/discourse-boards/411414/3","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034456,"name":"","username":"Moin","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png","created_at":"2026-09-05T17:30:36.008Z","cooked":"<p>그렇지 않다고 생각합니다. 특별한 권한이 없는 사용자는 자신의 주제를 삭제할 수 있는 시간이 24시간으로 하드코딩되어 있습니다.</p><aside class=\"onebox githubblob\" data-onebox-src=\"https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\" target=\"_blank\" rel=\"noopener\">github.com/discourse/discourse</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <h4><a href=\"https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\" target=\"_blank\" rel=\"noopener\">lib/guardian/topic_guardian.rb</a></h4>\n\n<div class=\"git-blob-info\">\n  <a href=\"https://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\" rel=\"noopener\"><code>5e9779d4c</code></a>\n</div>\n\n\n\n    <pre class=\"onebox\"><code class=\"lang-rb\">\n      <ol class=\"start lines\" start=\"383\" style=\"counter-reset: li-counter 382 ;\">\n          <li>def can_delete_own_topic?(topic)</li>\n          <li>  topic.posts_count &lt;= 1 &amp;&amp; topic.created_at? &amp;&amp; topic.created_at &gt; 24.hours.ago</li>\n          <li>end</li>\n      </ol>\n    </code></pre>\n\n\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p>그 이후로는 삭제 요청을 할 수 있는 것이 유일한 선택지입니다.<br>\n<div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://global.discourse-cdn.com/meta/original/4X/0/2/a/02a3347dfb19af3703a0213edb84a43f613f2d36.png\" data-download-href=\"/uploads/short-url/nkCrPewh6iK2SsHNigYtaSQwsK.png?dl=1\" title=\"image\"><img src=\"https://global.discourse-cdn.com/meta/original/4X/0/2/a/02a3347dfb19af3703a0213edb84a43f613f2d36.png\" alt=\"image\" data-base62-sha1=\"nkCrPewh6iK2SsHNigYtaSQwsK\" width=\"441\" height=\"166\" aria-description=\"화면에는 '이 주제를 삭제할 권한이 없으며, 삭제하려면 이유와 함께 플래그를 제출해야 합니다'라는 경고 메시지와 '닫기' 버튼이 표시되어 있다. (Captioned by AI)\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">589×222 3.13 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>","post_number":10,"post_type":1,"posts_count":12,"updated_at":"2026-09-05T17:34:06.624Z","reply_count":0,"reply_to_post_number":9,"quote_count":0,"incoming_link_count":1,"reads":21,"readers_count":20,"score":99.2,"yours":false,"topic_id":411689,"topic_slug":"allow-user-to-delete-their-own-topic-at-any-time","topic_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","topic_html_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","category_id":2,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Kluges Köpfchen","title_is_group":false,"reply_to_user":{"id":3,"username":"supermathie","name":"Michael Brown","avatar_template":"/user_avatar/meta.discourse.org/supermathie/{size}/507518_2.png"},"bookmarked":false,"raw":"I don't think so. There is a hardcoded limit for users without special permissions which limits deleting their own topic to 24 hours. \nhttps://github.com/discourse/discourse/blob/5e9779d4cd418af07a6ed01005d558eda76f2f69/lib/guardian/topic_guardian.rb#L383-L385\n\n\nAfter that, their only option is to flag it for deletion.\n![image|589x222, 75%](upload://nkCrPewh6iK2SsHNigYtaSQwsK.png)","actions_summary":[{"id":2,"count":4}],"moderator":false,"admin":false,"staff":false,"user_id":95552,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"그렇지 않다고 생각합니다. 특별한 권한이 없는 사용자는 자신의 주제를 삭제할 수 있는 시간이 24시간으로 하드코딩되어 있습니다. \n\n그 이후로는 삭제 요청을 할 수 있는 것이 유일한 선택지입니다. \n <a class=\"lightbox\" href=\"https://global.discourse-cdn.com/meta/original/4X/0/2/a/02a3347dfb19af3703a0213edb84a43f613f2d36.png\" data-download-href=\"/uploads/short-url/nkCrPewh6iK2SsHNigYtaSQwsK.png?dl=1\" title=\"image\">[image]</a>","truncated":true,"post_url":"/t/allow-user-to-delete-their-own-topic-at-any-time/411689/10","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":4}],"current_user_reaction":null,"reaction_users_count":4,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034453,"name":"Michael Brown","username":"supermathie","avatar_template":"/user_avatar/meta.discourse.org/supermathie/{size}/507518_2.png","created_at":"2026-09-05T17:06:19.177Z","cooked":"<aside class=\"quote no-group\" data-username=\"emilio\" data-post=\"3\" data-topic=\"411689\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emilio/48/132550_2.png\" class=\"avatar\"> emilio:</div>\n<blockquote>\n<p>그러면 24시간 후에 삭제할 수 있겠네요.</p>\n</blockquote>\n</aside>\n<p>말씀하신 것이</p>\n<blockquote>\n<p>(게시글이 작성자에 의해 삭제되었습니다. 24시간 후 제거됩니다.)</p>\n</blockquote>\n<p>라는 표시인가요?</p>","post_number":9,"post_type":1,"posts_count":12,"updated_at":"2026-09-05T17:06:58.258Z","reply_count":1,"reply_to_post_number":3,"quote_count":1,"incoming_link_count":1,"reads":21,"readers_count":20,"score":14.2,"yours":false,"topic_id":411689,"topic_slug":"allow-user-to-delete-their-own-topic-at-any-time","topic_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","topic_html_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","category_id":2,"display_username":"Michael Brown","primary_group_name":"team","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111","flair_group_id":47,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"team","title_is_group":true,"bookmarked":false,"raw":"[quote=\"emilio, post:3, topic:411689\"]\nSo they can delete after 24 hours.\n[/quote]\n\nDo you mean the\n\n> (topic deleted by author, will be removed after 24h)\n\nmarker?","actions_summary":[],"moderator":false,"admin":true,"staff":true,"user_id":3,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"말씀하신 것이 \n\n(게시글이 작성자에 의해 삭제되었습니다. 24시간 후 제거됩니다.) \n\n라는 표시인가요?","truncated":true,"post_url":"/t/allow-user-to-delete-their-own-topic-at-any-time/411689/9","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034444,"name":"Ethan ","username":"Ethsim2","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png","created_at":"2026-09-05T16:46:05.609Z","cooked":"<p>최종 업데이트: 구현이 이제 검토를 위한 PR으로 업로드되었습니다:</p>\n<aside class=\"onebox githubpullrequest\" data-onebox-src=\"https://github.com/discourse/discourse/pull/43323\">\n  <header class=\"source\">\n\n      <a href=\"https://github.com/discourse/discourse/pull/43323\" target=\"_blank\" rel=\"nofollow ugc noopener\">github.com/discourse/discourse</a>\n  </header>\n\n  <article class=\"onebox-body\">\n    <div class=\"github-row --gh-status-open\" data-github-private-repo=\"false\">\n\n\n\n    <div class=\"github-icon-container\" title=\"Open Pull Request\">\n      <svg width=\"60\" height=\"60\" class=\"github-icon\" viewBox=\"0 0 12 16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n    </div>\n\n  <div class=\"github-info-container\">\n\n\n\n      <h4>\n        <a href=\"https://github.com/discourse/discourse/pull/43323\" target=\"_blank\" rel=\"nofollow ugc noopener\">FEATURE: Add per-admin bulk permanent topic deletion (#43323)</a>\n      </h4>\n\n    <div class=\"branches\">\n      <code>main</code> ← <code>Ethsim12:permanent-topic-deletion-mode</code>\n    </div>\n\n      <div class=\"github-info\">\n        <div class=\"date\">\n          opened <span class=\"discourse-local-date\" data-format=\"ll\" data-date=\"2026-09-05\" data-time=\"15:16:18\" data-timezone=\"UTC\">03:16PM - 05 Sep 26 UTC</span>\n        </div>\n\n        <div class=\"user\">\n          <a href=\"https://github.com/Ethsim12\" target=\"_blank\" rel=\"nofollow ugc noopener\">\n            <img alt=\"\" src=\"https://global.discourse-cdn.com/meta/original/4X/c/3/d/c3dc8fb5f0ef8648e860e52620338526be80d87e.jpeg\" class=\"onebox-avatar-inline\" width=\"20\" height=\"20\" data-dominant-color=\"957B67\">\n            Ethsim12\n          </a>\n        </div>\n\n        <div class=\"lines\" title=\"2 commits changed 26 files with 511 additions and 17 deletions\">\n          <a href=\"https://github.com/discourse/discourse/pull/43323/files\" target=\"_blank\" rel=\"nofollow ugc noopener\">\n            <span class=\"added\">+511</span>\n            <span class=\"removed\">-17</span>\n          </a>\n        </div>\n      </div>\n  </div>\n</div>\n\n  <div class=\"github-row\">\n    <p class=\"github-body-container\">## Summary\n\nAdds an opt-in path for admins to permanently delete a topic toget<span class=\"show-more-container\"><a href=\"https://github.com/discourse/discourse/pull/43323\" target=\"_blank\" rel=\"nofollow ugc noopener\" class=\"show-more\">…</a></span><span class=\"excerpt hidden\">her with all of its remaining posts.\n\nDiscourse already recursively destroys the remaining posts when the first post is permanently destroyed; this change relaxes the existing permission checks only when all safeguards are satisfied.\n\nThe feature requires:\n\n- `can_permanently_delete` enabled\n- hidden `allow_bulk_permanent_topic_deletion` enabled\n- an admin enabling the option in their own Preferences → Interface\n\nOne admin opting in does not affect other admins, and disabling the hidden setting immediately restores the existing behavior globally.\n\nChanges to the per-admin preference are recorded in Staff Action Logs with previous/new values.\n\n## Tests\n\nAdded coverage for:\n\n- default behavior and both site-level gates\n- per-admin isolation\n- permanent-deletion timer enforcement\n- recursive deletion of the topic and all remaining posts\n- preference authorization and audit logging\n- current-user serializer/API schema behavior\n- Preferences → Interface visibility and save behavior\n\nAlso ran the relevant backend and frontend test/lint suites locally. The existing local ImageMagick/SafeExec issue was isolated; the 51 affected `TopicsController` examples all passed with the temporary local SafeExec allowance, which was restored before commit.</span></p>\n  </div>\n\n  </article>\n\n  <div class=\"onebox-metadata\">\n    \n    \n  </div>\n\n  <div style=\"clear: both\"></div>\n</aside>\n\n<p>최종 설계는 이전에 제안했던 사이트 전체 범위의 열거형(enum)이 아니라, 위에서 설명한 대로 관리자별 옵트인(opt-in) 방식입니다.</p>\n<p>최종 점검 과정에서 몇 가지 UX 세부 사항이 추가되었습니다:</p>\n<ul>\n<li>사이트 수준의 게이트가 허용하는 경우, 관리자별 설정은 설정 → 인터페이스 메뉴 아래에 표시됩니다.</li>\n<li>옵트인한 관리자가 첫 번째 게시물/토픽을 영구 삭제할 때, 되돌릴 수 없는 확인 메시지에 <strong>토픽과 모든 답변</strong>이 영구 삭제됨이 명시적으로 표시됩니다.</li>\n<li>관리자가 옵트인하지 않은 경우, 기존 동작과 문구는 변경되지 않습니다.</li>\n<li>기존 동일 관리자 대상 영구 삭제 쿨다운(시간 제한)이 여전히 적용됩니다.</li>\n<li>설정 변경 사항은 직원 작업 로그(Staff Action Logs)에 기록됩니다.</li>\n</ul>\n<p>저는 또한 2개의 답변이 있는 일회용 토픽에서 옵트인된 전체 경로를 수동으로 테스트하고, 이후 데이터베이스에서 해당 토픽과 모든 게시물이 삭제되었는지 확인했습니다.</p>\n<p>주요 GitHub 테스트/린트 체크는 통과했으며, 이 글 작성 시점에는 보안 스캔이 대기 중이므로 PR은 현재 검토를 기다리고 있습니다.</p>","post_number":4,"post_type":1,"posts_count":4,"updated_at":"2026-09-05T16:46:05.609Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":2,"reads":17,"readers_count":16,"score":28.4,"yours":false,"topic_id":411687,"topic_slug":"actually-delete-permanently-without-all-the-obstacles","topic_title":"다양한 장애물 없이 실제로 영구 삭제하기","topic_html_title":"다양한 장애물 없이 실제로 영구 삭제하기","category_id":2,"display_username":"Ethan ","primary_group_name":null,"flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Tester","title_is_group":false,"bookmarked":false,"raw":"A final update: the implementation is now up as a ready-for-review PR:\n\nhttps://github.com/discourse/discourse/pull/43323\n\nThe final design is the per-admin opt-in approach described above rather than the site-wide enum I originally suggested.\n\nA couple of UX details were added during the final pass:\n\n- the per-admin preference is shown under Preferences → Interface when the site-level gates allow it\n- when an opted-in admin permanently deletes the first post/topic, the irreversible confirmation now explicitly says that it will permanently delete the **topic and all replies**\n- when the admin is not opted in, the existing behaviour and wording remain unchanged\n- the existing same-admin permanent-delete cooldown is still enforced\n- preference changes are recorded in Staff Action Logs\n\nI also manually tested the complete opted-in path on a disposable topic with two replies and verified afterward that the topic and all of its posts had been removed from the database.\n\nThe main GitHub test/lint checks have passed; the PR is now waiting for review, with the security scan still queued at the time of writing.","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":160471,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"최종 업데이트: 구현이 이제 검토를 위한 PR으로 업로드되었습니다: \n\n\n최종 설계는 이전에 제안했던 사이트 전체 범위의 열거형(enum)이 아니라, 위에서 설명한 대로 관리자별 옵트인(opt-in) 방식입니다. \n최종 점검 과정에서 몇 가지 UX 세부 사항이 추가되었습니다: \n\n사이트 수준의 게이트가 허용하는 경우, 관리자별 설정은 설정 → 인터페이스 메뉴 아래에 표시됩니다.\n옵트인한 관리자가 첫 번째 게시물/토픽을 영구 삭제할 때, 되돌릴 수 없는 확인 메시지에 토픽과 모든 답변이 영구 삭제됨이 명시적으로 표시됩니다.\n관리자가 &hellip;","truncated":true,"post_url":"/t/actually-delete-permanently-without-all-the-obstacles/411687/4","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034437,"name":"Jakke Flemming","username":"Jagster","avatar_template":"/user_avatar/meta.discourse.org/jagster/{size}/192154_2.png","created_at":"2026-09-05T14:28:40.113Z","cooked":"<p>감사합니다. 설정의 방 탭에서 할 수 있네요. 포럼 GUI만 보고 있었어요 <img src=\"https://emoji.discourse-cdn.com/twitter/man_facepalming.png?v=15\" title=\":man_facepalming:\" class=\"emoji\" alt=\":man_facepalming:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":29,"post_type":1,"posts_count":25,"updated_at":"2026-09-05T14:29:02.253Z","reply_count":0,"reply_to_post_number":28,"quote_count":0,"incoming_link_count":0,"reads":24,"readers_count":23,"score":19.8,"yours":false,"topic_id":411337,"topic_slug":"voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse","topic_title":"Voice: Discord 스타일 음성 및 비디오 방, 이제 Discourse에 번들링됨 :studio_microphone:","topic_html_title":"Voice: Discord 스타일 음성 및 비디오 방, 이제 Discourse에 번들링됨 :studio_microphone:","category_id":67,"display_username":"Jakke Flemming","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","reply_to_user":{"id":71041,"username":"satonotdead","name":"","avatar_template":"/user_avatar/meta.discourse.org/satonotdead/{size}/447830_2.png"},"bookmarked":false,"raw":"Thanks, it could done from rooms-tab of settings indeed. I was looking at forum GUI only 🤦‍♂️","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":83631,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"감사합니다. 설정의 방 탭에서 할 수 있네요. 포럼 GUI만 보고 있었어요 :man_facepalming:","truncated":true,"post_url":"/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/29","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"+1","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034436,"name":"","username":"satonotdead","avatar_template":"/user_avatar/meta.discourse.org/satonotdead/{size}/447830_2.png","created_at":"2026-09-05T14:01:56.113Z","cooked":"<p>사이드바를 사용하거나 활성화된 플러그인에서 ‘Resenha’ 탭을 찾아보시는 걸 추천해요. 아주 간단할 거예요.</p>","post_number":28,"post_type":1,"posts_count":25,"updated_at":"2026-09-05T14:02:19.554Z","reply_count":1,"reply_to_post_number":27,"quote_count":0,"incoming_link_count":1,"reads":24,"readers_count":23,"score":14.8,"yours":false,"topic_id":411337,"topic_slug":"voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse","topic_title":"Voice: Discord 스타일 음성 및 비디오 방, 이제 Discourse에 번들링됨 :studio_microphone:","topic_html_title":"Voice: Discord 스타일 음성 및 비디오 방, 이제 Discourse에 번들링됨 :studio_microphone:","category_id":67,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","reply_to_user":{"id":83631,"username":"Jagster","name":"Jakke Flemming","avatar_template":"/user_avatar/meta.discourse.org/jagster/{size}/192154_2.png"},"bookmarked":false,"raw":"I think you need to just use the sidebar or look for the Resenha tab in enabled plugins. It should be straightforward.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":71041,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"사이드바를 사용하거나 활성화된 플러그인에서 ‘Resenha’ 탭을 찾아보시는 걸 추천해요. 아주 간단할 거예요.","truncated":true,"post_url":"/t/voice-discord-style-voice-and-video-rooms-now-bundled-with-discourse/411337/28","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034433,"name":"Ethan ","username":"Ethsim2","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png","created_at":"2026-09-05T13:38:45.083Z","cooked":"<p>기존의 영구 삭제 코드를 파고든 후 빠른 진행 상황 업데이트를 드립니다.</p>\n<p>Discourse에는 이미 여기에 필요한 실제 일괄 삭제 동작이 존재한다는 것을 발견했습니다. 첫 번째 게시물이 영구적으로 삭제되면, <code>PostDestroyer</code>가 이미 해당 주제의 나머지 게시물들을 재귀적으로 영구 삭제할 수 있습니다. 제한 사항은 주로 권한/정책 검사에 있으며, 현재는 다른 게시물들이 먼저 영구 삭제되어야 하는 것을 요구합니다.</p>\n<p>따라서 위에서 제안했던 사이트 전체 범위의 enum 방식에서 벗어나, 더 보수적인 옵트인(opt-in) 모델을 사용한 작동 가능한 구현체를 만들었습니다.</p>\n<ul>\n<li>기존 <code>can_permanently_delete</code> 설정은 여전히 마스터 스위치 역할을 합니다.</li>\n<li>기본적으로 비활성화된 추가적인 숨겨진 운영자 수준의 게이트가 있습니다.</li>\n<li>둘 다 활성화되면, 각 관리자는 설정 → 인터페이스에서 개별적으로 옵트인할 수 있습니다.</li>\n<li>한 관리자가 옵트인하더라도 다른 관리자의 동작은 변경되지 않습니다.</li>\n<li>숨겨진 게이트를 비활성화하면 기존 동작이 즉시 전역적으로 복원됩니다.</li>\n<li>기존 영구 삭제 확인 및 기타 안전장치는 그대로 유지됩니다.</li>\n</ul>\n<p>현재 해당 설정은 다음과 같이 표시되어 있습니다:</p>\n<blockquote>\n<p>주제를 영구 삭제할 때 모든 게시물을 삭제하도록 허용</p>\n</blockquote>\n<p>그리고 설명은 다음과 같습니다:</p>\n<blockquote>\n<p>주제를 영구 삭제할 때, 개별적으로 영구 삭제하는 것을 요구하지 않고 나머지 모든 게시물을 함께 영구 삭제합니다.</p>\n</blockquote>\n<p>백엔드 정책/보안 테스트, 주제와 모든 나머지 게시물이 실제로 영구적으로 제거되었음을 확인하는 컨트롤러 커버리지, 직렬화기/API 커버리지, 그리고 설정의 표시 및 저장을 위한 프론트엔드 인수 테스트를 추가했습니다. 현재 모두 통과하고 있습니다.</p>\n<p>또한, 더 파괴적인 삭제 모드를 활성화하는 것은 타임스탬프가 있는 감사 이벤트로 기록할 가치가 있다고 생각하여, 이 관리자별 옵트인에 대한 변경 사항을 스태프 액션 로그(Staff Action Logs)에 기록하는 방안도 검토하고 있습니다.</p>\n<p>해당 작업과 최종 검토를 마치는 대로 GitHub PR을 게시하겠습니다.</p>","post_number":3,"post_type":1,"posts_count":4,"updated_at":"2026-09-05T13:38:45.083Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":25,"readers_count":24,"score":10.0,"yours":false,"topic_id":411687,"topic_slug":"actually-delete-permanently-without-all-the-obstacles","topic_title":"다양한 장애물 없이 실제로 영구 삭제하기","topic_html_title":"다양한 장애물 없이 실제로 영구 삭제하기","category_id":2,"display_username":"Ethan ","primary_group_name":null,"flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Tester","title_is_group":false,"bookmarked":false,"raw":"A quick progress update after digging into the existing permanent-deletion code:\n\nI found that Discourse already has the actual bulk deletion behaviour needed here. When the first post is permanently destroyed, `PostDestroyer` can already recursively permanently destroy the remaining posts in the topic. The restriction is mainly in the permission/policy checks which currently require the other posts to be permanently deleted first.\n\nI've therefore moved away from the site-wide enum I suggested above and have a working implementation using a more conservative opt-in model:\n\n- the existing `can_permanently_delete` setting remains the master switch\n- there is an additional hidden operator-level gate, disabled by default\n- when both are enabled, each admin can individually opt in under Preferences → Interface\n- one admin opting in does not change the behaviour for any other admin\n- disabling the hidden gate immediately restores the existing behaviour globally\n- the existing permanent-deletion confirmation and other safeguards remain in place\n\nThe preference is currently labelled:\n\n> Allow permanent topic deletion to delete all posts\n\nwith the explanation:\n\n> When permanently deleting a topic, also permanently delete all remaining posts instead of requiring them to be permanently deleted individually.\n\nI've added backend policy/security tests, controller coverage confirming that the topic and all remaining posts are actually permanently removed, serializer/API coverage, and frontend acceptance tests for the preference visibility and saving. Those are passing.\n\nI'm also looking at recording changes to this per-admin opt-in in the Staff Action Logs, since enabling a more destructive deletion mode seems worth having as a timestamped audit event.\n\nI'll post the GitHub PR once I've finished that and the final review.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":160471,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"기존의 영구 삭제 코드를 파고든 후 빠른 진행 상황 업데이트를 드립니다. \nDiscourse에는 이미 여기에 필요한 실제 일괄 삭제 동작이 존재한다는 것을 발견했습니다. 첫 번째 게시물이 영구적으로 삭제되면, PostDestroyer가 이미 해당 주제의 나머지 게시물들을 재귀적으로 영구 삭제할 수 있습니다. 제한 사항은 주로 권한/정책 검사에 있으며, 현재는 다른 게시물들이 먼저 영구 삭제되어야 하는 것을 요구합니다. \n따라서 위에서 제안했던 사이트 전체 범위의 enum 방식에서 벗어나, 더 보수적인 옵트인(opt-in) 모델을 사&hellip;","truncated":true,"post_url":"/t/actually-delete-permanently-without-all-the-obstacles/411687/3","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034429,"name":"Ed S","username":"Ed_S","avatar_template":"/user_avatar/meta.discourse.org/ed_s/{size}/134015_2.png","created_at":"2026-09-05T13:05:47.687Z","cooked":"<aside class=\"quote no-group\" data-username=\"emilio\" data-post=\"5\" data-topic=\"411689\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emilio/48/132550_2.png\" class=\"avatar\"> emilio:</div>\n<blockquote>\n<p>답글이 있는 경우 아예 삭제할 수 없습니다.</p>\n</blockquote>\n</aside>\n<p>아, 그렇군요. 그래도 \"답글이 없는 주제\"를 삭제할 수 있게 해달라는 기능 요청으로 명확히 표현하는 것이 더 나을 수 있습니다.</p>\n<p>사용자의 기여물은 항상 해당 사용자의 통제 아래에 있어야 한다는 의견도 있지만, 저는 Discourse 팀의 관점이 더 중요하다고 생각합니다. 즉, 대화 기록이 개인의 기록을 수정할 자유보다 더 중요하다는 것이죠. 개인적으로도 이에 동의합니다. 하지만 다른 관점을 가진다면, 특정 기능이 도움이 될 수 있습니다.</p>","post_number":8,"post_type":1,"posts_count":12,"updated_at":"2026-09-05T13:05:47.687Z","reply_count":0,"reply_to_post_number":5,"quote_count":1,"incoming_link_count":1,"reads":25,"readers_count":24,"score":25.0,"yours":false,"topic_id":411689,"topic_slug":"allow-user-to-delete-their-own-topic-at-any-time","topic_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","topic_html_title":"사용자가 언제든지 자신의 주제를 삭제할 수 있도록 허용","category_id":2,"display_username":"Ed S","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Bug Reporter","title_is_group":false,"bookmarked":false,"raw":"[quote=\"emilio, post:5, topic:411689\"]\nThey can’t delete at all if there are replies\n[/quote]\n\nAh.  Still, it might be clearer as a feature request that it's unanswered topics which you'd like to make deletable.\n\nThere are schools of thought that say a person's contributions should always remain under their control, but I think the view in the Discourse team is that the conversational record is more important than the individual's freedom to change it.  I personally agree. But if you take another view, it may be that a feature can help you.","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":63143,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"아, 그렇군요. 그래도 &quot;답글이 없는 주제&quot;를 삭제할 수 있게 해달라는 기능 요청으로 명확히 표현하는 것이 더 나을 수 있습니다. \n사용자의 기여물은 항상 해당 사용자의 통제 아래에 있어야 한다는 의견도 있지만, 저는 Discourse 팀의 관점이 더 중요하다고 생각합니다. 즉, 대화 기록이 개인의 기록을 수정할 자유보다 더 중요하다는 것이죠. 개인적으로도 이에 동의합니다. 하지만 다른 관점을 가진다면, 특정 기능이 도움이 될 수 있습니다.","truncated":true,"post_url":"/t/allow-user-to-delete-their-own-topic-at-any-time/411689/8","locale":"en","is_localized":true,"language":"en","localization_outdated":false,"customer_flair_customer":null,"event":null,"reactions":[{"id":"heart","type":"emoji","count":1}],"current_user_reaction":null,"reaction_users_count":1,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":2034428,"name":"system","username":"system","avatar_template":"/user_avatar/meta.discourse.org/system/{size}/443519_2.png","created_at":"2026-09-05T13:00:58.443Z","cooked":"<h1><a name=\"p-2034428-today-on-metadiscourseorg-1\" class=\"anchor\" href=\"#p-2034428-today-on-metadiscourseorg-1\" aria-label=\"Heading link\"></a>Today on <a href=\"http://meta.discourse.org\">meta.discourse.org</a>…</h1>\n<h2><a name=\"p-2034428-key-stats-2\" class=\"anchor\" href=\"#p-2034428-key-stats-2\" aria-label=\"Heading link\"></a>Key Stats</h2>\n<p>In the last 24 hours, <strong>94 posts</strong> and <strong>31 topics</strong> were active across Meta, with <strong>71 likes</strong> recorded in the returned posts.</p>\n<p>Top users by likes and posts:</p>\n<ul>\n<li><a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> — <strong>8 likes</strong>, <strong>3 posts</strong></li>\n<li><a class=\"mention\" href=\"/u/per1234\">Per1234</a> — <strong>7 likes</strong>, <strong>2 posts</strong></li>\n<li><a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> — <strong>6 likes</strong>, <strong>3 posts</strong></li>\n<li><a class=\"mention\" href=\"/u/lilly\">Lilly</a> — <strong>5 likes</strong>, <strong>9 posts</strong></li>\n<li><a class=\"mention\" href=\"/u/falco\">Falco</a> — <strong>5 likes</strong>, <strong>1 post</strong></li>\n<li><a class=\"mention\" href=\"/u/nat\">Nat</a> — <strong>4 likes</strong>, <strong>2 posts</strong></li>\n<li><a class=\"mention\" href=\"/u/jagster\">Jagster</a> — <strong>3 likes</strong>, <strong>5 posts</strong></li>\n<li><a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> — <strong>3 likes</strong>, <strong>5 posts</strong></li>\n<li><a class=\"mention\" href=\"/u/emilio\">Emilio</a> — <strong>3 likes</strong>, <strong>4 posts</strong></li>\n<li><a class=\"mention\" href=\"/u/hbp\">HBP</a> — <strong>3 likes</strong>, <strong>1 post</strong></li>\n</ul>\n<h2><a name=\"p-2034428-interesting-topics-3\" class=\"anchor\" href=\"#p-2034428-interesting-topics-3\" aria-label=\"Heading link\"></a>Interesting Topics</h2>\n<h3><a name=\"p-2034428-support-4\" class=\"anchor\" href=\"#p-2034428-support-4\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/c/support/6\" data-type=\"category\" data-slug=\"support\" data-id=\"6\" data-style-type=\"icon\" data-icon=\"circle-question\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>Support</span></a></h3>\n<ul>\n<li>\n<p><strong>Fresh Install (Hetzner VPS) Failing</strong> — <a class=\"mention\" href=\"/u/apidevlab\">Apidevlab</a> reported repeated bootstrap failures while installing Discourse on Hetzner, despite plenty of RAM and swap. <a class=\"mention\" href=\"/u/jagster\">Jagster</a> and <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> both urged posting the <em>entire</em> log rather than just the tail error, and <a class=\"mention\" href=\"/u/lilly\">Lilly</a> noted that Podman-based installs are unsupported, making debugging harder. <a href=\"https://meta.discourse.org/t/-/411664/1?silent=true\">read more</a></p>\n</li>\n<li>\n<p><strong>Odd spam user attack</strong> — <a class=\"mention\" href=\"/u/lordofbikes\">LordOfBikes</a> shared details of a surge in spam registrations, including patterns in names and single-letter subdomain emails, and started blocking cloud provider networks. <a class=\"mention\" href=\"/u/one1\">One1</a> said hCaptcha has eliminated the spam for them, while <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> added a mandatory user field to make fake applications easier to reject. <a class=\"mention\" href=\"/u/moin\">Moin</a> also asked about the <code>moderators_view_ips</code> and <code>moderators_view_emails</code> settings. <a href=\"https://meta.discourse.org/t/-/404427/16?silent=true\">read more</a></p>\n</li>\n<li>\n<p><strong>Exposing LiveKit status</strong> — <a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> explained how they built a companion app and workaround to expose Discourse Voice/LiveKit status for their custom client, referencing an ongoing discussion about how the LiveKit integration should evolve. <a href=\"https://meta.discourse.org/t/-/411428/13?silent=true\">read more</a></p>\n</li>\n</ul>\n<h3><a name=\"p-2034428-general-5\" class=\"anchor\" href=\"#p-2034428-general-5\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/c/general/124\" data-type=\"category\" data-slug=\"general\" data-id=\"124\" data-style-type=\"emoji\" data-emoji=\"blue_book\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>General</span></a></h3>\n<ul>\n<li><strong>A Social Mobile &amp; Desktop Client for Communities</strong> — <a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> showcased new native Discourse Voice support in their Mesh client, with separate UX for web-only voice and LiveKit, plus a reworked companion app that allows live streaming while using Discourse Voice in a “watercooler” conversation. <a href=\"https://meta.discourse.org/t/-/408132/30?silent=true\">read more</a></li>\n</ul>\n<h3><a name=\"p-2034428-community-building-6\" class=\"anchor\" href=\"#p-2034428-community-building-6\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Community</span> Building</h3>\n<ul>\n<li><strong>Show us your Workflows</strong> — <a class=\"mention\" href=\"/u/per1234\">Per1234</a> shared a <strong>Discourse Update Notifier</strong> workflow that automatically posts about new Discourse versions on a forum, helping technically minded communities stay informed about changes introduced by updates. <a href=\"https://meta.discourse.org/t/-/410589/13?silent=true\">read more</a></li>\n</ul>\n<h3><a name=\"p-2034428-feature-7\" class=\"anchor\" href=\"#p-2034428-feature-7\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Feature</span></h3>\n<ul>\n<li>\n<p><strong>Granular permissions for cameras and screen sharing</strong> — <a class=\"mention\" href=\"/u/falco\">Falco</a> announced a ready-made PR for granular permissions in Discourse Voice, promising more control over camera and screen-sharing access. <a href=\"https://meta.discourse.org/t/-/411477/4?silent=true\">read more</a></p>\n</li>\n<li>\n<p><strong>Option to enable search for logged in users only</strong> — <a class=\"mention\" href=\"/u/nat\">Nat</a> proposed a new <code>allow_anonymous_search</code> site setting and opened a PR, with <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> agreeing that the approach is a solid first step even if the UI could later show a login prompt instead of hiding search. <a href=\"https://meta.discourse.org/t/-/256772/12?silent=true\">read more</a></p>\n</li>\n</ul>\n<h3><a name=\"p-2034428-announcements-8\" class=\"anchor\" href=\"#p-2034428-announcements-8\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Announcements</span></h3>\n<ul>\n<li>\n<p><strong>Voice: Discord-style voice and video rooms</strong> — Community excitement continues about bundled Discourse Voice. <a class=\"mention\" href=\"/u/jagster\">Jagster</a> asked whether admins can delete rooms, and <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> confirmed admins can also rename rooms and limit them to specific groups. <a href=\"https://meta.discourse.org/t/-/411337/22?silent=true\">read more</a></p>\n</li>\n<li>\n<p><strong>New Calendar Feature: End Date for Recurring Events</strong> — <a class=\"mention\" href=\"/u/miniforum\">MiniForum</a> couldn’t find the end-date option and <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> clarified the difference between <code>Insert date / time</code> and <code>Create event</code>, going on to suggest a Power Automate/API workaround for school calendars and linking an existing feature request for recurring date-range entries. <a href=\"https://meta.discourse.org/t/-/368527/6?silent=true\">read more</a></p>\n</li>\n<li>\n<p><strong>Introducing Upcoming Changes</strong> — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> asked whether opting out of the redesigned admin dashboard is the only way to keep the legacy dashboard, and <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> confirmed the old dashboard will go away entirely once the new one becomes permanent. <a href=\"https://meta.discourse.org/t/-/392894/50?silent=true\">read more</a></p>\n</li>\n</ul>\n<h3><a name=\"p-2034428-self-hosting-9\" class=\"anchor\" href=\"#p-2034428-self-hosting-9\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Self-hosting</span></h3>\n<ul>\n<li>\n<p><strong>How to fix the blank Ask AI response</strong> — <a class=\"mention\" href=\"/u/karthik_k1\">Karthik_K1</a> reported Ask AI logs showing correct responses but nothing displayed, especially on desktop. <a class=\"mention\" href=\"/u/nat\">Nat</a> suggested the request was timing out due to a slow model response, since Ask AI has a 20-second deadline. <a href=\"https://meta.discourse.org/t/-/411572/3?silent=true\">read more</a></p>\n</li>\n<li>\n<p><strong>Solving Gemini API key errors</strong> — <a class=\"mention\" href=\"/u/karthik_k1\">Karthik_K1</a> worked through connecting Google Vertex AI to Discourse, with <a class=\"mention\" href=\"/u/lilly\">Lilly</a> explaining her working Gemini API setup and <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> recommending a LiteLLM proxy as a lower-latency workaround. <a href=\"https://meta.discourse.org/t/-/411545/2?silent=true\">read more</a></p>\n</li>\n</ul>\n<h3><a name=\"p-2034428-bug-10\" class=\"anchor\" href=\"#p-2034428-bug-10\" aria-label=\"Heading link\"></a><a class=\"hashtag-cooked\" href=\"/tag/bug/1056\" data-type=\"tag\" data-slug=\"bug\" data-id=\"1056\" data-style-type=\"icon\" data-icon=\"tag\"><span class=\"hashtag-icon-placeholder\"><svg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"><use href=\"#square-full\"></use></svg></span><span>bug</span></a></h3>\n<ul>\n<li>\n<p><strong>Regression: check_username rate limit can block normal signup flow</strong> — <a class=\"mention\" href=\"/u/hbp\">HBP</a> wrote a detailed reproduction showing that the new 10-requests-per-minute rate limit on <code>/u/check_username.json</code> can block legitimate signups. <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> acknowledged the report and said a fix is in the works. <a href=\"https://meta.discourse.org/t/-/411646/1?silent=true\">read more</a></p>\n</li>\n<li>\n<p><strong>Editing event end date → post event date on topic title not updated</strong> — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> opened PR <span class=\"hashtag-raw\">#43285</span> to fix the event title not updating after editing event start/end times, and shared a detailed screen recording of manual tests against the PR. <a href=\"https://meta.discourse.org/t/-/387466/4?silent=true\">read more</a></p>\n</li>\n</ul>\n<h3><a name=\"p-2034428-plugin-11\" class=\"anchor\" href=\"#p-2034428-plugin-11\" aria-label=\"Heading link\"></a><span class=\"hashtag-raw\">#Plugin</span></h3>\n<ul>\n<li><strong>ProxyTracer: VPN &amp; Proxy Blocker</strong> — <a class=\"mention\" href=\"/u/proxytracer\">ProxyTracer</a> released a new beta with optional blocking vs. CAPTCHA challenges for suspicious connections, support for Cloudflare Turnstile and hCaptcha, and 30-day visual analytics of detected proxy/VPN traffic. <a href=\"https://meta.discourse.org/t/-/399958/23?silent=true\">read more</a></li>\n</ul>\n<h2><a name=\"p-2034428-activity-by-the-a-classmention-hrefuteamteama-group-12\" class=\"anchor\" href=\"#p-2034428-activity-by-the-a-classmention-hrefuteamteama-group-12\" aria-label=\"Heading link\"></a>Activity by the <a class=\"mention\" href=\"/u/team\">Team</a> Group</h2>\n<ul>\n<li><a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> responded to the <strong>check_username signup regression</strong>, thanking <a class=\"mention\" href=\"/u/hbp\">HBP</a> for the detailed report and confirming a fix is in the works. <a href=\"https://meta.discourse.org/t/-/411646/4?silent=true\">read more</a></li>\n<li><a class=\"mention\" href=\"/u/nat\">Nat</a> contributed to the <strong>search permissions feature request</strong> by proposing the <code>allow_anonymous_search</code> PR, and also helped diagnose a <strong>blank Ask AI response</strong> by pointing to timeout issues. <a href=\"https://meta.discourse.org/t/-/256772/12?silent=true\">read more</a> · <a href=\"https://meta.discourse.org/t/-/411572/3?silent=true\">read more</a></li>\n<li><a class=\"mention\" href=\"/u/martin\">Martin</a> confirmed in <strong>Discourse Events</strong> that the recurring “fourth Thursday” issue should be fixed by PR <span class=\"hashtag-raw\">#42852</span>, and also noted that hashtag hover cards are working in the <strong>subcategory links</strong> discussion. <a href=\"https://meta.discourse.org/t/-/97376/629?silent=true\">read more</a> · <a href=\"https://meta.discourse.org/t/-/397217/20?silent=true\">read more</a></li>\n<li><a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> clarified in <strong>Introducing Upcoming Changes</strong> that the legacy admin dashboard will be removed completely once the new dashboard becomes permanent. <a href=\"https://meta.discourse.org/t/-/392894/52?silent=true\">read more</a></li>\n</ul>\n<hr>\n<p>From fighting spam bots and rate-limit gremlins to wrestling event calendars and voice rooms, it was another gloriously productive day in the life of Meta — see you all in the threads! <img src=\"https://emoji.discourse-cdn.com/twitter/tada.png?v=15\" title=\":tada:\" class=\"emoji\" alt=\":tada:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":940,"post_type":1,"posts_count":714,"updated_at":"2026-09-05T13:00:58.443Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":3,"readers_count":2,"score":0.6,"yours":false,"topic_id":291852,"topic_slug":"daily-summary-1pm-utc","topic_title":"일일 요약 (UTC 오후 1시)","topic_html_title":"일일 요약 (UTC 오후 1시)","category_id":157,"display_username":"system","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"# Today on meta.discourse.org...\n\n## Key Stats\n\nIn the last 24 hours, **94 posts** and **31 topics** were active across Meta, with **71 likes** recorded in the returned posts.\n\nTop users by likes and posts:\n\n- <a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> — **8 likes**, **3 posts**\n- <a class=\"mention\" href=\"/u/per1234\">Per1234</a> — **7 likes**, **2 posts**\n- <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> — **6 likes**, **3 posts**\n- <a class=\"mention\" href=\"/u/lilly\">Lilly</a> — **5 likes**, **9 posts**\n- <a class=\"mention\" href=\"/u/falco\">Falco</a> — **5 likes**, **1 post**\n- <a class=\"mention\" href=\"/u/nat\">Nat</a> — **4 likes**, **2 posts**\n- <a class=\"mention\" href=\"/u/jagster\">Jagster</a> — **3 likes**, **5 posts**\n- <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> — **3 likes**, **5 posts**\n- <a class=\"mention\" href=\"/u/emilio\">Emilio</a> — **3 likes**, **4 posts**\n- <a class=\"mention\" href=\"/u/hbp\">HBP</a> — **3 likes**, **1 post**\n\n## Interesting Topics\n\n### #Support\n\n- **Fresh Install (Hetzner VPS) Failing** — <a class=\"mention\" href=\"/u/apidevlab\">Apidevlab</a> reported repeated bootstrap failures while installing Discourse on Hetzner, despite plenty of RAM and swap. <a class=\"mention\" href=\"/u/jagster\">Jagster</a> and <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> both urged posting the *entire* log rather than just the tail error, and <a class=\"mention\" href=\"/u/lilly\">Lilly</a> noted that Podman-based installs are unsupported, making debugging harder. [read more](https://meta.discourse.org/t/-/411664/1?silent=true)\n\n- **Odd spam user attack** — <a class=\"mention\" href=\"/u/lordofbikes\">LordOfBikes</a> shared details of a surge in spam registrations, including patterns in names and single-letter subdomain emails, and started blocking cloud provider networks. <a class=\"mention\" href=\"/u/one1\">One1</a> said hCaptcha has eliminated the spam for them, while <a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> added a mandatory user field to make fake applications easier to reject. <a class=\"mention\" href=\"/u/moin\">Moin</a> also asked about the `moderators_view_ips` and `moderators_view_emails` settings. [read more](https://meta.discourse.org/t/-/404427/16?silent=true)\n\n- **Exposing LiveKit status** — <a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> explained how they built a companion app and workaround to expose Discourse Voice/LiveKit status for their custom client, referencing an ongoing discussion about how the LiveKit integration should evolve. [read more](https://meta.discourse.org/t/-/411428/13?silent=true)\n\n### #General\n\n- **A Social Mobile & Desktop Client for Communities** — <a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> showcased new native Discourse Voice support in their Mesh client, with separate UX for web-only voice and LiveKit, plus a reworked companion app that allows live streaming while using Discourse Voice in a “watercooler” conversation. [read more](https://meta.discourse.org/t/-/408132/30?silent=true)\n\n### #Community Building\n\n- **Show us your Workflows** — <a class=\"mention\" href=\"/u/per1234\">Per1234</a> shared a **Discourse Update Notifier** workflow that automatically posts about new Discourse versions on a forum, helping technically minded communities stay informed about changes introduced by updates. [read more](https://meta.discourse.org/t/-/410589/13?silent=true)\n\n### #Feature\n\n- **Granular permissions for cameras and screen sharing** — <a class=\"mention\" href=\"/u/falco\">Falco</a> announced a ready-made PR for granular permissions in Discourse Voice, promising more control over camera and screen-sharing access. [read more](https://meta.discourse.org/t/-/411477/4?silent=true)\n\n- **Option to enable search for logged in users only** — <a class=\"mention\" href=\"/u/nat\">Nat</a> proposed a new `allow_anonymous_search` site setting and opened a PR, with <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> agreeing that the approach is a solid first step even if the UI could later show a login prompt instead of hiding search. [read more](https://meta.discourse.org/t/-/256772/12?silent=true)\n\n### #Announcements\n\n- **Voice: Discord-style voice and video rooms** — Community excitement continues about bundled Discourse Voice. <a class=\"mention\" href=\"/u/jagster\">Jagster</a> asked whether admins can delete rooms, and <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> confirmed admins can also rename rooms and limit them to specific groups. [read more](https://meta.discourse.org/t/-/411337/22?silent=true)\n\n- **New Calendar Feature: End Date for Recurring Events** — <a class=\"mention\" href=\"/u/miniforum\">MiniForum</a> couldn’t find the end-date option and <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> clarified the difference between `Insert date / time` and `Create event`, going on to suggest a Power Automate/API workaround for school calendars and linking an existing feature request for recurring date-range entries. [read more](https://meta.discourse.org/t/-/368527/6?silent=true)\n\n- **Introducing Upcoming Changes** — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> asked whether opting out of the redesigned admin dashboard is the only way to keep the legacy dashboard, and <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> confirmed the old dashboard will go away entirely once the new one becomes permanent. [read more](https://meta.discourse.org/t/-/392894/50?silent=true)\n\n### #Self-hosting\n\n- **How to fix the blank Ask AI response** — <a class=\"mention\" href=\"/u/karthik_k1\">Karthik_K1</a> reported Ask AI logs showing correct responses but nothing displayed, especially on desktop. <a class=\"mention\" href=\"/u/nat\">Nat</a> suggested the request was timing out due to a slow model response, since Ask AI has a 20-second deadline. [read more](https://meta.discourse.org/t/-/411572/3?silent=true)\n\n- **Solving Gemini API key errors** — <a class=\"mention\" href=\"/u/karthik_k1\">Karthik_K1</a> worked through connecting Google Vertex AI to Discourse, with <a class=\"mention\" href=\"/u/lilly\">Lilly</a> explaining her working Gemini API setup and <a class=\"mention\" href=\"/u/satonotdead\">Satonotdead</a> recommending a LiteLLM proxy as a lower-latency workaround. [read more](https://meta.discourse.org/t/-/411545/2?silent=true)\n\n### #Bug\n\n- **Regression: check_username rate limit can block normal signup flow** — <a class=\"mention\" href=\"/u/hbp\">HBP</a> wrote a detailed reproduction showing that the new 10-requests-per-minute rate limit on `/u/check_username.json` can block legitimate signups. <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> acknowledged the report and said a fix is in the works. [read more](https://meta.discourse.org/t/-/411646/1?silent=true)\n\n- **Editing event end date → post event date on topic title not updated** — <a class=\"mention\" href=\"/u/ethsim2\">Ethsim2</a> opened PR #43285 to fix the event title not updating after editing event start/end times, and shared a detailed screen recording of manual tests against the PR. [read more](https://meta.discourse.org/t/-/387466/4?silent=true)\n\n### #Plugin\n\n- **ProxyTracer: VPN & Proxy Blocker** — <a class=\"mention\" href=\"/u/proxytracer\">ProxyTracer</a> released a new beta with optional blocking vs. CAPTCHA challenges for suspicious connections, support for Cloudflare Turnstile and hCaptcha, and 30-day visual analytics of detected proxy/VPN traffic. [read more](https://meta.discourse.org/t/-/399958/23?silent=true)\n\n## Activity by the <a class=\"mention\" href=\"/u/team\">Team</a> Group\n\n- <a class=\"mention\" href=\"/u/southpaw\">Southpaw</a> responded to the **check_username signup regression**, thanking <a class=\"mention\" href=\"/u/hbp\">HBP</a> for the detailed report and confirming a fix is in the works. [read more](https://meta.discourse.org/t/-/411646/4?silent=true)\n- <a class=\"mention\" href=\"/u/nat\">Nat</a> contributed to the **search permissions feature request** by proposing the `allow_anonymous_search` PR, and also helped diagnose a **blank Ask AI response** by pointing to timeout issues. [read more](https://meta.discourse.org/t/-/256772/12?silent=true) · [read more](https://meta.discourse.org/t/-/411572/3?silent=true)\n- <a class=\"mention\" href=\"/u/martin\">Martin</a> confirmed in **Discourse Events** that the recurring “fourth Thursday” issue should be fixed by PR #42852, and also noted that hashtag hover cards are working in the **subcategory links** discussion. [read more](https://meta.discourse.org/t/-/97376/629?silent=true) · [read more](https://meta.discourse.org/t/-/397217/20?silent=true)\n- <a class=\"mention\" href=\"/u/mcwumbly\">Mcwumbly</a> clarified in **Introducing Upcoming Changes** that the legacy admin dashboard will be removed completely once the new dashboard becomes permanent. [read more](https://meta.discourse.org/t/-/392894/52?silent=true)\n\n---\n\nFrom fighting spam bots and rate-limit gremlins to wrestling event calendars and voice rooms, it was another gloriously productive day in the life of Meta — see you all in the threads! 🎉","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":-1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a name=\"p-2034428-today-on-metadiscourseorg-1\" class=\"anchor\" href=\"#p-2034428-today-on-metadiscourseorg-1\" aria-label=\"Heading link\"></a>Today on <a href=\"http://meta.discourse.org\">meta.discourse.org</a>…\n<a name=\"p-2034428-key-stats-2\" class=\"anchor\" href=\"#p-2034428-key-stats-2\" aria-label=\"Heading link\"></a>Key Stats\nIn the last 24 hours, 94 posts and 31 topics were active across Meta, with 71 likes recorded in the returned posts. \nTop users by likes and posts: \n\n<a class=\"mention\" href=\"/u/nicolsdennis\">Nicolsdennis</a> — 8 likes, 3 posts\n<a class=\"mention\" href=\"/u/per1234\">Per1234</a> — 7 likes, 2 posts\n<a class=\"mention\" href=\"/u/ed_s\">Ed_S</a> — 6 likes, 3 posts\n<a class=\"mention\" href=\"/u/lilly\">Lilly</a> — 5 likes, 9 posts\n<a class=\"mention\" href=\"/u/falco\">Falc&hellip;</a>","truncated":true,"post_url":"/t/daily-summary-1pm-utc/291852/940","locale":null,"is_localized":false,"customer_flair_customer":null,"event":null,"reactions":[],"current_user_reaction":null,"reaction_users_count":0,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null}]}