[Misskey] v13 공식 패치노트

Misskey 2023년 1월 18일
  • 이 문서는 Misskey Hub의 영문 릴리스 노트를 기반으로, 하단에 호환성 공지 내용을 추가한 통합본이에요. 호환성 공지사항 부분은 Stella의 공지사항을 기반으로 수정을 거쳐 제공되고 있어요.
  • 릴리스 노트를 가감 없이 제공하기 때문에 불필요한 내용이 포함되어 있을 수 있어요. 필요 없다고 생각되는 부분은 별 생각 없이 건너뛰셔도 좋아요.
  • 커밋에 관련한 내용은 접어 두었어요. 해당 부분은 번역할 계획이 없어요. 참고해 주세요.

릴리스 노트: 13.0.0

출시일: 2023년 1월 16일

요약

  • 새로운 기능 (역할 시스템, Misskey Play, 신규 위젯, 신규 차트, 🍪👈 등)
  • 백엔드 재작성
  • 성능 향상 (백엔드, 프론트엔드)
  • 다양한 사용성 개선
  • 다양한 UI 개선

주요 기능

  • 역할
    - 사용자 권한을 종전보다 유연하게 관리할 수 있게 됩니다. 예를 들어, "인스턴스 구독자는 안테나를 30개까지 만들 수 있습니다," "로컬 타임라인은 기본적으로 보이지 않지만, 일부 권한을 가진 분들만 볼 수 있습니다," "초대 전용 인스턴스지만 모든 사용자가 초대를 할 수 있습니다"와 같은 것들을 지정할 수 있습니다. 또한, 여러 조건을 합쳐서 역할 등록을 자동화할 수도 있습니다. "계정을 만든 지 하루가 지나지 않은 사용자는 공개 포스팅을 할 수 없습니다"처럼요.
  • Misskey Play
    - Misskey Play는 기존의 페이지를 대체할 새로운 플랫폼입니다. 동적 콘텐츠 (이하 "어플리케이션"이라 합니다)에 특화되어 있으며, 페이지에서보다 훨씬 더 유연한 어플리케이션을 만들 수 있게 도와줍니다.

변경 사항

서버 어드민

  • Node.js 18.x 이상이 필요합니다.
  • PostgreSQL 15.x가 필요합니다.
    - Misskey에서는 아직까지 PostgreSQL 15의 기능을 활용하지 않고 있지만, 향후에 활용하게 될 수 있습니다.
  • ElasticSearch의 지원이 삭제되었습니다.
    - 대신, 별도의 검색 제공자를 설정할 수 있도록 하는 매커니즘을 준비하고 있습니다. 이 매커니즘이 추가되면 종전처럼 ElasticSearch를 활용하실 수 있습니다.
  • Yarn에서 pnpm으로 마이그레이션했습니다.
    sudo corepack enable 명령어를 통해 corepack을 활성화하는 것을 권장합니다.
  • 서브도메인에 대해서도 인스턴스 차단이 가능합니다.
  • 역할 기능이 추가되면서, 여러 기능이 역할 기능에 통합됩니다.
    - 모더레이터 설정이 역할로 통합되었습니다. 업데이트 전 모더레이터 목록을 별도로 기록해 두었다가 수동으로 다시 추가해야 합니다. 업데이트 후에는 모더레이터에 관한 정보가 모두 삭제됩니다.
    - 사일런스가 역할로 통합되었습니다. 기존의 사일런스 기록이 삭제되니 별도로 기록해 두는 것을 추천합니다.
    - 유저별 드라이브 용량 제한이 역할로 통합되었습니다.
    - 인스턴스 기본 드라이브 용량 설정이 역할로 통합되었습니다. 업데이트 후 기본 역할 또는 조건형 역할에서 드라이브 용량을 다시 설정해 주세요.
    - 로컬 타임라인 / 글로벌 타임라인에 포스팅하는 권한이 역할로 통합되었습니다.
  • 더이상 Docker가 root로 작동하지 않습니다. Docker를 사용하면서 오브젝트 스트로지를 사용하지 않는다면, chown -hR 991.991 . /files를 실행해 주세요.

사용자

  • 노트 주시하기 기능이 삭제되었습니다.
  • 투표에 대한 알림이 삭제되었습니다.
  • 수식을 노트에 더이상 임베딩할 수 없습니다.
  • 동적 페이지를 더이상 만들 수 없습니다.
    - 대신 AiScript를 활용하는 Misskey Play 기능을 통해, 더 유연한 동적 콘텐츠를 만들 수 있게 됩니다.
  • AiScript가 0.12.2로 업데이트되었습니다.
    - 0.12.x의 변경사항: https://github.com/syuilo/aiscript/blob/master/CHANGELOG.md#0120
    - 0.12.x 이전 버전의 플러그인 로딩이 불가합니다.
  • iOS 15 미만의 환경은 지원되지 않습니다.
  • Firefox 110 미만의 환경은 지원되지 않습니다.
    - 109에서는 ContainerQueries 플래그를 활성화하면 문제 없이 사용할 수 있습니다.

