balena-io / pensieve

A tool for managing and viewing structured documents, backed by the power of git
7 stars 5 forks source link

Improve first start experience #241

Open LucianBuzzo opened 6 years ago

LucianBuzzo commented 6 years ago

You should be able to create a document and schema file from the UI.

lurch commented 6 years ago

You also got a red warning message if the views.yaml is missing.

Is there some kind of 'minimal content' that a pensieve needs to "get going"? I'm trying to run a test pensieve from https://github.com/lurch/penplay and I get the message that "You will need to update your Pensieve installation to continue." so I click on the "Update now" button and I get the spinning cog-wheel, but then nothing else happens... :confused:

lurch commented 6 years ago

Ahh, I hadn't noticed there were errors in the JS console ;-)

pensieve.js:63 Object
pensieve.js:63 Object
pensieve.js:63 ObjectbranchInfo: {name: "master", commit: {…}, _links: {…}, protected: false, protection: {…}, …}config: {schema: "schema.yaml", contentPath: "content", repo: {…}}isLoggedIn: truelogout: ƒ ()__proto__: Object
api.github.com/repos/lurch/penplay/contents/README.md?ref=master Failed to load resource: the server responded with a status of 404 (Not Found)
pensieve.js:36 Unhandled rejection Error: 404 error making request GET https://api.github.com/repos/lurch/penplay/contents/README.md: "Not Found"
    at new t (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:6:108143)
    at https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:6:107398
From previous event:
    at i.d [as _captureStackTrace] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:10250)
    at s (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:68251)
    at r (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:67924)
    at Function.i.cast (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:41119)
    at Object.t.getFile (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:13938)
    at https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:147793
    at <anonymous>
F @ pensieve.js:36
pensieve.js:36 Unhandled rejection YAMLException: unacceptable kind of an object to dump [object Undefined]
    at x (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:362949)
    at S (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:363542)
    at Object.O [as safeDump] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:363595)
    at https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:41415
    at i (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:72778)
    at i._settlePromiseFromHandler (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:46184)
    at i._settlePromise (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:46984)
    at i._settlePromise0 (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:47683)
    at i._settlePromises (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:49010)
    at https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:2546
    at <anonymous>
From previous event:
    at i.d [as _captureStackTrace] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:10250)
    at i._then (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:41631)
    at i.then (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:39987)
    at Object.t.updateAndCommitDocumentStructure (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:41324)
    at t.value (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:187409)
    at onClick (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:188197)
    at Object.r (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:37:104680)
    at a (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:37:103029)
    at Object.s [as executeDispatchesInOrder] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:37:103244)
    at h (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:30115)
    at g (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:30241)
    at Array.forEach (<anonymous>)
    at r (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:154951)
    at Object.processEventQueue (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:31303)
    at r (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:340699)
    at Object.handleTopLevel [as _handleTopLevel] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:340769)
    at i (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:362908)
    at r.perform (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:49456)
    at Object.batchedUpdates (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:362457)
    at Object.i [as batchedUpdates] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:6:99205)
    at dispatchEvent (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:363761)
F @ pensieve.js:36

so I added the missing README.md that it was complaining about, but there's still one error left:

pensieve.js:63 {branchInfo: {…}, config: {…}, isLoggedIn: false, logout: ƒ}
pensieve.js:63 {branchInfo: {…}, config: {…}, isLoggedIn: true, logout: ƒ}
pensieve.js:63 {branchInfo: {…}, config: {…}, isLoggedIn: true, logout: ƒ}
pensieve.js:36 Unhandled rejection YAMLException: unacceptable kind of an object to dump [object Undefined]
    at x (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:362949)
    at S (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:363542)
    at Object.O [as safeDump] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:363595)
    at https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:41415
    at i (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:72778)
    at i._settlePromiseFromHandler (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:46184)
    at i._settlePromise (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:46984)
    at i._settlePromise0 (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:47683)
    at i._settlePromises (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:49010)
    at https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:2546
    at <anonymous>
