From 02bacc6109cd8e91138112ad81a3a20df9c43675 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sun, 19 Nov 2023 13:55:05 +0900 Subject: [PATCH 01/28] [wip]run standalone vite --- packages/frontend/src/index.html | 20 ++++++++++++++++++++ packages/frontend/vite.config.ts | 20 ++++++++++++++------ 2 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 packages/frontend/src/index.html diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html new file mode 100644 index 000000000000..dd39d0fcbb42 --- /dev/null +++ b/packages/frontend/src/index.html @@ -0,0 +1,20 @@ + + + + + misskey + + + + + + +
+ + + + diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index da976b791717..f9103a4f06ff 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -1,4 +1,4 @@ -import path from 'path'; +import path, {resolve} from 'path'; import pluginReplace from '@rollup/plugin-replace'; import pluginVue from '@vitejs/plugin-vue'; import { type UserConfig, defineConfig } from 'vite'; @@ -43,10 +43,21 @@ function toBase62(n: number): string { export function getConfig(): UserConfig { return { - base: '/vite/', - + root: "src", server: { port: 5173, + proxy: { + '/api': { + target: 'http://127.0.0.1:3000/', + }, + '/assets': { + target: 'http://127.0.0.1:3000/', + }, + '/twemoji': { + target: 'http://127.0.0.1:3000/', + }, + + } }, plugins: [ @@ -118,9 +129,6 @@ export function getConfig(): UserConfig { ], manifest: 'manifest.json', rollupOptions: { - input: { - app: './src/_boot_.ts', - }, output: { manualChunks: { vue: ['vue'], From 84634484c280f2f92548a621829596338dc1a33d Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sun, 19 Nov 2023 14:00:36 +0900 Subject: [PATCH 02/28] [wip]run standalone vite --- packages/frontend/src/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html index dd39d0fcbb42..f4bda5006f96 100644 --- a/packages/frontend/src/index.html +++ b/packages/frontend/src/index.html @@ -15,6 +15,7 @@
+ From ddef9cab5f5b967eef8579cd549caebdf3d661ec Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sun, 19 Nov 2023 14:22:57 +0900 Subject: [PATCH 03/28] some fix (tabler icons, sw, streaming) --- packages/frontend/src/index.html | 4 ++-- packages/frontend/vite.config.ts | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html index f4bda5006f96..251b45095243 100644 --- a/packages/frontend/src/index.html +++ b/packages/frontend/src/index.html @@ -15,7 +15,7 @@
- - + + diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index f9103a4f06ff..067b4fab1ed8 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -44,18 +44,28 @@ function toBase62(n: number): string { export function getConfig(): UserConfig { return { root: "src", + publicDir: "assets", server: { port: 5173, proxy: { '/api': { + changeOrigin: true, target: 'http://127.0.0.1:3000/', }, + '/assets': { target: 'http://127.0.0.1:3000/', }, '/twemoji': { target: 'http://127.0.0.1:3000/', }, + '/sw.js': { + target: 'http://127.0.0.1:3000/', + }, + '/streaming': { + target: 'ws://127.0.0.1:3000/', + ws: true, + }, } }, From 14e0d1f2528a53126457ceaf9468a4b08769b16c Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sun, 19 Nov 2023 18:47:27 +0900 Subject: [PATCH 04/28] fix theme --- packages/frontend/src/boot/common.ts | 6 ++++++ packages/frontend/vite.config.ts | 16 ++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index 12bb56a874d1..30bc0f521950 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -187,6 +187,12 @@ export async function common(createVue: () => App) { if (instance.defaultLightTheme != null) ColdDeviceStorage.set('lightTheme', JSON.parse(instance.defaultLightTheme)); if (instance.defaultDarkTheme != null) ColdDeviceStorage.set('darkTheme', JSON.parse(instance.defaultDarkTheme)); defaultStore.set('themeInitial', false); + } else { + if (defaultStore.state.darkMode) { + applyTheme(darkTheme.value); + } else { + applyTheme(lightTheme.value); + } } }); diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index 067b4fab1ed8..ee96c50128ef 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -52,20 +52,16 @@ export function getConfig(): UserConfig { changeOrigin: true, target: 'http://127.0.0.1:3000/', }, - - '/assets': { - target: 'http://127.0.0.1:3000/', - }, - '/twemoji': { - target: 'http://127.0.0.1:3000/', - }, - '/sw.js': { - target: 'http://127.0.0.1:3000/', - }, + '/assets': 'http://127.0.0.1:3000/', + '/twemoji': 'http://127.0.0.1:3000/', + '/fluent-emoji': 'http://127.0.0.1:3000/', + '/sw.js': 'http://127.0.0.1:3000/', '/streaming': { target: 'ws://127.0.0.1:3000/', ws: true, }, + "favicon.ico": 'http://127.0.0.1:3000/', + "client-assets": "http://127.0.0.1:3000/" } }, From 3ea704165b63b6e0e860bd9bc73968917c8239cf Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sun, 19 Nov 2023 19:11:41 +0900 Subject: [PATCH 05/28] fix run scripts --- .config/example.local.yml | 221 +++++++++++++++++++++++++++++++++ package.json | 2 +- packages/backend/package.json | 1 + packages/frontend/package.json | 1 + 4 files changed, 224 insertions(+), 1 deletion(-) create mode 100644 .config/example.local.yml diff --git a/.config/example.local.yml b/.config/example.local.yml new file mode 100644 index 000000000000..3b197d1045b9 --- /dev/null +++ b/.config/example.local.yml @@ -0,0 +1,221 @@ +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# Misskey configuration +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +# ┌─────┐ +#───┘ URL └───────────────────────────────────────────────────── + +# Final accessible URL seen by a user. +url: http://127.0.0.1/ + +# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE +# URL SETTINGS AFTER THAT! + +# ┌───────────────────────┐ +#───┘ Port and TLS settings └─────────────────────────────────── + +# +# Misskey requires a reverse proxy to support HTTPS connections. +# +# +----- https://example.tld/ ------------+ +# +------+ |+-------------+ +----------------+| +# | User | ---> || Proxy (443) | ---> | Misskey (3000) || +# +------+ |+-------------+ +----------------+| +# +---------------------------------------+ +# +# You need to set up a reverse proxy. (e.g. nginx) +# An encrypted connection with HTTPS is highly recommended +# because tokens may be transferred in GET requests. + +# The port that your Misskey server should listen on. +port: 3000 + +# You can also use UNIX domain socket. +# socket: /path/to/misskey.sock +# chmodSocket: '777' + +# ┌──────────────────────────┐ +#───┘ PostgreSQL configuration └──────────────────────────────── + +db: + host: localhost + port: 5432 + + # Database name + db: misskey + + # Auth + user: example-misskey-user + pass: example-misskey-pass + + # Whether disable Caching queries + #disableCache: true + + # Extra Connection options + #extra: + # ssl: true + +dbReplications: false + +# You can configure any number of replicas here +#dbSlaves: +# - +# host: +# port: +# db: +# user: +# pass: +# - +# host: +# port: +# db: +# user: +# pass: + +# ┌─────────────────────┐ +#───┘ Redis configuration └───────────────────────────────────── + +redis: + host: localhost + port: 6379 + #family: 0 # 0=Both, 4=IPv4, 6=IPv6 + #pass: example-pass + #prefix: example-prefix + #db: 1 + # You can specify more ioredis options... + #username: example-username + +#redisForPubsub: +# host: localhost +# port: 6379 +# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 +# #pass: example-pass +# #prefix: example-prefix +# #db: 1 +# # You can specify more ioredis options... +# #username: example-username + +#redisForJobQueue: +# host: localhost +# port: 6379 +# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 +# #pass: example-pass +# #prefix: example-prefix +# #db: 1 +# # You can specify more ioredis options... +# #username: example-username + +#redisForTimelines: +# host: localhost +# port: 6379 +# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 +# #pass: example-pass +# #prefix: example-prefix +# #db: 1 +# # You can specify more ioredis options... +# #username: example-username + +# ┌───────────────────────────┐ +#───┘ MeiliSearch configuration └───────────────────────────── + +#meilisearch: +# host: localhost +# port: 7700 +# apiKey: '' +# ssl: true +# index: '' +# scope: local + +# ┌───────────────┐ +#───┘ ID generation └─────────────────────────────────────────── + +# You can select the ID generation method. +# You don't usually need to change this setting, but you can +# change it according to your preferences. + +# Available methods: +# aid ... Short, Millisecond accuracy +# aidx ... Millisecond accuracy +# meid ... Similar to ObjectID, Millisecond accuracy +# ulid ... Millisecond accuracy +# objectid ... This is left for backward compatibility + +# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE +# ID SETTINGS AFTER THAT! + +id: 'aidx' + +# ┌─────────────────────┐ +#───┘ Other configuration └───────────────────────────────────── + +# Whether disable HSTS +#disableHsts: true + +# Number of worker processes +#clusterLimit: 1 + +# Job concurrency per worker +#deliverJobConcurrency: 128 +#inboxJobConcurrency: 16 +#relashionshipJobConcurrency: 16 +# What's relashionshipJob?: +# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations. + +# Job rate limiter +#deliverJobPerSec: 128 +#inboxJobPerSec: 16 +#relashionshipJobPerSec: 64 + +# Job attempts +#deliverJobMaxAttempts: 12 +#inboxJobMaxAttempts: 8 + +# Local address used for outgoing requests +#outgoingAddress: 127.0.0.1 + +# IP address family used for outgoing request (ipv4, ipv6 or dual) +#outgoingAddressFamily: ipv4 + +# Proxy for HTTP/HTTPS +#proxy: http://127.0.0.1:3128 + +proxyBypassHosts: + - api.deepl.com + - api-free.deepl.com + - www.recaptcha.net + - hcaptcha.com + - challenges.cloudflare.com + +# Proxy for SMTP/SMTPS +#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT +#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 +#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 + +# Media Proxy +# Reference Implementation: https://github.com/misskey-dev/media-proxy +# * Deliver a common cache between instances +# * Perform image compression (on a different server resource than the main process) +#mediaProxy: https://example.com/proxy + +# Proxy remote files (default: true) +# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains. +proxyRemoteFiles: true + +# Movie Thumbnail Generation URL +# There is no reference implementation. +# For example, Misskey will point to the following URL: +# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4 +#videoThumbnailGenerator: https://example.com + +# Sign to ActivityPub GET request (default: true) +signToActivityPubGet: true + +#allowedPrivateNetworks: [ +# '127.0.0.1/32' +#] + +# Upload or download file size limits (bytes) +#maxFileSize: 262144000 + +# PID File of master process +#pidFile: /tmp/misskey.pid diff --git a/package.json b/package.json index d0fc867b3c5c..4553def4edc4 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "check:connect": "cd packages/backend && pnpm check:connect", "migrateandstart": "pnpm migrate && pnpm start", "watch": "pnpm dev", - "dev": "node ./scripts/dev.mjs", + "dev": "pnpm -r dev", "lint": "pnpm -r lint", "cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts", "cy:run": "pnpm cypress run", diff --git a/packages/backend/package.json b/packages/backend/package.json index a4856709c311..eb21f21cd622 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -16,6 +16,7 @@ "watch:swc": "swc src -d built -D -w", "build:tsc": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json", "watch": "node watch.mjs", + "dev": "node ./built/boot/entry.js", "typecheck": "tsc --noEmit", "eslint": "eslint --quiet \"src/**/*.ts\"", "lint": "pnpm typecheck && pnpm eslint", diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 62192d0dab23..94a9a2b5db3a 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -4,6 +4,7 @@ "type": "module", "scripts": { "watch": "vite", + "dev": "vite", "build": "vite build", "storybook-dev": "nodemon --verbose --watch src --ext \"mdx,ts,vue\" --ignore \"*.stories.ts\" --exec \"pnpm build-storybook-pre && pnpm exec storybook dev -p 6006 --ci\"", "build-storybook-pre": "(tsc -p .storybook || echo done.) && node .storybook/generate.js && node .storybook/preload-locale.js && node .storybook/preload-theme.js", From ec15eaf2afd8f86cb8c8ed61261f24b3b7fe9a9e Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sun, 19 Nov 2023 19:39:36 +0900 Subject: [PATCH 06/28] favicon --- packages/frontend/vite.config.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index ee96c50128ef..d78bc52109c2 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -44,7 +44,6 @@ function toBase62(n: number): string { export function getConfig(): UserConfig { return { root: "src", - publicDir: "assets", server: { port: 5173, proxy: { @@ -60,9 +59,7 @@ export function getConfig(): UserConfig { target: 'ws://127.0.0.1:3000/', ws: true, }, - "favicon.ico": 'http://127.0.0.1:3000/', - "client-assets": "http://127.0.0.1:3000/" - + "/favicon.ico": 'http://127.0.0.1:3000/', } }, @@ -89,7 +86,7 @@ export function getConfig(): UserConfig { extensions, alias: { '@/': __dirname + '/src/', - '/client-assets/': __dirname + '/assets/', + '/client-assets/': __dirname + '/client-assets/', '/static-assets/': __dirname + '/../backend/assets/', '/fluent-emojis/': __dirname + '/../../fluent-emojis/dist/', '/fluent-emoji/': __dirname + '/../../fluent-emojis/dist/', From 582601e90eb771875bdf8aba263da2316a59d01b Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sun, 19 Nov 2023 19:54:01 +0900 Subject: [PATCH 07/28] client-assets --- .../assets/{ => client-assets}/about-icon.png | Bin .../frontend/assets/{ => client-assets}/cookie.png | Bin .../frontend/assets/{ => client-assets}/dummy.png | Bin .../frontend/assets/{ => client-assets}/fedi.jpg | Bin .../assets/{ => client-assets}/label-red.svg | 0 .../frontend/assets/{ => client-assets}/label.svg | 0 .../frontend/assets/{ => client-assets}/misskey.svg | 0 .../frontend/assets/{ => client-assets}/remove.png | Bin .../assets/{ => client-assets}/sounds/aisha/1.mp3 | Bin .../assets/{ => client-assets}/sounds/aisha/2.mp3 | Bin .../assets/{ => client-assets}/sounds/aisha/3.mp3 | Bin .../sounds/noizenecio/kick_gaba1.mp3 | Bin .../sounds/noizenecio/kick_gaba2.mp3 | Bin .../sounds/noizenecio/kick_gaba3.mp3 | Bin .../sounds/noizenecio/kick_gaba4.mp3 | Bin .../sounds/noizenecio/kick_gaba5.mp3 | Bin .../sounds/noizenecio/kick_gaba6.mp3 | Bin .../sounds/noizenecio/kick_gaba7.mp3 | Bin .../{ => client-assets}/sounds/syuilo/down.mp3 | Bin .../{ => client-assets}/sounds/syuilo/kick.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-aec-4va.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-aec-4vb.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-aec-8va.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-aec-8vb.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-aec.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-cea-4va.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-cea-4vb.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-cea-8va.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-cea-8vb.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-cea.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-ea-4va.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-ea-4vb.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-ea-8va.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-ea-8vb.mp3 | Bin .../sounds/syuilo/n-ea-harmony.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-ea.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-eca-4va.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-eca-4vb.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-eca-8va.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-eca-8vb.mp3 | Bin .../{ => client-assets}/sounds/syuilo/n-eca.mp3 | Bin .../sounds/syuilo/pirori-square-wet.mp3 | Bin .../sounds/syuilo/pirori-wet.mp3 | Bin .../{ => client-assets}/sounds/syuilo/pirori.mp3 | Bin .../{ => client-assets}/sounds/syuilo/poi1.mp3 | Bin .../{ => client-assets}/sounds/syuilo/poi2.mp3 | Bin .../{ => client-assets}/sounds/syuilo/pope1.mp3 | Bin .../{ => client-assets}/sounds/syuilo/pope2.mp3 | Bin .../{ => client-assets}/sounds/syuilo/popo.mp3 | Bin .../sounds/syuilo/queue-jammed.mp3 | Bin .../{ => client-assets}/sounds/syuilo/reverved.mp3 | Bin .../{ => client-assets}/sounds/syuilo/ryukyu.mp3 | Bin .../{ => client-assets}/sounds/syuilo/snare.mp3 | Bin .../sounds/syuilo/square-pico.mp3 | Bin .../{ => client-assets}/sounds/syuilo/triple.mp3 | Bin .../assets/{ => client-assets}/sounds/syuilo/up.mp3 | Bin .../{ => client-assets}/sounds/syuilo/waon.mp3 | Bin .../assets/{ => client-assets}/tagcanvas.min.js | 0 .../assets/{ => client-assets}/tutorial/ai.webp | Bin .../{ => client-assets}/tutorial/natto_failed.webp | Bin .../{ => client-assets}/tutorial/timeline_tab.png | Bin .../frontend/assets/{ => client-assets}/unread.svg | 0 packages/frontend/vite.config.ts | 3 ++- 63 files changed, 2 insertions(+), 1 deletion(-) rename packages/frontend/assets/{ => client-assets}/about-icon.png (100%) rename packages/frontend/assets/{ => client-assets}/cookie.png (100%) rename packages/frontend/assets/{ => client-assets}/dummy.png (100%) rename packages/frontend/assets/{ => client-assets}/fedi.jpg (100%) rename packages/frontend/assets/{ => client-assets}/label-red.svg (100%) rename packages/frontend/assets/{ => client-assets}/label.svg (100%) rename packages/frontend/assets/{ => client-assets}/misskey.svg (100%) rename packages/frontend/assets/{ => client-assets}/remove.png (100%) rename packages/frontend/assets/{ => client-assets}/sounds/aisha/1.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/aisha/2.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/aisha/3.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/noizenecio/kick_gaba1.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/noizenecio/kick_gaba2.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/noizenecio/kick_gaba3.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/noizenecio/kick_gaba4.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/noizenecio/kick_gaba5.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/noizenecio/kick_gaba6.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/noizenecio/kick_gaba7.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/down.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/kick.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-aec-4va.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-aec-4vb.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-aec-8va.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-aec-8vb.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-aec.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-cea-4va.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-cea-4vb.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-cea-8va.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-cea-8vb.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-cea.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-ea-4va.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-ea-4vb.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-ea-8va.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-ea-8vb.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-ea-harmony.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-ea.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-eca-4va.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-eca-4vb.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-eca-8va.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-eca-8vb.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/n-eca.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/pirori-square-wet.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/pirori-wet.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/pirori.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/poi1.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/poi2.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/pope1.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/pope2.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/popo.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/queue-jammed.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/reverved.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/ryukyu.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/snare.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/square-pico.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/triple.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/up.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/sounds/syuilo/waon.mp3 (100%) rename packages/frontend/assets/{ => client-assets}/tagcanvas.min.js (100%) rename packages/frontend/assets/{ => client-assets}/tutorial/ai.webp (100%) rename packages/frontend/assets/{ => client-assets}/tutorial/natto_failed.webp (100%) rename packages/frontend/assets/{ => client-assets}/tutorial/timeline_tab.png (100%) rename packages/frontend/assets/{ => client-assets}/unread.svg (100%) diff --git a/packages/frontend/assets/about-icon.png b/packages/frontend/assets/client-assets/about-icon.png similarity index 100% rename from packages/frontend/assets/about-icon.png rename to packages/frontend/assets/client-assets/about-icon.png diff --git a/packages/frontend/assets/cookie.png b/packages/frontend/assets/client-assets/cookie.png similarity index 100% rename from packages/frontend/assets/cookie.png rename to packages/frontend/assets/client-assets/cookie.png diff --git a/packages/frontend/assets/dummy.png b/packages/frontend/assets/client-assets/dummy.png similarity index 100% rename from packages/frontend/assets/dummy.png rename to packages/frontend/assets/client-assets/dummy.png diff --git a/packages/frontend/assets/fedi.jpg b/packages/frontend/assets/client-assets/fedi.jpg similarity index 100% rename from packages/frontend/assets/fedi.jpg rename to packages/frontend/assets/client-assets/fedi.jpg diff --git a/packages/frontend/assets/label-red.svg b/packages/frontend/assets/client-assets/label-red.svg similarity index 100% rename from packages/frontend/assets/label-red.svg rename to packages/frontend/assets/client-assets/label-red.svg diff --git a/packages/frontend/assets/label.svg b/packages/frontend/assets/client-assets/label.svg similarity index 100% rename from packages/frontend/assets/label.svg rename to packages/frontend/assets/client-assets/label.svg diff --git a/packages/frontend/assets/misskey.svg b/packages/frontend/assets/client-assets/misskey.svg similarity index 100% rename from packages/frontend/assets/misskey.svg rename to packages/frontend/assets/client-assets/misskey.svg diff --git a/packages/frontend/assets/remove.png b/packages/frontend/assets/client-assets/remove.png similarity index 100% rename from packages/frontend/assets/remove.png rename to packages/frontend/assets/client-assets/remove.png diff --git a/packages/frontend/assets/sounds/aisha/1.mp3 b/packages/frontend/assets/client-assets/sounds/aisha/1.mp3 similarity index 100% rename from packages/frontend/assets/sounds/aisha/1.mp3 rename to packages/frontend/assets/client-assets/sounds/aisha/1.mp3 diff --git a/packages/frontend/assets/sounds/aisha/2.mp3 b/packages/frontend/assets/client-assets/sounds/aisha/2.mp3 similarity index 100% rename from packages/frontend/assets/sounds/aisha/2.mp3 rename to packages/frontend/assets/client-assets/sounds/aisha/2.mp3 diff --git a/packages/frontend/assets/sounds/aisha/3.mp3 b/packages/frontend/assets/client-assets/sounds/aisha/3.mp3 similarity index 100% rename from packages/frontend/assets/sounds/aisha/3.mp3 rename to packages/frontend/assets/client-assets/sounds/aisha/3.mp3 diff --git a/packages/frontend/assets/sounds/noizenecio/kick_gaba1.mp3 b/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba1.mp3 similarity index 100% rename from packages/frontend/assets/sounds/noizenecio/kick_gaba1.mp3 rename to packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba1.mp3 diff --git a/packages/frontend/assets/sounds/noizenecio/kick_gaba2.mp3 b/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba2.mp3 similarity index 100% rename from packages/frontend/assets/sounds/noizenecio/kick_gaba2.mp3 rename to packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba2.mp3 diff --git a/packages/frontend/assets/sounds/noizenecio/kick_gaba3.mp3 b/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba3.mp3 similarity index 100% rename from packages/frontend/assets/sounds/noizenecio/kick_gaba3.mp3 rename to packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba3.mp3 diff --git a/packages/frontend/assets/sounds/noizenecio/kick_gaba4.mp3 b/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba4.mp3 similarity index 100% rename from packages/frontend/assets/sounds/noizenecio/kick_gaba4.mp3 rename to packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba4.mp3 diff --git a/packages/frontend/assets/sounds/noizenecio/kick_gaba5.mp3 b/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba5.mp3 similarity index 100% rename from packages/frontend/assets/sounds/noizenecio/kick_gaba5.mp3 rename to packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba5.mp3 diff --git a/packages/frontend/assets/sounds/noizenecio/kick_gaba6.mp3 b/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba6.mp3 similarity index 100% rename from packages/frontend/assets/sounds/noizenecio/kick_gaba6.mp3 rename to packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba6.mp3 diff --git a/packages/frontend/assets/sounds/noizenecio/kick_gaba7.mp3 b/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba7.mp3 similarity index 100% rename from packages/frontend/assets/sounds/noizenecio/kick_gaba7.mp3 rename to packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba7.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/down.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/down.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/down.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/down.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/kick.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/kick.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/kick.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/kick.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-aec-4va.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-aec-4va.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-aec-4va.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-aec-4va.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-aec-4vb.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-aec-4vb.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-aec-4vb.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-aec-4vb.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-aec-8va.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-aec-8va.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-aec-8va.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-aec-8va.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-aec-8vb.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-aec-8vb.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-aec-8vb.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-aec-8vb.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-aec.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-aec.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-aec.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-aec.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-cea-4va.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-cea-4va.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-cea-4va.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-cea-4va.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-cea-4vb.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-cea-4vb.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-cea-4vb.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-cea-4vb.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-cea-8va.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-cea-8va.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-cea-8va.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-cea-8va.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-cea-8vb.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-cea-8vb.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-cea-8vb.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-cea-8vb.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-cea.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-cea.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-cea.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-cea.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-ea-4va.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-4va.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-ea-4va.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-ea-4va.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-ea-4vb.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-4vb.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-ea-4vb.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-ea-4vb.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-ea-8va.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-8va.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-ea-8va.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-ea-8va.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-ea-8vb.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-8vb.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-ea-8vb.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-ea-8vb.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-ea-harmony.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-harmony.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-ea-harmony.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-ea-harmony.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-ea.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-ea.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-ea.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-ea.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-eca-4va.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-eca-4va.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-eca-4va.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-eca-4va.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-eca-4vb.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-eca-4vb.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-eca-4vb.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-eca-4vb.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-eca-8va.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-eca-8va.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-eca-8va.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-eca-8va.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-eca-8vb.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-eca-8vb.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-eca-8vb.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-eca-8vb.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/n-eca.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/n-eca.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/n-eca.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/n-eca.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/pirori-square-wet.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/pirori-square-wet.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/pirori-square-wet.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/pirori-square-wet.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/pirori-wet.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/pirori-wet.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/pirori-wet.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/pirori-wet.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/pirori.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/pirori.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/pirori.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/pirori.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/poi1.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/poi1.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/poi1.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/poi1.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/poi2.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/poi2.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/poi2.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/poi2.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/pope1.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/pope1.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/pope1.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/pope1.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/pope2.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/pope2.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/pope2.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/pope2.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/popo.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/popo.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/popo.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/popo.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/queue-jammed.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/queue-jammed.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/queue-jammed.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/queue-jammed.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/reverved.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/reverved.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/reverved.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/reverved.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/ryukyu.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/ryukyu.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/ryukyu.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/ryukyu.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/snare.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/snare.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/snare.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/snare.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/square-pico.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/square-pico.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/square-pico.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/square-pico.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/triple.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/triple.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/triple.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/triple.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/up.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/up.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/up.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/up.mp3 diff --git a/packages/frontend/assets/sounds/syuilo/waon.mp3 b/packages/frontend/assets/client-assets/sounds/syuilo/waon.mp3 similarity index 100% rename from packages/frontend/assets/sounds/syuilo/waon.mp3 rename to packages/frontend/assets/client-assets/sounds/syuilo/waon.mp3 diff --git a/packages/frontend/assets/tagcanvas.min.js b/packages/frontend/assets/client-assets/tagcanvas.min.js similarity index 100% rename from packages/frontend/assets/tagcanvas.min.js rename to packages/frontend/assets/client-assets/tagcanvas.min.js diff --git a/packages/frontend/assets/tutorial/ai.webp b/packages/frontend/assets/client-assets/tutorial/ai.webp similarity index 100% rename from packages/frontend/assets/tutorial/ai.webp rename to packages/frontend/assets/client-assets/tutorial/ai.webp diff --git a/packages/frontend/assets/tutorial/natto_failed.webp b/packages/frontend/assets/client-assets/tutorial/natto_failed.webp similarity index 100% rename from packages/frontend/assets/tutorial/natto_failed.webp rename to packages/frontend/assets/client-assets/tutorial/natto_failed.webp diff --git a/packages/frontend/assets/tutorial/timeline_tab.png b/packages/frontend/assets/client-assets/tutorial/timeline_tab.png similarity index 100% rename from packages/frontend/assets/tutorial/timeline_tab.png rename to packages/frontend/assets/client-assets/tutorial/timeline_tab.png diff --git a/packages/frontend/assets/unread.svg b/packages/frontend/assets/client-assets/unread.svg similarity index 100% rename from packages/frontend/assets/unread.svg rename to packages/frontend/assets/client-assets/unread.svg diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index d78bc52109c2..079cc708904e 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -44,6 +44,7 @@ function toBase62(n: number): string { export function getConfig(): UserConfig { return { root: "src", + publicDir: "../assets", server: { port: 5173, proxy: { @@ -86,7 +87,7 @@ export function getConfig(): UserConfig { extensions, alias: { '@/': __dirname + '/src/', - '/client-assets/': __dirname + '/client-assets/', + '/client-assets/': __dirname + '/assets/client-assets/', '/static-assets/': __dirname + '/../backend/assets/', '/fluent-emojis/': __dirname + '/../../fluent-emojis/dist/', '/fluent-emoji/': __dirname + '/../../fluent-emojis/dist/', From 42618351aa45453149943e363878ee69e839681a Mon Sep 17 00:00:00 2001 From: osamu <46447427+sam-osamu@users.noreply.github.com> Date: Sun, 19 Nov 2023 21:13:46 +0900 Subject: [PATCH 08/28] =?UTF-8?q?css=E3=81=AE=E8=AA=AD=E3=81=BF=E8=BE=BC?= =?UTF-8?q?=E3=81=BF=E9=A0=86=E5=BA=8F=E3=81=A8CSP=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=81=AE=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/index.html | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html index 251b45095243..cd4c93bf43be 100644 --- a/packages/frontend/src/index.html +++ b/packages/frontend/src/index.html @@ -6,16 +6,18 @@ - + + +
- - From c2fbb5a135d587cb66230d454046708ed6897ae7 Mon Sep 17 00:00:00 2001 From: osamu <46447427+sam-osamu@users.noreply.github.com> Date: Sun, 19 Nov 2023 22:31:20 +0900 Subject: [PATCH 09/28] fix lang change --- packages/frontend/src/pages/settings/general.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/frontend/src/pages/settings/general.vue b/packages/frontend/src/pages/settings/general.vue index 06d3789829a6..db7d0a85c8dc 100644 --- a/packages/frontend/src/pages/settings/general.vue +++ b/packages/frontend/src/pages/settings/general.vue @@ -260,6 +260,7 @@ const useGroupedNotifications = computed(defaultStore.makeGetterSetter('useGroup watch(lang, () => { miLocalStorage.setItem('lang', lang.value as string); miLocalStorage.removeItem('locale'); + miLocalStorage.removeItem('localeVersion'); }); watch(fontSize, () => { From 6fd9ac4b1ba8b28a7a48cad3d0083fed978d0649 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sun, 19 Nov 2023 23:54:20 +0900 Subject: [PATCH 10/28] fix clientManifest --- packages/backend/src/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts index b25554b22938..22a5ce173068 100644 --- a/packages/backend/src/config.ts +++ b/packages/backend/src/config.ts @@ -255,7 +255,7 @@ 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'], + clientEntry: clientManifest['index.html'], clientManifestExists: clientManifestExists, perChannelMaxNoteCacheCount: config.perChannelMaxNoteCacheCount ?? 1000, perUserNotificationsMaxCount: config.perUserNotificationsMaxCount ?? 500, From 97a1f81e758fd4f87f1aa0a018968066a21e7721 Mon Sep 17 00:00:00 2001 From: osamu <46447427+sam-osamu@users.noreply.github.com> Date: Mon, 20 Nov 2023 07:50:13 +0900 Subject: [PATCH 11/28] =?UTF-8?q?base=E3=82=92=E7=9B=B8=E5=AF=BE=E3=83=91?= =?UTF-8?q?=E3=82=B9=E3=81=AB=E3=81=97=E3=81=A6=E3=83=89=E3=83=A1=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E7=9B=B4=E4=B8=8B=E3=81=A8=E3=82=B5=E3=83=96=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=83=AC=E3=82=AF=E3=83=88=E3=83=AA=E9=85=8D=E4=B8=8B?= =?UTF-8?q?=E4=B8=A1=E6=96=B9=E3=81=AB=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/vite.config.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index 079cc708904e..6282d41ca806 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -1,7 +1,7 @@ -import path, {resolve} from 'path'; +import path from 'path'; import pluginReplace from '@rollup/plugin-replace'; import pluginVue from '@vitejs/plugin-vue'; -import { type UserConfig, defineConfig } from 'vite'; +import { defineConfig, type UserConfig } from 'vite'; // @ts-expect-error https://github.com/sxzz/unplugin-vue-macros/issues/257#issuecomment-1410752890 import ReactivityTransform from '@vue-macros/reactivity-transform/vite'; @@ -43,8 +43,9 @@ function toBase62(n: number): string { export function getConfig(): UserConfig { return { - root: "src", - publicDir: "../assets", + root: 'src', + publicDir: '../assets', + base: './', server: { port: 5173, proxy: { @@ -60,8 +61,8 @@ export function getConfig(): UserConfig { target: 'ws://127.0.0.1:3000/', ws: true, }, - "/favicon.ico": 'http://127.0.0.1:3000/', - } + '/favicon.ico': 'http://127.0.0.1:3000/', + }, }, plugins: [ From 325dda675c2bf08de5735db67fb233985eb0f8b4 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sat, 25 Nov 2023 20:44:49 +0900 Subject: [PATCH 12/28] =?UTF-8?q?=E8=89=B2=E3=80=85=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/dev-local.yml | 223 ++++++++++++++++++++++++++++++++++ docker-compose.local-dev.yml | 42 +++++++ packages/backend/package.json | 2 +- 3 files changed, 266 insertions(+), 1 deletion(-) create mode 100644 .config/dev-local.yml create mode 100644 docker-compose.local-dev.yml diff --git a/.config/dev-local.yml b/.config/dev-local.yml new file mode 100644 index 000000000000..f79132c79df6 --- /dev/null +++ b/.config/dev-local.yml @@ -0,0 +1,223 @@ +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# Misskey configuration +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +# ┌─────┐ +#───┘ URL └───────────────────────────────────────────────────── + +# Final accessible URL seen by a user. +# dev-local では identiconのCORS問題の解決のため 127.0.0.1 である必要があります +# Macでは port:80での起動にsudoが必要です +url: http://127.0.0.1/ + +# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE +# URL SETTINGS AFTER THAT! + +# ┌───────────────────────┐ +#───┘ Port and TLS settings └─────────────────────────────────── + +# +# Misskey requires a reverse proxy to support HTTPS connections. +# +# +----- https://example.tld/ ------------+ +# +------+ |+-------------+ +----------------+| +# | User | ---> || Proxy (443) | ---> | Misskey (3000) || +# +------+ |+-------------+ +----------------+| +# +---------------------------------------+ +# +# You need to set up a reverse proxy. (e.g. nginx) +# An encrypted connection with HTTPS is highly recommended +# because tokens may be transferred in GET requests. + +# The port that your Misskey server should listen on. +port: 3000 + +# You can also use UNIX domain socket. +# socket: /path/to/misskey.sock +# chmodSocket: '777' + +# ┌──────────────────────────┐ +#───┘ PostgreSQL configuration └──────────────────────────────── + +db: + host: localhost + port: 5432 + + # Database name + db: misskey + + # Auth + user: example-misskey-user + pass: example-misskey-pass + + # Whether disable Caching queries + #disableCache: true + + # Extra Connection options + #extra: + # ssl: true + +dbReplications: false + +# You can configure any number of replicas here +#dbSlaves: +# - +# host: +# port: +# db: +# user: +# pass: +# - +# host: +# port: +# db: +# user: +# pass: + +# ┌─────────────────────┐ +#───┘ Redis configuration └───────────────────────────────────── + +redis: + host: localhost + port: 6379 + #family: 0 # 0=Both, 4=IPv4, 6=IPv6 + #pass: example-pass + #prefix: example-prefix + #db: 1 + # You can specify more ioredis options... + #username: example-username + +#redisForPubsub: +# host: localhost +# port: 6379 +# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 +# #pass: example-pass +# #prefix: example-prefix +# #db: 1 +# # You can specify more ioredis options... +# #username: example-username + +#redisForJobQueue: +# host: localhost +# port: 6379 +# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 +# #pass: example-pass +# #prefix: example-prefix +# #db: 1 +# # You can specify more ioredis options... +# #username: example-username + +#redisForTimelines: +# host: localhost +# port: 6379 +# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 +# #pass: example-pass +# #prefix: example-prefix +# #db: 1 +# # You can specify more ioredis options... +# #username: example-username + +# ┌───────────────────────────┐ +#───┘ MeiliSearch configuration └───────────────────────────── + +#meilisearch: +# host: localhost +# port: 7700 +# apiKey: '' +# ssl: true +# index: '' +# scope: local + +# ┌───────────────┐ +#───┘ ID generation └─────────────────────────────────────────── + +# You can select the ID generation method. +# You don't usually need to change this setting, but you can +# change it according to your preferences. + +# Available methods: +# aid ... Short, Millisecond accuracy +# aidx ... Millisecond accuracy +# meid ... Similar to ObjectID, Millisecond accuracy +# ulid ... Millisecond accuracy +# objectid ... This is left for backward compatibility + +# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE +# ID SETTINGS AFTER THAT! + +id: 'aidx' + +# ┌─────────────────────┐ +#───┘ Other configuration └───────────────────────────────────── + +# Whether disable HSTS +#disableHsts: true + +# Number of worker processes +#clusterLimit: 1 + +# Job concurrency per worker +#deliverJobConcurrency: 128 +#inboxJobConcurrency: 16 +#relashionshipJobConcurrency: 16 +# What's relashionshipJob?: +# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations. + +# Job rate limiter +#deliverJobPerSec: 128 +#inboxJobPerSec: 16 +#relashionshipJobPerSec: 64 + +# Job attempts +#deliverJobMaxAttempts: 12 +#inboxJobMaxAttempts: 8 + +# Local address used for outgoing requests +#outgoingAddress: 127.0.0.1 + +# IP address family used for outgoing request (ipv4, ipv6 or dual) +#outgoingAddressFamily: ipv4 + +# Proxy for HTTP/HTTPS +#proxy: http://127.0.0.1:3128 + +proxyBypassHosts: + - api.deepl.com + - api-free.deepl.com + - www.recaptcha.net + - hcaptcha.com + - challenges.cloudflare.com + +# Proxy for SMTP/SMTPS +#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT +#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 +#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 + +# Media Proxy +# Reference Implementation: https://github.com/misskey-dev/media-proxy +# * Deliver a common cache between instances +# * Perform image compression (on a different server resource than the main process) +#mediaProxy: https://example.com/proxy + +# Proxy remote files (default: true) +# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains. +proxyRemoteFiles: true + +# Movie Thumbnail Generation URL +# There is no reference implementation. +# For example, Misskey will point to the following URL: +# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4 +#videoThumbnailGenerator: https://example.com + +# Sign to ActivityPub GET request (default: true) +signToActivityPubGet: true + +#allowedPrivateNetworks: [ +# '127.0.0.1/32' +#] + +# Upload or download file size limits (bytes) +#maxFileSize: 262144000 + +# PID File of master process +#pidFile: /tmp/misskey.pid diff --git a/docker-compose.local-dev.yml b/docker-compose.local-dev.yml new file mode 100644 index 000000000000..216593d3dd6b --- /dev/null +++ b/docker-compose.local-dev.yml @@ -0,0 +1,42 @@ +version: "3" + +services: + redis: + restart: always + image: redis:7-alpine + ports: + - "6379:6379" + volumes: + - ./redis:/data + healthcheck: + test: "redis-cli ping" + interval: 5s + retries: 20 + + db: + restart: always + image: postgres:15-alpine + ports: + - "5432:5432" + env_file: + - .config/docker.env + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" + interval: 5s + retries: 20 + +# meilisearch: +# restart: always +# image: getmeili/meilisearch:v1.3.4 +# environment: +# - MEILI_NO_ANALYTICS=true +# - MEILI_ENV=production +# env_file: +# - .config/meilisearch.env +# networks: +# - internal_network +# volumes: +# - ./meili_data:/meili_data + diff --git a/packages/backend/package.json b/packages/backend/package.json index eb21f21cd622..8d4711d90374 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -16,7 +16,7 @@ "watch:swc": "swc src -d built -D -w", "build:tsc": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json", "watch": "node watch.mjs", - "dev": "node ./built/boot/entry.js", + "dev": "cross-env MISSKEY_CONFIG_YML=dev-local.yml node ./built/boot/entry.js", "typecheck": "tsc --noEmit", "eslint": "eslint --quiet \"src/**/*.ts\"", "lint": "pnpm typecheck && pnpm eslint", From a654c155ffaa30333a5dd30a8db3fa1e37c2bb92 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sat, 25 Nov 2023 20:45:11 +0900 Subject: [PATCH 13/28] =?UTF-8?q?=E8=89=B2=E3=80=85=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/example.local.yml | 221 -------------------------------------- 1 file changed, 221 deletions(-) delete mode 100644 .config/example.local.yml diff --git a/.config/example.local.yml b/.config/example.local.yml deleted file mode 100644 index 3b197d1045b9..000000000000 --- a/.config/example.local.yml +++ /dev/null @@ -1,221 +0,0 @@ -#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -# Misskey configuration -#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - -# ┌─────┐ -#───┘ URL └───────────────────────────────────────────────────── - -# Final accessible URL seen by a user. -url: http://127.0.0.1/ - -# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE -# URL SETTINGS AFTER THAT! - -# ┌───────────────────────┐ -#───┘ Port and TLS settings └─────────────────────────────────── - -# -# Misskey requires a reverse proxy to support HTTPS connections. -# -# +----- https://example.tld/ ------------+ -# +------+ |+-------------+ +----------------+| -# | User | ---> || Proxy (443) | ---> | Misskey (3000) || -# +------+ |+-------------+ +----------------+| -# +---------------------------------------+ -# -# You need to set up a reverse proxy. (e.g. nginx) -# An encrypted connection with HTTPS is highly recommended -# because tokens may be transferred in GET requests. - -# The port that your Misskey server should listen on. -port: 3000 - -# You can also use UNIX domain socket. -# socket: /path/to/misskey.sock -# chmodSocket: '777' - -# ┌──────────────────────────┐ -#───┘ PostgreSQL configuration └──────────────────────────────── - -db: - host: localhost - port: 5432 - - # Database name - db: misskey - - # Auth - user: example-misskey-user - pass: example-misskey-pass - - # Whether disable Caching queries - #disableCache: true - - # Extra Connection options - #extra: - # ssl: true - -dbReplications: false - -# You can configure any number of replicas here -#dbSlaves: -# - -# host: -# port: -# db: -# user: -# pass: -# - -# host: -# port: -# db: -# user: -# pass: - -# ┌─────────────────────┐ -#───┘ Redis configuration └───────────────────────────────────── - -redis: - host: localhost - port: 6379 - #family: 0 # 0=Both, 4=IPv4, 6=IPv6 - #pass: example-pass - #prefix: example-prefix - #db: 1 - # You can specify more ioredis options... - #username: example-username - -#redisForPubsub: -# host: localhost -# port: 6379 -# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 -# #pass: example-pass -# #prefix: example-prefix -# #db: 1 -# # You can specify more ioredis options... -# #username: example-username - -#redisForJobQueue: -# host: localhost -# port: 6379 -# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 -# #pass: example-pass -# #prefix: example-prefix -# #db: 1 -# # You can specify more ioredis options... -# #username: example-username - -#redisForTimelines: -# host: localhost -# port: 6379 -# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 -# #pass: example-pass -# #prefix: example-prefix -# #db: 1 -# # You can specify more ioredis options... -# #username: example-username - -# ┌───────────────────────────┐ -#───┘ MeiliSearch configuration └───────────────────────────── - -#meilisearch: -# host: localhost -# port: 7700 -# apiKey: '' -# ssl: true -# index: '' -# scope: local - -# ┌───────────────┐ -#───┘ ID generation └─────────────────────────────────────────── - -# You can select the ID generation method. -# You don't usually need to change this setting, but you can -# change it according to your preferences. - -# Available methods: -# aid ... Short, Millisecond accuracy -# aidx ... Millisecond accuracy -# meid ... Similar to ObjectID, Millisecond accuracy -# ulid ... Millisecond accuracy -# objectid ... This is left for backward compatibility - -# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE -# ID SETTINGS AFTER THAT! - -id: 'aidx' - -# ┌─────────────────────┐ -#───┘ Other configuration └───────────────────────────────────── - -# Whether disable HSTS -#disableHsts: true - -# Number of worker processes -#clusterLimit: 1 - -# Job concurrency per worker -#deliverJobConcurrency: 128 -#inboxJobConcurrency: 16 -#relashionshipJobConcurrency: 16 -# What's relashionshipJob?: -# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations. - -# Job rate limiter -#deliverJobPerSec: 128 -#inboxJobPerSec: 16 -#relashionshipJobPerSec: 64 - -# Job attempts -#deliverJobMaxAttempts: 12 -#inboxJobMaxAttempts: 8 - -# Local address used for outgoing requests -#outgoingAddress: 127.0.0.1 - -# IP address family used for outgoing request (ipv4, ipv6 or dual) -#outgoingAddressFamily: ipv4 - -# Proxy for HTTP/HTTPS -#proxy: http://127.0.0.1:3128 - -proxyBypassHosts: - - api.deepl.com - - api-free.deepl.com - - www.recaptcha.net - - hcaptcha.com - - challenges.cloudflare.com - -# Proxy for SMTP/SMTPS -#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT -#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 -#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 - -# Media Proxy -# Reference Implementation: https://github.com/misskey-dev/media-proxy -# * Deliver a common cache between instances -# * Perform image compression (on a different server resource than the main process) -#mediaProxy: https://example.com/proxy - -# Proxy remote files (default: true) -# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains. -proxyRemoteFiles: true - -# Movie Thumbnail Generation URL -# There is no reference implementation. -# For example, Misskey will point to the following URL: -# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4 -#videoThumbnailGenerator: https://example.com - -# Sign to ActivityPub GET request (default: true) -signToActivityPubGet: true - -#allowedPrivateNetworks: [ -# '127.0.0.1/32' -#] - -# Upload or download file size limits (bytes) -#maxFileSize: 262144000 - -# PID File of master process -#pidFile: /tmp/misskey.pid From 0632849c12da05d6ae4faf5e3cae0ceaf663a0ca Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sat, 25 Nov 2023 21:27:42 +0900 Subject: [PATCH 14/28] =?UTF-8?q?=E8=89=B2=E3=80=85=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/dev-local.yml | 2 +- packages/frontend/package.json | 2 +- packages/frontend/src/index.html | 2 +- packages/frontend/vite.config.local-dev.ts | 157 +++++++++++++++++++++ packages/frontend/vite.config.ts | 27 +--- 5 files changed, 167 insertions(+), 23 deletions(-) create mode 100644 packages/frontend/vite.config.local-dev.ts diff --git a/.config/dev-local.yml b/.config/dev-local.yml index f79132c79df6..d2e3c9ef50b0 100644 --- a/.config/dev-local.yml +++ b/.config/dev-local.yml @@ -8,7 +8,7 @@ # Final accessible URL seen by a user. # dev-local では identiconのCORS問題の解決のため 127.0.0.1 である必要があります # Macでは port:80での起動にsudoが必要です -url: http://127.0.0.1/ +url: http://127.0.0.1:5173/ # ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE # URL SETTINGS AFTER THAT! diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 94a9a2b5db3a..06c913d42acd 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -4,7 +4,7 @@ "type": "module", "scripts": { "watch": "vite", - "dev": "vite", + "dev": "vite --config vite.config.local-dev.ts", "build": "vite build", "storybook-dev": "nodemon --verbose --watch src --ext \"mdx,ts,vue\" --ignore \"*.stories.ts\" --exec \"pnpm build-storybook-pre && pnpm exec storybook dev -p 6006 --ci\"", "build-storybook-pre": "(tsc -p .storybook || echo done.) && node .storybook/generate.js && node .storybook/preload-locale.js && node .storybook/preload-theme.js", diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html index cd4c93bf43be..a79d446a5649 100644 --- a/packages/frontend/src/index.html +++ b/packages/frontend/src/index.html @@ -9,7 +9,7 @@ content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; - img-src 'self' data: www.google.com xn--931a.moe localhost:3000" + img-src 'self' data: www.google.com xn--931a.moe 127.0.0.1:5173 127.0.0.1:3000" /> diff --git a/packages/frontend/vite.config.local-dev.ts b/packages/frontend/vite.config.local-dev.ts new file mode 100644 index 000000000000..19b6d24186c8 --- /dev/null +++ b/packages/frontend/vite.config.local-dev.ts @@ -0,0 +1,157 @@ +import path from 'path'; +import pluginReplace from '@rollup/plugin-replace'; +import pluginVue from '@vitejs/plugin-vue'; +import { defineConfig, type UserConfig } from 'vite'; +// @ts-expect-error https://github.com/sxzz/unplugin-vue-macros/issues/257#issuecomment-1410752890 +import ReactivityTransform from '@vue-macros/reactivity-transform/vite'; + +import locales from '../../locales'; +import meta from '../../package.json'; +import pluginUnwindCssModuleClassName from './lib/rollup-plugin-unwind-css-module-class-name'; +import pluginJson5 from './vite.json5'; + +const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.json', '.json5', '.svg', '.sass', '.scss', '.css', '.vue']; + +const hash = (str: string, seed = 0): number => { + let h1 = 0xdeadbeef ^ seed, + h2 = 0x41c6ce57 ^ seed; + for (let i = 0, ch; i < str.length; i++) { + ch = str.charCodeAt(i); + h1 = Math.imul(h1 ^ ch, 2654435761); + h2 = Math.imul(h2 ^ ch, 1597334677); + } + + h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909); + h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909); + + return 4294967296 * (2097151 & h2) + (h1 >>> 0); +}; + +const BASE62_DIGITS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + +function toBase62(n: number): string { + if (n === 0) { + return '0'; + } + let result = ''; + while (n > 0) { + result = BASE62_DIGITS[n % BASE62_DIGITS.length] + result; + n = Math.floor(n / BASE62_DIGITS.length); + } + + return result; +} + +export function getConfig(): UserConfig { + return { + + plugins: [ + pluginVue({ + reactivityTransform: true, + }), + ReactivityTransform(), + pluginUnwindCssModuleClassName(), + pluginJson5(), + ...process.env.NODE_ENV === 'production' + ? [ + pluginReplace({ + preventAssignment: true, + values: { + 'isChromatic()': JSON.stringify(false), + }, + }), + ] + : [], + ], + + resolve: { + extensions, + alias: { + '@/': __dirname + '/src/', + '/client-assets/': __dirname + '/assets/client-assets/', + '/static-assets/': __dirname + '/../backend/assets/', + '/fluent-emojis/': __dirname + '/../../fluent-emojis/dist/', + '/fluent-emoji/': __dirname + '/../../fluent-emojis/dist/', + }, + }, + + css: { + modules: { + generateScopedName(name, filename, _css): string { + const id = (path.relative(__dirname, filename.split('?')[0]) + '-' + name).replace(/[\\\/\.\?&=]/g, '-').replace(/(src-|vue-)/g, ''); + if (process.env.NODE_ENV === 'production') { + return 'x' + toBase62(hash(id)).substring(0, 4); + } else { + return id; + } + }, + }, + }, + + define: { + _VERSION_: JSON.stringify(meta.version), + _LANGS_: JSON.stringify(Object.entries(locales).map(([k, v]) => [k, v._lang_])), + _ENV_: JSON.stringify(process.env.NODE_ENV), + _DEV_: process.env.NODE_ENV !== 'production', + _PERF_PREFIX_: JSON.stringify('Misskey:'), + _DATA_TRANSFER_DRIVE_FILE_: JSON.stringify('mk_drive_file'), + _DATA_TRANSFER_DRIVE_FOLDER_: JSON.stringify('mk_drive_folder'), + _DATA_TRANSFER_DECK_COLUMN_: JSON.stringify('mk_deck_column'), + __VUE_OPTIONS_API__: true, + __VUE_PROD_DEVTOOLS__: false, + }, + + // https://vitejs.dev/guide/dep-pre-bundling.html#monorepos-and-linked-dependencies + optimizeDeps: { + include: ['misskey-js'], + }, + + build: { + target: [ + 'chrome116', + 'firefox116', + 'safari16', + ], + manifest: 'manifest.json', + rollupOptions: { + output: { + manualChunks: { + vue: ['vue'], + photoswipe: ['photoswipe', 'photoswipe/lightbox', 'photoswipe/style.css'], + }, + chunkFileNames: process.env.NODE_ENV === 'production' ? '[hash:8].js' : '[name]-[hash:8].js', + assetFileNames: process.env.NODE_ENV === 'production' ? '[hash:8][extname]' : '[name]-[hash:8][extname]', + }, + }, + cssCodeSplit: true, + outDir: __dirname + '/../../built/_vite_', + assetsDir: '.', + emptyOutDir: false, + sourcemap: process.env.NODE_ENV === 'development', + reportCompressedSize: false, + + // https://vitejs.dev/guide/dep-pre-bundling.html#monorepos-and-linked-dependencies + commonjsOptions: { + include: [/misskey-js/, /node_modules/], + }, + }, + + worker: { + format: 'es', + }, + + test: { + environment: 'happy-dom', + deps: { + inline: [ + // XXX: misskey-dev/browser-image-resizer has no "type": "module" + 'browser-image-resizer', + ], + }, + }, + }; +} + +const config = defineConfig(({ command, mode }) => getConfig()); + +export default config; diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index 6282d41ca806..da976b791717 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -1,7 +1,7 @@ import path from 'path'; import pluginReplace from '@rollup/plugin-replace'; import pluginVue from '@vitejs/plugin-vue'; -import { defineConfig, type UserConfig } from 'vite'; +import { type UserConfig, defineConfig } from 'vite'; // @ts-expect-error https://github.com/sxzz/unplugin-vue-macros/issues/257#issuecomment-1410752890 import ReactivityTransform from '@vue-macros/reactivity-transform/vite'; @@ -43,26 +43,10 @@ function toBase62(n: number): string { export function getConfig(): UserConfig { return { - root: 'src', - publicDir: '../assets', - base: './', + base: '/vite/', + server: { port: 5173, - proxy: { - '/api': { - changeOrigin: true, - target: 'http://127.0.0.1:3000/', - }, - '/assets': 'http://127.0.0.1:3000/', - '/twemoji': 'http://127.0.0.1:3000/', - '/fluent-emoji': 'http://127.0.0.1:3000/', - '/sw.js': 'http://127.0.0.1:3000/', - '/streaming': { - target: 'ws://127.0.0.1:3000/', - ws: true, - }, - '/favicon.ico': 'http://127.0.0.1:3000/', - }, }, plugins: [ @@ -88,7 +72,7 @@ export function getConfig(): UserConfig { extensions, alias: { '@/': __dirname + '/src/', - '/client-assets/': __dirname + '/assets/client-assets/', + '/client-assets/': __dirname + '/assets/', '/static-assets/': __dirname + '/../backend/assets/', '/fluent-emojis/': __dirname + '/../../fluent-emojis/dist/', '/fluent-emoji/': __dirname + '/../../fluent-emojis/dist/', @@ -134,6 +118,9 @@ export function getConfig(): UserConfig { ], manifest: 'manifest.json', rollupOptions: { + input: { + app: './src/_boot_.ts', + }, output: { manualChunks: { vue: ['vue'], From 09019b3047768a98e171b4c54f1538a67910ecce Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sat, 25 Nov 2023 21:28:11 +0900 Subject: [PATCH 15/28] fix --- .config/dev-local.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.config/dev-local.yml b/.config/dev-local.yml index d2e3c9ef50b0..23e1b22925aa 100644 --- a/.config/dev-local.yml +++ b/.config/dev-local.yml @@ -7,7 +7,6 @@ # Final accessible URL seen by a user. # dev-local では identiconのCORS問題の解決のため 127.0.0.1 である必要があります -# Macでは port:80での起動にsudoが必要です url: http://127.0.0.1:5173/ # ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE From 84fa6b4bc0f58ba77cc1dc0120062d319084ce12 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sat, 25 Nov 2023 21:37:39 +0900 Subject: [PATCH 16/28] Revert "client-assets" This reverts commit 582601e90eb771875bdf8aba263da2316a59d01b. # Conflicts: # packages/frontend/vite.config.ts --- .../assets/{client-assets => }/about-icon.png | Bin .../frontend/assets/{client-assets => }/cookie.png | Bin .../frontend/assets/{client-assets => }/dummy.png | Bin .../frontend/assets/{client-assets => }/fedi.jpg | Bin .../assets/{client-assets => }/label-red.svg | 0 .../frontend/assets/{client-assets => }/label.svg | 0 .../frontend/assets/{client-assets => }/misskey.svg | 0 .../frontend/assets/{client-assets => }/remove.png | Bin .../assets/{client-assets => }/sounds/aisha/1.mp3 | Bin .../assets/{client-assets => }/sounds/aisha/2.mp3 | Bin .../assets/{client-assets => }/sounds/aisha/3.mp3 | Bin .../sounds/noizenecio/kick_gaba1.mp3 | Bin .../sounds/noizenecio/kick_gaba2.mp3 | Bin .../sounds/noizenecio/kick_gaba3.mp3 | Bin .../sounds/noizenecio/kick_gaba4.mp3 | Bin .../sounds/noizenecio/kick_gaba5.mp3 | Bin .../sounds/noizenecio/kick_gaba6.mp3 | Bin .../sounds/noizenecio/kick_gaba7.mp3 | Bin .../{client-assets => }/sounds/syuilo/down.mp3 | Bin .../{client-assets => }/sounds/syuilo/kick.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-aec-4va.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-aec-4vb.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-aec-8va.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-aec-8vb.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-aec.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-cea-4va.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-cea-4vb.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-cea-8va.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-cea-8vb.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-cea.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-ea-4va.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-ea-4vb.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-ea-8va.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-ea-8vb.mp3 | Bin .../sounds/syuilo/n-ea-harmony.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-ea.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-eca-4va.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-eca-4vb.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-eca-8va.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-eca-8vb.mp3 | Bin .../{client-assets => }/sounds/syuilo/n-eca.mp3 | Bin .../sounds/syuilo/pirori-square-wet.mp3 | Bin .../sounds/syuilo/pirori-wet.mp3 | Bin .../{client-assets => }/sounds/syuilo/pirori.mp3 | Bin .../{client-assets => }/sounds/syuilo/poi1.mp3 | Bin .../{client-assets => }/sounds/syuilo/poi2.mp3 | Bin .../{client-assets => }/sounds/syuilo/pope1.mp3 | Bin .../{client-assets => }/sounds/syuilo/pope2.mp3 | Bin .../{client-assets => }/sounds/syuilo/popo.mp3 | Bin .../sounds/syuilo/queue-jammed.mp3 | Bin .../{client-assets => }/sounds/syuilo/reverved.mp3 | Bin .../{client-assets => }/sounds/syuilo/ryukyu.mp3 | Bin .../{client-assets => }/sounds/syuilo/snare.mp3 | Bin .../sounds/syuilo/square-pico.mp3 | Bin .../{client-assets => }/sounds/syuilo/triple.mp3 | Bin .../assets/{client-assets => }/sounds/syuilo/up.mp3 | Bin .../{client-assets => }/sounds/syuilo/waon.mp3 | Bin .../assets/{client-assets => }/tagcanvas.min.js | 0 .../assets/{client-assets => }/tutorial/ai.webp | Bin .../{client-assets => }/tutorial/natto_failed.webp | Bin .../{client-assets => }/tutorial/timeline_tab.png | Bin .../frontend/assets/{client-assets => }/unread.svg | 0 packages/frontend/vite.config.local-dev.ts | 2 +- packages/frontend/vite.config.ts | 4 ++-- 64 files changed, 3 insertions(+), 3 deletions(-) rename packages/frontend/assets/{client-assets => }/about-icon.png (100%) rename packages/frontend/assets/{client-assets => }/cookie.png (100%) rename packages/frontend/assets/{client-assets => }/dummy.png (100%) rename packages/frontend/assets/{client-assets => }/fedi.jpg (100%) rename packages/frontend/assets/{client-assets => }/label-red.svg (100%) rename packages/frontend/assets/{client-assets => }/label.svg (100%) rename packages/frontend/assets/{client-assets => }/misskey.svg (100%) rename packages/frontend/assets/{client-assets => }/remove.png (100%) rename packages/frontend/assets/{client-assets => }/sounds/aisha/1.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/aisha/2.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/aisha/3.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/noizenecio/kick_gaba1.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/noizenecio/kick_gaba2.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/noizenecio/kick_gaba3.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/noizenecio/kick_gaba4.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/noizenecio/kick_gaba5.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/noizenecio/kick_gaba6.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/noizenecio/kick_gaba7.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/down.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/kick.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-aec-4va.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-aec-4vb.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-aec-8va.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-aec-8vb.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-aec.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-cea-4va.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-cea-4vb.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-cea-8va.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-cea-8vb.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-cea.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-ea-4va.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-ea-4vb.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-ea-8va.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-ea-8vb.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-ea-harmony.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-ea.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-eca-4va.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-eca-4vb.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-eca-8va.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-eca-8vb.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/n-eca.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/pirori-square-wet.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/pirori-wet.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/pirori.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/poi1.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/poi2.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/pope1.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/pope2.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/popo.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/queue-jammed.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/reverved.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/ryukyu.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/snare.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/square-pico.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/triple.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/up.mp3 (100%) rename packages/frontend/assets/{client-assets => }/sounds/syuilo/waon.mp3 (100%) rename packages/frontend/assets/{client-assets => }/tagcanvas.min.js (100%) rename packages/frontend/assets/{client-assets => }/tutorial/ai.webp (100%) rename packages/frontend/assets/{client-assets => }/tutorial/natto_failed.webp (100%) rename packages/frontend/assets/{client-assets => }/tutorial/timeline_tab.png (100%) rename packages/frontend/assets/{client-assets => }/unread.svg (100%) diff --git a/packages/frontend/assets/client-assets/about-icon.png b/packages/frontend/assets/about-icon.png similarity index 100% rename from packages/frontend/assets/client-assets/about-icon.png rename to packages/frontend/assets/about-icon.png diff --git a/packages/frontend/assets/client-assets/cookie.png b/packages/frontend/assets/cookie.png similarity index 100% rename from packages/frontend/assets/client-assets/cookie.png rename to packages/frontend/assets/cookie.png diff --git a/packages/frontend/assets/client-assets/dummy.png b/packages/frontend/assets/dummy.png similarity index 100% rename from packages/frontend/assets/client-assets/dummy.png rename to packages/frontend/assets/dummy.png diff --git a/packages/frontend/assets/client-assets/fedi.jpg b/packages/frontend/assets/fedi.jpg similarity index 100% rename from packages/frontend/assets/client-assets/fedi.jpg rename to packages/frontend/assets/fedi.jpg diff --git a/packages/frontend/assets/client-assets/label-red.svg b/packages/frontend/assets/label-red.svg similarity index 100% rename from packages/frontend/assets/client-assets/label-red.svg rename to packages/frontend/assets/label-red.svg diff --git a/packages/frontend/assets/client-assets/label.svg b/packages/frontend/assets/label.svg similarity index 100% rename from packages/frontend/assets/client-assets/label.svg rename to packages/frontend/assets/label.svg diff --git a/packages/frontend/assets/client-assets/misskey.svg b/packages/frontend/assets/misskey.svg similarity index 100% rename from packages/frontend/assets/client-assets/misskey.svg rename to packages/frontend/assets/misskey.svg diff --git a/packages/frontend/assets/client-assets/remove.png b/packages/frontend/assets/remove.png similarity index 100% rename from packages/frontend/assets/client-assets/remove.png rename to packages/frontend/assets/remove.png diff --git a/packages/frontend/assets/client-assets/sounds/aisha/1.mp3 b/packages/frontend/assets/sounds/aisha/1.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/aisha/1.mp3 rename to packages/frontend/assets/sounds/aisha/1.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/aisha/2.mp3 b/packages/frontend/assets/sounds/aisha/2.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/aisha/2.mp3 rename to packages/frontend/assets/sounds/aisha/2.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/aisha/3.mp3 b/packages/frontend/assets/sounds/aisha/3.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/aisha/3.mp3 rename to packages/frontend/assets/sounds/aisha/3.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba1.mp3 b/packages/frontend/assets/sounds/noizenecio/kick_gaba1.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba1.mp3 rename to packages/frontend/assets/sounds/noizenecio/kick_gaba1.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba2.mp3 b/packages/frontend/assets/sounds/noizenecio/kick_gaba2.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba2.mp3 rename to packages/frontend/assets/sounds/noizenecio/kick_gaba2.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba3.mp3 b/packages/frontend/assets/sounds/noizenecio/kick_gaba3.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba3.mp3 rename to packages/frontend/assets/sounds/noizenecio/kick_gaba3.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba4.mp3 b/packages/frontend/assets/sounds/noizenecio/kick_gaba4.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba4.mp3 rename to packages/frontend/assets/sounds/noizenecio/kick_gaba4.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba5.mp3 b/packages/frontend/assets/sounds/noizenecio/kick_gaba5.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba5.mp3 rename to packages/frontend/assets/sounds/noizenecio/kick_gaba5.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba6.mp3 b/packages/frontend/assets/sounds/noizenecio/kick_gaba6.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba6.mp3 rename to packages/frontend/assets/sounds/noizenecio/kick_gaba6.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba7.mp3 b/packages/frontend/assets/sounds/noizenecio/kick_gaba7.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/noizenecio/kick_gaba7.mp3 rename to packages/frontend/assets/sounds/noizenecio/kick_gaba7.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/down.mp3 b/packages/frontend/assets/sounds/syuilo/down.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/down.mp3 rename to packages/frontend/assets/sounds/syuilo/down.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/kick.mp3 b/packages/frontend/assets/sounds/syuilo/kick.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/kick.mp3 rename to packages/frontend/assets/sounds/syuilo/kick.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-aec-4va.mp3 b/packages/frontend/assets/sounds/syuilo/n-aec-4va.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-aec-4va.mp3 rename to packages/frontend/assets/sounds/syuilo/n-aec-4va.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-aec-4vb.mp3 b/packages/frontend/assets/sounds/syuilo/n-aec-4vb.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-aec-4vb.mp3 rename to packages/frontend/assets/sounds/syuilo/n-aec-4vb.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-aec-8va.mp3 b/packages/frontend/assets/sounds/syuilo/n-aec-8va.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-aec-8va.mp3 rename to packages/frontend/assets/sounds/syuilo/n-aec-8va.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-aec-8vb.mp3 b/packages/frontend/assets/sounds/syuilo/n-aec-8vb.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-aec-8vb.mp3 rename to packages/frontend/assets/sounds/syuilo/n-aec-8vb.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-aec.mp3 b/packages/frontend/assets/sounds/syuilo/n-aec.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-aec.mp3 rename to packages/frontend/assets/sounds/syuilo/n-aec.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-cea-4va.mp3 b/packages/frontend/assets/sounds/syuilo/n-cea-4va.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-cea-4va.mp3 rename to packages/frontend/assets/sounds/syuilo/n-cea-4va.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-cea-4vb.mp3 b/packages/frontend/assets/sounds/syuilo/n-cea-4vb.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-cea-4vb.mp3 rename to packages/frontend/assets/sounds/syuilo/n-cea-4vb.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-cea-8va.mp3 b/packages/frontend/assets/sounds/syuilo/n-cea-8va.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-cea-8va.mp3 rename to packages/frontend/assets/sounds/syuilo/n-cea-8va.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-cea-8vb.mp3 b/packages/frontend/assets/sounds/syuilo/n-cea-8vb.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-cea-8vb.mp3 rename to packages/frontend/assets/sounds/syuilo/n-cea-8vb.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-cea.mp3 b/packages/frontend/assets/sounds/syuilo/n-cea.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-cea.mp3 rename to packages/frontend/assets/sounds/syuilo/n-cea.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-4va.mp3 b/packages/frontend/assets/sounds/syuilo/n-ea-4va.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-ea-4va.mp3 rename to packages/frontend/assets/sounds/syuilo/n-ea-4va.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-4vb.mp3 b/packages/frontend/assets/sounds/syuilo/n-ea-4vb.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-ea-4vb.mp3 rename to packages/frontend/assets/sounds/syuilo/n-ea-4vb.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-8va.mp3 b/packages/frontend/assets/sounds/syuilo/n-ea-8va.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-ea-8va.mp3 rename to packages/frontend/assets/sounds/syuilo/n-ea-8va.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-8vb.mp3 b/packages/frontend/assets/sounds/syuilo/n-ea-8vb.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-ea-8vb.mp3 rename to packages/frontend/assets/sounds/syuilo/n-ea-8vb.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-ea-harmony.mp3 b/packages/frontend/assets/sounds/syuilo/n-ea-harmony.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-ea-harmony.mp3 rename to packages/frontend/assets/sounds/syuilo/n-ea-harmony.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-ea.mp3 b/packages/frontend/assets/sounds/syuilo/n-ea.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-ea.mp3 rename to packages/frontend/assets/sounds/syuilo/n-ea.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-eca-4va.mp3 b/packages/frontend/assets/sounds/syuilo/n-eca-4va.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-eca-4va.mp3 rename to packages/frontend/assets/sounds/syuilo/n-eca-4va.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-eca-4vb.mp3 b/packages/frontend/assets/sounds/syuilo/n-eca-4vb.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-eca-4vb.mp3 rename to packages/frontend/assets/sounds/syuilo/n-eca-4vb.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-eca-8va.mp3 b/packages/frontend/assets/sounds/syuilo/n-eca-8va.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-eca-8va.mp3 rename to packages/frontend/assets/sounds/syuilo/n-eca-8va.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-eca-8vb.mp3 b/packages/frontend/assets/sounds/syuilo/n-eca-8vb.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-eca-8vb.mp3 rename to packages/frontend/assets/sounds/syuilo/n-eca-8vb.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/n-eca.mp3 b/packages/frontend/assets/sounds/syuilo/n-eca.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/n-eca.mp3 rename to packages/frontend/assets/sounds/syuilo/n-eca.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/pirori-square-wet.mp3 b/packages/frontend/assets/sounds/syuilo/pirori-square-wet.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/pirori-square-wet.mp3 rename to packages/frontend/assets/sounds/syuilo/pirori-square-wet.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/pirori-wet.mp3 b/packages/frontend/assets/sounds/syuilo/pirori-wet.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/pirori-wet.mp3 rename to packages/frontend/assets/sounds/syuilo/pirori-wet.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/pirori.mp3 b/packages/frontend/assets/sounds/syuilo/pirori.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/pirori.mp3 rename to packages/frontend/assets/sounds/syuilo/pirori.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/poi1.mp3 b/packages/frontend/assets/sounds/syuilo/poi1.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/poi1.mp3 rename to packages/frontend/assets/sounds/syuilo/poi1.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/poi2.mp3 b/packages/frontend/assets/sounds/syuilo/poi2.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/poi2.mp3 rename to packages/frontend/assets/sounds/syuilo/poi2.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/pope1.mp3 b/packages/frontend/assets/sounds/syuilo/pope1.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/pope1.mp3 rename to packages/frontend/assets/sounds/syuilo/pope1.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/pope2.mp3 b/packages/frontend/assets/sounds/syuilo/pope2.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/pope2.mp3 rename to packages/frontend/assets/sounds/syuilo/pope2.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/popo.mp3 b/packages/frontend/assets/sounds/syuilo/popo.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/popo.mp3 rename to packages/frontend/assets/sounds/syuilo/popo.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/queue-jammed.mp3 b/packages/frontend/assets/sounds/syuilo/queue-jammed.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/queue-jammed.mp3 rename to packages/frontend/assets/sounds/syuilo/queue-jammed.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/reverved.mp3 b/packages/frontend/assets/sounds/syuilo/reverved.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/reverved.mp3 rename to packages/frontend/assets/sounds/syuilo/reverved.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/ryukyu.mp3 b/packages/frontend/assets/sounds/syuilo/ryukyu.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/ryukyu.mp3 rename to packages/frontend/assets/sounds/syuilo/ryukyu.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/snare.mp3 b/packages/frontend/assets/sounds/syuilo/snare.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/snare.mp3 rename to packages/frontend/assets/sounds/syuilo/snare.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/square-pico.mp3 b/packages/frontend/assets/sounds/syuilo/square-pico.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/square-pico.mp3 rename to packages/frontend/assets/sounds/syuilo/square-pico.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/triple.mp3 b/packages/frontend/assets/sounds/syuilo/triple.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/triple.mp3 rename to packages/frontend/assets/sounds/syuilo/triple.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/up.mp3 b/packages/frontend/assets/sounds/syuilo/up.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/up.mp3 rename to packages/frontend/assets/sounds/syuilo/up.mp3 diff --git a/packages/frontend/assets/client-assets/sounds/syuilo/waon.mp3 b/packages/frontend/assets/sounds/syuilo/waon.mp3 similarity index 100% rename from packages/frontend/assets/client-assets/sounds/syuilo/waon.mp3 rename to packages/frontend/assets/sounds/syuilo/waon.mp3 diff --git a/packages/frontend/assets/client-assets/tagcanvas.min.js b/packages/frontend/assets/tagcanvas.min.js similarity index 100% rename from packages/frontend/assets/client-assets/tagcanvas.min.js rename to packages/frontend/assets/tagcanvas.min.js diff --git a/packages/frontend/assets/client-assets/tutorial/ai.webp b/packages/frontend/assets/tutorial/ai.webp similarity index 100% rename from packages/frontend/assets/client-assets/tutorial/ai.webp rename to packages/frontend/assets/tutorial/ai.webp diff --git a/packages/frontend/assets/client-assets/tutorial/natto_failed.webp b/packages/frontend/assets/tutorial/natto_failed.webp similarity index 100% rename from packages/frontend/assets/client-assets/tutorial/natto_failed.webp rename to packages/frontend/assets/tutorial/natto_failed.webp diff --git a/packages/frontend/assets/client-assets/tutorial/timeline_tab.png b/packages/frontend/assets/tutorial/timeline_tab.png similarity index 100% rename from packages/frontend/assets/client-assets/tutorial/timeline_tab.png rename to packages/frontend/assets/tutorial/timeline_tab.png diff --git a/packages/frontend/assets/client-assets/unread.svg b/packages/frontend/assets/unread.svg similarity index 100% rename from packages/frontend/assets/client-assets/unread.svg rename to packages/frontend/assets/unread.svg diff --git a/packages/frontend/vite.config.local-dev.ts b/packages/frontend/vite.config.local-dev.ts index 19b6d24186c8..a72c01ea6d6f 100644 --- a/packages/frontend/vite.config.local-dev.ts +++ b/packages/frontend/vite.config.local-dev.ts @@ -68,7 +68,7 @@ export function getConfig(): UserConfig { extensions, alias: { '@/': __dirname + '/src/', - '/client-assets/': __dirname + '/assets/client-assets/', + '/client-assets/': __dirname + '/assets/', '/static-assets/': __dirname + '/../backend/assets/', '/fluent-emojis/': __dirname + '/../../fluent-emojis/dist/', '/fluent-emoji/': __dirname + '/../../fluent-emojis/dist/', diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index da976b791717..53314b9bd30f 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -28,6 +28,7 @@ const hash = (str: string, seed = 0): number => { }; const BASE62_DIGITS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + function toBase62(n: number): string { if (n === 0) { return '0'; @@ -43,8 +44,7 @@ function toBase62(n: number): string { export function getConfig(): UserConfig { return { - base: '/vite/', - + root: 'src', server: { port: 5173, }, From 27dcc4e3f92b559bb353c93c2f91539637045197 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sat, 25 Nov 2023 22:39:04 +0900 Subject: [PATCH 17/28] =?UTF-8?q?=E8=89=B2=E3=80=85=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frontend/src/pages/welcome.entrance.a.vue | 5 ++-- packages/frontend/vite.config.local-dev.ts | 30 +++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/packages/frontend/src/pages/welcome.entrance.a.vue b/packages/frontend/src/pages/welcome.entrance.a.vue index e1f2a0cbdaf6..b9a6434d8738 100644 --- a/packages/frontend/src/pages/welcome.entrance.a.vue +++ b/packages/frontend/src/pages/welcome.entrance.a.vue @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
@@ -38,6 +38,7 @@ import * as Misskey from 'misskey-js'; import XTimeline from './welcome.timeline.vue'; import MarqueeText from '@/components/MkMarquee.vue'; import MkFeaturedPhotos from '@/components/MkFeaturedPhotos.vue'; +import misskeysvg from '/client-assets/misskey.svg'; import MkInfo from '@/components/MkInfo.vue'; import { instanceName } from '@/config.js'; import * as os from '@/os.js'; @@ -52,7 +53,7 @@ let meta = $ref(); let instances = $ref(); function getInstanceIcon(instance): string { - return getProxiedImageUrl(instance.iconUrl, 'preview'); + return getProxiedImageUrl(instance.iconUrl, 'preview'); } os.api('meta', { detail: true }).then(_meta => { diff --git a/packages/frontend/vite.config.local-dev.ts b/packages/frontend/vite.config.local-dev.ts index a72c01ea6d6f..ccd7a7929327 100644 --- a/packages/frontend/vite.config.local-dev.ts +++ b/packages/frontend/vite.config.local-dev.ts @@ -44,6 +44,36 @@ function toBase62(n: number): string { export function getConfig(): UserConfig { return { + root: 'src', + publicDir: '../assets', + base: './', + server: { + host: '127.0.0.1', + port: 5173, + proxy: { + '/api': { + changeOrigin: true, + target: 'http://127.0.0.1:3000/', + }, + '/assets': 'http://127.0.0.1:3000/', + '/files': 'http://127.0.0.1:3000/', + '/twemoji': 'http://127.0.0.1:3000/', + '/fluent-emoji': 'http://127.0.0.1:3000/', + '/sw.js': 'http://127.0.0.1:3000/', + '/streaming': { + target: 'ws://127.0.0.1:3000/', + ws: true, + }, + '/favicon.ico': 'http://127.0.0.1:3000/', + '/identicon': { + target: 'http://127.0.0.1:3000/', + rewrite(path) { + return path.replace('@127.0.0.1:5173', ''); + }, + + }, + }, + }, plugins: [ pluginVue({ From e6a1ade32399a77a615dedbaefa42f3e693c1764 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sat, 25 Nov 2023 22:47:21 +0900 Subject: [PATCH 18/28] fix --- packages/frontend/vite.config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index 53314b9bd30f..da976b791717 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -28,7 +28,6 @@ const hash = (str: string, seed = 0): number => { }; const BASE62_DIGITS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - function toBase62(n: number): string { if (n === 0) { return '0'; @@ -44,7 +43,8 @@ function toBase62(n: number): string { export function getConfig(): UserConfig { return { - root: 'src', + base: '/vite/', + server: { port: 5173, }, From c470cd284b55df256fd5f9b70de8da98cccd7a85 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Sat, 25 Nov 2023 22:54:48 +0900 Subject: [PATCH 19/28] fix --- packages/backend/src/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts index 22a5ce173068..b25554b22938 100644 --- a/packages/backend/src/config.ts +++ b/packages/backend/src/config.ts @@ -255,7 +255,7 @@ 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['index.html'], + clientEntry: clientManifest['src/_boot_.ts'], clientManifestExists: clientManifestExists, perChannelMaxNoteCacheCount: config.perChannelMaxNoteCacheCount ?? 1000, perUserNotificationsMaxCount: config.perUserNotificationsMaxCount ?? 500, From 3637a0bc295b15b94a66ac072087cf944a6583dd Mon Sep 17 00:00:00 2001 From: ozelot Date: Sun, 26 Nov 2023 22:38:37 +0900 Subject: [PATCH 20/28] add url and proxy to server proxy --- packages/frontend/vite.config.local-dev.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/frontend/vite.config.local-dev.ts b/packages/frontend/vite.config.local-dev.ts index ccd7a7929327..ce6589c35315 100644 --- a/packages/frontend/vite.config.local-dev.ts +++ b/packages/frontend/vite.config.local-dev.ts @@ -72,6 +72,8 @@ export function getConfig(): UserConfig { }, }, + '/url': 'http://127.0.0.1:3000', + '/proxy': 'http://127.0.0.1:3000', }, }, From 20426b01bd7fff73a5c5d45d553c492e697cc3e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=9C=E7=89=A9=E3=83=AA=E3=83=B3?= Date: Wed, 6 Dec 2023 10:05:05 +0900 Subject: [PATCH 21/28] Update packages/frontend/src/index.html --- packages/frontend/src/index.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html index a79d446a5649..2a48c8839505 100644 --- a/packages/frontend/src/index.html +++ b/packages/frontend/src/index.html @@ -1,3 +1,7 @@ + From e7a9ce337c46ef4f3a6884e1dbf945038665750f Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Wed, 6 Dec 2023 10:56:52 +0900 Subject: [PATCH 22/28] wip --- .config/dev-local.yml | 222 ----------------- ...cal-dev.yml => docker-compose.local-db.yml | 2 + packages/backend/package.json | 2 +- packages/frontend/vite.config.local-dev.ts | 224 ++++-------------- 4 files changed, 46 insertions(+), 404 deletions(-) delete mode 100644 .config/dev-local.yml rename docker-compose.local-dev.yml => docker-compose.local-db.yml (87%) diff --git a/.config/dev-local.yml b/.config/dev-local.yml deleted file mode 100644 index 23e1b22925aa..000000000000 --- a/.config/dev-local.yml +++ /dev/null @@ -1,222 +0,0 @@ -#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -# Misskey configuration -#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - -# ┌─────┐ -#───┘ URL └───────────────────────────────────────────────────── - -# Final accessible URL seen by a user. -# dev-local では identiconのCORS問題の解決のため 127.0.0.1 である必要があります -url: http://127.0.0.1:5173/ - -# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE -# URL SETTINGS AFTER THAT! - -# ┌───────────────────────┐ -#───┘ Port and TLS settings └─────────────────────────────────── - -# -# Misskey requires a reverse proxy to support HTTPS connections. -# -# +----- https://example.tld/ ------------+ -# +------+ |+-------------+ +----------------+| -# | User | ---> || Proxy (443) | ---> | Misskey (3000) || -# +------+ |+-------------+ +----------------+| -# +---------------------------------------+ -# -# You need to set up a reverse proxy. (e.g. nginx) -# An encrypted connection with HTTPS is highly recommended -# because tokens may be transferred in GET requests. - -# The port that your Misskey server should listen on. -port: 3000 - -# You can also use UNIX domain socket. -# socket: /path/to/misskey.sock -# chmodSocket: '777' - -# ┌──────────────────────────┐ -#───┘ PostgreSQL configuration └──────────────────────────────── - -db: - host: localhost - port: 5432 - - # Database name - db: misskey - - # Auth - user: example-misskey-user - pass: example-misskey-pass - - # Whether disable Caching queries - #disableCache: true - - # Extra Connection options - #extra: - # ssl: true - -dbReplications: false - -# You can configure any number of replicas here -#dbSlaves: -# - -# host: -# port: -# db: -# user: -# pass: -# - -# host: -# port: -# db: -# user: -# pass: - -# ┌─────────────────────┐ -#───┘ Redis configuration └───────────────────────────────────── - -redis: - host: localhost - port: 6379 - #family: 0 # 0=Both, 4=IPv4, 6=IPv6 - #pass: example-pass - #prefix: example-prefix - #db: 1 - # You can specify more ioredis options... - #username: example-username - -#redisForPubsub: -# host: localhost -# port: 6379 -# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 -# #pass: example-pass -# #prefix: example-prefix -# #db: 1 -# # You can specify more ioredis options... -# #username: example-username - -#redisForJobQueue: -# host: localhost -# port: 6379 -# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 -# #pass: example-pass -# #prefix: example-prefix -# #db: 1 -# # You can specify more ioredis options... -# #username: example-username - -#redisForTimelines: -# host: localhost -# port: 6379 -# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 -# #pass: example-pass -# #prefix: example-prefix -# #db: 1 -# # You can specify more ioredis options... -# #username: example-username - -# ┌───────────────────────────┐ -#───┘ MeiliSearch configuration └───────────────────────────── - -#meilisearch: -# host: localhost -# port: 7700 -# apiKey: '' -# ssl: true -# index: '' -# scope: local - -# ┌───────────────┐ -#───┘ ID generation └─────────────────────────────────────────── - -# You can select the ID generation method. -# You don't usually need to change this setting, but you can -# change it according to your preferences. - -# Available methods: -# aid ... Short, Millisecond accuracy -# aidx ... Millisecond accuracy -# meid ... Similar to ObjectID, Millisecond accuracy -# ulid ... Millisecond accuracy -# objectid ... This is left for backward compatibility - -# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE -# ID SETTINGS AFTER THAT! - -id: 'aidx' - -# ┌─────────────────────┐ -#───┘ Other configuration └───────────────────────────────────── - -# Whether disable HSTS -#disableHsts: true - -# Number of worker processes -#clusterLimit: 1 - -# Job concurrency per worker -#deliverJobConcurrency: 128 -#inboxJobConcurrency: 16 -#relashionshipJobConcurrency: 16 -# What's relashionshipJob?: -# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations. - -# Job rate limiter -#deliverJobPerSec: 128 -#inboxJobPerSec: 16 -#relashionshipJobPerSec: 64 - -# Job attempts -#deliverJobMaxAttempts: 12 -#inboxJobMaxAttempts: 8 - -# Local address used for outgoing requests -#outgoingAddress: 127.0.0.1 - -# IP address family used for outgoing request (ipv4, ipv6 or dual) -#outgoingAddressFamily: ipv4 - -# Proxy for HTTP/HTTPS -#proxy: http://127.0.0.1:3128 - -proxyBypassHosts: - - api.deepl.com - - api-free.deepl.com - - www.recaptcha.net - - hcaptcha.com - - challenges.cloudflare.com - -# Proxy for SMTP/SMTPS -#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT -#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 -#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 - -# Media Proxy -# Reference Implementation: https://github.com/misskey-dev/media-proxy -# * Deliver a common cache between instances -# * Perform image compression (on a different server resource than the main process) -#mediaProxy: https://example.com/proxy - -# Proxy remote files (default: true) -# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains. -proxyRemoteFiles: true - -# Movie Thumbnail Generation URL -# There is no reference implementation. -# For example, Misskey will point to the following URL: -# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4 -#videoThumbnailGenerator: https://example.com - -# Sign to ActivityPub GET request (default: true) -signToActivityPubGet: true - -#allowedPrivateNetworks: [ -# '127.0.0.1/32' -#] - -# Upload or download file size limits (bytes) -#maxFileSize: 262144000 - -# PID File of master process -#pidFile: /tmp/misskey.pid diff --git a/docker-compose.local-dev.yml b/docker-compose.local-db.yml similarity index 87% rename from docker-compose.local-dev.yml rename to docker-compose.local-db.yml index 216593d3dd6b..872fabf53882 100644 --- a/docker-compose.local-dev.yml +++ b/docker-compose.local-db.yml @@ -1,5 +1,7 @@ version: "3" +# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します + services: redis: restart: always diff --git a/packages/backend/package.json b/packages/backend/package.json index 7b879521e679..38143fce9016 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -16,7 +16,7 @@ "watch:swc": "swc src -d built -D -w", "build:tsc": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json", "watch": "node watch.mjs", - "dev": "cross-env MISSKEY_CONFIG_YML=dev-local.yml node ./built/boot/entry.js", + "dev": "node ./built/boot/entry.js", "typecheck": "tsc --noEmit", "eslint": "eslint --quiet \"src/**/*.ts\"", "lint": "pnpm typecheck && pnpm eslint", diff --git a/packages/frontend/vite.config.local-dev.ts b/packages/frontend/vite.config.local-dev.ts index ce6589c35315..56acb5a791a5 100644 --- a/packages/frontend/vite.config.local-dev.ts +++ b/packages/frontend/vite.config.local-dev.ts @@ -1,189 +1,51 @@ -import path from 'path'; -import pluginReplace from '@rollup/plugin-replace'; -import pluginVue from '@vitejs/plugin-vue'; -import { defineConfig, type UserConfig } from 'vite'; -// @ts-expect-error https://github.com/sxzz/unplugin-vue-macros/issues/257#issuecomment-1410752890 -import ReactivityTransform from '@vue-macros/reactivity-transform/vite'; - -import locales from '../../locales'; -import meta from '../../package.json'; -import pluginUnwindCssModuleClassName from './lib/rollup-plugin-unwind-css-module-class-name'; -import pluginJson5 from './vite.json5'; - -const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.json', '.json5', '.svg', '.sass', '.scss', '.css', '.vue']; - -const hash = (str: string, seed = 0): number => { - let h1 = 0xdeadbeef ^ seed, - h2 = 0x41c6ce57 ^ seed; - for (let i = 0, ch; i < str.length; i++) { - ch = str.charCodeAt(i); - h1 = Math.imul(h1 ^ ch, 2654435761); - h2 = Math.imul(h2 ^ ch, 1597334677); - } - - h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909); - h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909); - - return 4294967296 * (2097151 & h2) + (h1 >>> 0); -}; - -const BASE62_DIGITS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - -function toBase62(n: number): string { - if (n === 0) { - return '0'; - } - let result = ''; - while (n > 0) { - result = BASE62_DIGITS[n % BASE62_DIGITS.length] + result; - n = Math.floor(n / BASE62_DIGITS.length); - } - - return result; -} - -export function getConfig(): UserConfig { - return { - root: 'src', - publicDir: '../assets', - base: './', - server: { - host: '127.0.0.1', - port: 5173, - proxy: { - '/api': { - changeOrigin: true, - target: 'http://127.0.0.1:3000/', - }, - '/assets': 'http://127.0.0.1:3000/', - '/files': 'http://127.0.0.1:3000/', - '/twemoji': 'http://127.0.0.1:3000/', - '/fluent-emoji': 'http://127.0.0.1:3000/', - '/sw.js': 'http://127.0.0.1:3000/', - '/streaming': { - target: 'ws://127.0.0.1:3000/', - ws: true, - }, - '/favicon.ico': 'http://127.0.0.1:3000/', - '/identicon': { - target: 'http://127.0.0.1:3000/', - rewrite(path) { - return path.replace('@127.0.0.1:5173', ''); - }, - - }, - '/url': 'http://127.0.0.1:3000', - '/proxy': 'http://127.0.0.1:3000', - }, - }, - - plugins: [ - pluginVue({ - reactivityTransform: true, - }), - ReactivityTransform(), - pluginUnwindCssModuleClassName(), - pluginJson5(), - ...process.env.NODE_ENV === 'production' - ? [ - pluginReplace({ - preventAssignment: true, - values: { - 'isChromatic()': JSON.stringify(false), - }, - }), - ] - : [], - ], - - resolve: { - extensions, - alias: { - '@/': __dirname + '/src/', - '/client-assets/': __dirname + '/assets/', - '/static-assets/': __dirname + '/../backend/assets/', - '/fluent-emojis/': __dirname + '/../../fluent-emojis/dist/', - '/fluent-emoji/': __dirname + '/../../fluent-emojis/dist/', +import { defineConfig } from 'vite'; +import { getConfig } from './vite.config.js'; + +const defaultConfig = getConfig(); + +const devConfig = { + // 基本の設定は vite.config.js から引き継ぐ + ...defaultConfig, + root: 'src', + publicDir: '../assets', + base: './', + server: { + host: '127.0.0.1', + port: 5173, + proxy: { + '/api': { + changeOrigin: true, + target: 'http://127.0.0.1:3000/', }, - }, - - css: { - modules: { - generateScopedName(name, filename, _css): string { - const id = (path.relative(__dirname, filename.split('?')[0]) + '-' + name).replace(/[\\\/\.\?&=]/g, '-').replace(/(src-|vue-)/g, ''); - if (process.env.NODE_ENV === 'production') { - return 'x' + toBase62(hash(id)).substring(0, 4); - } else { - return id; - } - }, + '/assets': 'http://127.0.0.1:3000/', + '/files': 'http://127.0.0.1:3000/', + '/twemoji': 'http://127.0.0.1:3000/', + '/fluent-emoji': 'http://127.0.0.1:3000/', + '/sw.js': 'http://127.0.0.1:3000/', + '/streaming': { + target: 'ws://127.0.0.1:3000/', + ws: true, }, - }, - - define: { - _VERSION_: JSON.stringify(meta.version), - _LANGS_: JSON.stringify(Object.entries(locales).map(([k, v]) => [k, v._lang_])), - _ENV_: JSON.stringify(process.env.NODE_ENV), - _DEV_: process.env.NODE_ENV !== 'production', - _PERF_PREFIX_: JSON.stringify('Misskey:'), - _DATA_TRANSFER_DRIVE_FILE_: JSON.stringify('mk_drive_file'), - _DATA_TRANSFER_DRIVE_FOLDER_: JSON.stringify('mk_drive_folder'), - _DATA_TRANSFER_DECK_COLUMN_: JSON.stringify('mk_deck_column'), - __VUE_OPTIONS_API__: true, - __VUE_PROD_DEVTOOLS__: false, - }, - - // https://vitejs.dev/guide/dep-pre-bundling.html#monorepos-and-linked-dependencies - optimizeDeps: { - include: ['misskey-js'], - }, - - build: { - target: [ - 'chrome116', - 'firefox116', - 'safari16', - ], - manifest: 'manifest.json', - rollupOptions: { - output: { - manualChunks: { - vue: ['vue'], - photoswipe: ['photoswipe', 'photoswipe/lightbox', 'photoswipe/style.css'], - }, - chunkFileNames: process.env.NODE_ENV === 'production' ? '[hash:8].js' : '[name]-[hash:8].js', - assetFileNames: process.env.NODE_ENV === 'production' ? '[hash:8][extname]' : '[name]-[hash:8][extname]', + '/favicon.ico': 'http://127.0.0.1:3000/', + '/identicon': { + target: 'http://127.0.0.1:3000/', + rewrite(path) { + return path.replace('@127.0.0.1:5173', ''); }, }, - cssCodeSplit: true, - outDir: __dirname + '/../../built/_vite_', - assetsDir: '.', - emptyOutDir: false, - sourcemap: process.env.NODE_ENV === 'development', - reportCompressedSize: false, - - // https://vitejs.dev/guide/dep-pre-bundling.html#monorepos-and-linked-dependencies - commonjsOptions: { - include: [/misskey-js/, /node_modules/], - }, - }, - - worker: { - format: 'es', + '/url': 'http://127.0.0.1:3000', + '/proxy': 'http://127.0.0.1:3000', }, - - test: { - environment: 'happy-dom', - deps: { - inline: [ - // XXX: misskey-dev/browser-image-resizer has no "type": "module" - 'browser-image-resizer', - ], - }, + }, + build: { + manifest: 'manifest.json', + rollupOptions: { + ...defaultConfig.build?.rollupOptions, + input: 'index.html', }, - }; -} + }, +}; -const config = defineConfig(({ command, mode }) => getConfig()); +console.log(devConfig); +export default defineConfig(({ command, mode }) => devConfig); -export default config; From 7cd0c17dc4932047c5971b6b33d95f8e3d5ca978 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Wed, 6 Dec 2023 12:17:42 +0900 Subject: [PATCH 23/28] Merge remote-tracking branch 'origin/develop' into feat/launch-standalone-frontend # Conflicts: # packages/frontend/src/pages/welcome.entrance.a.vue --- packages/frontend/src/pages/welcome.entrance.a.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/frontend/src/pages/welcome.entrance.a.vue b/packages/frontend/src/pages/welcome.entrance.a.vue index 280a52889002..05e8df66d13f 100644 --- a/packages/frontend/src/pages/welcome.entrance.a.vue +++ b/packages/frontend/src/pages/welcome.entrance.a.vue @@ -52,7 +52,10 @@ import { getProxiedImageUrl } from '@/scripts/media-proxy.js'; let meta = $ref(); let instances = $ref(); -function getInstanceIcon(instance): string { +function getInstanceIcon(instance: Misskey.entities.FederationInstance): string { + if (!instance.iconUrl) { + return ''; + } return getProxiedImageUrl(instance.iconUrl, 'preview'); } From 8ecf63de27e70c016fdc6a005163e3c91642ff68 Mon Sep 17 00:00:00 2001 From: FruitRiin Date: Wed, 6 Dec 2023 13:00:18 +0900 Subject: [PATCH 24/28] Merge remote-tracking branch 'origin/develop' into feat/launch-standalone-frontend # Conflicts: # packages/frontend/src/pages/welcome.entrance.a.vue --- packages/frontend/src/index.html | 5 +++-- packages/frontend/vite.config.local-dev.ts | 5 ----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html index 2a48c8839505..527b3f2982a0 100644 --- a/packages/frontend/src/index.html +++ b/packages/frontend/src/index.html @@ -1,4 +1,4 @@ - @@ -16,8 +16,9 @@ img-src 'self' data: www.google.com xn--931a.moe 127.0.0.1:5173 127.0.0.1:3000" /> - + + diff --git a/packages/frontend/vite.config.local-dev.ts b/packages/frontend/vite.config.local-dev.ts index c5553b14de71..b5e1d799d992 100644 --- a/packages/frontend/vite.config.local-dev.ts +++ b/packages/frontend/vite.config.local-dev.ts @@ -9,7 +9,6 @@ const devConfig = { root: 'src', publicDir: '../assets', base: './', - plugins: [...defaultConfig.plugins], server: { host: '127.0.0.1', port: 5173, @@ -45,11 +44,7 @@ const devConfig = { input: 'index.html', }, }, - resolve: { - ...defaultConfig.resolve, - }, }; -console.log(devConfig); export default defineConfig(({ command, mode }) => devConfig); From 2e55d74aa4f26ff5701499337eae1563ede21b0d Mon Sep 17 00:00:00 2001 From: samunohito <46447427+samunohito@users.noreply.github.com> Date: Wed, 6 Dec 2023 15:06:38 +0900 Subject: [PATCH 25/28] fix tabler load --- packages/frontend/src/_dev_boot_.ts | 11 +++++++++++ packages/frontend/src/index.html | 8 ++------ 2 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 packages/frontend/src/_dev_boot_.ts diff --git a/packages/frontend/src/_dev_boot_.ts b/packages/frontend/src/_dev_boot_.ts new file mode 100644 index 000000000000..2e95a035764c --- /dev/null +++ b/packages/frontend/src/_dev_boot_.ts @@ -0,0 +1,11 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +// devモードで起動される際(index.htmlを使うとき)はrouterが暴発してしまってうまく読み込めない。 +// よって、devモードとして起動されるときはビルド時に組み込む形としておく。 +// (pnpm start時はpugファイルの中で静的リソースとして読み込むようになっており、この問題は起こっていない) +import '@tabler/icons-webfont/tabler-icons.scss'; + +import('@/_boot_.js'); diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html index 527b3f2982a0..79183284a050 100644 --- a/packages/frontend/src/index.html +++ b/packages/frontend/src/index.html @@ -13,16 +13,12 @@ content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; - img-src 'self' data: www.google.com xn--931a.moe 127.0.0.1:5173 127.0.0.1:3000" + img-src 'self' data: www.google.com xn--931a.moe localhost:3000 localhost:5137 127.0.0.1:5173 127.0.0.1:3000" /> - - - -
- + From 000e382e495322421a580996bb7217faa8d19563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=9C=E7=89=A9=E3=83=AA=E3=83=B3?= Date: Wed, 6 Dec 2023 21:02:03 +0900 Subject: [PATCH 26/28] Apply suggestions from code review --- docker-compose.local-db.yml | 2 -- packages/frontend/src/index.html | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docker-compose.local-db.yml b/docker-compose.local-db.yml index 872fabf53882..16ba4b49e179 100644 --- a/docker-compose.local-db.yml +++ b/docker-compose.local-db.yml @@ -37,8 +37,6 @@ services: # - MEILI_ENV=production # env_file: # - .config/meilisearch.env -# networks: -# - internal_network # volumes: # - ./meili_data:/meili_data diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html index 79183284a050..809113dafdcb 100644 --- a/packages/frontend/src/index.html +++ b/packages/frontend/src/index.html @@ -1,3 +1,7 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +