Discourse 2.4.0.beta8 릴리스 노트

2.4.0.beta8의 새로운 기능

태그 동의어 (Tag Synonyms)

Discourse는 이제 태그 동의어 및 태그 병합을 지원합니다. 유사한 태그, 일반적인 태그 오타, 속어 등을 하나의 태그로 통합할 수 있습니다. 또한, 동의어로 설정하려는 태그가 이미 존재하는 경우, 모든 주제가 주 태그로 다시 태그링되며 태그가 자동으로 병합됩니다.

테마 관리 개선

최근 몇 번의 Discourse 릴리스 동안 Discourse 테마 시스템은 크게 발전했습니다. 테마 컴포넌트가 도입되어 사이트 디자이너가 단일 디자인이나 기능을 사용자 인터페이스를 통해 기존 테마에 쉽게 추가할 수 있게 되었습니다. 사이트가 성장하고 더 많은 테마와 컴포넌트가 생성되면, 모든 테마에 모든 컴포넌트를 포함하는 것을 기억하기가 어려워지고, 기억하더라도 시간이 많이 소요됩니다.

사이트 디자이너는 이제 테마 컴포넌트 페이지를 벗어나지 않고도 테마에 컴포넌트를 쉽게 추가할 수 있으며, 모든 활성 테마에 컴포넌트를 빠르게 추가할 수도 있습니다. 디자이너는 각 컴포넌트를 개별적으로 선택할 필요 없이 모든 활성 컴포넌트를 단일 테마에 쉽게 추가할 수도 있습니다.

모든 추가 기능이 활성 상태인 테마/컴포넌트만 추가한다는 점에 유의하세요. 다른 테마/컴포넌트에서 사용되지 않는 테마 또는 컴포넌트는 '모두 추가’를 통해 추가되지 않습니다. 이러한 테마/컴포넌트는 최소한 한 번은 개별적으로 추가해야 합니다.

투표(Poll) 개선

Discourse 투표에 두 가지 새로운 기능이 추가되었습니다. 이전에는 투표 결과가 막대 그래프로 표시되었습니다. 이제 투표 생성자는 원형 차트 표시도 선택할 수 있습니다. 원형 차트 표시에서는 누가 투표했는지(공개 투표)를 표시할 수 없다는 점에 유의하세요.

관리자는 이제 게시글에서 바로 투표(막대 및 원형)를 빠르게 내보낼 수 있습니다. 내보내면 관리자는 완전한 투표 결과가 포함된 CSV를 받게 되며, 필요에 따라 추가 분석을 수행할 수 있습니다. 이 기능이 작동하려면 Data Explorer 플러그인이 설치되고 활성화되어 있어야 한다는 점에 유의하세요.

suppress from latest 카테고리 설정 제거

suppress from latest는 사이트 관리자가 /latest, /categories 또는 기타 기본 홈페이지에서 특정 카테고리의 주제를 제거할 수 있게 해주었습니다. 그러나 이 기능은 사용자가 홈페이지 설정을 변경할 때 관리자와 사용자 모두에게 혼란을 야기했습니다. 또한 홈페이지에서만 숨기는 것이 아니라 카테고리를 더 철저히 숨기라는 요청도 받았습니다. 또한 이는 사이트 전체 설정이었기 때문에 홈페이지에 카테고리를 보고 싶었던 사용자는 이를 선택할 옵션이 없었습니다.

suppress_from_latest로 설정된 모든 카테고리는 모든 사용자에게 자동으로 음소거(muted) 상태로 설정됩니다. 사용자는 홈페이지 및 Discourse 내 다른 뷰에서 카테고리를 보고 싶다면 음소거 해제할 수 있습니다. 또한, 많은 수의 카테고리를 가진 사이트에서 사용자가 기본적으로 볼 필요가 없는 대부분의 카테고리를 처리하기 위해 모든 카테고리를 기본적으로 음소거라는 새로운 사이트 설정이 추가되었습니다. 모든 카테고리를 기본적으로 음소거가 활성화되면, 관리자는 default_categories_tracking 및 default_categories_watching 설정에서 카테고리를 구성하여 음소거를 해제하고, 새 사용자가 사이트에 가입할 때 무언가를 볼 수 있도록 해야 합니다.

