ionorg / ion-app-web Goto Github PK
View Code? Open in Web Editor NEWion web app
License: MIT License
ion web app
License: MIT License
node-sass
required python 2 and this makes the build process so complicated because it is deprecated. based on this issue I think it is better to switch on the sass
package or update it to prevent the python2 dependency.
2020/06/01 14:27:37 http: TLS handshake error from 197.94.230.123:51063: no certificate available for 'dc-a.ws.proda.gocharting.com'
Why I am getting the above error?
I used the latest ion, ion app web, but when I click test connection on the login page, the server will appear: error authenticating user = > no token. What's wrong with this?
Version: Release or SHA
Browser: Brave Broswer
Other Information - stacktraces, related issues, suggestions how to fix, links for us to have context
cd ion
docker-compose -f docker-compose.stable.yml up
cd ../ion-app-web
npm i
npm start
In the browser, I entered a room name and user name.
I expected to see a video of myself and a spinner for the next guest.
The self video did not appear and there was a web socket error:
WebSocket connection to 'wss://localhost:8443/ws?peer=8024cba3-aa81-47a7-8ec9-e48c6c97d434' failed: Error in connection establishment: net::ERR_SSL_PROTOCOL_ERROR
I worked around it by hard coding the websocket URL to wss://ion.notmyactualdomain.live
where I have deployed ion and ion-app-web.
I see a video feed of my camera. When I try to connect from my phone and my other laptop I am unable to connect. I use 10.0.0.234:8080 which is my laptop's ip. Any idea why or how to solve this?
I want to test the video conferencing by connecting from another laptop and a phone in my home network
The browsers on the phone and the laptop are 'unable to connect' to the web app
sudo docker network create ionnet
sudo docker-compose -f docker-compose.yml up
I accepted the risk since the connection is not secure
I see the form. Room: lobby, Name: Oren
In the JS console I see: Firefox can’t establish a connection to the server at wss://localhost:5551/room.RoomSignal/Signal
I don't know but not an error.
I see a 'connecting...' spinner and a javascript error
git clone and then docker-compose build on ubuntu 20.04
When running
git clone [email protected]:pion/ion-app-web.git
cd ion-app-web
docker-compose up --build
on Ubuntu 20.04
npm ERR! gyp verb architecture x64
npm ERR! gyp verb node dev dir /root/.node-gyp/16.1.0
npm ERR! gyp verb `which` succeeded for `make` /usr/bin/make
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! ../src/libsass/src/cencode.c: In function 'base64_encode_block':
npm ERR! ../src/libsass/src/cencode.c:48:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
npm ERR! 48 | result = (fragment & 0x003) << 4;
npm ERR! | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
npm ERR! ../src/libsass/src/cencode.c:52:2: note: here
npm ERR! 52 | case step_B:
npm ERR! | ^~~~
npm ERR! ../src/libsass/src/cencode.c:62:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
npm ERR! 62 | result = (fragment & 0x00f) << 2;
npm ERR! | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
npm ERR! ../src/libsass/src/cencode.c:66:2: note: here
npm ERR! 66 | case step_C:
npm ERR! | ^~~~
npm ERR! ../src/libsass/src/functions.cpp: In function 'void Sass::Functions::handle_utf8_error(const Sass::ParserState&, Sass::Backtraces)':
npm ERR! ../src/libsass/src/functions.cpp:110:20: warning: catching polymorphic type 'class utf8::invalid_code_point' by value [-Wcatch-value=]
npm ERR! 110 | catch (utf8::invalid_code_point) {
npm ERR! | ^~~~~~~~~~~~~~~~~~
npm ERR! ../src/libsass/src/functions.cpp:114:20: warning: catching polymorphic type 'class utf8::not_enough_room' by value [-Wcatch-value=]
npm ERR! 114 | catch (utf8::not_enough_room) {
npm ERR! | ^~~~~~~~~~~~~~~
npm ERR! ../src/libsass/src/functions.cpp:118:20: warning: catching polymorphic type 'class utf8::invalid_utf8' by value [-Wcatch-value=]
npm ERR! 118 | catch (utf8::invalid_utf8) {
npm ERR! | ^~~~~~~~~~~~
npm ERR! ../src/libsass/src/json.cpp: In function 'char* json_encode_string(const char*)':
npm ERR! ../src/libsass/src/json.cpp:405:15: warning: catching polymorphic type 'class std::exception' by value [-Wcatch-value=]
npm ERR! 405 | catch (std::exception) {
npm ERR! | ^~~~~~~~~
npm ERR! ../src/libsass/src/json.cpp: In function 'char* json_stringify(const JsonNode*, const char*)':
npm ERR! ../src/libsass/src/json.cpp:424:15: warning: catching polymorphic type 'class std::exception' by value [-Wcatch-value=]
npm ERR! 424 | catch (std::exception) {
npm ERR! | ^~~~~~~~~
npm ERR! In file included from /root/.node-gyp/16.1.0/include/node/v8.h:30,
npm ERR! from /root/.node-gyp/16.1.0/include/node/node.h:63,
npm ERR! from ../../nan/nan.h:56,
npm ERR! from ../src/binding.cpp:1:
npm ERR! /root/.node-gyp/16.1.0/include/node/v8-internal.h: In function 'void v8::internal::PerformCastCheck(T*)':
npm ERR! /root/.node-gyp/16.1.0/include/node/v8-internal.h:452:38: error: 'remove_cv_t' is not a member of 'std'; did you mean 'remove_cv'?
npm ERR! 452 | !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR! | ^~~~~~~~~~~
npm ERR! | remove_cv
npm ERR! /root/.node-gyp/16.1.0/include/node/v8-internal.h:452:38: error: 'remove_cv_t' is not a member of 'std'; did you mean 'remove_cv'?
npm ERR! 452 | !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR! | ^~~~~~~~~~~
npm ERR! | remove_cv
npm ERR! /root/.node-gyp/16.1.0/include/node/v8-internal.h:452:50: error: template argument 2 is invalid
npm ERR! 452 | !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR! | ^
npm ERR! /root/.node-gyp/16.1.0/include/node/v8-internal.h:452:63: error: '::Perform' has not been declared
npm ERR! 452 | !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR! | ^~~~~~~
npm ERR! ../src/binding.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE render(Nan::NAN_METHOD_ARGS_TYPE)':
npm ERR! ../src/binding.cpp:284:80: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
npm ERR! 284 | int status = uv_queue_work(uv_default_loop(), &ctx_w->request, compile_it, (uv_after_work_cb)MakeCallback);
npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm ERR! ../src/binding.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE render_file(Nan::NAN_METHOD_ARGS_TYPE)':
npm ERR! ../src/binding.cpp:320:80: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
npm ERR! 320 | int status = uv_queue_work(uv_default_loop(), &ctx_w->request, compile_it, (uv_after_work_cb)MakeCallback);
npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm ERR! In file included from ../../nan/nan.h:56,
npm ERR! from ../src/binding.cpp:1:
npm ERR! ../src/binding.cpp: At global scope:
npm ERR! /root/.node-gyp/16.1.0/include/node/node.h:806:7: warning: cast between incompatible function types from 'void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void (*)(v8::Local<v8::Object>)'} to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
npm ERR! 806 | (node::addon_register_func) (regfunc), \
npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm ERR! /root/.node-gyp/16.1.0/include/node/node.h:840:3: note: in expansion of macro 'NODE_MODULE_X'
npm ERR! 840 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
npm ERR! | ^~~~~~~~~~~~~
npm ERR! ../src/binding.cpp:358:1: note: in expansion of macro 'NODE_MODULE'
npm ERR! 358 | NODE_MODULE(binding, RegisterModule);
npm ERR! | ^~~~~~~~~~~
npm ERR! make: *** [binding.target.mk:133: Release/obj.target/binding/src/binding.o] Error 1
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack at ChildProcess.onExit (/app/node_modules/node-gyp/lib/build.js:262:23)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:365:28)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Linux 5.8.0-50-generic
npm ERR! gyp ERR! command "/usr/local/bin/node" "/app/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd /app/node_modules/node-sass
npm ERR! gyp ERR! node -v v16.1.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-05-11T08_15_13_838Z-debug.log
docker-compose up
npm i && npm start
Room Id
and Display Name
then click Join
Expected to join the room.
Failed to join the room.
As I checked Chrome DevTools, Signal failed with the following error message.
Unknown Service.Method /bin.Biz/Signal
"start": "webpack-dev-server --config ./webpack.config.js --mode development --http --port 8889 --host rtc.test.cn",
when i use localhost:8889 is run
use rtc.test.cn:8889 or use nginx proxy_pass to localhost:8889 and domain : rtc.test.cn
index.js:87 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'enumerateDevices')
ion/biz run in docker host mode with port 8443 available for all clients,but app web can not connect biz using ws
A user in the Pion channel deployed Ion and wasn't able to figure out what was going wrong. Because they deployed/were accessing via HTTP getUserMedia and enumerateDevices was failing so they had no idea.
Maybe we should add some sort of UI that tells them they failed to join (and why)
Ported from ionorg/ion#110
hey there
using this command :
docker-compose up --build
I got a blank white page with no error.
what is this?
p.s: the process is up and you can access it:
https://aalimoshaver.com:9090
What format should ADMIN_EMAIL
be?
tls
must be in this format.:
https://github.com/pion/ion-app-web/blob/d1ca70f5839b0397fa4af790491e982d410013ad/configs/caddy/local.Caddyfile#L5
But now it is: tls {$ADMIN_EMAIL}
https://github.com/pion/ion-app-web/blob/d1ca70f5839b0397fa4af790491e982d410013ad/configs/caddy/Caddyfile#L1-L9
In readme
,ADMIN_EMAIL
is described as a mailbox: export ADMIN_EMAIL=yourname@yourdomain
Sent message between two clients.
Chat messages should be displayed correctly in proper order
Some chat messages got lost in between
I'm following these steps to deploy both ion
and ion-app-web
using Docker.
I get the following error when performing docker-compose up --build
in ion-app-web
:
Step 11/21 : RUN npm install
---> Running in 9885245ad0f1
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated [email protected]: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
^CGracefully stopping... (press Ctrl+C again to force)
What am I missing?
This issue provides visibility into Renovate updates and their statuses. Learn more
These updates are currently rate limited. Click on a checkbox below to force their creation now.
@babel/core
, @babel/plugin-proposal-class-properties
, @babel/plugin-transform-runtime
, @babel/preset-env
, @babel/preset-react
, @babel/runtime
, babel-loader
)These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
react
, react-dom
)docker-compose.prod.yml
docker-compose.yml
Dockerfile
node 16-alpine
caddy 2.4.6-alpine
.github/workflows/ci.yml
actions/checkout v2
actions/setup-node v2
actions/cache v2
package.json
antd ^3.26.16
copy-webpack-plugin ^5.0.5
ion-sdk-js ^1.8.1
mdi-react ^6.4.0
react ^16.8.6
react-dom ^16.8.6
react-mdi ^0.5.7
react-router ^5.0.1
reactjs-localstorage 1.0.1
@babel/core 7.16.0
@babel/plugin-proposal-class-properties 7.16.0
@babel/plugin-transform-runtime 7.16.4
@babel/preset-env 7.16.4
@babel/preset-react 7.16.0
@babel/runtime 7.16.3
babel-loader 8.2.3
babel-plugin-import 1.13.3
clean-webpack-plugin 3.0.0
copy-webpack-plugin 5.1.2
css-loader 3.6.0
extract-text-webpack-plugin 4.0.0-beta.0
file-loader 6.2.0
html-webpack-plugin 4.5.2
sass 1.44.0
sass-loader 8.0.2
style-loader 1.3.0
webpack 4.46.0
webpack-cli 3.3.12
webpack-dev-server 3.11.3
Caddy data ssl certs included stored inside /data folder. docker-compose.yml provides special named volume for the data "caddy". "/root/.caddy" is mount point for it. Actually "/data" must be. I don't familiar with caddy. But I sure that it's result of caddy version changing.
I executed docker-compose -f docker-compose.yml up
.
https://github.com/pion/ion-app-web/blame/master/README.md#L22
The command finished successfully.
I got the following error.
$ docker-compose -f docker-compose.yml up
...
Step 16/20 : RUN npm run build
---> Running in 92bd23391b7d
> [email protected] build
> webpack --mode=production --config webpack.config.js --env.production
Production: true
Hash: c6060893667a42d09580
Version: webpack 4.43.0
Time: 20453ms
Built at: 11/16/2021 3:27:43 AM
3 assets
Entrypoint main = ion-conference.c6060893667a42d09580.js ion-conference.c6060893667a42d09580.js.map
[34] ./node_modules/uuid/dist/esm-browser/validate.js + 1 modules 274 bytes {0} [built]
| 2 modules
[122] ./node_modules/uuid/dist/esm-browser/index.js + 9 modules 15.9 KiB {0} [built]
| 10 modules
[226] ./src/settings/style.scss 569 bytes {0} [built]
[227] ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/settings/style.scss 582 bytes {0} [built]
[244] ./src/chat/style.scss 569 bytes {0} [built]
[245] ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/chat/style.scss 2.07 KiB {0} [built]
[246] ./styles/css/app.scss 567 bytes {0} [built]
[247] ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./styles/css/app.scss 1.33 KiB {0} [built]
[252] ./styles/css/login.scss 569 bytes {0} [built]
[253] ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./styles/css/login.scss 419 bytes {0} [built]
[337] ./src/videoview/style.scss 569 bytes {0} [built]
[339] ./styles/css/conference.scss 574 bytes {0} [built]
[355] ./styles/css/styles.scss 570 bytes {0} [built]
[356] ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./styles/css/styles.scss 1.24 KiB {0} [built]
[357] ./src/index.jsx + 188 modules 842 KiB {0} [built]
| ./src/index.jsx 245 bytes [built]
| ./src/App.jsx 21 KiB [built]
| ./src/settings/index.js 14.4 KiB [built]
| ./src/ToolShare.js 2.34 KiB [built]
| ./src/chat/index.js 2.18 KiB [built]
| ./src/chat/message.js 308 bytes [built]
| ./public/pion-logo.svg 80 bytes [built]
| ./src/LoginForm.jsx 10.8 KiB [built]
| ./src/Conference.jsx 14 KiB [built]
| ./src/settings/soundmeter.js 1.92 KiB [built]
| ./src/chat/ChatBubble.jsx 2.09 KiB [built]
| ./src/chat/ChatInput.jsx 1.5 KiB [built]
| ./src/videoview/index.jsx 206 bytes [built]
| ./src/videoview/LocalVideoView.jsx 2.66 KiB [built]
| ./src/videoview/MainVideoView.jsx 1.12 KiB [built]
| + 174 hidden modules
+ 483 hidden modules
ERROR in ./node_modules/ion-sdk-js/lib/signal/grpc-web-impl.js
Module not found: Error: Can't resolve '../_library/proto/sfu/sfu_pb' in '/app/node_modules/ion-sdk-js/lib/signal'
@ ./node_modules/ion-sdk-js/lib/signal/grpc-web-impl.js 8:11-50
@ ./node_modules/ion-sdk-js/lib/ion.js
@ ./src/App.jsx
@ ./src/index.jsx
ERROR in ./node_modules/ion-sdk-js/lib/signal/grpc-web-impl.js
Module not found: Error: Can't resolve '../_library/proto/sfu/sfu_pb_service' in '/app/node_modules/ion-sdk-js/lib/signal'
@ ./node_modules/ion-sdk-js/lib/signal/grpc-web-impl.js 7:16-63
@ ./node_modules/ion-sdk-js/lib/ion.js
@ ./src/App.jsx
@ ./src/index.jsx
Child HtmlWebpackCompiler:
1 asset
Entrypoint HtmlWebpackPlugin_0 = __child-HtmlWebpackPlugin_0
[0] ./node_modules/html-webpack-plugin/lib/loader.js!./public/index.html 407 bytes {0} [built]
npm notice
npm notice New major version of npm available! 7.7.6 -> 8.1.3
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v8.1.3>
npm notice Run `npm install -g [email protected]` to update!
npm notice
ERROR: Service 'web' failed to build: The command '/bin/sh -c npm run build' returned a non-zero code: 2
I want to run project at localhost . after npm i and i enter npm start show this mesage.
ERROR in ./src/LoginForm.jsx
Module not found: Error: Can't resolve 'ion-sdk-js' in '/home/feng/ion-app-web/src'
@ ./src/LoginForm.jsx 38:0-41
@ ./src/App.jsx
@ ./src/index.jsx
ERROR in ./src/App.jsx
Module not found: Error: Can't resolve 'ion-sdk-js/lib/ion' in '/home/feng/ion-app-web/src'
@ ./src/App.jsx 53:0-61 105:32-44 126:34-43 130:41-50
@ ./src/index.jsx
ERROR in ./src/Conference.jsx
Module not found: Error: Can't resolve 'ion-sdk-js/lib/ion' in '/home/feng/ion-app-web/src'
@ ./src/Conference.jsx 21:0-49 200:18-29 256:23-34
@ ./src/App.jsx
@ ./src/index.jsx
Dockerfile.web is broken. No way to build demo. I do not familiar with React and JavaScript, so I can't fix it
My overall expectation in the project is: Users provide conferences or one-on-one calls. Of course, it is important for me to have both video and audio calls.
Hello, Congratulations for the project. I have a simple problem. Old links come back when I refresh the page. I think connection records are kept on redis. Can I solve this problem via frontend without dealing with Go?
I could confirm from new commit in ion caused the issue. Seems ion-app-web
is not adapted to new update in ion project.
1- In ion start with docker-compose -f docker-compose.stable.yml up -d
2- In ion-app-web I used npm start
Websocket should be established.
The websocket got error ion-conference.3f7ba6d81ab829d1566a.js:113134 WebSocket connection to 'wss://localhost:8080/ws?peer=9c5febc2-6df8-4a5b-817c-aa6aa11cbc75' failed: Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received W3CWebSocket @ ion-conference.3f7ba6d81ab829d1566a.js:113134
web_1 | {"level":"info","ts":1591065464.5322976,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"} web_1 | run: adapting config using caddyfile: unrecognized parameter name: root
Change the ion-app-web package.json with host IP to access the web server from another PC, just like below bold code.
"scripts": {
"build": "webpack --mode=production --config webpack.config.js --env.production",
**"start": "webpack-dev-server --config ./webpack.config.js --mode development --open --http --host 10.184.102.183",**
"start_https": "webpack-dev-server --config ./webpack.config.js --mode development --open --https --cert ./configs/certs/cert.pem --key ./configs/certs/key.pem"
},
And then open the chrome, access the ion-app-web server with http://10.184.102.183:8080/
https://github.com/pion/ion-app-web/blob/a2e26d13bf4e7696b8cd23ff3887cd53b3599862/src/App.jsx#L129
Uncaught TypeError: Cannot read property 'id' of undefined at ion-conference.0d1000d350ba016508d6.js:52 at Array.forEach (<anonymous>) at e.IonConnector.rl.a.wrap.o.onstreamevent (ion-conference.0d1000d350ba016508d6.js:52) at d.<anonymous> (ion-conference.0d1000d350ba016508d6.js:6) at d.l.emit (ion-conference.0d1000d350ba016508d6.js:11) at ion-conference.0d1000d350ba016508d6.js:43 at ion-conference.0d1000d350ba016508d6.js:52 at Array.forEach (<anonymous>) at ion-conference.0d1000d350ba016508d6.js:52 at ion-conference.0d1000d350ba016508d6.js:11
Is there any chart of performance benchmark against Jitsi?
https://github.com/pion/ion-app-web/blob/a2e26d13bf4e7696b8cd23ff3887cd53b3599862/src/App.jsx#L87
当离开会议时,onLeave没有发出peer leave信令,导致peer没有从数据库释放资源。
引发数据库无效peer越来越多。
In vmware, it can only be accessed by localhost, not by LAN IP. My environment is ubuntu18.04
I started ion and ion-app-web on my vm. It worked fine on Chrome on my Mac.
I expected to see my local video and the remote video.
The widgets came up but no videos were visible.
Mirror reflect the video of the local user.
We are used to seeing ourselves in mirrors, reflected. Seeing ourselves not reflected this way feels uncanny and uncomfortable even though it is how others see us. Also this is how most other video chat apps do it.
We could leave it as it is, but I don't think that is a good idea.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.