-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom Component Example "BubbleMessage" works half-way #192
Comments
I also have this problem. |
Hello, I have try on my side, it's working well. Could you try with these files extension.zip ? It will help to know if we have to look for on the build process or on the browser integration. I have checked on chromium and firefox on ubuntu. Do you have info about your environment (browser, os, ...) |
I experience the same thing with the linked files, I am using nodejs v20.10.0 in a venv running python 3.10.11 I will upload examples of my files on windows and linux for the BubbleMessage and BubbleMessageAdvanced later tonight. |
ok here they are, top one is a link to my extension files built on my windows computer (do not work right), bottom is the files from my other machine (they've been working). They are in fact different. @FabienArcellier i'll upload a video of it happening tomorrow. |
I have done a diff on both files after reformating. I think the one from ubuntu (my version) is linked to the code of streamsync, the one on windows (your version) has built its own symbol. The external link from /*
injectionKeys is externalised so that it can be linked at runtime.
Otherwise, new, independent instances of Symbol would be created, for which
nothing would be provided.
*/
const injectionKeysPath = fileURLToPath(
new URL("src/injectionKeys.ts", import.meta.url),
); Here is the diff of both file Could you share your list on npm dependencies ? Here is mine on ubuntu, I use node v16.20.2.
|
Could you try the version build on ubuntu on instance of streamsync application ? Does it work ? |
can you clarify what the version build is? I just now made a fresh venv and a fresh clone of streamsync, ran custom.build and tried the two bubblemessage components and they worked fine |
here's mine on windows, npm 10.2.3, node 20.10.0 streamsync-ui@0.0.0 C:xxxxxxxxxxxxxxxxx\ui |
Sorry, I was unclear. Can you test one of the components built on Ubuntu on a streamsync application developed on Windows? Does it work ? If it works, we will focus our investigation on the build of custom compotent on windows platform. |
ah so do "npm custom.build" on ubuntu and then use those two generated files on a windows streamsync app, I will do that. |
components built on ubuntu work on both systems, components built on windows don't work on either system. |
here's a clip of what happens when I use the windows-built files ss-error-example.mp4 |
That's awesome, I think we should focus our investigation on the behavior of |
thanks, idk if this is relevant but I can develop the custom components on windows using the instant reload, so custom.dev works ok on windows, just not the custom.build |
@ZBMO, @Killian604 and @joelwiesmann, I have opened a PR to fix the build on windows. It would be awesome if you could help us and take few minutes to check if it also solves the issue on your side. |
That works great, I tested it with the default bubble components and my own. thank you! |
@FabienArcellier can you please confirm this is no longer an issue in 0.4.0? |
I tried to implement an own custom component. I followed the detailed instructions given in custom-components.md which worked well. The custom component did show up (render) in the frontend development mode (npm run custom.dev). I was able to place the component on the page and edit settings.
I then transpiled the code to the style.css and templates.umd.js and copied the two files into an app/extensions-subdirectory as described in the documentation.
After starting the app in edit mode, the new component could be drag & dropped onto the page. However it was not rendered. I see in the hierarchy-view the component and I can set it's fields, but it's not "displaying".
In browser debug mode I get this error message:
TypeError: Cannot read properties of undefined (reading 'text')
The text was updated successfully, but these errors were encountered: