1
0
레이픽스 / 휘핑 에디션을 마개조하기
Go to file
2023-11-14 17:27:49 +09:00
.devcontainer Improve Codespaces port forwarding (#26400) 2023-08-29 10:20:36 +02:00
.github Bump version to v4.2.0 (#27017) 2023-09-21 16:51:32 +02:00
.husky Use Yarn instead of NPX for pre-commit hook (#24287) 2023-03-28 06:28:57 +02:00
app fix/formatMessagetypo 2023-11-14 17:27:49 +09:00
bin Move the mastodon/*_cli files to mastodon/cli/* (#24139) 2023-05-23 16:08:26 +02:00
chart helm: cleanup helm chart, now in mastodon/chart (#21801) 2022-12-09 06:36:29 +01:00
config features/add account timeline - dm only 2023-11-14 07:16:57 +09:00
db Add migration tests for negative settings (#27012) 2023-09-21 12:33:30 +02:00
dist Add suggestion for secure cyphers to nginx.conf (#26349) 2023-08-31 12:17:10 +02:00
lib fix/activitpub, theme color 2023-11-11 18:29:53 +09:00
log Initial commit 2016-02-20 22:53:20 +01:00
public add theme 2023-11-09 19:33:38 +09:00
spec Squashed commit of the following: 2023-11-03 01:26:39 +09:00
streaming Fix websocket connections being incorrectly decremented twice on errors (#27238) 2023-10-10 13:52:41 +02:00
vendor Increase files checked by ESLint (#9705) 2019-01-04 11:28:38 +01:00
.browserslistrc Add ES6 compatibility to browserslist (#18519) 2022-05-26 20:29:28 +02:00
.buildpacks Remove nodejs buildpack from buildpacks (#14364) 2020-07-20 09:48:10 +02:00
.dockerignore Update .dockerignore/.gitignore for #16947 etc (#17099) 2021-12-06 18:04:04 +01:00
.editorconfig Enable EditorConfig trailing whitespace trimming (#23543) 2023-02-12 08:34:17 +01:00
.env.production.sample fix: remove SMTP_SERVER (#21342) 2022-12-15 18:42:08 +01:00
.env.test Bump webpacker from 4.0.7 to 4.2.0 (#12416) 2019-11-20 17:56:11 +01:00
.env.vagrant Add elastic search installation into Vagrantfile (#26512) 2023-08-23 15:46:14 +02:00
.eslintignore Increase files checked by ESLint (#9705) 2019-01-04 11:28:38 +01:00
.eslintrc.js Upgrade to typescript-eslint v6 (#25904) 2023-07-13 11:49:16 +02:00
.foreman Replace sprockets/browserify with Webpack (#2617) 2017-05-03 02:04:16 +02:00
.gitattributes Add .gitattributes file to avoid unwanted CRLF (#3954) 2017-06-26 13:15:24 +02:00
.gitignore helm: cleanup helm chart, now in mastodon/chart (#21801) 2022-12-09 06:36:29 +01:00
.haml-lint_todo.yml Fix haml-lint Rubocop Lint/UnusedBlockArguments cop (#26039) 2023-07-20 17:03:39 +02:00
.haml-lint.yml Consistently use middle dot (·) instead of bullet (•) to separate items (#25248) 2023-06-02 19:58:18 +02:00
.nanoignore Remove Storybook (#4397) 2017-07-27 22:30:27 +02:00
.nvmrc Update dependency node to 20.7 (#26963) 2023-09-19 11:16:45 +02:00
.prettierignore Fix /share and cleanup and reorganize frontend locale loading (#25240) 2023-06-02 15:00:27 +02:00
.prettierrc.js Use Prettier for ESLint formatting TypeScript (#23631) 2023-05-09 19:02:12 +02:00
.profile Make it possible to upload audio and video to Heroku app (#24866) 2023-05-05 14:41:07 +02:00
.rspec Adding a Mention model, test stubs 2016-02-25 00:17:01 +01:00
.rubocop_todo.yml Dont match mention in url query string (#25656) 2023-10-10 13:52:41 +02:00
.rubocop.yml Update rubocop rules for linelength (#26190) 2023-07-28 23:11:45 +02:00
.ruby-gemset Make Mastodon use its own gemset (#17858) 2022-08-13 15:44:34 +02:00
.ruby-version Bump ruby to 3.2.2 due to ReDoS vulnerabilities (#24320) 2023-03-31 18:28:40 +02:00
.slugignore Remove Storybook (#4397) 2017-07-27 22:30:27 +02:00
.yarnclean Setup Husky and lint-stage for commit fixing (#23308) 2023-03-27 05:17:19 +02:00
app.json Make enable_starttls configurable by envvars (#20321) 2022-11-10 21:06:21 +01:00
Aptfile Make it possible to upload audio and video to Heroku app (#24866) 2023-05-05 14:41:07 +02:00
AUTHORS.md Update AUTHORS.md (#27018) 2023-09-21 14:42:15 +02:00
babel.config.js Update babel monorepo to v7.22.5 (#25405) 2023-06-14 09:22:54 +02:00
Capfile Autofix Rubocop remaining Layout rules (#23679) 2023-02-20 06:58:28 +01:00
CHANGELOG.md Fix duplicate reports being sent when reporting some remote posts (port to v4.2.1) (#27356) 2023-10-10 18:23:31 +02:00
CODE_OF_CONDUCT.md Update Contributor Covenant to 2.1 (#23980) 2023-04-23 23:11:50 +02:00
config.ru Autofix Rubocop remaining Layout rules (#23679) 2023-02-20 06:58:28 +01:00
CONTRIBUTING.md Convert CircleCI to GitHub Actions (#23608) 2023-03-07 04:49:43 +01:00
crowdin.yml Add a Github Action to send translations to Crowdin for each merge in main (#25869) 2023-07-18 16:56:01 +02:00
docker-compose.yml Bump version to v4.2.1 2023-10-10 13:52:41 +02:00
Dockerfile Change Dockerfile to upgrade packages when building (#26922) 2023-09-14 23:11:36 +02:00
FEDERATION.md Update FEDERATION.md (#26819) 2023-09-06 16:28:31 +02:00
Gemfile Update dependency rspec-sidekiq to v4 (#26627) 2023-08-24 09:03:40 +02:00
Gemfile.lock Update dependency sidekiq to v6.5.10 (#27287) 2023-10-10 13:52:41 +02:00
ide-helper.js Add JS IDE helper (#13012) 2020-04-27 17:19:53 +02:00
jest.config.js Fix /share and cleanup and reorganize frontend locale loading (#25240) 2023-06-02 15:00:27 +02:00
jsconfig.json Correct prettier calls for YML/JSON (#21832) 2022-12-03 12:05:35 +09:00
LICENSE Fix #49 - License changed from GPL-2.0 to AGPL-3.0 2016-09-21 23:04:34 +02:00
package.json Use NodeJS v20 by default (#26830) 2023-09-08 13:45:34 +02:00
postcss.config.js Update PostCSS dependencies (#23835) 2023-03-15 04:01:10 +01:00
priv-config TOR federation (#7875) 2018-06-26 20:34:12 +02:00
Procfile fix: make Procfile compatible with herokuish (#12685) 2020-08-29 19:00:30 +02:00
Procfile.dev Support webpacker live-reloading on Docker (#26419) 2023-08-29 10:17:57 +02:00
Rakefile Run Rubocop on Rakefile (#23871) 2023-07-12 09:47:54 +02:00
README.md Update README.md 2023-11-11 23:11:32 +09:00
scalingo.json Add S3 region list reference to Scalingo config (#24152) 2023-04-26 16:46:19 +02:00
SECURITY.md Add 4.2.x to supported versions in SECURITY.md (#27317) 2023-10-10 13:52:41 +02:00
stylelint.config.js Update Stylelint disable settings and ignores (#23776) 2023-04-23 22:47:57 +02:00
tsconfig.json Use the new JSX transform (#25064) 2023-05-23 10:52:27 +02:00
Vagrantfile Add search tests (#26703) 2023-09-08 16:17:55 +02:00
yarn.lock Update dependency glob to v10.3.5 (#27002) 2023-09-21 11:06:16 +02:00

Whippy Edition

GitHub release

휘핑 에디션오리지널 캐릭터의 교류를 목적으로 하는 커뮤니티를 위해 제공되는 오픈소스 네트워크 미디어 소프트웨어입니다. 휘핑 에디션은 Mastodon gGmbH에서 제공하는 오픈소스 소프트웨어인 Mastodon에서 파생되었으며 자유로운 수정 및 복제, 사용이 가능합니다.

whippy_Preview

Navigation

위의 링크에서 휘핑 에디션에 대한 좀 더 자세한 내용을 확인하실 수 있습니다.

Feature

마스토돈과 차별화되는 휘핑에디션의 특징은 크게 세가지로 나누어집니다.

다이렉트 메시지(개인적인 멘션)의 타임라인 및 알림 분리

캐릭터 커뮤니티에서는 일반 툿과 DM의 용도가 분리되어 있습니다. 그렇기 때문에 DM과 일반 게시글이 혼재되어있는 타임라인과 알림창은 사용자에게 혼란을 야기할 수 있습니다.

휘핑 에디션에서는 홈 타임라인과 계정 프로필에 DM이 필터링되어 나타나지 않습니다. 또한 알림창의 탭에 일반 멘션과 DM을 분리해 사용자는 필요에 따라 일반 멘션/DM 알림을 나누어 확인할 수 있습니다.

방문자(외부인)의 접근 차단

캐릭터 커뮤니티는 폐쇄적인 성향을 띱니다. 대부분의 사용자는 자신의 게시물이 허가되지 않은 타인에게 노출되는 것을 꺼려합니다.

휘핑 에디션 인스턴스에 올라오는 모든 게시물은 비등재(이하 ‘로컬’)/팔로워 공개로 게시되며, 타 서버의 퍼블릭 타임라인/타 도메인의 팔로워의 타임라인에 노출되지 않습니다.

또한 사이트 방문자에게 계정의 게시물을 노출하지 않습니다. 휘핑 에디션의 모든 게시글들은 인스턴스의 가입자만이 접근할 수 있습니다.

커뮤니티에 적합한 UI 개선

사용자간의 원활한 교류를 지원하기 위해 여러가지 추가 기능 및 편의성 패치를 진행하였습니다.

  • 커뮤니티의 테마에 맞춰 사이트의 테마 커스텀 가능
  • 관리자의 타 계정간의 DM 확인 기능 추가
  • 사이트 내 도메인 노출 최소화
  • 계정의 표시 이름 강조
  • 게시글의 공개 범위와 관계없이 답글 갯수 표시
  • 타임라인에 노출되는 미디어 썸네일의 최대 높이 제한
  • 계정의 미디어 모아보기 타임라인 썸네일 클릭시 해당 게시글 타래로 이동
  • 게시글의 공개 범위와 관계없이 방문자에게 계정의 바이오를 포함한 계정 게시글 비공개

그 외에 자잘한 UI의 개선이 있습니다.

Deployment

Tech stack

  • Ruby on Rails 는 REST API and 기타 웹페이지를 구동합니다.
  • React.js 와 Redux는 인터페이스의 동적 파트에 사용됩니다.
  • Node.js 는 streaming API를 구동합니다.

Requirements

  • PostgreSQL 12.16
  • Redis 5.0.7
  • Ruby 3.2.2
  • Node.js 16.20.2

기입되어있는 버전은 휘핑 에디션 설치 당시의 버전으로, 휘핑 에디션은 2023년 10월 11일 릴리즈된 마스토돈 v4.2.1을 기반으로 합니다. 자세한 내용은 마스토돈 홈페이지 설치 가이드를 참고해주세요.

Contributing

휘핑에디션의 기반이 되는 마스토돈은 AGPLv3 라이선스가 부여된 프리 오픈소스 소프트웨어입니다. 자유롭게 버그의 수정, 혹은 기능의 추가 및 제거가 가능합니다. 단, 모든 소스코드는 네트워크상의 사용자에게 무료로 공개, 제공되어야 하며 휘핑 에디션 또한 하단의 AGPLv3 라이선스를 따릅니다.

Lisence

Copyright (C) 2016-2023 Eugen Rochko & other Mastodon contributors (see AUTHORS.md)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.