2.8.0.beta7: 보안 업데이트, 빠른 편집, 토픽 북마크 등

2.8.0.beta7의 새로운 기능

:warning: 보안 수정

이 베타 버전에는 중요한 보안 수정 사항이 포함되어 있습니다. 모든 사이트는 가능한 한 빨리 업데이트하는 것이 권장됩니다. 이 수정 사항은 악성 SNS 구독 페이로드를 통한 RCE(원격 코드 실행)를 방지합니다.

빠른 편집 (Fast Edits)

게시물을 제출한 후에 작은 수정이 필요하다는 사실을 깨달은 적이 있나요? 빠른 편집 기능을 사용하면 이전보다 더 빠르고 쉽게 이를 수행할 수 있습니다. 전체 작성기를 열 필요 없이 수정할 단어를 강조 표시하고, 편집을 클릭한 후 해당 위치에서 바로 수정을 수행할 수 있습니다.

여러분과 사용자분들이 이 기능을 사용해 보시면서, meta.discourse.org의 Contribute > Feature 카테고리에서 여러분의 제안을 들려주시길 바랍니다. 버그를 발견하셨나요? #contribute:bug에서 알려주세요.

참고로, 빠른 편집은 복잡한 게시물 내용을 처리할 수 없습니다. 예를 들어 표의 여러 셀을 편집하는 경우 등이 해당됩니다. 빠른 편집이 작동할 수 없는 경우, 전체 작성기가 자동으로 열립니다.

주제 북마크 (Topic Bookmarks)

이제는 개별 게시물뿐만 아니라 주제도 북마크할 수 있습니다. 주제가 북마크되면, 해당 북마크를 팔로우하는 사용자는 자동으로 마지막 읽지 않은 위치로 이동합니다. 다른 게시물 북마크가 없을 경우, 푸터를 통해 주제 북마크를 생성할 수 있습니다.

“빈 페이지 증후군” 개선

신규 사용자와 게시물, 좋아요, 알림 등이 없는 사용자는 Discourse 내에서 빈 페이지에 도달하는 경우가 많습니다. 빈 페이지를 표시하는 대신, Discourse는 사용자가 최종적으로 표시될 내용을 배울 수 있도록 적시에 정보를 표시합니다. 이러한 콘텐츠는 활동/주제 페이지, 활동/읽음 페이지, 사용자 메시지 페이지 및 그룹 메시지 페이지에 추가되었습니다.

이중 인증을 통한 관리자 승인

관리자 액세스 권한을 부여할 때, 기존 관리자가 이중 인증을 활성화해 두었다면 액세스 부여를 승인하기 위해 인증 코드 입력(또는 보안 키 사용)을 prompted 받습니다. 이중 인증이 활성화되어 있지 않은 경우, 확인 이메일이 전송됩니다.

삭제된 소행동 게시물 복구 허용

주제를 닫고 생성된 작은 게시물을 삭제했다가, 나중에 그 게시물이 필요하다는 사실을 깨달은 적이 있나요? 그래서 다시 돌아가 주제를 열고 다시 닫아 작은 게시물을 복원해야 했나요? 이제 더 이상 그럴 필요가 없습니다! 작은 게시물도 일반 게시물처럼 복원할 수 있습니다.

주제 카테고리 편집에 대한 알림 비활성화 사이트 설정

새로운 사이트 설정인 disable category edit notifications를 통해 관리자가 модератор가 사용자의 게시물을 다른 카테고리로 이동할 때 사용자에게 알림을 보낼지 여부를 제어할 수 있습니다.

단일 선택 투표에서 사용자 투표 제거 허용

이전에는 사용자가 단일 선택 투표에서 선택을 하면 투표만 변경할 수 있었고, 제거는 불가능했습니다. 이제 사용자는 투표 제거 버튼을 사용하거나 동일한 옵션을 다시 선택하여 투표를 제거할 수 있습니다.

신규 사이트에서 자동 다크 모드 기본 활성화

Discourse는 오랫동안 다크 테마를 포함한 여러 테마를 제공해 왔습니다. 이제 신규 사이트는 기본적으로 라이트 및 다크 테마 모두를 활성화하며, 사용자의 기기 설정에 따라 자동으로 전환됩니다.

게시물 및 주제의 영구 삭제

