oxen-io / lokinet-gui Goto Github PK
View Code? Open in Web Editor NEWGUI Control panel for Lokinet built using electron
GUI Control panel for Lokinet built using electron
When Lokinet is pined to the taskbar running it creates a second icon in the task bar instead of using the one that is already pinned.
To reproduced install Lokinet. Ues search bar to find application, right click and select pin to taskbar. From the taskbar use the Lokinet icon to launch Lokinet. A second Lokinet icon will appear on the taskbar.
Here's a video of the bug https://youtu.be/P859K9ea-io
I have internet for long enough to load https://ifconfig.me/ and see that the IP has changed, but then lose internet quickly after that.
Are you going in another direction with the GUI?
Seemed to be the appropriate time to make this request.
version: lokinet-0.9.10-2c69d6bed
MacOS x86_64 Ventura 13.2.1
There are no visible means of submitting support requests
Originally posted by @sbecker11 in oxen-io/lokinet#2094 (comment)
perhaps we can add a help/about pane that links to our github discussions mega thread index: oxen-io/lokinet#2101
version: lokinet-0.9.10-2c69d6bed
MacOS x86_64 Ventura 13.2.1
Labels on the vertical axis of the chart are truncated improperly.:
Originally posted by @sbecker11 in oxen-io/lokinet#2094 (comment)
The GUI can show additional info under the 'chart' section or something, showing the IP:port of service nodes the client is currently connected to and paths that have been built. With this, maybe, lokinetmon can be made go obsolete because the GUI is more convenient to use.
lokinet-gui works fine for me when started in dev mode with yarn dev:electron
and yarn dev:react
. I also build the binaries, but when I run ./release/linux-unpacked/lokinet-gui
a window opens but stays grey. I use manjaro linux.
On the console I see:
Connected to port 1190
(node:14633) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron. See https://github.com/electron/electron/issues/23506 for more information
I also wanted to try the CI builds, but I couldn't find lokinet-gui linked. Probably it's this: https://oxen.rocks/oxen-io/lokinet-control-panel/ . But the folder is named falsely then. Why is there no general x86 linux build?
Title
yarn install throws errors:
➜ loki-network-gui git:(dev) yarn install
yarn install v1.22.17
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > [email protected]" has incorrect peer dependency "[email protected]".
warning Workspaces can only be enabled in private projects.
warning Workspaces can only be enabled in private projects.
[4/4] Building fresh packages...
[1/4] ⠂ zeromq
[4/4] ⠂ electron
[3/4] ⠂ postinstall-postinstall
error /home/pixsa/loki-network-gui/node_modules/postinstall-postinstall: Command failed.
Exit code: 1
Command: node ./run.js
Arguments:
Directory: /home/pixsa/loki-network-gui/node_modules/postinstall-postinstall
Output:
error Command failed with exit code 1.
node:child_process:903
throw err;
^
Error: Command failed: yarn run postinstall
error Command failed with exit code 1.
at checkExecSyncError (node:child_process:826:11)
at execSync (node:child_process:900:15)
at Object.<anonymous> (/home/pixsa/loki-network-gui/node_modules/postinstall-postinstall/run.js:15:5)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47 {
status: 1,
signal: null,
output: [
null,
Buffer(4159) [Uint8Array] [
121, 97, 114, 110, 32, 114, 117, 110, 32, 118, 49, 46,
50, 50, 46, 49, 55, 10, 36, 32, 121, 97, 114, 110,
32, 112, 97, 116, 99, 104, 45, 112, 97, 99, 107, 97,
103, 101, 32, 38, 38, 32, 101, 108, 101, 99, 116, 114,
111, 110, 45, 98, 117, 105, 108, 100, 101, 114, 32, 105,
110, 115, 116, 97, 108, 108, 45, 97, 112, 112, 45, 100,
101, 112, 115, 10, 36, 32, 47, 104, 111, 109, 101, 47,
112, 105, 120, 115, 97, 47, 108, 111, 107, 105, 45, 110,
101, 116, 119, 111,
... 4059 more items
],
Buffer(39) [Uint8Array] [
101, 114, 114, 111, 114, 32, 67, 111,
109, 109, 97, 110, 100, 32, 102, 97,
105, 108, 101, 100, 32, 119, 105, 116,
104, 32, 101, 120, 105, 116, 32, 99,
111, 100, 101, 32, 49, 46, 10
]
],
pid: 38461,
stdout: Buffer(4159) [Uint8Array] [
121, 97, 114, 110, 32, 114, 117, 110, 32, 118, 49, 46,
50, 50, 46, 49, 55, 10, 36, 32, 121, 97, 114, 110,
32, 112, 97, 116, 99, 104, 45, 112, 97, 99, 107, 97,
103, 101, 32, 38, 38, 32, 101, 108, 101, 99, 116, 114,
111, 110, 45, 98, 117, 105, 108, 100, 101, 114, 32, 105,
110, 115, 116, 97, 108, 108, 45, 97, 112, 112, 45, 100,
101, 112, 115, 10, 36, 32, 47, 104, 111, 109, 101, 47,
112, 105, 120, 115, 97, 47, 108, 111, 107, 105, 45, 110,
101, 116, 119, 111,
... 4059 more items
],
stderr: Buffer(39) [Uint8Array] [
101, 114, 114, 111, 114, 32, 67, 111,
109, 109, 97, 110, 100, 32, 102, 97,
105, 108, 101, 100, 32, 119, 105, 116,
104, 32, 101, 120, 105, 116, 32, 99,
111, 100, 101, 32, 49, 46, 10
]
Observation:
The frequency in which lokinet.ini settings require alteration appears may fit into the category of justifying access to them through addition of an advanced users settings tab.
Justification:
Currently users are required to have the knowledge of the ini file. Find it's location. Open it in an editor in command line. Make changes and restart the service to apply changes.
Recommendation:
Suggest the addition of a advanced settings/users tab(s) in the GUI to modify and apply lokinet.ini values for client only settings of Lokinet. Includes values in drop downs for those selections which are binary, have recommended rational ranges. i.e. hops ->1 - 8 or data entry fields which are parsed for suitable custom values. Additionally include a reset to defaults button.
when we build the gui for windows via ci which runs linux and cross compiles, the resulting build crashes on startup, but it does not when we build it for windows from a windows machine.
lokinet gui should be buildable for arm linux.
we can probably do this and we can add it to ci too.
related issues:
version: lokinet-0.9.10-2c69d6bed
MacOS x86_64 Ventura 13.2.1
click on the lokinet icon in the top-right menu bar to open the lokinet modal
click on the top-left moon icon of the modal to toggle the display to night mode
from the top-left menu bar for the Lokinet app, choose View / Toggle Full Screen
click the X link at the top-right of the modal to close the modal
the entire screen goes black
the top menu buttons are hidden
no visible means are provided to get out of full-screen mode
Originally posted by @sbecker11 in oxen-io/lokinet#2094 (comment)
Operating System: Kubuntu 22.10
KDE Plasma Version: 5.25.5
KDE Frameworks Version: 5.98.0
Qt Version: 5.15.6
Kernel Version: 5.19.0-38-generic (64-bit)
Graphics Platform: X11
Processors: 4 × Intel® Core™ i5-7200U CPU @ 2.50GHz
Memory: 23.1 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 620
Manufacturer: Dell Inc.
Product Name: Inspiron 15-3567
This is how the GUI is appearing on my screen:
Notice that the bottom part of the GUI is not appearing, the app is not displayed well vertically. I tried resizing the window but in vain.
We need a space where we can save our exit nodes and easily connect to them
The current .deb has a dependency on gconf2 and gconf-service, which are no longer available on the latest Debian (sid) or Ubuntu (23.10), and as such the package is uninstallable.
I'm guessing this needs an updated package somewhere in the electron build.
The GUI spams the output of "redux state at updateFromDaemonStatus2" in the log. Leading to this:
12h:33m:47s:534ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1282281,"networkReady":true}" 12h:33m:48s:32ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1282781,"networkReady":true}" 12h:33m:48s:533ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1283281,"networkReady":true}" 12h:33m:49s:30ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1283783,"networkReady":true}" 12h:33m:49s:533ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1284281,"networkReady":true}" 12h:33m:50s:30ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1284781,"networkReady":true}" 12h:33m:50s:538ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1285283,"networkReady":true}" 12h:33m:51s:26ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1285781,"networkReady":true}" 12h:33m:51s:538ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1286281,"networkReady":true}" 12h:33m:52s:32ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1286781,"networkReady":true}" 12h:33m:52s:533ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1287281,"networkReady":true}" 12h:33m:53s:29ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1287781,"networkReady":true}" 12h:33m:53s:537ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1288281,"networkReady":true}" 12h:33m:54s:29ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1288781,"networkReady":true}" 12h:33m:54s:533ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1289281,"networkReady":true}" 12h:33m:55s:29ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1289781,"networkReady":true}" 12h:33m:55s:535ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1290281,"networkReady":true}" 12h:33m:56s:27ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1290781,"networkReady":true}" 12h:33m:56s:532ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1291282,"networkReady":true}" 12h:33m:57s:28ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1291781,"networkReady":true}" 12h:33m:57s:537ms: redux state at updateFromDaemonStatus2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true,"isRunning":true,"numPathsBuilt":57,"numPeersConnected":6,"lokiAddress":"7wa4pmw3suibfgmhta5gciqzinzzz5cjamim1co34rx7ytrfyr4y.loki","version":"lokinet-0.9.10-release","uptime":1292283,"networkReady":true}"
As it can be inferred from the log, the version of lokinet is 0.9.10-release and that of the GUI is 1.0.0
Describe the bug
The button "connect", "disconnect "does not work in lokinet-gui on debian_11
Device and Operating system (please complete the following information):
"Debian GNU/Linux 11 (bullseye)"
MacBookAir6,2
Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz
lokinet/stable,stable,now 0.9.11-1deb11 all [installed,automatic]deb11 amd64 [installed,automatic]
lokinet-bin/stable,now 0.9.11-1
lokinet-gui/stable,now 1.0.0 amd64 [installed]
Describe the bug
A clear and concise description of what the bug is.
When I connect to Lokinet, it says it is connected but my IP does not change.
To Reproduce
Steps to reproduce the behavior:
Run Lokinet.
Screenshots Or Logs
If applicable, add screenshots or log files to help explain your problem.
Device and Operating system (please complete the following information):
Tested multiple PCs and get the same result. Others in public Lokinet chat in Session have similar problems.
After I start lokinet GUI and click connect, nothing happens.
Below is error log.
IPC channel job xxx: getSummaryStatus timed out after 1000ms
yyy: redux state at markAsStoppedFromSummaryTimedOut2: "{"exitTurningOn":false,"exitTurningOff":false,"daemonIsTurningOn":false,"daemonIsTurningOff":false,"initialDaemonStartDone":true}"
as seen in #30 the ux for the lokinet gui with defaults needs a bit of work.
this may be better as a discussion thread instead.
as a temp workaround for lokinet's wire protocol handshake race condition, we should restart lokinet if we have 0 nodes in our node db and/or zero non bootstrap peers after N seconds of uptime.
also, make the gui show it is "starting up" until we have paths built.
right now, lokinet itself doesn't have a good way to persist settings.
until then maybe we should have the gui store these until we do.
Linking a potential concern that was brought up in Pi-Apps.
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.