앱 개발자

  • API: meta 응답은 더이상 emojis 프로퍼티를 포함하지 않습니다.
    - 커스텀 이모지 정보를 얻으려면, emojis 엔드포인트로 요청하세요.
  • API: 커스텀 이모지 엔티티는 더이상 url 프로퍼티를 포함하지 않습니다.
    - 이모지를 표시하려면, <인스턴스 호스트>/emoji/<이모지 이름>.webp를 요청하세요.
    - 예: https://p1.a9z.dev/emoji/misskey.webp
    - 리모트: https://p1.a9z.dev/emoji/syuilo_birth_present@mk.f72u.net.webp
  • API: usernote 엔티티는 더이상 emojis 프로퍼티를 포함하지 않습니다.
  • API: user 엔티티는 더이상 avatarColorbannerColor 프로퍼티를 포함하지 않습니다.
  • API: instance 엔티티는 더이상 latestStatus, lastCommunicatedAt, latestRequestSentAt 프로퍼티를 포함하지 않습니다.
  • API: instance 엔티티의 caughtAtfirstRetrievedAt으로 명칭이 변경되었습니다.

개선점

  • Role system @syuilo
  • Misskey Play @syuilo
  • Introduce retention-rate aggregation @syuilo
  • Make possible to export favorited notes @syuilo
  • Add per user pv chart @syuilo
  • Push notification of Antenna note @tamaina
  • AVIF support @tamaina
  • Add Cloudflare Turnstile CAPTCHA support @CyberRex0
  • Rate limits can now be adjusted per user @syuilo
  • Non-moderator users assigned to roles with permissions can now issue instance invitation codes @syuilo
  • Non-moderator users with assigned roles can now add, edit, and delete custom emoji @syuilo
  • Allow users to set the number of clips and notes within a clip @syuilo
  • Allowed to set the number of users in user list and user list @syuilo
  • Maximum number of characters for hardword mute @syuilo
  • Maximum number of webhooks that can be created @syuilo
  • Can set the number of notes that can be pinned @syuilo
  • Server: signToActivityPubGet is set to true by default @syuilo
  • Server: improve syslog performance @syuilo
  • Server: Use undici instead of node-fetch and got @tamaina
  • Server: Judge instance block by endsWith @tamaina
  • Server: improve note scoring for featured notes @CyberRex0
  • Server: Relaxed character limit for survey choices @syuilo
  • Server: Relaxed character limit for profile @syuilo
  • Server: add rate limits for some endpoints @syuilo
  • Server: improve stats api performance @syuilo
  • Server: improve nodeinfo performance @syuilo
  • Server: delete outdated notifications regularly to improve db performance @syuilo
  • Server: delete outdated hard-mutes regularly to improve db performance @syuilo
  • Server: delete outdated notes of antenna regularly to improve db performance @syuilo
  • Server: improve activitypub deliver performance @syuilo
  • Client: use tabler-icons instead of fontawesome to better design @syuilo
  • Client: Add new gabber kick sounds (thanks for noizenecio)
  • Client: Add link to user RSS feed in profile menu @ssmucny
  • Client: Compress non-animated PNG files @saschanaz
  • Client: YouTube window player @sim1222
  • Client: show readable error when rate limit exceeded @syuilo
  • Client: enhance dashboard of control panel @syuilo
  • Client: Vite is upgraded to v4 @syuilo, @tamaina
  • Client: HMR is available while yarn dev @tamaina
  • Client: Implement the button to subscribe push notification @tamaina
  • Client: Implement the toggle to or not to close push notifications when notifications or messages are read @tamaina
  • Client: show Unicode emoji tooltip with its name in MkReactionsViewer.reaction @saschanaz
  • Client: OpenSearch support @SoniEx2 @chaoticryptidz
  • Client: Support remote objects in search @SoniEx2
  • Client: user activity page @syuilo
  • Client: Make widgets of universal/classic sync between devices @tamaina
  • Client: add user list widget @syuilo
  • Client: Add AiScript App widget
  • Client: add profile widget @syuilo
  • Client: add instance info widget @syuilo
  • Client: Improve RSS widget @tamaina
  • Client: add heatmap of daily active users to about page @syuilo
  • Client: introduce fluent emoji @syuilo
  • Client: add new theme @syuilo
  • Client: add new mfm function (position, fg, bg) @syuilo
  • Client: show fireworks when visit user who today is birthday @syuilo
  • Client: show bot warning on screen when logged in as bot account @syuilo
  • Client: AiScript can refer to custom emoji list @syuilo
  • Client: improve overall performance of client @syuilo
  • Client: ui tweaks @syuilo
  • Client: clicker game @syuilo