기본적으로 Discourse는 소프트 삭제를 사용하여 필요할 때 사이트 스태프가 게시물과 주제를 복구할 수 있습니다. 법적 문제 등으로 게시물이나 주제를 완전히 삭제해야 하는 경우가 있을 수 있습니다(데이터베이스에서 완전히 제거). 이를 지원하기 위해 can permanently delete라는 새로운 사이트 설정이 추가되었습니다. 이 설정은 관리자 대시보드 UI 또는 SSH 액세스를 통해 관리자가 접근할 수 있습니다. 활성화되면, 관리자는 게시물을 영구적으로 삭제할 수 있습니다. 게시물이 삭제된 후 최소 1분을 기다린 후에야 관리자가 이를 영구적으로 삭제할 수 있습니다. 초기 삭제가 다른 관리자によって 수행된 경우, 기다릴 필요 없이 게시물을 영구적으로 삭제할 수 있습니다. модератор는 게시물을 영구적으로 삭제할 권한이 없습니다.

접근성

  • 제목과 동일한 aria 라벨 출력 방지
  • 햄버거 메뉴에 더 짧은 라벨 사용
  • 여러 사소한 문제 수정
  • 일부 검색 필드, 카테고리 알림 선택기에 라벨 추가
  • 일부 드롭다운에 더 설명적인 라벨 추가
  • 드롭다운에 listbox 역할 사용
  • aria-label에 라벨을 기본값으로 사용하지 않음
  • 스크린 리더를 위한 계정 생성 모달 개선

추가 기능

이 베타 버전에는 자세히 설명할 수 없을 정도로 많은 새로운 기능이 포함되어 있습니다. 아래에는 주목할 만한 일부 추가 기능이 나열되어 있습니다. 새로운 기능의 전체 목록은 다음 게시물에서 확인할 수 있습니다.

  • 일반 사용자에게 사이트 전체 검색에서 정지된 사용자 숨김
  • 사용자가 미확인(unseen)을 기본 보기로 선택하도록 허용
  • DM의 더 많은 메시지 보기에서 신규/읽지 않은 수 표시
  • 게임 콘솔을 지원되지 않는 브라우저에 추가
  • 사용자 활동에서 초안 발췌문 렌더링
  • 전체 페이지 검색에서 사용자/카테고리/태그 결과 표시
  • 파일 크기 오류 메시지的人性化
  • 인용문(q) 및 빠른 편집(e) 단축키 추가
  • 단일 로그인(SSO)에서 사용자 이름 및 이름 제안의 소스로 이메일 사용 중단
  • 사용자 이름 제안의 소스로 이메일 사용을 활성화하는 숨겨진 설정 추가
35개의 좋아요

Even more!

But wait, there’s more! We do our best to highlight new features and changes for you, but there’s always too many changes to detail. For a full list of new features, bug fixes, UX improvements, and more, be sure to review the Additional Features and Fixes listed below.

Plugin improvements

Many plugins

  • Bug fix
    • We’ve patched numerous bugs in many of our plugins
  • Translations
    • We’ve updated the translations in many of our plugins

Assign

New Features

  • Assignment target is polymorphic
  • Better UI for group assignments
  • Advance search groups
  • New assignable group option instead of messageable

Bug Fixes

  • More accurate and flexible random assign automation
  • Assignment table migration when SKIP_POST_DEPLOYMENT_MIGRATIONS
  • N+1 query on list of private messages assigned
  • Refresh first post after assign and unassign
  • Tests were broken on Ember CLI
  • Properly fabricate data for topic query specs.
  • Allow Never selection for frequency of assigned topic reminders
  • N+1 assignment
  • Add assigned fields to suggested topic serializer
  • Unassign/assign when group pm is archived

UX Changes

  • Remove an obsolete css class from an element
  • Fix input styling in group assignments page
  • Fix input alignment following core changes

Voting

Performance

  • Exclude vote fields in topic-list-item serializer for PMs.

Staff Notes

UX Changes

  • Fix alignment of user profile buttons

Chart

Bug Fixes

  • Fixes regressions due to ember-cli and chartjs updates
  • Add pluginId to avoid deprecation

Akismet

New Features

  • Various improvements and refactoring

Bug Fixes

  • Show akismet state only if it exists
  • Don’t trigger a spam check when a post is edited by a staff member.