From previous event:
    at i.d [as _captureStackTrace] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:10250)
    at i._then (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:41631)
    at i.then (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:36:39987)
    at Object.t.updateAndCommitDocumentStructure (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:41324)
    at t.value (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:187409)
    at onClick (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:63:188197)
    at Object.r (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:37:104680)
    at a (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:37:103029)
    at Object.s [as executeDispatchesInOrder] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:37:103244)
    at h (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:30115)
    at g (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:30241)
    at Array.forEach (<anonymous>)
    at r (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:154951)
    at Object.processEventQueue (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:31303)
    at r (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:340699)
    at Object.handleTopLevel [as _handleTopLevel] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:340769)
    at i (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:362908)
    at r.perform (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:12:49456)
    at Object.batchedUpdates (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:362457)
    at Object.i [as batchedUpdates] (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:6:99205)
    at dispatchEvent (https://resin-production-downloads.s3.amazonaws.com/pensieve/latest/pensieve.js:51:363761)
F @ pensieve.js:36
x @ pensieve.js:36
k @ pensieve.js:36
n._notifyUnhandledRejection @ pensieve.js:36
(anonymous) @ pensieve.js:36
setTimeout (async)
n._ensurePossibleRejectionHandled @ pensieve.js:36
i._reject @ pensieve.js:36
i._settlePromise @ pensieve.js:36
i._settlePromise0 @ pensieve.js:36
i._settlePromises @ pensieve.js:36
(anonymous) @ pensieve.js:36
Promise resolved (async)
a @ pensieve.js:36
f.hasDevTools.o.settlePromises @ pensieve.js:36
i._reject @ pensieve.js:36
i._settlePromise @ pensieve.js:36
i._settlePromise0 @ pensieve.js:36
i._settlePromises @ pensieve.js:36
(anonymous) @ pensieve.js:36
Promise resolved (async)
a @ pensieve.js:36
f.hasDevTools.o.settlePromises @ pensieve.js:36
i._reject @ pensieve.js:36
i._settlePromise @ pensieve.js:36
i._settlePromise0 @ pensieve.js:36
i._settlePromises @ pensieve.js:36
(anonymous) @ pensieve.js:36
Promise resolved (async)
a @ pensieve.js:36
f.hasDevTools.o.settlePromises @ pensieve.js:36
i._reject @ pensieve.js:36
i._settlePromise @ pensieve.js:36
i._settlePromise0 @ pensieve.js:36
i._settlePromises @ pensieve.js:36
(anonymous) @ pensieve.js:36
Promise resolved (async)
a @ pensieve.js:36
f.hasDevTools.o.settlePromises @ pensieve.js:36
i._reject @ pensieve.js:36
i._settlePromise @ pensieve.js:36
i._settlePromise0 @ pensieve.js:36
i._settlePromises @ pensieve.js:36
(anonymous) @ pensieve.js:36
Promise resolved (async)
a @ pensieve.js:36
f.hasDevTools.o.settlePromises @ pensieve.js:36
i._reject @ pensieve.js:36
i._rejectCallback @ pensieve.js:36
i._settlePromiseFromHandler @ pensieve.js:36
i._settlePromise @ pensieve.js:36
i._settlePromise0 @ pensieve.js:36
i._settlePromises @ pensieve.js:36
(anonymous) @ pensieve.js:36
Promise resolved (async)
a @ pensieve.js:36
f.hasDevTools.o.settlePromises @ pensieve.js:36
i._fulfill @ pensieve.js:36
i._resolveCallback @ pensieve.js:36
i @ pensieve.js:36
Promise resolved (async)
i @ pensieve.js:36
s @ pensieve.js:36
r @ pensieve.js:36
i.cast @ pensieve.js:36
t.getFile @ pensieve.js:12
t.updateAndCommitDocumentStructure @ pensieve.js:12
value @ pensieve.js:63
onClick @ pensieve.js:63
r @ pensieve.js:37
a @ pensieve.js:37
s @ pensieve.js:37
h @ pensieve.js:12
g @ pensieve.js:12
r @ pensieve.js:51
processEventQueue @ pensieve.js:12
r @ pensieve.js:51
handleTopLevel @ pensieve.js:51
i @ pensieve.js:51
perform @ pensieve.js:12
batchedUpdates @ pensieve.js:51
i @ pensieve.js:6
dispatchEvent @ pensieve.js:51
LucianBuzzo commented 6 years ago

@lurch try populating your document.yaml file with the text

content: []

Hopefully that will get you going whilst we work out these first start problems

lurch commented 6 years ago

@LucianBuzzo That got me a bit further, but I now get a different error ;-)

