1
0
레이픽스 / 휘핑 에디션을 마개조하기
Go to file
2024-04-08 02:12:34 +09:00
.devcontainer Update libretranslate/libretranslate Docker tag to v1.5.6 (#29629) 2024-03-18 08:49:18 +00:00
.github Add ruby 3.3 to CI test matrix (#29705) 2024-03-21 21:48:41 +00:00
.husky Update husky and remove deprecated features (#29338) 2024-02-22 09:02:15 +00:00
.yarn Replace our custom compression-webpack-plugin patch with the fixed upstream version (#28510) 2023-12-29 09:33:06 +00:00
app . 2024-04-08 01:46:06 +09:00
bin Add bin/dev script to launch foreman (#28242) 2024-03-02 18:31:43 +00:00
chart helm: cleanup helm chart, now in mastodon/chart (#21801) 2022-12-09 06:36:29 +01:00
config asdf 2024-04-08 02:12:34 +09:00
db Use upsert_all and insert_all to reduce back-and-forth in costly migrations (#29752) 2024-03-26 15:57:08 +00:00
dist Add suggestion for secure cyphers to nginx.conf (#26349) 2023-08-31 12:17:10 +02:00
lib chore: version change 2024-04-07 21:35:15 +09:00
log Initial commit 2016-02-20 22:53:20 +01:00
public fix: sw.js 2024-04-08 01:09:16 +09:00
spec Merge remote-tracking branch 'mstdn/main' into base 2024-04-07 20:31:35 +09:00
streaming Update docker/dockerfile Docker tag to v1.7 (#27993) 2024-04-02 13:47:15 +00:00
vendor Increase files checked by ESLint (#9705) 2019-01-04 11:28:38 +01:00
.browserslistrc Add back support for old browsers (#29654) 2024-03-20 11:07:10 +00:00
.buildpacks Remove nodejs buildpack from buildpacks (#14364) 2020-07-20 09:48:10 +02:00
.bundler-audit.yml Ignore the devise-two-factor advisory as we have rate limits in place (#28733) 2024-01-15 10:45:48 +00:00
.dockerignore Do not copy public/packs-test into Docker (#27736) 2023-11-07 09:22:04 +00: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 Improve Babel configuration and automatically load polyfills (#27333) 2023-10-31 10:55:13 +00: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 Update eslint (non-major) (#29820) 2024-04-03 18:05:39 +00: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 Upgrade to Yarn 4, remove support for Node 16 (#27073) 2023-11-08 10:57:21 +00:00
.haml-lint.yml Reduce LineLength from 320 to 300 (#29636) 2024-04-02 15:50:57 +00:00
.nanoignore Remove Storybook (#4397) 2017-07-27 22:30:27 +02:00
.nvmrc Update dependency node to 20.12 (#29765) 2024-03-28 10:54:16 +00:00
.prettierignore Rework Prettier invocation (#28851) 2024-02-27 16:09:27 +00: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 Merge remote-tracking branch 'mstdn/main' into base 2024-04-07 20:31:35 +09:00
.rubocop.yml Reduce LineLength from 320 to 300 (#29636) 2024-04-02 15:50:57 +00:00
.ruby-gemset Make Mastodon use its own gemset (#17858) 2022-08-13 15:44:34 +02:00
.ruby-version Use ruby version 3.2.3 (#28817) 2024-01-22 11:55:51 +00:00
.simplecov Disable simplecov enable_coverage_for_eval option, move to standalone file (#27869) 2023-11-15 23:09:31 +00:00
.slugignore Remove Storybook (#4397) 2017-07-27 22:30:27 +02:00
.watchmanconfig Fix Jest config (#27834) 2023-11-13 12:19:41 +00:00
.yarnrc.yml Upgrade to Yarn 4, remove support for Node 16 (#27073) 2023-11-08 10:57:21 +00: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 Disable Babel polyfill injection in dev (#27691) 2023-11-06 10:24:41 +00:00
CHANGELOG.md Bump version to v4.3.0-alpha.3 (#29241) 2024-02-16 11:06:47 +00: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 Update CONTRIBUTING.md with additional requirements for API additions (#28274) 2023-12-08 09:52:28 +00: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.3.0-alpha.3 (#29241) 2024-02-16 11:06:47 +00:00
Dockerfile Update docker/dockerfile Docker tag to v1.7 (#27993) 2024-04-02 13:47:15 +00:00
FEDERATION.md docs: update FEDERATION.md to more closely follow FEP conventions. (#28838) 2024-01-22 11:11:47 +00:00
Gemfile Improve email address validation (#29838) 2024-04-05 07:48:45 +00:00
Gemfile.lock Merge branch 'heads/origin' into base 2024-04-07 19:31:00 +09:00
ide-helper.js Add JS IDE helper (#13012) 2020-04-27 17:19:53 +02:00
jest.config.js Change icon SVG imports to use a default import (#28709) 2024-01-12 10:31:24 +00:00
jsconfig.json Update devDependencies (non-major) (#29089) 2024-02-27 16:07:43 +00:00
LICENSE Fix #49 - License changed from GPL-2.0 to AGPL-3.0 2016-09-21 23:04:34 +02:00
lint-staged.config.js Improve lint-staged config (#28704) 2024-01-12 09:09:57 +00:00
package.json Add back support for old browsers (#29654) 2024-03-20 11:07:10 +00:00
postcss.config.js Add back support for old browsers (#29654) 2024-03-20 11:07:10 +00: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 Split streaming server from web server (#24702) 2023-11-14 17:43:20 +00:00
Rakefile Run Rubocop on Rakefile (#23871) 2023-07-12 09:47:54 +02:00
README.md Add bin/dev script to launch foreman (#28242) 2024-03-02 18:31:43 +00:00
scalingo.json Add S3 region list reference to Scalingo config (#24152) 2023-04-26 16:46:19 +02:00
SECURITY.md Remove v3.5 branch from supported Mastodon versions (#28574) 2024-01-03 15:04:10 +00:00
stylelint.config.js Update Stylelint disable settings and ignores (#23776) 2023-04-23 22:47:57 +02:00
tsconfig.json Update devDependencies (non-major) (#29089) 2024-02-27 16:07:43 +00:00
Vagrantfile Forward 3035 port (#29710) 2024-04-05 09:19:43 +00:00
yarn.lock Update dependency sass to v1.74.1 (#29846) 2024-04-04 07:25:30 +00: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/.