Calendar

New Features

  • Use default calendar to save events

Bug Fixes

  • Add Recurrence Translation for ‘every_two_weeks’
  • Remove unused RRuleGenerator param
  • Two week recurring events not working
  • Small region preferences select
  • Mobile style fix
  • Safely set one key/value of bulkInvites
  • Deprecation with pluginId

UX Changes

  • Fix date field overlap
  • Add tabs to filter between different types of RSVPed guests
  • Fix slider appearance
  • Fix overflow + wrap issues for long usernames

Data Explorer

New Features

Bug Fixes

  • Assign queries

UX Changes

  • Fix button alignment following core changes

Ssolved

New Features

  • Improve blank page syndrome
  • Enable solved for topics with specific tags.

Bug Fixes

  • Import test helpers properly
  • Typo in mixin and incorrect setting description

Performance

  • Use UserAction to count accepted answers

Encrypt

Bug Fixes

  • Change search to fully match the query
  • Raise error on huge file uploads
  • Improve search in encrypted posts
  • Improve search in encrypted topics
  • Use unique pluginId for modifyClass
  • Decrypt drafts in user stream
  • Unescape emoji in titles from PMs quick menu
  • Deprecation with pluginId

Performance

  • Preload encryption keys in topic lists

BCC

Bug Fixes

  • Use modifyClass API instead of calling reopen

Ad Plugin

Bug Fixes

  • Use imports instead of Discourse global

SAML

Bug Fixes

  • Pin the plugin in commit for old versions of Discourse.

Github

Bug Fixes

  • Check if badge can be used as a title

Code Review

Bug Fixes

  • Topic-list template should match core changes
  • Fix deprecation by adding pluginId

RSS Polling

New Features

  • Allow setting discourse tags for each feed

Subscriptions

Bug Fixes

  • Set interval field correctly in object root for recurring plans.

Policy

Bug Fixes

  • Deprecation with missing pluginId

Zoom

Bug Fixes

  • Post creation was broken when the category experts plugin is also installed
  • CSP issue, anonymous webinar visibility

Shared Edits

Bug Fixes

  • Improve localization and disabled state
  • Deprecations with modifyClass

Reactions

Bug Fixes

  • Bump version to 0.2
  • Deprecation on modifyClass for pluginId

Security Changes

  • Leaking PMs and secure categories topics

Saved Searches

Bug Fixes

  • We need to import visit or tests fail

OpenID Connect

New Features

  • Token endpoint client_secret_post authentication, and explicit claims

Bug Fixes

  • Only send claims parameter if it has been set
  • Correctly handle end_session_endpoint with query parameters

Category Experts

New Features

  • Job to mark historical posts as category expert posts

Bug Fixes

  • Skip post processing for non-regular posts
  • Don’t try to render buttons when no data
  • Switch post handling to DiscourseEvent
  • Skip posts that error in historical job
  • Fetch all groups for group-chooser in category settings

User Notes

UX Changes

  • Fix alignment of user profile buttons

Sign in with Apple

UX Changes

  • Minor copyedit for login button in mobile view.

Docs

New Features

  • Add filter + alpha & numeric sort to categories and tags in docs sidebar

Bug Fixes

  • Ignore category filter when incorrect param

UX Changes

  • Add in:docs quick tip in search widget

Canned Replies

Bug Fixes

  • isVisible conflicts with a deprecated ember property

Chat Integration

Bug Fixes

  • Update dashboard warning link to point to new chat-integration URL

Additional Features and Fixes

Click to expand

New Features

  • Change all core to use uppy-image-uploader
  • Add reversed and type to allowed attributes
  • Cache CORS preflight for MessageBus
  • Cache CORS preflight requests for 2h
  • Add downloadCalendar to plugin api
  • Adds an API to exclude a tag from a TopicQuery
  • Save local date to calendar
  • Return subcategories on categories endpoint
  • Make username suggester suggest user1, user2 etc. for input that contains invalid characters only
  • Add update banner to the categories and latest topics view
  • Local dates range on click
  • Remove duplicated messages about new advices
  • Make the multisite config path configurable
  • Publish read topic tracking events for private messages.
  • Allow plugins to extend Groups