신뢰 수준 2(TL2) 개인 메시지

TL2에 도달한 사용자는 승진을 축하하고 고급 사용자 튜토리얼을 시작하도록 장려하는 자동 개인 메시지를 받게 됩니다. Discourse의 모든 텍스트와 마찬가지로, 이 개인 메시지는 필요에 따라 관리자가 사용자 정의할 수 있습니다.

더 많은 것들!

하지만 기다려보세요, 더 있습니다! 우리는 새로운 기능과 변경 사항을 강조하기 위해 최선을 다하고 있지만, 자세히 설명할 변경 사항이 항상 너무 많습니다. 아래에 몇 가지 새로운 기능을 더 강조했지만, 새로운 기능, 버그 수정, UX 개선 등의 전체 목록을 확인하려면 아래에 나열된 추가 기능 및 수정 사항을 꼭 검토해 보세요.

  • 개인 메시지에 사용자 이름 목록 붙여넣기 지원
  • 의심스러운 사용자 발견 기능 개선
  • 그룹 가입 요청 알림 통합
  • 사용자의 활성 세션 수 제한
  • DMARC 판정 기반 수신 이메일에서 게시글 숨기기
  • 이메일 변경 워크플로우 개선
  • 날짜 범위별로 검토 가능 항목 필터링
  • 카테고리별 새로 알림 무시
  • 인증기가 하나만 있는 경우 인증기로 자동 리다이렉트
  • 게시글에 태그가 추가되면 태그 관찰자에게 알림
37개의 좋아요

플러그인 개선 사항

Akismet

  • 사용자별 Akismet 상태 추적
  • 버그 수정

Encrypt

  • 버그 수정

Assign

  • 다른 사용자가 할당했을 때만 이메일을 보내도록 지원 (자체 할당 이메일 없음)
  • 할당된 사용자 기준으로 리뷰 대기열 필터링 지원
  • 버그 수정

BCC

초기 릴리스. 참고:

Math

  • KaTeX 렌더링을 v0.11.1로 업데이트

Translator

  • Microsoft 번역기를 통한 베트남어 지원 추가

Solved

  • 버그 수정

Chat integration

  • 버그 수정

Voting

  • 버그 수정

Tooltips

  • 버그 수정

Yearly Review

  • 기타 개선 사항

SAML

  • SAML 속성을 통한 модератор, 신뢰 수준, 그룹 동기화 지원
  • 프레임 너비/높이, 버튼 제목 등 추가 SAML 구성 지원

Onebox

  • 버그 수정

Calendar

  • 플러그인 사용자 옵션 대신 새로운 코어 타임존 사용자 옵션 사용.

Data Explorer

  • 새로운 코어 투표 내보내기 기능을 지원하기 위해 투표 결과 쿼리 추가
  • 버그 수정

Patreon

  • 버그 수정

Group Tracker

  • 버그 수정

Code Review

  • 다음 리뷰 대기 주제 표시 시 최신 주제를 우선 처리
  • 버그 수정

Policy

  • 버그 수정

RSS Polling

  • 버그 수정

추가 기능 및 수정 사항

클릭하여 확장

새로운 기능

  • 웹 훅 게시 직렬화기에 topic_filtered_posts_count 속성 추가.
  • CSP에서 unsafe-eval을 허용하는 숨겨진 설정 추가
  • 새 주제 버튼 옆 플러그인 아울렛
  • 사이트 텍스트 컨트롤러가 페이지와 로케일을 처리하도록 변경
  • 코어 user_options에 타임존 추가
  • 리뷰 대기열에 사용자 정의 필터를 적용하는 새 API
  • webauthn에 RS256 알고리즘 지원
  • 서비스 워커 라우트 정규화
  • 기본적으로 screaming frog SEO 스파이더 차단
  • IP 기반 기본 애플리케이션 수준 속도 제한 도입
  • 태그로 검색 범위 지정 허용
  • FinalDestination이 특정 호스트에 대해 사용자 정의 사용자 에이전트를 사용하도록 허용

