urbit / landscape

Product board for Landscape.
20 stars 6 forks source link

Creating notebook in a group errors out. #1503

Open thelifeandtimes opened 1 year ago

thelifeandtimes commented 1 year ago

I am trying to create a notebook channel in a private group, and after successfully creating two notebooks, on attempt of creating a third (titled, Notices), i get sent the the error page with the following stack trace warning and a prompt to file this as an issue.

"c.includes is not a function"

isWriter (webpack:///groups/lib.ts 201:19)
isWriter (webpack:///src/views/landscape/components/ResourceSkeleton.tsx 105:16)
Ch (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 157:136)
b?b.sibling:null}I (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 267:459)
Pj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 250:346)
Pj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 250:277)
Pj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 250:137)
Lj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 243:162)
jg (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 123:114)
unstable_next (webpack:///node_modules/scheduler/cjs/scheduler.production.min.js 18:342)

The notebook appears to have been created, but if trying to join from either the host ship, or a member-admin, it sends me to this same error message. Might be a moot point with groups 2 coming up, but figured I would log the bug for the important reason of:

The system gave me the stack trace and made it super easy to click a button and end up at this issue creation screen with the context that appears like it would be useful to a developer tasked with looking into this issue.

netpoetica commented 1 year ago

I can confirm the same issue:

“c.includes is not a function”
Stack trace
isWriter (webpack:///groups/lib.ts 201:19)
isWriter (webpack:///src/views/landscape/components/ResourceSkeleton.tsx 105:16)
Ch (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 157:136)
b?b.sibling:null}I (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 267:459)
Pj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 250:346)
Pj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 250:277)
Pj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 250:137)
Lj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 243:162)
jg (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 123:114)
unstable_next (webpack:///node_modules/scheduler/cjs/scheduler.production.min.js 18:342)

It seems to me that the issue is actually not with creating the notebook, but with accessing the notebook. Like OP said, the Notebook was created, but if I try to click on it to open it, I get the same stacktrace every time:

isWriter (webpack:///groups/lib.ts 201:19)
isWriter (webpack:///src/views/landscape/components/ResourceSkeleton.tsx 105:16)
Ch (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 157:136)
b?b.sibling:null}I (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 267:459)
Pj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 250:346)
Pj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 250:277)
Pj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 250:137)
Lj (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 243:162)
jg (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js 123:114)
unstable_next (webpack:///node_modules/scheduler/cjs/scheduler.production.min.js 18:342)

However, after I clicked Refresh in the browser, it appears I am able to access this notebook.

First instinct is this is some sort of app state mismatch where the backend is aware of this notebook but the front-end state isn't - after refresh, state is synchronized. Very typical React nonsense.