shermp / Kobo-UNCaGED

UNCaGED, for Kobo devices
GNU Affero General Public License v3.0
95 stars 7 forks source link

WebUI, NickelMenu & NickelDBus #32

Closed shermp closed 3 years ago

shermp commented 4 years ago

As discussed in #30, this is a major overhaul of KU. Major changes are:

This hopefully solves #29 as well, as it lets Nickel handle the Wifi.

I think I'm ready for others to have a more in-depth look at the code now. I've marked the PR as a draft for now, in case there's any minute changes to make.

@NiLuJe @pgaskin would you be willing to have a look at this please? Note that I'm more interested in bugs and functionality issues, rather than appearance. I'm aware that the Web UI styling could still use some work, but that can wait for subsequent PR's.

PS: Apologies for no automated builds (yet), I really need to bring up some sort of KoboTC docker image, then extend that with Go.

shermp commented 3 years ago

@NiLuJe, it might not necessarily be your network.

I've tested my Kobos in a relatively clean environment, and I sometimes get large bursts of packet loss and jitter. As in, telnet freezes for 2-3 seconds, then shows the input with ~100ms between each character. I suspect it's something to do with the wireless card in the Kobo.

Oh, that's happened to me as well (the telnet stuff). I normally reboot my Kobo when that happens.

shermp commented 3 years ago

@pgaskin the discovery code is at https://github.com/shermp/UNCaGED/tree/calibre-discovery-refactor if you see any way of improving discovery.

NiLuJe commented 3 years ago

In my experience, when jitter/loss there is, it's generally in the first seconds of a "fresh" connection: stuff tends to stabilize after that, as long as there's minimal activity. Which makes me think weird QoS trickery somewhere on my end, or weird PM on the Kobo ;p.

Or just Wi-Fi being Wi-Fi ;p.

(Since I'm generally over SSH w/ a Keep-Alive ticking, I don't usually notice these things unless I'm looking for it ^^).

pgaskin commented 3 years ago

if you see any way of improving discovery

Looks fine, but I'm not too familiar with Calibre or UDP broadcast stuff.

it's generally in the first seconds of a "fresh" connection

I find it happens either at the beginning (sometimes causing failures for the connection itself) or after sustained usage (even if it's just plain text).

QoS trickery somewhere on my end

I don't think so; I have QoS on my end too, and I've tried it with and without it enabled.

or weird PM on the Kobo

That's a possibility. I'm probably going to try running iperf and tracking the power stats when I get a chance.

Or just Wi-Fi being Wi-Fi ;p.

The funny thing is, whenever the Kobo does this, it sometimes causes issues for other devices on the network too. I'll also need to take a dump from the router and see if it's spamming frames or something.

Since I'm generally over SSH w/ a Keep-Alive ticking

I've had it happen over SSH for me.

shermp commented 3 years ago

Ok, snuck in one more feature. You can now choose to auto-discover, or set an IP/hostname do connect to Calibre.

shermp commented 3 years ago

Are you going to have a chance to look at this in the near future @pgaskin ?

pgaskin commented 3 years ago

Yes, I'll take a look at it tomorrow.

shermp commented 3 years ago

Untested, but there aren't any obvious issues with the code.

Thanks. I mainly wanted a second pair of eyes to look over the code to make sure I hadn't made any obvious boo-boo's.

I'll probably merge the code in a day or so, to start the process of a new release.

shermp commented 3 years ago

Finally! Thank you very much for your assistance @pgaskin and @NiLuJe