수정된 버그

  • Server: Fix @tensorflow/tfjs-core's MODULE_NOT_FOUND error @ikuradon
  • Server: Fixed a problem that sentences in quotes are nyaized @kabo2468
  • Server: Bug fix for Pinned Users lookup on instance @squidicuzz
  • Server: Fix peers API returning suspended instances @ineffyble
  • Server: trim long text of note from ap @syuilo
  • Server: Ap inbox max payload size limited to 64kb @syuilo
  • Server: add limit to number of antennae created @syuilo
  • Server: Fixed duplicate error IDs in pages/like @syuilo
  • Server: Fixed that summary values are not updated depending on pages/update parameters @syuilo
  • Server: Escape SQL LIKE @mei23
  • Server: fix problem with certain PNG image uploads failing @usbharu
  • Server: fix problem with OGP rendering with URLs of non-public clips @syuilo
  • Server: Antenna timeline (streaming) picks up key posts of users not followed @syuilo
  • Server: follow request list api pagination @sim1222
  • Server: Fixed an issue where an error when drive capacity is exceeded is not properly responded @syuilo
  • Client: Fixed a problem that user name is not auto-completed in password manager @massongit
  • Client: Fixed a problem that date strings are displayed as custom pictograms @syuilo
  • Client: case insensitive emoji search @saschanaz
  • Client: Fixed that there is no way to close widget drawer when screen width is narrow @syuilo
  • Client: Fixed InApp window sometimes becoming inoperable @tamaina
  • Client: use proxied image for instance icon @syuilo
  • Client: Fixed an issue where the content cannot be saved in the Webhook edit screen @m-hayabusa
  • Client: Fixed issue where blocks cannot be moved in Page edit @syuilo
  • Client: update emoji picker immediately on all input @saschanaz
  • Client: fixed tooltip of chart may remain on screen @syuilo
  • Client: fix wrong link in tutorial @syuilo

Misskey v13 호환성 공지사항

위와는 별개로 Misskey v13으로 업데이트됨에 따라 호환성 문제가 대두되어, 한국어권 Misskey 커뮤니티에서 조사한 결과 Misskey v13에서는 다음과 같은 호환성 문제가 확인되었습니다.

  • 본인이 이용하고 있는 브라우저의 버전을 확인하고 싶다면 about:version에서 확인할 수 있습니다.

Chrome 및 크로미움-기반 브라우저

  • 권장 지원 버전: Chrome 109, Chromium 109
  • 확인된 접속 가능 최소 버전: Chrome 106, Chromium 106

Firefox

  • 권장 지원 버전: Firefox 110
  • 확인된 접속 가능 최소 버전: Firefox 106 (추가 설정 필요)

Firefox 106 이상 109 이하의 버전에서는, about:config에서 layout.css.containor-queries.enabledtrue로 설정하고 다시 시작하면 정상 접속이 가능합니다. 단, 모바일은 Beta 이상을 이용해야 합니다.

Safari

  • 최소 지원 버전: iOS 15에서 제공되는 사파리 버전이 몇이죠?

기타 사항

Samsung Internet, Naver Whale 브라우저와 같은 국내 크로미움 브라우저는 최신 크로미움에 빠르게 대응하지 않는 경우가 있습니다. 특히 Samsung Internet의 경우, 너무 오래전 크로미움을 이용하고 있어 당분간 Misskey v13 서버에 접속이 불가합니다.

위에 첨부한 API 변경 사항으로 인해, 서드파티 앱에 대한 호환성도 당분간 불안정할 수 있습니다. 현재까지 확인된 서드파티 클라이언트는 다음과 같습니다. (웹 기반 클라이언트는 제외)

  • 안드로이드: Subway Tooter, Milktea
  • iOS: MissCat, SocialHub

특히 iOS에 출시되어 있는 두 앱의 경우, 마지막 업데이트 이후 6개월 이상이 경과하여 최신 Misskey 기능에 대응하지 못하는 것으로 파악되고 있습니다. 이러한 서드파티 클라이언트를 이용중이라면 당분간 웹 클라이언트를 이용해 접속해 주세요.

태그