버그 수정

  • html에서 markdown 변환 시 ruby 및 rt 태그 유지.
  • 라이트박스에서 업로드 URL 보안 처리
  • BufferedValuesString.split is not a function 오류 수정
  • LockOn에서 여러 번 점프하는 것 방지
  • S3로 마이그레이션 시 nil 업로드 레코드 허용
  • lockon으로 스크롤하기 전에 요소가 페이지에 있는지 확인
  • 다음 페이지를 결정할 때 필터링된 게시물 사용
  • 모든 테마에 구성요소 추가, 활성인 것만 포함
  • select 구성요소/테마를 상단으로 이동
  • defaultIsAvailable 개선
  • filter(Boolean) 추가 및 btn 클래스 제거
  • 유일한 슬러그가 있을 때의 inbound link 처리
  • 카테고리 슬러그가 숫자만 구성되지 않도록 방지
  • 제목에서 enable_inline_emoji_translation 설정 준수
  • 이모지 피커로 삽입할 때 앞쪽 공백 추가
  • Linting
  • 게시물이 속삭임일 때 읽은 사람의 아바타를 올바르게 필터링
  • 올바른 메서드 호출
  • 리뷰 대기열에서 답글을 올바르게 지연시키기 위해 순서 보장
  • 배지 그룹핑 누락으로 인한 500 오류 수정
  • 결과가 그룹화될 때 파이 차트 범례 숨김
  • 투표 파이 컨테이너가 너무 크던 문제 수정
  • 코드 블록에서 카테고리 또는 이모지 자동 완성 비활성화
  • 하위 디렉토리를 사용할 때 리다이렉트 URL을 올바르게 생성
  • 세 가지 레벨에서 none path를 올바르게 처리
  • 검열이 처리할 최소한 빈 문자열이 항상 있는지 확인
  • 레이스 조건을 방지하기 위해 ‘send_advanced_tutorial_message’ 작업 지연
  • 인용된 이미지 최적화
  • developers 테이블에 고유 인덱스 추가
  • 오타 수정
  • 정지 상태가 최신인지 확인
  • quick-access-item에 data-topic-id 추가
  • 코드 리뷰 후 개선 사항
  • 코드 리뷰 후 개선 사항2
  • mapBy와 filterBy를 직접 사용
  • G Suite 사용자를 위해 Google Groups 스크래퍼 작동하도록 수정
  • 실패한 onebox URL 요청을 서버 측에서 캐싱
  • 테마 구성 요소에 사용된 경우 보안 미디어 업로드를 자동으로 비보안으로 표시
  • Google PageSpeed에 크롤러 뷰 서빙
  • 플래그된 게시물을 처리할 때 답글을 올바르게 무시/승인
  • SSO/인증기에서 로그아웃할 때 로그인 플로우 시작하지 않음
  • 모든 비디오 유형에 대해 전용 Vimeo onebox 사용
  • Oneboxes에서 지연 로드된 이미지를 올바르게 리사이즈
  • vimeo.com의 호스트명 수정
  • Vimeo 링크에 대해 finaldestination 체크 우회.
  • bumped_at을 재설정할 때 주제를 검증하지 않음
  • 초대 발송 날짜에 updated_at 표시.
  • 새 주제에 답글을 쓸 때 초안이 지워지지 않는 문제 수정
  • Oneboxer.js가 실패한 요청을 무한정 재시도하는 문제 수정
  • DST가 올바르게 계산되도록 보장하여 반복 설정 개선
  • dif에서 현재 값이 비어 있을 때 오류 발생하지 않도록 수정
  • 빌드; prettier 실행
  • 카테고리 목록을 수신할 때 사이트 데이터 업데이트
  • 필요할 때만 업로드 ACL 업데이트 트리거
  • 인용된 이미지를 올바르게 표시.
  • markdown 문자를 교체할 때 더 전술적으로 접근
  • 업로드의 markdown 파일명에서 %20을 공백으로 대체
  • 카테고리를 무시할 때 MessageBus를 통해 알림
  • 예외 및 더 많은 중복 방지
  • 미리보기에서 타임존이 중복된 존을 표시하지 않도록 방지
  • 메서드 이름 오류 수정
  • 보안 미디어에 대해 항상 secure_proxy_without_cdn url 반환
  • discourse 로더에서 불필요한 부분 제거
  • require 별칭 작동하도록 수정
  • login_required 사이트에서 개인 미디어 업로드 재사용 허용
  • linting 체크를 수정하기 위해 this.get(“foo”)를 this.foo로 대체
  • a8d58c3b 후속 조치
  • discourse local-dates에서 독일어 인용부호 처리
  • 마침표와 카테고리 또는 태그가 있는 모바일 상단 주제 목록
  • 앱에 잘못된 mime 타입이 전달되면 로그를 기록하지 않음
  • EventTarget 오류
  • narrative bot 플러그인에서 한 곳에서 더 skip_validations 추가
  • 제목 이모지가 비활성화되어いても 고급 튜토리얼 허용
  • 테마 내보내기에 올바른 MIME 타입 사용
  • censored_words_regexp가 nil인 경우 CensoredWordsValidator를 조기에 중단
  • Amazon 비디오 onebox가 작동하지 않던 문제 수정.
  • 전역 s3 설정이 활성화되고 enable_s3_uploads 검증이 있는 경우 보안 업로드 허용
  • import되지 않았던 더 많은 Promise 사용 사례
  • 단일 인증기의 경우 등록 플로우를 중단하지 않음
  • 인용으로 시작하는 게시물의 이메일 발췌에 사용자 이름이 표시되던 문제 수정
  • 예약된 bumped가 있는 주제의 자동 bumping 비활성화
  • 병렬 스펙 시스템은 각 워커마다 전용 업로드 폴더가 필요합니다.
  • ‘default_categories_muted’ 사이트 설정이 익명 사용자에게 작동하지 않던 문제 수정.
  • category user에 충돌 행을 삽입하지 않도록 방지
  • 개발 환경에서 잘못된 sprockets 캐시에서 자동으로 복구
  • 카테고리에서 필수 태그 그룹을 제거할 수 없던 문제 수정
  • 이름에 콜론이 있는 태그를 사용할 때 오류 발생
  • load-more가 현재 위치를 고려하도록 보장
  • Group 모델 상태 처리 개선
  • Enter 키는 비밀번호 재설정 양식을 제출해야 하며 페이지를 새로고침하지 않아야 함
  • 사용자 메뉴의 PM 글리프는 항상 스태프에게 표시되어야 함
  • 날짜를 그렇게 자주 새로고침할 필요가 없음
  • 반복을 사용할 때 dst에 대해 올바르게 시도
  • pmOnly 태그는 메시지로 링크해야 함
  • 사용자가 없어도 CleanUpInactiveUserJob에서 오류가 발생하지 않도록 방지
  • 리비전이 스토어에 편집 이유를 저장하고 이유가 지워지지 않도록 보장
  • 플러그인과의 rake db:rollback 지원
  • 주제 요약에 5명의 참여자 포함
  • navigation-item에서 this.category 대신 this.content.category 사용
  • 백업 코드가 활성화된 상태에서 새 이메일 확인
  • 봇을 게시물 읽은 사람으로 표시하지 않음
  • 모바일에서 마지막 게시물로 점프하는 동작 되돌리기
  • SVG Sprite 버전 해시는 번들 결과를 기반으로 해야 함
  • 태그 주제 목록은 상단 메뉴를 빌드할 때 noSubcategories를 전달해야 함
  • Tracking Topic State가 category_seen_at을 인식하도록 변경
  • discourse-narrative-bot 플러그인에 open-uri require 필요
  • extra_js에 하위 디렉토리가 있는 테마 가져오기 허용
  • Utilities에 누락된 User 객체
  • 실패하는 테스트
  • 누락된 중괄호
  • Computed는 @ember/object/computed가 아니라 @ember/object의 일부입니다
  • customHref 없이 forceActive 허용
  • nil 문자열을 제거하지 않도록 방지
  • 최근 게시물 또는 API 키가 있는 관리자 계정을 비활성화하지 않도록 방지
  • 게시물 이동 후 인용부호 업데이트
  • 태그와 지정된 필터로 필터링된 주제 목록이 작동하지 않던 문제 수정
  • 태그 및 카테고리 워처 회귀 문제 수정
  • 잘못된 로케일 번들 버전에 대한 더 나은 오류 처리
  • @ember/object가 아직 로드되지 않은 경우
  • 사용자 검색에서 일부 이메일을 건너뛰지 않도록 방지
  • 그룹 바이오 발췌에 이모지 이미지 유지
  • 더 많은 누락된 RSVP import
  • RSVP 대신 네이티브 브라우저 Promise를 사용하던 문제 수정
  • 알림 수준을 가져오기 위해 올바른 클래스 변수 사용.
  • 알림 수준에서 마법 숫자 제거.
  • 최근 변경 사항에 맞게 api_key rake 작업 업데이트
  • Discourse.Session에 대한 비추천(deprecation) 반환
  • 테마가 사용하는 경우를 대비해 Discourse.NavItem에 비추천 추가
  • 빌드를 수정하기 위해 prettier 실행
  • require되고 AND import된 모듈에 대한 별칭
  • 6개월 전에 시작되었다면 현재 벌점 계산
  • 데이터를 가져오기 위해 ember 모델을 사용하는 대신 ‘about.json’ 엔드포인트 사용.
  • 배지와 사용자 제목 상호작용 수정
  • 스태프에 대한 2FA 강제 적용이 보안 키로 충족되는지 보장
  • 초안은 draft_key와 user_id에 의해 고유합니다
  • API 키 상세 UI에서 마지막으로 사용한 날짜의 올바른 표시
  • 빌드를 수정하기 위해 Prettier 실행
  • Discourse 이메일과 대조하기 전에 SSO 외부 이메일 소문자 변환
  • 개발 환경에 onebox 기본 옵션 포함
  • 주제 타임라인의 내부 위치는 스크롤 위치입니다
  • 모바일 타임라인에서 발췌가 표시되지 않는 회귀 문제
  • 날짜 형식에서 월 이름의 긴 버전 사용
  • url을 위해 인코딩된 유니코드 그룹 이름
  • 비디오 onebox에 과도한 빈 패딩

