botpress / messaging

Botpress messaging server
42 stars 37 forks source link

Issues making Messaging work #555

Closed Naroh091 closed 1 year ago

Naroh091 commented 1 year ago

Hello everyone,

I'm trying to start developing a custom channel based on the custom-channel repo and from what I can understand I need to get this working locally so I can connect my custom channel and start building, but I'm having some issues making it work.

First, I don't not if it's an issue of the documentation but I couldn't start the services using Tilt the way it's documented - had to run a yarn install first (which sounds logic but maybe the step should be explicitly mentioned?)

This yarn install gives me some warnings about dependencies not satisfied, but after it Tilt can start the resources successfully:

❯ yarn install
➤ YN0000: ┌ Resolution step
➤ YN0002: │ @botpress/messaging-board@workspace:packages/board doesn't provide @parcel/core (p8ec10), requested by @parcel/config-default
➤ YN0002: │ @botpress/messaging-components@workspace:packages/components doesn't provide babel-loader (p6cd3a), requested by @storybook/addon-essentials
➤ YN0002: │ @botpress/messaging-components@workspace:packages/components [d721a] doesn't provide babel-loader (p7a0bc), requested by @storybook/addon-essentials
➤ YN0002: │ @botpress/messaging-server@workspace:packages/server doesn't provide @opentelemetry/api (pc6b23), requested by @opentelemetry/instrumentation-aws-sdk
➤ YN0002: │ @botpress/messaging-server@workspace:packages/server doesn't provide @opentelemetry/api (p07603), requested by @opentelemetry/instrumentation-express
➤ YN0002: │ @botpress/messaging-server@workspace:packages/server doesn't provide @opentelemetry/api (p1080b), requested by @opentelemetry/instrumentation-http
➤ YN0002: │ @botpress/messaging-server@workspace:packages/server doesn't provide @opentelemetry/api (p6bb08), requested by @opentelemetry/instrumentation-ioredis
➤ YN0002: │ @botpress/messaging-server@workspace:packages/server doesn't provide @opentelemetry/api (p6bef0), requested by @opentelemetry/instrumentation-knex
➤ YN0002: │ @botpress/messaging-server@workspace:packages/server doesn't provide @opentelemetry/api (p2e0b5), requested by @opentelemetry/instrumentation-pg
➤ YN0002: │ @botpress/messaging-server@workspace:packages/server doesn't provide prom-client (p34f6f), requested by @promster/types
➤ YN0002: │ @botpress/webchat-inject@workspace:packages/inject doesn't provide @parcel/core (p5db79), requested by @parcel/config-default
➤ YN0002: │ @botpress/webchat-inject@workspace:packages/inject doesn't provide typescript (pb00c9), requested by @parcel/transformer-typescript-tsc
➤ YN0060: │ @botpress/webchat@workspace:packages/webchat provides mime (p5bc44) with version 3.0.0, which doesn't satisfy what @botpress/messaging-components requests
➤ YN0060: │ @botpress/webchat@workspace:packages/webchat provides react (p33191) with version 17.0.2, which doesn't satisfy what @botpress/messaging-components and some of its descendants request
➤ YN0060: │ @botpress/webchat@workspace:packages/webchat provides react (p4b3ac) with version 17.0.2, which doesn't satisfy what mobx-react and some of its descendants request
➤ YN0060: │ @botpress/webchat@workspace:packages/webchat provides react (p61e8a) with version 17.0.2, which doesn't satisfy what react-ga requests
➤ YN0060: │ @botpress/webchat@workspace:packages/webchat provides react (p18844) with version 17.0.2, which doesn't satisfy what react-intl requests
➤ YN0060: │ @botpress/webchat@workspace:packages/webchat provides react-dom (p50820) with version 17.0.2, which doesn't satisfy what @botpress/messaging-components and some of its descendants request
➤ YN0060: │ @bpinternal/trail@npm:0.1.0 provides @opentelemetry/api (pa21f3) with version 1.1.0, which doesn't satisfy what @opentelemetry/auto-instrumentations-node and some of its descendants request
➤ YN0002: │ @mdx-js/loader@npm:1.6.22 doesn't provide react (p12550), requested by @mdx-js/react
➤ YN0002: │ @parcel/optimizer-image@npm:2.2.1 doesn't provide @parcel/core (p48c9f), requested by @parcel/workers
➤ YN0002: │ @parcel/reporter-dev-server@npm:2.2.1 doesn't provide @types/express (p57ed2), requested by http-proxy-middleware
➤ YN0002: │ @parcel/transformer-image@npm:2.2.1 doesn't provide @parcel/core (p7bfaa), requested by @parcel/workers
➤ YN0002: │ @parcel/transformer-js@npm:2.2.1 doesn't provide @parcel/core (pe40b6), requested by @parcel/workers
➤ YN0002: │ @parcel/transformer-postcss@npm:2.2.1 doesn't provide postcss (p0b5da), requested by postcss-modules
➤ YN0002: │ @parcel/types@npm:2.2.1 doesn't provide @parcel/core (pfd728), requested by @parcel/fs
➤ YN0002: │ @parcel/types@npm:2.2.1 doesn't provide @parcel/core (p9b3cc), requested by @parcel/workers
➤ YN0002: │ @parcel/types@npm:2.2.1 doesn't provide @parcel/core (pe2210), requested by @parcel/cache
➤ YN0002: │ @parcel/types@npm:2.2.1 doesn't provide @parcel/core (p7a308), requested by @parcel/package-manager
➤ YN0002: │ @promster/express@npm:7.0.5 doesn't provide prom-client (pf18c2), requested by @promster/metrics
➤ YN0002: │ @promster/metrics@npm:9.1.5 [45095] doesn't provide typescript (pcf955), requested by ts-essentials
➤ YN0002: │ @promster/metrics@npm:9.1.5 [471c6] doesn't provide typescript (p7c2a9), requested by ts-essentials
➤ YN0002: │ @promster/server@npm:7.0.7 doesn't provide prom-client (p399ec), requested by @promster/metrics
➤ YN0002: │ @vonage/server-sdk@npm:2.10.7-beta-2 doesn't provide @babel/core (p3f8da), requested by @babel/eslint-parser
➤ YN0002: │ @vonage/server-sdk@npm:2.10.7-beta-2 doesn't provide eslint (pf6ac9), requested by @babel/eslint-parser
➤ YN0002: │ @vonage/server-sdk@npm:2.10.7-beta-2 doesn't provide eslint (pe1fde), requested by @babel/eslint-plugin
➤ YN0002: │ sunshine-conversations-client@npm:9.5.9 doesn't provide @babel/core (pf0dc1), requested by @babel/cli
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed in 0s 649ms
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 1s 381ms
➤ YN0000: ┌ Link step
➤ YN0005: │ core-js@npm:3.20.0 lists build scripts, but its build has been explicitly disabled through configuration.
➤ YN0005: │ core-js-pure@npm:3.20.0 lists build scripts, but its build has been explicitly disabled through configuration.
➤ YN0000: └ Completed in 1s 848ms
➤ YN0000: Done with warnings in 4s 144ms