Bug Fixes

  • Make the verbose_auth_token_logging setting off by default
  • Show search context only in topic routes
  • Broken quick search on iPadOS
  • Reset sso email and payload when user navigates away
  • None row doesn’t have a value, use class to target it
  • Topic timeline not updating in megatopics.
  • Do not query backend when searching “in this topic”
  • Remove ‘crawl_images’ site setting
  • Only replaces double quotes and uses unicode
  • Do not show recipient user in email participants list
  • Clarify None Needed option when editing bookmarks
  • Hide full screen toggle button when textarea is disabled
  • Category and tag picker alignment on mobile
  • Correct api version after minor bump
  • Improve quick search speed and result highlights
  • Allow staff to view pending/expired invites of other users
  • Also track textContent mutations
  • Decorate posts that are loaded after the initial render in post stream
  • Improvements for download local dates
  • Ensure embedded replies/reply-to links open in _blank
  • Groups using users icon were lacking margin in search
  • Attempts to observe preview mutation asap
  • Attempts to enforce caret position in filter
  • Use absolute URLs in search shortcut
  • BackupRestore::DatabaseRestorer failures with Ruby 3
  • Show group filter only when user is logged in and groups are present
  • Extract filter pm and categories from UserAction
  • Nil the baked version after moving the posts.
  • Use category’s default sort order in latest & unseen filters only.
  • Missing excerpt for post small actions in topic timeline.
  • Remove List-Post email header
  • Move check if user is suspended later
  • Update translation key to match flag reason.
  • Phpbb import - attachments not embedded in posts
  • Handle separately invite to topic and forum
  • Topic_tracking_state not erroring when missing user_stat
  • Ruby 3 does not freeze interpolated string
  • Fix local-dates in non-post contexts, and in long topics
  • Correct password change path for password managers
  • Resolve quoting issues by reverting new shortcuts
  • Disable previews if diffhtml is enabled
  • Apply quote selection workaround to all browsers
  • Selection going missing in Safari
  • JS error when showing topic search results
  • Strip discourse-logged-in header during force_anonymous!
  • Do not persist tags query param
  • Tooltip in quick search didn’t work
  • Check env for multisite config path even if config file exists
  • Disable Show results if nobody voted
  • Hide form after password reset
  • Parse address lists in embedded emails
  • Local date trim when no time available
  • Select all button on group assigned page
  • Reenable global setting HTML support.
  • Display embeddable host’s post to category.
  • Support Ruby 3 keyword arguments
  • Ember CLI was always loading the admin payload in dev mode
  • Vimeo private video oneboxes were broken
  • Use addresses to compare email header
  • Stop tracking incoming message after navigating away take 2.
  • Stop incoming message tracking after navigating away.
  • Make score’s reason link building more explicit
  • Empty state message on the user bookmarks page
  • Exclude PMs that user sent to themselves.
  • Topic.similar_to results in invalid query for certain locales.
  • Do not show ‘new or updated topics’ for mobile categories page
  • Follow the canonical URL when importing a remote topic.
  • Error loading suggested topics for anon users.
  • Notify incoming to categories and latest topics view specifically.
  • Restrict other user’s notification routes
  • Incorrect interpolation was limiting to 1 dispatch / component
  • Do not publish post for PM topic tracking if not new for user.
  • Support Ruby 3 keyword arguments for DiscourseRedis
  • Workaround Safari 15 createImageBitmap bug
  • Do not display userColorSchemeId in the UI
  • Make update banner always available on the categories view
  • More robust tabindex restriction on preview
  • Ensure subcategory list is hidden when not required
  • Do not error _removeDeleteOnOwnerReplyBookmarks on navigate
  • Don’t try to boot the ember app on old browsers
  • Correctly defines data-attributes used by local-dates
  • Feature detect globalThis
  • include_ serializer methods must end with ?
  • Use unread post excerpt for topic-level bookmark excerpt
  • Use active record update_attribute instead of mini sql.
  • Do not reload card if already loaded
  • Handle forwarded email quotes around Reply-To display name
  • Return empty array when no parent for range
  • Rss gem is bundled gem since Ruby 3
  • Empty state message on the group messages pages
  • Update only passed custom fields
  • Hoisting linebreaks shouldn’t fail for HTML5 elements
  • Offer site_logo_dark_url as an option for dark mode themes
  • Add locales for group mention PM variants
  • Remove incoming messages for read events.
  • Address ArgumentError to support Ruby 3 keyword arguments
  • Prevents extreme cases to overflow in selected content
  • Do not suggest Emoji when in open code blocks
  • Update only present fields in request
  • Optimistically fix topic timeline state issues
  • Use <textarea> for theme translations
  • Do not error mobile upload button if !allowUpload
  • Mobile nav styling
  • Give the topic timeline unique keys for state
  • Make sure S3 object headers are preserved on copy
  • Don’t publish PM archive events to acting user.
  • Don’t attempt to migrate multisite test db while holding the mutex
  • Resolve short URLs after diffHTML was loaded
  • Correct the play icon position
  • Do not replace in mentions and hashtags
  • Display unread/new PM links only when viewing own user.
  • Remove dismissed new topics from PM topic tracking state.
  • Remove dismiss read topics from PM topic tracking state.
  • Better positioning for “Skip to main content” button
  • Ember CLI was being hijacked before potential errors
  • Composer height issue in Safari on iOS 15
  • Ignore canonical link for medium.com oneboxes
  • Do not show spoiler content in RSS
  • Always show the creation date of posts in crawler view
  • Correct highest post number for read topic tracking state.
  • Better filter for groups search
  • Error in Ember CLI environment
  • Capture CC addresses for forwarded emails
  • Perform agree_and_keep action only if possible.
  • Correct the forwarded by user small post for group inbox
  • Use random file name for temporary uploads
  • Search was not being initialized properly.
  • We weren’t properly resetting the mobile state between tests.
  • Don’t attempt to migrate concurrently with other migrations
  • Allow single string values on custom multiple select fields and not just arrays
  • Increase chunk size to fetch title tag correctly

