summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-03-29 20:32:18 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-03-29 20:32:18 +0900
commitcf33e483f7e6f40e8cbbbc0118a7df70bdaf651f (patch)
tree318279530d3392ee40d91968477fc0e78d5cf0f7
parentUpdate .travis.yml (diff)
downloadsharkey-cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f.tar.gz
sharkey-cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f.tar.bz2
sharkey-cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f.zip
整理した
-rw-r--r--gulpfile.ts31
-rw-r--r--src/client/app/animation.styl (renamed from src/server/web/app/animation.styl)0
-rw-r--r--src/client/app/app.styl (renamed from src/server/web/app/app.styl)0
-rw-r--r--src/client/app/app.vue (renamed from src/server/web/app/app.vue)0
-rw-r--r--src/client/app/auth/assets/logo.svg (renamed from src/server/web/app/auth/assets/logo.svg)0
-rw-r--r--src/client/app/auth/script.ts (renamed from src/server/web/app/auth/script.ts)0
-rw-r--r--src/client/app/auth/style.styl (renamed from src/server/web/app/auth/style.styl)0
-rw-r--r--src/client/app/auth/views/form.vue (renamed from src/server/web/app/auth/views/form.vue)0
-rw-r--r--src/client/app/auth/views/index.vue (renamed from src/server/web/app/auth/views/index.vue)0
-rw-r--r--src/client/app/base.pug (renamed from src/server/web/app/base.pug)6
-rw-r--r--src/client/app/boot.js (renamed from src/server/web/app/boot.js)0
-rw-r--r--src/client/app/ch/script.ts (renamed from src/server/web/app/ch/script.ts)0
-rw-r--r--src/client/app/ch/style.styl (renamed from src/server/web/app/ch/style.styl)0
-rw-r--r--src/client/app/ch/tags/channel.tag (renamed from src/server/web/app/ch/tags/channel.tag)0
-rw-r--r--src/client/app/ch/tags/header.tag (renamed from src/server/web/app/ch/tags/header.tag)0
-rw-r--r--src/client/app/ch/tags/index.tag (renamed from src/server/web/app/ch/tags/index.tag)0
-rw-r--r--src/client/app/ch/tags/index.ts (renamed from src/server/web/app/ch/tags/index.ts)0
-rw-r--r--src/client/app/common/define-widget.ts (renamed from src/server/web/app/common/define-widget.ts)0
-rw-r--r--src/client/app/common/mios.ts (renamed from src/server/web/app/common/mios.ts)0
-rw-r--r--src/client/app/common/scripts/check-for-update.ts (renamed from src/server/web/app/common/scripts/check-for-update.ts)0
-rw-r--r--src/client/app/common/scripts/compose-notification.ts (renamed from src/server/web/app/common/scripts/compose-notification.ts)0
-rw-r--r--src/client/app/common/scripts/contains.ts (renamed from src/server/web/app/common/scripts/contains.ts)0
-rw-r--r--src/client/app/common/scripts/copy-to-clipboard.ts (renamed from src/server/web/app/common/scripts/copy-to-clipboard.ts)0
-rw-r--r--src/client/app/common/scripts/date-stringify.ts (renamed from src/server/web/app/common/scripts/date-stringify.ts)0
-rw-r--r--src/client/app/common/scripts/fuck-ad-block.ts (renamed from src/server/web/app/common/scripts/fuck-ad-block.ts)0
-rw-r--r--src/client/app/common/scripts/gcd.ts (renamed from src/server/web/app/common/scripts/gcd.ts)0
-rw-r--r--src/client/app/common/scripts/get-kao.ts (renamed from src/server/web/app/common/scripts/get-kao.ts)0
-rw-r--r--src/client/app/common/scripts/get-median.ts (renamed from src/server/web/app/common/scripts/get-median.ts)0
-rw-r--r--src/client/app/common/scripts/loading.ts (renamed from src/server/web/app/common/scripts/loading.ts)0
-rw-r--r--src/client/app/common/scripts/parse-search-query.ts (renamed from src/server/web/app/common/scripts/parse-search-query.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/channel.ts (renamed from src/server/web/app/common/scripts/streaming/channel.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/drive.ts (renamed from src/server/web/app/common/scripts/streaming/drive.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/home.ts (renamed from src/server/web/app/common/scripts/streaming/home.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/messaging-index.ts (renamed from src/server/web/app/common/scripts/streaming/messaging-index.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/messaging.ts (renamed from src/server/web/app/common/scripts/streaming/messaging.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/othello-game.ts (renamed from src/server/web/app/common/scripts/streaming/othello-game.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/othello.ts (renamed from src/server/web/app/common/scripts/streaming/othello.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/requests.ts (renamed from src/server/web/app/common/scripts/streaming/requests.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/server.ts (renamed from src/server/web/app/common/scripts/streaming/server.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/stream-manager.ts (renamed from src/server/web/app/common/scripts/streaming/stream-manager.ts)0
-rw-r--r--src/client/app/common/scripts/streaming/stream.ts (renamed from src/server/web/app/common/scripts/streaming/stream.ts)0
-rw-r--r--src/client/app/common/views/components/autocomplete.vue (renamed from src/server/web/app/common/views/components/autocomplete.vue)0
-rw-r--r--src/client/app/common/views/components/connect-failed.troubleshooter.vue (renamed from src/server/web/app/common/views/components/connect-failed.troubleshooter.vue)0
-rw-r--r--src/client/app/common/views/components/connect-failed.vue (renamed from src/server/web/app/common/views/components/connect-failed.vue)0
-rw-r--r--src/client/app/common/views/components/ellipsis.vue (renamed from src/server/web/app/common/views/components/ellipsis.vue)0
-rw-r--r--src/client/app/common/views/components/file-type-icon.vue (renamed from src/server/web/app/common/views/components/file-type-icon.vue)0
-rw-r--r--src/client/app/common/views/components/forkit.vue (renamed from src/server/web/app/common/views/components/forkit.vue)0
-rw-r--r--src/client/app/common/views/components/index.ts (renamed from src/server/web/app/common/views/components/index.ts)0
-rw-r--r--src/client/app/common/views/components/media-list.vue (renamed from src/server/web/app/common/views/components/media-list.vue)0
-rw-r--r--src/client/app/common/views/components/messaging-room.form.vue (renamed from src/server/web/app/common/views/components/messaging-room.form.vue)0
-rw-r--r--src/client/app/common/views/components/messaging-room.message.vue (renamed from src/server/web/app/common/views/components/messaging-room.message.vue)0
-rw-r--r--src/client/app/common/views/components/messaging-room.vue (renamed from src/server/web/app/common/views/components/messaging-room.vue)0
-rw-r--r--src/client/app/common/views/components/messaging.vue (renamed from src/server/web/app/common/views/components/messaging.vue)0
-rw-r--r--src/client/app/common/views/components/nav.vue (renamed from src/server/web/app/common/views/components/nav.vue)0
-rw-r--r--src/client/app/common/views/components/othello.game.vue (renamed from src/server/web/app/common/views/components/othello.game.vue)0
-rw-r--r--src/client/app/common/views/components/othello.gameroom.vue (renamed from src/server/web/app/common/views/components/othello.gameroom.vue)0
-rw-r--r--src/client/app/common/views/components/othello.room.vue (renamed from src/server/web/app/common/views/components/othello.room.vue)0
-rw-r--r--src/client/app/common/views/components/othello.vue (renamed from src/server/web/app/common/views/components/othello.vue)0
-rw-r--r--src/client/app/common/views/components/poll-editor.vue (renamed from src/server/web/app/common/views/components/poll-editor.vue)0
-rw-r--r--src/client/app/common/views/components/poll.vue (renamed from src/server/web/app/common/views/components/poll.vue)0
-rw-r--r--src/client/app/common/views/components/post-html.ts (renamed from src/server/web/app/common/views/components/post-html.ts)0
-rw-r--r--src/client/app/common/views/components/post-menu.vue (renamed from src/server/web/app/common/views/components/post-menu.vue)0
-rw-r--r--src/client/app/common/views/components/reaction-icon.vue (renamed from src/server/web/app/common/views/components/reaction-icon.vue)0
-rw-r--r--src/client/app/common/views/components/reaction-picker.vue (renamed from src/server/web/app/common/views/components/reaction-picker.vue)0
-rw-r--r--src/client/app/common/views/components/reactions-viewer.vue (renamed from src/server/web/app/common/views/components/reactions-viewer.vue)0
-rw-r--r--src/client/app/common/views/components/signin.vue (renamed from src/server/web/app/common/views/components/signin.vue)0
-rw-r--r--src/client/app/common/views/components/signup.vue (renamed from src/server/web/app/common/views/components/signup.vue)0
-rw-r--r--src/client/app/common/views/components/special-message.vue (renamed from src/server/web/app/common/views/components/special-message.vue)0
-rw-r--r--src/client/app/common/views/components/stream-indicator.vue (renamed from src/server/web/app/common/views/components/stream-indicator.vue)0
-rw-r--r--src/client/app/common/views/components/switch.vue (renamed from src/server/web/app/common/views/components/switch.vue)0
-rw-r--r--src/client/app/common/views/components/time.vue (renamed from src/server/web/app/common/views/components/time.vue)0
-rw-r--r--src/client/app/common/views/components/timer.vue (renamed from src/server/web/app/common/views/components/timer.vue)0
-rw-r--r--src/client/app/common/views/components/twitter-setting.vue (renamed from src/server/web/app/common/views/components/twitter-setting.vue)0
-rw-r--r--src/client/app/common/views/components/uploader.vue (renamed from src/server/web/app/common/views/components/uploader.vue)0
-rw-r--r--src/client/app/common/views/components/url-preview.vue (renamed from src/server/web/app/common/views/components/url-preview.vue)0
-rw-r--r--src/client/app/common/views/components/url.vue (renamed from src/server/web/app/common/views/components/url.vue)0
-rw-r--r--src/client/app/common/views/components/welcome-timeline.vue (renamed from src/server/web/app/common/views/components/welcome-timeline.vue)0
-rw-r--r--src/client/app/common/views/directives/autocomplete.ts (renamed from src/server/web/app/common/views/directives/autocomplete.ts)0
-rw-r--r--src/client/app/common/views/directives/index.ts (renamed from src/server/web/app/common/views/directives/index.ts)0
-rw-r--r--src/client/app/common/views/filters/bytes.ts (renamed from src/server/web/app/common/views/filters/bytes.ts)0
-rw-r--r--src/client/app/common/views/filters/index.ts (renamed from src/server/web/app/common/views/filters/index.ts)0
-rw-r--r--src/client/app/common/views/filters/number.ts (renamed from src/server/web/app/common/views/filters/number.ts)0
-rw-r--r--src/client/app/common/views/widgets/access-log.vue (renamed from src/server/web/app/common/views/widgets/access-log.vue)0
-rw-r--r--src/client/app/common/views/widgets/broadcast.vue (renamed from src/server/web/app/common/views/widgets/broadcast.vue)0
-rw-r--r--src/client/app/common/views/widgets/calendar.vue (renamed from src/server/web/app/common/views/widgets/calendar.vue)0
-rw-r--r--src/client/app/common/views/widgets/donation.vue (renamed from src/server/web/app/common/views/widgets/donation.vue)0
-rw-r--r--src/client/app/common/views/widgets/index.ts (renamed from src/server/web/app/common/views/widgets/index.ts)0
-rw-r--r--src/client/app/common/views/widgets/nav.vue (renamed from src/server/web/app/common/views/widgets/nav.vue)0
-rw-r--r--src/client/app/common/views/widgets/photo-stream.vue (renamed from src/server/web/app/common/views/widgets/photo-stream.vue)0
-rw-r--r--src/client/app/common/views/widgets/rss.vue (renamed from src/server/web/app/common/views/widgets/rss.vue)0
-rw-r--r--src/client/app/common/views/widgets/server.cpu-memory.vue (renamed from src/server/web/app/common/views/widgets/server.cpu-memory.vue)0
-rw-r--r--src/client/app/common/views/widgets/server.cpu.vue (renamed from src/server/web/app/common/views/widgets/server.cpu.vue)0
-rw-r--r--src/client/app/common/views/widgets/server.disk.vue (renamed from src/server/web/app/common/views/widgets/server.disk.vue)0
-rw-r--r--src/client/app/common/views/widgets/server.info.vue (renamed from src/server/web/app/common/views/widgets/server.info.vue)0
-rw-r--r--src/client/app/common/views/widgets/server.memory.vue (renamed from src/server/web/app/common/views/widgets/server.memory.vue)0
-rw-r--r--src/client/app/common/views/widgets/server.pie.vue (renamed from src/server/web/app/common/views/widgets/server.pie.vue)0
-rw-r--r--src/client/app/common/views/widgets/server.uptimes.vue (renamed from src/server/web/app/common/views/widgets/server.uptimes.vue)0
-rw-r--r--src/client/app/common/views/widgets/server.vue (renamed from src/server/web/app/common/views/widgets/server.vue)0
-rw-r--r--src/client/app/common/views/widgets/slideshow.vue (renamed from src/server/web/app/common/views/widgets/slideshow.vue)0
-rw-r--r--src/client/app/common/views/widgets/tips.vue (renamed from src/server/web/app/common/views/widgets/tips.vue)0
-rw-r--r--src/client/app/common/views/widgets/version.vue (renamed from src/server/web/app/common/views/widgets/version.vue)0
-rw-r--r--src/client/app/config.ts (renamed from src/server/web/app/config.ts)0
-rw-r--r--src/client/app/desktop/api/choose-drive-file.ts (renamed from src/server/web/app/desktop/api/choose-drive-file.ts)0
-rw-r--r--src/client/app/desktop/api/choose-drive-folder.ts (renamed from src/server/web/app/desktop/api/choose-drive-folder.ts)0
-rw-r--r--src/client/app/desktop/api/contextmenu.ts (renamed from src/server/web/app/desktop/api/contextmenu.ts)0
-rw-r--r--src/client/app/desktop/api/dialog.ts (renamed from src/server/web/app/desktop/api/dialog.ts)0
-rw-r--r--src/client/app/desktop/api/input.ts (renamed from src/server/web/app/desktop/api/input.ts)0
-rw-r--r--src/client/app/desktop/api/notify.ts (renamed from src/server/web/app/desktop/api/notify.ts)0
-rw-r--r--src/client/app/desktop/api/post.ts (renamed from src/server/web/app/desktop/api/post.ts)0
-rw-r--r--src/client/app/desktop/api/update-avatar.ts (renamed from src/server/web/app/desktop/api/update-avatar.ts)0
-rw-r--r--src/client/app/desktop/api/update-banner.ts (renamed from src/server/web/app/desktop/api/update-banner.ts)0
-rw-r--r--src/client/app/desktop/assets/grid.svg (renamed from src/server/web/app/desktop/assets/grid.svg)0
-rw-r--r--src/client/app/desktop/assets/header-logo-white.svg (renamed from src/server/web/app/desktop/assets/header-logo-white.svg)0
-rw-r--r--src/client/app/desktop/assets/header-logo.svg (renamed from src/server/web/app/desktop/assets/header-logo.svg)0
-rw-r--r--src/client/app/desktop/assets/index.jpg (renamed from src/server/web/app/desktop/assets/index.jpg)bin410409 -> 410409 bytes
-rw-r--r--src/client/app/desktop/assets/remove.png (renamed from src/server/web/app/desktop/assets/remove.png)bin3115 -> 3115 bytes
-rw-r--r--src/client/app/desktop/script.ts (renamed from src/server/web/app/desktop/script.ts)0
-rw-r--r--src/client/app/desktop/style.styl (renamed from src/server/web/app/desktop/style.styl)0
-rw-r--r--src/client/app/desktop/ui.styl (renamed from src/server/web/app/desktop/ui.styl)0
-rw-r--r--src/client/app/desktop/views/components/activity.calendar.vue (renamed from src/server/web/app/desktop/views/components/activity.calendar.vue)0
-rw-r--r--src/client/app/desktop/views/components/activity.chart.vue (renamed from src/server/web/app/desktop/views/components/activity.chart.vue)0
-rw-r--r--src/client/app/desktop/views/components/activity.vue (renamed from src/server/web/app/desktop/views/components/activity.vue)0
-rw-r--r--src/client/app/desktop/views/components/analog-clock.vue (renamed from src/server/web/app/desktop/views/components/analog-clock.vue)0
-rw-r--r--src/client/app/desktop/views/components/calendar.vue (renamed from src/server/web/app/desktop/views/components/calendar.vue)0
-rw-r--r--src/client/app/desktop/views/components/choose-file-from-drive-window.vue (renamed from src/server/web/app/desktop/views/components/choose-file-from-drive-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/choose-folder-from-drive-window.vue (renamed from src/server/web/app/desktop/views/components/choose-folder-from-drive-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/context-menu.menu.vue (renamed from src/server/web/app/desktop/views/components/context-menu.menu.vue)0
-rw-r--r--src/client/app/desktop/views/components/context-menu.vue (renamed from src/server/web/app/desktop/views/components/context-menu.vue)0
-rw-r--r--src/client/app/desktop/views/components/crop-window.vue (renamed from src/server/web/app/desktop/views/components/crop-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/dialog.vue (renamed from src/server/web/app/desktop/views/components/dialog.vue)0
-rw-r--r--src/client/app/desktop/views/components/drive-window.vue (renamed from src/server/web/app/desktop/views/components/drive-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/drive.file.vue (renamed from src/server/web/app/desktop/views/components/drive.file.vue)0
-rw-r--r--src/client/app/desktop/views/components/drive.folder.vue (renamed from src/server/web/app/desktop/views/components/drive.folder.vue)0
-rw-r--r--src/client/app/desktop/views/components/drive.nav-folder.vue (renamed from src/server/web/app/desktop/views/components/drive.nav-folder.vue)0
-rw-r--r--src/client/app/desktop/views/components/drive.vue (renamed from src/server/web/app/desktop/views/components/drive.vue)0
-rw-r--r--src/client/app/desktop/views/components/ellipsis-icon.vue (renamed from src/server/web/app/desktop/views/components/ellipsis-icon.vue)0
-rw-r--r--src/client/app/desktop/views/components/follow-button.vue (renamed from src/server/web/app/desktop/views/components/follow-button.vue)0
-rw-r--r--src/client/app/desktop/views/components/followers-window.vue (renamed from src/server/web/app/desktop/views/components/followers-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/followers.vue (renamed from src/server/web/app/desktop/views/components/followers.vue)0
-rw-r--r--src/client/app/desktop/views/components/following-window.vue (renamed from src/server/web/app/desktop/views/components/following-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/following.vue (renamed from src/server/web/app/desktop/views/components/following.vue)0
-rw-r--r--src/client/app/desktop/views/components/friends-maker.vue (renamed from src/server/web/app/desktop/views/components/friends-maker.vue)0
-rw-r--r--src/client/app/desktop/views/components/game-window.vue (renamed from src/server/web/app/desktop/views/components/game-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/home.vue (renamed from src/server/web/app/desktop/views/components/home.vue)0
-rw-r--r--src/client/app/desktop/views/components/index.ts (renamed from src/server/web/app/desktop/views/components/index.ts)0
-rw-r--r--src/client/app/desktop/views/components/input-dialog.vue (renamed from src/server/web/app/desktop/views/components/input-dialog.vue)0
-rw-r--r--src/client/app/desktop/views/components/media-image-dialog.vue (renamed from src/server/web/app/desktop/views/components/media-image-dialog.vue)0
-rw-r--r--src/client/app/desktop/views/components/media-image.vue (renamed from src/server/web/app/desktop/views/components/media-image.vue)0
-rw-r--r--src/client/app/desktop/views/components/media-video-dialog.vue (renamed from src/server/web/app/desktop/views/components/media-video-dialog.vue)0
-rw-r--r--src/client/app/desktop/views/components/media-video.vue (renamed from src/server/web/app/desktop/views/components/media-video.vue)0
-rw-r--r--src/client/app/desktop/views/components/mentions.vue (renamed from src/server/web/app/desktop/views/components/mentions.vue)0
-rw-r--r--src/client/app/desktop/views/components/messaging-room-window.vue (renamed from src/server/web/app/desktop/views/components/messaging-room-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/messaging-window.vue (renamed from src/server/web/app/desktop/views/components/messaging-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/notifications.vue (renamed from src/server/web/app/desktop/views/components/notifications.vue)0
-rw-r--r--src/client/app/desktop/views/components/post-detail.sub.vue (renamed from src/server/web/app/desktop/views/components/post-detail.sub.vue)0
-rw-r--r--src/client/app/desktop/views/components/post-detail.vue (renamed from src/server/web/app/desktop/views/components/post-detail.vue)0
-rw-r--r--src/client/app/desktop/views/components/post-form-window.vue (renamed from src/server/web/app/desktop/views/components/post-form-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/post-form.vue (renamed from src/server/web/app/desktop/views/components/post-form.vue)0
-rw-r--r--src/client/app/desktop/views/components/post-preview.vue (renamed from src/server/web/app/desktop/views/components/post-preview.vue)0
-rw-r--r--src/client/app/desktop/views/components/posts.post.sub.vue (renamed from src/server/web/app/desktop/views/components/posts.post.sub.vue)0
-rw-r--r--src/client/app/desktop/views/components/posts.post.vue (renamed from src/server/web/app/desktop/views/components/posts.post.vue)0
-rw-r--r--src/client/app/desktop/views/components/posts.vue (renamed from src/server/web/app/desktop/views/components/posts.vue)0
-rw-r--r--src/client/app/desktop/views/components/progress-dialog.vue (renamed from src/server/web/app/desktop/views/components/progress-dialog.vue)0
-rw-r--r--src/client/app/desktop/views/components/repost-form-window.vue (renamed from src/server/web/app/desktop/views/components/repost-form-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/repost-form.vue (renamed from src/server/web/app/desktop/views/components/repost-form.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings-window.vue (renamed from src/server/web/app/desktop/views/components/settings-window.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings.2fa.vue (renamed from src/server/web/app/desktop/views/components/settings.2fa.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings.api.vue (renamed from src/server/web/app/desktop/views/components/settings.api.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings.apps.vue (renamed from src/server/web/app/desktop/views/components/settings.apps.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings.drive.vue (renamed from src/server/web/app/desktop/views/components/settings.drive.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings.mute.vue (renamed from src/server/web/app/desktop/views/components/settings.mute.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings.password.vue (renamed from src/server/web/app/desktop/views/components/settings.password.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings.profile.vue (renamed from src/server/web/app/desktop/views/components/settings.profile.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings.signins.vue (renamed from src/server/web/app/desktop/views/components/settings.signins.vue)0
-rw-r--r--src/client/app/desktop/views/components/settings.vue (renamed from src/server/web/app/desktop/views/components/settings.vue)0
-rw-r--r--src/client/app/desktop/views/components/sub-post-content.vue (renamed from src/server/web/app/desktop/views/components/sub-post-content.vue)0
-rw-r--r--src/client/app/desktop/views/components/taskmanager.vue (renamed from src/server/web/app/desktop/views/components/taskmanager.vue)0
-rw-r--r--src/client/app/desktop/views/components/timeline.vue (renamed from src/server/web/app/desktop/views/components/timeline.vue)0
-rw-r--r--src/client/app/desktop/views/components/ui-notification.vue (renamed from src/server/web/app/desktop/views/components/ui-notification.vue)0
-rw-r--r--src/client/app/desktop/views/components/ui.header.account.vue (renamed from src/server/web/app/desktop/views/components/ui.header.account.vue)0
-rw-r--r--src/client/app/desktop/views/components/ui.header.clock.vue (renamed from src/server/web/app/desktop/views/components/ui.header.clock.vue)0
-rw-r--r--src/client/app/desktop/views/components/ui.header.nav.vue (renamed from src/server/web/app/desktop/views/components/ui.header.nav.vue)0
-rw-r--r--src/client/app/desktop/views/components/ui.header.notifications.vue (renamed from src/server/web/app/desktop/views/components/ui.header.notifications.vue)0
-rw-r--r--src/client/app/desktop/views/components/ui.header.post.vue (renamed from src/server/web/app/desktop/views/components/ui.header.post.vue)0
-rw-r--r--src/client/app/desktop/views/components/ui.header.search.vue (renamed from src/server/web/app/desktop/views/components/ui.header.search.vue)0
-rw-r--r--src/client/app/desktop/views/components/ui.header.vue (renamed from src/server/web/app/desktop/views/components/ui.header.vue)0
-rw-r--r--src/client/app/desktop/views/components/ui.vue (renamed from src/server/web/app/desktop/views/components/ui.vue)0
-rw-r--r--src/client/app/desktop/views/components/user-preview.vue (renamed from src/server/web/app/desktop/views/components/user-preview.vue)0
-rw-r--r--src/client/app/desktop/views/components/users-list.item.vue (renamed from src/server/web/app/desktop/views/components/users-list.item.vue)0
-rw-r--r--src/client/app/desktop/views/components/users-list.vue (renamed from src/server/web/app/desktop/views/components/users-list.vue)0
-rw-r--r--src/client/app/desktop/views/components/widget-container.vue (renamed from src/server/web/app/desktop/views/components/widget-container.vue)0
-rw-r--r--src/client/app/desktop/views/components/window.vue (renamed from src/server/web/app/desktop/views/components/window.vue)0
-rw-r--r--src/client/app/desktop/views/directives/index.ts (renamed from src/server/web/app/desktop/views/directives/index.ts)0
-rw-r--r--src/client/app/desktop/views/directives/user-preview.ts (renamed from src/server/web/app/desktop/views/directives/user-preview.ts)0
-rw-r--r--src/client/app/desktop/views/pages/drive.vue (renamed from src/server/web/app/desktop/views/pages/drive.vue)0
-rw-r--r--src/client/app/desktop/views/pages/home-customize.vue (renamed from src/server/web/app/desktop/views/pages/home-customize.vue)0
-rw-r--r--src/client/app/desktop/views/pages/home.vue (renamed from src/server/web/app/desktop/views/pages/home.vue)0
-rw-r--r--src/client/app/desktop/views/pages/index.vue (renamed from src/server/web/app/desktop/views/pages/index.vue)0
-rw-r--r--src/client/app/desktop/views/pages/messaging-room.vue (renamed from src/server/web/app/desktop/views/pages/messaging-room.vue)0
-rw-r--r--src/client/app/desktop/views/pages/othello.vue (renamed from src/server/web/app/desktop/views/pages/othello.vue)0
-rw-r--r--src/client/app/desktop/views/pages/post.vue (renamed from src/server/web/app/desktop/views/pages/post.vue)0
-rw-r--r--src/client/app/desktop/views/pages/search.vue (renamed from src/server/web/app/desktop/views/pages/search.vue)0
-rw-r--r--src/client/app/desktop/views/pages/selectdrive.vue (renamed from src/server/web/app/desktop/views/pages/selectdrive.vue)0
-rw-r--r--src/client/app/desktop/views/pages/user/user.followers-you-know.vue (renamed from src/server/web/app/desktop/views/pages/user/user.followers-you-know.vue)0
-rw-r--r--src/client/app/desktop/views/pages/user/user.friends.vue (renamed from src/server/web/app/desktop/views/pages/user/user.friends.vue)0
-rw-r--r--src/client/app/desktop/views/pages/user/user.header.vue (renamed from src/server/web/app/desktop/views/pages/user/user.header.vue)0
-rw-r--r--src/client/app/desktop/views/pages/user/user.home.vue (renamed from src/server/web/app/desktop/views/pages/user/user.home.vue)0
-rw-r--r--src/client/app/desktop/views/pages/user/user.photos.vue (renamed from src/server/web/app/desktop/views/pages/user/user.photos.vue)0
-rw-r--r--src/client/app/desktop/views/pages/user/user.profile.vue (renamed from src/server/web/app/desktop/views/pages/user/user.profile.vue)0
-rw-r--r--src/client/app/desktop/views/pages/user/user.timeline.vue (renamed from src/server/web/app/desktop/views/pages/user/user.timeline.vue)0
-rw-r--r--src/client/app/desktop/views/pages/user/user.vue (renamed from src/server/web/app/desktop/views/pages/user/user.vue)0
-rw-r--r--src/client/app/desktop/views/pages/welcome.vue (renamed from src/server/web/app/desktop/views/pages/welcome.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/activity.vue (renamed from src/server/web/app/desktop/views/widgets/activity.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/channel.channel.form.vue (renamed from src/server/web/app/desktop/views/widgets/channel.channel.form.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/channel.channel.post.vue (renamed from src/server/web/app/desktop/views/widgets/channel.channel.post.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/channel.channel.vue (renamed from src/server/web/app/desktop/views/widgets/channel.channel.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/channel.vue (renamed from src/server/web/app/desktop/views/widgets/channel.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/index.ts (renamed from src/server/web/app/desktop/views/widgets/index.ts)0
-rw-r--r--src/client/app/desktop/views/widgets/messaging.vue (renamed from src/server/web/app/desktop/views/widgets/messaging.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/notifications.vue (renamed from src/server/web/app/desktop/views/widgets/notifications.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/polls.vue (renamed from src/server/web/app/desktop/views/widgets/polls.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/post-form.vue (renamed from src/server/web/app/desktop/views/widgets/post-form.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/profile.vue (renamed from src/server/web/app/desktop/views/widgets/profile.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/timemachine.vue (renamed from src/server/web/app/desktop/views/widgets/timemachine.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/trends.vue (renamed from src/server/web/app/desktop/views/widgets/trends.vue)0
-rw-r--r--src/client/app/desktop/views/widgets/users.vue (renamed from src/server/web/app/desktop/views/widgets/users.vue)0
-rw-r--r--src/client/app/dev/script.ts (renamed from src/server/web/app/dev/script.ts)0
-rw-r--r--src/client/app/dev/style.styl (renamed from src/server/web/app/dev/style.styl)0
-rw-r--r--src/client/app/dev/views/app.vue (renamed from src/server/web/app/dev/views/app.vue)0
-rw-r--r--src/client/app/dev/views/apps.vue (renamed from src/server/web/app/dev/views/apps.vue)0
-rw-r--r--src/client/app/dev/views/index.vue (renamed from src/server/web/app/dev/views/index.vue)0
-rw-r--r--src/client/app/dev/views/new-app.vue (renamed from src/server/web/app/dev/views/new-app.vue)0
-rw-r--r--src/client/app/dev/views/ui.vue (renamed from src/server/web/app/dev/views/ui.vue)0
-rw-r--r--src/client/app/init.css (renamed from src/server/web/app/init.css)0
-rw-r--r--src/client/app/init.ts (renamed from src/server/web/app/init.ts)0
-rw-r--r--src/client/app/mobile/api/choose-drive-file.ts (renamed from src/server/web/app/mobile/api/choose-drive-file.ts)0
-rw-r--r--src/client/app/mobile/api/choose-drive-folder.ts (renamed from src/server/web/app/mobile/api/choose-drive-folder.ts)0
-rw-r--r--src/client/app/mobile/api/dialog.ts (renamed from src/server/web/app/mobile/api/dialog.ts)0
-rw-r--r--src/client/app/mobile/api/input.ts (renamed from src/server/web/app/mobile/api/input.ts)0
-rw-r--r--src/client/app/mobile/api/notify.ts (renamed from src/server/web/app/mobile/api/notify.ts)0
-rw-r--r--src/client/app/mobile/api/post.ts (renamed from src/server/web/app/mobile/api/post.ts)0
-rw-r--r--src/client/app/mobile/script.ts (renamed from src/server/web/app/mobile/script.ts)0
-rw-r--r--src/client/app/mobile/style.styl (renamed from src/server/web/app/mobile/style.styl)0
-rw-r--r--src/client/app/mobile/views/components/activity.vue (renamed from src/server/web/app/mobile/views/components/activity.vue)0
-rw-r--r--src/client/app/mobile/views/components/drive-file-chooser.vue (renamed from src/server/web/app/mobile/views/components/drive-file-chooser.vue)0
-rw-r--r--src/client/app/mobile/views/components/drive-folder-chooser.vue (renamed from src/server/web/app/mobile/views/components/drive-folder-chooser.vue)0
-rw-r--r--src/client/app/mobile/views/components/drive.file-detail.vue (renamed from src/server/web/app/mobile/views/components/drive.file-detail.vue)0
-rw-r--r--src/client/app/mobile/views/components/drive.file.vue (renamed from src/server/web/app/mobile/views/components/drive.file.vue)0
-rw-r--r--src/client/app/mobile/views/components/drive.folder.vue (renamed from src/server/web/app/mobile/views/components/drive.folder.vue)0
-rw-r--r--src/client/app/mobile/views/components/drive.vue (renamed from src/server/web/app/mobile/views/components/drive.vue)0
-rw-r--r--src/client/app/mobile/views/components/follow-button.vue (renamed from src/server/web/app/mobile/views/components/follow-button.vue)0
-rw-r--r--src/client/app/mobile/views/components/friends-maker.vue (renamed from src/server/web/app/mobile/views/components/friends-maker.vue)0
-rw-r--r--src/client/app/mobile/views/components/index.ts (renamed from src/server/web/app/mobile/views/components/index.ts)0
-rw-r--r--src/client/app/mobile/views/components/media-image.vue (renamed from src/server/web/app/mobile/views/components/media-image.vue)0
-rw-r--r--src/client/app/mobile/views/components/media-video.vue (renamed from src/server/web/app/mobile/views/components/media-video.vue)0
-rw-r--r--src/client/app/mobile/views/components/notification-preview.vue (renamed from src/server/web/app/mobile/views/components/notification-preview.vue)0
-rw-r--r--src/client/app/mobile/views/components/notification.vue (renamed from src/server/web/app/mobile/views/components/notification.vue)0
-rw-r--r--src/client/app/mobile/views/components/notifications.vue (renamed from src/server/web/app/mobile/views/components/notifications.vue)0
-rw-r--r--src/client/app/mobile/views/components/notify.vue (renamed from src/server/web/app/mobile/views/components/notify.vue)0
-rw-r--r--src/client/app/mobile/views/components/post-card.vue (renamed from src/server/web/app/mobile/views/components/post-card.vue)0
-rw-r--r--src/client/app/mobile/views/components/post-detail.sub.vue (renamed from src/server/web/app/mobile/views/components/post-detail.sub.vue)0
-rw-r--r--src/client/app/mobile/views/components/post-detail.vue (renamed from src/server/web/app/mobile/views/components/post-detail.vue)0
-rw-r--r--src/client/app/mobile/views/components/post-form.vue (renamed from src/server/web/app/mobile/views/components/post-form.vue)0
-rw-r--r--src/client/app/mobile/views/components/post-preview.vue (renamed from src/server/web/app/mobile/views/components/post-preview.vue)0
-rw-r--r--src/client/app/mobile/views/components/post.sub.vue (renamed from src/server/web/app/mobile/views/components/post.sub.vue)0
-rw-r--r--src/client/app/mobile/views/components/post.vue (renamed from src/server/web/app/mobile/views/components/post.vue)0
-rw-r--r--src/client/app/mobile/views/components/posts.vue (renamed from src/server/web/app/mobile/views/components/posts.vue)0
-rw-r--r--src/client/app/mobile/views/components/sub-post-content.vue (renamed from src/server/web/app/mobile/views/components/sub-post-content.vue)0
-rw-r--r--src/client/app/mobile/views/components/timeline.vue (renamed from src/server/web/app/mobile/views/components/timeline.vue)0
-rw-r--r--src/client/app/mobile/views/components/ui.header.vue (renamed from src/server/web/app/mobile/views/components/ui.header.vue)0
-rw-r--r--src/client/app/mobile/views/components/ui.nav.vue (renamed from src/server/web/app/mobile/views/components/ui.nav.vue)0
-rw-r--r--src/client/app/mobile/views/components/ui.vue (renamed from src/server/web/app/mobile/views/components/ui.vue)0
-rw-r--r--src/client/app/mobile/views/components/user-card.vue (renamed from src/server/web/app/mobile/views/components/user-card.vue)0
-rw-r--r--src/client/app/mobile/views/components/user-preview.vue (renamed from src/server/web/app/mobile/views/components/user-preview.vue)0
-rw-r--r--src/client/app/mobile/views/components/user-timeline.vue (renamed from src/server/web/app/mobile/views/components/user-timeline.vue)0
-rw-r--r--src/client/app/mobile/views/components/users-list.vue (renamed from src/server/web/app/mobile/views/components/users-list.vue)0
-rw-r--r--src/client/app/mobile/views/components/widget-container.vue (renamed from src/server/web/app/mobile/views/components/widget-container.vue)0
-rw-r--r--src/client/app/mobile/views/directives/index.ts (renamed from src/server/web/app/mobile/views/directives/index.ts)0
-rw-r--r--src/client/app/mobile/views/directives/user-preview.ts (renamed from src/server/web/app/mobile/views/directives/user-preview.ts)0
-rw-r--r--src/client/app/mobile/views/pages/drive.vue (renamed from src/server/web/app/mobile/views/pages/drive.vue)0
-rw-r--r--src/client/app/mobile/views/pages/followers.vue (renamed from src/server/web/app/mobile/views/pages/followers.vue)0
-rw-r--r--src/client/app/mobile/views/pages/following.vue (renamed from src/server/web/app/mobile/views/pages/following.vue)0
-rw-r--r--src/client/app/mobile/views/pages/home.vue (renamed from src/server/web/app/mobile/views/pages/home.vue)0
-rw-r--r--src/client/app/mobile/views/pages/index.vue (renamed from src/server/web/app/mobile/views/pages/index.vue)0
-rw-r--r--src/client/app/mobile/views/pages/messaging-room.vue (renamed from src/server/web/app/mobile/views/pages/messaging-room.vue)0
-rw-r--r--src/client/app/mobile/views/pages/messaging.vue (renamed from src/server/web/app/mobile/views/pages/messaging.vue)0
-rw-r--r--src/client/app/mobile/views/pages/notifications.vue (renamed from src/server/web/app/mobile/views/pages/notifications.vue)0
-rw-r--r--src/client/app/mobile/views/pages/othello.vue (renamed from src/server/web/app/mobile/views/pages/othello.vue)0
-rw-r--r--src/client/app/mobile/views/pages/post.vue (renamed from src/server/web/app/mobile/views/pages/post.vue)0
-rw-r--r--src/client/app/mobile/views/pages/profile-setting.vue (renamed from src/server/web/app/mobile/views/pages/profile-setting.vue)0
-rw-r--r--src/client/app/mobile/views/pages/search.vue (renamed from src/server/web/app/mobile/views/pages/search.vue)0
-rw-r--r--src/client/app/mobile/views/pages/selectdrive.vue (renamed from src/server/web/app/mobile/views/pages/selectdrive.vue)0
-rw-r--r--src/client/app/mobile/views/pages/settings.vue (renamed from src/server/web/app/mobile/views/pages/settings.vue)0
-rw-r--r--src/client/app/mobile/views/pages/signup.vue (renamed from src/server/web/app/mobile/views/pages/signup.vue)0
-rw-r--r--src/client/app/mobile/views/pages/user.vue (renamed from src/server/web/app/mobile/views/pages/user.vue)0
-rw-r--r--src/client/app/mobile/views/pages/user/home.followers-you-know.vue (renamed from src/server/web/app/mobile/views/pages/user/home.followers-you-know.vue)0
-rw-r--r--src/client/app/mobile/views/pages/user/home.friends.vue (renamed from src/server/web/app/mobile/views/pages/user/home.friends.vue)0
-rw-r--r--src/client/app/mobile/views/pages/user/home.photos.vue (renamed from src/server/web/app/mobile/views/pages/user/home.photos.vue)0
-rw-r--r--src/client/app/mobile/views/pages/user/home.posts.vue (renamed from src/server/web/app/mobile/views/pages/user/home.posts.vue)0
-rw-r--r--src/client/app/mobile/views/pages/user/home.vue (renamed from src/server/web/app/mobile/views/pages/user/home.vue)0
-rw-r--r--src/client/app/mobile/views/pages/welcome.vue (renamed from src/server/web/app/mobile/views/pages/welcome.vue)0
-rw-r--r--src/client/app/mobile/views/widgets/activity.vue (renamed from src/server/web/app/mobile/views/widgets/activity.vue)0
-rw-r--r--src/client/app/mobile/views/widgets/index.ts (renamed from src/server/web/app/mobile/views/widgets/index.ts)0
-rw-r--r--src/client/app/mobile/views/widgets/profile.vue (renamed from src/server/web/app/mobile/views/widgets/profile.vue)0
-rw-r--r--src/client/app/reset.styl (renamed from src/server/web/app/reset.styl)0
-rw-r--r--src/client/app/safe.js (renamed from src/server/web/app/safe.js)0
-rw-r--r--src/client/app/stats/style.styl (renamed from src/server/web/app/stats/style.styl)0
-rw-r--r--src/client/app/stats/tags/index.tag (renamed from src/server/web/app/stats/tags/index.tag)0
-rw-r--r--src/client/app/stats/tags/index.ts (renamed from src/server/web/app/stats/tags/index.ts)0
-rw-r--r--src/client/app/status/style.styl (renamed from src/server/web/app/status/style.styl)0
-rw-r--r--src/client/app/status/tags/index.tag (renamed from src/server/web/app/status/tags/index.tag)0
-rw-r--r--src/client/app/status/tags/index.ts (renamed from src/server/web/app/status/tags/index.ts)0
-rw-r--r--src/client/app/sw.js (renamed from src/server/web/app/sw.js)0
-rw-r--r--src/client/app/tsconfig.json (renamed from src/server/web/app/tsconfig.json)0
-rw-r--r--src/client/app/v.d.ts (renamed from src/server/web/app/v.d.ts)0
-rw-r--r--src/client/assets/404.js (renamed from src/server/web/assets/404.js)0
-rw-r--r--src/client/assets/code-highlight.css (renamed from src/server/web/assets/code-highlight.css)0
-rw-r--r--src/client/assets/error.jpg (renamed from src/server/web/assets/error.jpg)bin56865 -> 56865 bytes
-rw-r--r--src/client/assets/favicon.ico (renamed from src/server/web/assets/favicon.ico)bin360414 -> 360414 bytes
-rw-r--r--src/client/assets/label.svg (renamed from src/server/web/assets/label.svg)0
-rw-r--r--src/client/assets/manifest.json (renamed from src/server/web/assets/manifest.json)0
-rw-r--r--src/client/assets/message.mp3 (renamed from src/server/web/assets/message.mp3)bin4584 -> 4584 bytes
-rw-r--r--src/client/assets/othello-put-me.mp3 (renamed from src/server/web/assets/othello-put-me.mp3)bin15672 -> 15672 bytes
-rw-r--r--src/client/assets/othello-put-you.mp3 (renamed from src/server/web/assets/othello-put-you.mp3)bin26121 -> 26121 bytes
-rw-r--r--src/client/assets/post.mp3 (renamed from src/server/web/assets/post.mp3)bin2506 -> 2506 bytes
-rw-r--r--src/client/assets/reactions/angry.png (renamed from src/server/web/assets/reactions/angry.png)bin5875 -> 5875 bytes
-rw-r--r--src/client/assets/reactions/confused.png (renamed from src/server/web/assets/reactions/confused.png)bin7255 -> 7255 bytes
-rw-r--r--src/client/assets/reactions/congrats.png (renamed from src/server/web/assets/reactions/congrats.png)bin10643 -> 10643 bytes
-rw-r--r--src/client/assets/reactions/hmm.png (renamed from src/server/web/assets/reactions/hmm.png)bin6628 -> 6628 bytes
-rw-r--r--src/client/assets/reactions/laugh.png (renamed from src/server/web/assets/reactions/laugh.png)bin7921 -> 7921 bytes
-rw-r--r--src/client/assets/reactions/like.png (renamed from src/server/web/assets/reactions/like.png)bin4835 -> 4835 bytes
-rw-r--r--src/client/assets/reactions/love.png (renamed from src/server/web/assets/reactions/love.png)bin3342 -> 3342 bytes
-rw-r--r--src/client/assets/reactions/pudding.png (renamed from src/server/web/assets/reactions/pudding.png)bin7652 -> 7652 bytes
-rw-r--r--src/client/assets/reactions/surprise.png (renamed from src/server/web/assets/reactions/surprise.png)bin4698 -> 4698 bytes
-rw-r--r--src/client/assets/recover.html (renamed from src/server/web/assets/recover.html)0
-rw-r--r--src/client/assets/title.svg (renamed from src/server/web/assets/title.svg)0
-rw-r--r--src/client/assets/unread.svg (renamed from src/server/web/assets/unread.svg)0
-rw-r--r--src/client/assets/welcome-bg.svg (renamed from src/server/web/assets/welcome-bg.svg)0
-rw-r--r--src/client/assets/welcome-fg.svg (renamed from src/server/web/assets/welcome-fg.svg)0
-rw-r--r--src/client/const.styl (renamed from src/server/web/const.styl)2
-rw-r--r--src/client/docs/about.en.pug (renamed from src/server/web/docs/about.en.pug)0
-rw-r--r--src/client/docs/about.ja.pug (renamed from src/server/web/docs/about.ja.pug)0
-rw-r--r--src/client/docs/api.ja.pug (renamed from src/server/web/docs/api.ja.pug)0
-rw-r--r--src/client/docs/api/endpoints/posts/create.yaml (renamed from src/server/web/docs/api/endpoints/posts/create.yaml)0
-rw-r--r--src/client/docs/api/endpoints/posts/timeline.yaml (renamed from src/server/web/docs/api/endpoints/posts/timeline.yaml)0
-rw-r--r--src/client/docs/api/endpoints/style.styl (renamed from src/server/web/docs/api/endpoints/style.styl)0
-rw-r--r--src/client/docs/api/endpoints/view.pug (renamed from src/server/web/docs/api/endpoints/view.pug)0
-rw-r--r--src/client/docs/api/entities/drive-file.yaml (renamed from src/server/web/docs/api/entities/drive-file.yaml)0
-rw-r--r--src/client/docs/api/entities/post.yaml (renamed from src/server/web/docs/api/entities/post.yaml)0
-rw-r--r--src/client/docs/api/entities/style.styl (renamed from src/server/web/docs/api/entities/style.styl)0
-rw-r--r--src/client/docs/api/entities/user.yaml (renamed from src/server/web/docs/api/entities/user.yaml)0
-rw-r--r--src/client/docs/api/entities/view.pug (renamed from src/server/web/docs/api/entities/view.pug)0
-rw-r--r--src/client/docs/api/gulpfile.ts (renamed from src/server/web/docs/api/gulpfile.ts)24
-rw-r--r--src/client/docs/api/mixins.pug (renamed from src/server/web/docs/api/mixins.pug)0
-rw-r--r--src/client/docs/api/style.styl (renamed from src/server/web/docs/api/style.styl)0
-rw-r--r--src/client/docs/gulpfile.ts (renamed from src/server/web/docs/gulpfile.ts)16
-rw-r--r--src/client/docs/index.en.pug (renamed from src/server/web/docs/index.en.pug)0
-rw-r--r--src/client/docs/index.ja.pug (renamed from src/server/web/docs/index.ja.pug)0
-rw-r--r--src/client/docs/layout.pug (renamed from src/server/web/docs/layout.pug)0
-rw-r--r--src/client/docs/license.en.pug (renamed from src/server/web/docs/license.en.pug)0
-rw-r--r--src/client/docs/license.ja.pug (renamed from src/server/web/docs/license.ja.pug)0
-rw-r--r--src/client/docs/mute.ja.pug (renamed from src/server/web/docs/mute.ja.pug)0
-rw-r--r--src/client/docs/search.ja.pug (renamed from src/server/web/docs/search.ja.pug)0
-rw-r--r--src/client/docs/server.ts (renamed from src/server/web/docs/server.ts)0
-rw-r--r--src/client/docs/style.styl (renamed from src/server/web/docs/style.styl)0
-rw-r--r--src/client/docs/tou.ja.pug (renamed from src/server/web/docs/tou.ja.pug)0
-rw-r--r--src/client/docs/ui.styl (renamed from src/server/web/docs/ui.styl)0
-rw-r--r--src/client/docs/vars.ts (renamed from src/server/web/docs/vars.ts)16
-rw-r--r--src/client/element.scss (renamed from src/server/web/element.scss)2
-rw-r--r--src/client/style.styl (renamed from src/server/web/style.styl)0
-rw-r--r--src/common/get-notification-summary.ts (renamed from src/server/common/get-notification-summary.ts)0
-rw-r--r--src/common/get-post-summary.ts (renamed from src/server/common/get-post-summary.ts)0
-rw-r--r--src/common/get-reaction-emoji.ts (renamed from src/server/common/get-reaction-emoji.ts)0
-rw-r--r--src/common/othello/ai/back.ts (renamed from src/server/common/othello/ai/back.ts)2
-rw-r--r--src/common/othello/ai/front.ts (renamed from src/server/common/othello/ai/front.ts)2
-rw-r--r--src/common/othello/ai/index.ts (renamed from src/server/common/othello/ai/index.ts)0
-rw-r--r--src/common/othello/core.ts (renamed from src/server/common/othello/core.ts)0
-rw-r--r--src/common/othello/maps.ts (renamed from src/server/common/othello/maps.ts)0
-rw-r--r--src/common/text/core/syntax-highlighter.ts (renamed from src/server/api/common/text/core/syntax-highlighter.ts)0
-rw-r--r--src/common/text/elements/bold.ts (renamed from src/server/api/common/text/elements/bold.ts)0
-rw-r--r--src/common/text/elements/code.ts (renamed from src/server/api/common/text/elements/code.ts)0
-rw-r--r--src/common/text/elements/emoji.ts (renamed from src/server/api/common/text/elements/emoji.ts)0
-rw-r--r--src/common/text/elements/hashtag.ts (renamed from src/server/api/common/text/elements/hashtag.ts)0
-rw-r--r--src/common/text/elements/inline-code.ts (renamed from src/server/api/common/text/elements/inline-code.ts)0
-rw-r--r--src/common/text/elements/link.ts (renamed from src/server/api/common/text/elements/link.ts)0
-rw-r--r--src/common/text/elements/mention.ts (renamed from src/server/api/common/text/elements/mention.ts)2
-rw-r--r--src/common/text/elements/quote.ts (renamed from src/server/api/common/text/elements/quote.ts)0
-rw-r--r--src/common/text/elements/url.ts (renamed from src/server/api/common/text/elements/url.ts)0
-rw-r--r--src/common/text/index.ts (renamed from src/server/api/common/text/index.ts)0
-rw-r--r--src/common/user/get-acct.ts (renamed from src/server/common/user/get-acct.ts)0
-rw-r--r--src/common/user/get-summary.ts (renamed from src/server/common/user/get-summary.ts)2
-rw-r--r--src/common/user/parse-acct.ts (renamed from src/server/common/user/parse-acct.ts)0
-rw-r--r--src/models/access-token.ts (renamed from src/server/api/models/access-token.ts)2
-rw-r--r--src/models/app.ts (renamed from src/server/api/models/app.ts)4
-rw-r--r--src/models/auth-session.ts (renamed from src/server/api/models/auth-session.ts)2
-rw-r--r--src/models/channel-watching.ts (renamed from src/server/api/models/channel-watching.ts)2
-rw-r--r--src/models/channel.ts (renamed from src/server/api/models/channel.ts)2
-rw-r--r--src/models/drive-file.ts (renamed from src/server/api/models/drive-file.ts)4
-rw-r--r--src/models/drive-folder.ts (renamed from src/server/api/models/drive-folder.ts)2
-rw-r--r--src/models/favorite.ts (renamed from src/server/api/models/favorite.ts)2
-rw-r--r--src/models/following.ts (renamed from src/server/api/models/following.ts)2
-rw-r--r--src/models/messaging-history.ts (renamed from src/server/api/models/messaging-history.ts)2
-rw-r--r--src/models/messaging-message.ts (renamed from src/server/api/models/messaging-message.ts)2
-rw-r--r--src/models/meta.ts (renamed from src/server/api/models/meta.ts)2
-rw-r--r--src/models/mute.ts (renamed from src/server/api/models/mute.ts)2
-rw-r--r--src/models/notification.ts (renamed from src/server/api/models/notification.ts)2
-rw-r--r--src/models/othello-game.ts (renamed from src/server/api/models/othello-game.ts)2
-rw-r--r--src/models/othello-matching.ts (renamed from src/server/api/models/othello-matching.ts)2
-rw-r--r--src/models/poll-vote.ts (renamed from src/server/api/models/poll-vote.ts)6
-rw-r--r--src/models/post-reaction.ts (renamed from src/server/api/models/post-reaction.ts)2
-rw-r--r--src/models/post-watching.ts (renamed from src/server/api/models/post-watching.ts)2
-rw-r--r--src/models/post.ts (renamed from src/server/api/models/post.ts)2
-rw-r--r--src/models/signin.ts (renamed from src/server/api/models/signin.ts)2
-rw-r--r--src/models/sw-subscription.ts (renamed from src/server/api/models/sw-subscription.ts)2
-rw-r--r--src/models/user.ts (renamed from src/server/api/models/user.ts)6
-rw-r--r--src/processor/report-github-failure.ts2
-rw-r--r--src/server/api/authenticate.ts6
-rw-r--r--src/server/api/bot/core.ts10
-rw-r--r--src/server/api/bot/interfaces/line.ts8
-rw-r--r--src/server/api/common/drive/add-file.ts8
-rw-r--r--src/server/api/common/drive/upload_from_url.ts2
-rw-r--r--src/server/api/common/get-friends.ts2
-rw-r--r--src/server/api/common/notify.ts6
-rw-r--r--src/server/api/common/push-sw.ts2
-rw-r--r--src/server/api/common/read-messaging-message.ts4
-rw-r--r--src/server/api/common/read-notification.ts2
-rw-r--r--src/server/api/common/watch-post.ts2
-rw-r--r--src/server/api/endpoints/aggregation/posts.ts2
-rw-r--r--src/server/api/endpoints/aggregation/posts/reaction.ts4
-rw-r--r--src/server/api/endpoints/aggregation/posts/reactions.ts4
-rw-r--r--src/server/api/endpoints/aggregation/posts/reply.ts2
-rw-r--r--src/server/api/endpoints/aggregation/posts/repost.ts2
-rw-r--r--src/server/api/endpoints/aggregation/users.ts2
-rw-r--r--src/server/api/endpoints/aggregation/users/activity.ts4
-rw-r--r--src/server/api/endpoints/aggregation/users/followers.ts15
-rw-r--r--src/server/api/endpoints/aggregation/users/following.ts15
-rw-r--r--src/server/api/endpoints/aggregation/users/post.ts4
-rw-r--r--src/server/api/endpoints/aggregation/users/reaction.ts4
-rw-r--r--src/server/api/endpoints/app/create.ts2
-rw-r--r--src/server/api/endpoints/app/name_id/available.ts4
-rw-r--r--src/server/api/endpoints/app/show.ts2
-rw-r--r--src/server/api/endpoints/auth/accept.ts6
-rw-r--r--src/server/api/endpoints/auth/session/generate.ts4
-rw-r--r--src/server/api/endpoints/auth/session/show.ts2
-rw-r--r--src/server/api/endpoints/auth/session/userkey.ts8
-rw-r--r--src/server/api/endpoints/channels.ts2
-rw-r--r--src/server/api/endpoints/channels/create.ts6
-rw-r--r--src/server/api/endpoints/channels/posts.ts4
-rw-r--r--src/server/api/endpoints/channels/show.ts2
-rw-r--r--src/server/api/endpoints/channels/unwatch.ts4
-rw-r--r--src/server/api/endpoints/channels/watch.ts4
-rw-r--r--src/server/api/endpoints/drive.ts2
-rw-r--r--src/server/api/endpoints/drive/files.ts2
-rw-r--r--src/server/api/endpoints/drive/files/create.ts2
-rw-r--r--src/server/api/endpoints/drive/files/find.ts2
-rw-r--r--src/server/api/endpoints/drive/files/show.ts2
-rw-r--r--src/server/api/endpoints/drive/files/update.ts4
-rw-r--r--src/server/api/endpoints/drive/files/upload_from_url.ts2
-rw-r--r--src/server/api/endpoints/drive/folders.ts2
-rw-r--r--src/server/api/endpoints/drive/folders/create.ts2
-rw-r--r--src/server/api/endpoints/drive/folders/find.ts2
-rw-r--r--src/server/api/endpoints/drive/folders/show.ts2
-rw-r--r--src/server/api/endpoints/drive/folders/update.ts2
-rw-r--r--src/server/api/endpoints/drive/stream.ts2
-rw-r--r--src/server/api/endpoints/following/create.ts4
-rw-r--r--src/server/api/endpoints/following/delete.ts4
-rw-r--r--src/server/api/endpoints/i.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/done.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/register.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/unregister.ts2
-rw-r--r--src/server/api/endpoints/i/appdata/get.ts39
-rw-r--r--src/server/api/endpoints/i/appdata/set.ts58
-rw-r--r--src/server/api/endpoints/i/authorized_apps.ts4
-rw-r--r--src/server/api/endpoints/i/change_password.ts2
-rw-r--r--src/server/api/endpoints/i/favorites.ts4
-rw-r--r--src/server/api/endpoints/i/notifications.ts6
-rw-r--r--src/server/api/endpoints/i/pin.ts6
-rw-r--r--src/server/api/endpoints/i/regenerate_token.ts2
-rw-r--r--src/server/api/endpoints/i/signin_history.ts2
-rw-r--r--src/server/api/endpoints/i/update.ts2
-rw-r--r--src/server/api/endpoints/i/update_client_setting.ts2
-rw-r--r--src/server/api/endpoints/i/update_home.ts2
-rw-r--r--src/server/api/endpoints/i/update_mobile_home.ts2
-rw-r--r--src/server/api/endpoints/messaging/history.ts6
-rw-r--r--src/server/api/endpoints/messaging/messages.ts6
-rw-r--r--src/server/api/endpoints/messaging/messages/create.ts14
-rw-r--r--src/server/api/endpoints/messaging/unread.ts4
-rw-r--r--src/server/api/endpoints/meta.ts4
-rw-r--r--src/server/api/endpoints/mute/create.ts4
-rw-r--r--src/server/api/endpoints/mute/delete.ts4
-rw-r--r--src/server/api/endpoints/mute/list.ts4
-rw-r--r--src/server/api/endpoints/my/apps.ts2
-rw-r--r--src/server/api/endpoints/notifications/get_unread_count.ts4
-rw-r--r--src/server/api/endpoints/notifications/mark_as_read_all.ts2
-rw-r--r--src/server/api/endpoints/othello/games.ts2
-rw-r--r--src/server/api/endpoints/othello/games/show.ts4
-rw-r--r--src/server/api/endpoints/othello/invitations.ts2
-rw-r--r--src/server/api/endpoints/othello/match.ts8
-rw-r--r--src/server/api/endpoints/othello/match/cancel.ts2
-rw-r--r--src/server/api/endpoints/posts.ts2
-rw-r--r--src/server/api/endpoints/posts/categorize.ts52
-rw-r--r--src/server/api/endpoints/posts/context.ts2
-rw-r--r--src/server/api/endpoints/posts/create.ts24
-rw-r--r--src/server/api/endpoints/posts/favorites/create.ts4
-rw-r--r--src/server/api/endpoints/posts/favorites/delete.ts4
-rw-r--r--src/server/api/endpoints/posts/mentions.ts4
-rw-r--r--src/server/api/endpoints/posts/polls/recommendation.ts4
-rw-r--r--src/server/api/endpoints/posts/polls/vote.ts6
-rw-r--r--src/server/api/endpoints/posts/reactions.ts4
-rw-r--r--src/server/api/endpoints/posts/reactions/create.ts8
-rw-r--r--src/server/api/endpoints/posts/reactions/delete.ts4
-rw-r--r--src/server/api/endpoints/posts/replies.ts2
-rw-r--r--src/server/api/endpoints/posts/reposts.ts2
-rw-r--r--src/server/api/endpoints/posts/search.ts8
-rw-r--r--src/server/api/endpoints/posts/show.ts2
-rw-r--r--src/server/api/endpoints/posts/timeline.ts8
-rw-r--r--src/server/api/endpoints/posts/trend.ts2
-rw-r--r--src/server/api/endpoints/stats.ts4
-rw-r--r--src/server/api/endpoints/sw/register.ts2
-rw-r--r--src/server/api/endpoints/username/available.ts4
-rw-r--r--src/server/api/endpoints/users.ts2
-rw-r--r--src/server/api/endpoints/users/followers.ts6
-rw-r--r--src/server/api/endpoints/users/following.ts6
-rw-r--r--src/server/api/endpoints/users/get_frequently_replied_users.ts4
-rw-r--r--src/server/api/endpoints/users/posts.ts4
-rw-r--r--src/server/api/endpoints/users/recommendation.ts2
-rw-r--r--src/server/api/endpoints/users/search.ts2
-rw-r--r--src/server/api/endpoints/users/search_by_username.ts2
-rw-r--r--src/server/api/endpoints/users/show.ts2
-rw-r--r--src/server/api/limitter.ts2
-rw-r--r--src/server/api/private/signin.ts4
-rw-r--r--src/server/api/private/signup.ts2
-rw-r--r--src/server/api/service/github.ts4
-rw-r--r--src/server/api/service/twitter.ts2
-rw-r--r--src/server/api/stream/channel.ts4
-rw-r--r--src/server/api/stream/home.ts6
-rw-r--r--src/server/api/stream/messaging.ts4
-rw-r--r--src/server/api/stream/othello-game.ts10
-rw-r--r--src/server/api/stream/othello.ts2
-rw-r--r--src/server/api/streaming.ts8
-rw-r--r--src/server/file/server.ts2
-rw-r--r--src/server/web/server.ts51
-rw-r--r--src/server/web/url-preview.ts (renamed from src/server/web/service/url-preview.ts)0
-rw-r--r--src/tools/analysis/core.ts49
-rw-r--r--src/tools/analysis/extract-user-domains.ts120
-rw-r--r--src/tools/analysis/extract-user-keywords.ts154
-rw-r--r--src/tools/analysis/mecab.js85
-rw-r--r--src/tools/analysis/naive-bayes.js302
-rw-r--r--src/tools/analysis/predict-all-post-category.ts35
-rw-r--r--src/tools/analysis/predict-user-interst.ts45
-rw-r--r--tsconfig.json2
-rw-r--r--webpack.config.ts24
552 files changed, 360 insertions, 1311 deletions
diff --git a/gulpfile.ts b/gulpfile.ts
index 46727126ce..a6e9e53df3 100644
--- a/gulpfile.ts
+++ b/gulpfile.ts
@@ -39,10 +39,9 @@ if (isDebug) {
const constants = require('./src/const.json');
-require('./src/server/web/docs/gulpfile.ts');
+require('./src/client/docs/gulpfile.ts');
gulp.task('build', [
- 'build:js',
'build:ts',
'build:copy',
'build:client',
@@ -51,11 +50,6 @@ gulp.task('build', [
gulp.task('rebuild', ['clean', 'build']);
-gulp.task('build:js', () =>
- gulp.src(['./src/**/*.js', '!./src/server/web/**/*.js'])
- .pipe(gulp.dest('./built/'))
-);
-
gulp.task('build:ts', () => {
const tsProject = ts.createProject('./tsconfig.json');
@@ -71,7 +65,7 @@ gulp.task('build:copy', () =>
gulp.src([
'./build/Release/crypto_key.node',
'./src/**/assets/**/*',
- '!./src/server/web/app/**/assets/**/*'
+ '!./src/client/app/**/assets/**/*'
]).pipe(gulp.dest('./built/'))
);
@@ -114,29 +108,28 @@ gulp.task('default', ['build']);
gulp.task('build:client', [
'build:ts',
- 'build:js',
'build:client:script',
'build:client:pug',
'copy:client'
]);
gulp.task('build:client:script', () =>
- gulp.src(['./src/server/web/app/boot.js', './src/server/web/app/safe.js'])
+ gulp.src(['./src/client/app/boot.js', './src/client/app/safe.js'])
.pipe(replace('VERSION', JSON.stringify(version)))
.pipe(replace('API', JSON.stringify(config.api_url)))
.pipe(replace('ENV', JSON.stringify(env)))
.pipe(isProduction ? uglify({
toplevel: true
} as any) : gutil.noop())
- .pipe(gulp.dest('./built/server/web/assets/')) as any
+ .pipe(gulp.dest('./built/client/assets/')) as any
);
gulp.task('build:client:styles', () =>
- gulp.src('./src/server/web/app/init.css')
+ gulp.src('./src/client/app/init.css')
.pipe(isProduction
? (cssnano as any)()
: gutil.noop())
- .pipe(gulp.dest('./built/server/web/assets/'))
+ .pipe(gulp.dest('./built/client/assets/'))
);
gulp.task('copy:client', [
@@ -144,14 +137,14 @@ gulp.task('copy:client', [
], () =>
gulp.src([
'./assets/**/*',
- './src/server/web/assets/**/*',
- './src/server/web/app/*/assets/**/*'
+ './src/client/assets/**/*',
+ './src/client/app/*/assets/**/*'
])
.pipe(isProduction ? (imagemin as any)() : gutil.noop())
.pipe(rename(path => {
path.dirname = path.dirname.replace('assets', '.');
}))
- .pipe(gulp.dest('./built/server/web/assets/'))
+ .pipe(gulp.dest('./built/client/assets/'))
);
gulp.task('build:client:pug', [
@@ -159,13 +152,13 @@ gulp.task('build:client:pug', [
'build:client:script',
'build:client:styles'
], () =>
- gulp.src('./src/server/web/app/base.pug')
+ gulp.src('./src/client/app/base.pug')
.pipe(pug({
locals: {
themeColor: constants.themeColor,
facss: fa.dom.css(),
//hljscss: fs.readFileSync('./node_modules/highlight.js/styles/default.css', 'utf8')
- hljscss: fs.readFileSync('./src/server/web/assets/code-highlight.css', 'utf8')
+ hljscss: fs.readFileSync('./src/client/assets/code-highlight.css', 'utf8')
}
}))
.pipe(htmlmin({
@@ -200,5 +193,5 @@ gulp.task('build:client:pug', [
// CSSも圧縮する
minifyCSS: true
}))
- .pipe(gulp.dest('./built/server/web/app/'))
+ .pipe(gulp.dest('./built/client/app/'))
);
diff --git a/src/server/web/app/animation.styl b/src/client/app/animation.styl
index 8f121b313b..8f121b313b 100644
--- a/src/server/web/app/animation.styl
+++ b/src/client/app/animation.styl
diff --git a/src/server/web/app/app.styl b/src/client/app/app.styl
index 431b9daa65..431b9daa65 100644
--- a/src/server/web/app/app.styl
+++ b/src/client/app/app.styl
diff --git a/src/server/web/app/app.vue b/src/client/app/app.vue
index 7a46e7dea0..7a46e7dea0 100644
--- a/src/server/web/app/app.vue
+++ b/src/client/app/app.vue
diff --git a/src/server/web/app/auth/assets/logo.svg b/src/client/app/auth/assets/logo.svg
index 19b8a2737e..19b8a2737e 100644
--- a/src/server/web/app/auth/assets/logo.svg
+++ b/src/client/app/auth/assets/logo.svg
diff --git a/src/server/web/app/auth/script.ts b/src/client/app/auth/script.ts
index 31c758ebc2..31c758ebc2 100644
--- a/src/server/web/app/auth/script.ts
+++ b/src/client/app/auth/script.ts
diff --git a/src/server/web/app/auth/style.styl b/src/client/app/auth/style.styl
index bd25e1b572..bd25e1b572 100644
--- a/src/server/web/app/auth/style.styl
+++ b/src/client/app/auth/style.styl
diff --git a/src/server/web/app/auth/views/form.vue b/src/client/app/auth/views/form.vue
index 9d9e8cdb1b..9d9e8cdb1b 100644
--- a/src/server/web/app/auth/views/form.vue
+++ b/src/client/app/auth/views/form.vue
diff --git a/src/server/web/app/auth/views/index.vue b/src/client/app/auth/views/index.vue
index e1e1b265e1..e1e1b265e1 100644
--- a/src/server/web/app/auth/views/index.vue
+++ b/src/client/app/auth/views/index.vue
diff --git a/src/server/web/app/base.pug b/src/client/app/base.pug
index 60eb1539ec..32a95a6c99 100644
--- a/src/server/web/app/base.pug
+++ b/src/client/app/base.pug
@@ -14,12 +14,12 @@ html
title Misskey
style
- include ./../../../../built/server/web/assets/init.css
+ include ./../../../built/client/assets/init.css
script
- include ./../../../../built/server/web/assets/boot.js
+ include ./../../../built/client/assets/boot.js
script
- include ./../../../../built/server/web/assets/safe.js
+ include ./../../../built/client/assets/safe.js
//- FontAwesome style
style #{facss}
diff --git a/src/server/web/app/boot.js b/src/client/app/boot.js
index 0846e4bd55..0846e4bd55 100644
--- a/src/server/web/app/boot.js
+++ b/src/client/app/boot.js
diff --git a/src/server/web/app/ch/script.ts b/src/client/app/ch/script.ts
index 4c6b6dfd1b..4c6b6dfd1b 100644
--- a/src/server/web/app/ch/script.ts
+++ b/src/client/app/ch/script.ts
diff --git a/src/server/web/app/ch/style.styl b/src/client/app/ch/style.styl
index 21ca648cbe..21ca648cbe 100644
--- a/src/server/web/app/ch/style.styl
+++ b/src/client/app/ch/style.styl
diff --git a/src/server/web/app/ch/tags/channel.tag b/src/client/app/ch/tags/channel.tag
index 2abfb106a5..2abfb106a5 100644
--- a/src/server/web/app/ch/tags/channel.tag
+++ b/src/client/app/ch/tags/channel.tag
diff --git a/src/server/web/app/ch/tags/header.tag b/src/client/app/ch/tags/header.tag
index 901123d63b..901123d63b 100644
--- a/src/server/web/app/ch/tags/header.tag
+++ b/src/client/app/ch/tags/header.tag
diff --git a/src/server/web/app/ch/tags/index.tag b/src/client/app/ch/tags/index.tag
index 88df2ec45d..88df2ec45d 100644
--- a/src/server/web/app/ch/tags/index.tag
+++ b/src/client/app/ch/tags/index.tag
diff --git a/src/server/web/app/ch/tags/index.ts b/src/client/app/ch/tags/index.ts
index 12ffdaeb84..12ffdaeb84 100644
--- a/src/server/web/app/ch/tags/index.ts
+++ b/src/client/app/ch/tags/index.ts
diff --git a/src/server/web/app/common/define-widget.ts b/src/client/app/common/define-widget.ts
index 27db59b5ee..27db59b5ee 100644
--- a/src/server/web/app/common/define-widget.ts
+++ b/src/client/app/common/define-widget.ts
diff --git a/src/server/web/app/common/mios.ts b/src/client/app/common/mios.ts
index bcb8b60678..bcb8b60678 100644
--- a/src/server/web/app/common/mios.ts
+++ b/src/client/app/common/mios.ts
diff --git a/src/server/web/app/common/scripts/check-for-update.ts b/src/client/app/common/scripts/check-for-update.ts
index 81c1eb9812..81c1eb9812 100644
--- a/src/server/web/app/common/scripts/check-for-update.ts
+++ b/src/client/app/common/scripts/check-for-update.ts
diff --git a/src/server/web/app/common/scripts/compose-notification.ts b/src/client/app/common/scripts/compose-notification.ts
index 273579cbc6..273579cbc6 100644
--- a/src/server/web/app/common/scripts/compose-notification.ts
+++ b/src/client/app/common/scripts/compose-notification.ts
diff --git a/src/server/web/app/common/scripts/contains.ts b/src/client/app/common/scripts/contains.ts
index a5071b3f25..a5071b3f25 100644
--- a/src/server/web/app/common/scripts/contains.ts
+++ b/src/client/app/common/scripts/contains.ts
diff --git a/src/server/web/app/common/scripts/copy-to-clipboard.ts b/src/client/app/common/scripts/copy-to-clipboard.ts
index 3d2741f8d7..3d2741f8d7 100644
--- a/src/server/web/app/common/scripts/copy-to-clipboard.ts
+++ b/src/client/app/common/scripts/copy-to-clipboard.ts
diff --git a/src/server/web/app/common/scripts/date-stringify.ts b/src/client/app/common/scripts/date-stringify.ts
index e51de8833d..e51de8833d 100644
--- a/src/server/web/app/common/scripts/date-stringify.ts
+++ b/src/client/app/common/scripts/date-stringify.ts
diff --git a/src/server/web/app/common/scripts/fuck-ad-block.ts b/src/client/app/common/scripts/fuck-ad-block.ts
index 9bcf7deeff..9bcf7deeff 100644
--- a/src/server/web/app/common/scripts/fuck-ad-block.ts
+++ b/src/client/app/common/scripts/fuck-ad-block.ts
diff --git a/src/server/web/app/common/scripts/gcd.ts b/src/client/app/common/scripts/gcd.ts
index 9a19f9da66..9a19f9da66 100644
--- a/src/server/web/app/common/scripts/gcd.ts
+++ b/src/client/app/common/scripts/gcd.ts
diff --git a/src/server/web/app/common/scripts/get-kao.ts b/src/client/app/common/scripts/get-kao.ts
index 2168c5be88..2168c5be88 100644
--- a/src/server/web/app/common/scripts/get-kao.ts
+++ b/src/client/app/common/scripts/get-kao.ts
diff --git a/src/server/web/app/common/scripts/get-median.ts b/src/client/app/common/scripts/get-median.ts
index 91a415d5b2..91a415d5b2 100644
--- a/src/server/web/app/common/scripts/get-median.ts
+++ b/src/client/app/common/scripts/get-median.ts
diff --git a/src/server/web/app/common/scripts/loading.ts b/src/client/app/common/scripts/loading.ts
index c48e626648..c48e626648 100644
--- a/src/server/web/app/common/scripts/loading.ts
+++ b/src/client/app/common/scripts/loading.ts
diff --git a/src/server/web/app/common/scripts/parse-search-query.ts b/src/client/app/common/scripts/parse-search-query.ts
index 4f09d2b93f..4f09d2b93f 100644
--- a/src/server/web/app/common/scripts/parse-search-query.ts
+++ b/src/client/app/common/scripts/parse-search-query.ts
diff --git a/src/server/web/app/common/scripts/streaming/channel.ts b/src/client/app/common/scripts/streaming/channel.ts
index cab5f4edb4..cab5f4edb4 100644
--- a/src/server/web/app/common/scripts/streaming/channel.ts
+++ b/src/client/app/common/scripts/streaming/channel.ts
diff --git a/src/server/web/app/common/scripts/streaming/drive.ts b/src/client/app/common/scripts/streaming/drive.ts
index f11573685e..f11573685e 100644
--- a/src/server/web/app/common/scripts/streaming/drive.ts
+++ b/src/client/app/common/scripts/streaming/drive.ts
diff --git a/src/server/web/app/common/scripts/streaming/home.ts b/src/client/app/common/scripts/streaming/home.ts
index c198619400..c198619400 100644
--- a/src/server/web/app/common/scripts/streaming/home.ts
+++ b/src/client/app/common/scripts/streaming/home.ts
diff --git a/src/server/web/app/common/scripts/streaming/messaging-index.ts b/src/client/app/common/scripts/streaming/messaging-index.ts
index 24f0ce0c9f..24f0ce0c9f 100644
--- a/src/server/web/app/common/scripts/streaming/messaging-index.ts
+++ b/src/client/app/common/scripts/streaming/messaging-index.ts
diff --git a/src/server/web/app/common/scripts/streaming/messaging.ts b/src/client/app/common/scripts/streaming/messaging.ts
index 4c593deb31..4c593deb31 100644
--- a/src/server/web/app/common/scripts/streaming/messaging.ts
+++ b/src/client/app/common/scripts/streaming/messaging.ts
diff --git a/src/server/web/app/common/scripts/streaming/othello-game.ts b/src/client/app/common/scripts/streaming/othello-game.ts
index f34ef35147..f34ef35147 100644
--- a/src/server/web/app/common/scripts/streaming/othello-game.ts
+++ b/src/client/app/common/scripts/streaming/othello-game.ts
diff --git a/src/server/web/app/common/scripts/streaming/othello.ts b/src/client/app/common/scripts/streaming/othello.ts
index 8c6f4b9c3c..8c6f4b9c3c 100644
--- a/src/server/web/app/common/scripts/streaming/othello.ts
+++ b/src/client/app/common/scripts/streaming/othello.ts
diff --git a/src/server/web/app/common/scripts/streaming/requests.ts b/src/client/app/common/scripts/streaming/requests.ts
index 5bec30143f..5bec30143f 100644
--- a/src/server/web/app/common/scripts/streaming/requests.ts
+++ b/src/client/app/common/scripts/streaming/requests.ts
diff --git a/src/server/web/app/common/scripts/streaming/server.ts b/src/client/app/common/scripts/streaming/server.ts
index 3d35ef4d9d..3d35ef4d9d 100644
--- a/src/server/web/app/common/scripts/streaming/server.ts
+++ b/src/client/app/common/scripts/streaming/server.ts
diff --git a/src/server/web/app/common/scripts/streaming/stream-manager.ts b/src/client/app/common/scripts/streaming/stream-manager.ts
index 568b8b0372..568b8b0372 100644
--- a/src/server/web/app/common/scripts/streaming/stream-manager.ts
+++ b/src/client/app/common/scripts/streaming/stream-manager.ts
diff --git a/src/server/web/app/common/scripts/streaming/stream.ts b/src/client/app/common/scripts/streaming/stream.ts
index 3912186ad3..3912186ad3 100644
--- a/src/server/web/app/common/scripts/streaming/stream.ts
+++ b/src/client/app/common/scripts/streaming/stream.ts
diff --git a/src/server/web/app/common/views/components/autocomplete.vue b/src/client/app/common/views/components/autocomplete.vue
index 79bd2ba023..79bd2ba023 100644
--- a/src/server/web/app/common/views/components/autocomplete.vue
+++ b/src/client/app/common/views/components/autocomplete.vue
diff --git a/src/server/web/app/common/views/components/connect-failed.troubleshooter.vue b/src/client/app/common/views/components/connect-failed.troubleshooter.vue
index cadbd36ba4..cadbd36ba4 100644
--- a/src/server/web/app/common/views/components/connect-failed.troubleshooter.vue
+++ b/src/client/app/common/views/components/connect-failed.troubleshooter.vue
diff --git a/src/server/web/app/common/views/components/connect-failed.vue b/src/client/app/common/views/components/connect-failed.vue
index 185250dbd8..185250dbd8 100644
--- a/src/server/web/app/common/views/components/connect-failed.vue
+++ b/src/client/app/common/views/components/connect-failed.vue
diff --git a/src/server/web/app/common/views/components/ellipsis.vue b/src/client/app/common/views/components/ellipsis.vue
index 07349902de..07349902de 100644
--- a/src/server/web/app/common/views/components/ellipsis.vue
+++ b/src/client/app/common/views/components/ellipsis.vue
diff --git a/src/server/web/app/common/views/components/file-type-icon.vue b/src/client/app/common/views/components/file-type-icon.vue
index b7e868d1f7..b7e868d1f7 100644
--- a/src/server/web/app/common/views/components/file-type-icon.vue
+++ b/src/client/app/common/views/components/file-type-icon.vue
diff --git a/src/server/web/app/common/views/components/forkit.vue b/src/client/app/common/views/components/forkit.vue
index 6f334b965a..6f334b965a 100644
--- a/src/server/web/app/common/views/components/forkit.vue
+++ b/src/client/app/common/views/components/forkit.vue
diff --git a/src/server/web/app/common/views/components/index.ts b/src/client/app/common/views/components/index.ts
index b58ba37ecb..b58ba37ecb 100644
--- a/src/server/web/app/common/views/components/index.ts
+++ b/src/client/app/common/views/components/index.ts
diff --git a/src/server/web/app/common/views/components/media-list.vue b/src/client/app/common/views/components/media-list.vue
index 64172ad0b4..64172ad0b4 100644
--- a/src/server/web/app/common/views/components/media-list.vue
+++ b/src/client/app/common/views/components/media-list.vue
diff --git a/src/server/web/app/common/views/components/messaging-room.form.vue b/src/client/app/common/views/components/messaging-room.form.vue
index 704f2016d8..704f2016d8 100644
--- a/src/server/web/app/common/views/components/messaging-room.form.vue
+++ b/src/client/app/common/views/components/messaging-room.form.vue
diff --git a/src/server/web/app/common/views/components/messaging-room.message.vue b/src/client/app/common/views/components/messaging-room.message.vue
index 94f87fd709..94f87fd709 100644
--- a/src/server/web/app/common/views/components/messaging-room.message.vue
+++ b/src/client/app/common/views/components/messaging-room.message.vue
diff --git a/src/server/web/app/common/views/components/messaging-room.vue b/src/client/app/common/views/components/messaging-room.vue
index d30c64d74a..d30c64d74a 100644
--- a/src/server/web/app/common/views/components/messaging-room.vue
+++ b/src/client/app/common/views/components/messaging-room.vue
diff --git a/src/server/web/app/common/views/components/messaging.vue b/src/client/app/common/views/components/messaging.vue
index 8317c3738a..8317c3738a 100644
--- a/src/server/web/app/common/views/components/messaging.vue
+++ b/src/client/app/common/views/components/messaging.vue
diff --git a/src/server/web/app/common/views/components/nav.vue b/src/client/app/common/views/components/nav.vue
index 8ce75d3529..8ce75d3529 100644
--- a/src/server/web/app/common/views/components/nav.vue
+++ b/src/client/app/common/views/components/nav.vue
diff --git a/src/server/web/app/common/views/components/othello.game.vue b/src/client/app/common/views/components/othello.game.vue
index f08742ad10..f08742ad10 100644
--- a/src/server/web/app/common/views/components/othello.game.vue
+++ b/src/client/app/common/views/components/othello.game.vue
diff --git a/src/server/web/app/common/views/components/othello.gameroom.vue b/src/client/app/common/views/components/othello.gameroom.vue
index dba9ccd16d..dba9ccd16d 100644
--- a/src/server/web/app/common/views/components/othello.gameroom.vue
+++ b/src/client/app/common/views/components/othello.gameroom.vue
diff --git a/src/server/web/app/common/views/components/othello.room.vue b/src/client/app/common/views/components/othello.room.vue
index a32be6b74f..a32be6b74f 100644
--- a/src/server/web/app/common/views/components/othello.room.vue
+++ b/src/client/app/common/views/components/othello.room.vue
diff --git a/src/server/web/app/common/views/components/othello.vue b/src/client/app/common/views/components/othello.vue
index 8f7d9dfd6a..8f7d9dfd6a 100644
--- a/src/server/web/app/common/views/components/othello.vue
+++ b/src/client/app/common/views/components/othello.vue
diff --git a/src/server/web/app/common/views/components/poll-editor.vue b/src/client/app/common/views/components/poll-editor.vue
index 47d901d7b1..47d901d7b1 100644
--- a/src/server/web/app/common/views/components/poll-editor.vue
+++ b/src/client/app/common/views/components/poll-editor.vue
diff --git a/src/server/web/app/common/views/components/poll.vue b/src/client/app/common/views/components/poll.vue
index 711d89720e..711d89720e 100644
--- a/src/server/web/app/common/views/components/poll.vue
+++ b/src/client/app/common/views/components/poll.vue
diff --git a/src/server/web/app/common/views/components/post-html.ts b/src/client/app/common/views/components/post-html.ts
index 98da86617d..98da86617d 100644
--- a/src/server/web/app/common/views/components/post-html.ts
+++ b/src/client/app/common/views/components/post-html.ts
diff --git a/src/server/web/app/common/views/components/post-menu.vue b/src/client/app/common/views/components/post-menu.vue
index 35116db7e2..35116db7e2 100644
--- a/src/server/web/app/common/views/components/post-menu.vue
+++ b/src/client/app/common/views/components/post-menu.vue
diff --git a/src/server/web/app/common/views/components/reaction-icon.vue b/src/client/app/common/views/components/reaction-icon.vue
index 7d24f4f9e9..7d24f4f9e9 100644
--- a/src/server/web/app/common/views/components/reaction-icon.vue
+++ b/src/client/app/common/views/components/reaction-icon.vue
diff --git a/src/server/web/app/common/views/components/reaction-picker.vue b/src/client/app/common/views/components/reaction-picker.vue
index bcb6b2b965..bcb6b2b965 100644
--- a/src/server/web/app/common/views/components/reaction-picker.vue
+++ b/src/client/app/common/views/components/reaction-picker.vue
diff --git a/src/server/web/app/common/views/components/reactions-viewer.vue b/src/client/app/common/views/components/reactions-viewer.vue
index 246451008f..246451008f 100644
--- a/src/server/web/app/common/views/components/reactions-viewer.vue
+++ b/src/client/app/common/views/components/reactions-viewer.vue
diff --git a/src/server/web/app/common/views/components/signin.vue b/src/client/app/common/views/components/signin.vue
index 17154e6b31..17154e6b31 100644
--- a/src/server/web/app/common/views/components/signin.vue
+++ b/src/client/app/common/views/components/signin.vue
diff --git a/src/server/web/app/common/views/components/signup.vue b/src/client/app/common/views/components/signup.vue
index e77d849ade..e77d849ade 100644
--- a/src/server/web/app/common/views/components/signup.vue
+++ b/src/client/app/common/views/components/signup.vue
diff --git a/src/server/web/app/common/views/components/special-message.vue b/src/client/app/common/views/components/special-message.vue
index 2fd4d6515e..2fd4d6515e 100644
--- a/src/server/web/app/common/views/components/special-message.vue
+++ b/src/client/app/common/views/components/special-message.vue
diff --git a/src/server/web/app/common/views/components/stream-indicator.vue b/src/client/app/common/views/components/stream-indicator.vue
index 1f18fa76ed..1f18fa76ed 100644
--- a/src/server/web/app/common/views/components/stream-indicator.vue
+++ b/src/client/app/common/views/components/stream-indicator.vue
diff --git a/src/server/web/app/common/views/components/switch.vue b/src/client/app/common/views/components/switch.vue
index 19a4adc3de..19a4adc3de 100644
--- a/src/server/web/app/common/views/components/switch.vue
+++ b/src/client/app/common/views/components/switch.vue
diff --git a/src/server/web/app/common/views/components/time.vue b/src/client/app/common/views/components/time.vue
index 6e0d2b0dcb..6e0d2b0dcb 100644
--- a/src/server/web/app/common/views/components/time.vue
+++ b/src/client/app/common/views/components/time.vue
diff --git a/src/server/web/app/common/views/components/timer.vue b/src/client/app/common/views/components/timer.vue
index a3c4f01b77..a3c4f01b77 100644
--- a/src/server/web/app/common/views/components/timer.vue
+++ b/src/client/app/common/views/components/timer.vue
diff --git a/src/server/web/app/common/views/components/twitter-setting.vue b/src/client/app/common/views/components/twitter-setting.vue
index 082d2b435d..082d2b435d 100644
--- a/src/server/web/app/common/views/components/twitter-setting.vue
+++ b/src/client/app/common/views/components/twitter-setting.vue
diff --git a/src/server/web/app/common/views/components/uploader.vue b/src/client/app/common/views/components/uploader.vue
index c74a1edb41..c74a1edb41 100644
--- a/src/server/web/app/common/views/components/uploader.vue
+++ b/src/client/app/common/views/components/uploader.vue
diff --git a/src/server/web/app/common/views/components/url-preview.vue b/src/client/app/common/views/components/url-preview.vue
index e91e510550..e91e510550 100644
--- a/src/server/web/app/common/views/components/url-preview.vue
+++ b/src/client/app/common/views/components/url-preview.vue
diff --git a/src/server/web/app/common/views/components/url.vue b/src/client/app/common/views/components/url.vue
index 14d4fc82f3..14d4fc82f3 100644
--- a/src/server/web/app/common/views/components/url.vue
+++ b/src/client/app/common/views/components/url.vue
diff --git a/src/server/web/app/common/views/components/welcome-timeline.vue b/src/client/app/common/views/components/welcome-timeline.vue
index 8f6199732a..8f6199732a 100644
--- a/src/server/web/app/common/views/components/welcome-timeline.vue
+++ b/src/client/app/common/views/components/welcome-timeline.vue
diff --git a/src/server/web/app/common/views/directives/autocomplete.ts b/src/client/app/common/views/directives/autocomplete.ts
index 94635d301a..94635d301a 100644
--- a/src/server/web/app/common/views/directives/autocomplete.ts
+++ b/src/client/app/common/views/directives/autocomplete.ts
diff --git a/src/server/web/app/common/views/directives/index.ts b/src/client/app/common/views/directives/index.ts
index 268f07a950..268f07a950 100644
--- a/src/server/web/app/common/views/directives/index.ts
+++ b/src/client/app/common/views/directives/index.ts
diff --git a/src/server/web/app/common/views/filters/bytes.ts b/src/client/app/common/views/filters/bytes.ts
index 3afb11e9ae..3afb11e9ae 100644
--- a/src/server/web/app/common/views/filters/bytes.ts
+++ b/src/client/app/common/views/filters/bytes.ts
diff --git a/src/server/web/app/common/views/filters/index.ts b/src/client/app/common/views/filters/index.ts
index 3a1d1ac235..3a1d1ac235 100644
--- a/src/server/web/app/common/views/filters/index.ts
+++ b/src/client/app/common/views/filters/index.ts
diff --git a/src/server/web/app/common/views/filters/number.ts b/src/client/app/common/views/filters/number.ts
index d9f48229dd..d9f48229dd 100644
--- a/src/server/web/app/common/views/filters/number.ts
+++ b/src/client/app/common/views/filters/number.ts
diff --git a/src/server/web/app/common/views/widgets/access-log.vue b/src/client/app/common/views/widgets/access-log.vue
index f7bb17d833..f7bb17d833 100644
--- a/src/server/web/app/common/views/widgets/access-log.vue
+++ b/src/client/app/common/views/widgets/access-log.vue
diff --git a/src/server/web/app/common/views/widgets/broadcast.vue b/src/client/app/common/views/widgets/broadcast.vue
index bf41a5fc67..bf41a5fc67 100644
--- a/src/server/web/app/common/views/widgets/broadcast.vue
+++ b/src/client/app/common/views/widgets/broadcast.vue
diff --git a/src/server/web/app/common/views/widgets/calendar.vue b/src/client/app/common/views/widgets/calendar.vue
index 03f69a7597..03f69a7597 100644
--- a/src/server/web/app/common/views/widgets/calendar.vue
+++ b/src/client/app/common/views/widgets/calendar.vue
diff --git a/src/server/web/app/common/views/widgets/donation.vue b/src/client/app/common/views/widgets/donation.vue
index e218df06e1..e218df06e1 100644
--- a/src/server/web/app/common/views/widgets/donation.vue
+++ b/src/client/app/common/views/widgets/donation.vue
diff --git a/src/server/web/app/common/views/widgets/index.ts b/src/client/app/common/views/widgets/index.ts
index e41030e85a..e41030e85a 100644
--- a/src/server/web/app/common/views/widgets/index.ts
+++ b/src/client/app/common/views/widgets/index.ts
diff --git a/src/server/web/app/common/views/widgets/nav.vue b/src/client/app/common/views/widgets/nav.vue
index 7bd5a7832f..7bd5a7832f 100644
--- a/src/server/web/app/common/views/widgets/nav.vue
+++ b/src/client/app/common/views/widgets/nav.vue
diff --git a/src/server/web/app/common/views/widgets/photo-stream.vue b/src/client/app/common/views/widgets/photo-stream.vue
index baafd40662..baafd40662 100644
--- a/src/server/web/app/common/views/widgets/photo-stream.vue
+++ b/src/client/app/common/views/widgets/photo-stream.vue
diff --git a/src/server/web/app/common/views/widgets/rss.vue b/src/client/app/common/views/widgets/rss.vue
index 4d74b2f7a4..4d74b2f7a4 100644
--- a/src/server/web/app/common/views/widgets/rss.vue
+++ b/src/client/app/common/views/widgets/rss.vue
diff --git a/src/server/web/app/common/views/widgets/server.cpu-memory.vue b/src/client/app/common/views/widgets/server.cpu-memory.vue
index d75a142568..d75a142568 100644
--- a/src/server/web/app/common/views/widgets/server.cpu-memory.vue
+++ b/src/client/app/common/views/widgets/server.cpu-memory.vue
diff --git a/src/server/web/app/common/views/widgets/server.cpu.vue b/src/client/app/common/views/widgets/server.cpu.vue
index 596c856da8..596c856da8 100644
--- a/src/server/web/app/common/views/widgets/server.cpu.vue
+++ b/src/client/app/common/views/widgets/server.cpu.vue
diff --git a/src/server/web/app/common/views/widgets/server.disk.vue b/src/client/app/common/views/widgets/server.disk.vue
index 2af1982a96..2af1982a96 100644
--- a/src/server/web/app/common/views/widgets/server.disk.vue
+++ b/src/client/app/common/views/widgets/server.disk.vue
diff --git a/src/server/web/app/common/views/widgets/server.info.vue b/src/client/app/common/views/widgets/server.info.vue
index d243629506..d243629506 100644
--- a/src/server/web/app/common/views/widgets/server.info.vue
+++ b/src/client/app/common/views/widgets/server.info.vue
diff --git a/src/server/web/app/common/views/widgets/server.memory.vue b/src/client/app/common/views/widgets/server.memory.vue
index 834a62671d..834a62671d 100644
--- a/src/server/web/app/common/views/widgets/server.memory.vue
+++ b/src/client/app/common/views/widgets/server.memory.vue
diff --git a/src/server/web/app/common/views/widgets/server.pie.vue b/src/client/app/common/views/widgets/server.pie.vue
index ce2cff1d00..ce2cff1d00 100644
--- a/src/server/web/app/common/views/widgets/server.pie.vue
+++ b/src/client/app/common/views/widgets/server.pie.vue
diff --git a/src/server/web/app/common/views/widgets/server.uptimes.vue b/src/client/app/common/views/widgets/server.uptimes.vue
index 06713d83ce..06713d83ce 100644
--- a/src/server/web/app/common/views/widgets/server.uptimes.vue
+++ b/src/client/app/common/views/widgets/server.uptimes.vue
diff --git a/src/server/web/app/common/views/widgets/server.vue b/src/client/app/common/views/widgets/server.vue
index 3d5248998f..3d5248998f 100644
--- a/src/server/web/app/common/views/widgets/server.vue
+++ b/src/client/app/common/views/widgets/server.vue
diff --git a/src/server/web/app/common/views/widgets/slideshow.vue b/src/client/app/common/views/widgets/slideshow.vue
index ad32299f37..ad32299f37 100644
--- a/src/server/web/app/common/views/widgets/slideshow.vue
+++ b/src/client/app/common/views/widgets/slideshow.vue
diff --git a/src/server/web/app/common/views/widgets/tips.vue b/src/client/app/common/views/widgets/tips.vue
index bdecc068e1..bdecc068e1 100644
--- a/src/server/web/app/common/views/widgets/tips.vue
+++ b/src/client/app/common/views/widgets/tips.vue
diff --git a/src/server/web/app/common/views/widgets/version.vue b/src/client/app/common/views/widgets/version.vue
index 30b632b396..30b632b396 100644
--- a/src/server/web/app/common/views/widgets/version.vue
+++ b/src/client/app/common/views/widgets/version.vue
diff --git a/src/server/web/app/config.ts b/src/client/app/config.ts
index 522d7ff056..522d7ff056 100644
--- a/src/server/web/app/config.ts
+++ b/src/client/app/config.ts
diff --git a/src/server/web/app/desktop/api/choose-drive-file.ts b/src/client/app/desktop/api/choose-drive-file.ts
index fbda600e6e..fbda600e6e 100644
--- a/src/server/web/app/desktop/api/choose-drive-file.ts
+++ b/src/client/app/desktop/api/choose-drive-file.ts
diff --git a/src/server/web/app/desktop/api/choose-drive-folder.ts b/src/client/app/desktop/api/choose-drive-folder.ts
index 9b33a20d9a..9b33a20d9a 100644
--- a/src/server/web/app/desktop/api/choose-drive-folder.ts
+++ b/src/client/app/desktop/api/choose-drive-folder.ts
diff --git a/src/server/web/app/desktop/api/contextmenu.ts b/src/client/app/desktop/api/contextmenu.ts
index b70d7122d3..b70d7122d3 100644
--- a/src/server/web/app/desktop/api/contextmenu.ts
+++ b/src/client/app/desktop/api/contextmenu.ts
diff --git a/src/server/web/app/desktop/api/dialog.ts b/src/client/app/desktop/api/dialog.ts
index 07935485b0..07935485b0 100644
--- a/src/server/web/app/desktop/api/dialog.ts
+++ b/src/client/app/desktop/api/dialog.ts
diff --git a/src/server/web/app/desktop/api/input.ts b/src/client/app/desktop/api/input.ts
index ce26a8112f..ce26a8112f 100644
--- a/src/server/web/app/desktop/api/input.ts
+++ b/src/client/app/desktop/api/input.ts
diff --git a/src/server/web/app/desktop/api/notify.ts b/src/client/app/desktop/api/notify.ts
index 1f89f40ce6..1f89f40ce6 100644
--- a/src/server/web/app/desktop/api/notify.ts
+++ b/src/client/app/desktop/api/notify.ts
diff --git a/src/server/web/app/desktop/api/post.ts b/src/client/app/desktop/api/post.ts
index cf49615df3..cf49615df3 100644
--- a/src/server/web/app/desktop/api/post.ts
+++ b/src/client/app/desktop/api/post.ts
diff --git a/src/server/web/app/desktop/api/update-avatar.ts b/src/client/app/desktop/api/update-avatar.ts
index 36a2ffe914..36a2ffe914 100644
--- a/src/server/web/app/desktop/api/update-avatar.ts
+++ b/src/client/app/desktop/api/update-avatar.ts
diff --git a/src/server/web/app/desktop/api/update-banner.ts b/src/client/app/desktop/api/update-banner.ts
index e66dbf016b..e66dbf016b 100644
--- a/src/server/web/app/desktop/api/update-banner.ts
+++ b/src/client/app/desktop/api/update-banner.ts
diff --git a/src/server/web/app/desktop/assets/grid.svg b/src/client/app/desktop/assets/grid.svg
index d1d72cd8ce..d1d72cd8ce 100644
--- a/src/server/web/app/desktop/assets/grid.svg
+++ b/src/client/app/desktop/assets/grid.svg
diff --git a/src/server/web/app/desktop/assets/header-logo-white.svg b/src/client/app/desktop/assets/header-logo-white.svg
index 8082edb30d..8082edb30d 100644
--- a/src/server/web/app/desktop/assets/header-logo-white.svg
+++ b/src/client/app/desktop/assets/header-logo-white.svg
diff --git a/src/server/web/app/desktop/assets/header-logo.svg b/src/client/app/desktop/assets/header-logo.svg
index 3a2207954a..3a2207954a 100644
--- a/src/server/web/app/desktop/assets/header-logo.svg
+++ b/src/client/app/desktop/assets/header-logo.svg
diff --git a/src/server/web/app/desktop/assets/index.jpg b/src/client/app/desktop/assets/index.jpg
index 10c412efe2..10c412efe2 100644
--- a/src/server/web/app/desktop/assets/index.jpg
+++ b/src/client/app/desktop/assets/index.jpg
Binary files differ
diff --git a/src/server/web/app/desktop/assets/remove.png b/src/client/app/desktop/assets/remove.png
index 8b1f4c06c9..8b1f4c06c9 100644
--- a/src/server/web/app/desktop/assets/remove.png
+++ b/src/client/app/desktop/assets/remove.png
Binary files differ
diff --git a/src/server/web/app/desktop/script.ts b/src/client/app/desktop/script.ts
index b95e168544..b95e168544 100644
--- a/src/server/web/app/desktop/script.ts
+++ b/src/client/app/desktop/script.ts
diff --git a/src/server/web/app/desktop/style.styl b/src/client/app/desktop/style.styl
index 49f71fbde7..49f71fbde7 100644
--- a/src/server/web/app/desktop/style.styl
+++ b/src/client/app/desktop/style.styl
diff --git a/src/server/web/app/desktop/ui.styl b/src/client/app/desktop/ui.styl
index 5a8d1718e2..5a8d1718e2 100644
--- a/src/server/web/app/desktop/ui.styl
+++ b/src/client/app/desktop/ui.styl
diff --git a/src/server/web/app/desktop/views/components/activity.calendar.vue b/src/client/app/desktop/views/components/activity.calendar.vue
index 72233e9aca..72233e9aca 100644
--- a/src/server/web/app/desktop/views/components/activity.calendar.vue
+++ b/src/client/app/desktop/views/components/activity.calendar.vue
diff --git a/src/server/web/app/desktop/views/components/activity.chart.vue b/src/client/app/desktop/views/components/activity.chart.vue
index 5057786ed4..5057786ed4 100644
--- a/src/server/web/app/desktop/views/components/activity.chart.vue
+++ b/src/client/app/desktop/views/components/activity.chart.vue
diff --git a/src/server/web/app/desktop/views/components/activity.vue b/src/client/app/desktop/views/components/activity.vue
index 480b956ecc..480b956ecc 100644
--- a/src/server/web/app/desktop/views/components/activity.vue
+++ b/src/client/app/desktop/views/components/activity.vue
diff --git a/src/server/web/app/desktop/views/components/analog-clock.vue b/src/client/app/desktop/views/components/analog-clock.vue
index 81eec81598..81eec81598 100644
--- a/src/server/web/app/desktop/views/components/analog-clock.vue
+++ b/src/client/app/desktop/views/components/analog-clock.vue
diff --git a/src/server/web/app/desktop/views/components/calendar.vue b/src/client/app/desktop/views/components/calendar.vue
index 71aab2e8a5..71aab2e8a5 100644
--- a/src/server/web/app/desktop/views/components/calendar.vue
+++ b/src/client/app/desktop/views/components/calendar.vue
diff --git a/src/server/web/app/desktop/views/components/choose-file-from-drive-window.vue b/src/client/app/desktop/views/components/choose-file-from-drive-window.vue
index 9a1e9c958a..9a1e9c958a 100644
--- a/src/server/web/app/desktop/views/components/choose-file-from-drive-window.vue
+++ b/src/client/app/desktop/views/components/choose-file-from-drive-window.vue
diff --git a/src/server/web/app/desktop/views/components/choose-folder-from-drive-window.vue b/src/client/app/desktop/views/components/choose-folder-from-drive-window.vue
index f99533176d..f99533176d 100644
--- a/src/server/web/app/desktop/views/components/choose-folder-from-drive-window.vue
+++ b/src/client/app/desktop/views/components/choose-folder-from-drive-window.vue
diff --git a/src/server/web/app/desktop/views/components/context-menu.menu.vue b/src/client/app/desktop/views/components/context-menu.menu.vue
index 6359dbf1b4..6359dbf1b4 100644
--- a/src/server/web/app/desktop/views/components/context-menu.menu.vue
+++ b/src/client/app/desktop/views/components/context-menu.menu.vue
diff --git a/src/server/web/app/desktop/views/components/context-menu.vue b/src/client/app/desktop/views/components/context-menu.vue
index 8bd9945840..8bd9945840 100644
--- a/src/server/web/app/desktop/views/components/context-menu.vue
+++ b/src/client/app/desktop/views/components/context-menu.vue
diff --git a/src/server/web/app/desktop/views/components/crop-window.vue b/src/client/app/desktop/views/components/crop-window.vue
index eb6a55d959..eb6a55d959 100644
--- a/src/server/web/app/desktop/views/components/crop-window.vue
+++ b/src/client/app/desktop/views/components/crop-window.vue
diff --git a/src/server/web/app/desktop/views/components/dialog.vue b/src/client/app/desktop/views/components/dialog.vue
index fa17e4a9d2..fa17e4a9d2 100644
--- a/src/server/web/app/desktop/views/components/dialog.vue
+++ b/src/client/app/desktop/views/components/dialog.vue
diff --git a/src/server/web/app/desktop/views/components/drive-window.vue b/src/client/app/desktop/views/components/drive-window.vue
index 3a072f4794..3a072f4794 100644
--- a/src/server/web/app/desktop/views/components/drive-window.vue
+++ b/src/client/app/desktop/views/components/drive-window.vue
diff --git a/src/server/web/app/desktop/views/components/drive.file.vue b/src/client/app/desktop/views/components/drive.file.vue
index 85f8361c9f..85f8361c9f 100644
--- a/src/server/web/app/desktop/views/components/drive.file.vue
+++ b/src/client/app/desktop/views/components/drive.file.vue
diff --git a/src/server/web/app/desktop/views/components/drive.folder.vue b/src/client/app/desktop/views/components/drive.folder.vue
index a926bf47b2..a926bf47b2 100644
--- a/src/server/web/app/desktop/views/components/drive.folder.vue
+++ b/src/client/app/desktop/views/components/drive.folder.vue
diff --git a/src/server/web/app/desktop/views/components/drive.nav-folder.vue b/src/client/app/desktop/views/components/drive.nav-folder.vue
index d885a72f7f..d885a72f7f 100644
--- a/src/server/web/app/desktop/views/components/drive.nav-folder.vue
+++ b/src/client/app/desktop/views/components/drive.nav-folder.vue
diff --git a/src/server/web/app/desktop/views/components/drive.vue b/src/client/app/desktop/views/components/drive.vue
index c766dfec12..c766dfec12 100644
--- a/src/server/web/app/desktop/views/components/drive.vue
+++ b/src/client/app/desktop/views/components/drive.vue
diff --git a/src/server/web/app/desktop/views/components/ellipsis-icon.vue b/src/client/app/desktop/views/components/ellipsis-icon.vue
index c54a7db29d..c54a7db29d 100644
--- a/src/server/web/app/desktop/views/components/ellipsis-icon.vue
+++ b/src/client/app/desktop/views/components/ellipsis-icon.vue
diff --git a/src/server/web/app/desktop/views/components/follow-button.vue b/src/client/app/desktop/views/components/follow-button.vue
index 9eb22b0fb8..9eb22b0fb8 100644
--- a/src/server/web/app/desktop/views/components/follow-button.vue
+++ b/src/client/app/desktop/views/components/follow-button.vue
diff --git a/src/server/web/app/desktop/views/components/followers-window.vue b/src/client/app/desktop/views/components/followers-window.vue
index 623971fa33..623971fa33 100644
--- a/src/server/web/app/desktop/views/components/followers-window.vue
+++ b/src/client/app/desktop/views/components/followers-window.vue
diff --git a/src/server/web/app/desktop/views/components/followers.vue b/src/client/app/desktop/views/components/followers.vue
index a1b98995d8..a1b98995d8 100644
--- a/src/server/web/app/desktop/views/components/followers.vue
+++ b/src/client/app/desktop/views/components/followers.vue
diff --git a/src/server/web/app/desktop/views/components/following-window.vue b/src/client/app/desktop/views/components/following-window.vue
index 612847b386..612847b386 100644
--- a/src/server/web/app/desktop/views/components/following-window.vue
+++ b/src/client/app/desktop/views/components/following-window.vue
diff --git a/src/server/web/app/desktop/views/components/following.vue b/src/client/app/desktop/views/components/following.vue
index b7aedda84f..b7aedda84f 100644
--- a/src/server/web/app/desktop/views/components/following.vue
+++ b/src/client/app/desktop/views/components/following.vue
diff --git a/src/server/web/app/desktop/views/components/friends-maker.vue b/src/client/app/desktop/views/components/friends-maker.vue
index fd9914b152..fd9914b152 100644
--- a/src/server/web/app/desktop/views/components/friends-maker.vue
+++ b/src/client/app/desktop/views/components/friends-maker.vue
diff --git a/src/server/web/app/desktop/views/components/game-window.vue b/src/client/app/desktop/views/components/game-window.vue
index 3c8bf40e12..3c8bf40e12 100644
--- a/src/server/web/app/desktop/views/components/game-window.vue
+++ b/src/client/app/desktop/views/components/game-window.vue
diff --git a/src/server/web/app/desktop/views/components/home.vue b/src/client/app/desktop/views/components/home.vue
index 7145ddce03..7145ddce03 100644
--- a/src/server/web/app/desktop/views/components/home.vue
+++ b/src/client/app/desktop/views/components/home.vue
diff --git a/src/server/web/app/desktop/views/components/index.ts b/src/client/app/desktop/views/components/index.ts
index 3798bf6d2d..3798bf6d2d 100644
--- a/src/server/web/app/desktop/views/components/index.ts
+++ b/src/client/app/desktop/views/components/index.ts
diff --git a/src/server/web/app/desktop/views/components/input-dialog.vue b/src/client/app/desktop/views/components/input-dialog.vue
index e939fc1903..e939fc1903 100644
--- a/src/server/web/app/desktop/views/components/input-dialog.vue
+++ b/src/client/app/desktop/views/components/input-dialog.vue
diff --git a/src/server/web/app/desktop/views/components/media-image-dialog.vue b/src/client/app/desktop/views/components/media-image-dialog.vue
index dec140d1c9..dec140d1c9 100644
--- a/src/server/web/app/desktop/views/components/media-image-dialog.vue
+++ b/src/client/app/desktop/views/components/media-image-dialog.vue
diff --git a/src/server/web/app/desktop/views/components/media-image.vue b/src/client/app/desktop/views/components/media-image.vue
index 51309a0578..51309a0578 100644
--- a/src/server/web/app/desktop/views/components/media-image.vue
+++ b/src/client/app/desktop/views/components/media-image.vue
diff --git a/src/server/web/app/desktop/views/components/media-video-dialog.vue b/src/client/app/desktop/views/components/media-video-dialog.vue
index cbf862cd1c..cbf862cd1c 100644
--- a/src/server/web/app/desktop/views/components/media-video-dialog.vue
+++ b/src/client/app/desktop/views/components/media-video-dialog.vue
diff --git a/src/server/web/app/desktop/views/components/media-video.vue b/src/client/app/desktop/views/components/media-video.vue
index 4fd955a821..4fd955a821 100644
--- a/src/server/web/app/desktop/views/components/media-video.vue
+++ b/src/client/app/desktop/views/components/media-video.vue
diff --git a/src/server/web/app/desktop/views/components/mentions.vue b/src/client/app/desktop/views/components/mentions.vue
index 90a92495b7..90a92495b7 100644
--- a/src/server/web/app/desktop/views/components/mentions.vue
+++ b/src/client/app/desktop/views/components/mentions.vue
diff --git a/src/server/web/app/desktop/views/components/messaging-room-window.vue b/src/client/app/desktop/views/components/messaging-room-window.vue
index 3735267811..3735267811 100644
--- a/src/server/web/app/desktop/views/components/messaging-room-window.vue
+++ b/src/client/app/desktop/views/components/messaging-room-window.vue
diff --git a/src/server/web/app/desktop/views/components/messaging-window.vue b/src/client/app/desktop/views/components/messaging-window.vue
index ac27465987..ac27465987 100644
--- a/src/server/web/app/desktop/views/components/messaging-window.vue
+++ b/src/client/app/desktop/views/components/messaging-window.vue
diff --git a/src/server/web/app/desktop/views/components/notifications.vue b/src/client/app/desktop/views/components/notifications.vue
index 5e6db08c12..5e6db08c12 100644
--- a/src/server/web/app/desktop/views/components/notifications.vue
+++ b/src/client/app/desktop/views/components/notifications.vue
diff --git a/src/server/web/app/desktop/views/components/post-detail.sub.vue b/src/client/app/desktop/views/components/post-detail.sub.vue
index 35377e7c24..35377e7c24 100644
--- a/src/server/web/app/desktop/views/components/post-detail.sub.vue
+++ b/src/client/app/desktop/views/components/post-detail.sub.vue
diff --git a/src/server/web/app/desktop/views/components/post-detail.vue b/src/client/app/desktop/views/components/post-detail.vue
index 5c7a7dfdbe..5c7a7dfdbe 100644
--- a/src/server/web/app/desktop/views/components/post-detail.vue
+++ b/src/client/app/desktop/views/components/post-detail.vue
diff --git a/src/server/web/app/desktop/views/components/post-form-window.vue b/src/client/app/desktop/views/components/post-form-window.vue
index d0b115e852..d0b115e852 100644
--- a/src/server/web/app/desktop/views/components/post-form-window.vue
+++ b/src/client/app/desktop/views/components/post-form-window.vue
diff --git a/src/server/web/app/desktop/views/components/post-form.vue b/src/client/app/desktop/views/components/post-form.vue
index 1c83a38b64..1c83a38b64 100644
--- a/src/server/web/app/desktop/views/components/post-form.vue
+++ b/src/client/app/desktop/views/components/post-form.vue
diff --git a/src/server/web/app/desktop/views/components/post-preview.vue b/src/client/app/desktop/views/components/post-preview.vue
index 0ac3223be2..0ac3223be2 100644
--- a/src/server/web/app/desktop/views/components/post-preview.vue
+++ b/src/client/app/desktop/views/components/post-preview.vue
diff --git a/src/server/web/app/desktop/views/components/posts.post.sub.vue b/src/client/app/desktop/views/components/posts.post.sub.vue
index 65d3017d3d..65d3017d3d 100644
--- a/src/server/web/app/desktop/views/components/posts.post.sub.vue
+++ b/src/client/app/desktop/views/components/posts.post.sub.vue
diff --git a/src/server/web/app/desktop/views/components/posts.post.vue b/src/client/app/desktop/views/components/posts.post.vue
index 37c6e63043..37c6e63043 100644
--- a/src/server/web/app/desktop/views/components/posts.post.vue
+++ b/src/client/app/desktop/views/components/posts.post.vue
diff --git a/src/server/web/app/desktop/views/components/posts.vue b/src/client/app/desktop/views/components/posts.vue
index 5031667c7c..5031667c7c 100644
--- a/src/server/web/app/desktop/views/components/posts.vue
+++ b/src/client/app/desktop/views/components/posts.vue
diff --git a/src/server/web/app/desktop/views/components/progress-dialog.vue b/src/client/app/desktop/views/components/progress-dialog.vue
index a4292e1aec..a4292e1aec 100644
--- a/src/server/web/app/desktop/views/components/progress-dialog.vue
+++ b/src/client/app/desktop/views/components/progress-dialog.vue
diff --git a/src/server/web/app/desktop/views/components/repost-form-window.vue b/src/client/app/desktop/views/components/repost-form-window.vue
index 7db5adbff3..7db5adbff3 100644
--- a/src/server/web/app/desktop/views/components/repost-form-window.vue
+++ b/src/client/app/desktop/views/components/repost-form-window.vue
diff --git a/src/server/web/app/desktop/views/components/repost-form.vue b/src/client/app/desktop/views/components/repost-form.vue
index 3a5e3a7c56..3a5e3a7c56 100644
--- a/src/server/web/app/desktop/views/components/repost-form.vue
+++ b/src/client/app/desktop/views/components/repost-form.vue
diff --git a/src/server/web/app/desktop/views/components/settings-window.vue b/src/client/app/desktop/views/components/settings-window.vue
index d5be177dcc..d5be177dcc 100644
--- a/src/server/web/app/desktop/views/components/settings-window.vue
+++ b/src/client/app/desktop/views/components/settings-window.vue
diff --git a/src/server/web/app/desktop/views/components/settings.2fa.vue b/src/client/app/desktop/views/components/settings.2fa.vue
index b8dd1dfd9b..b8dd1dfd9b 100644
--- a/src/server/web/app/desktop/views/components/settings.2fa.vue
+++ b/src/client/app/desktop/views/components/settings.2fa.vue
diff --git a/src/server/web/app/desktop/views/components/settings.api.vue b/src/client/app/desktop/views/components/settings.api.vue
index 0d5921ab7f..0d5921ab7f 100644
--- a/src/server/web/app/desktop/views/components/settings.api.vue
+++ b/src/client/app/desktop/views/components/settings.api.vue
diff --git a/src/server/web/app/desktop/views/components/settings.apps.vue b/src/client/app/desktop/views/components/settings.apps.vue
index 0503b03abd..0503b03abd 100644
--- a/src/server/web/app/desktop/views/components/settings.apps.vue
+++ b/src/client/app/desktop/views/components/settings.apps.vue
diff --git a/src/server/web/app/desktop/views/components/settings.drive.vue b/src/client/app/desktop/views/components/settings.drive.vue
index 8bb0c760a7..8bb0c760a7 100644
--- a/src/server/web/app/desktop/views/components/settings.drive.vue
+++ b/src/client/app/desktop/views/components/settings.drive.vue
diff --git a/src/server/web/app/desktop/views/components/settings.mute.vue b/src/client/app/desktop/views/components/settings.mute.vue
index a8dfe10604..a8dfe10604 100644
--- a/src/server/web/app/desktop/views/components/settings.mute.vue
+++ b/src/client/app/desktop/views/components/settings.mute.vue
diff --git a/src/server/web/app/desktop/views/components/settings.password.vue b/src/client/app/desktop/views/components/settings.password.vue
index f883b54065..f883b54065 100644
--- a/src/server/web/app/desktop/views/components/settings.password.vue
+++ b/src/client/app/desktop/views/components/settings.password.vue
diff --git a/src/server/web/app/desktop/views/components/settings.profile.vue b/src/client/app/desktop/views/components/settings.profile.vue
index ba86286f87..ba86286f87 100644
--- a/src/server/web/app/desktop/views/components/settings.profile.vue
+++ b/src/client/app/desktop/views/components/settings.profile.vue
diff --git a/src/server/web/app/desktop/views/components/settings.signins.vue b/src/client/app/desktop/views/components/settings.signins.vue
index a414c95c27..a414c95c27 100644
--- a/src/server/web/app/desktop/views/components/settings.signins.vue
+++ b/src/client/app/desktop/views/components/settings.signins.vue
diff --git a/src/server/web/app/desktop/views/components/settings.vue b/src/client/app/desktop/views/components/settings.vue
index fd82c171c1..fd82c171c1 100644
--- a/src/server/web/app/desktop/views/components/settings.vue
+++ b/src/client/app/desktop/views/components/settings.vue
diff --git a/src/server/web/app/desktop/views/components/sub-post-content.vue b/src/client/app/desktop/views/components/sub-post-content.vue
index f13822331b..f13822331b 100644
--- a/src/server/web/app/desktop/views/components/sub-post-content.vue
+++ b/src/client/app/desktop/views/components/sub-post-content.vue
diff --git a/src/server/web/app/desktop/views/components/taskmanager.vue b/src/client/app/desktop/views/components/taskmanager.vue
index a00fabb047..a00fabb047 100644
--- a/src/server/web/app/desktop/views/components/taskmanager.vue
+++ b/src/client/app/desktop/views/components/taskmanager.vue
diff --git a/src/server/web/app/desktop/views/components/timeline.vue b/src/client/app/desktop/views/components/timeline.vue
index 65b4bd1c7a..65b4bd1c7a 100644
--- a/src/server/web/app/desktop/views/components/timeline.vue
+++ b/src/client/app/desktop/views/components/timeline.vue
diff --git a/src/server/web/app/desktop/views/components/ui-notification.vue b/src/client/app/desktop/views/components/ui-notification.vue
index 9983f02c5e..9983f02c5e 100644
--- a/src/server/web/app/desktop/views/components/ui-notification.vue
+++ b/src/client/app/desktop/views/components/ui-notification.vue
diff --git a/src/server/web/app/desktop/views/components/ui.header.account.vue b/src/client/app/desktop/views/components/ui.header.account.vue
index ec4635f338..ec4635f338 100644
--- a/src/server/web/app/desktop/views/components/ui.header.account.vue
+++ b/src/client/app/desktop/views/components/ui.header.account.vue
diff --git a/src/server/web/app/desktop/views/components/ui.header.clock.vue b/src/client/app/desktop/views/components/ui.header.clock.vue
index cd23a67506..cd23a67506 100644
--- a/src/server/web/app/desktop/views/components/ui.header.clock.vue
+++ b/src/client/app/desktop/views/components/ui.header.clock.vue
diff --git a/src/server/web/app/desktop/views/components/ui.header.nav.vue b/src/client/app/desktop/views/components/ui.header.nav.vue
index 7582e8afce..7582e8afce 100644
--- a/src/server/web/app/desktop/views/components/ui.header.nav.vue
+++ b/src/client/app/desktop/views/components/ui.header.nav.vue
diff --git a/src/server/web/app/desktop/views/components/ui.header.notifications.vue b/src/client/app/desktop/views/components/ui.header.notifications.vue
index e829418d18..e829418d18 100644
--- a/src/server/web/app/desktop/views/components/ui.header.notifications.vue
+++ b/src/client/app/desktop/views/components/ui.header.notifications.vue
diff --git a/src/server/web/app/desktop/views/components/ui.header.post.vue b/src/client/app/desktop/views/components/ui.header.post.vue
index c2f0e07dd3..c2f0e07dd3 100644
--- a/src/server/web/app/desktop/views/components/ui.header.post.vue
+++ b/src/client/app/desktop/views/components/ui.header.post.vue
diff --git a/src/server/web/app/desktop/views/components/ui.header.search.vue b/src/client/app/desktop/views/components/ui.header.search.vue
index 86215556ad..86215556ad 100644
--- a/src/server/web/app/desktop/views/components/ui.header.search.vue
+++ b/src/client/app/desktop/views/components/ui.header.search.vue
diff --git a/src/server/web/app/desktop/views/components/ui.header.vue b/src/client/app/desktop/views/components/ui.header.vue
index 7e337d2ae5..7e337d2ae5 100644
--- a/src/server/web/app/desktop/views/components/ui.header.vue
+++ b/src/client/app/desktop/views/components/ui.header.vue
diff --git a/src/server/web/app/desktop/views/components/ui.vue b/src/client/app/desktop/views/components/ui.vue
index 87f932ff14..87f932ff14 100644
--- a/src/server/web/app/desktop/views/components/ui.vue
+++ b/src/client/app/desktop/views/components/ui.vue
diff --git a/src/server/web/app/desktop/views/components/user-preview.vue b/src/client/app/desktop/views/components/user-preview.vue
index 8c86b2efe8..8c86b2efe8 100644
--- a/src/server/web/app/desktop/views/components/user-preview.vue
+++ b/src/client/app/desktop/views/components/user-preview.vue
diff --git a/src/server/web/app/desktop/views/components/users-list.item.vue b/src/client/app/desktop/views/components/users-list.item.vue
index d2bfc117da..d2bfc117da 100644
--- a/src/server/web/app/desktop/views/components/users-list.item.vue
+++ b/src/client/app/desktop/views/components/users-list.item.vue
diff --git a/src/server/web/app/desktop/views/components/users-list.vue b/src/client/app/desktop/views/components/users-list.vue
index a08e76f573..a08e76f573 100644
--- a/src/server/web/app/desktop/views/components/users-list.vue
+++ b/src/client/app/desktop/views/components/users-list.vue
diff --git a/src/server/web/app/desktop/views/components/widget-container.vue b/src/client/app/desktop/views/components/widget-container.vue
index 68c5bcb8dc..68c5bcb8dc 100644
--- a/src/server/web/app/desktop/views/components/widget-container.vue
+++ b/src/client/app/desktop/views/components/widget-container.vue
diff --git a/src/server/web/app/desktop/views/components/window.vue b/src/client/app/desktop/views/components/window.vue
index 48dc46febd..48dc46febd 100644
--- a/src/server/web/app/desktop/views/components/window.vue
+++ b/src/client/app/desktop/views/components/window.vue
diff --git a/src/server/web/app/desktop/views/directives/index.ts b/src/client/app/desktop/views/directives/index.ts
index 324e07596d..324e07596d 100644
--- a/src/server/web/app/desktop/views/directives/index.ts
+++ b/src/client/app/desktop/views/directives/index.ts
diff --git a/src/server/web/app/desktop/views/directives/user-preview.ts b/src/client/app/desktop/views/directives/user-preview.ts
index 8a4035881a..8a4035881a 100644
--- a/src/server/web/app/desktop/views/directives/user-preview.ts
+++ b/src/client/app/desktop/views/directives/user-preview.ts
diff --git a/src/server/web/app/desktop/views/pages/drive.vue b/src/client/app/desktop/views/pages/drive.vue
index 353f59b703..353f59b703 100644
--- a/src/server/web/app/desktop/views/pages/drive.vue
+++ b/src/client/app/desktop/views/pages/drive.vue
diff --git a/src/server/web/app/desktop/views/pages/home-customize.vue b/src/client/app/desktop/views/pages/home-customize.vue
index 8aa06be57f..8aa06be57f 100644
--- a/src/server/web/app/desktop/views/pages/home-customize.vue
+++ b/src/client/app/desktop/views/pages/home-customize.vue
diff --git a/src/server/web/app/desktop/views/pages/home.vue b/src/client/app/desktop/views/pages/home.vue
index 69e134f79f..69e134f79f 100644
--- a/src/server/web/app/desktop/views/pages/home.vue
+++ b/src/client/app/desktop/views/pages/home.vue
diff --git a/src/server/web/app/desktop/views/pages/index.vue b/src/client/app/desktop/views/pages/index.vue
index 0ea47d913b..0ea47d913b 100644
--- a/src/server/web/app/desktop/views/pages/index.vue
+++ b/src/client/app/desktop/views/pages/index.vue
diff --git a/src/server/web/app/desktop/views/pages/messaging-room.vue b/src/client/app/desktop/views/pages/messaging-room.vue
index 0cab1e0d10..0cab1e0d10 100644
--- a/src/server/web/app/desktop/views/pages/messaging-room.vue
+++ b/src/client/app/desktop/views/pages/messaging-room.vue
diff --git a/src/server/web/app/desktop/views/pages/othello.vue b/src/client/app/desktop/views/pages/othello.vue
index 0d8e987dd9..0d8e987dd9 100644
--- a/src/server/web/app/desktop/views/pages/othello.vue
+++ b/src/client/app/desktop/views/pages/othello.vue
diff --git a/src/server/web/app/desktop/views/pages/post.vue b/src/client/app/desktop/views/pages/post.vue
index dbd707e049..dbd707e049 100644
--- a/src/server/web/app/desktop/views/pages/post.vue
+++ b/src/client/app/desktop/views/pages/post.vue
diff --git a/src/server/web/app/desktop/views/pages/search.vue b/src/client/app/desktop/views/pages/search.vue
index afd37c8cee..afd37c8cee 100644
--- a/src/server/web/app/desktop/views/pages/search.vue
+++ b/src/client/app/desktop/views/pages/search.vue
diff --git a/src/server/web/app/desktop/views/pages/selectdrive.vue b/src/client/app/desktop/views/pages/selectdrive.vue
index 4f0b86014b..4f0b86014b 100644
--- a/src/server/web/app/desktop/views/pages/selectdrive.vue
+++ b/src/client/app/desktop/views/pages/selectdrive.vue
diff --git a/src/server/web/app/desktop/views/pages/user/user.followers-you-know.vue b/src/client/app/desktop/views/pages/user/user.followers-you-know.vue
index d0dab6c3df..d0dab6c3df 100644
--- a/src/server/web/app/desktop/views/pages/user/user.followers-you-know.vue
+++ b/src/client/app/desktop/views/pages/user/user.followers-you-know.vue
diff --git a/src/server/web/app/desktop/views/pages/user/user.friends.vue b/src/client/app/desktop/views/pages/user/user.friends.vue
index 3ec30fb438..3ec30fb438 100644
--- a/src/server/web/app/desktop/views/pages/user/user.friends.vue
+++ b/src/client/app/desktop/views/pages/user/user.friends.vue
diff --git a/src/server/web/app/desktop/views/pages/user/user.header.vue b/src/client/app/desktop/views/pages/user/user.header.vue
index 54f431fd2e..54f431fd2e 100644
--- a/src/server/web/app/desktop/views/pages/user/user.header.vue
+++ b/src/client/app/desktop/views/pages/user/user.header.vue
diff --git a/src/server/web/app/desktop/views/pages/user/user.home.vue b/src/client/app/desktop/views/pages/user/user.home.vue
index 071c9bb61c..071c9bb61c 100644
--- a/src/server/web/app/desktop/views/pages/user/user.home.vue
+++ b/src/client/app/desktop/views/pages/user/user.home.vue
diff --git a/src/server/web/app/desktop/views/pages/user/user.photos.vue b/src/client/app/desktop/views/pages/user/user.photos.vue
index 1ff79b4aee..1ff79b4aee 100644
--- a/src/server/web/app/desktop/views/pages/user/user.photos.vue
+++ b/src/client/app/desktop/views/pages/user/user.photos.vue
diff --git a/src/server/web/app/desktop/views/pages/user/user.profile.vue b/src/client/app/desktop/views/pages/user/user.profile.vue
index f5562d0915..f5562d0915 100644
--- a/src/server/web/app/desktop/views/pages/user/user.profile.vue
+++ b/src/client/app/desktop/views/pages/user/user.profile.vue
diff --git a/src/server/web/app/desktop/views/pages/user/user.timeline.vue b/src/client/app/desktop/views/pages/user/user.timeline.vue
index 134ad423ce..134ad423ce 100644
--- a/src/server/web/app/desktop/views/pages/user/user.timeline.vue
+++ b/src/client/app/desktop/views/pages/user/user.timeline.vue
diff --git a/src/server/web/app/desktop/views/pages/user/user.vue b/src/client/app/desktop/views/pages/user/user.vue
index 67cef93269..67cef93269 100644
--- a/src/server/web/app/desktop/views/pages/user/user.vue
+++ b/src/client/app/desktop/views/pages/user/user.vue
diff --git a/src/server/web/app/desktop/views/pages/welcome.vue b/src/client/app/desktop/views/pages/welcome.vue
index 34c28854b1..34c28854b1 100644
--- a/src/server/web/app/desktop/views/pages/welcome.vue
+++ b/src/client/app/desktop/views/pages/welcome.vue
diff --git a/src/server/web/app/desktop/views/widgets/activity.vue b/src/client/app/desktop/views/widgets/activity.vue
index 0bdf4622af..0bdf4622af 100644
--- a/src/server/web/app/desktop/views/widgets/activity.vue
+++ b/src/client/app/desktop/views/widgets/activity.vue
diff --git a/src/server/web/app/desktop/views/widgets/channel.channel.form.vue b/src/client/app/desktop/views/widgets/channel.channel.form.vue
index aaf327f1ef..aaf327f1ef 100644
--- a/src/server/web/app/desktop/views/widgets/channel.channel.form.vue
+++ b/src/client/app/desktop/views/widgets/channel.channel.form.vue
diff --git a/src/server/web/app/desktop/views/widgets/channel.channel.post.vue b/src/client/app/desktop/views/widgets/channel.channel.post.vue
index 433f9a00aa..433f9a00aa 100644
--- a/src/server/web/app/desktop/views/widgets/channel.channel.post.vue
+++ b/src/client/app/desktop/views/widgets/channel.channel.post.vue
diff --git a/src/server/web/app/desktop/views/widgets/channel.channel.vue b/src/client/app/desktop/views/widgets/channel.channel.vue
index e9fb9e3fd7..e9fb9e3fd7 100644
--- a/src/server/web/app/desktop/views/widgets/channel.channel.vue
+++ b/src/client/app/desktop/views/widgets/channel.channel.vue
diff --git a/src/server/web/app/desktop/views/widgets/channel.vue b/src/client/app/desktop/views/widgets/channel.vue
index c9b62dfeab..c9b62dfeab 100644
--- a/src/server/web/app/desktop/views/widgets/channel.vue
+++ b/src/client/app/desktop/views/widgets/channel.vue
diff --git a/src/server/web/app/desktop/views/widgets/index.ts b/src/client/app/desktop/views/widgets/index.ts
index 77d771d6b3..77d771d6b3 100644
--- a/src/server/web/app/desktop/views/widgets/index.ts
+++ b/src/client/app/desktop/views/widgets/index.ts
diff --git a/src/server/web/app/desktop/views/widgets/messaging.vue b/src/client/app/desktop/views/widgets/messaging.vue
index 2c9f473bd1..2c9f473bd1 100644
--- a/src/server/web/app/desktop/views/widgets/messaging.vue
+++ b/src/client/app/desktop/views/widgets/messaging.vue
diff --git a/src/server/web/app/desktop/views/widgets/notifications.vue b/src/client/app/desktop/views/widgets/notifications.vue
index 1a2b3d3f89..1a2b3d3f89 100644
--- a/src/server/web/app/desktop/views/widgets/notifications.vue
+++ b/src/client/app/desktop/views/widgets/notifications.vue
diff --git a/src/server/web/app/desktop/views/widgets/polls.vue b/src/client/app/desktop/views/widgets/polls.vue
index e5db34fc7a..e5db34fc7a 100644
--- a/src/server/web/app/desktop/views/widgets/polls.vue
+++ b/src/client/app/desktop/views/widgets/polls.vue
diff --git a/src/server/web/app/desktop/views/widgets/post-form.vue b/src/client/app/desktop/views/widgets/post-form.vue
index cf7fd1f2b2..cf7fd1f2b2 100644
--- a/src/server/web/app/desktop/views/widgets/post-form.vue
+++ b/src/client/app/desktop/views/widgets/post-form.vue
diff --git a/src/server/web/app/desktop/views/widgets/profile.vue b/src/client/app/desktop/views/widgets/profile.vue
index 83cd67b50c..83cd67b50c 100644
--- a/src/server/web/app/desktop/views/widgets/profile.vue
+++ b/src/client/app/desktop/views/widgets/profile.vue
diff --git a/src/server/web/app/desktop/views/widgets/timemachine.vue b/src/client/app/desktop/views/widgets/timemachine.vue
index 6db3b14c62..6db3b14c62 100644
--- a/src/server/web/app/desktop/views/widgets/timemachine.vue
+++ b/src/client/app/desktop/views/widgets/timemachine.vue
diff --git a/src/server/web/app/desktop/views/widgets/trends.vue b/src/client/app/desktop/views/widgets/trends.vue
index 77779787ee..77779787ee 100644
--- a/src/server/web/app/desktop/views/widgets/trends.vue
+++ b/src/client/app/desktop/views/widgets/trends.vue
diff --git a/src/server/web/app/desktop/views/widgets/users.vue b/src/client/app/desktop/views/widgets/users.vue
index 7b89441126..7b89441126 100644
--- a/src/server/web/app/desktop/views/widgets/users.vue
+++ b/src/client/app/desktop/views/widgets/users.vue
diff --git a/src/server/web/app/dev/script.ts b/src/client/app/dev/script.ts
index c043813b40..c043813b40 100644
--- a/src/server/web/app/dev/script.ts
+++ b/src/client/app/dev/script.ts
diff --git a/src/server/web/app/dev/style.styl b/src/client/app/dev/style.styl
index e635897b17..e635897b17 100644
--- a/src/server/web/app/dev/style.styl
+++ b/src/client/app/dev/style.styl
diff --git a/src/server/web/app/dev/views/app.vue b/src/client/app/dev/views/app.vue
index a35b032b73..a35b032b73 100644
--- a/src/server/web/app/dev/views/app.vue
+++ b/src/client/app/dev/views/app.vue
diff --git a/src/server/web/app/dev/views/apps.vue b/src/client/app/dev/views/apps.vue
index 7e0b107a30..7e0b107a30 100644
--- a/src/server/web/app/dev/views/apps.vue
+++ b/src/client/app/dev/views/apps.vue
diff --git a/src/server/web/app/dev/views/index.vue b/src/client/app/dev/views/index.vue
index 3f572b3907..3f572b3907 100644
--- a/src/server/web/app/dev/views/index.vue
+++ b/src/client/app/dev/views/index.vue
diff --git a/src/server/web/app/dev/views/new-app.vue b/src/client/app/dev/views/new-app.vue
index e407ca00d7..e407ca00d7 100644
--- a/src/server/web/app/dev/views/new-app.vue
+++ b/src/client/app/dev/views/new-app.vue
diff --git a/src/server/web/app/dev/views/ui.vue b/src/client/app/dev/views/ui.vue
index 4a0fcee635..4a0fcee635 100644
--- a/src/server/web/app/dev/views/ui.vue
+++ b/src/client/app/dev/views/ui.vue
diff --git a/src/server/web/app/init.css b/src/client/app/init.css
index 2587f63943..2587f63943 100644
--- a/src/server/web/app/init.css
+++ b/src/client/app/init.css
diff --git a/src/server/web/app/init.ts b/src/client/app/init.ts
index 3e5c38961f..3e5c38961f 100644
--- a/src/server/web/app/init.ts
+++ b/src/client/app/init.ts
diff --git a/src/server/web/app/mobile/api/choose-drive-file.ts b/src/client/app/mobile/api/choose-drive-file.ts
index b1a78f2364..b1a78f2364 100644
--- a/src/server/web/app/mobile/api/choose-drive-file.ts
+++ b/src/client/app/mobile/api/choose-drive-file.ts
diff --git a/src/server/web/app/mobile/api/choose-drive-folder.ts b/src/client/app/mobile/api/choose-drive-folder.ts
index d1f97d1487..d1f97d1487 100644
--- a/src/server/web/app/mobile/api/choose-drive-folder.ts
+++ b/src/client/app/mobile/api/choose-drive-folder.ts
diff --git a/src/server/web/app/mobile/api/dialog.ts b/src/client/app/mobile/api/dialog.ts
index a2378767be..a2378767be 100644
--- a/src/server/web/app/mobile/api/dialog.ts
+++ b/src/client/app/mobile/api/dialog.ts
diff --git a/src/server/web/app/mobile/api/input.ts b/src/client/app/mobile/api/input.ts
index 38d0fb61eb..38d0fb61eb 100644
--- a/src/server/web/app/mobile/api/input.ts
+++ b/src/client/app/mobile/api/input.ts
diff --git a/src/server/web/app/mobile/api/notify.ts b/src/client/app/mobile/api/notify.ts
index 82780d196f..82780d196f 100644
--- a/src/server/web/app/mobile/api/notify.ts
+++ b/src/client/app/mobile/api/notify.ts
diff --git a/src/server/web/app/mobile/api/post.ts b/src/client/app/mobile/api/post.ts
index 841103fee1..841103fee1 100644
--- a/src/server/web/app/mobile/api/post.ts
+++ b/src/client/app/mobile/api/post.ts
diff --git a/src/server/web/app/mobile/script.ts b/src/client/app/mobile/script.ts
index 4776fccddb..4776fccddb 100644
--- a/src/server/web/app/mobile/script.ts
+++ b/src/client/app/mobile/script.ts
diff --git a/src/server/web/app/mobile/style.styl b/src/client/app/mobile/style.styl
index 81912a2483..81912a2483 100644
--- a/src/server/web/app/mobile/style.styl
+++ b/src/client/app/mobile/style.styl
diff --git a/src/server/web/app/mobile/views/components/activity.vue b/src/client/app/mobile/views/components/activity.vue
index 2e44017e77..2e44017e77 100644
--- a/src/server/web/app/mobile/views/components/activity.vue
+++ b/src/client/app/mobile/views/components/activity.vue
diff --git a/src/server/web/app/mobile/views/components/drive-file-chooser.vue b/src/client/app/mobile/views/components/drive-file-chooser.vue
index 6806af0f1e..6806af0f1e 100644
--- a/src/server/web/app/mobile/views/components/drive-file-chooser.vue
+++ b/src/client/app/mobile/views/components/drive-file-chooser.vue
diff --git a/src/server/web/app/mobile/views/components/drive-folder-chooser.vue b/src/client/app/mobile/views/components/drive-folder-chooser.vue
index 853078664f..853078664f 100644
--- a/src/server/web/app/mobile/views/components/drive-folder-chooser.vue
+++ b/src/client/app/mobile/views/components/drive-folder-chooser.vue
diff --git a/src/server/web/app/mobile/views/components/drive.file-detail.vue b/src/client/app/mobile/views/components/drive.file-detail.vue
index f3274f677f..f3274f677f 100644
--- a/src/server/web/app/mobile/views/components/drive.file-detail.vue
+++ b/src/client/app/mobile/views/components/drive.file-detail.vue
diff --git a/src/server/web/app/mobile/views/components/drive.file.vue b/src/client/app/mobile/views/components/drive.file.vue
index 7d1957042b..7d1957042b 100644
--- a/src/server/web/app/mobile/views/components/drive.file.vue
+++ b/src/client/app/mobile/views/components/drive.file.vue
diff --git a/src/server/web/app/mobile/views/components/drive.folder.vue b/src/client/app/mobile/views/components/drive.folder.vue
index 22ff38fecb..22ff38fecb 100644
--- a/src/server/web/app/mobile/views/components/drive.folder.vue
+++ b/src/client/app/mobile/views/components/drive.folder.vue
diff --git a/src/server/web/app/mobile/views/components/drive.vue b/src/client/app/mobile/views/components/drive.vue
index ff5366a0ad..ff5366a0ad 100644
--- a/src/server/web/app/mobile/views/components/drive.vue
+++ b/src/client/app/mobile/views/components/drive.vue
diff --git a/src/server/web/app/mobile/views/components/follow-button.vue b/src/client/app/mobile/views/components/follow-button.vue
index 43c69d4e02..43c69d4e02 100644
--- a/src/server/web/app/mobile/views/components/follow-button.vue
+++ b/src/client/app/mobile/views/components/follow-button.vue
diff --git a/src/server/web/app/mobile/views/components/friends-maker.vue b/src/client/app/mobile/views/components/friends-maker.vue
index 961a5f568a..961a5f568a 100644
--- a/src/server/web/app/mobile/views/components/friends-maker.vue
+++ b/src/client/app/mobile/views/components/friends-maker.vue
diff --git a/src/server/web/app/mobile/views/components/index.ts b/src/client/app/mobile/views/components/index.ts
index fb8f65f47d..fb8f65f47d 100644
--- a/src/server/web/app/mobile/views/components/index.ts
+++ b/src/client/app/mobile/views/components/index.ts
diff --git a/src/server/web/app/mobile/views/components/media-image.vue b/src/client/app/mobile/views/components/media-image.vue
index cfc2134988..cfc2134988 100644
--- a/src/server/web/app/mobile/views/components/media-image.vue
+++ b/src/client/app/mobile/views/components/media-image.vue
diff --git a/src/server/web/app/mobile/views/components/media-video.vue b/src/client/app/mobile/views/components/media-video.vue
index 68cd48587a..68cd48587a 100644
--- a/src/server/web/app/mobile/views/components/media-video.vue
+++ b/src/client/app/mobile/views/components/media-video.vue
diff --git a/src/server/web/app/mobile/views/components/notification-preview.vue b/src/client/app/mobile/views/components/notification-preview.vue
index fce9ed82f9..fce9ed82f9 100644
--- a/src/server/web/app/mobile/views/components/notification-preview.vue
+++ b/src/client/app/mobile/views/components/notification-preview.vue
diff --git a/src/server/web/app/mobile/views/components/notification.vue b/src/client/app/mobile/views/components/notification.vue
index e221fb3ac4..e221fb3ac4 100644
--- a/src/server/web/app/mobile/views/components/notification.vue
+++ b/src/client/app/mobile/views/components/notification.vue
diff --git a/src/server/web/app/mobile/views/components/notifications.vue b/src/client/app/mobile/views/components/notifications.vue
index d68b990dfa..d68b990dfa 100644
--- a/src/server/web/app/mobile/views/components/notifications.vue
+++ b/src/client/app/mobile/views/components/notifications.vue
diff --git a/src/server/web/app/mobile/views/components/notify.vue b/src/client/app/mobile/views/components/notify.vue
index 6d4a481dbe..6d4a481dbe 100644
--- a/src/server/web/app/mobile/views/components/notify.vue
+++ b/src/client/app/mobile/views/components/notify.vue
diff --git a/src/server/web/app/mobile/views/components/post-card.vue b/src/client/app/mobile/views/components/post-card.vue
index 10dfd92415..10dfd92415 100644
--- a/src/server/web/app/mobile/views/components/post-card.vue
+++ b/src/client/app/mobile/views/components/post-card.vue
diff --git a/src/server/web/app/mobile/views/components/post-detail.sub.vue b/src/client/app/mobile/views/components/post-detail.sub.vue
index db7567834a..db7567834a 100644
--- a/src/server/web/app/mobile/views/components/post-detail.sub.vue
+++ b/src/client/app/mobile/views/components/post-detail.sub.vue
diff --git a/src/server/web/app/mobile/views/components/post-detail.vue b/src/client/app/mobile/views/components/post-detail.vue
index f0af1a61aa..f0af1a61aa 100644
--- a/src/server/web/app/mobile/views/components/post-detail.vue
+++ b/src/client/app/mobile/views/components/post-detail.vue
diff --git a/src/server/web/app/mobile/views/components/post-form.vue b/src/client/app/mobile/views/components/post-form.vue
index 5b78a25710..5b78a25710 100644
--- a/src/server/web/app/mobile/views/components/post-form.vue
+++ b/src/client/app/mobile/views/components/post-form.vue
diff --git a/src/server/web/app/mobile/views/components/post-preview.vue b/src/client/app/mobile/views/components/post-preview.vue
index a6141dc8e3..a6141dc8e3 100644
--- a/src/server/web/app/mobile/views/components/post-preview.vue
+++ b/src/client/app/mobile/views/components/post-preview.vue
diff --git a/src/server/web/app/mobile/views/components/post.sub.vue b/src/client/app/mobile/views/components/post.sub.vue
index adf444a2d6..adf444a2d6 100644
--- a/src/server/web/app/mobile/views/components/post.sub.vue
+++ b/src/client/app/mobile/views/components/post.sub.vue
diff --git a/src/server/web/app/mobile/views/components/post.vue b/src/client/app/mobile/views/components/post.vue
index a01eb7669e..a01eb7669e 100644
--- a/src/server/web/app/mobile/views/components/post.vue
+++ b/src/client/app/mobile/views/components/post.vue
diff --git a/src/server/web/app/mobile/views/components/posts.vue b/src/client/app/mobile/views/components/posts.vue
index 4695f1beaa..4695f1beaa 100644
--- a/src/server/web/app/mobile/views/components/posts.vue
+++ b/src/client/app/mobile/views/components/posts.vue
diff --git a/src/server/web/app/mobile/views/components/sub-post-content.vue b/src/client/app/mobile/views/components/sub-post-content.vue
index b95883de77..b95883de77 100644
--- a/src/server/web/app/mobile/views/components/sub-post-content.vue
+++ b/src/client/app/mobile/views/components/sub-post-content.vue
diff --git a/src/server/web/app/mobile/views/components/timeline.vue b/src/client/app/mobile/views/components/timeline.vue
index 7b5948faf1..7b5948faf1 100644
--- a/src/server/web/app/mobile/views/components/timeline.vue
+++ b/src/client/app/mobile/views/components/timeline.vue
diff --git a/src/server/web/app/mobile/views/components/ui.header.vue b/src/client/app/mobile/views/components/ui.header.vue
index 2bf47a90a9..2bf47a90a9 100644
--- a/src/server/web/app/mobile/views/components/ui.header.vue
+++ b/src/client/app/mobile/views/components/ui.header.vue
diff --git a/src/server/web/app/mobile/views/components/ui.nav.vue b/src/client/app/mobile/views/components/ui.nav.vue
index a923774a73..a923774a73 100644
--- a/src/server/web/app/mobile/views/components/ui.nav.vue
+++ b/src/client/app/mobile/views/components/ui.nav.vue
diff --git a/src/server/web/app/mobile/views/components/ui.vue b/src/client/app/mobile/views/components/ui.vue
index 325ce9d40e..325ce9d40e 100644
--- a/src/server/web/app/mobile/views/components/ui.vue
+++ b/src/client/app/mobile/views/components/ui.vue
diff --git a/src/server/web/app/mobile/views/components/user-card.vue b/src/client/app/mobile/views/components/user-card.vue
index ffa1100519..ffa1100519 100644
--- a/src/server/web/app/mobile/views/components/user-card.vue
+++ b/src/client/app/mobile/views/components/user-card.vue
diff --git a/src/server/web/app/mobile/views/components/user-preview.vue b/src/client/app/mobile/views/components/user-preview.vue
index e51e4353d3..e51e4353d3 100644
--- a/src/server/web/app/mobile/views/components/user-preview.vue
+++ b/src/client/app/mobile/views/components/user-preview.vue
diff --git a/src/server/web/app/mobile/views/components/user-timeline.vue b/src/client/app/mobile/views/components/user-timeline.vue
index bd3e3d0c87..bd3e3d0c87 100644
--- a/src/server/web/app/mobile/views/components/user-timeline.vue
+++ b/src/client/app/mobile/views/components/user-timeline.vue
diff --git a/src/server/web/app/mobile/views/components/users-list.vue b/src/client/app/mobile/views/components/users-list.vue
index b11e4549d6..b11e4549d6 100644
--- a/src/server/web/app/mobile/views/components/users-list.vue
+++ b/src/client/app/mobile/views/components/users-list.vue
diff --git a/src/server/web/app/mobile/views/components/widget-container.vue b/src/client/app/mobile/views/components/widget-container.vue
index 7319c90849..7319c90849 100644
--- a/src/server/web/app/mobile/views/components/widget-container.vue
+++ b/src/client/app/mobile/views/components/widget-container.vue
diff --git a/src/server/web/app/mobile/views/directives/index.ts b/src/client/app/mobile/views/directives/index.ts
index 324e07596d..324e07596d 100644
--- a/src/server/web/app/mobile/views/directives/index.ts
+++ b/src/client/app/mobile/views/directives/index.ts
diff --git a/src/server/web/app/mobile/views/directives/user-preview.ts b/src/client/app/mobile/views/directives/user-preview.ts
index 1a54abc20d..1a54abc20d 100644
--- a/src/server/web/app/mobile/views/directives/user-preview.ts
+++ b/src/client/app/mobile/views/directives/user-preview.ts
diff --git a/src/server/web/app/mobile/views/pages/drive.vue b/src/client/app/mobile/views/pages/drive.vue
index 200379f222..200379f222 100644
--- a/src/server/web/app/mobile/views/pages/drive.vue
+++ b/src/client/app/mobile/views/pages/drive.vue
diff --git a/src/server/web/app/mobile/views/pages/followers.vue b/src/client/app/mobile/views/pages/followers.vue
index 8c058eb4e6..8c058eb4e6 100644
--- a/src/server/web/app/mobile/views/pages/followers.vue
+++ b/src/client/app/mobile/views/pages/followers.vue
diff --git a/src/server/web/app/mobile/views/pages/following.vue b/src/client/app/mobile/views/pages/following.vue
index a73c9d1710..a73c9d1710 100644
--- a/src/server/web/app/mobile/views/pages/following.vue
+++ b/src/client/app/mobile/views/pages/following.vue
diff --git a/src/server/web/app/mobile/views/pages/home.vue b/src/client/app/mobile/views/pages/home.vue
index be9101aa7f..be9101aa7f 100644
--- a/src/server/web/app/mobile/views/pages/home.vue
+++ b/src/client/app/mobile/views/pages/home.vue
diff --git a/src/server/web/app/mobile/views/pages/index.vue b/src/client/app/mobile/views/pages/index.vue
index 0ea47d913b..0ea47d913b 100644
--- a/src/server/web/app/mobile/views/pages/index.vue
+++ b/src/client/app/mobile/views/pages/index.vue
diff --git a/src/server/web/app/mobile/views/pages/messaging-room.vue b/src/client/app/mobile/views/pages/messaging-room.vue
index 193c41179c..193c41179c 100644
--- a/src/server/web/app/mobile/views/pages/messaging-room.vue
+++ b/src/client/app/mobile/views/pages/messaging-room.vue
diff --git a/src/server/web/app/mobile/views/pages/messaging.vue b/src/client/app/mobile/views/pages/messaging.vue
index e92068eda5..e92068eda5 100644
--- a/src/server/web/app/mobile/views/pages/messaging.vue
+++ b/src/client/app/mobile/views/pages/messaging.vue
diff --git a/src/server/web/app/mobile/views/pages/notifications.vue b/src/client/app/mobile/views/pages/notifications.vue
index 6d45e22a9c..6d45e22a9c 100644
--- a/src/server/web/app/mobile/views/pages/notifications.vue
+++ b/src/client/app/mobile/views/pages/notifications.vue
diff --git a/src/server/web/app/mobile/views/pages/othello.vue b/src/client/app/mobile/views/pages/othello.vue
index e04e583c20..e04e583c20 100644
--- a/src/server/web/app/mobile/views/pages/othello.vue
+++ b/src/client/app/mobile/views/pages/othello.vue
diff --git a/src/server/web/app/mobile/views/pages/post.vue b/src/client/app/mobile/views/pages/post.vue
index 49a4bfd9dc..49a4bfd9dc 100644
--- a/src/server/web/app/mobile/views/pages/post.vue
+++ b/src/client/app/mobile/views/pages/post.vue
diff --git a/src/server/web/app/mobile/views/pages/profile-setting.vue b/src/client/app/mobile/views/pages/profile-setting.vue
index 15f9bc9b68..15f9bc9b68 100644
--- a/src/server/web/app/mobile/views/pages/profile-setting.vue
+++ b/src/client/app/mobile/views/pages/profile-setting.vue
diff --git a/src/server/web/app/mobile/views/pages/search.vue b/src/client/app/mobile/views/pages/search.vue
index cbab504e3c..cbab504e3c 100644
--- a/src/server/web/app/mobile/views/pages/search.vue
+++ b/src/client/app/mobile/views/pages/search.vue
diff --git a/src/server/web/app/mobile/views/pages/selectdrive.vue b/src/client/app/mobile/views/pages/selectdrive.vue
index 3480a0d103..3480a0d103 100644
--- a/src/server/web/app/mobile/views/pages/selectdrive.vue
+++ b/src/client/app/mobile/views/pages/selectdrive.vue
diff --git a/src/server/web/app/mobile/views/pages/settings.vue b/src/client/app/mobile/views/pages/settings.vue
index a945a21c5c..a945a21c5c 100644
--- a/src/server/web/app/mobile/views/pages/settings.vue
+++ b/src/client/app/mobile/views/pages/settings.vue
diff --git a/src/server/web/app/mobile/views/pages/signup.vue b/src/client/app/mobile/views/pages/signup.vue
index 9dc07a4b86..9dc07a4b86 100644
--- a/src/server/web/app/mobile/views/pages/signup.vue
+++ b/src/client/app/mobile/views/pages/signup.vue
diff --git a/src/server/web/app/mobile/views/pages/user.vue b/src/client/app/mobile/views/pages/user.vue
index 114decb8e4..114decb8e4 100644
--- a/src/server/web/app/mobile/views/pages/user.vue
+++ b/src/client/app/mobile/views/pages/user.vue
diff --git a/src/server/web/app/mobile/views/pages/user/home.followers-you-know.vue b/src/client/app/mobile/views/pages/user/home.followers-you-know.vue
index 8c84d2dbba..8c84d2dbba 100644
--- a/src/server/web/app/mobile/views/pages/user/home.followers-you-know.vue
+++ b/src/client/app/mobile/views/pages/user/home.followers-you-know.vue
diff --git a/src/server/web/app/mobile/views/pages/user/home.friends.vue b/src/client/app/mobile/views/pages/user/home.friends.vue
index 469781abb9..469781abb9 100644
--- a/src/server/web/app/mobile/views/pages/user/home.friends.vue
+++ b/src/client/app/mobile/views/pages/user/home.friends.vue
diff --git a/src/server/web/app/mobile/views/pages/user/home.photos.vue b/src/client/app/mobile/views/pages/user/home.photos.vue
index f703f8a740..f703f8a740 100644
--- a/src/server/web/app/mobile/views/pages/user/home.photos.vue
+++ b/src/client/app/mobile/views/pages/user/home.photos.vue
diff --git a/src/server/web/app/mobile/views/pages/user/home.posts.vue b/src/client/app/mobile/views/pages/user/home.posts.vue
index 654f7f63e0..654f7f63e0 100644
--- a/src/server/web/app/mobile/views/pages/user/home.posts.vue
+++ b/src/client/app/mobile/views/pages/user/home.posts.vue
diff --git a/src/server/web/app/mobile/views/pages/user/home.vue b/src/client/app/mobile/views/pages/user/home.vue
index 1afcd1f5ba..1afcd1f5ba 100644
--- a/src/server/web/app/mobile/views/pages/user/home.vue
+++ b/src/client/app/mobile/views/pages/user/home.vue
diff --git a/src/server/web/app/mobile/views/pages/welcome.vue b/src/client/app/mobile/views/pages/welcome.vue
index 17cdf93065..17cdf93065 100644
--- a/src/server/web/app/mobile/views/pages/welcome.vue
+++ b/src/client/app/mobile/views/pages/welcome.vue
diff --git a/src/server/web/app/mobile/views/widgets/activity.vue b/src/client/app/mobile/views/widgets/activity.vue
index 48dcafb3ed..48dcafb3ed 100644
--- a/src/server/web/app/mobile/views/widgets/activity.vue
+++ b/src/client/app/mobile/views/widgets/activity.vue
diff --git a/src/server/web/app/mobile/views/widgets/index.ts b/src/client/app/mobile/views/widgets/index.ts
index 4de912b64c..4de912b64c 100644
--- a/src/server/web/app/mobile/views/widgets/index.ts
+++ b/src/client/app/mobile/views/widgets/index.ts
diff --git a/src/server/web/app/mobile/views/widgets/profile.vue b/src/client/app/mobile/views/widgets/profile.vue
index f1d283e45a..f1d283e45a 100644
--- a/src/server/web/app/mobile/views/widgets/profile.vue
+++ b/src/client/app/mobile/views/widgets/profile.vue
diff --git a/src/server/web/app/reset.styl b/src/client/app/reset.styl
index 10bd3113a2..10bd3113a2 100644
--- a/src/server/web/app/reset.styl
+++ b/src/client/app/reset.styl
diff --git a/src/server/web/app/safe.js b/src/client/app/safe.js
index 2fd5361725..2fd5361725 100644
--- a/src/server/web/app/safe.js
+++ b/src/client/app/safe.js
diff --git a/src/server/web/app/stats/style.styl b/src/client/app/stats/style.styl
index 5ae230ea56..5ae230ea56 100644
--- a/src/server/web/app/stats/style.styl
+++ b/src/client/app/stats/style.styl
diff --git a/src/server/web/app/stats/tags/index.tag b/src/client/app/stats/tags/index.tag
index 63fdd24044..63fdd24044 100644
--- a/src/server/web/app/stats/tags/index.tag
+++ b/src/client/app/stats/tags/index.tag
diff --git a/src/server/web/app/stats/tags/index.ts b/src/client/app/stats/tags/index.ts
index f41151949f..f41151949f 100644
--- a/src/server/web/app/stats/tags/index.ts
+++ b/src/client/app/stats/tags/index.ts
diff --git a/src/server/web/app/status/style.styl b/src/client/app/status/style.styl
index 5ae230ea56..5ae230ea56 100644
--- a/src/server/web/app/status/style.styl
+++ b/src/client/app/status/style.styl
diff --git a/src/server/web/app/status/tags/index.tag b/src/client/app/status/tags/index.tag
index 899467097a..899467097a 100644
--- a/src/server/web/app/status/tags/index.tag
+++ b/src/client/app/status/tags/index.tag
diff --git a/src/server/web/app/status/tags/index.ts b/src/client/app/status/tags/index.ts
index f41151949f..f41151949f 100644
--- a/src/server/web/app/status/tags/index.ts
+++ b/src/client/app/status/tags/index.ts
diff --git a/src/server/web/app/sw.js b/src/client/app/sw.js
index 669703b16c..669703b16c 100644
--- a/src/server/web/app/sw.js
+++ b/src/client/app/sw.js
diff --git a/src/server/web/app/tsconfig.json b/src/client/app/tsconfig.json
index e31b52dab1..e31b52dab1 100644
--- a/src/server/web/app/tsconfig.json
+++ b/src/client/app/tsconfig.json
diff --git a/src/server/web/app/v.d.ts b/src/client/app/v.d.ts
index 8f3a240d80..8f3a240d80 100644
--- a/src/server/web/app/v.d.ts
+++ b/src/client/app/v.d.ts
diff --git a/src/server/web/assets/404.js b/src/client/assets/404.js
index f897f0db6b..f897f0db6b 100644
--- a/src/server/web/assets/404.js
+++ b/src/client/assets/404.js
diff --git a/src/server/web/assets/code-highlight.css b/src/client/assets/code-highlight.css
index f0807dc9c3..f0807dc9c3 100644
--- a/src/server/web/assets/code-highlight.css
+++ b/src/client/assets/code-highlight.css
diff --git a/src/server/web/assets/error.jpg b/src/client/assets/error.jpg
index 872b1a3f5d..872b1a3f5d 100644
--- a/src/server/web/assets/error.jpg
+++ b/src/client/assets/error.jpg
Binary files differ
diff --git a/src/server/web/assets/favicon.ico b/src/client/assets/favicon.ico
index ed9820d5f4..ed9820d5f4 100644
--- a/src/server/web/assets/favicon.ico
+++ b/src/client/assets/favicon.ico
Binary files differ
diff --git a/src/server/web/assets/label.svg b/src/client/assets/label.svg
index b1f85f3c07..b1f85f3c07 100644
--- a/src/server/web/assets/label.svg
+++ b/src/client/assets/label.svg
diff --git a/src/server/web/assets/manifest.json b/src/client/assets/manifest.json
index 783d0539ac..783d0539ac 100644
--- a/src/server/web/assets/manifest.json
+++ b/src/client/assets/manifest.json
diff --git a/src/server/web/assets/message.mp3 b/src/client/assets/message.mp3
index 6427744475..6427744475 100644
--- a/src/server/web/assets/message.mp3
+++ b/src/client/assets/message.mp3
Binary files differ
diff --git a/src/server/web/assets/othello-put-me.mp3 b/src/client/assets/othello-put-me.mp3
index 4e0e72091c..4e0e72091c 100644
--- a/src/server/web/assets/othello-put-me.mp3
+++ b/src/client/assets/othello-put-me.mp3
Binary files differ
diff --git a/src/server/web/assets/othello-put-you.mp3 b/src/client/assets/othello-put-you.mp3
index 9244189c2d..9244189c2d 100644
--- a/src/server/web/assets/othello-put-you.mp3
+++ b/src/client/assets/othello-put-you.mp3
Binary files differ
diff --git a/src/server/web/assets/post.mp3 b/src/client/assets/post.mp3
index d3da88a933..d3da88a933 100644
--- a/src/server/web/assets/post.mp3
+++ b/src/client/assets/post.mp3
Binary files differ
diff --git a/src/server/web/assets/reactions/angry.png b/src/client/assets/reactions/angry.png
index d81c431a25..d81c431a25 100644
--- a/src/server/web/assets/reactions/angry.png
+++ b/src/client/assets/reactions/angry.png
Binary files differ
diff --git a/src/server/web/assets/reactions/confused.png b/src/client/assets/reactions/confused.png
index cfaa60146f..cfaa60146f 100644
--- a/src/server/web/assets/reactions/confused.png
+++ b/src/client/assets/reactions/confused.png
Binary files differ
diff --git a/src/server/web/assets/reactions/congrats.png b/src/client/assets/reactions/congrats.png
index 350adda322..350adda322 100644
--- a/src/server/web/assets/reactions/congrats.png
+++ b/src/client/assets/reactions/congrats.png
Binary files differ
diff --git a/src/server/web/assets/reactions/hmm.png b/src/client/assets/reactions/hmm.png
index a9a7e9ac88..a9a7e9ac88 100644
--- a/src/server/web/assets/reactions/hmm.png
+++ b/src/client/assets/reactions/hmm.png
Binary files differ
diff --git a/src/server/web/assets/reactions/laugh.png b/src/client/assets/reactions/laugh.png
index cd2225ffe1..cd2225ffe1 100644
--- a/src/server/web/assets/reactions/laugh.png
+++ b/src/client/assets/reactions/laugh.png
Binary files differ
diff --git a/src/server/web/assets/reactions/like.png b/src/client/assets/reactions/like.png
index 9fe67c9109..9fe67c9109 100644
--- a/src/server/web/assets/reactions/like.png
+++ b/src/client/assets/reactions/like.png
Binary files differ
diff --git a/src/server/web/assets/reactions/love.png b/src/client/assets/reactions/love.png
index b8a7532ef0..b8a7532ef0 100644
--- a/src/server/web/assets/reactions/love.png
+++ b/src/client/assets/reactions/love.png
Binary files differ
diff --git a/src/server/web/assets/reactions/pudding.png b/src/client/assets/reactions/pudding.png
index 27a6b048e8..27a6b048e8 100644
--- a/src/server/web/assets/reactions/pudding.png
+++ b/src/client/assets/reactions/pudding.png
Binary files differ
diff --git a/src/server/web/assets/reactions/surprise.png b/src/client/assets/reactions/surprise.png
index 5904cb2c6c..5904cb2c6c 100644
--- a/src/server/web/assets/reactions/surprise.png
+++ b/src/client/assets/reactions/surprise.png
Binary files differ
diff --git a/src/server/web/assets/recover.html b/src/client/assets/recover.html
index 4922b68d35..4922b68d35 100644
--- a/src/server/web/assets/recover.html
+++ b/src/client/assets/recover.html
diff --git a/src/server/web/assets/title.svg b/src/client/assets/title.svg
index 747fcd38b1..747fcd38b1 100644
--- a/src/server/web/assets/title.svg
+++ b/src/client/assets/title.svg
diff --git a/src/server/web/assets/unread.svg b/src/client/assets/unread.svg
index 8c3cc9f475..8c3cc9f475 100644
--- a/src/server/web/assets/unread.svg
+++ b/src/client/assets/unread.svg
diff --git a/src/server/web/assets/welcome-bg.svg b/src/client/assets/welcome-bg.svg
index ba8cd8dc0a..ba8cd8dc0a 100644
--- a/src/server/web/assets/welcome-bg.svg
+++ b/src/client/assets/welcome-bg.svg
diff --git a/src/server/web/assets/welcome-fg.svg b/src/client/assets/welcome-fg.svg
index 5c795c3027..5c795c3027 100644
--- a/src/server/web/assets/welcome-fg.svg
+++ b/src/client/assets/welcome-fg.svg
diff --git a/src/server/web/const.styl b/src/client/const.styl
index f16e077828..b6560701d9 100644
--- a/src/server/web/const.styl
+++ b/src/client/const.styl
@@ -1,4 +1,4 @@
-json('../../const.json')
+json('../const.json')
$theme-color = themeColor
$theme-color-foreground = themeColorForeground
diff --git a/src/server/web/docs/about.en.pug b/src/client/docs/about.en.pug
index 893d9dd6a1..893d9dd6a1 100644
--- a/src/server/web/docs/about.en.pug
+++ b/src/client/docs/about.en.pug
diff --git a/src/server/web/docs/about.ja.pug b/src/client/docs/about.ja.pug
index fec933b0c6..fec933b0c6 100644
--- a/src/server/web/docs/about.ja.pug
+++ b/src/client/docs/about.ja.pug
diff --git a/src/server/web/docs/api.ja.pug b/src/client/docs/api.ja.pug
index 665cfdc4b8..665cfdc4b8 100644
--- a/src/server/web/docs/api.ja.pug
+++ b/src/client/docs/api.ja.pug
diff --git a/src/server/web/docs/api/endpoints/posts/create.yaml b/src/client/docs/api/endpoints/posts/create.yaml
index 11d9f40c54..11d9f40c54 100644
--- a/src/server/web/docs/api/endpoints/posts/create.yaml
+++ b/src/client/docs/api/endpoints/posts/create.yaml
diff --git a/src/server/web/docs/api/endpoints/posts/timeline.yaml b/src/client/docs/api/endpoints/posts/timeline.yaml
index 9c44dd736a..9c44dd736a 100644
--- a/src/server/web/docs/api/endpoints/posts/timeline.yaml
+++ b/src/client/docs/api/endpoints/posts/timeline.yaml
diff --git a/src/server/web/docs/api/endpoints/style.styl b/src/client/docs/api/endpoints/style.styl
index 2af9fe9a77..2af9fe9a77 100644
--- a/src/server/web/docs/api/endpoints/style.styl
+++ b/src/client/docs/api/endpoints/style.styl
diff --git a/src/server/web/docs/api/endpoints/view.pug b/src/client/docs/api/endpoints/view.pug
index d271a5517a..d271a5517a 100644
--- a/src/server/web/docs/api/endpoints/view.pug
+++ b/src/client/docs/api/endpoints/view.pug
diff --git a/src/server/web/docs/api/entities/drive-file.yaml b/src/client/docs/api/entities/drive-file.yaml
index 02ab0d608e..02ab0d608e 100644
--- a/src/server/web/docs/api/entities/drive-file.yaml
+++ b/src/client/docs/api/entities/drive-file.yaml
diff --git a/src/server/web/docs/api/entities/post.yaml b/src/client/docs/api/entities/post.yaml
index 74d7973e38..74d7973e38 100644
--- a/src/server/web/docs/api/entities/post.yaml
+++ b/src/client/docs/api/entities/post.yaml
diff --git a/src/server/web/docs/api/entities/style.styl b/src/client/docs/api/entities/style.styl
index bddf0f53ab..bddf0f53ab 100644
--- a/src/server/web/docs/api/entities/style.styl
+++ b/src/client/docs/api/entities/style.styl
diff --git a/src/server/web/docs/api/entities/user.yaml b/src/client/docs/api/entities/user.yaml
index a1fae1482b..a1fae1482b 100644
--- a/src/server/web/docs/api/entities/user.yaml
+++ b/src/client/docs/api/entities/user.yaml
diff --git a/src/server/web/docs/api/entities/view.pug b/src/client/docs/api/entities/view.pug
index 2156463dc7..2156463dc7 100644
--- a/src/server/web/docs/api/entities/view.pug
+++ b/src/client/docs/api/entities/view.pug
diff --git a/src/server/web/docs/api/gulpfile.ts b/src/client/docs/api/gulpfile.ts
index 37935413de..16066b0d2e 100644
--- a/src/server/web/docs/api/gulpfile.ts
+++ b/src/client/docs/api/gulpfile.ts
@@ -10,10 +10,10 @@ import * as pug from 'pug';
import * as yaml from 'js-yaml';
import * as mkdirp from 'mkdirp';
-import locales from '../../../../../locales';
-import I18nReplacer from '../../../../build/i18n';
-import fa from '../../../../build/fa';
-import config from './../../../../conf';
+import locales from '../../../../locales';
+import I18nReplacer from '../../../build/i18n';
+import fa from '../../../build/fa';
+import config from './../../../conf';
import generateVars from '../vars';
@@ -94,7 +94,7 @@ gulp.task('doc:api', [
gulp.task('doc:api:endpoints', async () => {
const commonVars = await generateVars();
- glob('./src/server/web/docs/api/endpoints/**/*.yaml', (globErr, files) => {
+ glob('./src/client/docs/api/endpoints/**/*.yaml', (globErr, files) => {
if (globErr) {
console.error(globErr);
return;
@@ -115,10 +115,10 @@ gulp.task('doc:api:endpoints', async () => {
resDefs: ep.res ? extractDefs(ep.res) : null,
};
langs.forEach(lang => {
- pug.renderFile('./src/server/web/docs/api/endpoints/view.pug', Object.assign({}, vars, {
+ pug.renderFile('./src/client/docs/api/endpoints/view.pug', Object.assign({}, vars, {
lang,
title: ep.endpoint,
- src: `https://github.com/syuilo/misskey/tree/master/src/server/web/docs/api/endpoints/${ep.endpoint}.yaml`,
+ src: `https://github.com/syuilo/misskey/tree/master/src/client/docs/api/endpoints/${ep.endpoint}.yaml`,
kebab,
common: commonVars
}), (renderErr, html) => {
@@ -129,7 +129,7 @@ gulp.task('doc:api:endpoints', async () => {
const i18n = new I18nReplacer(lang);
html = html.replace(i18n.pattern, i18n.replacement);
html = fa(html);
- const htmlPath = `./built/server/web/docs/${lang}/api/endpoints/${ep.endpoint}.html`;
+ const htmlPath = `./built/client/docs/${lang}/api/endpoints/${ep.endpoint}.html`;
mkdirp(path.dirname(htmlPath), (mkdirErr) => {
if (mkdirErr) {
console.error(mkdirErr);
@@ -145,7 +145,7 @@ gulp.task('doc:api:endpoints', async () => {
gulp.task('doc:api:entities', async () => {
const commonVars = await generateVars();
- glob('./src/server/web/docs/api/entities/**/*.yaml', (globErr, files) => {
+ glob('./src/client/docs/api/entities/**/*.yaml', (globErr, files) => {
if (globErr) {
console.error(globErr);
return;
@@ -159,10 +159,10 @@ gulp.task('doc:api:entities', async () => {
propDefs: extractDefs(entity.props),
};
langs.forEach(lang => {
- pug.renderFile('./src/server/web/docs/api/entities/view.pug', Object.assign({}, vars, {
+ pug.renderFile('./src/client/docs/api/entities/view.pug', Object.assign({}, vars, {
lang,
title: entity.name,
- src: `https://github.com/syuilo/misskey/tree/master/src/server/web/docs/api/entities/${kebab(entity.name)}.yaml`,
+ src: `https://github.com/syuilo/misskey/tree/master/src/client/docs/api/entities/${kebab(entity.name)}.yaml`,
kebab,
common: commonVars
}), (renderErr, html) => {
@@ -173,7 +173,7 @@ gulp.task('doc:api:entities', async () => {
const i18n = new I18nReplacer(lang);
html = html.replace(i18n.pattern, i18n.replacement);
html = fa(html);
- const htmlPath = `./built/server/web/docs/${lang}/api/entities/${kebab(entity.name)}.html`;
+ const htmlPath = `./built/client/docs/${lang}/api/entities/${kebab(entity.name)}.html`;
mkdirp(path.dirname(htmlPath), (mkdirErr) => {
if (mkdirErr) {
console.error(mkdirErr);
diff --git a/src/server/web/docs/api/mixins.pug b/src/client/docs/api/mixins.pug
index 686bf6a2b6..686bf6a2b6 100644
--- a/src/server/web/docs/api/mixins.pug
+++ b/src/client/docs/api/mixins.pug
diff --git a/src/server/web/docs/api/style.styl b/src/client/docs/api/style.styl
index 3675a4da6f..3675a4da6f 100644
--- a/src/server/web/docs/api/style.styl
+++ b/src/client/docs/api/style.styl
diff --git a/src/server/web/docs/gulpfile.ts b/src/client/docs/gulpfile.ts
index 7b36cf6675..56bf6188c8 100644
--- a/src/server/web/docs/gulpfile.ts
+++ b/src/client/docs/gulpfile.ts
@@ -11,8 +11,8 @@ import * as mkdirp from 'mkdirp';
import stylus = require('gulp-stylus');
import cssnano = require('gulp-cssnano');
-import I18nReplacer from '../../../build/i18n';
-import fa from '../../../build/fa';
+import I18nReplacer from '../../build/i18n';
+import fa from '../../build/fa';
import generateVars from './vars';
require('./api/gulpfile.ts');
@@ -26,7 +26,7 @@ gulp.task('doc', [
gulp.task('doc:docs', async () => {
const commonVars = await generateVars();
- glob('./src/server/web/docs/**/*.*.pug', (globErr, files) => {
+ glob('./src/client/docs/**/*.*.pug', (globErr, files) => {
if (globErr) {
console.error(globErr);
return;
@@ -37,7 +37,7 @@ gulp.task('doc:docs', async () => {
common: commonVars,
lang: lang,
title: fs.readFileSync(file, 'utf-8').match(/^h1 (.+?)\r?\n/)[1],
- src: `https://github.com/syuilo/misskey/tree/master/src/server/web/docs/${name}.${lang}.pug`,
+ src: `https://github.com/syuilo/misskey/tree/master/src/client/docs/${name}.${lang}.pug`,
};
pug.renderFile(file, vars, (renderErr, content) => {
if (renderErr) {
@@ -45,7 +45,7 @@ gulp.task('doc:docs', async () => {
return;
}
- pug.renderFile('./src/server/web/docs/layout.pug', Object.assign({}, vars, {
+ pug.renderFile('./src/client/docs/layout.pug', Object.assign({}, vars, {
content
}), (renderErr2, html) => {
if (renderErr2) {
@@ -55,7 +55,7 @@ gulp.task('doc:docs', async () => {
const i18n = new I18nReplacer(lang);
html = html.replace(i18n.pattern, i18n.replacement);
html = fa(html);
- const htmlPath = `./built/server/web/docs/${lang}/${name}.html`;
+ const htmlPath = `./built/client/docs/${lang}/${name}.html`;
mkdirp(path.dirname(htmlPath), (mkdirErr) => {
if (mkdirErr) {
console.error(mkdirErr);
@@ -70,8 +70,8 @@ gulp.task('doc:docs', async () => {
});
gulp.task('doc:styles', () =>
- gulp.src('./src/server/web/docs/**/*.styl')
+ gulp.src('./src/client/docs/**/*.styl')
.pipe(stylus())
.pipe((cssnano as any)())
- .pipe(gulp.dest('./built/server/web/docs/assets/'))
+ .pipe(gulp.dest('./built/client/docs/assets/'))
);
diff --git a/src/server/web/docs/index.en.pug b/src/client/docs/index.en.pug
index 1fcc870d3d..1fcc870d3d 100644
--- a/src/server/web/docs/index.en.pug
+++ b/src/client/docs/index.en.pug
diff --git a/src/server/web/docs/index.ja.pug b/src/client/docs/index.ja.pug
index 4a0bf7fa1d..4a0bf7fa1d 100644
--- a/src/server/web/docs/index.ja.pug
+++ b/src/client/docs/index.ja.pug
diff --git a/src/server/web/docs/layout.pug b/src/client/docs/layout.pug
index 9dfd0ab7af..9dfd0ab7af 100644
--- a/src/server/web/docs/layout.pug
+++ b/src/client/docs/layout.pug
diff --git a/src/server/web/docs/license.en.pug b/src/client/docs/license.en.pug
index 45d8b76473..45d8b76473 100644
--- a/src/server/web/docs/license.en.pug
+++ b/src/client/docs/license.en.pug
diff --git a/src/server/web/docs/license.ja.pug b/src/client/docs/license.ja.pug
index 6eb9ac308e..6eb9ac308e 100644
--- a/src/server/web/docs/license.ja.pug
+++ b/src/client/docs/license.ja.pug
diff --git a/src/server/web/docs/mute.ja.pug b/src/client/docs/mute.ja.pug
index 5e79af5f8c..5e79af5f8c 100644
--- a/src/server/web/docs/mute.ja.pug
+++ b/src/client/docs/mute.ja.pug
diff --git a/src/server/web/docs/search.ja.pug b/src/client/docs/search.ja.pug
index e14e8c867e..e14e8c867e 100644
--- a/src/server/web/docs/search.ja.pug
+++ b/src/client/docs/search.ja.pug
diff --git a/src/server/web/docs/server.ts b/src/client/docs/server.ts
index b2e50457e5..b2e50457e5 100644
--- a/src/server/web/docs/server.ts
+++ b/src/client/docs/server.ts
diff --git a/src/server/web/docs/style.styl b/src/client/docs/style.styl
index bc165f8728..bc165f8728 100644
--- a/src/server/web/docs/style.styl
+++ b/src/client/docs/style.styl
diff --git a/src/server/web/docs/tou.ja.pug b/src/client/docs/tou.ja.pug
index 7663258f82..7663258f82 100644
--- a/src/server/web/docs/tou.ja.pug
+++ b/src/client/docs/tou.ja.pug
diff --git a/src/server/web/docs/ui.styl b/src/client/docs/ui.styl
index 8d5515712f..8d5515712f 100644
--- a/src/server/web/docs/ui.styl
+++ b/src/client/docs/ui.styl
diff --git a/src/server/web/docs/vars.ts b/src/client/docs/vars.ts
index 5096a39c9e..1a3b48bd76 100644
--- a/src/server/web/docs/vars.ts
+++ b/src/client/docs/vars.ts
@@ -5,27 +5,27 @@ import * as yaml from 'js-yaml';
import * as licenseChecker from 'license-checker';
import * as tmp from 'tmp';
-import { fa } from '../../../build/fa';
-import config from '../../../conf';
-import { licenseHtml } from '../../../build/license';
-const constants = require('../../../const.json');
+import { fa } from '../../build/fa';
+import config from '../../conf';
+import { licenseHtml } from '../../build/license';
+const constants = require('../../const.json');
export default async function(): Promise<{ [key: string]: any }> {
const vars = {} as { [key: string]: any };
- const endpoints = glob.sync('./src/server/web/docs/api/endpoints/**/*.yaml');
+ const endpoints = glob.sync('./src/client/docs/api/endpoints/**/*.yaml');
vars['endpoints'] = endpoints.map(ep => {
const _ep = yaml.safeLoad(fs.readFileSync(ep, 'utf-8'));
return _ep.endpoint;
});
- const entities = glob.sync('./src/server/web/docs/api/entities/**/*.yaml');
+ const entities = glob.sync('./src/client/docs/api/entities/**/*.yaml');
vars['entities'] = entities.map(x => {
const _x = yaml.safeLoad(fs.readFileSync(x, 'utf-8'));
return _x.name;
});
- const docs = glob.sync('./src/server/web/docs/**/*.*.pug');
+ const docs = glob.sync('./src/client/docs/**/*.*.pug');
vars['docs'] = {};
docs.forEach(x => {
const [, name, lang] = x.match(/docs\/(.+?)\.(.+?)\.pug$/);
@@ -53,7 +53,7 @@ export default async function(): Promise<{ [key: string]: any }> {
licenseText: ''
}), 'utf-8');
const dependencies = await util.promisify(licenseChecker.init).bind(licenseChecker)({
- start: __dirname + '/../../../../',
+ start: __dirname + '/../../../',
customPath: tmpObj.name
});
tmpObj.removeCallback();
diff --git a/src/server/web/element.scss b/src/client/element.scss
index 7e6d0e7099..917198e024 100644
--- a/src/server/web/element.scss
+++ b/src/client/element.scss
@@ -1,7 +1,7 @@
/* Element variable definitons */
/* SEE: http://element.eleme.io/#/en-US/component/custom-theme */
-@import '../../const.json';
+@import '../const.json';
/* theme color */
$--color-primary: $themeColor;
diff --git a/src/server/web/style.styl b/src/client/style.styl
index 6d1e53e5a6..6d1e53e5a6 100644
--- a/src/server/web/style.styl
+++ b/src/client/style.styl
diff --git a/src/server/common/get-notification-summary.ts b/src/common/get-notification-summary.ts
index 03db722c84..03db722c84 100644
--- a/src/server/common/get-notification-summary.ts
+++ b/src/common/get-notification-summary.ts
diff --git a/src/server/common/get-post-summary.ts b/src/common/get-post-summary.ts
index 8d0033064f..8d0033064f 100644
--- a/src/server/common/get-post-summary.ts
+++ b/src/common/get-post-summary.ts
diff --git a/src/server/common/get-reaction-emoji.ts b/src/common/get-reaction-emoji.ts
index c661205379..c661205379 100644
--- a/src/server/common/get-reaction-emoji.ts
+++ b/src/common/get-reaction-emoji.ts
diff --git a/src/server/common/othello/ai/back.ts b/src/common/othello/ai/back.ts
index 629e57113b..0950adaa9f 100644
--- a/src/server/common/othello/ai/back.ts
+++ b/src/common/othello/ai/back.ts
@@ -8,7 +8,7 @@
import * as request from 'request-promise-native';
import Othello, { Color } from '../core';
-import conf from '../../../../conf';
+import conf from '../../../conf';
let game;
let form;
diff --git a/src/server/common/othello/ai/front.ts b/src/common/othello/ai/front.ts
index fb7a9be131..e5496132f6 100644
--- a/src/server/common/othello/ai/front.ts
+++ b/src/common/othello/ai/front.ts
@@ -10,7 +10,7 @@ import * as childProcess from 'child_process';
const WebSocket = require('ws');
import * as ReconnectingWebSocket from 'reconnecting-websocket';
import * as request from 'request-promise-native';
-import conf from '../../../../conf';
+import conf from '../../../conf';
// 設定 ////////////////////////////////////////////////////////
diff --git a/src/server/common/othello/ai/index.ts b/src/common/othello/ai/index.ts
index 5cd1db82da..5cd1db82da 100644
--- a/src/server/common/othello/ai/index.ts
+++ b/src/common/othello/ai/index.ts
diff --git a/src/server/common/othello/core.ts b/src/common/othello/core.ts
index 217066d375..217066d375 100644
--- a/src/server/common/othello/core.ts
+++ b/src/common/othello/core.ts
diff --git a/src/server/common/othello/maps.ts b/src/common/othello/maps.ts
index 68e5a446f1..68e5a446f1 100644
--- a/src/server/common/othello/maps.ts
+++ b/src/common/othello/maps.ts
diff --git a/src/server/api/common/text/core/syntax-highlighter.ts b/src/common/text/core/syntax-highlighter.ts
index c0396b1fc6..c0396b1fc6 100644
--- a/src/server/api/common/text/core/syntax-highlighter.ts
+++ b/src/common/text/core/syntax-highlighter.ts
diff --git a/src/server/api/common/text/elements/bold.ts b/src/common/text/elements/bold.ts
index ce25764457..ce25764457 100644
--- a/src/server/api/common/text/elements/bold.ts
+++ b/src/common/text/elements/bold.ts
diff --git a/src/server/api/common/text/elements/code.ts b/src/common/text/elements/code.ts
index 4821e95fe2..4821e95fe2 100644
--- a/src/server/api/common/text/elements/code.ts
+++ b/src/common/text/elements/code.ts
diff --git a/src/server/api/common/text/elements/emoji.ts b/src/common/text/elements/emoji.ts
index e24231a223..e24231a223 100644
--- a/src/server/api/common/text/elements/emoji.ts
+++ b/src/common/text/elements/emoji.ts
diff --git a/src/server/api/common/text/elements/hashtag.ts b/src/common/text/elements/hashtag.ts
index ee57b140b8..ee57b140b8 100644
--- a/src/server/api/common/text/elements/hashtag.ts
+++ b/src/common/text/elements/hashtag.ts
diff --git a/src/server/api/common/text/elements/inline-code.ts b/src/common/text/elements/inline-code.ts
index 9f9ef51a2b..9f9ef51a2b 100644
--- a/src/server/api/common/text/elements/inline-code.ts
+++ b/src/common/text/elements/inline-code.ts
diff --git a/src/server/api/common/text/elements/link.ts b/src/common/text/elements/link.ts
index 35563ddc3d..35563ddc3d 100644
--- a/src/server/api/common/text/elements/link.ts
+++ b/src/common/text/elements/link.ts
diff --git a/src/server/api/common/text/elements/mention.ts b/src/common/text/elements/mention.ts
index 2025dfdaad..d05a76649d 100644
--- a/src/server/api/common/text/elements/mention.ts
+++ b/src/common/text/elements/mention.ts
@@ -1,7 +1,7 @@
/**
* Mention
*/
-import parseAcct from '../../../../common/user/parse-acct';
+import parseAcct from '../../../common/user/parse-acct';
module.exports = text => {
const match = text.match(/^(?:@[a-zA-Z0-9\-]+){1,2}/);
diff --git a/src/server/api/common/text/elements/quote.ts b/src/common/text/elements/quote.ts
index cc8cfffdc4..cc8cfffdc4 100644
--- a/src/server/api/common/text/elements/quote.ts
+++ b/src/common/text/elements/quote.ts
diff --git a/src/server/api/common/text/elements/url.ts b/src/common/text/elements/url.ts
index 1003aff9c3..1003aff9c3 100644
--- a/src/server/api/common/text/elements/url.ts
+++ b/src/common/text/elements/url.ts
diff --git a/src/server/api/common/text/index.ts b/src/common/text/index.ts
index 1e2398dc38..1e2398dc38 100644
--- a/src/server/api/common/text/index.ts
+++ b/src/common/text/index.ts
diff --git a/src/server/common/user/get-acct.ts b/src/common/user/get-acct.ts
index 9afb03d88b..9afb03d88b 100644
--- a/src/server/common/user/get-acct.ts
+++ b/src/common/user/get-acct.ts
diff --git a/src/server/common/user/get-summary.ts b/src/common/user/get-summary.ts
index b314a5cefb..47592c86ba 100644
--- a/src/server/common/user/get-summary.ts
+++ b/src/common/user/get-summary.ts
@@ -1,4 +1,4 @@
-import { ILocalAccount, IUser } from '../../api/models/user';
+import { ILocalAccount, IUser } from '../../models/user';
import getAcct from './get-acct';
/**
diff --git a/src/server/common/user/parse-acct.ts b/src/common/user/parse-acct.ts
index ef1f55405d..ef1f55405d 100644
--- a/src/server/common/user/parse-acct.ts
+++ b/src/common/user/parse-acct.ts
diff --git a/src/server/api/models/access-token.ts b/src/models/access-token.ts
index 59bb094269..4451ca140d 100644
--- a/src/server/api/models/access-token.ts
+++ b/src/models/access-token.ts
@@ -1,5 +1,5 @@
import * as mongo from 'mongodb';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const AccessToken = db.get<IAccessTokens>('accessTokens');
AccessToken.createIndex('token');
diff --git a/src/server/api/models/app.ts b/src/models/app.ts
index 3c17c50fdf..3b80a1602f 100644
--- a/src/server/api/models/app.ts
+++ b/src/models/app.ts
@@ -1,8 +1,8 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
import AccessToken from './access-token';
-import db from '../../../db/mongodb';
-import config from '../../../conf';
+import db from '../db/mongodb';
+import config from '../conf';
const App = db.get<IApp>('apps');
App.createIndex('nameId');
diff --git a/src/server/api/models/auth-session.ts b/src/models/auth-session.ts
index 2da40b1ea9..6fe3468a7b 100644
--- a/src/server/api/models/auth-session.ts
+++ b/src/models/auth-session.ts
@@ -1,6 +1,6 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
import { pack as packApp } from './app';
const AuthSession = db.get<IAuthSession>('authSessions');
diff --git a/src/server/api/models/channel-watching.ts b/src/models/channel-watching.ts
index a26b7edb91..44ca06883f 100644
--- a/src/server/api/models/channel-watching.ts
+++ b/src/models/channel-watching.ts
@@ -1,5 +1,5 @@
import * as mongo from 'mongodb';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const ChannelWatching = db.get<IChannelWatching>('channelWatching');
export default ChannelWatching;
diff --git a/src/server/api/models/channel.ts b/src/models/channel.ts
index 9f94c5a8d1..67386ac072 100644
--- a/src/server/api/models/channel.ts
+++ b/src/models/channel.ts
@@ -2,7 +2,7 @@ import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
import { IUser } from './user';
import Watching from './channel-watching';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const Channel = db.get<IChannel>('channels');
export default Channel;
diff --git a/src/server/api/models/drive-file.ts b/src/models/drive-file.ts
index 04c9c54bd4..9e0df58c45 100644
--- a/src/server/api/models/drive-file.ts
+++ b/src/models/drive-file.ts
@@ -1,8 +1,8 @@
import * as mongodb from 'mongodb';
import deepcopy = require('deepcopy');
import { pack as packFolder } from './drive-folder';
-import config from '../../../conf';
-import monkDb, { nativeDbConn } from '../../../db/mongodb';
+import config from '../conf';
+import monkDb, { nativeDbConn } from '../db/mongodb';
const DriveFile = monkDb.get<IDriveFile>('driveFiles.files');
diff --git a/src/server/api/models/drive-folder.ts b/src/models/drive-folder.ts
index 4ecafaa154..ad27b151b1 100644
--- a/src/server/api/models/drive-folder.ts
+++ b/src/models/drive-folder.ts
@@ -1,6 +1,6 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
import DriveFile from './drive-file';
const DriveFolder = db.get<IDriveFolder>('drive_folders');
diff --git a/src/server/api/models/favorite.ts b/src/models/favorite.ts
index 5fb4db95a9..2fa00e99c4 100644
--- a/src/server/api/models/favorite.ts
+++ b/src/models/favorite.ts
@@ -1,5 +1,5 @@
import * as mongo from 'mongodb';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const Favorites = db.get<IFavorite>('favorites');
export default Favorites;
diff --git a/src/server/api/models/following.ts b/src/models/following.ts
index 552e946049..3f8a9be50f 100644
--- a/src/server/api/models/following.ts
+++ b/src/models/following.ts
@@ -1,5 +1,5 @@
import * as mongo from 'mongodb';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const Following = db.get<IFollowing>('following');
export default Following;
diff --git a/src/server/api/models/messaging-history.ts b/src/models/messaging-history.ts
index 44a2adc315..6864e22d2f 100644
--- a/src/server/api/models/messaging-history.ts
+++ b/src/models/messaging-history.ts
@@ -1,5 +1,5 @@
import * as mongo from 'mongodb';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const MessagingHistory = db.get<IMessagingHistory>('messagingHistories');
export default MessagingHistory;
diff --git a/src/server/api/models/messaging-message.ts b/src/models/messaging-message.ts
index d3a418c9a6..8bee657c34 100644
--- a/src/server/api/models/messaging-message.ts
+++ b/src/models/messaging-message.ts
@@ -2,7 +2,7 @@ import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
import { pack as packUser } from './user';
import { pack as packFile } from './drive-file';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
import parse from '../common/text';
const MessagingMessage = db.get<IMessagingMessage>('messagingMessages');
diff --git a/src/server/api/models/meta.ts b/src/models/meta.ts
index cad7f5096e..710bb23382 100644
--- a/src/server/api/models/meta.ts
+++ b/src/models/meta.ts
@@ -1,4 +1,4 @@
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const Meta = db.get<IMeta>('meta');
export default Meta;
diff --git a/src/server/api/models/mute.ts b/src/models/mute.ts
index e5385ade39..8793615967 100644
--- a/src/server/api/models/mute.ts
+++ b/src/models/mute.ts
@@ -1,5 +1,5 @@
import * as mongo from 'mongodb';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const Mute = db.get<IMute>('mute');
export default Mute;
diff --git a/src/server/api/models/notification.ts b/src/models/notification.ts
index 237e2663fc..078c8d5118 100644
--- a/src/server/api/models/notification.ts
+++ b/src/models/notification.ts
@@ -1,6 +1,6 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
import { IUser, pack as packUser } from './user';
import { pack as packPost } from './post';
diff --git a/src/server/api/models/othello-game.ts b/src/models/othello-game.ts
index ebe7388150..297aee3028 100644
--- a/src/server/api/models/othello-game.ts
+++ b/src/models/othello-game.ts
@@ -1,6 +1,6 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
import { IUser, pack as packUser } from './user';
const OthelloGame = db.get<IOthelloGame>('othelloGames');
diff --git a/src/server/api/models/othello-matching.ts b/src/models/othello-matching.ts
index a294bd1ef9..8082c258c8 100644
--- a/src/server/api/models/othello-matching.ts
+++ b/src/models/othello-matching.ts
@@ -1,6 +1,6 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
import { IUser, pack as packUser } from './user';
const Matching = db.get<IMatching>('othelloMatchings');
diff --git a/src/server/api/models/poll-vote.ts b/src/models/poll-vote.ts
index 1cad95e5de..cd18ffd5f8 100644
--- a/src/server/api/models/poll-vote.ts
+++ b/src/models/poll-vote.ts
@@ -1,9 +1,5 @@
-<<<<<<< HEAD:src/server/api/models/poll-vote.ts
-import db from '../../../db/mongodb';
-=======
import * as mongo from 'mongodb';
-import db from '../../db/mongodb';
->>>>>>> refs/remotes/origin/master:src/api/models/poll-vote.ts
+import db from '../db/mongodb';
const PollVote = db.get<IPollVote>('pollVotes');
export default PollVote;
diff --git a/src/server/api/models/post-reaction.ts b/src/models/post-reaction.ts
index f9a3f91c21..3fc33411fb 100644
--- a/src/server/api/models/post-reaction.ts
+++ b/src/models/post-reaction.ts
@@ -1,6 +1,6 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
import Reaction from './post-reaction';
import { pack as packUser } from './user';
diff --git a/src/server/api/models/post-watching.ts b/src/models/post-watching.ts
index abd6322495..b4ddcaafa6 100644
--- a/src/server/api/models/post-watching.ts
+++ b/src/models/post-watching.ts
@@ -1,5 +1,5 @@
import * as mongo from 'mongodb';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const PostWatching = db.get<IPostWatching>('postWatching');
export default PostWatching;
diff --git a/src/server/api/models/post.ts b/src/models/post.ts
index 1bf4e09051..833e599320 100644
--- a/src/server/api/models/post.ts
+++ b/src/models/post.ts
@@ -1,7 +1,7 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
import rap from '@prezzemolo/rap';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
import { IUser, pack as packUser } from './user';
import { pack as packApp } from './app';
import { pack as packChannel } from './channel';
diff --git a/src/server/api/models/signin.ts b/src/models/signin.ts
index bec6359477..7f56e1a283 100644
--- a/src/server/api/models/signin.ts
+++ b/src/models/signin.ts
@@ -1,6 +1,6 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const Signin = db.get<ISignin>('signin');
export default Signin;
diff --git a/src/server/api/models/sw-subscription.ts b/src/models/sw-subscription.ts
index d3bbd75a6d..743d0d2dd9 100644
--- a/src/server/api/models/sw-subscription.ts
+++ b/src/models/sw-subscription.ts
@@ -1,5 +1,5 @@
import * as mongo from 'mongodb';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
const SwSubscription = db.get<ISwSubscription>('swSubscriptions');
export default SwSubscription;
diff --git a/src/server/api/models/user.ts b/src/models/user.ts
index 419ad53970..4f2872800f 100644
--- a/src/server/api/models/user.ts
+++ b/src/models/user.ts
@@ -1,12 +1,12 @@
import * as mongo from 'mongodb';
import deepcopy = require('deepcopy');
import rap from '@prezzemolo/rap';
-import db from '../../../db/mongodb';
+import db from '../db/mongodb';
import { IPost, pack as packPost } from './post';
import Following from './following';
import Mute from './mute';
-import getFriends from '../common/get-friends';
-import config from '../../../conf';
+import getFriends from '../server/api/common/get-friends';
+import config from '../conf';
const User = db.get<IUser>('users');
diff --git a/src/processor/report-github-failure.ts b/src/processor/report-github-failure.ts
index f42071142e..610ffe2767 100644
--- a/src/processor/report-github-failure.ts
+++ b/src/processor/report-github-failure.ts
@@ -1,5 +1,5 @@
import * as request from 'request';
-import User from '../server/api/models/user';
+import User from '../models/user';
const createPost = require('../server/api/endpoints/posts/create');
export default ({ data }, done) => {
diff --git a/src/server/api/authenticate.ts b/src/server/api/authenticate.ts
index 7b3983a838..8566744831 100644
--- a/src/server/api/authenticate.ts
+++ b/src/server/api/authenticate.ts
@@ -1,7 +1,7 @@
import * as express from 'express';
-import App from './models/app';
-import { default as User, IUser } from './models/user';
-import AccessToken from './models/access-token';
+import App from '../../models/app';
+import { default as User, IUser } from '../../models/user';
+import AccessToken from '../../models/access-token';
import isNativeToken from './common/is-native-token';
export interface IAuthContext {
diff --git a/src/server/api/bot/core.ts b/src/server/api/bot/core.ts
index ec7c935f9e..f84f1f5dca 100644
--- a/src/server/api/bot/core.ts
+++ b/src/server/api/bot/core.ts
@@ -1,12 +1,12 @@
import * as EventEmitter from 'events';
import * as bcrypt from 'bcryptjs';
-import User, { ILocalAccount, IUser, init as initUser } from '../models/user';
+import User, { ILocalAccount, IUser, init as initUser } from '../../../models/user';
-import getPostSummary from '../../common/get-post-summary';
-import getUserSummary from '../../common/user/get-summary';
-import parseAcct from '../../common/user/parse-acct';
-import getNotificationSummary from '../../common/get-notification-summary';
+import getPostSummary from '../../../common/get-post-summary';
+import getUserSummary from '../../../common/user/get-summary';
+import parseAcct from '../../../common/user/parse-acct';
+import getNotificationSummary from '../../../common/get-notification-summary';
const hmm = [
'?',
diff --git a/src/server/api/bot/interfaces/line.ts b/src/server/api/bot/interfaces/line.ts
index 1340ac9923..58fbb217bc 100644
--- a/src/server/api/bot/interfaces/line.ts
+++ b/src/server/api/bot/interfaces/line.ts
@@ -2,14 +2,14 @@ import * as EventEmitter from 'events';
import * as express from 'express';
import * as request from 'request';
import * as crypto from 'crypto';
-import User from '../../models/user';
+import User from '../../../../models/user';
import config from '../../../../conf';
import BotCore from '../core';
import _redis from '../../../../db/redis';
import prominence = require('prominence');
-import getAcct from '../../../common/user/get-acct';
-import parseAcct from '../../../common/user/parse-acct';
-import getPostSummary from '../../../common/get-post-summary';
+import getAcct from '../../../../common/user/get-acct';
+import parseAcct from '../../../../common/user/parse-acct';
+import getPostSummary from '../../../../common/get-post-summary';
const redis = prominence(_redis);
diff --git a/src/server/api/common/drive/add-file.ts b/src/server/api/common/drive/add-file.ts
index 21ddd1aae3..4551f55748 100644
--- a/src/server/api/common/drive/add-file.ts
+++ b/src/server/api/common/drive/add-file.ts
@@ -10,11 +10,11 @@ import * as debug from 'debug';
import fileType = require('file-type');
import prominence = require('prominence');
-import DriveFile, { getGridFSBucket } from '../../models/drive-file';
-import DriveFolder from '../../models/drive-folder';
-import { pack } from '../../models/drive-file';
+import DriveFile, { getGridFSBucket } from '../../../../models/drive-file';
+import DriveFolder from '../../../../models/drive-folder';
+import { pack } from '../../../../models/drive-file';
import event, { publishDriveStream } from '../../event';
-import getAcct from '../../../common/user/get-acct';
+import getAcct from '../../../../common/user/get-acct';
import config from '../../../../conf';
const gm = _gm.subClass({
diff --git a/src/server/api/common/drive/upload_from_url.ts b/src/server/api/common/drive/upload_from_url.ts
index 5dd9695936..b825e4c531 100644
--- a/src/server/api/common/drive/upload_from_url.ts
+++ b/src/server/api/common/drive/upload_from_url.ts
@@ -1,5 +1,5 @@
import * as URL from 'url';
-import { IDriveFile, validateFileName } from '../../models/drive-file';
+import { IDriveFile, validateFileName } from '../../../../models/drive-file';
import create from './add-file';
import * as debug from 'debug';
import * as tmp from 'tmp';
diff --git a/src/server/api/common/get-friends.ts b/src/server/api/common/get-friends.ts
index 7f548b3bbf..e0942e0292 100644
--- a/src/server/api/common/get-friends.ts
+++ b/src/server/api/common/get-friends.ts
@@ -1,5 +1,5 @@
import * as mongodb from 'mongodb';
-import Following from '../models/following';
+import Following from '../../../models/following';
export default async (me: mongodb.ObjectID, includeMe: boolean = true) => {
// Fetch relation to other users who the I follows
diff --git a/src/server/api/common/notify.ts b/src/server/api/common/notify.ts
index c4df17f880..f90506cf3c 100644
--- a/src/server/api/common/notify.ts
+++ b/src/server/api/common/notify.ts
@@ -1,8 +1,8 @@
import * as mongo from 'mongodb';
-import Notification from '../models/notification';
-import Mute from '../models/mute';
+import Notification from '../../../models/notification';
+import Mute from '../../../models/mute';
import event from '../event';
-import { pack } from '../models/notification';
+import { pack } from '../../../models/notification';
export default (
notifiee: mongo.ObjectID,
diff --git a/src/server/api/common/push-sw.ts b/src/server/api/common/push-sw.ts
index e5fbec10ec..13227af8d5 100644
--- a/src/server/api/common/push-sw.ts
+++ b/src/server/api/common/push-sw.ts
@@ -1,6 +1,6 @@
const push = require('web-push');
import * as mongo from 'mongodb';
-import Subscription from '../models/sw-subscription';
+import Subscription from '../../../models/sw-subscription';
import config from '../../../conf';
if (config.sw) {
diff --git a/src/server/api/common/read-messaging-message.ts b/src/server/api/common/read-messaging-message.ts
index 9047edec8c..f728130bb3 100644
--- a/src/server/api/common/read-messaging-message.ts
+++ b/src/server/api/common/read-messaging-message.ts
@@ -1,6 +1,6 @@
import * as mongo from 'mongodb';
-import Message from '../models/messaging-message';
-import { IMessagingMessage as IMessage } from '../models/messaging-message';
+import Message from '../../../models/messaging-message';
+import { IMessagingMessage as IMessage } from '../../../models/messaging-message';
import publishUserStream from '../event';
import { publishMessagingStream } from '../event';
import { publishMessagingIndexStream } from '../event';
diff --git a/src/server/api/common/read-notification.ts b/src/server/api/common/read-notification.ts
index 5bbf136323..27632c7ecd 100644
--- a/src/server/api/common/read-notification.ts
+++ b/src/server/api/common/read-notification.ts
@@ -1,5 +1,5 @@
import * as mongo from 'mongodb';
-import { default as Notification, INotification } from '../models/notification';
+import { default as Notification, INotification } from '../../../models/notification';
import publishUserStream from '../event';
/**
diff --git a/src/server/api/common/watch-post.ts b/src/server/api/common/watch-post.ts
index 61ea444430..83c9b94f3e 100644
--- a/src/server/api/common/watch-post.ts
+++ b/src/server/api/common/watch-post.ts
@@ -1,5 +1,5 @@
import * as mongodb from 'mongodb';
-import Watching from '../models/post-watching';
+import Watching from '../../../models/post-watching';
export default async (me: mongodb.ObjectID, post: object) => {
// 自分の投稿はwatchできない
diff --git a/src/server/api/endpoints/aggregation/posts.ts b/src/server/api/endpoints/aggregation/posts.ts
index 67d2619640..f4d401eda0 100644
--- a/src/server/api/endpoints/aggregation/posts.ts
+++ b/src/server/api/endpoints/aggregation/posts.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post from '../../models/post';
+import Post from '../../../../models/post';
/**
* Aggregate posts
diff --git a/src/server/api/endpoints/aggregation/posts/reaction.ts b/src/server/api/endpoints/aggregation/posts/reaction.ts
index 9f9a4f37ee..e622745337 100644
--- a/src/server/api/endpoints/aggregation/posts/reaction.ts
+++ b/src/server/api/endpoints/aggregation/posts/reaction.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post from '../../../models/post';
-import Reaction from '../../../models/post-reaction';
+import Post from '../../../../../models/post';
+import Reaction from '../../../../../models/post-reaction';
/**
* Aggregate reaction of a post
diff --git a/src/server/api/endpoints/aggregation/posts/reactions.ts b/src/server/api/endpoints/aggregation/posts/reactions.ts
index 2dc989281c..5f23e296fd 100644
--- a/src/server/api/endpoints/aggregation/posts/reactions.ts
+++ b/src/server/api/endpoints/aggregation/posts/reactions.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post from '../../../models/post';
-import Reaction from '../../../models/post-reaction';
+import Post from '../../../../../models/post';
+import Reaction from '../../../../../models/post-reaction';
/**
* Aggregate reactions of a post
diff --git a/src/server/api/endpoints/aggregation/posts/reply.ts b/src/server/api/endpoints/aggregation/posts/reply.ts
index 3b050582a9..c76191e86b 100644
--- a/src/server/api/endpoints/aggregation/posts/reply.ts
+++ b/src/server/api/endpoints/aggregation/posts/reply.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post from '../../../models/post';
+import Post from '../../../../../models/post';
/**
* Aggregate reply of a post
diff --git a/src/server/api/endpoints/aggregation/posts/repost.ts b/src/server/api/endpoints/aggregation/posts/repost.ts
index d9f3e36a07..a203605ebf 100644
--- a/src/server/api/endpoints/aggregation/posts/repost.ts
+++ b/src/server/api/endpoints/aggregation/posts/repost.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post from '../../../models/post';
+import Post from '../../../../../models/post';
/**
* Aggregate repost of a post
diff --git a/src/server/api/endpoints/aggregation/users.ts b/src/server/api/endpoints/aggregation/users.ts
index a4e91a2282..19776ed297 100644
--- a/src/server/api/endpoints/aggregation/users.ts
+++ b/src/server/api/endpoints/aggregation/users.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../models/user';
+import User from '../../../../models/user';
/**
* Aggregate users
diff --git a/src/server/api/endpoints/aggregation/users/activity.ts b/src/server/api/endpoints/aggregation/users/activity.ts
index d477616578..cef0072296 100644
--- a/src/server/api/endpoints/aggregation/users/activity.ts
+++ b/src/server/api/endpoints/aggregation/users/activity.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../../models/user';
-import Post from '../../../models/post';
+import User from '../../../../../models/user';
+import Post from '../../../../../models/post';
// TODO: likeやfollowも集計
diff --git a/src/server/api/endpoints/aggregation/users/followers.ts b/src/server/api/endpoints/aggregation/users/followers.ts
index 73a30281b3..dda34ed7be 100644
--- a/src/server/api/endpoints/aggregation/users/followers.ts
+++ b/src/server/api/endpoints/aggregation/users/followers.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../../models/user';
-import Following from '../../../models/following';
+import User from '../../../../../models/user';
+import Following from '../../../../../models/following';
/**
* Aggregate followers of a user
@@ -39,11 +39,12 @@ module.exports = (params) => new Promise(async (res, rej) => {
{ deletedAt: { $gt: startTime } }
]
}, {
- _id: false,
- followerId: false,
- followeeId: false
- }, {
- sort: { createdAt: -1 }
+ sort: { createdAt: -1 },
+ fields: {
+ _id: false,
+ followerId: false,
+ followeeId: false
+ }
});
const graph = [];
diff --git a/src/server/api/endpoints/aggregation/users/following.ts b/src/server/api/endpoints/aggregation/users/following.ts
index 16fc568d59..cd08d89e49 100644
--- a/src/server/api/endpoints/aggregation/users/following.ts
+++ b/src/server/api/endpoints/aggregation/users/following.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../../models/user';
-import Following from '../../../models/following';
+import User from '../../../../../models/user';
+import Following from '../../../../../models/following';
/**
* Aggregate following of a user
@@ -39,11 +39,12 @@ module.exports = (params) => new Promise(async (res, rej) => {
{ deletedAt: { $gt: startTime } }
]
}, {
- _id: false,
- followerId: false,
- followeeId: false
- }, {
- sort: { createdAt: -1 }
+ sort: { createdAt: -1 },
+ fields: {
+ _id: false,
+ followerId: false,
+ followeeId: false
+ }
});
const graph = [];
diff --git a/src/server/api/endpoints/aggregation/users/post.ts b/src/server/api/endpoints/aggregation/users/post.ts
index c988748593..13617cf639 100644
--- a/src/server/api/endpoints/aggregation/users/post.ts
+++ b/src/server/api/endpoints/aggregation/users/post.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../../models/user';
-import Post from '../../../models/post';
+import User from '../../../../../models/user';
+import Post from '../../../../../models/post';
/**
* Aggregate post of a user
diff --git a/src/server/api/endpoints/aggregation/users/reaction.ts b/src/server/api/endpoints/aggregation/users/reaction.ts
index 60b33e9d1c..0c42ba3360 100644
--- a/src/server/api/endpoints/aggregation/users/reaction.ts
+++ b/src/server/api/endpoints/aggregation/users/reaction.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../../models/user';
-import Reaction from '../../../models/post-reaction';
+import User from '../../../../../models/user';
+import Reaction from '../../../../../models/post-reaction';
/**
* Aggregate reaction of a user
diff --git a/src/server/api/endpoints/app/create.ts b/src/server/api/endpoints/app/create.ts
index 713078463d..f2033d33f6 100644
--- a/src/server/api/endpoints/app/create.ts
+++ b/src/server/api/endpoints/app/create.ts
@@ -3,7 +3,7 @@
*/
import rndstr from 'rndstr';
import $ from 'cafy';
-import App, { isValidNameId, pack } from '../../models/app';
+import App, { isValidNameId, pack } from '../../../../models/app';
/**
* @swagger
diff --git a/src/server/api/endpoints/app/name_id/available.ts b/src/server/api/endpoints/app/name_id/available.ts
index 6d02b26d2b..93b33cfa20 100644
--- a/src/server/api/endpoints/app/name_id/available.ts
+++ b/src/server/api/endpoints/app/name_id/available.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import App from '../../../models/app';
-import { isValidNameId } from '../../../models/app';
+import App from '../../../../../models/app';
+import { isValidNameId } from '../../../../../models/app';
/**
* @swagger
diff --git a/src/server/api/endpoints/app/show.ts b/src/server/api/endpoints/app/show.ts
index 34bb958eee..7c8d2881d5 100644
--- a/src/server/api/endpoints/app/show.ts
+++ b/src/server/api/endpoints/app/show.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import App, { pack } from '../../models/app';
+import App, { pack } from '../../../../models/app';
/**
* @swagger
diff --git a/src/server/api/endpoints/auth/accept.ts b/src/server/api/endpoints/auth/accept.ts
index 5a1925144d..aeabac2db8 100644
--- a/src/server/api/endpoints/auth/accept.ts
+++ b/src/server/api/endpoints/auth/accept.ts
@@ -4,9 +4,9 @@
import rndstr from 'rndstr';
const crypto = require('crypto');
import $ from 'cafy';
-import App from '../../models/app';
-import AuthSess from '../../models/auth-session';
-import AccessToken from '../../models/access-token';
+import App from '../../../../models/app';
+import AuthSess from '../../../../models/auth-session';
+import AccessToken from '../../../../models/access-token';
/**
* @swagger
diff --git a/src/server/api/endpoints/auth/session/generate.ts b/src/server/api/endpoints/auth/session/generate.ts
index 180ad83ccd..ad03e538ce 100644
--- a/src/server/api/endpoints/auth/session/generate.ts
+++ b/src/server/api/endpoints/auth/session/generate.ts
@@ -3,8 +3,8 @@
*/
import * as uuid from 'uuid';
import $ from 'cafy';
-import App from '../../../models/app';
-import AuthSess from '../../../models/auth-session';
+import App from '../../../../../models/app';
+import AuthSess from '../../../../../models/auth-session';
import config from '../../../../../conf';
/**
diff --git a/src/server/api/endpoints/auth/session/show.ts b/src/server/api/endpoints/auth/session/show.ts
index 869b714e71..f473d73973 100644
--- a/src/server/api/endpoints/auth/session/show.ts
+++ b/src/server/api/endpoints/auth/session/show.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import AuthSess, { pack } from '../../../models/auth-session';
+import AuthSess, { pack } from '../../../../../models/auth-session';
/**
* @swagger
diff --git a/src/server/api/endpoints/auth/session/userkey.ts b/src/server/api/endpoints/auth/session/userkey.ts
index 5d9983af67..7dbb5ea6e8 100644
--- a/src/server/api/endpoints/auth/session/userkey.ts
+++ b/src/server/api/endpoints/auth/session/userkey.ts
@@ -2,10 +2,10 @@
* Module dependencies
*/
import $ from 'cafy';
-import App from '../../../models/app';
-import AuthSess from '../../../models/auth-session';
-import AccessToken from '../../../models/access-token';
-import { pack } from '../../../models/user';
+import App from '../../../../../models/app';
+import AuthSess from '../../../../../models/auth-session';
+import AccessToken from '../../../../../models/access-token';
+import { pack } from '../../../../../models/user';
/**
* @swagger
diff --git a/src/server/api/endpoints/channels.ts b/src/server/api/endpoints/channels.ts
index a4acc06605..582e6ba43b 100644
--- a/src/server/api/endpoints/channels.ts
+++ b/src/server/api/endpoints/channels.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Channel, { pack } from '../models/channel';
+import Channel, { pack } from '../../../models/channel';
/**
* Get all channels
diff --git a/src/server/api/endpoints/channels/create.ts b/src/server/api/endpoints/channels/create.ts
index 1dc453c4a5..0f0f558c8a 100644
--- a/src/server/api/endpoints/channels/create.ts
+++ b/src/server/api/endpoints/channels/create.ts
@@ -2,9 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
-import Channel from '../../models/channel';
-import Watching from '../../models/channel-watching';
-import { pack } from '../../models/channel';
+import Channel from '../../../../models/channel';
+import Watching from '../../../../models/channel-watching';
+import { pack } from '../../../../models/channel';
/**
* Create a channel
diff --git a/src/server/api/endpoints/channels/posts.ts b/src/server/api/endpoints/channels/posts.ts
index 348dbb108b..e48f96da7e 100644
--- a/src/server/api/endpoints/channels/posts.ts
+++ b/src/server/api/endpoints/channels/posts.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import { default as Channel, IChannel } from '../../models/channel';
-import Post, { pack } from '../../models/post';
+import { default as Channel, IChannel } from '../../../../models/channel';
+import Post, { pack } from '../../../../models/post';
/**
* Show a posts of a channel
diff --git a/src/server/api/endpoints/channels/show.ts b/src/server/api/endpoints/channels/show.ts
index 5874ed18a6..3ce9ce4745 100644
--- a/src/server/api/endpoints/channels/show.ts
+++ b/src/server/api/endpoints/channels/show.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Channel, { IChannel, pack } from '../../models/channel';
+import Channel, { IChannel, pack } from '../../../../models/channel';
/**
* Show a channel
diff --git a/src/server/api/endpoints/channels/unwatch.ts b/src/server/api/endpoints/channels/unwatch.ts
index 709313bc6e..8220b90b68 100644
--- a/src/server/api/endpoints/channels/unwatch.ts
+++ b/src/server/api/endpoints/channels/unwatch.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Channel from '../../models/channel';
-import Watching from '../../models/channel-watching';
+import Channel from '../../../../models/channel';
+import Watching from '../../../../models/channel-watching';
/**
* Unwatch a channel
diff --git a/src/server/api/endpoints/channels/watch.ts b/src/server/api/endpoints/channels/watch.ts
index df9e70d5c2..6906282a54 100644
--- a/src/server/api/endpoints/channels/watch.ts
+++ b/src/server/api/endpoints/channels/watch.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Channel from '../../models/channel';
-import Watching from '../../models/channel-watching';
+import Channel from '../../../../models/channel';
+import Watching from '../../../../models/channel-watching';
/**
* Watch a channel
diff --git a/src/server/api/endpoints/drive.ts b/src/server/api/endpoints/drive.ts
index eb21853916..d77ab2bbb0 100644
--- a/src/server/api/endpoints/drive.ts
+++ b/src/server/api/endpoints/drive.ts
@@ -1,7 +1,7 @@
/**
* Module dependencies
*/
-import DriveFile from '../models/drive-file';
+import DriveFile from '../../../models/drive-file';
/**
* Get drive information
diff --git a/src/server/api/endpoints/drive/files.ts b/src/server/api/endpoints/drive/files.ts
index f982ef62e0..63d69d145a 100644
--- a/src/server/api/endpoints/drive/files.ts
+++ b/src/server/api/endpoints/drive/files.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFile, { pack } from '../../models/drive-file';
+import DriveFile, { pack } from '../../../../models/drive-file';
/**
* Get drive files
diff --git a/src/server/api/endpoints/drive/files/create.ts b/src/server/api/endpoints/drive/files/create.ts
index 2cd89a8fac..53c8c70676 100644
--- a/src/server/api/endpoints/drive/files/create.ts
+++ b/src/server/api/endpoints/drive/files/create.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import { validateFileName, pack } from '../../../models/drive-file';
+import { validateFileName, pack } from '../../../../../models/drive-file';
import create from '../../../common/drive/add-file';
/**
diff --git a/src/server/api/endpoints/drive/files/find.ts b/src/server/api/endpoints/drive/files/find.ts
index 47ce891305..0ab6e5d3e3 100644
--- a/src/server/api/endpoints/drive/files/find.ts
+++ b/src/server/api/endpoints/drive/files/find.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFile, { pack } from '../../../models/drive-file';
+import DriveFile, { pack } from '../../../../../models/drive-file';
/**
* Find a file(s)
diff --git a/src/server/api/endpoints/drive/files/show.ts b/src/server/api/endpoints/drive/files/show.ts
index 63920db7fc..3398f24541 100644
--- a/src/server/api/endpoints/drive/files/show.ts
+++ b/src/server/api/endpoints/drive/files/show.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFile, { pack } from '../../../models/drive-file';
+import DriveFile, { pack } from '../../../../../models/drive-file';
/**
* Show a file
diff --git a/src/server/api/endpoints/drive/files/update.ts b/src/server/api/endpoints/drive/files/update.ts
index bfad45b0a2..836b4cfcd3 100644
--- a/src/server/api/endpoints/drive/files/update.ts
+++ b/src/server/api/endpoints/drive/files/update.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFolder from '../../../models/drive-folder';
-import DriveFile, { validateFileName, pack } from '../../../models/drive-file';
+import DriveFolder from '../../../../../models/drive-folder';
+import DriveFile, { validateFileName, pack } from '../../../../../models/drive-file';
import { publishDriveStream } from '../../../event';
/**
diff --git a/src/server/api/endpoints/drive/files/upload_from_url.ts b/src/server/api/endpoints/drive/files/upload_from_url.ts
index 1a4ce0bf08..7262f09bbc 100644
--- a/src/server/api/endpoints/drive/files/upload_from_url.ts
+++ b/src/server/api/endpoints/drive/files/upload_from_url.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import { pack } from '../../../models/drive-file';
+import { pack } from '../../../../../models/drive-file';
import uploadFromUrl from '../../../common/drive/upload_from_url';
/**
diff --git a/src/server/api/endpoints/drive/folders.ts b/src/server/api/endpoints/drive/folders.ts
index c314837f72..489e47912e 100644
--- a/src/server/api/endpoints/drive/folders.ts
+++ b/src/server/api/endpoints/drive/folders.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFolder, { pack } from '../../models/drive-folder';
+import DriveFolder, { pack } from '../../../../models/drive-folder';
/**
* Get drive folders
diff --git a/src/server/api/endpoints/drive/folders/create.ts b/src/server/api/endpoints/drive/folders/create.ts
index 564558606d..24e0359307 100644
--- a/src/server/api/endpoints/drive/folders/create.ts
+++ b/src/server/api/endpoints/drive/folders/create.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFolder, { isValidFolderName, pack } from '../../../models/drive-folder';
+import DriveFolder, { isValidFolderName, pack } from '../../../../../models/drive-folder';
import { publishDriveStream } from '../../../event';
/**
diff --git a/src/server/api/endpoints/drive/folders/find.ts b/src/server/api/endpoints/drive/folders/find.ts
index f46aaedd32..04dc38f87f 100644
--- a/src/server/api/endpoints/drive/folders/find.ts
+++ b/src/server/api/endpoints/drive/folders/find.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFolder, { pack } from '../../../models/drive-folder';
+import DriveFolder, { pack } from '../../../../../models/drive-folder';
/**
* Find a folder(s)
diff --git a/src/server/api/endpoints/drive/folders/show.ts b/src/server/api/endpoints/drive/folders/show.ts
index a6d7e86df1..b432f5a50a 100644
--- a/src/server/api/endpoints/drive/folders/show.ts
+++ b/src/server/api/endpoints/drive/folders/show.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFolder, { pack } from '../../../models/drive-folder';
+import DriveFolder, { pack } from '../../../../../models/drive-folder';
/**
* Show a folder
diff --git a/src/server/api/endpoints/drive/folders/update.ts b/src/server/api/endpoints/drive/folders/update.ts
index fcfd241241..6c5a5c3761 100644
--- a/src/server/api/endpoints/drive/folders/update.ts
+++ b/src/server/api/endpoints/drive/folders/update.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFolder, { isValidFolderName, pack } from '../../../models/drive-folder';
+import DriveFolder, { isValidFolderName, pack } from '../../../../../models/drive-folder';
import { publishDriveStream } from '../../../event';
/**
diff --git a/src/server/api/endpoints/drive/stream.ts b/src/server/api/endpoints/drive/stream.ts
index 71db38f3b3..02313aa37b 100644
--- a/src/server/api/endpoints/drive/stream.ts
+++ b/src/server/api/endpoints/drive/stream.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import DriveFile, { pack } from '../../models/drive-file';
+import DriveFile, { pack } from '../../../../models/drive-file';
/**
* Get drive stream
diff --git a/src/server/api/endpoints/following/create.ts b/src/server/api/endpoints/following/create.ts
index 983d8040f9..1e24388a7a 100644
--- a/src/server/api/endpoints/following/create.ts
+++ b/src/server/api/endpoints/following/create.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User, { pack as packUser } from '../../models/user';
-import Following from '../../models/following';
+import User, { pack as packUser } from '../../../../models/user';
+import Following from '../../../../models/following';
import notify from '../../common/notify';
import event from '../../event';
diff --git a/src/server/api/endpoints/following/delete.ts b/src/server/api/endpoints/following/delete.ts
index 25eba8b262..7fc5f477f7 100644
--- a/src/server/api/endpoints/following/delete.ts
+++ b/src/server/api/endpoints/following/delete.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User, { pack as packUser } from '../../models/user';
-import Following from '../../models/following';
+import User, { pack as packUser } from '../../../../models/user';
+import Following from '../../../../models/following';
import event from '../../event';
/**
diff --git a/src/server/api/endpoints/i.ts b/src/server/api/endpoints/i.ts
index f5e92b4ded..44de71d162 100644
--- a/src/server/api/endpoints/i.ts
+++ b/src/server/api/endpoints/i.ts
@@ -1,7 +1,7 @@
/**
* Module dependencies
*/
-import User, { pack } from '../models/user';
+import User, { pack } from '../../../models/user';
/**
* Show myself
diff --git a/src/server/api/endpoints/i/2fa/done.ts b/src/server/api/endpoints/i/2fa/done.ts
index d61ebbe6f9..0b2e32c13f 100644
--- a/src/server/api/endpoints/i/2fa/done.ts
+++ b/src/server/api/endpoints/i/2fa/done.ts
@@ -3,7 +3,7 @@
*/
import $ from 'cafy';
import * as speakeasy from 'speakeasy';
-import User from '../../../models/user';
+import User from '../../../../../models/user';
module.exports = async (params, user) => new Promise(async (res, rej) => {
// Get 'token' parameter
diff --git a/src/server/api/endpoints/i/2fa/register.ts b/src/server/api/endpoints/i/2fa/register.ts
index 0b49ad8821..d2683fb617 100644
--- a/src/server/api/endpoints/i/2fa/register.ts
+++ b/src/server/api/endpoints/i/2fa/register.ts
@@ -5,7 +5,7 @@ import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import * as speakeasy from 'speakeasy';
import * as QRCode from 'qrcode';
-import User from '../../../models/user';
+import User from '../../../../../models/user';
import config from '../../../../../conf';
module.exports = async (params, user) => new Promise(async (res, rej) => {
diff --git a/src/server/api/endpoints/i/2fa/unregister.ts b/src/server/api/endpoints/i/2fa/unregister.ts
index 0221ecb96d..ff2a435fee 100644
--- a/src/server/api/endpoints/i/2fa/unregister.ts
+++ b/src/server/api/endpoints/i/2fa/unregister.ts
@@ -3,7 +3,7 @@
*/
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
-import User from '../../../models/user';
+import User from '../../../../../models/user';
module.exports = async (params, user) => new Promise(async (res, rej) => {
// Get 'password' parameter
diff --git a/src/server/api/endpoints/i/appdata/get.ts b/src/server/api/endpoints/i/appdata/get.ts
deleted file mode 100644
index 0b34643f75..0000000000
--- a/src/server/api/endpoints/i/appdata/get.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Module dependencies
- */
-import $ from 'cafy';
-import Appdata from '../../../models/appdata';
-
-/**
- * Get app data
- *
- * @param {any} params
- * @param {any} user
- * @param {any} app
- * @param {Boolean} isSecure
- * @return {Promise<any>}
- */
-module.exports = (params, user, app) => new Promise(async (res, rej) => {
- if (app == null) return rej('このAPIはサードパーティAppからのみ利用できます');
-
- // Get 'key' parameter
- const [key = null, keyError] = $(params.key).optional.nullable.string().match(/[a-z_]+/).$;
- if (keyError) return rej('invalid key param');
-
- const select = {};
- if (key !== null) {
- select[`data.${key}`] = true;
- }
- const appdata = await Appdata.findOne({
- appId: app._id,
- userId: user._id
- }, {
- fields: select
- });
-
- if (appdata) {
- res(appdata.data);
- } else {
- res();
- }
-});
diff --git a/src/server/api/endpoints/i/appdata/set.ts b/src/server/api/endpoints/i/appdata/set.ts
deleted file mode 100644
index 1e3232ce3d..0000000000
--- a/src/server/api/endpoints/i/appdata/set.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Module dependencies
- */
-import $ from 'cafy';
-import Appdata from '../../../models/appdata';
-
-/**
- * Set app data
- *
- * @param {any} params
- * @param {any} user
- * @param {any} app
- * @param {Boolean} isSecure
- * @return {Promise<any>}
- */
-module.exports = (params, user, app) => new Promise(async (res, rej) => {
- if (app == null) return rej('このAPIはサードパーティAppからのみ利用できます');
-
- // Get 'data' parameter
- const [data, dataError] = $(params.data).optional.object()
- .pipe(obj => {
- const hasInvalidData = Object.entries(obj).some(([k, v]) =>
- $(k).string().match(/^[a-z_]+$/).nok() && $(v).string().nok());
- return !hasInvalidData;
- }).$;
- if (dataError) return rej('invalid data param');
-
- // Get 'key' parameter
- const [key, keyError] = $(params.key).optional.string().match(/[a-z_]+/).$;
- if (keyError) return rej('invalid key param');
-
- // Get 'value' parameter
- const [value, valueError] = $(params.value).optional.string().$;
- if (valueError) return rej('invalid value param');
-
- const set = {};
- if (data) {
- Object.entries(data).forEach(([k, v]) => {
- set[`data.${k}`] = v;
- });
- } else {
- set[`data.${key}`] = value;
- }
-
- await Appdata.update({
- appId: app._id,
- userId: user._id
- }, Object.assign({
- appId: app._id,
- userId: user._id
- }, {
- $set: set
- }), {
- upsert: true
- });
-
- res(204);
-});
diff --git a/src/server/api/endpoints/i/authorized_apps.ts b/src/server/api/endpoints/i/authorized_apps.ts
index 5a38d7c18f..82fd2d2516 100644
--- a/src/server/api/endpoints/i/authorized_apps.ts
+++ b/src/server/api/endpoints/i/authorized_apps.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import AccessToken from '../../models/access-token';
-import { pack } from '../../models/app';
+import AccessToken from '../../../../models/access-token';
+import { pack } from '../../../../models/app';
/**
* Get authorized apps of my account
diff --git a/src/server/api/endpoints/i/change_password.ts b/src/server/api/endpoints/i/change_password.ts
index e3b0127e7d..a38b56a216 100644
--- a/src/server/api/endpoints/i/change_password.ts
+++ b/src/server/api/endpoints/i/change_password.ts
@@ -3,7 +3,7 @@
*/
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
-import User from '../../models/user';
+import User from '../../../../models/user';
/**
* Change password
diff --git a/src/server/api/endpoints/i/favorites.ts b/src/server/api/endpoints/i/favorites.ts
index 9f8becf218..0b594e3180 100644
--- a/src/server/api/endpoints/i/favorites.ts
+++ b/src/server/api/endpoints/i/favorites.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Favorite from '../../models/favorite';
-import { pack } from '../../models/post';
+import Favorite from '../../../../models/favorite';
+import { pack } from '../../../../models/post';
/**
* Get followers of a user
diff --git a/src/server/api/endpoints/i/notifications.ts b/src/server/api/endpoints/i/notifications.ts
index 7119bf6ea3..5de087a9b3 100644
--- a/src/server/api/endpoints/i/notifications.ts
+++ b/src/server/api/endpoints/i/notifications.ts
@@ -2,9 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
-import Notification from '../../models/notification';
-import Mute from '../../models/mute';
-import { pack } from '../../models/notification';
+import Notification from '../../../../models/notification';
+import Mute from '../../../../models/mute';
+import { pack } from '../../../../models/notification';
import getFriends from '../../common/get-friends';
import read from '../../common/read-notification';
diff --git a/src/server/api/endpoints/i/pin.ts b/src/server/api/endpoints/i/pin.ts
index 886a3edeb5..2a57579772 100644
--- a/src/server/api/endpoints/i/pin.ts
+++ b/src/server/api/endpoints/i/pin.ts
@@ -2,9 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../models/user';
-import Post from '../../models/post';
-import { pack } from '../../models/user';
+import User from '../../../../models/user';
+import Post from '../../../../models/post';
+import { pack } from '../../../../models/user';
/**
* Pin post
diff --git a/src/server/api/endpoints/i/regenerate_token.ts b/src/server/api/endpoints/i/regenerate_token.ts
index 9ac7b55071..c35778ac0b 100644
--- a/src/server/api/endpoints/i/regenerate_token.ts
+++ b/src/server/api/endpoints/i/regenerate_token.ts
@@ -3,7 +3,7 @@
*/
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
-import User from '../../models/user';
+import User from '../../../../models/user';
import event from '../../event';
import generateUserToken from '../../common/generate-native-user-token';
diff --git a/src/server/api/endpoints/i/signin_history.ts b/src/server/api/endpoints/i/signin_history.ts
index a4ba22790c..931b9e2252 100644
--- a/src/server/api/endpoints/i/signin_history.ts
+++ b/src/server/api/endpoints/i/signin_history.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Signin, { pack } from '../../models/signin';
+import Signin, { pack } from '../../../../models/signin';
/**
* Get signin history of my account
diff --git a/src/server/api/endpoints/i/update.ts b/src/server/api/endpoints/i/update.ts
index 8147b1bba4..8e198f3ad0 100644
--- a/src/server/api/endpoints/i/update.ts
+++ b/src/server/api/endpoints/i/update.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import User, { isValidName, isValidDescription, isValidLocation, isValidBirthday, pack } from '../../models/user';
+import User, { isValidName, isValidDescription, isValidLocation, isValidBirthday, pack } from '../../../../models/user';
import event from '../../event';
import config from '../../../../conf';
diff --git a/src/server/api/endpoints/i/update_client_setting.ts b/src/server/api/endpoints/i/update_client_setting.ts
index a0bef5e595..03867b4017 100644
--- a/src/server/api/endpoints/i/update_client_setting.ts
+++ b/src/server/api/endpoints/i/update_client_setting.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import User, { pack } from '../../models/user';
+import User, { pack } from '../../../../models/user';
import event from '../../event';
/**
diff --git a/src/server/api/endpoints/i/update_home.ts b/src/server/api/endpoints/i/update_home.ts
index 151c3e205f..713cf9fcc8 100644
--- a/src/server/api/endpoints/i/update_home.ts
+++ b/src/server/api/endpoints/i/update_home.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../models/user';
+import User from '../../../../models/user';
import event from '../../event';
module.exports = async (params, user) => new Promise(async (res, rej) => {
diff --git a/src/server/api/endpoints/i/update_mobile_home.ts b/src/server/api/endpoints/i/update_mobile_home.ts
index a8436b940f..b06ca108aa 100644
--- a/src/server/api/endpoints/i/update_mobile_home.ts
+++ b/src/server/api/endpoints/i/update_mobile_home.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../models/user';
+import User from '../../../../models/user';
import event from '../../event';
module.exports = async (params, user) => new Promise(async (res, rej) => {
diff --git a/src/server/api/endpoints/messaging/history.ts b/src/server/api/endpoints/messaging/history.ts
index 2bf3ed996d..e42d34f21a 100644
--- a/src/server/api/endpoints/messaging/history.ts
+++ b/src/server/api/endpoints/messaging/history.ts
@@ -2,9 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
-import History from '../../models/messaging-history';
-import Mute from '../../models/mute';
-import { pack } from '../../models/messaging-message';
+import History from '../../../../models/messaging-history';
+import Mute from '../../../../models/mute';
+import { pack } from '../../../../models/messaging-message';
/**
* Show messaging history
diff --git a/src/server/api/endpoints/messaging/messages.ts b/src/server/api/endpoints/messaging/messages.ts
index dd80e41d03..092eab0562 100644
--- a/src/server/api/endpoints/messaging/messages.ts
+++ b/src/server/api/endpoints/messaging/messages.ts
@@ -2,9 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
-import Message from '../../models/messaging-message';
-import User from '../../models/user';
-import { pack } from '../../models/messaging-message';
+import Message from '../../../../models/messaging-message';
+import User from '../../../../models/user';
+import { pack } from '../../../../models/messaging-message';
import read from '../../common/read-messaging-message';
/**
diff --git a/src/server/api/endpoints/messaging/messages/create.ts b/src/server/api/endpoints/messaging/messages/create.ts
index 4edd726552..d8ffa9fdec 100644
--- a/src/server/api/endpoints/messaging/messages/create.ts
+++ b/src/server/api/endpoints/messaging/messages/create.ts
@@ -2,13 +2,13 @@
* Module dependencies
*/
import $ from 'cafy';
-import Message from '../../../models/messaging-message';
-import { isValidText } from '../../../models/messaging-message';
-import History from '../../../models/messaging-history';
-import User from '../../../models/user';
-import Mute from '../../../models/mute';
-import DriveFile from '../../../models/drive-file';
-import { pack } from '../../../models/messaging-message';
+import Message from '../../../../../models/messaging-message';
+import { isValidText } from '../../../../../models/messaging-message';
+import History from '../../../../../models/messaging-history';
+import User from '../../../../../models/user';
+import Mute from '../../../../../models/mute';
+import DriveFile from '../../../../../models/drive-file';
+import { pack } from '../../../../../models/messaging-message';
import publishUserStream from '../../../event';
import { publishMessagingStream, publishMessagingIndexStream, pushSw } from '../../../event';
import config from '../../../../../conf';
diff --git a/src/server/api/endpoints/messaging/unread.ts b/src/server/api/endpoints/messaging/unread.ts
index f7f4047b67..30d59dd8bd 100644
--- a/src/server/api/endpoints/messaging/unread.ts
+++ b/src/server/api/endpoints/messaging/unread.ts
@@ -1,8 +1,8 @@
/**
* Module dependencies
*/
-import Message from '../../models/messaging-message';
-import Mute from '../../models/mute';
+import Message from '../../../../models/messaging-message';
+import Mute from '../../../../models/mute';
/**
* Get count of unread messages
diff --git a/src/server/api/endpoints/meta.ts b/src/server/api/endpoints/meta.ts
index cb47ede57b..4f0ae2a60a 100644
--- a/src/server/api/endpoints/meta.ts
+++ b/src/server/api/endpoints/meta.ts
@@ -4,7 +4,7 @@
import * as os from 'os';
import version from '../../../version';
import config from '../../../conf';
-import Meta from '../models/meta';
+import Meta from '../../../models/meta';
/**
* @swagger
@@ -40,7 +40,7 @@ import Meta from '../models/meta';
* @return {Promise<any>}
*/
module.exports = (params) => new Promise(async (res, rej) => {
- const meta = (await Meta.findOne()) || {};
+ const meta: any = (await Meta.findOne()) || {};
res({
maintainer: config.maintainer,
diff --git a/src/server/api/endpoints/mute/create.ts b/src/server/api/endpoints/mute/create.ts
index e860235086..a7fa5f7b4b 100644
--- a/src/server/api/endpoints/mute/create.ts
+++ b/src/server/api/endpoints/mute/create.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../models/user';
-import Mute from '../../models/mute';
+import User from '../../../../models/user';
+import Mute from '../../../../models/mute';
/**
* Mute a user
diff --git a/src/server/api/endpoints/mute/delete.ts b/src/server/api/endpoints/mute/delete.ts
index 7e361b4792..687f010336 100644
--- a/src/server/api/endpoints/mute/delete.ts
+++ b/src/server/api/endpoints/mute/delete.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../models/user';
-import Mute from '../../models/mute';
+import User from '../../../../models/user';
+import Mute from '../../../../models/mute';
/**
* Unmute a user
diff --git a/src/server/api/endpoints/mute/list.ts b/src/server/api/endpoints/mute/list.ts
index 3401fba64d..bd80401445 100644
--- a/src/server/api/endpoints/mute/list.ts
+++ b/src/server/api/endpoints/mute/list.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Mute from '../../models/mute';
-import { pack } from '../../models/user';
+import Mute from '../../../../models/mute';
+import { pack } from '../../../../models/user';
import getFriends from '../../common/get-friends';
/**
diff --git a/src/server/api/endpoints/my/apps.ts b/src/server/api/endpoints/my/apps.ts
index bc1290cac6..2a3f8bcd7a 100644
--- a/src/server/api/endpoints/my/apps.ts
+++ b/src/server/api/endpoints/my/apps.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import App, { pack } from '../../models/app';
+import App, { pack } from '../../../../models/app';
/**
* Get my apps
diff --git a/src/server/api/endpoints/notifications/get_unread_count.ts b/src/server/api/endpoints/notifications/get_unread_count.ts
index 8f9719fff6..283ecd63b1 100644
--- a/src/server/api/endpoints/notifications/get_unread_count.ts
+++ b/src/server/api/endpoints/notifications/get_unread_count.ts
@@ -1,8 +1,8 @@
/**
* Module dependencies
*/
-import Notification from '../../models/notification';
-import Mute from '../../models/mute';
+import Notification from '../../../../models/notification';
+import Mute from '../../../../models/mute';
/**
* Get count of unread notifications
diff --git a/src/server/api/endpoints/notifications/mark_as_read_all.ts b/src/server/api/endpoints/notifications/mark_as_read_all.ts
index 693de3d0ef..3693ba87bc 100644
--- a/src/server/api/endpoints/notifications/mark_as_read_all.ts
+++ b/src/server/api/endpoints/notifications/mark_as_read_all.ts
@@ -1,7 +1,7 @@
/**
* Module dependencies
*/
-import Notification from '../../models/notification';
+import Notification from '../../../../models/notification';
import event from '../../event';
/**
diff --git a/src/server/api/endpoints/othello/games.ts b/src/server/api/endpoints/othello/games.ts
index 37fa384189..d05c1c2585 100644
--- a/src/server/api/endpoints/othello/games.ts
+++ b/src/server/api/endpoints/othello/games.ts
@@ -1,5 +1,5 @@
import $ from 'cafy';
-import OthelloGame, { pack } from '../../models/othello-game';
+import OthelloGame, { pack } from '../../../../models/othello-game';
module.exports = (params, user) => new Promise(async (res, rej) => {
// Get 'my' parameter
diff --git a/src/server/api/endpoints/othello/games/show.ts b/src/server/api/endpoints/othello/games/show.ts
index f9084682fa..0d3b539652 100644
--- a/src/server/api/endpoints/othello/games/show.ts
+++ b/src/server/api/endpoints/othello/games/show.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
-import OthelloGame, { pack } from '../../../models/othello-game';
-import Othello from '../../../../common/othello/core';
+import OthelloGame, { pack } from '../../../../../models/othello-game';
+import Othello from '../../../../../common/othello/core';
module.exports = (params, user) => new Promise(async (res, rej) => {
// Get 'gameId' parameter
diff --git a/src/server/api/endpoints/othello/invitations.ts b/src/server/api/endpoints/othello/invitations.ts
index f6e0071a6c..4761537614 100644
--- a/src/server/api/endpoints/othello/invitations.ts
+++ b/src/server/api/endpoints/othello/invitations.ts
@@ -1,4 +1,4 @@
-import Matching, { pack as packMatching } from '../../models/othello-matching';
+import Matching, { pack as packMatching } from '../../../../models/othello-matching';
module.exports = (params, user) => new Promise(async (res, rej) => {
// Find session
diff --git a/src/server/api/endpoints/othello/match.ts b/src/server/api/endpoints/othello/match.ts
index f503c5834c..03168095dc 100644
--- a/src/server/api/endpoints/othello/match.ts
+++ b/src/server/api/endpoints/othello/match.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
-import Matching, { pack as packMatching } from '../../models/othello-matching';
-import OthelloGame, { pack as packGame } from '../../models/othello-game';
-import User from '../../models/user';
+import Matching, { pack as packMatching } from '../../../../models/othello-matching';
+import OthelloGame, { pack as packGame } from '../../../../models/othello-game';
+import User from '../../../../models/user';
import publishUserStream, { publishOthelloStream } from '../../event';
-import { eighteight } from '../../../common/othello/maps';
+import { eighteight } from '../../../../common/othello/maps';
module.exports = (params, user) => new Promise(async (res, rej) => {
// Get 'userId' parameter
diff --git a/src/server/api/endpoints/othello/match/cancel.ts b/src/server/api/endpoints/othello/match/cancel.ts
index ee0f82a611..562e691061 100644
--- a/src/server/api/endpoints/othello/match/cancel.ts
+++ b/src/server/api/endpoints/othello/match/cancel.ts
@@ -1,4 +1,4 @@
-import Matching from '../../../models/othello-matching';
+import Matching from '../../../../../models/othello-matching';
module.exports = (params, user) => new Promise(async (res, rej) => {
await Matching.remove({
diff --git a/src/server/api/endpoints/posts.ts b/src/server/api/endpoints/posts.ts
index bee1de02d4..7af8cff671 100644
--- a/src/server/api/endpoints/posts.ts
+++ b/src/server/api/endpoints/posts.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post, { pack } from '../models/post';
+import Post, { pack } from '../../../models/post';
/**
* Lists all posts
diff --git a/src/server/api/endpoints/posts/categorize.ts b/src/server/api/endpoints/posts/categorize.ts
deleted file mode 100644
index 0436c8e697..0000000000
--- a/src/server/api/endpoints/posts/categorize.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Module dependencies
- */
-import $ from 'cafy';
-import Post from '../../models/post';
-
-/**
- * Categorize a post
- *
- * @param {any} params
- * @param {any} user
- * @return {Promise<any>}
- */
-module.exports = (params, user) => new Promise(async (res, rej) => {
- if (!user.account.isPro) {
- return rej('This endpoint is available only from a Pro account');
- }
-
- // Get 'postId' parameter
- const [postId, postIdErr] = $(params.postId).id().$;
- if (postIdErr) return rej('invalid postId param');
-
- // Get categorizee
- const post = await Post.findOne({
- _id: postId
- });
-
- if (post === null) {
- return rej('post not found');
- }
-
- if (post.is_category_verified) {
- return rej('This post already has the verified category');
- }
-
- // Get 'category' parameter
- const [category, categoryErr] = $(params.category).string().or([
- 'music', 'game', 'anime', 'it', 'gadgets', 'photography'
- ]).$;
- if (categoryErr) return rej('invalid category param');
-
- // Set category
- Post.update({ _id: post._id }, {
- $set: {
- category: category,
- is_category_verified: true
- }
- });
-
- // Send response
- res();
-});
diff --git a/src/server/api/endpoints/posts/context.ts b/src/server/api/endpoints/posts/context.ts
index 44a77d102e..7abb045a49 100644
--- a/src/server/api/endpoints/posts/context.ts
+++ b/src/server/api/endpoints/posts/context.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post, { pack } from '../../models/post';
+import Post, { pack } from '../../../../models/post';
/**
* Show a context of a post
diff --git a/src/server/api/endpoints/posts/create.ts b/src/server/api/endpoints/posts/create.ts
index 33042a51a2..6b2957ae67 100644
--- a/src/server/api/endpoints/posts/create.ts
+++ b/src/server/api/endpoints/posts/create.ts
@@ -3,21 +3,21 @@
*/
import $ from 'cafy';
import deepEqual = require('deep-equal');
-import parse from '../../common/text';
-import { default as Post, IPost, isValidText } from '../../models/post';
-import { default as User, ILocalAccount, IUser } from '../../models/user';
-import { default as Channel, IChannel } from '../../models/channel';
-import Following from '../../models/following';
-import Mute from '../../models/mute';
-import DriveFile from '../../models/drive-file';
-import Watching from '../../models/post-watching';
-import ChannelWatching from '../../models/channel-watching';
-import { pack } from '../../models/post';
+import parse from '../../../../common/text';
+import { default as Post, IPost, isValidText } from '../../../../models/post';
+import { default as User, ILocalAccount, IUser } from '../../../../models/user';
+import { default as Channel, IChannel } from '../../../../models/channel';
+import Following from '../../../../models/following';
+import Mute from '../../../../models/mute';
+import DriveFile from '../../../../models/drive-file';
+import Watching from '../../../../models/post-watching';
+import ChannelWatching from '../../../../models/channel-watching';
+import { pack } from '../../../../models/post';
import notify from '../../common/notify';
import watch from '../../common/watch-post';
import event, { pushSw, publishChannelStream } from '../../event';
-import getAcct from '../../../common/user/get-acct';
-import parseAcct from '../../../common/user/parse-acct';
+import getAcct from '../../../../common/user/get-acct';
+import parseAcct from '../../../../common/user/parse-acct';
import config from '../../../../conf';
/**
diff --git a/src/server/api/endpoints/posts/favorites/create.ts b/src/server/api/endpoints/posts/favorites/create.ts
index 6100e10b23..f537fb7ddf 100644
--- a/src/server/api/endpoints/posts/favorites/create.ts
+++ b/src/server/api/endpoints/posts/favorites/create.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Favorite from '../../../models/favorite';
-import Post from '../../../models/post';
+import Favorite from '../../../../../models/favorite';
+import Post from '../../../../../models/post';
/**
* Favorite a post
diff --git a/src/server/api/endpoints/posts/favorites/delete.ts b/src/server/api/endpoints/posts/favorites/delete.ts
index db52036ec5..28930337a3 100644
--- a/src/server/api/endpoints/posts/favorites/delete.ts
+++ b/src/server/api/endpoints/posts/favorites/delete.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Favorite from '../../../models/favorite';
-import Post from '../../../models/post';
+import Favorite from '../../../../../models/favorite';
+import Post from '../../../../../models/post';
/**
* Unfavorite a post
diff --git a/src/server/api/endpoints/posts/mentions.ts b/src/server/api/endpoints/posts/mentions.ts
index 1b342e8de9..d7302c0620 100644
--- a/src/server/api/endpoints/posts/mentions.ts
+++ b/src/server/api/endpoints/posts/mentions.ts
@@ -2,9 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post from '../../models/post';
+import Post from '../../../../models/post';
import getFriends from '../../common/get-friends';
-import { pack } from '../../models/post';
+import { pack } from '../../../../models/post';
/**
* Get mentions of myself
diff --git a/src/server/api/endpoints/posts/polls/recommendation.ts b/src/server/api/endpoints/posts/polls/recommendation.ts
index 19ef0975fa..d706742618 100644
--- a/src/server/api/endpoints/posts/polls/recommendation.ts
+++ b/src/server/api/endpoints/posts/polls/recommendation.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Vote from '../../../models/poll-vote';
-import Post, { pack } from '../../../models/post';
+import Vote from '../../../../../models/poll-vote';
+import Post, { pack } from '../../../../../models/post';
/**
* Get recommended polls
diff --git a/src/server/api/endpoints/posts/polls/vote.ts b/src/server/api/endpoints/posts/polls/vote.ts
index 734a3a3c45..b970c05e8d 100644
--- a/src/server/api/endpoints/posts/polls/vote.ts
+++ b/src/server/api/endpoints/posts/polls/vote.ts
@@ -2,9 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
-import Vote from '../../../models/poll-vote';
-import Post from '../../../models/post';
-import Watching from '../../../models/post-watching';
+import Vote from '../../../../../models/poll-vote';
+import Post from '../../../../../models/post';
+import Watching from '../../../../../models/post-watching';
import notify from '../../../common/notify';
import watch from '../../../common/watch-post';
import { publishPostStream } from '../../../event';
diff --git a/src/server/api/endpoints/posts/reactions.ts b/src/server/api/endpoints/posts/reactions.ts
index f753ba7c29..da733f5337 100644
--- a/src/server/api/endpoints/posts/reactions.ts
+++ b/src/server/api/endpoints/posts/reactions.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post from '../../models/post';
-import Reaction, { pack } from '../../models/post-reaction';
+import Post from '../../../../models/post';
+import Reaction, { pack } from '../../../../models/post-reaction';
/**
* Show reactions of a post
diff --git a/src/server/api/endpoints/posts/reactions/create.ts b/src/server/api/endpoints/posts/reactions/create.ts
index a1e6779805..5d2b5a7ed3 100644
--- a/src/server/api/endpoints/posts/reactions/create.ts
+++ b/src/server/api/endpoints/posts/reactions/create.ts
@@ -2,10 +2,10 @@
* Module dependencies
*/
import $ from 'cafy';
-import Reaction from '../../../models/post-reaction';
-import Post, { pack as packPost } from '../../../models/post';
-import { pack as packUser } from '../../../models/user';
-import Watching from '../../../models/post-watching';
+import Reaction from '../../../../../models/post-reaction';
+import Post, { pack as packPost } from '../../../../../models/post';
+import { pack as packUser } from '../../../../../models/user';
+import Watching from '../../../../../models/post-watching';
import notify from '../../../common/notify';
import watch from '../../../common/watch-post';
import { publishPostStream, pushSw } from '../../../event';
diff --git a/src/server/api/endpoints/posts/reactions/delete.ts b/src/server/api/endpoints/posts/reactions/delete.ts
index b09bcbb4b7..11f5c7dafa 100644
--- a/src/server/api/endpoints/posts/reactions/delete.ts
+++ b/src/server/api/endpoints/posts/reactions/delete.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Reaction from '../../../models/post-reaction';
-import Post from '../../../models/post';
+import Reaction from '../../../../../models/post-reaction';
+import Post from '../../../../../models/post';
// import event from '../../../event';
/**
diff --git a/src/server/api/endpoints/posts/replies.ts b/src/server/api/endpoints/posts/replies.ts
index db021505fc..dd5a95c173 100644
--- a/src/server/api/endpoints/posts/replies.ts
+++ b/src/server/api/endpoints/posts/replies.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post, { pack } from '../../models/post';
+import Post, { pack } from '../../../../models/post';
/**
* Show a replies of a post
diff --git a/src/server/api/endpoints/posts/reposts.ts b/src/server/api/endpoints/posts/reposts.ts
index 51af41f523..ec6218ca38 100644
--- a/src/server/api/endpoints/posts/reposts.ts
+++ b/src/server/api/endpoints/posts/reposts.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post, { pack } from '../../models/post';
+import Post, { pack } from '../../../../models/post';
/**
* Show a reposts of a post
diff --git a/src/server/api/endpoints/posts/search.ts b/src/server/api/endpoints/posts/search.ts
index bb5c438926..21c4e77fdd 100644
--- a/src/server/api/endpoints/posts/search.ts
+++ b/src/server/api/endpoints/posts/search.ts
@@ -3,11 +3,11 @@
*/
import $ from 'cafy';
const escapeRegexp = require('escape-regexp');
-import Post from '../../models/post';
-import User from '../../models/user';
-import Mute from '../../models/mute';
+import Post from '../../../../models/post';
+import User from '../../../../models/user';
+import Mute from '../../../../models/mute';
import getFriends from '../../common/get-friends';
-import { pack } from '../../models/post';
+import { pack } from '../../../../models/post';
/**
* Search a post
diff --git a/src/server/api/endpoints/posts/show.ts b/src/server/api/endpoints/posts/show.ts
index bb4bcdb790..e1781b545c 100644
--- a/src/server/api/endpoints/posts/show.ts
+++ b/src/server/api/endpoints/posts/show.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post, { pack } from '../../models/post';
+import Post, { pack } from '../../../../models/post';
/**
* Show a post
diff --git a/src/server/api/endpoints/posts/timeline.ts b/src/server/api/endpoints/posts/timeline.ts
index a3e915f16a..b58d25fa80 100644
--- a/src/server/api/endpoints/posts/timeline.ts
+++ b/src/server/api/endpoints/posts/timeline.ts
@@ -3,11 +3,11 @@
*/
import $ from 'cafy';
import rap from '@prezzemolo/rap';
-import Post from '../../models/post';
-import Mute from '../../models/mute';
-import ChannelWatching from '../../models/channel-watching';
+import Post from '../../../../models/post';
+import Mute from '../../../../models/mute';
+import ChannelWatching from '../../../../models/channel-watching';
import getFriends from '../../common/get-friends';
-import { pack } from '../../models/post';
+import { pack } from '../../../../models/post';
/**
* Get timeline of myself
diff --git a/src/server/api/endpoints/posts/trend.ts b/src/server/api/endpoints/posts/trend.ts
index bc0c47fbc6..dbee169138 100644
--- a/src/server/api/endpoints/posts/trend.ts
+++ b/src/server/api/endpoints/posts/trend.ts
@@ -3,7 +3,7 @@
*/
const ms = require('ms');
import $ from 'cafy';
-import Post, { pack } from '../../models/post';
+import Post, { pack } from '../../../../models/post';
/**
* Get trend posts
diff --git a/src/server/api/endpoints/stats.ts b/src/server/api/endpoints/stats.ts
index 719792d40d..0fb0c44b0f 100644
--- a/src/server/api/endpoints/stats.ts
+++ b/src/server/api/endpoints/stats.ts
@@ -1,8 +1,8 @@
/**
* Module dependencies
*/
-import Post from '../models/post';
-import User from '../models/user';
+import Post from '../../../models/post';
+import User from '../../../models/user';
/**
* @swagger
diff --git a/src/server/api/endpoints/sw/register.ts b/src/server/api/endpoints/sw/register.ts
index 1542e1dbeb..ef3428057d 100644
--- a/src/server/api/endpoints/sw/register.ts
+++ b/src/server/api/endpoints/sw/register.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import Subscription from '../../models/sw-subscription';
+import Subscription from '../../../../models/sw-subscription';
/**
* subscribe service worker
diff --git a/src/server/api/endpoints/username/available.ts b/src/server/api/endpoints/username/available.ts
index f23cdbd85a..bd27c37de0 100644
--- a/src/server/api/endpoints/username/available.ts
+++ b/src/server/api/endpoints/username/available.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../models/user';
-import { validateUsername } from '../../models/user';
+import User from '../../../../models/user';
+import { validateUsername } from '../../../../models/user';
/**
* Check available username
diff --git a/src/server/api/endpoints/users.ts b/src/server/api/endpoints/users.ts
index 393c3479c5..e82d72748c 100644
--- a/src/server/api/endpoints/users.ts
+++ b/src/server/api/endpoints/users.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import User, { pack } from '../models/user';
+import User, { pack } from '../../../models/user';
/**
* Lists all users
diff --git a/src/server/api/endpoints/users/followers.ts b/src/server/api/endpoints/users/followers.ts
index fc09cfa2c6..39b69a6aa9 100644
--- a/src/server/api/endpoints/users/followers.ts
+++ b/src/server/api/endpoints/users/followers.ts
@@ -2,9 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../models/user';
-import Following from '../../models/following';
-import { pack } from '../../models/user';
+import User from '../../../../models/user';
+import Following from '../../../../models/following';
+import { pack } from '../../../../models/user';
import getFriends from '../../common/get-friends';
/**
diff --git a/src/server/api/endpoints/users/following.ts b/src/server/api/endpoints/users/following.ts
index 3387dab366..aa6628dde2 100644
--- a/src/server/api/endpoints/users/following.ts
+++ b/src/server/api/endpoints/users/following.ts
@@ -2,9 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
-import User from '../../models/user';
-import Following from '../../models/following';
-import { pack } from '../../models/user';
+import User from '../../../../models/user';
+import Following from '../../../../models/following';
+import { pack } from '../../../../models/user';
import getFriends from '../../common/get-friends';
/**
diff --git a/src/server/api/endpoints/users/get_frequently_replied_users.ts b/src/server/api/endpoints/users/get_frequently_replied_users.ts
index 991c5555b6..3a116c8e26 100644
--- a/src/server/api/endpoints/users/get_frequently_replied_users.ts
+++ b/src/server/api/endpoints/users/get_frequently_replied_users.ts
@@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
-import Post from '../../models/post';
-import User, { pack } from '../../models/user';
+import Post from '../../../../models/post';
+import User, { pack } from '../../../../models/user';
module.exports = (params, me) => new Promise(async (res, rej) => {
// Get 'userId' parameter
diff --git a/src/server/api/endpoints/users/posts.ts b/src/server/api/endpoints/users/posts.ts
index 9346907492..b6c533fb5b 100644
--- a/src/server/api/endpoints/users/posts.ts
+++ b/src/server/api/endpoints/users/posts.ts
@@ -3,8 +3,8 @@
*/
import $ from 'cafy';
import getHostLower from '../../common/get-host-lower';
-import Post, { pack } from '../../models/post';
-import User from '../../models/user';
+import Post, { pack } from '../../../../models/post';
+import User from '../../../../models/user';
/**
* Get posts of a user
diff --git a/src/server/api/endpoints/users/recommendation.ts b/src/server/api/endpoints/users/recommendation.ts
index c5297cdc50..c815339697 100644
--- a/src/server/api/endpoints/users/recommendation.ts
+++ b/src/server/api/endpoints/users/recommendation.ts
@@ -3,7 +3,7 @@
*/
const ms = require('ms');
import $ from 'cafy';
-import User, { pack } from '../../models/user';
+import User, { pack } from '../../../../models/user';
import getFriends from '../../common/get-friends';
/**
diff --git a/src/server/api/endpoints/users/search.ts b/src/server/api/endpoints/users/search.ts
index b03ed2f2fd..335043b02e 100644
--- a/src/server/api/endpoints/users/search.ts
+++ b/src/server/api/endpoints/users/search.ts
@@ -3,7 +3,7 @@
*/
import * as mongo from 'mongodb';
import $ from 'cafy';
-import User, { pack } from '../../models/user';
+import User, { pack } from '../../../../models/user';
import config from '../../../../conf';
const escapeRegexp = require('escape-regexp');
diff --git a/src/server/api/endpoints/users/search_by_username.ts b/src/server/api/endpoints/users/search_by_username.ts
index 24e9c98e78..5f6ececff9 100644
--- a/src/server/api/endpoints/users/search_by_username.ts
+++ b/src/server/api/endpoints/users/search_by_username.ts
@@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
-import User, { pack } from '../../models/user';
+import User, { pack } from '../../../../models/user';
/**
* Search a user by username
diff --git a/src/server/api/endpoints/users/show.ts b/src/server/api/endpoints/users/show.ts
index 16411dddc6..0b7646f81e 100644
--- a/src/server/api/endpoints/users/show.ts
+++ b/src/server/api/endpoints/users/show.ts
@@ -5,7 +5,7 @@ import $ from 'cafy';
import { JSDOM } from 'jsdom';
import { toUnicode, toASCII } from 'punycode';
import uploadFromUrl from '../../common/drive/upload_from_url';
-import User, { pack, validateUsername, isValidName, isValidDescription } from '../../models/user';
+import User, { pack, validateUsername, isValidName, isValidDescription } from '../../../../models/user';
const request = require('request-promise-native');
const WebFinger = require('webfinger.js');
diff --git a/src/server/api/limitter.ts b/src/server/api/limitter.ts
index 33337fbb1b..88ea6c3679 100644
--- a/src/server/api/limitter.ts
+++ b/src/server/api/limitter.ts
@@ -3,7 +3,7 @@ import * as debug from 'debug';
import limiterDB from '../../db/redis';
import { Endpoint } from './endpoints';
import { IAuthContext } from './authenticate';
-import getAcct from '../common/user/get-acct';
+import getAcct from '../../common/user/get-acct';
const log = debug('misskey:limitter');
diff --git a/src/server/api/private/signin.ts b/src/server/api/private/signin.ts
index 4b60f4c752..d78fa11b80 100644
--- a/src/server/api/private/signin.ts
+++ b/src/server/api/private/signin.ts
@@ -1,8 +1,8 @@
import * as express from 'express';
import * as bcrypt from 'bcryptjs';
import * as speakeasy from 'speakeasy';
-import { default as User, ILocalAccount, IUser } from '../models/user';
-import Signin, { pack } from '../models/signin';
+import { default as User, ILocalAccount, IUser } from '../../../models/user';
+import Signin, { pack } from '../../../models/signin';
import event from '../event';
import signin from '../common/signin';
import config from '../../../conf';
diff --git a/src/server/api/private/signup.ts b/src/server/api/private/signup.ts
index cad9752c45..fd47b53037 100644
--- a/src/server/api/private/signup.ts
+++ b/src/server/api/private/signup.ts
@@ -3,7 +3,7 @@ import * as express from 'express';
import * as bcrypt from 'bcryptjs';
import { generate as generateKeypair } from '../../../crypto_key';
import recaptcha = require('recaptcha-promise');
-import User, { IUser, validateUsername, validatePassword, pack } from '../models/user';
+import User, { IUser, validateUsername, validatePassword, pack } from '../../../models/user';
import generateUserToken from '../common/generate-native-user-token';
import config from '../../../conf';
diff --git a/src/server/api/service/github.ts b/src/server/api/service/github.ts
index 98732e6b85..6eacdb7472 100644
--- a/src/server/api/service/github.ts
+++ b/src/server/api/service/github.ts
@@ -1,7 +1,7 @@
import * as EventEmitter from 'events';
import * as express from 'express';
-const crypto = require('crypto');
-import User from '../models/user';
+//const crypto = require('crypto');
+import User from '../../../models/user';
import config from '../../../conf';
import queue from '../../../queue';
diff --git a/src/server/api/service/twitter.ts b/src/server/api/service/twitter.ts
index bdbedc8646..d77341db2b 100644
--- a/src/server/api/service/twitter.ts
+++ b/src/server/api/service/twitter.ts
@@ -5,7 +5,7 @@ import * as uuid from 'uuid';
// const Twitter = require('twitter');
import autwh from 'autwh';
import redis from '../../../db/redis';
-import User, { pack } from '../models/user';
+import User, { pack } from '../../../models/user';
import event from '../event';
import config from '../../../conf';
import signin from '../common/signin';
diff --git a/src/server/api/stream/channel.ts b/src/server/api/stream/channel.ts
index d67d77cbf4..cb04278237 100644
--- a/src/server/api/stream/channel.ts
+++ b/src/server/api/stream/channel.ts
@@ -1,8 +1,10 @@
import * as websocket from 'websocket';
import * as redis from 'redis';
+import { ParsedUrlQuery } from 'querystring';
export default function(request: websocket.request, connection: websocket.connection, subscriber: redis.RedisClient): void {
- const channel = request.resourceURL.query.channel;
+ const q = request.resourceURL.query as ParsedUrlQuery;
+ const channel = q.channel;
// Subscribe channel stream
subscriber.subscribe(`misskey:channel-stream:${channel}`);
diff --git a/src/server/api/stream/home.ts b/src/server/api/stream/home.ts
index 291be0824d..648bd7c3c2 100644
--- a/src/server/api/stream/home.ts
+++ b/src/server/api/stream/home.ts
@@ -2,9 +2,9 @@ import * as websocket from 'websocket';
import * as redis from 'redis';
import * as debug from 'debug';
-import User from '../models/user';
-import Mute from '../models/mute';
-import { pack as packPost } from '../models/post';
+import User from '../../../models/user';
+import Mute from '../../../models/mute';
+import { pack as packPost } from '../../../models/post';
import readNotification from '../common/read-notification';
const log = debug('misskey');
diff --git a/src/server/api/stream/messaging.ts b/src/server/api/stream/messaging.ts
index a4a12426a3..3e6c2cd509 100644
--- a/src/server/api/stream/messaging.ts
+++ b/src/server/api/stream/messaging.ts
@@ -1,9 +1,11 @@
import * as websocket from 'websocket';
import * as redis from 'redis';
import read from '../common/read-messaging-message';
+import { ParsedUrlQuery } from 'querystring';
export default function(request: websocket.request, connection: websocket.connection, subscriber: redis.RedisClient, user: any): void {
- const otherparty = request.resourceURL.query.otherparty;
+ const q = request.resourceURL.query as ParsedUrlQuery;
+ const otherparty = q.otherparty as string;
// Subscribe messaging stream
subscriber.subscribe(`misskey:messaging-stream:${user._id}-${otherparty}`);
diff --git a/src/server/api/stream/othello-game.ts b/src/server/api/stream/othello-game.ts
index e48d93cddc..b6a251c4c8 100644
--- a/src/server/api/stream/othello-game.ts
+++ b/src/server/api/stream/othello-game.ts
@@ -1,13 +1,15 @@
import * as websocket from 'websocket';
import * as redis from 'redis';
import * as CRC32 from 'crc-32';
-import OthelloGame, { pack } from '../models/othello-game';
+import OthelloGame, { pack } from '../../../models/othello-game';
import { publishOthelloGameStream } from '../event';
-import Othello from '../../common/othello/core';
-import * as maps from '../../common/othello/maps';
+import Othello from '../../../common/othello/core';
+import * as maps from '../../../common/othello/maps';
+import { ParsedUrlQuery } from 'querystring';
export default function(request: websocket.request, connection: websocket.connection, subscriber: redis.RedisClient, user?: any): void {
- const gameId = request.resourceURL.query.game;
+ const q = request.resourceURL.query as ParsedUrlQuery;
+ const gameId = q.game;
// Subscribe game stream
subscriber.subscribe(`misskey:othello-game-stream:${gameId}`);
diff --git a/src/server/api/stream/othello.ts b/src/server/api/stream/othello.ts
index 55c993ec85..4205afae7c 100644
--- a/src/server/api/stream/othello.ts
+++ b/src/server/api/stream/othello.ts
@@ -1,7 +1,7 @@
import * as mongo from 'mongodb';
import * as websocket from 'websocket';
import * as redis from 'redis';
-import Matching, { pack } from '../models/othello-matching';
+import Matching, { pack } from '../../../models/othello-matching';
import publishUserStream from '../event';
export default function(request: websocket.request, connection: websocket.connection, subscriber: redis.RedisClient, user: any): void {
diff --git a/src/server/api/streaming.ts b/src/server/api/streaming.ts
index 73f099bd80..c86c6a8b4a 100644
--- a/src/server/api/streaming.ts
+++ b/src/server/api/streaming.ts
@@ -2,8 +2,8 @@ import * as http from 'http';
import * as websocket from 'websocket';
import * as redis from 'redis';
import config from '../../conf';
-import { default as User, IUser } from './models/user';
-import AccessToken from './models/access-token';
+import { default as User, IUser } from '../../models/user';
+import AccessToken from '../../models/access-token';
import isNativeToken from './common/is-native-token';
import homeStream from './stream/home';
@@ -15,6 +15,7 @@ import othelloStream from './stream/othello';
import serverStream from './stream/server';
import requestsStream from './stream/requests';
import channelStream from './stream/channel';
+import { ParsedUrlQuery } from 'querystring';
module.exports = (server: http.Server) => {
/**
@@ -51,7 +52,8 @@ module.exports = (server: http.Server) => {
return;
}
- const user = await authenticate(request.resourceURL.query.i);
+ const q = request.resourceURL.query as ParsedUrlQuery;
+ const user = await authenticate(q.i as string);
if (request.resourceURL.pathname === '/othello-game') {
othelloGameStream(request, connection, subscriber, user);
diff --git a/src/server/file/server.ts b/src/server/file/server.ts
index 3bda5b14fe..062d260cb4 100644
--- a/src/server/file/server.ts
+++ b/src/server/file/server.ts
@@ -10,7 +10,7 @@ import * as mongodb from 'mongodb';
import * as _gm from 'gm';
import * as stream from 'stream';
-import DriveFile, { getGridFSBucket } from '../api/models/drive-file';
+import DriveFile, { getGridFSBucket } from '../../models/drive-file';
const gm = _gm.subClass({
imageMagick: true
diff --git a/src/server/web/server.ts b/src/server/web/server.ts
index b117f6ae81..2fc8f1b8ab 100644
--- a/src/server/web/server.ts
+++ b/src/server/web/server.ts
@@ -1,5 +1,5 @@
/**
- * Web Server
+ * Web Client Server
*/
import * as path from 'path';
@@ -11,9 +11,9 @@ import * as bodyParser from 'body-parser';
import * as favicon from 'serve-favicon';
import * as compression from 'compression';
-/**
- * Init app
- */
+const client = `${__dirname}/../../client/`;
+
+// Create server
const app = express();
app.disable('x-powered-by');
@@ -25,51 +25,40 @@ app.use(bodyParser.json({
}));
app.use(compression());
-/**
- * Initialize requests
- */
app.use((req, res, next) => {
res.header('X-Frame-Options', 'DENY');
next();
});
-/**
- * Static assets
- */
-app.use(favicon(`${__dirname}/assets/favicon.ico`));
-app.get('/apple-touch-icon.png', (req, res) => res.sendFile(`${__dirname}/assets/apple-touch-icon.png`));
-app.use('/assets', express.static(`${__dirname}/assets`, {
+//#region static assets
+
+app.use(favicon(`${client}/assets/favicon.ico`));
+app.get('/apple-touch-icon.png', (req, res) => res.sendFile(`${client}/assets/apple-touch-icon.png`));
+app.use('/assets', express.static(`${client}/assets`, {
maxAge: ms('7 days')
}));
-app.use('/assets/*.js', (req, res) => res.sendFile(`${__dirname}/assets/404.js`));
+app.use('/assets/*.js', (req, res) => res.sendFile(`${client}/assets/404.js`));
app.use('/assets', (req, res) => {
res.sendStatus(404);
});
-app.use('/recover', (req, res) => res.sendFile(`${__dirname}/assets/recover.html`));
+app.use('/recover', (req, res) => res.sendFile(`${client}/assets/recover.html`));
-/**
- * ServiceWroker
- */
+// ServiceWroker
app.get(/^\/sw\.(.+?)\.js$/, (req, res) =>
- res.sendFile(`${__dirname}/assets/sw.${req.params[0]}.js`));
+ res.sendFile(`${client}/assets/sw.${req.params[0]}.js`));
-/**
- * Manifest
- */
+// Manifest
app.get('/manifest.json', (req, res) =>
- res.sendFile(`${__dirname}/assets/manifest.json`));
+ res.sendFile(`${client}/assets/manifest.json`));
-/**
- * Common API
- */
-app.get(/\/api:url/, require('./service/url-preview'));
+//#endregion
-/**
- * Routing
- */
+app.get(/\/api:url/, require('./url-preview'));
+
+// Render base html for all requests
app.get('*', (req, res) => {
- res.sendFile(path.resolve(`${__dirname}/app/base.html`), {
+ res.sendFile(path.resolve(`${client}/app/base.html`), {
maxAge: ms('7 days')
});
});
diff --git a/src/server/web/service/url-preview.ts b/src/server/web/url-preview.ts
index 0c5fd8a78e..0c5fd8a78e 100644
--- a/src/server/web/service/url-preview.ts
+++ b/src/server/web/url-preview.ts
diff --git a/src/tools/analysis/core.ts b/src/tools/analysis/core.ts
deleted file mode 100644
index 839fffd3c8..0000000000
--- a/src/tools/analysis/core.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-const bayes = require('./naive-bayes.js');
-
-const MeCab = require('./mecab');
-import Post from '../../server/api/models/post';
-
-/**
- * 投稿を学習したり与えられた投稿のカテゴリを予測します
- */
-export default class Categorizer {
- private classifier: any;
- private mecab: any;
-
- constructor() {
- this.mecab = new MeCab();
-
- // BIND -----------------------------------
- this.tokenizer = this.tokenizer.bind(this);
- }
-
- private tokenizer(text: string) {
- const tokens = this.mecab.parseSync(text)
- // 名詞だけに制限
- .filter(token => token[1] === '名詞')
- // 取り出し
- .map(token => token[0]);
-
- return tokens;
- }
-
- public async init() {
- this.classifier = bayes({
- tokenizer: this.tokenizer
- });
-
- // 訓練データ取得
- const verifiedPosts = await Post.find({
- is_category_verified: true
- });
-
- // 学習
- verifiedPosts.forEach(post => {
- this.classifier.learn(post.text, post.category);
- });
- }
-
- public async predict(text) {
- return this.classifier.categorize(text);
- }
-}
diff --git a/src/tools/analysis/extract-user-domains.ts b/src/tools/analysis/extract-user-domains.ts
deleted file mode 100644
index 1aa456db82..0000000000
--- a/src/tools/analysis/extract-user-domains.ts
+++ /dev/null
@@ -1,120 +0,0 @@
-import * as URL from 'url';
-
-import Post from '../../server/api/models/post';
-import User from '../../server/api/models/user';
-import parse from '../../server/api/common/text';
-
-process.on('unhandledRejection', console.dir);
-
-function tokenize(text: string) {
- if (text == null) return [];
-
- // パース
- const ast = parse(text);
-
- const domains = ast
- // URLを抽出
- .filter(t => t.type == 'url' || t.type == 'link')
- .map(t => URL.parse(t.url).hostname);
-
- return domains;
-}
-
-// Fetch all users
-User.find({}, {
- fields: {
- _id: true
- }
-}).then(users => {
- let i = -1;
-
- const x = cb => {
- if (++i == users.length) return cb();
- extractDomainsOne(users[i]._id).then(() => x(cb), err => {
- console.error(err);
- setTimeout(() => {
- i--;
- x(cb);
- }, 1000);
- });
- };
-
- x(() => {
- console.log('complete');
- });
-});
-
-function extractDomainsOne(id) {
- return new Promise(async (resolve, reject) => {
- process.stdout.write(`extracting domains of ${id} ...`);
-
- // Fetch recent posts
- const recentPosts = await Post.find({
- userId: id,
- text: {
- $exists: true
- }
- }, {
- sort: {
- _id: -1
- },
- limit: 10000,
- fields: {
- _id: false,
- text: true
- }
- });
-
- // 投稿が少なかったら中断
- if (recentPosts.length < 100) {
- process.stdout.write(' >>> -\n');
- return resolve();
- }
-
- const domains = {};
-
- // Extract domains from recent posts
- recentPosts.forEach(post => {
- const domainsOfPost = tokenize(post.text);
-
- domainsOfPost.forEach(domain => {
- if (domains[domain]) {
- domains[domain]++;
- } else {
- domains[domain] = 1;
- }
- });
- });
-
- // Calc peak
- let peak = 0;
- Object.keys(domains).forEach(domain => {
- if (domains[domain] > peak) peak = domains[domain];
- });
-
- // Sort domains by frequency
- const domainsSorted = Object.keys(domains).sort((a, b) => domains[b] - domains[a]);
-
- // Lookup top 10 domains
- const topDomains = domainsSorted.slice(0, 10);
-
- process.stdout.write(' >>> ' + topDomains.join(', ') + '\n');
-
- // Make domains object (includes weights)
- const domainsObj = topDomains.map(domain => ({
- domain: domain,
- weight: domains[domain] / peak
- }));
-
- // Save
- User.update({ _id: id }, {
- $set: {
- domains: domainsObj
- }
- }).then(() => {
- resolve();
- }, err => {
- reject(err);
- });
- });
-}
diff --git a/src/tools/analysis/extract-user-keywords.ts b/src/tools/analysis/extract-user-keywords.ts
deleted file mode 100644
index 9b0691b7db..0000000000
--- a/src/tools/analysis/extract-user-keywords.ts
+++ /dev/null
@@ -1,154 +0,0 @@
-const moji = require('moji');
-
-const MeCab = require('./mecab');
-import Post from '../../server/api/models/post';
-import User from '../../server/api/models/user';
-import parse from '../../server/api/common/text';
-
-process.on('unhandledRejection', console.dir);
-
-const stopwords = [
- 'ー',
-
- 'の', 'に', 'は', 'を', 'た', 'が', 'で', 'て', 'と', 'し', 'れ', 'さ',
- 'ある', 'いる', 'も', 'する', 'から', 'な', 'こと', 'として', 'い', 'や', 'れる',
- 'など', 'なっ', 'ない', 'この', 'ため', 'その', 'あっ', 'よう', 'また', 'もの',
- 'という', 'あり', 'まで', 'られ', 'なる', 'へ', 'か', 'だ', 'これ', 'によって',
- 'により', 'おり', 'より', 'による', 'ず', 'なり', 'られる', 'において', 'ば', 'なかっ',
- 'なく', 'しかし', 'について', 'せ', 'だっ', 'その後', 'できる', 'それ', 'う', 'ので',
- 'なお', 'のみ', 'でき', 'き', 'つ', 'における', 'および', 'いう', 'さらに', 'でも',
- 'ら', 'たり', 'その他', 'に関する', 'たち', 'ます', 'ん', 'なら', 'に対して', '特に',
- 'せる', '及び', 'これら', 'とき', 'では', 'にて', 'ほか', 'ながら', 'うち', 'そして',
- 'とともに', 'ただし', 'かつて', 'それぞれ', 'または', 'お', 'ほど', 'ものの', 'に対する',
- 'ほとんど', 'と共に', 'といった', 'です', 'とも', 'ところ', 'ここ', '感じ', '気持ち',
- 'あと', '自分', 'すき', '()',
-
- 'about', 'after', 'all', 'also', 'am', 'an', 'and', 'another', 'any', 'are', 'as', 'at', 'be',
- 'because', 'been', 'before', 'being', 'between', 'both', 'but', 'by', 'came', 'can',
- 'come', 'could', 'did', 'do', 'each', 'for', 'from', 'get', 'got', 'has', 'had',
- 'he', 'have', 'her', 'here', 'him', 'himself', 'his', 'how', 'if', 'in', 'into',
- 'is', 'it', 'like', 'make', 'many', 'me', 'might', 'more', 'most', 'much', 'must',
- 'my', 'never', 'now', 'of', 'on', 'only', 'or', 'other', 'our', 'out', 'over',
- 'said', 'same', 'see', 'should', 'since', 'some', 'still', 'such', 'take', 'than',
- 'that', 'the', 'their', 'them', 'then', 'there', 'these', 'they', 'this', 'those',
- 'through', 'to', 'too', 'under', 'up', 'very', 'was', 'way', 'we', 'well', 'were',
- 'what', 'where', 'which', 'while', 'who', 'with', 'would', 'you', 'your', 'a', 'i'
-];
-
-const mecab = new MeCab();
-
-function tokenize(text: string) {
- if (text == null) return [];
-
- // パース
- const ast = parse(text);
-
- const plain = ast
- // テキストのみ(URLなどを除外するという意)
- .filter(t => t.type == 'text' || t.type == 'bold')
- .map(t => t.content)
- .join('');
-
- const tokens = mecab.parseSync(plain)
- // キーワードのみ
- .filter(token => token[1] == '名詞' && (token[2] == '固有名詞' || token[2] == '一般'))
- // 取り出し(&整形(全角を半角にしたり大文字を小文字で統一したり))
- .map(token => moji(token[0]).convert('ZE', 'HE').convert('HK', 'ZK').toString().toLowerCase())
- // ストップワードなど
- .filter(word =>
- stopwords.indexOf(word) === -1 &&
- word.length > 1 &&
- word.indexOf('!') === -1 &&
- word.indexOf('!') === -1 &&
- word.indexOf('?') === -1 &&
- word.indexOf('?') === -1);
-
- return tokens;
-}
-
-// Fetch all users
-User.find({}, {
- fields: {
- _id: true
- }
-}).then(users => {
- let i = -1;
-
- const x = cb => {
- if (++i == users.length) return cb();
- extractKeywordsOne(users[i]._id).then(() => x(cb), err => {
- console.error(err);
- setTimeout(() => {
- i--;
- x(cb);
- }, 1000);
- });
- };
-
- x(() => {
- console.log('complete');
- });
-});
-
-function extractKeywordsOne(id) {
- return new Promise(async (resolve, reject) => {
- process.stdout.write(`extracting keywords of ${id} ...`);
-
- // Fetch recent posts
- const recentPosts = await Post.find({
- userId: id,
- text: {
- $exists: true
- }
- }, {
- sort: {
- _id: -1
- },
- limit: 10000,
- fields: {
- _id: false,
- text: true
- }
- });
-
- // 投稿が少なかったら中断
- if (recentPosts.length < 300) {
- process.stdout.write(' >>> -\n');
- return resolve();
- }
-
- const keywords = {};
-
- // Extract keywords from recent posts
- recentPosts.forEach(post => {
- const keywordsOfPost = tokenize(post.text);
-
- keywordsOfPost.forEach(keyword => {
- if (keywords[keyword]) {
- keywords[keyword]++;
- } else {
- keywords[keyword] = 1;
- }
- });
- });
-
- // Sort keywords by frequency
- const keywordsSorted = Object.keys(keywords).sort((a, b) => keywords[b] - keywords[a]);
-
- // Lookup top 10 keywords
- const topKeywords = keywordsSorted.slice(0, 10);
-
- process.stdout.write(' >>> ' + topKeywords.join(', ') + '\n');
-
- // Save
- User.update({ _id: id }, {
- $set: {
- keywords: topKeywords
- }
- }).then(() => {
- resolve();
- }, err => {
- reject(err);
- });
- });
-}
diff --git a/src/tools/analysis/mecab.js b/src/tools/analysis/mecab.js
deleted file mode 100644
index 82f7d6d529..0000000000
--- a/src/tools/analysis/mecab.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// Original source code: https://github.com/hecomi/node-mecab-async
-// CUSTOMIZED BY SYUILO
-
-var exec = require('child_process').exec;
-var execSync = require('child_process').execSync;
-var sq = require('shell-quote');
-
-const config = require('../../conf').default;
-
-// for backward compatibility
-var MeCab = function() {};
-
-MeCab.prototype = {
- command : config.analysis.mecab_command ? config.analysis.mecab_command : 'mecab',
- _format: function(arrayResult) {
- var result = [];
- if (!arrayResult) { return result; }
- // Reference: http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html
- // 表層形\t品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
- arrayResult.forEach(function(parsed) {
- if (parsed.length <= 8) { return; }
- result.push({
- kanji : parsed[0],
- lexical : parsed[1],
- compound : parsed[2],
- compound2 : parsed[3],
- compound3 : parsed[4],
- conjugation : parsed[5],
- inflection : parsed[6],
- original : parsed[7],
- reading : parsed[8],
- pronunciation : parsed[9] || ''
- });
- });
- return result;
- },
- _shellCommand : function(str) {
- return sq.quote(['echo', str]) + ' | ' + this.command;
- },
- _parseMeCabResult : function(result) {
- return result.split('\n').map(function(line) {
- return line.replace('\t', ',').split(',');
- });
- },
- parse : function(str, callback) {
- process.nextTick(function() { // for bug
- exec(MeCab._shellCommand(str), function(err, result) {
- if (err) { return callback(err); }
- callback(err, MeCab._parseMeCabResult(result).slice(0,-2));
- });
- });
- },
- parseSync : function(str) {
- var result = execSync(MeCab._shellCommand(str));
- return MeCab._parseMeCabResult(String(result)).slice(0, -2);
- },
- parseFormat : function(str, callback) {
- MeCab.parse(str, function(err, result) {
- if (err) { return callback(err); }
- callback(err, MeCab._format(result));
- });
- },
- parseSyncFormat : function(str) {
- return MeCab._format(MeCab.parseSync(str));
- },
- _wakatsu : function(arr) {
- return arr.map(function(data) { return data[0]; });
- },
- wakachi : function(str, callback) {
- MeCab.parse(str, function(err, arr) {
- if (err) { return callback(err); }
- callback(null, MeCab._wakatsu(arr));
- });
- },
- wakachiSync : function(str) {
- var arr = MeCab.parseSync(str);
- return MeCab._wakatsu(arr);
- }
-};
-
-for (var x in MeCab.prototype) {
- MeCab[x] = MeCab.prototype[x];
-}
-
-module.exports = MeCab;
diff --git a/src/tools/analysis/naive-bayes.js b/src/tools/analysis/naive-bayes.js
deleted file mode 100644
index 78f07153cf..0000000000
--- a/src/tools/analysis/naive-bayes.js
+++ /dev/null
@@ -1,302 +0,0 @@
-// Original source code: https://github.com/ttezel/bayes/blob/master/lib/naive_bayes.js (commit: 2c20d3066e4fc786400aaedcf3e42987e52abe3c)
-// CUSTOMIZED BY SYUILO
-
-/*
- Expose our naive-bayes generator function
-*/
-module.exports = function (options) {
- return new Naivebayes(options)
-}
-
-// keys we use to serialize a classifier's state
-var STATE_KEYS = module.exports.STATE_KEYS = [
- 'categories', 'docCount', 'totalDocuments', 'vocabulary', 'vocabularySize',
- 'wordCount', 'wordFrequencyCount', 'options'
-];
-
-/**
- * Initializes a NaiveBayes instance from a JSON state representation.
- * Use this with classifier.toJson().
- *
- * @param {String} jsonStr state representation obtained by classifier.toJson()
- * @return {NaiveBayes} Classifier
- */
-module.exports.fromJson = function (jsonStr) {
- var parsed;
- try {
- parsed = JSON.parse(jsonStr)
- } catch (e) {
- throw new Error('Naivebayes.fromJson expects a valid JSON string.')
- }
- // init a new classifier
- var classifier = new Naivebayes(parsed.options)
-
- // override the classifier's state
- STATE_KEYS.forEach(function (k) {
- if (!parsed[k]) {
- throw new Error('Naivebayes.fromJson: JSON string is missing an expected property: `'+k+'`.')
- }
- classifier[k] = parsed[k]
- })
-
- return classifier
-}
-
-/**
- * Given an input string, tokenize it into an array of word tokens.
- * This is the default tokenization function used if user does not provide one in `options`.
- *
- * @param {String} text
- * @return {Array}
- */
-var defaultTokenizer = function (text) {
- //remove punctuation from text - remove anything that isn't a word char or a space
- var rgxPunctuation = /[^(a-zA-ZA-Яa-я0-9_)+\s]/g
-
- var sanitized = text.replace(rgxPunctuation, ' ')
-
- return sanitized.split(/\s+/)
-}
-
-/**
- * Naive-Bayes Classifier
- *
- * This is a naive-bayes classifier that uses Laplace Smoothing.
- *
- * Takes an (optional) options object containing:
- * - `tokenizer` => custom tokenization function
- *
- */
-function Naivebayes (options) {
- // set options object
- this.options = {}
- if (typeof options !== 'undefined') {
- if (!options || typeof options !== 'object' || Array.isArray(options)) {
- throw TypeError('NaiveBayes got invalid `options`: `' + options + '`. Pass in an object.')
- }
- this.options = options
- }
-
- this.tokenizer = this.options.tokenizer || defaultTokenizer
-
- //initialize our vocabulary and its size
- this.vocabulary = {}
- this.vocabularySize = 0
-
- //number of documents we have learned from
- this.totalDocuments = 0
-
- //document frequency table for each of our categories
- //=> for each category, how often were documents mapped to it
- this.docCount = {}
-
- //for each category, how many words total were mapped to it
- this.wordCount = {}
-
- //word frequency table for each category
- //=> for each category, how frequent was a given word mapped to it
- this.wordFrequencyCount = {}
-
- //hashmap of our category names
- this.categories = {}
-}
-
-/**
- * Initialize each of our data structure entries for this new category
- *
- * @param {String} categoryName
- */
-Naivebayes.prototype.initializeCategory = function (categoryName) {
- if (!this.categories[categoryName]) {
- this.docCount[categoryName] = 0
- this.wordCount[categoryName] = 0
- this.wordFrequencyCount[categoryName] = {}
- this.categories[categoryName] = true
- }
- return this
-}
-
-/**
- * train our naive-bayes classifier by telling it what `category`
- * the `text` corresponds to.
- *
- * @param {String} text
- * @param {String} class
- */
-Naivebayes.prototype.learn = function (text, category) {
- var self = this
-
- //initialize category data structures if we've never seen this category
- self.initializeCategory(category)
-
- //update our count of how many documents mapped to this category
- self.docCount[category]++
-
- //update the total number of documents we have learned from
- self.totalDocuments++
-
- //normalize the text into a word array
- var tokens = self.tokenizer(text)
-
- //get a frequency count for each token in the text
- var frequencyTable = self.frequencyTable(tokens)
-
- /*
- Update our vocabulary and our word frequency count for this category
- */
-
- Object
- .keys(frequencyTable)
- .forEach(function (token) {
- //add this word to our vocabulary if not already existing
- if (!self.vocabulary[token]) {
- self.vocabulary[token] = true
- self.vocabularySize++
- }
-
- var frequencyInText = frequencyTable[token]
-
- //update the frequency information for this word in this category
- if (!self.wordFrequencyCount[category][token])
- self.wordFrequencyCount[category][token] = frequencyInText
- else
- self.wordFrequencyCount[category][token] += frequencyInText
-
- //update the count of all words we have seen mapped to this category
- self.wordCount[category] += frequencyInText
- })
-
- return self
-}
-
-/**
- * Determine what category `text` belongs to.
- *
- * @param {String} text
- * @return {String} category
- */
-Naivebayes.prototype.categorize = function (text) {
- var self = this
- , maxProbability = -Infinity
- , chosenCategory = null
-
- var tokens = self.tokenizer(text)
- var frequencyTable = self.frequencyTable(tokens)
-
- //iterate thru our categories to find the one with max probability for this text
- Object
- .keys(self.categories)
- .forEach(function (category) {
-
- //start by calculating the overall probability of this category
- //=> out of all documents we've ever looked at, how many were
- // mapped to this category
- var categoryProbability = self.docCount[category] / self.totalDocuments
-
- //take the log to avoid underflow
- var logProbability = Math.log(categoryProbability)
-
- //now determine P( w | c ) for each word `w` in the text
- Object
- .keys(frequencyTable)
- .forEach(function (token) {
- var frequencyInText = frequencyTable[token]
- var tokenProbability = self.tokenProbability(token, category)
-
- // console.log('token: %s category: `%s` tokenProbability: %d', token, category, tokenProbability)
-
- //determine the log of the P( w | c ) for this word
- logProbability += frequencyInText * Math.log(tokenProbability)
- })
-
- if (logProbability > maxProbability) {
- maxProbability = logProbability
- chosenCategory = category
- }
- })
-
- return chosenCategory
-}
-
-/**
- * Calculate probability that a `token` belongs to a `category`
- *
- * @param {String} token
- * @param {String} category
- * @return {Number} probability
- */
-Naivebayes.prototype.tokenProbability = function (token, category) {
- //how many times this word has occurred in documents mapped to this category
- var wordFrequencyCount = this.wordFrequencyCount[category][token] || 0
-
- //what is the count of all words that have ever been mapped to this category
- var wordCount = this.wordCount[category]
-
- //use laplace Add-1 Smoothing equation
- return ( wordFrequencyCount + 1 ) / ( wordCount + this.vocabularySize )
-}
-
-/**
- * Build a frequency hashmap where
- * - the keys are the entries in `tokens`
- * - the values are the frequency of each entry in `tokens`
- *
- * @param {Array} tokens Normalized word array
- * @return {Object}
- */
-Naivebayes.prototype.frequencyTable = function (tokens) {
- var frequencyTable = Object.create(null)
-
- tokens.forEach(function (token) {
- if (!frequencyTable[token])
- frequencyTable[token] = 1
- else
- frequencyTable[token]++
- })
-
- return frequencyTable
-}
-
-/**
- * Dump the classifier's state as a JSON string.
- * @return {String} Representation of the classifier.
- */
-Naivebayes.prototype.toJson = function () {
- var state = {}
- var self = this
- STATE_KEYS.forEach(function (k) {
- state[k] = self[k]
- })
-
- var jsonStr = JSON.stringify(state)
-
- return jsonStr
-}
-
-// (original method)
-Naivebayes.prototype.export = function () {
- var state = {}
- var self = this
- STATE_KEYS.forEach(function (k) {
- state[k] = self[k]
- })
-
- return state
-}
-
-module.exports.import = function (data) {
- var parsed = data
-
- // init a new classifier
- var classifier = new Naivebayes()
-
- // override the classifier's state
- STATE_KEYS.forEach(function (k) {
- if (!parsed[k]) {
- throw new Error('Naivebayes.import: data is missing an expected property: `'+k+'`.')
- }
- classifier[k] = parsed[k]
- })
-
- return classifier
-}
diff --git a/src/tools/analysis/predict-all-post-category.ts b/src/tools/analysis/predict-all-post-category.ts
deleted file mode 100644
index 8564fd1b10..0000000000
--- a/src/tools/analysis/predict-all-post-category.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import Post from '../../server/api/models/post';
-import Core from './core';
-
-const c = new Core();
-
-c.init().then(() => {
- // 全ての(人間によって証明されていない)投稿を取得
- Post.find({
- text: {
- $exists: true
- },
- is_category_verified: {
- $ne: true
- }
- }, {
- sort: {
- _id: -1
- },
- fields: {
- _id: true,
- text: true
- }
- }).then(posts => {
- posts.forEach(post => {
- console.log(`predicting... ${post._id}`);
- const category = c.predict(post.text);
-
- Post.update({ _id: post._id }, {
- $set: {
- category: category
- }
- });
- });
- });
-});
diff --git a/src/tools/analysis/predict-user-interst.ts b/src/tools/analysis/predict-user-interst.ts
deleted file mode 100644
index a101f2010e..0000000000
--- a/src/tools/analysis/predict-user-interst.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import Post from '../../server/api/models/post';
-import User from '../../server/api/models/user';
-
-export async function predictOne(id) {
- console.log(`predict interest of ${id} ...`);
-
- // TODO: repostなども含める
- const recentPosts = await Post.find({
- userId: id,
- category: {
- $exists: true
- }
- }, {
- sort: {
- _id: -1
- },
- limit: 1000,
- fields: {
- _id: false,
- category: true
- }
- });
-
- const categories = {};
-
- recentPosts.forEach(post => {
- if (categories[post.category]) {
- categories[post.category]++;
- } else {
- categories[post.category] = 1;
- }
- });
-}
-
-export async function predictAll() {
- const allUsers = await User.find({}, {
- fields: {
- _id: true
- }
- });
-
- allUsers.forEach(user => {
- predictOne(user._id);
- });
-}
diff --git a/tsconfig.json b/tsconfig.json
index 574c11baca..c407d554ee 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -21,6 +21,6 @@
"./src/**/*.ts"
],
"exclude": [
- "./src/server/web/app/**/*.ts"
+ "./src/client/app/**/*.ts"
]
}
diff --git a/webpack.config.ts b/webpack.config.ts
index 53e3d26305..d486e100a2 100644
--- a/webpack.config.ts
+++ b/webpack.config.ts
@@ -34,7 +34,7 @@ global['collapseSpacesReplacement'] = html => {
};
global['base64replacement'] = (_, key) => {
- return fs.readFileSync(__dirname + '/src/server/web/' + key, 'base64');
+ return fs.readFileSync(__dirname + '/src/client/' + key, 'base64');
};
//#endregion
@@ -52,18 +52,18 @@ module.exports = entries.map(x => {
// Entries
const entry = {
- desktop: './src/server/web/app/desktop/script.ts',
- mobile: './src/server/web/app/mobile/script.ts',
- //ch: './src/server/web/app/ch/script.ts',
- //stats: './src/server/web/app/stats/script.ts',
- //status: './src/server/web/app/status/script.ts',
- dev: './src/server/web/app/dev/script.ts',
- auth: './src/server/web/app/auth/script.ts',
- sw: './src/server/web/app/sw.js'
+ desktop: './src/client/app/desktop/script.ts',
+ mobile: './src/client/app/mobile/script.ts',
+ //ch: './src/client/app/ch/script.ts',
+ //stats: './src/client/app/stats/script.ts',
+ //status: './src/client/app/status/script.ts',
+ dev: './src/client/app/dev/script.ts',
+ auth: './src/client/app/auth/script.ts',
+ sw: './src/client/app/sw.js'
};
const output = {
- path: __dirname + '/built/server/web/assets',
+ path: __dirname + '/built/client/assets',
filename: `[name].${version}.${lang}.${isProduction ? 'min' : 'raw'}.js`
};
@@ -207,7 +207,7 @@ module.exports = entries.map(x => {
loader: 'ts-loader',
options: {
happyPackMode: true,
- configFile: __dirname + '/../src/server/web/app/tsconfig.json',
+ configFile: __dirname + '/src/client/app/tsconfig.json',
appendTsSuffixTo: [/\.vue$/]
}
}, {
@@ -232,7 +232,7 @@ module.exports = entries.map(x => {
'.js', '.ts', '.json'
],
alias: {
- 'const.styl': __dirname + '/src/server/web/const.styl'
+ 'const.styl': __dirname + '/src/client/const.styl'
}
},
resolveLoader: {