Chat log from the meeting on 2023-01-10

From OpenSimulator

Revision as of 01:34, 11 January 2023 by Tampa (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
[11:59 AM PT]  Andrew Hellershanks: Hello, everyone.
[11:59 AM PT]  Lyr.Lobo Hello!
[11:59 AM PT]  Ubit Umarov: hi
[11:59 AM PT]  Ubit Umarov: is that chocolate?
[11:59 AM PT]  Lyr.Lobo laughs
[12:00 PM PT]  Andrew Hellershanks: :)
[12:01 PM PT]  Andrew Hellershanks: Hello, Motoko and Selby
[12:01 PM PT]  Motoko.Karu hihi andrew... hihi everyone...
[12:02 PM PT]  Andrew Hellershanks: Hello, Jamie
[12:02 PM PT]  Selby.Evans i everyone
[12:02 PM PT]  Ubit Umarov: hi welcome all
[12:02 PM PT]  Lyr.Lobo Heya Jamie, Motoko, and Selby!
[12:03 PM PT]  Jamie.Jordan hi everybody
[12:03 PM PT]  Motoko.Karu Hihi Lyr
[12:03 PM PT]  Motoko.Karu heya jamie
[12:03 PM PT]  Lyr.Lobo So great to see everyone
[12:04 PM PT]  Andrew Hellershanks: I'm just waiting for Kayaker who has logged in
[12:05 PM PT]  Motoko.Karu familar sound.. .
[12:05 PM PT]  Kayaker Magic: My TP-in sou nd?
[12:06 PM PT]  Andrew Hellershanks: Yup. Hello, Kayaker.
[12:06 PM PT]  Kayaker Magic: Hello all!
[12:07 PM PT]  Andrew Hellershanks: Not  much in the way of code news from this past week. The only changes made affected Robust.
[12:08 PM PT]  Kayaker Magic: We have a storm here on the central California coast, my power was out for almost 6 days. Just came back up yesterday.
[12:08 PM PT]  Ubit Umarov: outch
[12:08 PM PT]  Andrew Hellershanks: Some of the changes were just code cleanup. The one addition is for another way to filter users.
[12:09 PM PT]  Motoko.Karu :(
[12:09 PM PT]  Lyr.Lobo wow, rough news
[12:09 PM PT]  Andrew Hellershanks: Kayaker, that's not good. Glad you could make it considering what you've gone through.
[12:09 PM PT]  Ubit Umarov: yes, by request i added the option to block access to a grid by viewer ID0
[12:10 PM PT]  Ubit Umarov: like mac not that usefull
[12:11 PM PT]  Ubit Umarov: but may have some use cases.. so.. i did added it
[12:11 PM PT]  Ubit Umarov: vincent also offered me his code doing also by some usernames
[12:11 PM PT]  Vincent.Sylvester Technically also changed to be able to sit in AccessControl section rather than login or gatekeeper, making it easier to find and manage
[12:11 PM PT]  Ubit Umarov: i may add it.. hmm or not :p
[12:12 PM PT]  Vincent.Sylvester I still need to ponder over the allowexcept list thing on that, don't really like how I did that string to list there
[12:12 PM PT]  Ubit Umarov: think to option to add it on [access] or [gatekeeper] was already there
[12:13 PM PT]  Ubit Umarov: i i kept our old way on that
[12:14 PM PT]  Ubit Umarov: ofc also made a bit cleanup, ( typos aside) and made the regex expressions to be processed once at loading and not at each check
[12:14 PM PT]  Ubit Umarov: also made they use .net pre compilation into IL
[12:15 PM PT]  Ubit Umarov: should be a bit faster
[12:15 PM PT]  Ubit Umarov: but well those things are not suposed to be very long lists..
[12:15 PM PT]  Andrew Hellershanks nods
[12:16 PM PT]  Ubit Umarov: so yeah those where last week code changes :)
[12:17 PM PT]  Andrew Hellershanks: ty, Ubit.
[12:17 PM PT]  Andrew Hellershanks: Hello, Michael.
[12:17 PM PT]  Michael.Christopher hello
[12:18 PM PT]  Vincent.Sylvester From last weeks discussion about the problems with mariadb I spent today taking mysqlconnector and integrating that in place of mysqlclient
[12:18 PM PT]  Ubit Umarov: think vincent did some testing on that mariaDB issue...
[12:18 PM PT]  Ubit Umarov: oops
[12:18 PM PT]  Ubit Umarov: :)
[12:18 PM PT]  Andrew Hellershanks: What have you found, Vincent?
[12:18 PM PT]  Vincent.Sylvester Turned into another nuget odyssey, because of course whenever you touch that it's one dependency after another
[12:18 PM PT]  Vincent.Sylvester So after adding those in there it now compiles and runs
[12:19 PM PT]  Vincent.Sylvester I had to change a few minor things in code due to syntax differences
[12:19 PM PT]  Vincent.Sylvester Nothing major apart from migrations
[12:19 PM PT]  Ubit Umarov: hm what syntaxe difs?
[12:20 PM PT]  Vincent.Sylvester Apparently mysqlconnector does not implement mysqlscript so I wrote some crude way for migrations to just run the entire sql at once, not sure that's wise though
[12:20 PM PT]  Ubit Umarov: i think i did update it on dotnet6 well i made a ton os "syntaxe" changes on dotnet6
[12:20 PM PT]  Ubit Umarov: :)
[12:20 PM PT]  Vincent.Sylvester ExecuteNonQuery(cmd) to cmd.ExecuteNonQuery(), also IDataReader to MySqlDataReader
[12:21 PM PT]  Ubit Umarov: mysqlscript  ?  that is something on yr grid fork?
[12:21 PM PT]  Vincent.Sylvester System.Data basically completely removed from that apart from a few datatable thing that need it
[12:21 PM PT]  Vincent.Sylvester Mysqlscript is migrations, it's how it does them normally taking the file and doing them one by one I guess
[12:22 PM PT]  Vincent.Sylvester I didn't quite get what it's actually meant to do, I changed it to just read file and execute the whole thing as one command instead just to get it working
[12:22 PM PT]  Ubit Umarov: no idea how you had that.. mb you used a more recent version
[12:22 PM PT]  Vincent.Sylvester protected override void ExecuteScript(DbConnection conn, string[] script)
[12:23 PM PT]  Vincent.Sylvester MySqlScript scr = new MySqlScript((MySqlConnection)conn); foreach (string sql in script)
[12:23 PM PT]  Ubit Umarov: dotnet6 is using mysql  8.0.30
[12:24 PM PT]  Vincent.Sylvester Not sure what that really does, I didn't look much into it, just changed it to do the whole script at once to get it to run at all
[12:24 PM PT]  Vincent.Sylvester Not sure if it splits the migrations into individual queries for each line or something
[12:25 PM PT]  Ubit Umarov: ok i see it
[12:25 PM PT]  Ubit Umarov: i had to change nothing
[12:26 PM PT]  Ubit Umarov: what connector version did you test?
[12:27 PM PT]  Ubit Umarov: seems last is 8.0.31
[12:27 PM PT]  Vincent.Sylvester For framework version 4_6_1 since there is nothing for 4_6
[12:27 PM PT]  Vincent.Sylvester Meant I also had to change prebuild which made a bit of a mess
[12:27 PM PT]  Ubit Umarov: yeack
[12:28 PM PT]  Ubit Umarov: why bother with obsolete things :(
[12:28 PM PT]  Vincent.Sylvester I might yet move all that out into a mariadb connector instead
[12:28 PM PT]  Ubit Umarov: and that is a totally dif thing
[12:29 PM PT]  Ubit Umarov: so ofc you need to change things
[12:29 PM PT]  Ubit Umarov: miracle only a few..
[12:29 PM PT]  Vincent.Sylvester I tried just updating the mysqlclient that is in there now, but even on its latest version it will not connect to mariadb so I had to find a different connector
[12:29 PM PT]  Ubit Umarov: 8.0.31 did not connect?
[12:29 PM PT]  Vincent.Sylvester Nope
[12:29 PM PT]  Ubit Umarov: yeack
[12:30 PM PT]  Vincent.Sylvester They are apparently aware of the issue, but a fix might be months out still
[12:30 PM PT]  Ubit Umarov: wel change to that other connector is a hard thing
[12:30 PM PT]  Ubit Umarov: and one needs to see if it still works with mysql
[12:30 PM PT]  Vincent.Sylvester Yeah that's plan for tomorrow as well as figuring out why it wants all the dependencies
[12:31 PM PT]  Ubit Umarov: "MySqlConnector is a clean-room reimplementation of the MySQL Protocol and is not based on Oracle’s Connector/NET."
[12:31 PM PT]  Vincent.Sylvester It wants things like system.memory and system.buffers which seems strange low level things that should be in the project already
[12:31 PM PT]  Ubit Umarov: thing is that mysql connector is Oracle connector
[12:31 PM PT]  Ubit Umarov: ofc it does
[12:31 PM PT]  Vincent.Sylvester The damn compilerservices.unsafe is in there too, which is just great
[12:31 PM PT]  Ubit Umarov: all things now made for .net > 5
[12:32 PM PT]  Vincent.Sylvester A mess
[12:32 PM PT]  Vincent.Sylvester Thanks nuget :P
[12:32 PM PT]  Ubit Umarov: some my say they will work on .net4.6.2
[12:32 PM PT]  Ubit Umarov: but will had a ton of libs
[12:32 PM PT]  Ubit Umarov: so 4.6.2 it turned into a (broken) .net5
[12:33 PM PT]  Vincent.Sylvester Why implement a type you need when you can reference an entire library is apparently the modern way
[12:33 PM PT]  Vincent.Sylvester But, I guess it works in the end so now just need to clean this up somehow
[12:33 PM PT]  Vincent.Sylvester The changes in code are minor and are actually already there in some parts
[12:34 PM PT]  Vincent.Sylvester cmd.ExecuteNonQuery already exists in newer parts of code
[12:34 PM PT]  Vincent.Sylvester The type changes are minor and actually eliminate dependency on in a few places
[12:34 PM PT]  Vincent.Sylvester Only thing it still needs it for is those datatable things, haven't figured out what those are yet
[12:35 PM PT]  Ubit Umarov: well it is a totally dif thing
[12:35 PM PT]  Vincent.Sylvester Biggest annoyance is the framework version change in prebuild, because that makes a mess of the assemblies if you don't clean them or pull clean from git
[12:36 PM PT]  Vincent.Sylvester I also had some tests blow up because mysqlconnector cannot understand the UUID type and there were a few things still missing .ToString
[12:37 PM PT]  Vincent.Sylvester So need to do more testing to see what else might blow up, it boots and runs, but need to test actually going to the region and doing stuff now
[12:37 PM PT]  Ubit Umarov: there no uuid type on our use of mysql
[12:37 PM PT]  Ubit Umarov: we store as char
[12:37 PM PT]  Ubit Umarov: and we can't use any form of uuid they may have
[12:38 PM PT]  Ubit Umarov: bc we have our own implementation
[12:38 PM PT]  Vincent.Sylvester cmd.Parameters.AddWithValue("regionUUID", regionUUID); for example
[12:38 PM PT]  Ubit Umarov: hmm actally i think i did commit a fix, bc some code decided to use mysql Guid
[12:38 PM PT]  Ubit Umarov: that is a name
[12:38 PM PT]  Vincent.Sylvester cmd.Parameters.AddWithValue("TerrainImageID", settings.TerrainImageID);
[12:39 PM PT]  Vincent.Sylvester cmd.Parameters.AddWithValue("AuthBuyerID", land.AuthBuyerID);
[12:39 PM PT]  Ubit Umarov: another name
[12:39 PM PT]  Vincent.Sylvester All caused that parameter type UUID is not supported error
[12:40 PM PT]  Vincent.Sylvester Easy fix just adding a tostring to that though
[12:40 PM PT]  Ubit Umarov: those are names not types
[12:40 PM PT]  Ubit Umarov: `RegionUUID` char(36) DEFAULT NULL,
[12:41 PM PT]  Ubit Umarov: for mysql it is a char36
[12:41 PM PT]  Andrew Hellershanks: I was going to say that. :)
[12:41 PM PT]  Vincent.Sylvester In db yes, but I guess mysqlconnector does not automatically convert to the database type
[12:41 PM PT]  Vincent.Sylvester 2023/01/10 15:09:08 - [EVENT MANAGER]: Delegate for TriggerLandObjectAdded failed - continuing.  Parameter type UUID is not supported; see Value: 00000000-0000-0000-0000-000000000000   at MySqlConnector.MySqlParameter.AppendSqlString
[12:41 PM PT]  Ubit Umarov: we do the convertions
[12:41 PM PT]  Ubit Umarov: we tell it to read/write a string
[12:42 PM PT]  Ubit Umarov: we only use a uuid type on psgl
[12:42 PM PT]  Ubit Umarov: i did had a odd issue that did force me to do a commut
[12:43 PM PT]  Ubit Umarov: bc mysql has a dead internal guid typew
[12:43 PM PT]  Ubit Umarov: and somehow it did messup our code smewhere
[12:43 PM PT]  Vincent.Sylvester Not entirely sure why it does not seem to do that, but seeing as some other UUIDs are .ToString as well I just did it for the rest and got no more red in console
[12:43 PM PT]  Ubit Umarov: the need for tostrng depend on what we use to convert
[12:44 PM PT]  Ubit Umarov: in some cases the tostring was not needed, because was implicit
[12:44 PM PT]  Ubit Umarov: os, ok.. it is possible that new thing needs it
[12:44 PM PT]  Vincent.Sylvester mysqlconnector seems to aim for lightweight so I guess it just doesn't failsafe to something would be my guess
[12:44 PM PT]  Ubit Umarov: as i said, kinda  miracle it even did somethign
[12:45 PM PT]  Vincent.Sylvester I might have to look at using the guid type now implemented in mariadb as well, save those few nanoseconds on the cast
[12:45 PM PT]  Vincent.Sylvester But the whole idea for today was just getting the darn thing to work in the first place
[12:46 PM PT]  Ubit Umarov: most jsut store it as char36 anyways
[12:47 PM PT]  Vincent.Sylvester Could lose the hyphens save that few kb, might add up on larger things, but I think internally those guid types are not any better than strings anyways
[12:47 PM PT]  Vincent.Sylvester Mostly enforces conformity with the type where char would not
[12:48 PM PT]  Ubit Umarov: ohh in pgsql and also use strings "RegionUUID" varchar(255) NULL,
[12:48 PM PT]  Ubit Umarov: could.. but they don't
[12:48 PM PT]  Vincent.Sylvester Yeah postgres only has that on like two tables I think maybe even just one
[12:48 PM PT]  Ubit Umarov: they had binary format, and for some reason moved back to char36
[12:50 PM PT]  Vincent.Sylvester I think the code changes outside the types can probably apply to dotnet6 branch easily
[12:50 PM PT]  Vincent.Sylvester the cmd.ExecuteNonQuery things I mean
[12:50 PM PT]  Vincent.Sylvester That's just cosmetics really
[12:50 PM PT]  Ubit Umarov: you got just luck that thing almost worked :p
[12:50 PM PT]  Ubit Umarov: well guess bc both try to implement a ms protocol
[12:51 PM PT]  Vincent.Sylvester Supposedly the mysqlclient we use now is aware of the mariadb change and they might support it at some point so could just upgrade that dll
[12:51 PM PT]  Ubit Umarov: but strage with the oracle one does nto work with maria
[12:52 PM PT]  Ubit Umarov: nah it is not aware
[12:52 PM PT]  Ubit Umarov: guess maria just has a bug somewhere
[12:52 PM PT]  Ubit Umarov: or the oracle one has
[12:52 PM PT]  Lyr.Lobo thinks that in the commercial world, that is called a feature
[12:53 PM PT]  Vincent.Sylvester There is a issue topic about this on github somewhere, so they know, but who knows when a change will be made
[12:53 PM PT]  Ubit Umarov: :)
[12:53 PM PT]  Vincent.Sylvester The problem is that mariadb now allows some types to be null and the connector expects types always to be defined
[12:53 PM PT]  Ubit Umarov: we also call this kinda of things features in opensim Lyr.Lobo
[12:53 PM PT]  Vincent.Sylvester It's a single line that needs a change to handle getting null as a return from db
[12:54 PM PT]  Vincent.Sylvester Then it would work fine probably
[12:54 PM PT]  Ubit Umarov: well we alrady have a fixed mysql connector on master
[12:54 PM PT]  Vincent.Sylvester I would have made that change if I could get that connector to compile at all
[12:54 PM PT]  Ubit Umarov: not sure we need to apply that to 8.0.3x also
[12:54 PM PT]  Ubit Umarov: i didn't so far
[12:55 PM PT]  Ubit Umarov: ( that was abotu the utf8mb3 )
[12:55 PM PT]  Ubit Umarov: think we can compile the oracle one, but then can't sign it
[12:56 PM PT]  Vincent.Sylvester Love projects you download and open in visual studio and immediately get an error and it fails to compile anything, but yeah there are a few things on stackoverflow as well about this dbnull type problem
[12:56 PM PT]  Ubit Umarov: that is called "opensource" :P
[12:56 PM PT]  Michael.Christopher lol
[12:57 PM PT]  Michael.Christopher sorry, thats the best reply ive heard this week
[12:57 PM PT]  Ubit Umarov: :)
[12:57 PM PT]  Vincent.Sylvester
[12:58 PM PT]  Ubit Umarov: so maria broke things :P
[12:59 PM PT]  Vincent.Sylvester I can't really think of a reason why they did this
[1:00 PM PT]  Vincent.Sylvester Probably someone that complained really loudly and they just did it not thinking about what might happen who knows
[1:00 PM PT]  Vincent.Sylvester I also still have to test if this might not break other things, like php or python mysql connectors
[1:01 PM PT]  Vincent.Sylvester Might just be C# that got shafted this time though otherwise can't think how this made it past the release candidate staging
[1:02 PM PT]  Vincent.Sylvester Giving them the benefit of "didn't see it" rather than "don't care" here
[1:10 PM PT]  Michael.Christopher did I lose connection or is no one talking lol?
[1:10 PM PT]  Motoko.Karu was wondering the same
[1:10 PM PT]  Michael.Christopher ok so not frozen lol ty
[1:10 PM PT]  Ubit Umarov: vincent stopped typing :)
[1:11 PM PT]  Jamie.Jordan everybody is quiet
[1:11 PM PT]  Ubit Umarov: so any more news abotu opensim?
[1:11 PM PT]  Michael.Christopher not here yet, still working on the med demo coding
[1:12 PM PT]  Ubit Umarov: so abotu the maria issue
[1:13 PM PT]  Ubit Umarov: acording to the information vincent.Sylvester  shared with us,  we will need to either change to another "generic" connector like mysqlconnector
[1:13 PM PT]  Ubit Umarov: or fix the oracle one
[1:14 PM PT]  Ubit Umarov: from the url vicent posted, the crash is jsut because the oracle one does not test some fields for NULL, becasue they are not null on MySQL; and maria made them null now
[1:15 PM PT]  Ubit Umarov: i may try to fix that on our conector 6.???
[1:15 PM PT]  Ubit Umarov: i thing we do use one compiled by me already
[1:15 PM PT]  Ubit Umarov: that is.. if i find the source :P
[1:15 PM PT]  Vincent.Sylvester I'll happily test if you do that seems the simpler approach really
[1:16 PM PT]  Andrew Hellershanks: Thank you for the update about your battles with MySQL connector.
[1:16 PM PT]  Vincent.Sylvester mysqlconnector might be slightly faster given it is meant to be lighter, but I doubt that's measurable
[1:16 PM PT]  Ubit Umarov: the url you posted even shows the conde line
[1:16 PM PT]  Ubit Umarov: well on some verison of mysql
[1:16 PM PT]  Ubit Umarov: wel but a scary change to do
[1:16 PM PT]  Vincent.Sylvester That was my initial plan today, get the source for that and just fix it up, but I couldn't get it to open in visual studio much less compile it
[1:17 PM PT]  Ubit Umarov: many use mysql
[1:17 PM PT]  Ubit Umarov: we can't just change the connector like that
[1:18 PM PT]  Vincent.Sylvester I'll test tomorrow hopefully if it still works with mysql, but I would guess so, there is also the option to branch it into a mariadb connector itself, which is not that hard to do, but yeah simplest and likely most compatible would be fixing the oracle one
[1:19 PM PT]  Andrew Hellershanks: We are at 20 past the hour. Are there any other questions related to something other than database connectivity?
[1:19 PM PT]  Jagga Meredith: Working on particles demos.  Is there anything new there, that wouldn't be documented in the Wiki, that would be revealed by an examination of the source?  So far seems to be fine
[1:20 PM PT]  Ubit Umarov: hmm have any line number of file abotu the original crash vincent?
[1:20 PM PT]  Ubit Umarov: on the mantis?
[1:21 PM PT]  Kayaker Magic: Does the Wiki mention the new max size of a particle?
[1:21 PM PT]  Vincent.Sylvester I think so, well the mysql connector doesn't give line numbers itself cause no pdb
[1:21 PM PT]  Jagga Meredith: Kayaker - no
[1:21 PM PT]  Andrew Hellershanks: Max size for particles has changed?
[1:21 PM PT]  Jagga Meredith: it says 40
[1:22 PM PT]  Kayaker Magic: In SL it is 4m, in Opensim it is 7.8something meters.
[1:22 PM PT]  Jagga Meredith: ok
[1:22 PM PT]  Jagga Meredith: will fix my code
[1:25 PM PT]  Andrew Hellershanks: I'll have to update my particle generator device. I have a particle size limit of 4.
[1:26 PM PT]  Kayaker Magic: I forget the actual number, it is based on a packed bit value converted to floating point....
[1:26 PM PT]  Kayaker Magic: Almost 8 meters.
[1:26 PM PT]  Jagga Meredith: I'll play with it
[1:27 PM PT]  Andrew Hellershanks: ok. Depends on what units the bits represent.
[1:27 PM PT]  Andrew Hellershanks: Where is the new size limit documented?
[1:28 PM PT]  Kayaker Magic: Besides in the code?
[1:28 PM PT]  Andrew Hellershanks: :)
[1:28 PM PT]  Kayaker Magic: I was hoping Ubit knew it by heart!
[1:28 PM PT]  Ubit Umarov: ofc
[1:28 PM PT]  Ubit Umarov: just forgot :p
[1:29 PM PT]  Andrew Hellershanks: hehe
[1:30 PM PT]  Lyr.Lobo chuckles
[1:30 PM PT]  Andrew Hellershanks: If there isn't anything more for today I'll wrap up this gathering and we can go our separate ways until next week.
[1:30 PM PT]  Lyr.Lobo Thank you!
[1:30 PM PT]  Michael.Christopher :)
[1:30 PM PT]  Lyr.Lobo Have a great week
[1:30 PM PT]  Michael.Christopher have a great week everyone!
[1:30 PM PT]  Kayaker Magic: Buy all!
[1:30 PM PT]  Motoko.Karu cya everyone...
[1:30 PM PT]  Andrew Hellershanks: Alrighty then... Thank you all for coming. See you again next week.
[1:31 PM PT]  Jamie.Jordan have a great week day yall
[1:31 PM PT]  Lyr.Lobo waves
Personal tools
About This Wiki