celeroncoder / celeroncoder/unreal-chat

React Review Audit

Open
#1 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
2
Forks
2
PR merge metrics
No merged PRs in 30d

Description

**Score: 97/100** · 1 error · 6 warnings

Copy as prompt

```text
Fix the following React Review diagnostics in my codebase.

## Errors (1)

1. [error] effect-needs-cleanup — src/components/Chats/List/index.tsx:29
useEffect subscribes via `subscribe(...)` but never returns a cleanup — leaks the registration on every re-run and on unmount. Return a cleanup function that calls the matching remove/unsubscribe call

## Warnings (6)

2. [warning] no-react19-deprecated-apis — src/components/shared/Logout.tsx:4
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`

3. [warning] no-react19-deprecated-apis — src/components/Chats/List/index.tsx:2
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`

4. [warning] client-localstorage-no-version — src/store/index.ts:17
localStorage.setItem("user", JSON.stringify(...)) — bake a version into the key (e.g. "user:v1") so a future schema change can ignore old data instead of crashing on it

5. [warning] no-react19-deprecated-apis — src/components/Chats/Input/index.tsx:2
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`

6. [warning] no-react19-deprecated-apis — src/pages/Signup.tsx:13
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`

7. [warning] no-react19-deprecated-apis — src/pages/Login.tsx:14
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`
```

---

### ❌ Errors (1)

**`effect-needs-cleanup`**

useEffect subscribes via `subscribe(...)` but never returns a cleanup — leaks the registration on every re-run and on unmount. Return a cleanup function that calls the matching remove/unsubscribe call

> Return a cleanup function that releases the subscription / timer: `return () => target.removeEventListener(name, handler)` for listeners, `return () => clearInterval(id)` / `clearTimeout(id)` for timers, or `return unsubscribe` if the subscribe call already returned one

[`src/components/Chats/List/index.tsx:29`](https://github.com/celeroncoder/unreal-chat/blob/661d5c0dc85b0e5c3138cb0a3fd90d224a2a917b/src/components/Chats/List/index.tsx#L29)

---

### ⚠️ Warnings (6)

**`no-react19-deprecated-apis`**

useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`

> Pass `ref` as a regular prop on function components — `forwardRef` is no longer needed in React 19+. Replace `useContext(X)` with `use(X)` for branch-aware context reads. Only enabled on projects detected as React 19+.

[`src/components/shared/Logout.tsx:4`](https://github.com/celeroncoder/unreal-chat/blob/661d5c0dc85b0e5c3138cb0a3fd90d224a2a917b/src/components/shared/Logout.tsx#L4)
[`src/components/Chats/List/index.tsx:2`](https://github.com/celeroncoder/unreal-chat/blob/661d5c0dc85b0e5c3138cb0a3fd90d224a2a917b/src/components/Chats/List/index.tsx#L2)
[`src/components/Chats/Input/index.tsx:2`](https://github.com/celeroncoder/unreal-chat/blob/661d5c0dc85b0e5c3138cb0a3fd90d224a2a917b/src/components/Chats/Input/index.tsx#L2)
[`src/pages/Signup.tsx:13`](https://github.com/celeroncoder/unreal-chat/blob/661d5c0dc85b0e5c3138cb0a3fd90d224a2a917b/src/pages/Signup.tsx#L13)
[`src/pages/Login.tsx:14`](https://github.com/celeroncoder/unreal-chat/blob/661d5c0dc85b0e5c3138cb0a3fd90d224a2a917b/src/pages/Login.tsx#L14)

**`client-localstorage-no-version`**

localStorage.setItem("user", JSON.stringify(...)) — bake a version into the key (e.g. "user:v1") so a future schema change can ignore old data instead of crashing on it

> Bake a version into the storage key (e.g. "myKey:v1"); a future schema change can ignore old data instead of crashing on it

[`src/store/index.ts:17`](https://github.com/celeroncoder/unreal-chat/blob/661d5c0dc85b0e5c3138cb0a3fd90d224a2a917b/src/store/index.ts#L17)

---

Last scored May 14, 2026 at 9:39 AM UTC. Maintained by [React Review](https://github.com/millionco/react-review).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.