| error | auth-hook.ts:44 | @typescript-eslint/no-unnecessary-condition | Unnecessary optional chain on a non-nullish value. |
| error | auth-hook.ts:47 | require-atomic-updates | Possible race condition: `request.currentUser` might be assigned based on an outdated state of `request`. |
| error | container.ts:41 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | container.ts:165 | @typescript-eslint/no-floating-promises | Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator. |
| error | server.ts:79 | @typescript-eslint/require-await | Async arrow function has no 'await' expression. |
| error | routes.ts:67 | @typescript-eslint/no-unnecessary-condition | Unnecessary optional chain on a non-nullish value. |
| error | agent.ts:48 | @typescript-eslint/require-await | Async function 'rowToDTO' has no 'await' expression. |
| error | agent.ts:148 | @typescript-eslint/require-await | Async method 'handler' has no 'await' expression. |
| error | backup.ts:113 | @typescript-eslint/no-floating-promises | Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator. |
| error | backup.ts:121 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | backup.ts:122 | @typescript-eslint/no-unsafe-assignment | Unsafe assignment of an `any` value. |
| error | backup.ts:141 | @typescript-eslint/no-misused-promises | Promise-returning function provided to property where a void return was expected. |
| error | routes.ts:225 | @typescript-eslint/await-thenable | Unexpected `await` of a non-Promise (non-"Thenable") value. |
| error | routes.ts:225 | @typescript-eslint/no-confusing-void-expression | Placing a void expression inside another expression is forbidden. Move it to its own statement instead. |
| error | memory.ts:15 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | memory.ts:16 | @typescript-eslint/no-unnecessary-condition | Unnecessary optional chain on a non-nullish value. |
| error | memory.ts:31 | @typescript-eslint/require-await | Async method 'get' has no 'await' expression. |
| error | memory.ts:41 | @typescript-eslint/require-await | Async method 'set' has no 'await' expression. |
| error | memory.ts:45 | @typescript-eslint/require-await | Async method 'del' has no 'await' expression. |
| error | memory.ts:56 | @typescript-eslint/require-await | Async method 'expire' has no 'await' expression. |
| error | memory.ts:61 | @typescript-eslint/require-await | Async method 'ttl' has no 'await' expression. |
| error | client.ts:48 | @typescript-eslint/require-await | Async arrow function has no 'await' expression. |
| error | client.ts:106 | @typescript-eslint/require-await | Async method 'close' has no 'await' expression. |
| error | migrate.ts:13 | @typescript-eslint/require-await | Async arrow function has no 'await' expression. |
| error | console.ts:5 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | console.ts:7 | @typescript-eslint/require-await | Async method 'send' has no 'await' expression. |
| error | memory.ts:18 | @typescript-eslint/require-await | Async method 'heartbeat' has no 'await' expression. |
| error | memory.ts:22 | @typescript-eslint/require-await | Async method 'onlineCount' has no 'await' expression. |
| error | memory.ts:27 | @typescript-eslint/require-await | Async method 'onlineUserIds' has no 'await' expression. |
| error | memory.ts:32 | @typescript-eslint/require-await | Async method 'lastSeen' has no 'await' expression. |
| error | worker.ts:114 | require-atomic-updates | Possible race condition: `polling` might be reassigned based on an outdated value of `polling`. |
| error | worker.ts:121 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | worker.ts:125 | @typescript-eslint/no-unnecessary-condition | Unnecessary optional chain on a non-nullish value. |
| error | worker.ts:127 | @typescript-eslint/require-await | Async method 'stop' has no 'await' expression. |
| error | local.ts:49 | @typescript-eslint/require-await | Async method 'generateUploadUrl' has no 'await' expression. |
| error | local.ts:63 | @typescript-eslint/require-await | Async method 'generateDownloadUrl' has no 'await' expression. |
| error | local.ts:74 | empty-catch | 空的 catch 块吞掉了错误——异常发生时无任何记录,问题将被掩盖 |
| error | service.ts:86 | @typescript-eslint/no-unnecessary-condition | Unnecessary conditional, comparison is always true, since `"user" === "user"` is true. |
| error | routes.ts:26 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | mock.ts:5 | @typescript-eslint/require-await | Async function 'main' has no 'await' expression. |
| error | admin-page.tsx:70 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | admin-page.tsx:484 | @typescript-eslint/no-misused-promises | Promise-returning function provided to attribute where a void return was expected. |
| error | admin-page.tsx:583 | @typescript-eslint/no-unnecessary-condition | Unnecessary optional chain on a non-nullish value. |
| error | discussion-app.tsx:29 | react-hooks/exhaustive-deps | Definition for rule 'react-hooks/exhaustive-deps' was not found. |
| error | discussion-app.tsx:57 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | feedback-page.tsx:55 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | feedback-page.tsx:59 | eqeqeq | Expected '===' and instead saw '=='. |
| error | feedback-page.tsx:153 | eqeqeq | Expected '!==' and instead saw '!='. |
| error | feedback-page.tsx:347 | @typescript-eslint/no-misused-promises | Promise-returning function provided to attribute where a void return was expected. |
| error | api.ts:271 | empty-catch | 空的 catch 块吞掉了错误——异常发生时无任何记录,问题将被掩盖 |
| error | api.ts:275 | @typescript-eslint/no-unnecessary-condition | Unnecessary optional chain on a non-nullish value. |
| error | auth.tsx:42 | empty-catch | 空的 catch 块吞掉了错误——异常发生时无任何记录,问题将被掩盖 |
| error | realtime.ts:14 | @typescript-eslint/no-unsafe-argument | Unsafe argument of type `any` assigned to a parameter of type `string`. |
| error | realtime.ts:15 | empty-catch | 空的 catch 块吞掉了错误——异常发生时无任何记录,问题将被掩盖 |
| error | use-animated-tabs.ts:32 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | use-tab-indicator.ts:27 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | use-tab-indicator.ts:28 | react-hooks/exhaustive-deps | Definition for rule 'react-hooks/exhaustive-deps' was not found. |
| error | login-page.tsx:40 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | login-page.tsx:129 | @typescript-eslint/no-misused-promises | Promise-returning function provided to attribute where a void return was expected. |
| error | mobile-menu.tsx:126 | @typescript-eslint/no-misused-promises | Promise-returning function provided to attribute where a void return was expected. |
| error | post-page.tsx:22 | @typescript-eslint/no-unnecessary-condition | Unnecessary conditional, expected left-hand side of `??` operator to be possibly null or undefined. |
| error | post-page.tsx:71 | @typescript-eslint/no-misused-promises | Promise-returning function provided to attribute where a void return was expected. |
| error | post-page.tsx:75 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | profile-page.tsx:126 | @typescript-eslint/no-misused-promises | Promise-returning function provided to attribute where a void return was expected. |
| error | profile-page.tsx:140 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | root-app.tsx:43 | @typescript-eslint/no-unnecessary-condition | Unnecessary conditional, value is always falsy. |
| error | root-app.tsx:125 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | s-dropdown.tsx:66 | eqeqeq | Expected '===' and instead saw '=='. |
| error | s-dropdown.tsx:78 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | settings-page.tsx:32 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | settings-page.tsx:136 | @typescript-eslint/no-misused-promises | Promise-returning function provided to attribute where a void return was expected. |
| error | thread-page.tsx:184 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | thread-page.tsx:324 | @typescript-eslint/no-misused-promises | Promise-returning function provided to attribute where a void return was expected. |
| error | user-menu.tsx:46 | @typescript-eslint/no-confusing-void-expression | Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function. |
| error | user-menu.tsx:57 | @typescript-eslint/no-misused-promises | Promise-returning function provided to attribute where a void return was expected. |
| warning | service.ts:239 | @typescript-eslint/prefer-optional-chain | Prefer using an optional chain expression instead, as it's more concise and easier to read. |
| warning | service.ts:242 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | bootstrap.ts:23 | no-await-in-loop | Unexpected `await` inside a loop. |
| warning | service.ts:55 | @typescript-eslint/prefer-nullish-coalescing | Prefer using nullish coalescing operator (`??`) instead of a logical or (`||`), as it is a safer operator. |
| warning | session.ts:28 | @typescript-eslint/no-unused-vars | 'ttlMs' is assigned a value but never used. Allowed unused args must match /^_/u. |
| warning | can.ts:128 | @typescript-eslint/prefer-optional-chain | Prefer using an optional chain expression instead, as it's more concise and easier to read. |
| warning | can.ts:131 | @typescript-eslint/switch-exhaustiveness-check | Switch is not exhaustive. Cases not matched: "board.update" | "board.manage_members" | "board.join" | "discussion.create" | "discussion.read" | "discussion.update" | "discussion.delete" | "discussion.pin" | "discussion.lock" | "reply.create" | "reply.update" | "reply.delete" | "user.update.self" | "user.follow" | "attachment.delete" | "feedback.view" | "feedback.create" | "feedback.update" | "feedback.delete" | "feedback.manage" |
| warning | routes.ts:6 | @typescript-eslint/no-unused-vars | 'BoardService' is defined but never used. |
| warning | service.ts:1 | @typescript-eslint/no-unused-vars | 'inArray' is defined but never used. |
| warning | service.ts:110 | @typescript-eslint/no-unused-vars | 'boardId' is assigned a value but never used. |
| warning | service.ts:126 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | service.ts:1 | @typescript-eslint/no-unused-vars | 'gt' is defined but never used. |
| warning | service.ts:139 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | service.ts:140 | @typescript-eslint/no-unnecessary-type-assertion | This assertion is unnecessary since it does not change the type of the expression. |
| warning | service.ts:560 | @typescript-eslint/prefer-optional-chain | Prefer using an optional chain expression instead, as it's more concise and easier to read. |
| warning | agent.ts:8 | @typescript-eslint/no-unused-vars | 'badRequest' is defined but never used. |
| warning | agent.ts:47 | @typescript-eslint/no-unused-vars | 'feedbackService' is defined but never used. Allowed unused args must match /^_/u. |
| warning | backup.ts:70 | no-await-in-loop | Unexpected `await` inside a loop. |
| warning | backup.ts:103 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | service.ts:199 | no-await-in-loop | Unexpected `await` inside a loop. |
| warning | service.ts:346 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | client.ts:48 | @typescript-eslint/no-explicit-any | Unexpected any. Specify a different type. |
| warning | client.ts:102 | @typescript-eslint/no-unnecessary-type-assertion | This assertion is unnecessary since it does not change the type of the expression. |
| warning | markdown.ts:25 | @typescript-eslint/no-unnecessary-type-assertion | This assertion is unnecessary since it does not change the type of the expression. |
| warning | worker.ts:95 | no-await-in-loop | Unexpected `await` inside a loop. |
| warning | service.ts:121 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | routes.ts:37 | no-await-in-loop | Unexpected `await` inside a loop. |
| warning | service.ts:61 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | service.ts:25 | no-await-in-loop | Unexpected `await` inside a loop. |
| warning | admin-page.tsx:6 | @typescript-eslint/no-unused-vars | 'FeedbackProjectMember' is defined but never used. |
| warning | admin-page.tsx:89 | security/detect-possible-timing-attacks | Potential timing attack, left side: true |
| warning | admin-page.tsx:701 | @typescript-eslint/prefer-nullish-coalescing | Prefer using nullish coalescing operator (`??`) instead of a logical or (`||`), as it is a safer operator. |
| warning | admin-page.tsx:708 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | discussion-app.tsx:14 | @typescript-eslint/no-redundant-type-constituents | "all" is overridden by string in this union type. |
| warning | entry-client.tsx:6 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | feedback-page.tsx:157 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | login-page.tsx:37 | security/detect-possible-timing-attacks | Potential timing attack, left side: true |
| warning | root-app.tsx:121 | @typescript-eslint/no-non-null-assertion | Forbidden non-null assertion. |
| warning | thread-page.tsx:201 | security/detect-possible-timing-attacks | Potential timing attack, left side: true |