pensieve.js:63 {branchInfo: {…}, config: {…}, isLoggedIn: false, logout: ƒ}
pensieve.js:63 {branchInfo: {…}, config: {…}, isLoggedIn: true, logout: ƒ}
pensieve.js:63 Uncaught (in promise) TypeError: Cannot read property 'availableOperators' of undefined
    at t.generateFreshEdit (pensieve.js:63)
    at new t (pensieve.js:63)
    at f._constructComponentWithoutOwner (pensieve.js:51)
    at f._constructComponent (pensieve.js:51)
    at f.mountComponent (pensieve.js:51)
    at Object.mountComponent (pensieve.js:12)
    at f.performInitialMount (pensieve.js:51)
    at f.mountComponent (pensieve.js:51)
    at Object.mountComponent (pensieve.js:12)
    at g.mountChildren (pensieve.js:51)
    at g._createInitialChildren (pensieve.js:51)
    at g.mountComponent (pensieve.js:51)
    at Object.mountComponent (pensieve.js:12)
    at f.performInitialMount (pensieve.js:51)
    at f.mountComponent (pensieve.js:51)
    at Object.mountComponent (pensieve.js:12)
t.generateFreshEdit @ pensieve.js:63
t @ pensieve.js:63
_constructComponentWithoutOwner @ pensieve.js:51
_constructComponent @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
mountChildren @ pensieve.js:51
_createInitialChildren @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
mountChildren @ pensieve.js:51
_createInitialChildren @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
performInitialMount @ pensieve.js:51
mountComponent @ pensieve.js:51
mountComponent @ pensieve.js:12
updateChildren @ pensieve.js:51
_reconcilerUpdateChildren @ pensieve.js:51
_updateChildren @ pensieve.js:51
updateChildren @ pensieve.js:51
_updateDOMChildren @ pensieve.js:51
updateComponent @ pensieve.js:51
receiveComponent @ pensieve.js:51
receiveComponent @ pensieve.js:12
_updateRenderedComponent @ pensieve.js:51
_performComponentUpdate @ pensieve.js:51
updateComponent @ pensieve.js:51
receiveComponent @ pensieve.js:51
receiveComponent @ pensieve.js:12
_updateRenderedComponent @ pensieve.js:51
_performComponentUpdate @ pensieve.js:51
updateComponent @ pensieve.js:51
receiveComponent @ pensieve.js:51
receiveComponent @ pensieve.js:12
_updateRenderedComponent @ pensieve.js:51
_performComponentUpdate @ pensieve.js:51
updateComponent @ pensieve.js:51
receiveComponent @ pensieve.js:51
receiveComponent @ pensieve.js:12
_updateRenderedComponent @ pensieve.js:51
_performComponentUpdate @ pensieve.js:51
updateComponent @ pensieve.js:51
performUpdateIfNecessary @ pensieve.js:51
performUpdateIfNecessary @ pensieve.js:12
s @ pensieve.js:6
perform @ pensieve.js:12
perform @ pensieve.js:12
perform @ pensieve.js:6
k @ pensieve.js:6
closeAll @ pensieve.js:12
perform @ pensieve.js:12
batchedUpdates @ pensieve.js:51
u @ pensieve.js:6
r @ pensieve.js:51
enqueueSetState @ pensieve.js:51
r.setState @ pensieve.js:51
(anonymous) @ pensieve.js:63
Promise rejected (async)
value @ pensieve.js:63
updateComponent @ pensieve.js:51
receiveComponent @ pensieve.js:51
receiveComponent @ pensieve.js:12
_updateRenderedComponent @ pensieve.js:51
_performComponentUpdate @ pensieve.js:51
updateComponent @ pensieve.js:51
performUpdateIfNecessary @ pensieve.js:51
performUpdateIfNecessary @ pensieve.js:12
s @ pensieve.js:6
perform @ pensieve.js:12
perform @ pensieve.js:12
perform @ pensieve.js:6
k @ pensieve.js:6
closeAll @ pensieve.js:12
perform @ pensieve.js:12
batchedUpdates @ pensieve.js:51
u @ pensieve.js:6
r @ pensieve.js:51
enqueueSetState @ pensieve.js:51
r.setState @ pensieve.js:51
l.onStateChange @ pensieve.js:51
l @ pensieve.js:51
(anonymous) @ pensieve.js:12
(anonymous) @ pensieve.js:12
(anonymous) @ pensieve.js:12
Promise resolved (async)
t.login @ pensieve.js:12
(anonymous) @ pensieve.js:12
n._execute @ pensieve.js:36
i._resolveFromExecutor @ pensieve.js:36
i @ pensieve.js:36
(anonymous) @ pensieve.js:12
t @ pensieve.js:1
(anonymous) @ pensieve.js:63
t @ pensieve.js:1
(anonymous) @ pensieve.js:63
t @ pensieve.js:1
(anonymous) @ pensieve.js:51
t @ pensieve.js:1
(anonymous) @ pensieve.js:1
(anonymous) @ pensieve.js:1

This is just me messing about and isn't important, so feel free to ignore this issue for a while if you have more important stuff to work on ;)