Skip to content

Commit

Permalink
Feat: indexableに対応 (kokonect-link#449)
Browse files Browse the repository at this point in the history
Co-authored-by: kozakura913 <[email protected]>
  • Loading branch information
penginn-net and kozakura913 authored Oct 15, 2024
1 parent a7b8df8 commit 2801c8c
Show file tree
Hide file tree
Showing 33 changed files with 1,597 additions and 324 deletions.
23 changes: 23 additions & 0 deletions .github/cherrypick/test-opensearch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
url: 'http://cherrypick.local'

# ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ)
port: 61812

db:
host: 127.0.0.1
port: 54312
db: test-cherrypick
user: postgres
pass: ''
redis:
host: 127.0.0.1
port: 56312
id: aidx

opensearch:
host: 127.0.0.1
port: 59200
user: 'admin'
pass: 'eF53xwF4NYjrcXXwZ2CHgpwFL'
ssl: false
index: 'instancename' #なんでもいい
56 changes: 56 additions & 0 deletions .github/workflows/test-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ on:
# for permissions
- packages/cherrypick-js/**
- .github/workflows/test-backend.yml
- .github/cherrypick/test*.yml
pull_request:
paths:
- packages/backend/**
# for permissions
- packages/cherrypick-js/**
- .github/workflows/test-backend.yml
- .github/cherrypick/test*.yml
jobs:
unit:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -112,3 +114,57 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json

opensearch-e2e:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [20.16.0]

services:
postgres:
image: postgres:15
ports:
- 54312:5432
env:
POSTGRES_DB: test-cherrypick
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:7
ports:
- 56312:6379

steps:
- uses: actions/[email protected]
with:
submodules: true
- name: Runs OpenSearch
uses: esmarkowski/[email protected]
with:
version: 2.12.0
security-disabled: true
opensearch_password: eF53xwF4NYjrcXXwZ2CHgpwFL
port: 59200
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/[email protected]
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .github/cherrypick/test-opensearch.yml .config/test.yml
- name: Build
run: pnpm build
- name: Test
run: pnpm --filter backend test-and-coverage:e2e
- name: Upload to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json
15 changes: 14 additions & 1 deletion CHANGELOG_YOJO.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,24 @@ Cherrypick 4.11.1
### Release Date

### General
インデックス構造が変わったため破棄して再インデックスが必要です。
リアクションや投票が途中からインデックスにされるので再インデックスをおすすめします。

- Enhance: 連合一覧のソートにリバーシのバージョンを追加
- Enhance: リモートのクリップをお気に入りに登録できるように
- Enhance: リモートのPlayを遊べるように
- Enhance: リモートのPlayをお気に入りに登録できるように

- Feat: mastodonのindexableに対応
- 検索で表示される条件を制限できるようになります
- 設定→プライバシーより設定できます
- 設定されている場合対応しているサーバーでは、以下のことをしたユーザーのみ検索できます
- リアクション
- リノート
- クリップ
- お気に入り
- 返信
- 投票
- コントロールパネル→その他で(クリップ、お気に入り、投票が)再インデックスできるようになりました
### Client
- Fix: リアクションが閲覧できる状態でも見れない問題を修正 [#429](https://github.com/yojo-art/cherrypick/pull/429)
- Enhance: チャートの連合グラフで割合を表示
Expand Down
14 changes: 12 additions & 2 deletions locales/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3531,6 +3531,16 @@ export interface Locale extends ILocale {
* オフにすると、「みつける」にアカウントが載らなくなります。
*/
"makeExplorableDescription": string;
/**
* ノート検索の許可
*/
"makeIndexable": string;
/**
* オフにすると、あなたのノートが検索で表示されにくくなります。
* リノートやリアクションされているノートは表示されます。
* リモートのサーバーが対応していない場合設定は無視されます。
*/
"makeIndexableDescription": string;
/**
* タイムラインのノートを離して表示
*/
Expand Down Expand Up @@ -11902,11 +11912,11 @@ export interface Locale extends ILocale {
};
"_reIndexOpenSearch": {
/**
* 全てのノートを再インデックスする
* 再インデックスする
*/
"title": string;
/**
* 全てのノートを再インデックスしますか?
* 再インデックス対象
*/
"quesion": string;
};
Expand Down
6 changes: 4 additions & 2 deletions locales/ja-JP.yml
Original file line number Diff line number Diff line change
Expand Up @@ -877,6 +877,8 @@ thisIsExperimentalFeature: "これは実験的な機能です。仕様が変更
developer: "開発者"
makeExplorable: "アカウントを見つけやすくする"
makeExplorableDescription: "オフにすると、「みつける」にアカウントが載らなくなります。"
makeIndexable: "ノート検索の許可"
makeIndexableDescription: "オフにすると、あなたのノートが検索で表示されにくくなります。\nリノートやリアクションされているノートは表示されます。\nリモートのサーバーが対応していない場合設定は無視されます。"
showGapBetweenNotesInTimeline: "タイムラインのノートを離して表示"
duplicate: "複製"
left: ""
Expand Down Expand Up @@ -3176,8 +3178,8 @@ _searchOrApShow:
lookup: "照会"

_reIndexOpenSearch:
title: "全てのノートを再インデックスする"
quesion: "全てのノートを再インデックスしますか?"
title: "再インデックスする"
quesion: "再インデックス対象"

_reCreateOpenSearchIndex:
title: "現在のインデックスを破棄して再インデックスする"
Expand Down
16 changes: 16 additions & 0 deletions packages/backend/migration/1726205819617-AddIsIndexable.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project, yojo-art team
* SPDX-License-Identifier: AGPL-3.0-only
*/

export class AddIsIndexable1726205819617 {
name = 'AddIsIndexable1726205819617'

async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" ADD "isIndexable" boolean NOT NULL DEFAULT true`);
}

async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isIndexable"`);
}
}
Loading

0 comments on commit 2801c8c

Please sign in to comment.