makeplane / makeplane/plane

[bug]: Project Views page crashes with "TypeError: n.find is not a function" (self-hosted Enterprise v3.1.1)

Open
#9,640 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
59.6k
Forks
5.8k
Avg merge
1d 22h
Merged PRs (30d)
49

Description

Bug: Project "Views" page crashes with TypeError: n.find is not a function

Instance: self-hosted, Plane Enterprise Edition (Commercial), v3.1.1 (chart makeplane/plane-enterprise, latest available — confirmed both via /api/instances/ self-check and helm search repo)

Repro steps:

  1. Open any project → click "Views" tab in sidebar
  2. Page shows generic error boundary: "🚧 Looks like something went wrong!"

Environment: fresh project created via public API (POST .../projects/), 0 custom views defined, issue_views_view: true (default)

Console error:

TypeError: n.find is not a function
    at store-context-D98Bm7Rj.js:7:934577
    at store-context-D98Bm7Rj.js:1:7976
    at vt (mobxreact.esm-DHqZ4TCz.js:3:5997)
    at t.computeValue_ (mobxreact.esm-DHqZ4TCz.js:3:25706)
    at t.trackAndCompute (mobxreact.esm-DHqZ4TCz.js:3:25551)
    at t.get (mobxreact.esm-DHqZ4TCz.js:3:25163)
    at store-context-D98Bm7Rj.js:1:7631
    at sidebar-wrapper-GUitNyCP.js:1:14124
    at Object.hs [as useMemo] (react-dom-CmQL-dVO.js:6:21173)
    at e.useMemo (chunk-ZA36QIGN-b7JuA1sz.js:1:7330)

followed by React Router error boundary catch + duplicate React error #418/#423 (hydration mismatch, secondary symptom of the above).

Notes:

  • Confirmed NOT a backend/API issue — every request in this flow (GET .../views/?per_page=50, GET .../views-lite/) returns 200 with valid (empty) response.
  • Reproduces identically on both v3.1.0 and v3.1.1 (upgraded specifically to test — no change).
  • Root cause looks like a MobX computed value in the sidebar's store-context calling .find() on a value that isn't an array — possibly a shape mismatch between what views-lite (returns raw array) and views (returns paginated {results: [...]}) endpoints return, if the sidebar merges/reads from both without normalizing.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin at the sidebar's computed path in store-context-D98Bm7Rj.js and trace the data used with GET .../views/?per_page=50 and GET .../views-lite/. Reproduce on an empty project, compare the returned shapes, and verify completion when the Project Views page opens without the TypeError or error boundary.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.