libera/#maemo-leste/ Friday, 2023-11-17

siceloarno11 we'll need to do something about proximity sensing for calls09:39
uvos__sicelo: dose it not work on n900?09:59
uvos__ah its on the evdev interface and not iio so not supported10:00
uvos__do i remember that right?10:00
siceloyes.  when support for the interface was removed in leste, it didn't matter, because we had no calls.12:04
sicelonow it matters. can we have it restored?12:05
uvos__well we could write a mce module that implements reading prox from evdev12:06
uvos__but evdev is a depricated interface for this usecase12:07
uvos__so adjusting the driver would be better12:07
uvos__the driver was trivial iirc? its just a gpio or something?12:07
siceloevdev is definitely not deprecated for this12:09
uvos__writeing a mce module would also be the wrong thing to do12:10
sicelothere's no driver for the proximity, since it's just a switch12:10
uvos__since the abstraction is hanndled by iio-sensor-proxy12:10
uvos__sicelo: sensors on evdev are deprecated12:11
uvos__the prox is a sensor12:11
uvos__no matter how its implemented12:11
uvos__imo12:11
siceloit's fine to havean opinion opinion about it. doesn't work in this case though12:11
uvos__so how is it a "switch"12:12
siceloiio prefers standalone sensors, with drivers, as you correctly said12:12
uvos__its just a gpio key then?12:12
uvos__or is it on the kbd matrix12:12
siceloanyway, ill12:12
siceloit's gpio key yes12:13
uvos__ok12:13
uvos__then its not really a key12:13
uvos__its a gpio12:13
uvos__and we can trival write a iio driver12:13
sicelook.12:14
uvos__so those are the options: write a iio driver for the gpio12:14
uvos__or write a evdev module for iio-sensor-proxy12:14
uvos__both are not very hard, iio-s-p allready has a evdev module for accelerometers that we can reference/cut down12:15
Wizzupcan we make the kernel module do iio ?12:31
Wizzupyeah what uvos said12:31
siceloyou can't change this proximity from evdev on kernel side. it's just how it is, and definitely not deprecated by anyone12:43
siceloand yes, iio can be taught to support evdev sensors. see the discussion i had with iio folk some months ago, https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/36312:43
WizzupWhat I mean is that the kernel seems to want to move this into a single subsystem, right?12:43
WizzupOr, why would they have some in evdev and some in iio?12:44
sicelothat's for 'sensors' ... not binary switches12:44
Wizzupisn't the proximity sensor a sensor, just exposed as binary switch through evdev?12:45
Wizzupor is the actual sensor not exposed on the hw interface?12:45
sicelono, it's a binary switch12:45
Wizzuphah, wow12:45
siceloyeah, hence evdev. I'm away from laptop . .. would show you the actual part.12:48
uvos__its still a sensor12:51
uvos__its just a 1 bit proximitry sensor12:51
uvos__that dosent make it not a sensor12:51
uvos__and yes we can absolutly change it on the kernel side12:54
uvos__doing so is almost trival12:54
uvos__take the ping-gpio iio proximitry sensor driver12:55
uvos__rip out the time of flight code12:55
uvos__done12:55
sicelocool  waiting for your patch12:56
uvos__its just a gpio13:18
uvos__sure ill do it13:18
siceloi think now i see how it could be done kernel side14:52
uvos__great15:13
uvos__but dont worry about it ill do it15:13
sicelois it just my device, but many times when i get an incoming call (droid 4), touchscreen doesn't work to accept call. i have to double-tap power key first16:30
siceloand of course, that means have to pull lock slider before i can pick the call as well16:31
siceloalso, when call terminates, at least from remote end, the 'in-call' screen remains for a noticeable while16:34
Wizzupsicelo: yes, it does remain, that is on purpose16:37
Wizzupwhat it should do is render a notification bar (the tiny one) saying the call was hung up16:37
siceloI'm curious - what's the purpose behind it?16:38
Wizzupto do exactly what fremantle does16:38
Wizzupshow the UI for a bit after the call is done16:38
sicelobut yes, some notification is fine. as it is now, you're not sure if the other person still hears you, phone is hung, etc.16:38
Wizzupbefore I basically felt like the UI crashed16:38
Wizzupthat's how quickly it disappeared16:39
siceloWizzup: ok... it seems a bit too long to me though16:39
siceloanyway, notification will be fine16:39
sicelodoes the touchscreen issue happen for you?16:40
Wizzuprarely, but sometimes @ ts16:46
siceloi also would like to have ussd (it's important with my operators). i guess it must go into sphone. what's best - directly via ofono, or via something like telepathy (not sure if it supports ussd)?16:46
sicelonote to self - must cleanup and post ofono patch for review by upstream :-)16:47
freemangordonsicelo: I would bet there is already iio-gpio driver16:49
freemangordonlemme check16:49
sicelowonder why i get the ts issue so much then. do you have any idea what could be causing it? maybe some race within mce between unlocking and reactivating ts ?16:51
freemangordonuvos__: actually, are we sure this is a sensor? because proximity sensor is supposed to measur the distance16:53
freemangordonwhat type of sensor would that be then?16:53
uvos__freemangordon: its a proximity sensor that only tells you if the object is closer than x cm or father than x centimeters16:55
uvos__android phones have this setup often16:55
uvos__and they do use iio here too16:55
freemangordonI understand what you say16:55
sicelofor the record, i do consider it a sensor ... but yes, a switch, hence i quoted my use of that word in the earlier discussion. i see my meaning wasn't obvious16:55
sicelofreemangordon: sure. yes that ping driver is close enough.  there's also cros_ec_mkbp_proximity. i didn't realize it was already in mainline. it has some resemblance with the one for N90016:56
freemangordonthe point is - do we know how close it switches and does proximity iio iface allows us to report state only16:56
uvos__the latter, absolutly16:56
freemangordonok16:57
sicelo1 = near16:57
* freemangordon checks16:57
uvos__the former, the datasheet presumably has referance values16:57
siceloit's about 3cm, iirc16:58
uvos__great so we report 0cm if its near and 3cm if its far, thats how the d4 works too (it saturates at some cm and then thats "infinite")16:58
sicelommm, why not just 0 & 1?16:59
freemangordonbecasue it is proximity17:00
freemangordon:)17:00
sicelothen in dts, have near-level =117:00
siceloI'm not sure we should report bogus values17:01
uvos__so actually what the d4 dose17:01
uvos__is it dosent report a real distance at all17:01
freemangordonsicelo: what is the name of the evdev driver?17:01
sicelothere isn't:-)17:01
uvos__it reports 0 for "cant see anything" and 255 for "0 cm"17:02
freemangordonah17:02
uvos__and iio-sensor-proxy scales this based on udev data17:02
sicelofreemangordon: just EV_SW17:02
freemangordonright17:02
freemangordonso this sensor is not on i2c bus?17:02
sicelonope.17:02
uvos__its just a gpio17:02
freemangordonok17:02
freemangordonok17:02
freemangordonI think we shall create a general-purpose driver17:03
uvos__yes17:03
uvos__as i say just rip the time of flight stuff out of the ping driver17:03
sicelouvos__: you mean the sensor only ever reports 0 and 255? weird17:03
uvos__writes itself essentally17:03
uvos__sicelo: no it reports 0-25517:03
sicelook. that sounds ok then17:03
uvos__but we dont have scale in dts17:04
uvos__so we dont get real values on d417:04
freemangordonok, but that's not what we have here17:04
uvos__(should improve this)17:04
freemangordonso on d4 you have a real sensor17:04
uvos__freemangordon: sure but 0-255 is arbitrary17:04
uvos__freemangordon: we can do 0-1 too17:04
freemangordonalbeit uncalibrated/poorly supported17:04
freemangordonwe don;t have the same on n90017:05
uvos__the d4 has 8 bits and n900 has 1 bit17:05
uvos__its the same otherwise17:05
freemangordonheh17:05
freemangordonI think if you try to upstream that they will say this is not a sensor17:05
uvos__i doubt17:05
siceloyes it's tricky :-)17:05
freemangordonsicelo: maybe post a question to LKML17:06
freemangordonto iio maintainers17:06
freemangordonto see what is their stance17:06
sicelosure.17:06
freemangordononce we know what we shall do, either me or uvos will write the appropriate driver17:06
freemangordonif needed17:07
freemangordonbecause my gut feeling tells me they will say "this is SW_FRONT_PROXIMITY"17:08
siceloyes, https://www.spinics.net/lists/linux-iio/msg04555.html suggests so17:08
freemangordonand nonestly, to me this seems right17:08
sicelobut when i read it earlier, i thought ... maybe things have changed, that was 2012 after all17:08
uvos__this was before iio was really established17:09
freemangordonbut wait, we still have that defined in dts17:09
sicelochanging to iio will also break any userspace that depended on EV_SW ... not that this should stop progress, and yes, there's no much remaining old userspace17:09
uvos__ofc we do currently its exposed on evdev17:10
uvos__sicelo: no issue, or new driver can report to both17:10
uvos__sicelo: some accelerometer drivers do this to17:10
freemangordonuvos__: I think if they wanted to change it to iio, they would have removed SW_FRONT_PROXIMITY"17:10
uvos__to ease migration from evdev to iio17:10
uvos__freemangordon: no they also dident remove th evdev accelerometer drivers either17:10
sicelothey s17:11
freemangordonok, lets just ask...17:11
uvos__sicelo: ?17:11
sicelothey won't remove those drivers. they provide a lot of stuff that's not accounted for in iio17:11
sicelosorry typos ... terrible android vkb17:11
uvos__right, it makes no sense to remove working drivers17:11
uvos__but newer drivers are universally iio17:11
sicelolok17:12
* sicelo gives up with typing on the phone :-p17:12
freemangordon"shall we create a new "maybe general purpose iio-gpio driver that moves n900 proximity sensor from evdev/SW_FRONT_PROXIMITY to iio"17:12
freemangordonwhat do you think?17:13
uvos__freemangordon: sure17:13
sicelo+117:13
freemangordonok, sicelo, please, when you find a device you can type on, send a question to iio lkml/iio maintainers17:13
sicelook. will do so17:13
freemangordonthanks17:13
dsc_freemangordon: i'm done moving and ready for abook stuff if need be18:08
Wizzupfreemangordon: the ask being how to integrate osso-abook dialog to pick a contact in a qt app18:19
Wizzup(I think)18:19
freemangordonmaybe have a look how it is done for mafw18:19
freemangordonit should be the same18:19
Wizzupfreemangordon: in omp?18:21
freemangordonmhm18:22
Wizzupwhat mafw UI elements/dialogs are integrated/raised?18:23
WizzupI see a bunch of g_object stuff18:23
Wizzupthe string gtk doesn't really occur apart from in the .pro file and a single documentation line18:24
freemangordonhmm, right18:24
Wizzupiirc you said before to look at how the qt5 theme/style does things18:24
freemangordonok, don;t have time today18:24
freemangordonwill try to make example program tomorrow18:25
Wizzupcool, ty18:26
freemangordonsee https://github.com/maemo-leste/qtstyleplugins/blob/master/src/plugins/platformthemes/maemo5/qmaemo5dialoghelpers.cpp in the meanwhile18:26
Wizzupqtstyleplugins/src/plugins/styles/maemo5/maemo5/qmaemo5datetimepickselector.cpp has some example18:26
Wizzupthat is helpful, is that class accessible to other programs?18:26
freemangordonno18:27
Wizzupok18:27
freemangordonbut we can export it18:27
freemangordonqmaemo5datetimepickselector.cpp does more or less the same18:28
freemangordonbut, iirc, for account selection, you need to run a dialog and to connect to response signal18:29
* freemangordon checks18:29
Wizzupwe'd probably also want to provide additional context, like what specific TP account we might want contacts for18:30
Wizzup(I think something like that should be possible?)18:30
freemangordonhttps://github.com/maemo-leste/osso-abook/blob/master/lib/test-contact-chooser.c18:30
freemangordonplease... do not do that app-centric18:31
freemangordonlets keep the spirit of maemo18:31
Wizzupthis is literally what maemo does18:31
freemangordonyou choose the contect, and there you choose what to do with it18:31
freemangordonno18:31
Wizzupgo to dialer, select xmpp18:32
Wizzupand try to pick a context that has a regular phone number18:32
Wizzupcontact18:32
Wizzupbrb18:33
freemangordonWizzup: go to conversations and select "new im"18:33
freemangordonyou are presented with a list of contacts you can start chat with18:34
freemangordonnowhere there where in dialer you can select xmpp?18:34
freemangordonsorry..typos18:35
freemangordonwhere in dialer you can select xmpp?18:35
sicelofreemangordon: i think what he means is ... in Phone, you can select SIP18:35
freemangordonyes, but that's not chat18:35
siceloyou could select XMPP too, but i think the Fremantle plugin didn't support calls18:35
freemangordonconversations is about messaging18:35
freemangordonit does18:35
freemangordoniirc18:35
sicelos/could/technically could/18:35
freemangordongtalk was xmpp back then18:36
freemangordonand bot voice and video calls were working18:36
siceloyou couldn't call on gtalk18:36
freemangordonargh18:36
sicelothere was a separate application for it18:36
freemangordonthat used to work18:36
freemangordonno18:36
freemangordonyou were dialing from the phone dialer18:36
Wizzupfreemangordon: yes18:36
freemangordonfor gtals and skype18:36
Wizzupconversations does it thay way18:36
Wizzupand we can keep that18:36
Wizzupnp18:37
sicelommm, maybe i remember wrong then (for xmpp)18:37
freemangordonyes, you remember wrong18:37
Wizzupxmpp calls still work fwiw18:37
Wizzupvideo calls too18:37
freemangordonWizzup: what is the point in showing a contact you can't start IM to? from copversations that is18:37
Wizzupso actually I can't select a contact from dialer directly, and I can select a contact but it doesn't let me decide what xmpp account to use for actually CALLING it18:38
Wizzupfreemangordon: I agree that's not good, I got confused18:38
freemangordonWTYM "does not let me decide"?18:38
freemangordonyou already did18:38
Wizzuphah the dialer is stuck dialing on fremantle!18:39
freemangordonby pressing the button with the remote account18:39
Wizzupfreemangordon: so if you have say 5 accounts set up18:39
Wizzupand several accounts share a context18:39
Wizzupcontact18:39
WizzupI don't think it lets you select the account you want to call the shared contact from18:39
freemangordonyou choose the remote account18:39
freemangordonand this is linked with the local one18:39
Wizzupthat's the problem18:39
Wizzupthe same probllem will occur with multiple sims18:39
freemangordonhow's that?18:40
freemangordonleave sims aside for now18:40
Wizzupfreemangordon: I can't really describe is better than above, can you re-read and let me know if it's not clear?18:40
Wizzupactually I can make it more clear...18:40
WizzupSay I have two XMPP accounts configured: foo@jabber.org and bar@jabber.org. They're both online and they both have a contact called merlijn@jabber.org18:40
freemangordonyou have more than one account on same server/service?18:40
Wizzupif I want to call merlijn@jabber.org (or call)18:41
freemangordonah, so both are @jabber.org18:41
Wizzuphow do I say I want to use foo@ or bar@18:41
WizzupI don't think the server matters18:41
freemangordonit does18:41
WizzupI just think there's no way in general18:41
Wizzuphmm18:41
freemangordonlemme describe18:41
freemangordonyou have 2 acccounts foo@sever1 and bar@server218:41
freemangordonyou want to dial ivo@server1 or sicelo@server218:42
freemangordonwhy should you make any choise? it is obvious which local account shall be used for each remote account18:42
freemangordonnow, I am not sure what is the situation if you have multiple accounts on same server18:43
freemangordonbut I can assure you that there *is* a dialog asking you for the local account you want to use18:43
freemangordonI've seen that a couple of times when importing contacts n900->d418:44
freemangordonand when I wanted to start gtalk (which was functioning back then) talk to a friend of mine18:44
freemangordonabook was asking me which account (local) to use18:45
Wizzupfreemangordon: no that is not clear to me18:45
freemangordonalso, remote accounts are 'roster' accounts and it is pretty much clear which local account they are tied to18:46
Wizzupwhy would you prefer the same xmpp server18:46
Wizzupthere is no reason to do that at all18:46
freemangordonwhy would you want another one?18:46
WizzupI'm not sure why you're flipping the question, but there's just no reason to stick with the same server18:46
WizzupLike, other than personal preference18:47
freemangordonno, this is the same question18:47
WizzupThere's no technical or billing reason or something18:47
freemangordon\what is the use case?18:47
Wizzupsimple, you have multiple xmpp accounts that have a shared contact (they both have it), and you want to dial from a specific configured account, not the other18:47
Wizzupcould be that you're planning on deprecating the old account but keep it configured for now18:47
freemangordonlike, if we want to implement such a functionality (if it is missing), why shall we do it18:48
Wizzupfor the same reason that you want to be able to select a sip account when you dial a landline18:48
Wizzupit shouldn't just pick a sip account18:48
Wizzupin any case there is a workaround for this, go to the dialer, select your specific account, and then *manually* type in the contact name18:48
Wizzupbut it's silly18:48
freemangordonno, wait18:49
freemangordonI am almost sure abook adds action buttons for every combination of local vs remote account18:49
freemangordonunfortunately I have no working accounts to test with18:49
WizzupI just tried it and it didn't, and in fact because I tried to dial a account that was also configured on the n900, it decided to hang up by itself :D18:50
Wizzupbut that is a separate concern18:50
WizzupI can make you infinite xmpp accounts if you wish :P18:50
freemangordonI think it will make sense18:51
Wizzupit = ?18:51
freemangordon(make several accounts)18:51
freemangordonbut wait18:51
Wizzupok, let's look at this over the weekend maybe?18:51
freemangordonthose will be on the same server, right?18:51
freemangordonyeah, over the weekend18:52
Wizzupfreemangordon: yes, same server18:52
Wizzupbut I can set up another one18:52
freemangordonok, lemme see if I got it right18:52
freemangordonyou want to be able to choose the 'from' account where dialing (or chatting) out, correct?18:53
freemangordonI imagine that can be implemented as an action per local account18:54
freemangordonif not already there18:54
freemangordonok, please, make me 2 test accounts on your server18:54
freemangordonwhen you have time that is18:54
Wizzupok18:55
freemangordonhmm, I already have one18:55
freemangordonso one more is needed18:56
freemangordonalso, somehow that account shall become roster18:56
freemangordoni.e. now I don;t see any accounts on the server18:56
freemangordonor, you can give me your account18:57
Wizzuphm?18:58
freemangordonI don;t have your jabber account :)18:58
Wizzupsend over dm18:58
freemangordonyeah19:00
freemangordonok, I am almost 99% sure what you requested is already here19:00
Wizzuphm19:00
freemangordonbecause when I tried to add your account, I am aked for th elocal account19:00
freemangordon*asked19:00
freemangordonanyway19:01
Wizzupright, that is to make a contact19:01
Wizzupbut you can have my xmpp account as contact on more than one of your xmpp accounts19:01
freemangordonjust add the same remote account for the another local account19:01
Wizzupyes19:02
freemangordon*the other19:02
Wizzupso that is what I have19:02
Wizzupbut then I don't have the ability (I think) to select which local account to use19:02
freemangordonok, isn't that what you wanted?19:02
Wizzupno, that's the problem :)19:02
freemangordonoh, maybe it is not visible19:02
Wizzupit's not account adding contacts, it's about not being able to pick which local account to use for an action (call)19:02
freemangordonyou do it implicitly by selection the action19:03
freemangordoneach action is tied to local and remote account to be used19:03
Wizzupyou're looking at the new im in conversations I guess?19:03
Wizzupwhere you see the accounts several times in this case?19:03
Wizzup(the same remote accounts several times)19:03
freemangordonno, I am looking at addressbook19:03
freemangordonI don;t see them19:04
freemangordonbecause I didn't add them19:04
Wizzupwell, so with the situation I described19:04
freemangordonas I still don;t have second account to use19:04
WizzupI see some accounts twice19:04
Wizzupwith the same text/name19:04
Wizzupremote accounts19:04
Wizzupbecause different local accounts have it in their roster19:04
freemangordonand you don't know which one is which?19:04
Wizzupright19:04
freemangordonok, so it is not that the functionality is not there19:05
Wizzupbut also when doing a call from the dialer it won't let you pick, it just picks one, afaict19:05
Wizzupbut that I will have to triple check19:05
freemangordonthis is UI issue (local account not shown)19:05
freemangordonso I guess I can prepend the local account with the remote one19:06
freemangordoninstead of just showing wizzup@xmpp.com it will show ivo@xmpp.com/wizzup@xmpp.com19:07
freemangordonis that ok?19:07
freemangordonor something similar UI wise19:07
Wizzupright, something like that could work19:08
freemangordonor, perhaps I can just put a separator with the account name19:08
freemangordonok, will decide on that19:09
boshtannikHello everyone19:38
boshtannikHave something changed in permissions to create networking interfaces during updates?19:38
sicelomaybe provide more info19:39
boshtannikon previous distro version on my n 900, I was able to freerly install yggdrasil client, and then i had openrc script added, which helped me to enable yggdrasil start on boot.19:39
boshtannikNow it complains on that, socket file of that yggdrasil file is not created for some reason, Can not figure out where to search of the tail of that problem19:39
boshtannikmay be it's updated yggdrasil client, that fails internally, due to the code change19:40
boshtannikI guess, i found other way to register that autostart service19:43
boshtannikhere is the possible script for running service *i guess*19:50
boshtannikis the openrc is used?19:50
arno11Wizzup: sicelo: i made a clone of my config on a u3 card: now qt5 apps open in 3-5 sec instead of 30 sec with a basic class10 and no tweaks.20:22
arno11others apps around 1 sec with u320:23
siceloi've just booted my N900. will update in a moment. not sure what goodies i might be missing, if any20:24
Wizzuparno11: is this 16bit?20:40
arno11yes20:41
arno11+ overclock + transitions20:41
arno11and it's really fast20:42
sicelostill upgrading. i have 6.1.48 kernel. that already has the overclockable dtb?20:45
arno11nope apparently :(20:45
Wizzuphm, it should in -devel20:51
Wizzuparno11: so in 16bit qml does not work yet, rightg20:52
Wizzupright* ?20:52
arno11yep20:52
buZzarno11: did you notice insane pricedrops for U3 cards? i bought 6x 64GB U3 microSD for ~3 euro a piece20:52
buZzdubious brand, but legit flash , i fff/f3'd the cards20:52
buZzah they made them a bit more expensive now ; https://storageisland.nl/sp064gbstxdu3v20ab-64gb-microsdxc-superior-pro-v30-class-10-r-w-up-to-100-80-mb-s/20:53
arno11i bought mine 25e...lol20:54
arno11Wizzup: overclock not present in devel and i don't understand why20:54
buZzarno11: dang :D20:54
Wizzuparno11: weird, maybe check with uvos20:57
arno11yep20:57
arno11uvos: is it normal we can't already use boost freqs in -devel 6.1.48 ?20:59
arno11it is still the old opp-table with 125-600 in dtb21:01
arno11same in 6.1.921:02
arno11and boost folder is not present in /sys/devices/system/cpu/cpufreq so definitely means boost is not activated, otherwise it appears automatically21:05
arno11buZz: wow a pint of beer is more expensive...21:11
buZzexactly21:12
Wizzupwhy not both, u3 in a pint of beer21:12
arno11buy 2 pints, and get a u3 for free21:17
Wizzup:D21:21
siceloarno11: while on your N900, please show me output of, `busctl call org.ofono / org.ofono.Manager GetModems`21:46
arno11ok21:59
arno11a(oa{sv}) 022:00
sicelommm, :-P22:01
sicelothat can't be ...22:01
sicelorun it when modem is ready ... e.g. in state to be able to receive a call22:03
arno11oops sorry lol22:03
arno11which part of the result you need ?22:07
sicelofrom "Interfaces" to the end22:07
arno11Interfaces" as 16 "org.ofono.Phonebook" "org.ofono.SmartMessaging" "org.ofono.PushNotification" "org.ofono.MessageManager" "org.ofono.CellBroadcast" "org.ofono.RadioSettings" "org.ofono.ConnectionManager" "org.ofono.NetworkRegistration" "org.ofono.CallForwarding" "org.ofono.SupplementaryServices" "org.ofono.CallSettings" "org.ofono.CallBarring" "org.ofono.AllowedAccessPoints" "org.ofono.SimManager"22:08
arno11"org.ofono.VoiceCallManager" "org.ofono.AudioSettings" "Features" as 7 "sms" "cbs" "rat" "gprs" "net" "ussd" "sim" "Type" s "hardware"22:09
sicelothanks22:09
arno11no probs22:10
uvosarno11: yes its normal, imerged the patch, but no kernel was ever relased with it23:19
uvosarno11: currently im 99% there with 6.6 with just a cpufreq issue remaining, will be in this release23:19
arno11ok cool23:30

Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!