UX 변경 사항

  • 초기 패널 로드 시 스크롤바 방지
  • 마법사 단계 여백 조정
  • 링크를 추가할 때 선택 영역의 앞쪽 공백 건너뛰기.
  • 제목이 동일하더라도 그룹 전체 이름 표시.
  • 터치 디바이스에서 호버 이미지 그림자 표시하지 않음
  • 백업 복원이 비활성화되어 있을 때 명확한 메시지 표시
  • 라이트박스된 이미지에 호버 효과 추가
  • 투표에서 'Hide results’를 'Show vote’으로 이름 변경
  • scale이 undefined인 경우 선택된 scale을 100%로 설정
  • 다크 테마에서 공유 아이콘 색상 일관성 유지
  • 긴 가입 양식 콘텐츠의 페이드를 증가시켜 스크롤이 더 분명하도록 변경
  • 더 명확한 대체 인증 링크
  • 관리자 패널에서 테스트 이메일 제출에 Enter 키 사용 허용
  • 총 사용자 수 대신 영향을 받을 사용자의 수만 표시.
  • PM 주제 목록에 +n 지표 추가
  • content_security_policy_script_src 설정에 CSP 문서 링크 추가
  • Firefox에서 API 키를 복사할 때 앞/뒤 공백을 추가하지 않도록 방지

성능

  • 게시물 변환 시 쿼리 횟수 감소.
  • NGINX에서 정적 자산 캐싱 시간 증가
23개의 좋아요