From 6767ea1853de60a8cdbf0c805a12100a460bb8e3 Mon Sep 17 00:00:00 2001 From: kate Date: Mon, 5 Dec 2022 22:42:43 +0800 Subject: [PATCH] fix(ci): typing issues; broken submodules (#826) * Remove broken submodules * Fix yarn typecheck * Add build:deps before typecheck to fix missing dependencies * fix: minor linting nitpick Co-authored-by: Sophie L --- Dockerfile | 1 + packages/components | 1 - packages/hast-util-table-cell-style | 1 - packages/revolt.js | 1 - .../common/messaging/MessageBox.tsx | 20 ++++++++++++++----- src/mobx/stores/Draft.ts | 2 +- src/pages/home/Home.tsx | 2 +- 7 files changed, 18 insertions(+), 10 deletions(-) delete mode 160000 packages/components delete mode 160000 packages/hast-util-table-cell-style delete mode 160000 packages/revolt.js diff --git a/Dockerfile b/Dockerfile index 8ee6bb04..0aa712d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ COPY . . COPY .env.build .env RUN yarn install --frozen-lockfile +RUN yarn build:deps RUN yarn typecheck RUN yarn build:highmem RUN yarn workspaces focus --production --all diff --git a/packages/components b/packages/components deleted file mode 160000 index d314b2d1..00000000 --- a/packages/components +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d314b2d191124f1b487ebd72409e748c1bfccb87 diff --git a/packages/hast-util-table-cell-style b/packages/hast-util-table-cell-style deleted file mode 160000 index 7803fa54..00000000 --- a/packages/hast-util-table-cell-style +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7803fa54410a7ef9fc3149c482253e74ca1d7d71 diff --git a/packages/revolt.js b/packages/revolt.js deleted file mode 160000 index 39d1f596..00000000 --- a/packages/revolt.js +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 39d1f596e280a28278d913e1e60e4d5298d71578 diff --git a/src/components/common/messaging/MessageBox.tsx b/src/components/common/messaging/MessageBox.tsx index 35b438cf..caaa6a84 100644 --- a/src/components/common/messaging/MessageBox.tsx +++ b/src/components/common/messaging/MessageBox.tsx @@ -45,6 +45,8 @@ import { PermissionTooltip } from "../Tooltip"; import FilePreview from "./bars/FilePreview"; import ReplyBar from "./bars/ReplyBar"; +import { DraftObject } from "../../../mobx/stores/Draft"; + type Props = { channel: Channel; }; @@ -277,7 +279,12 @@ export default observer(({ channel }: Props) => { // Push message content to draft. const setMessage = useCallback( - (content?: string) => state.draft.set(channel._id, content), + (content?: string) => { + const dobj: DraftObject = { + content + } + state.draft.set(channel._id, dobj) + }, [state.draft, channel._id], ); @@ -317,7 +324,7 @@ export default observer(({ channel }: Props) => { if (uploadState.type === "uploading" || uploadState.type === "sending") return; - const content = state.draft.get(channel._id)?.trim() ?? ""; + const content = state.draft.get(channel._id)?.content?.trim() ?? ""; if (uploadState.type === "attached") return sendFile(content); if (content.length === 0) return; @@ -526,7 +533,7 @@ export default observer(({ channel }: Props) => { } function isInCodeBlock(cursor: number): boolean { - const content = state.draft.get(channel._id) || ""; + const content = state.draft.get(channel._id)?.content || ""; const contentBeforeCursor = content.substring(0, cursor); let delimiterCount = 0; @@ -607,9 +614,12 @@ export default observer(({ channel }: Props) => { { const v = state.draft.get(channel._id); + const cnt: DraftObject = { + content: (v == null ? "" : `${v.content} `) + `:${emoji}:` + } state.draft.set( channel._id, - `${v ? `${v} ` : ""}:${emoji}:`, + cnt, ); }} onClose={closePicker} @@ -664,7 +674,7 @@ export default observer(({ channel }: Props) => { id="message" maxLength={2000} onKeyUp={onKeyUp} - value={state.draft.get(channel._id) ?? ""} + value={state.draft.get(channel._id)?.content ?? ""} padding="var(--message-box-padding)" onKeyDown={(e) => { if (e.ctrlKey && e.key === "Enter") { diff --git a/src/mobx/stores/Draft.ts b/src/mobx/stores/Draft.ts index 345351d7..de81ea8a 100644 --- a/src/mobx/stores/Draft.ts +++ b/src/mobx/stores/Draft.ts @@ -5,7 +5,7 @@ import { mapToRecord } from "../../lib/conversion"; import Persistent from "../interfaces/Persistent"; import Store from "../interfaces/Store"; -interface DraftObject { +export interface DraftObject { content?: string; masquerade?: { avatar: string; diff --git a/src/pages/home/Home.tsx b/src/pages/home/Home.tsx index f6c82ba1..1d6e6d2f 100644 --- a/src/pages/home/Home.tsx +++ b/src/pages/home/Home.tsx @@ -53,7 +53,7 @@ export default observer(() => { const isDecember = !isTouchscreenDevice && new Date().getMonth() === 11; const isOctober = !isTouchscreenDevice && new Date().getMonth() === 9 const snowflakes = useMemo(() => { - const flakes = []; + const flakes: string[] = []; if (isDecember) { for (let i = 0; i < 15; i++) {