Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(frontend): ノート・ユーザータイムライン埋め込み #13929

Merged
merged 349 commits into from
Sep 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
349 commits
Select commit Hold shift + click to select a range
15443e4
fix
kakkokari-gtyih Jul 6, 2024
6f80247
navhookをbootに移動
kakkokari-gtyih Jul 6, 2024
849973e
サーバーサイドのbootも分けるように
kakkokari-gtyih Jul 6, 2024
e9ef8fc
埋め込みページかどうかの判定は最初の一回だけに
kakkokari-gtyih Jul 6, 2024
3c71c56
tooltipは出せるように
kakkokari-gtyih Jul 6, 2024
e260030
fix design
kakkokari-gtyih Jul 6, 2024
f4dca6f
埋め込み独自のtooltipを削除
kakkokari-gtyih Jul 6, 2024
b3dd1a4
ロジックの分岐が多かったMkNoteDetailedを分離
kakkokari-gtyih Jul 6, 2024
028c7d0
fix indent
kakkokari-gtyih Jul 6, 2024
9a0366f
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 7, 2024
d913a1b
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 7, 2024
f826c5d
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 11, 2024
881b7dd
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 12, 2024
362433f
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 12, 2024
f8c6455
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 13, 2024
7ca3a68
プレビュー用iframeにフォーカスが当たるのを修正
kakkokari-gtyih Jul 13, 2024
8d144c8
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 15, 2024
87a7d1a
popupの制御を出す側で行うように
kakkokari-gtyih Jul 15, 2024
cc59fc5
パラメータが逆になっていたのを修正
kakkokari-gtyih Jul 15, 2024
8371768
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 15, 2024
ca7992b
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 18, 2024
e6e599e
Update MkEmbedCodeGenDialog.vue
kakkokari-gtyih Jul 18, 2024
a7ab153
fix
kakkokari-gtyih Jul 18, 2024
a01f104
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 25, 2024
fa356fa
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 25, 2024
2e88663
eliminate misskey-js lint warns
kakkokari-gtyih Jul 27, 2024
68c9662
fix
kakkokari-gtyih Jul 27, 2024
24c7fb3
Merge branch 'develop' into feat-1714
kakkokari-gtyih Jul 31, 2024
6ee0a2b
Merge branch 'develop' into feat-1714
kakkokari-gtyih Aug 18, 2024
83e3708
Merge branch 'develop' into feat-1714
kakkokari-gtyih Aug 20, 2024
60f9cc3
add appropriate attributes to embed html
kakkokari-gtyih Aug 20, 2024
968f676
enhance: サーバーサイドのembed系をさらに分離
kakkokari-gtyih Aug 20, 2024
66825da
enhance: embed routerを分離(route定義をboot時に変更できるようにする改修を含む)
kakkokari-gtyih Aug 20, 2024
78f3d3a
type
kakkokari-gtyih Aug 20, 2024
7152eca
lint
kakkokari-gtyih Aug 20, 2024
aa929e0
fix indent
kakkokari-gtyih Aug 20, 2024
22f0e1f
server-side styleを完全に分離
kakkokari-gtyih Aug 20, 2024
3971e21
Revert "refactor: 画面サイズのしきい値をconstにまとめる"
kakkokari-gtyih Aug 20, 2024
62f5aaf
fix
kakkokari-gtyih Aug 20, 2024
1fff584
revert all changes in base.pug
kakkokari-gtyih Aug 20, 2024
711eb80
embedドメインをまとめた
syuilo Aug 20, 2024
27a37a7
Merge branch 'feat-1714' of https://github.com/kakkokari-gtyih/misske…
syuilo Aug 20, 2024
5a0a33a
embedドメインをまとめた
syuilo Aug 20, 2024
e269dcb
prevent calling contextmenu in embed page by stopping at the caller
kakkokari-gtyih Aug 20, 2024
04319e2
Merge branch 'feat-1714' of https://github.com/kakkokari-gtyih/misske…
kakkokari-gtyih Aug 20, 2024
ccedb6a
fix import
kakkokari-gtyih Aug 20, 2024
8c8e49f
fix import
kakkokari-gtyih Aug 20, 2024
c1ae7f6
improve directory structure
kakkokari-gtyih Aug 20, 2024
0725d95
fix import
kakkokari-gtyih Aug 20, 2024
e4ef400
register timeline ui as a container
kakkokari-gtyih Aug 20, 2024
54a6fbe
wa-
syuilo Aug 20, 2024
c342286
Merge branch 'feat-1714' of https://github.com/kakkokari-gtyih/misske…
syuilo Aug 20, 2024
de535ee
rename
kakkokari-gtyih Aug 20, 2024
bef84d3
wa-
syuilo Aug 20, 2024
8b6f0f2
Merge branch 'feat-1714' of https://github.com/kakkokari-gtyih/misske…
syuilo Aug 20, 2024
04025cb
Update EmMediaList.vue
syuilo Aug 20, 2024
a179536
Update EmMediaList.vue
syuilo Aug 20, 2024
adef17a
Update EmMediaList.vue
syuilo Aug 20, 2024
c6e60dc
Update EmMediaImage.vue
syuilo Aug 20, 2024
89a8f9d
Update EmNote.vue
syuilo Aug 20, 2024
a92b555
revert mkmedialist changes
kakkokari-gtyih Aug 20, 2024
00b063d
Merge branch 'feat-1714' of https://github.com/kakkokari-gtyih/misske…
kakkokari-gtyih Aug 20, 2024
8b2ab67
戻し漏れ
kakkokari-gtyih Aug 20, 2024
6adcbef
wip
syuilo Aug 20, 2024
302b5ac
tweak embed media ui
kakkokari-gtyih Aug 20, 2024
794cbbc
revert original media components
kakkokari-gtyih Aug 20, 2024
d4b1b34
Merge branch 'develop' into feat-1714
kakkokari-gtyih Aug 20, 2024
87da434
Update boot.embed.js
syuilo Aug 20, 2024
04c246f
rename
syuilo Aug 21, 2024
5a2bce0
wip
syuilo Aug 21, 2024
9d572ca
Update MkNote.vue
syuilo Aug 21, 2024
5b6ea8a
wip
syuilo Aug 21, 2024
a3b26b6
Update MkSubNoteContent.vue
syuilo Aug 21, 2024
545a51a
Update EmNote.vue
syuilo Aug 21, 2024
937ae44
Update packages/frontend/src/router/definition.ts
kakkokari-gtyih Aug 22, 2024
c5b3b25
Revert "Update packages/frontend/src/router/definition.ts"
kakkokari-gtyih Aug 22, 2024
e5e1f8b
refactor EmMediaImage
kakkokari-gtyih Aug 22, 2024
c875350
fix import
kakkokari-gtyih Aug 22, 2024
47262f6
remove unused imports
kakkokari-gtyih Aug 22, 2024
4e791df
Update router.ts
syuilo Aug 22, 2024
f26aa0d
Merge branch 'develop' into pr/13929
syuilo Aug 22, 2024
2398a80
wip
syuilo Aug 22, 2024
c42d184
Update boot.ts
syuilo Aug 22, 2024
437e80f
wip
syuilo Aug 22, 2024
d8dcad1
wip
syuilo Aug 22, 2024
2a91537
wip
syuilo Aug 22, 2024
ffba07a
wip
syuilo Aug 22, 2024
a7e323a
Update EmNote.vue
syuilo Aug 22, 2024
dd8ab65
Update EmNote.vue
syuilo Aug 22, 2024
a5f4089
Create EmA.vue
syuilo Aug 22, 2024
9dd7b79
Create EmAvatar.vue
syuilo Aug 22, 2024
1b08879
Update EmAvatar.vue
syuilo Aug 22, 2024
e783253
wip
syuilo Aug 22, 2024
a5abd33
wip
syuilo Aug 23, 2024
5168464
wip
syuilo Aug 23, 2024
6fe3b8e
Create EmImgWithBlurhash.vue
syuilo Aug 23, 2024
680f4a0
Update EmImgWithBlurhash.vue
syuilo Aug 23, 2024
e0f3c39
Create EmPagination.vue
syuilo Aug 23, 2024
c5b8ff0
wip
syuilo Aug 23, 2024
0900023
Update boot.ts
syuilo Aug 23, 2024
d6f81fd
wip
syuilo Aug 23, 2024
15c172e
wip
syuilo Aug 23, 2024
9e52a3f
wi@p
syuilo Aug 23, 2024
b9f76b8
wip
syuilo Aug 23, 2024
e40feef
wip
syuilo Aug 23, 2024
b717f0d
wiop
syuilo Aug 23, 2024
51afc9a
wip
syuilo Aug 23, 2024
0163f07
wip
syuilo Aug 23, 2024
1de55eb
wip
syuilo Aug 23, 2024
5603f77
wip
syuilo Aug 23, 2024
505874a
wip
syuilo Aug 24, 2024
6dfeae9
wip
syuilo Aug 25, 2024
bd5c862
wip
syuilo Aug 25, 2024
29d2033
wip
syuilo Aug 25, 2024
57a64b3
wip
syuilo Aug 25, 2024
67d2fde
wip
syuilo Aug 25, 2024
0a0c93d
Update boot.ts
syuilo Aug 25, 2024
bc02fd5
wip
syuilo Aug 25, 2024
a5f2163
Update MkMisskeyFlavoredMarkdown.ts
syuilo Aug 25, 2024
3143cf3
wip
syuilo Aug 26, 2024
1eca9b9
wip
syuilo Aug 26, 2024
8775d9f
wip
syuilo Aug 26, 2024
5e5208f
wip
syuilo Aug 26, 2024
4ecb352
wip
syuilo Aug 26, 2024
28fc875
Update post-message.ts
syuilo Aug 26, 2024
45bf2b1
wip
syuilo Aug 26, 2024
6b95317
Update EmNoteDetailed.vue
syuilo Aug 26, 2024
7ea59f2
Update EmNoteDetailed.vue
syuilo Aug 26, 2024
91fc4ff
Create instance.ts
syuilo Aug 26, 2024
2edf54b
Update EmNoteDetailed.vue
syuilo Aug 26, 2024
8a301f8
wip
syuilo Aug 26, 2024
583adec
Update EmNoteDetailed.vue
syuilo Aug 26, 2024
048aa6f
wip
syuilo Aug 26, 2024
e90bdae
wip
syuilo Aug 26, 2024
bc1070f
wip
syuilo Aug 26, 2024
ace5248
Update pnpm-lock.yaml
syuilo Aug 26, 2024
0019749
wip
syuilo Aug 26, 2024
2288a5f
wip
syuilo Aug 26, 2024
6ad9a2a
wp
syuilo Aug 26, 2024
7663f63
wip
syuilo Aug 26, 2024
b0a2604
Update ClientServerService.ts
syuilo Aug 26, 2024
bbc6d9f
wip
syuilo Aug 26, 2024
d928606
Update boot.ts
syuilo Aug 26, 2024
c2b8973
Update vite.config.local-dev.ts
syuilo Aug 26, 2024
e590104
Update vite.config.ts
syuilo Aug 26, 2024
094a06d
Create index.html
syuilo Aug 26, 2024
093cd2c
wa-
syuilo Aug 26, 2024
e6c7b91
wip
syuilo Aug 26, 2024
9a0ac64
Update boot.ts
syuilo Aug 26, 2024
21fc259
wip
syuilo Aug 26, 2024
00025b0
wip
syuilo Aug 26, 2024
a3a3404
wip
syuilo Aug 26, 2024
7355ae4
wip
syuilo Aug 26, 2024
d14b0e8
wip
syuilo Aug 26, 2024
296b8ce
wip
syuilo Aug 26, 2024
dc76f14
wip
syuilo Aug 27, 2024
fc7d22f
wip
syuilo Aug 27, 2024
db2b9d2
wip
syuilo Aug 27, 2024
7bac106
Create EmLink.vue
syuilo Aug 27, 2024
25eb0a0
Create EmMention.vue
syuilo Aug 27, 2024
cbf13dd
Update EmMfm.ts
syuilo Aug 27, 2024
55b62e3
wip
syuilo Aug 27, 2024
e41ba1d
wip
syuilo Aug 27, 2024
9ea7f21
wip
syuilo Aug 27, 2024
1b4bdee
wip
syuilo Aug 27, 2024
38b1ec7
Update vite.config.ts
syuilo Aug 27, 2024
dec4a40
Merge branch 'develop' into pr/13929
syuilo Aug 27, 2024
374dce7
Update boot.ts
syuilo Aug 27, 2024
bf17382
Update EmA.vue
syuilo Aug 28, 2024
04fe0e6
うぃp
syuilo Aug 28, 2024
2f741d8
wip
syuilo Aug 28, 2024
adbd33b
wip
syuilo Aug 29, 2024
79d56e0
Create EmError.vue
syuilo Aug 29, 2024
b4b8aa8
wip
syuilo Aug 29, 2024
59e4a5c
Update MkEmbedCodeGenDialog.vue
syuilo Aug 29, 2024
3aab3a1
Update EmNote.vue
syuilo Aug 29, 2024
cf3245b
wip
syuilo Aug 29, 2024
4c79716
wip
syuilo Aug 29, 2024
b4a3b3f
Update user-timeline.vue
syuilo Aug 29, 2024
9ba5f1f
Update check-spdx-license-id.yml
syuilo Aug 29, 2024
0589945
wip
syuilo Aug 29, 2024
b313da8
wip
syuilo Aug 29, 2024
fae9bc8
style(frontend-shared): lint fixes on build.js
zyoshoka Aug 30, 2024
128a2b8
fix(frontend-shared): include `*.{js,json}` files in js-built
zyoshoka Aug 30, 2024
00202c8
wip
syuilo Aug 30, 2024
99b4a48
use alias
syuilo Aug 30, 2024
7173dea
refactor
syuilo Aug 31, 2024
ee22820
refactor
syuilo Aug 31, 2024
eb81813
Update scroll.ts
syuilo Aug 31, 2024
3aabdf8
refactor
syuilo Aug 31, 2024
8381375
refactor
syuilo Aug 31, 2024
10dc244
Merge branch 'develop' into pr/13929
syuilo Aug 31, 2024
e7171d9
refactor
syuilo Aug 31, 2024
aab1c76
wip
syuilo Aug 31, 2024
d9f3f0c
wip
syuilo Sep 1, 2024
0e30228
wip
syuilo Sep 1, 2024
42aada4
wip
syuilo Sep 1, 2024
1488b67
Update roles.vue
syuilo Sep 1, 2024
c08ccb6
Update branding.vue
syuilo Sep 1, 2024
cd665be
wip
syuilo Sep 1, 2024
3676ada
wip
syuilo Sep 1, 2024
db37ad6
wip
syuilo Sep 2, 2024
27c7900
Update page.vue
syuilo Sep 2, 2024
d3c1926
wip
syuilo Sep 2, 2024
e71d0af
Merge branch 'develop' into pr/13929
syuilo Sep 5, 2024
f22a563
Merge remote-tracking branch 'msky/develop' into feat-1714
kakkokari-gtyih Sep 6, 2024
9ab9241
fix import
kakkokari-gtyih Sep 6, 2024
74af29d
add missing css variables
kakkokari-gtyih Sep 6, 2024
31a6aaf
絵文字をtwemojiに変更
kakkokari-gtyih Sep 6, 2024
b1b6855
force empoll readonly
kakkokari-gtyih Sep 6, 2024
c8583b7
fix compiler error
kakkokari-gtyih Sep 6, 2024
a7a5ada
fix broken imports
kakkokari-gtyih Sep 6, 2024
788d4ed
tweak button style
kakkokari-gtyih Sep 6, 2024
823b158
run api extractor
kakkokari-gtyih Sep 6, 2024
436d444
fix storybook theme preloads
kakkokari-gtyih Sep 6, 2024
ed8eabb
fix storybook instance imports
kakkokari-gtyih Sep 6, 2024
982cee4
Merge branch 'develop' into pr/13929
syuilo Sep 8, 2024
f486352
Update preview.ts
syuilo Sep 8, 2024
5c0ce01
Update preview.ts
syuilo Sep 8, 2024
12bab1c
Update preview.ts
syuilo Sep 8, 2024
6560ceb
Revert "Update preview.ts"
kakkokari-gtyih Sep 9, 2024
bfdf5f1
Revert "Update preview.ts"
kakkokari-gtyih Sep 9, 2024
6154d18
Revert "Update preview.ts"
kakkokari-gtyih Sep 9, 2024
95a801c
Revert "fix storybook instance imports"
kakkokari-gtyih Sep 9, 2024
e4e745f
Revert "wip"
kakkokari-gtyih Sep 9, 2024
500e189
Revert "Update page.vue"
kakkokari-gtyih Sep 9, 2024
dae0952
Revert "Update branding.vue"
kakkokari-gtyih Sep 9, 2024
07acd7f
Revert "Update roles.vue"
kakkokari-gtyih Sep 9, 2024
a22df3a
Revert "wip"
kakkokari-gtyih Sep 9, 2024
9983c43
refactor: use common media proxy
kakkokari-gtyih Sep 9, 2024
64c9da4
fix imports
kakkokari-gtyih Sep 9, 2024
d2e1d9e
fix
kakkokari-gtyih Sep 9, 2024
9c190b4
fix: MediaProxyの初期化を保証する(storybook対策?)
kakkokari-gtyih Sep 9, 2024
ad074c6
enhance(frontend-embed): improve embedParams provide
kakkokari-gtyih Sep 9, 2024
35c1795
fix(backend): MK_DEV_PREFER=backendのときにembed viteが読み込めないのを修正
kakkokari-gtyih Sep 9, 2024
3c73cdf
fix
kakkokari-gtyih Sep 9, 2024
2d5e80a
embed-pageを共通化
kakkokari-gtyih Sep 9, 2024
d16a691
fix import
kakkokari-gtyih Sep 9, 2024
ec4c09f
fix import
kakkokari-gtyih Sep 9, 2024
b2e16c2
fix import
kakkokari-gtyih Sep 9, 2024
6c03918
const.jsを共通化
kakkokari-gtyih Sep 9, 2024
1ae92eb
fix type error
kakkokari-gtyih Sep 9, 2024
1510d35
fix duplicated import
kakkokari-gtyih Sep 9, 2024
5179840
fix lint
kakkokari-gtyih Sep 9, 2024
1209ebc
fix
kakkokari-gtyih Sep 9, 2024
9c7dfae
コメントとして残す
kakkokari-gtyih Sep 9, 2024
b2743d6
sharedとembedをlint対象にする
kakkokari-gtyih Sep 9, 2024
c676530
lint
kakkokari-gtyih Sep 9, 2024
2ea0b57
attempt to fix eslint (frontend-shared)
kakkokari-gtyih Sep 9, 2024
21e23c0
lint fixes
kakkokari-gtyih Sep 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/check-spdx-license-id.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,14 @@ jobs:
"packages/backend/migration"
"packages/backend/src"
"packages/backend/test"
"packages/frontend-shared/src"
"packages/frontend/.storybook"
"packages/frontend/@types"
"packages/frontend/lib"
"packages/frontend/public"
"packages/frontend/src"
"packages/frontend/test"
"packages/frontend-embed/src"
"packages/misskey-bubble-game/src"
"packages/misskey-reversi/src"
"packages/sw/src"
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ on:
paths:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-embed/**
- packages/sw/**
- packages/misskey-js/**
- packages/shared/eslint.config.js
Expand All @@ -16,6 +18,8 @@ on:
paths:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-embed/**
- packages/sw/**
- packages/misskey-js/**
- packages/shared/eslint.config.js
Expand Down Expand Up @@ -45,6 +49,8 @@ jobs:
workspace:
- backend
- frontend
- frontend-shared
- frontend-embed
- sw
- misskey-js
env:
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
-

### Client
- Feat: ノート単体・ユーザーのノート・クリップのノートの埋め込み機能
- 埋め込みコードやウェブサイトへの実装方法の詳細はMisskey Hubに掲載予定です
- サイズ制限を超過するファイルをアップロードしようとした際にエラーを出すように
- Enhance: アイコンデコレーション管理画面にプレビューを追加
- Fix: サーバーメトリクスが2つ以上あるとリロード直後の表示がおかしくなる問題を修正
Expand Down
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/frontend-shared/package.json", "./packages/frontend-shared/"]
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
COPY --link ["packages/frontend-embed/package.json", "./packages/frontend-embed/"]
COPY --link ["packages/sw/package.json", "./packages/sw/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
Expand Down
66 changes: 66 additions & 0 deletions locales/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5068,6 +5068,18 @@ export interface Locale extends ILocale {
* 作成したアンテナ
*/
"createdAntennas": string;
/**
* {x}から
*/
"fromX": ParameterizedString<"x">;
/**
* 埋め込みコードを生成
*/
"genEmbedCode": string;
/**
* このユーザーのノート一覧
*/
"noteOfThisUser": string;
/**
* これ以上このクリップにノートを追加できません。
*/
Expand Down Expand Up @@ -10196,6 +10208,60 @@ export interface Locale extends ILocale {
*/
"native": string;
};
"_embedCodeGen": {
/**
* 埋め込みコードをカスタマイズ
*/
"title": string;
/**
* ヘッダーを表示
*/
"header": string;
/**
* 自動で続きを読み込む(非推奨)
*/
"autoload": string;
/**
* 高さの最大値
*/
"maxHeight": string;
/**
* 0で最大値の設定が無効になります。ウィジェットが縦に伸び続けるのを防ぐために、何らかの値に指定してください。
*/
"maxHeightDescription": string;
/**
* 高さの最大値制限が無効(0)になっています。これが意図した変更ではない場合は、高さの最大値を何らかの値に設定してください。
*/
"maxHeightWarn": string;
/**
* プレビュー画面で表示可能な範囲を超えたため、実際に埋め込んだ際とは表示が異なります。
*/
"previewIsNotActual": string;
/**
* 角丸にする
*/
"rounded": string;
/**
* 外枠に枠線をつける
*/
"border": string;
/**
* プレビューに反映
*/
"applyToPreview": string;
/**
* 埋め込みコードを作成
*/
"generateCode": string;
/**
* コードが生成されました
*/
"codeGenerated": string;
/**
* 生成されたコードをウェブサイトに貼り付けてご利用ください。
*/
"codeGeneratedDescription": string;
};
}
declare const locales: {
[lang: string]: Locale;
Expand Down
18 changes: 18 additions & 0 deletions locales/ja-JP.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1263,6 +1263,9 @@ confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示
sensitiveMediaRevealConfirm: "センシティブなメディアです。表示しますか?"
createdLists: "作成したリスト"
createdAntennas: "作成したアンテナ"
fromX: "{x}から"
genEmbedCode: "埋め込みコードを生成"
noteOfThisUser: "このユーザーのノート一覧"
clipNoteLimitExceeded: "これ以上このクリップにノートを追加できません。"

_delivery:
Expand Down Expand Up @@ -2718,3 +2721,18 @@ _contextMenu:
app: "アプリケーション"
appWithShift: "Shiftキーでアプリケーション"
native: "ブラウザのUI"

_embedCodeGen:
title: "埋め込みコードをカスタマイズ"
header: "ヘッダーを表示"
autoload: "自動で続きを読み込む(非推奨)"
maxHeight: "高さの最大値"
maxHeightDescription: "0で最大値の設定が無効になります。ウィジェットが縦に伸び続けるのを防ぐために、何らかの値に指定してください。"
maxHeightWarn: "高さの最大値制限が無効(0)になっています。これが意図した変更ではない場合は、高さの最大値を何らかの値に設定してください。"
previewIsNotActual: "プレビュー画面で表示可能な範囲を超えたため、実際に埋め込んだ際とは表示が異なります。"
rounded: "角丸にする"
border: "外枠に枠線をつける"
applyToPreview: "プレビューに反映"
generateCode: "埋め込みコードを作成"
codeGenerated: "コードが生成されました"
codeGeneratedDescription: "生成されたコードをウェブサイトに貼り付けてご利用ください。"
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
},
"packageManager": "pnpm@9.6.0",
"workspaces": [
"packages/frontend-shared",
"packages/frontend",
"packages/frontend-embed",
"packages/backend",
"packages/sw",
"packages/misskey-js",
Expand Down
31 changes: 31 additions & 0 deletions packages/backend/assets/embed.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: MIT
*/
//@ts-check
(() => {
/** @type {NodeListOf<HTMLIFrameElement>} */
const els = document.querySelectorAll('iframe[data-misskey-embed-id]');

window.addEventListener('message', function (event) {
els.forEach((el) => {
if (event.source !== el.contentWindow) {
return;
}

const id = el.dataset.misskeyEmbedId;

if (event.data.type === 'misskey:embed:ready') {
el.contentWindow?.postMessage({
type: 'misskey:embedParent:registerIframeId',
payload: {
iframeId: id,
}
}, '*');
}
if (event.data.type === 'misskey:embed:changeHeight' && event.data.iframeId === id) {
el.style.height = event.data.payload.height + 'px';
}
});
});
})();
24 changes: 17 additions & 7 deletions packages/backend/src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,10 @@ export type Config = {
authUrl: string;
driveUrl: string;
userAgent: string;
clientEntry: string;
clientManifestExists: boolean;
frontendEntry: string;
frontendManifestExists: boolean;
frontendEmbedEntry: string;
frontendEmbedManifestExists: boolean;
mediaProxy: string;
externalMediaProxyEnabled: boolean;
videoThumbnailGenerator: string | null;
Expand Down Expand Up @@ -196,10 +198,16 @@ const path = process.env.MISSKEY_CONFIG_YML

export function loadConfig(): Config {
const meta = JSON.parse(fs.readFileSync(`${_dirname}/../../../built/meta.json`, 'utf-8'));
const clientManifestExists = fs.existsSync(_dirname + '/../../../built/_vite_/manifest.json');
const clientManifest = clientManifestExists ?
JSON.parse(fs.readFileSync(`${_dirname}/../../../built/_vite_/manifest.json`, 'utf-8'))

const frontendManifestExists = fs.existsSync(_dirname + '/../../../built/_frontend_vite_/manifest.json');
const frontendEmbedManifestExists = fs.existsSync(_dirname + '/../../../built/_frontend_embed_vite_/manifest.json');
const frontendManifest = frontendManifestExists ?
JSON.parse(fs.readFileSync(`${_dirname}/../../../built/_frontend_vite_/manifest.json`, 'utf-8'))
: { 'src/_boot_.ts': { file: 'src/_boot_.ts' } };
const frontendEmbedManifest = frontendEmbedManifestExists ?
JSON.parse(fs.readFileSync(`${_dirname}/../../../built/_frontend_embed_vite_/manifest.json`, 'utf-8'))
: { 'src/boot.ts': { file: 'src/boot.ts' } };

const config = yaml.load(fs.readFileSync(path, 'utf-8')) as Source;

const url = tryCreateUrl(config.url ?? process.env.MISSKEY_URL ?? '');
Expand Down Expand Up @@ -270,8 +278,10 @@ export function loadConfig(): Config {
config.videoThumbnailGenerator.endsWith('/') ? config.videoThumbnailGenerator.substring(0, config.videoThumbnailGenerator.length - 1) : config.videoThumbnailGenerator
: null,
userAgent: `Misskey/${version} (${config.url})`,
clientEntry: clientManifest['src/_boot_.ts'],
clientManifestExists: clientManifestExists,
frontendEntry: frontendManifest['src/_boot_.ts'],
frontendManifestExists: frontendManifestExists,
frontendEmbedEntry: frontendEmbedManifest['src/boot.ts'],
frontendEmbedManifestExists: frontendEmbedManifestExists,
perChannelMaxNoteCacheCount: config.perChannelMaxNoteCacheCount ?? 1000,
perUserNotificationsMaxCount: config.perUserNotificationsMaxCount ?? 500,
deactivateAntennaThreshold: config.deactivateAntennaThreshold ?? (1000 * 60 * 60 * 24 * 7),
Expand Down
46 changes: 41 additions & 5 deletions packages/backend/src/server/web/ClientServerService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ const staticAssets = `${_dirname}/../../../assets/`;
const clientAssets = `${_dirname}/../../../../frontend/assets/`;
const assets = `${_dirname}/../../../../../built/_frontend_dist_/`;
const swAssets = `${_dirname}/../../../../../built/_sw_dist_/`;
const viteOut = `${_dirname}/../../../../../built/_vite_/`;
const frontendViteOut = `${_dirname}/../../../../../built/_frontend_vite_/`;
const frontendEmbedViteOut = `${_dirname}/../../../../../built/_frontend_embed_vite_/`;
const tarball = `${_dirname}/../../../../../built/tarball/`;

@Injectable()
Expand Down Expand Up @@ -277,15 +278,22 @@ export class ClientServerService {
});

//#region vite assets
if (this.config.clientManifestExists) {
if (this.config.frontendEmbedManifestExists) {
fastify.register((fastify, options, done) => {
fastify.register(fastifyStatic, {
root: viteOut,
root: frontendViteOut,
prefix: '/vite/',
maxAge: ms('30 days'),
immutable: true,
decorateReply: false,
});
fastify.register(fastifyStatic, {
root: frontendEmbedViteOut,
prefix: '/embed_vite/',
maxAge: ms('30 days'),
immutable: true,
decorateReply: false,
});
fastify.addHook('onRequest', handleRequestRedirectToOmitSearch);
done();
});
Expand All @@ -296,6 +304,13 @@ export class ClientServerService {
prefix: '/vite',
rewritePrefix: '/vite',
});

const embedPort = (process.env.EMBED_VITE_PORT ?? '5174');
fastify.register(fastifyProxy, {
upstream: 'http://localhost:' + embedPort,
prefix: '/embed_vite',
rewritePrefix: '/embed_vite',
});
}
//#endregion

Expand Down Expand Up @@ -425,6 +440,13 @@ export class ClientServerService {
// Manifest
fastify.get('/manifest.json', async (request, reply) => await this.manifestHandler(reply));

// Embed Javascript
fastify.get('/embed.js', async (request, reply) => {
return await reply.sendFile('/embed.js', staticAssets, {
maxAge: ms('1 day'),
});
});

fastify.get('/robots.txt', async (request, reply) => {
return await reply.sendFile('/robots.txt', staticAssets);
});
Expand Down Expand Up @@ -762,7 +784,7 @@ export class ClientServerService {
});
//#endregion

//region noindex pages
//#region noindex pages
// Tags
fastify.get<{ Params: { clip: string; } }>('/tags/:tag', async (request, reply) => {
return await renderBase(reply, { noindex: true });
Expand All @@ -772,7 +794,20 @@ export class ClientServerService {
fastify.get<{ Params: { clip: string; } }>('/user-tags/:tag', async (request, reply) => {
return await renderBase(reply, { noindex: true });
});
//endregion
//#endregion

//#region embed pages
fastify.get('/embed/*', async (request, reply) => {
const meta = await this.metaService.fetch();

reply.removeHeader('X-Frame-Options');

reply.header('Cache-Control', 'public, max-age=3600');
return await reply.view('base-embed', {
title: meta.name ?? 'Misskey',
...await this.generateCommonPugData(meta),
});
});

fastify.get('/_info_card_', async (request, reply) => {
const meta = await this.metaService.fetch(true);
Expand All @@ -787,6 +822,7 @@ export class ClientServerService {
originalNotesCount: await this.notesRepository.countBy({ userHost: IsNull() }),
});
});
//#endregion

fastify.get('/bios', async (request, reply) => {
return await reply.view('bios', {
Expand Down
Loading
Loading