Closed rickmcgeer closed 2 years ago
So I figured this out. It all comes from deleting VerticalLayout and HorizontalLayout a week ago. A few comments:
I fixed it by doing git reset 4cfb2c680 --hard
, the closest thing to versioning I can manage. OK for now, but I really do want to talk about how we can make this smoother going forward. I know you guys well enough to know you had a good reason, I just want my code to not break, or to be able to fix it quickly when it does...
So I figured this out. It all comes from deleting VerticalLayout and HorizontalLayout a week ago. A few comments:
- It's very hard to fix broken code if you can't even browse it. I don't understand why the browser executes a module when it pulls it in for editing.
The reason is live editing, and inspection of the module and making the imports discoverable from other modules. Unlike VSCode we are not resolving so much of the meta information about modules by analyzing the code. Instead we just evaluate the modules and work with the runtime objects. That is less complex but more error prone. Avoiding that would imply that we need to add an analytics engine into lively.next, which we can do but as of now we do not have resources to. We can add a button wich you can click to explicitly load a module. @linusha You can chime in what you think about that. My worry is that it could make things more annoying/complex. But right now I havent thought more deeply about it.
- Obviously, it would have been nice to know that my application was going to get broken by a change in the underlying code base, and fixes available.
- Is it possible to get releases so I'm not simply pulling from github, but instead installing from a curated release with known properties?
- Can we have a curated Dockerfile for each release, so we don't have to build from scratch?
- And is it possible to get release notes, so application writers know about code changes that affect their code? I don't mind migrating from HorizontalLayout and VerticalLayout to TilingLayout, I just need to know it's coming and how to fix my code so it continues to work.
Regarding all of the above: This requires properly document version changes and an integrated system in lively that checks those versions and warns the user accordingly. Both those things are in the backlog and planned to be built in the very near future. It just takes time. Right now we are still busy with working on UI stuff of the studio and the migrating the renderer.
- I think Galyleo is still the most significant Lively application. I'm happy to contribute it to a regression test suite so you can see how changes affect applications, at least one application. Obviously this is sort of selfish -- getting an early warning on code problems is very much in my self-interest. But I'm looking at broken release at a critical week, I've spent 8 hours trying to recover this today, and I could really use your help. And I'll do whatever it takes to cooperate.
We can certainly talk about checking any changes we perform the if they break things with galyleo. What would help here is galyleo studio would finally have a set of tests that we can easily run and if these fail, reach out to you accordingly. We can also just try to load the studio app from a workspace, however that will probably just cover 75% of all cases.
Error in interactive command add package: Error: (SystemJS) __lvVarRecorder.VerticalLayout is not a constructor TypeError: __lvVarRecorder.VerticalLayout is not a constructor at __lvVarRecorder.VisualFilter.__lvVarRecorder.defVar_http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js.__lvVarRecorder.component.for.module (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:100:17) at Function.ComponentDescriptor_extractSpec_ (http://127.0.0.1:9011/lively.morphic/components/core.js:234:24) at Function.ComponentDescriptor_for_ (http://127.0.0.1:9011/lively.morphic/components/core.js:221:33) at __lvVarRecorder.component.for (http://127.0.0.1:9011/lively.morphic/components/core.js:658:105) at execute (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:88:179) Error loading http://127.0.0.1:9011/galyleo-dashboard/studio/index.js (SystemJS) __lvVarRecorder.VerticalLayout is not a constructor TypeError: __lvVarRecorder.VerticalLayout is not a constructor at __lvVarRecorder.VisualFilter.__lvVarRecorder.defVar_http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js.__lvVarRecorder.component.for.module (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:100:17) at Function.ComponentDescriptor_extractSpec_ (http://127.0.0.1:9011/lively.morphic/components/core.js:234:24) at Function.ComponentDescriptor_for_ (http://127.0.0.1:9011/lively.morphic/components/core.js:221:33) at __lvVarRecorder.component.for (http://127.0.0.1:9011/lively.morphic/components/core.js:658:105) at execute (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:88:179) Error loading http://127.0.0.1:9011/galyleo-dashboard/studio/index.js
I wasn't attempting to execute anything, just look at the code...
VerticalLayout
and HorizontalLayout
are not supported any more. For both of those use TilingLayout
now instead.
Robin, Thanks for the thoughtful response. I did change the layouts, but ran into another issue. Unfortunately, lively is now in a broken state on my system. I tried re-cloning the distribution into a new directory and now I am getting build errors in install.sh, and make docker-build just hangs.
On Wed, Nov 16, 2022 at 2:33 AM Robin Schreiber @.***> wrote:
Error in interactive command add package: Error: (SystemJS) lvVarRecorder.VerticalLayout is not a constructor TypeError: lvVarRecorder.VerticalLayout is not a constructor at lvVarRecorder.VisualFilter.lvVarRecorder.defVar_ http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js.__lvVarRecorder.component.for.module (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:100:17) at Function.ComponentDescriptorextractSpec ( http://127.0.0.1:9011/lively.morphic/components/core.js:234:24) at Function.ComponentDescriptorfor ( http://127.0.0.1:9011/lively.morphic/components/core.js:221:33) at lvVarRecorder.component.for ( http://127.0.0.1:9011/lively.morphic/components/core.js:658:105) at execute ( http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:88:179) Error loading http://127.0.0.1:9011/galyleo-dashboard/studio/index.js (SystemJS) lvVarRecorder.VerticalLayout is not a constructor TypeError: lvVarRecorder.VerticalLayout is not a constructor at lvVarRecorder.VisualFilter._lvVarRecorder.defVar http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js.__lvVarRecorder.component.for.module (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:100:17) at Function.ComponentDescriptorextractSpec ( http://127.0.0.1:9011/lively.morphic/components/core.js:234:24) at Function.ComponentDescriptorfor ( http://127.0.0.1:9011/lively.morphic/components/core.js:221:33) at __lvVarRecorder.component.for ( http://127.0.0.1:9011/lively.morphic/components/core.js:658:105) at execute ( http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:88:179) Error loading http://127.0.0.1:9011/galyleo-dashboard/studio/index.js I wasn't attempting to execute anything, just look at the code...
VerticalLayout and HorizontalLayout are not supported any more. For both of those use TilingLayout now instead.
— Reply to this email directly, view it on GitHub https://github.com/LivelyKernel/lively.next/issues/562#issuecomment-1316771124, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFAHA3AS2LYPEZHC4ZXS4DWIS2AZANCNFSM6AAAAAASBRDJ4U . You are receiving this because you authored the thread.Message ID: @.***>
-- Rick McGeer @.*** +15103346004
@merryman @linusha the fixes you suggested worked, and thanks. As @linusha told me by email, my hacked conversion to TilingLayout didn't work well (stuff doesn't look good) so I will try experimenting and also asking you guys for a tutorial on tiling layout. What I have is sufficient for a demo but we can't ship with the appearance it has now, but I am sure this can be fixed.
Two remarks, in addition to what was already said:
Error in interactive command add package: Error: (SystemJS) __lvVarRecorder.VerticalLayout is not a constructor TypeError: __lvVarRecorder.VerticalLayout is not a constructor at __lvVarRecorder.VisualFilter.__lvVarRecorder.defVar_http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js.__lvVarRecorder.component.for.module (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:100:17) at Function.ComponentDescriptor_extractSpec_ (http://127.0.0.1:9011/lively.morphic/components/core.js:234:24) at Function.ComponentDescriptor_for_ (http://127.0.0.1:9011/lively.morphic/components/core.js:221:33) at __lvVarRecorder.component.for (http://127.0.0.1:9011/lively.morphic/components/core.js:658:105) at execute (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:88:179) Error loading http://127.0.0.1:9011/galyleo-dashboard/studio/index.js (SystemJS) __lvVarRecorder.VerticalLayout is not a constructor TypeError: __lvVarRecorder.VerticalLayout is not a constructor at __lvVarRecorder.VisualFilter.__lvVarRecorder.defVar_http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js.__lvVarRecorder.component.for.module (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:100:17) at Function.ComponentDescriptor_extractSpec_ (http://127.0.0.1:9011/lively.morphic/components/core.js:234:24) at Function.ComponentDescriptor_for_ (http://127.0.0.1:9011/lively.morphic/components/core.js:221:33) at __lvVarRecorder.component.for (http://127.0.0.1:9011/lively.morphic/components/core.js:658:105) at execute (http://127.0.0.1:9011/galyleo-dashboard/studio/filters.cp.js:88:179) Error loading http://127.0.0.1:9011/galyleo-dashboard/studio/index.js
I wasn't attempting to execute anything, just look at the code...