Once I have those resources started and in "ready" status if I open the messaging resource details I can see in the logs that the server is listening:

12/01/2022 14:01:00.058 Launcher ===========================================================================
                                                             Botpress Messaging                            
                                                                Version 1.2.7                               
                                 ===========================================================================
12/01/2022 14:01:00.191 Admin ===========================================================================
                                                         ADMIN_KEY IS NOT SET                           
                                                     ADMIN ROUTES ARE UNPROTECTED                       
                              ===========================================================================
12/01/2022 14:01:00.220 Launcher Server is listening at: http://localhost:3100/
12/01/2022 14:01:00.220 Launcher No external URL configured. Messaging Server might not behave as expected. Set the value for 'EXTERNAL_URL' to suppress this warning

But if I go to http://localhost:3100 I get this:

image

Also, if I try to open the webchat (which is located at http://127.0.0.1:3543/) I only see the "Example website This website integrates the botpress webchat!" text without any webchat, and these errors on the console:

Live reload enabled.

127.0.0.1/:1 Uncaught SyntaxError: Unexpected token 'c', "connected" is not valid JSON
    at JSON.parse (<anonymous>)
    at ws.onmessage (runtime-79e8b212159ad102.js:109:12)

runtime-ea4cd6bdd08c17f2.js:95 WebSocket connection to 'ws://localhost:8080/' failed: 
goWOo @ runtime-ea4cd6bdd08c17f2.js:95

useObserver.ts:59 [MobX] You haven't configured observer batching which might result in unexpected behavior in some cases. See more at https://github.com/mobxjs/mobx-react-lite/#observer-batching
useObserver @ useObserver.ts:59

runtime-ea4cd6bdd08c17f2.js:95 WebSocket connection to 'ws://localhost:8080/' failed: 
goWOo @ runtime-ea4cd6bdd08c17f2.js:95

runtime-ea4cd6bdd08c17f2.js:171 undefined
ws.onerror @ runtime-ea4cd6bdd08c17f2.js:171

runtime-ea4cd6bdd08c17f2.js:175 [parcel] 🚨 Connection to the HMR server was lost
ws.onclose @ runtime-ea4cd6bdd08c17f2.js:175

index.4fdcc17c.js:12947 Uncaught (in promise) Client not found

The same thing happens if I drop Tilt and try to start it using yarn dev.

Is there anything that I'm missing? If so please let me know, I'm eager to make this work and hopefully contribute to the project in the future since we may use it intensely at work.

Thanks,