UX Changes

  • Adjust quick search input width
  • Better topic search experience
  • Show fewer toolbar icons in mobile composer
  • Display full-page user search in a grid
  • Better visibility for context search
  • Add Enter hint to search dropdown
  • Add missing translation
  • Remove aria-label for buttons when title attribute exists.
  • Improve route hierarchy in for user-invites
  • Restore new messages button on mobile on PM route.
  • Adds shortcuts for quote (q) and fast edit (e)
  • Add keyboard shortcut for fast edits
  • More consistent shortcut labels for macOS
  • Fix alignment of composer when tags are disabled
  • Revamp quick search
  • Change layout of invites page to match other user pages
  • Global notice no longer accepts HTML.
  • Capitalize unsubscribed email locale
  • Use consistent category badge font size in dropdowns
  • Fix label in search when tagging is disabled
  • PM inboxes being expanded incorrectly when viewing tags.
  • Don’t display group messages link for group with no messages.
  • Show scrollbar only when needed in dropdowns
  • Adjust mobile spacing for full page search
  • Ensure sticky elements don’t overflow header
  • Better placement for bulk select actions button
  • Move fast edit before sharing
  • Adjust quote button position on mobile
  • Add second Search button on mobile
  • Share button margin consistency
  • Fix profile button spacing
  • Improve composer button bar on mobile
  • Prevent invite form fields from resizing
  • Fix date input icon display issues
  • Minor fast edit tweaks
  • Improves fast edit fallback handling
  • Optionally show a “Summarize” button in topic timeline
  • Fix tab groups editing layout issues on mobile
  • Use standard font size for buttons at the end of /top page
  • Fix mobile styling for admin color schemes
  • Fix alignment for admin controls on mobile
  • Fix date input display in iOS
  • Minor layout tweaks to dropdowns
  • Normalize sizing for inputs, buttons, dropdowns
  • Adjust button spacing
  • Limit select-kit tag chooser width
  • Remove :empty on topic-statuses, clean up

Performance

  • Reduce work when external sources are allowed in InlineUploads
  • Use a subquery when excluding a tag from topic query.
  • Avoid running ignored users DB query for anon users.
  • Revert all inboxes from messages route.
  • Improve database query perf when loading topics for a category.
  • Fix N+1 queries in SiteSerialier.
  • Improve query performance all inbox private messages.
  • Avoid running query unnecessarily when updating bookmark.
  • Avoid additional database query when viewing own user.
  • Improve query perf when fetching unread for PM topic tracking state.
20개의 좋아요