#plugins-dev-chat
1 messages ยท Page 124 of 1
"we don't need to test, i know what i'm doing"
-# i tend to overtest
Like it you set the volume to 100x
That's a skill issue
It would be like adding check so you don't cause epilepsy
From light toy
โ read the docs
โ
follow natural stupidity because volume sliders in games tend to be 0-100%, and don't even think of testing it locally
LCZ toilets light before they reduced flickering khm khm
David
when OnGui Support from server to Client
:3
in another multiverse
i know ;(
What's that
guh guh guh
Again
I forg
That's like that editor UI no
OnGui is the method for drawing into the screen
Or we'll the very basic one
she wants IMGUI
As marked by jesus
(pro tip: don't use IMGUI)
what
no more meowing service?!
XDDD
No more what
hsm
๐ญ
i love bagels for my birthday
david you've breached your NDA
gotta go to hubert jail
AnimCullingStatsCommand
real
whats that
How do you type % on English keyboard
FRRR????? :3
shift 5
%
it means instead of replacing hints, itll be a new feature
%
Thanks
Shift 5
you really have to profile animators?
why didnt yall keep nwapi ๐
No its a real thing
added by nw this update
we'll bring it back sometime
plz kill nwapi
at least someone gets it
if you type "animcullingdebug" in your client console it enables
with a GUI updated from the server
imagine disclosing that in the changelog
I know because i have updated to my github
animation "LOD" thing
axe
and someone added this to the code
And because some other thing actually using this ye
I beg nw to add this possible to the client
GOD
What is a bagel
...
Is like a baget
im quitting
:|
@restive turrethello slime boy
๐
wow...
Don't ever do that
Baguette?
nameless called you "slime boy"
at least you let me call you it
thanks!!!
i have the best nicknames ever
๐
I will call her evilin
just cuz im evil doesnt mean im evil
You are evil
also u cant be mean on my birthday
lol
Fire thank you so much!
I was gonna say smth evil but i decided i do this instead
Happy birthday ๐
The cake is a lie
Anyway brb gotta buy cigarettes and bread
To chainsmoke it
I can prove that
yet
Watch this Music Video - https://youtu.be/NwvuDix1-Gc
Stream This FIRE Song - https://olumide.ffm.to/newkeys-remix.OYD
Follow on Spotify - https://open.spotify.com/artist/3nbRDAM47ubEsdsIF3mVjd
Follow Us on TikTok - https://tiktok.com/@mxevideos
Become a Partner Today - https://dashboard.bentpixels.com/apply/bp/MichaelXboxEvolved
Join to get exc...
At the end of portal 1 the cake is there
SO IT MEANS ITS NOT A LIE
Congratulations you found me
Was it worth it?
I somehow memorized some of glados lines
You are crazy
And i can't escape from it
like
bro you wanna become glados?
*somehow
im so proud of you
U played the game at like 14yr and was really great
game is great nothing more
So decided to play too much
what valve gives us is love
can we make portals in SL
like real portals
not primitives fake portals
portal 1 is great to speedrun
portal 2 is broken too
portal 1 oob is probably the most fun you can have speedrunning
yeah but it's not as much of a broken mess
like the ending is crazy how they found the thing to get less time
with frame perfect
And that too much made me hear the line again and again
especially portal 3420
Until i said the line with glados too
most broken version that crashes on most machines but has the most broken things
the goo sound
Oh fiddle stick what now!
only portal 2 glitch I know is the flying one
where you crouch into the ceiling on the booster things
Yea
What's YOUR favorite mud.wav?? Mine's mud1.wav
Twitch: https://www.twitch.tv/madin8
Discord: https://discord.gg/98VdBkXjQK
LimeMaxx's short https://www.youtube.com/shorts/kmBU0ySZYpc
btw this video is amazing
the goo sound or mud.wav
btw something i forgot to say, idk if david, slejm or axwabo remembers the culling toy glitch that for some reason was causing client side errors even tho it was correct, from a version to another it fixed itself
so now it doesn't even say the error anymore
of the mismatch
Lel
idk i find it funny that now doesn't happen anymore
:O HI X3RT
Thank you for all the tips on transpilers, they've really helped me out
My code improved like 10x with the information you gave me
yay
can u rewrite sl in assembly pls
yes let me write asm for 10 years
can you rewrite sl in c++ with a custom game engine
and no libraries obv
only vulkan and directx allowed tho
I love tokyospliff
Unironically this was how rollercoaster tycoon was made
yes
I mean yes of course
Back in the good old days
gotta say some of his code is painful to look at because he's primarily used to shader work so his actual code ends up being structured like shaders
but it has been getting better over time
Was SecretAPI not recompiled for the latest update?
I use it for the SSSS wrapper it's kind of really important
Has something changed in the update?
yes
Don't plugins need to be recompiled for the latest update to, you know, generally work?
um
some ctors
not unless they break something
if there are no breaking changes affecting it
eg they change the params to SSS
Things change every update
ya but not everything is a brekaing change every update
but if your code doesn't touch anything that wasn't broken
then you have nothing to worry about
patches maybe
Weird cause sometimes an update breaks seemingly unrelated things
i didn't have to recompile my command system but someone is still having issues with its patches 
-# nobody else reported an issue
Like this latest update broke my custom items
-# works on a fresh installation
Idek why
lets take CustomHeader
if they changed SSGroupHeader
away from SSGroupHeader(label, reducedPadding, hint);
14.1.4 or 14.1.4.1
But if I recompile it should just work
and added or removed one of those params
14.1.4
then recompile is needed
yeah
even if they add a default parameter, it's a breaking change
i recompiled because of the Player::GameObject changes
cuz the method without it no longer exists
So then why would something like this happen from 14.1.4 changes
for own server
i'd have to see some code
my guess is that some signature was changed
Sure
I'm not sure exactly what is wrong but I've been told it broke
Huh
method signature in the base game
i love playing sl w 600ms
Yeah probably
birthgay
damn..
:3
I really only attach to a bunch of LabAPI events to register custom items
i thought id hop on my server for a bit and then its 200-700 ping ๐
I don't do any patching
ig i just need to get gud
everything works fine here 
that's odd
yeah cuz you have source code
Well yeah I just haven't recompiled it
๐ญ
completely broken? or breaking after something happening?
worked here without recompile
No clue, I haven't tested nor recompiled, because I'm in Europe
olrite
??
My point is that generally it's good practice to recompile plugins each update
axe is on smth
nevermind
yeah
It prevents these issues
I can guarantee almost 100% that one recompile is going to fix my plugin
we should remove src to nw so they know the struggle
When I heard SecretAPI wasn't updated with 14.1.4 I get worried because these updates change a fair amount and I'm unsure that any testing has been done to ensure these things haven't broken
When really all that needs to be done is one recompile
genuinely how does having client source help with custom items lmao
honestly a lot of times i dont need it
unless a breaking change happens
i thought you meant like
base game works cuz... ofc it works
because nothing has changed for me
So how do you know when a breaking change happens
I am talking about our custom items
itll error on load
you get an exception at runtime 
Not always
i figured
My custom items don't give an exception on loading but they're still broken because something got screwed up with the latest update
I don't necessarily know what, and nothing in the changelogs indicates a breaking change, but stuff broke
then thats prob not a method signature change
afaik nothing really changed in regards to items/pickups
aside from me fixing 914 duplicating items
My whole point is that even if you don't think something broke, there's a chance something did break and you just don't know about it
Which is why it's good practice to just
Recompile
It takes like less than a minute
oh and cancelling throwing projectiles no longer deletes and creates a new item
This is why I just try to write everything myself, then I don't have to rely on other devs for these things ๐ญ
is this a recent thing? or is this a thing since like last year
just wondering if I broke it back then 
idk i havent played sl w 200-700 ping while carrying a jailbird
Yeah that's why I switched away from exiled back when pluginapi originally released
jailbird my beloved cant register hits ๐
as soon as I didn't have to make my own loader I made my own api framework because Exiled kept causing so many issues
lel
Not mine
same!
but i do try to be reliable on with secretapi as much as i can
i cant promise like daily releases or wtv, but i will fix issues that occur
w it
howeverr....
i usually dont recompile unless smth breaks in some way
also r u on 1.x or 2.x
U just have to press 1 button
๐ฃ๏ธ๐ฃ๏ธ๐ฃ๏ธ
gotta load it up
moving to nwapi was painful but full of experience
You can do it inside github girl
and then wait for it... and then compile... and then make a github release....
trigger the workflow manually
oh true..
Eve moment
im still not doing allat for smth that aint broken
i bet it will be broken
nooo

something surely
nw didnt touch my precious setting surely
i gotta get rid of 1.x at some point
but then i gotta
release 2.x....
yuck
i'm gonna release 10 jars of farts in your house if you don't release it this month
GUH
great opportunity to invade denmark

yeah that's why I ended up making my own api because it was lacking so many things. Player Factories for example were cool but entirely broken. 1/10 chance of a factory not creating a custom player object for some reason
2.x afaik
yo...
lmfao
then they removed support for it
good
well datastores are my replacement for factories
I try to stay up to date with releases and things
i mean 2.x is in beta rn
I still wait for that PR
I want to eliminate any chance that the problem is with other people and make sure that if there's an issue it's my own fault
The breaking change one
it does work and i havent heard any issues with it
well
the first few betas werent safe
Still works for me to my knowledge
So good job 
It's amazing having an SSSS wrapper
I did not wanna figure that shit out myself
Sounded like hell
we'll see what nw does
I even expanded the thing you did with proper type support instead of T types
it was!
what if i remake the base SSSS system
no
NW SSSS wrapper is not gonna happen anytime this year
please
๐ฅ and PR it to nw
even then ill keep mine functional for a while
this year?
to allow swapping
me too. But I am glad he's careful with breaking changes
unless it has disadvantages which in that case
unlike exiled 
jesus?
One day, all breaking changes will be added
yea
my baddd
yes
(i dont have the gif)
The day is today
nao's attachment change that was released in a minor version
Thank you ax
oh yeah
nao...
remember when nao released 9.0

Nao loved breaking changes ngl
yeah it's kinda fucked the way exiled made massive changes with no communication
he was a great dev i remember playing his server
I love changing breaks
my bad
best server ever for modded sl at the time
"oh here is a game update so update exiled. Btw 90% of Exiled has changed so have fun updating within 2 days"
โ make breaking changes continuously
โ
rewrite your entire library now that you know the requirements better
me when i waited months for exiled to release
they released and un-released like 3 patches and versions
The game itself also make breaking changes
ill make some in secretapi rn

12.0 was crazy
All you do is breaking changes
not enough
also
wait not this one
https://github.com/Misfiy/SecretAPI/pull/68 this pr is never going out of development hell

Good
i agree with you
so delete it
you are torturing yourself rn
Make a source gen
that's what i'm saying
it was a concept
(she will never)
listen
for what
Ax did you do it in yours

commands
damn

not yet cuz i have something else to work on
also if i ever get around to it
i'll try to get it into labapi :3
Good luck
ty
No
Negative sir
can you speak?
wait
Some words might not map to any phrase. These will be replaced with a pause of (number of characters * 100) milliseconds.
please fix the first sentence
something like "there might be some words that cannot be mapped to any phrase in the database"
@true cedar i see you
what does this mean
fazbear entertainment
if cannot find phrase for word
replace with shush
what
if the text contains a word that cannot be mapped, it'll be silence
ne morzsรกzz
@restive turret 
-# don't leave crumbs
-# don't morsel
eve
help me make an algorithm
im making an algorithm to calculate the optimal enchantment order
wtf is an enchantment order
minecraft
wtf is an enchantment in sl
anvil
oh
book
ah
XDDD
if i <= j ; j=j+i+k ; k = i ++ ; j = 6
yea its a minecraft thing
do what my classmate did
for (bool i = true; i = false; i)
"there's a for loop in my code, you can't subtract a point for a lack of for loops"
Does anyone have an experience reading RFC documents?
RFC?
i made an algorithm i think would work but it doesnt account for like combining 4 sharpness 3 books to make sharpness 5
but why??
very simple solution
Yes a website where someone says how to implement stuff
string response = ShatGPT.prompt()
XDDDD
shatgpt
gotta love the home key working
This document specifies version 1.3 of the Datagram Transport Layer Security
(DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the
Internet in a way that is designed to prevent eavesdropping, tampering, and message
forgery.
The DTLS 1.3 protocol is based on the Transport Layer Security (TLS)
1.3 prot...
ShartGPT
i needed an algorithm for a server i play on
that doesnt let u obtain sharpness 5 from villagers
why not just
hack the server
only sharp 3
shartness 3
Combining?
Like books
do you know the plugin they use?
ye
or if they use anything
just vanilla anviling
well its not about the plugin
probably
^
doesn't work bc it assumes the books are already max level
I believe;
- If the item is being repaired + 2 cost
- Penalty of both items (0, 1, 3, 7, 15, 31) (depending on how many times it was already repaired in the anvil)
- Enchantment addition cost
I had a table somewhere of all the costs of all enchantments but idk where it is
implement A* to do this
google will help

i already know the rules
ive been working on this for a couple weeks
oh?*
This page explains the mechanics of the anvil. The anvil is primarily used to repair tools, armor, and weapons, which it can do without stripping their enchantments, unlike the grindstone and crafting table. It can also be used to combine the enchantments of two items, to give an item a custom name, or to crush enemies, mobs or other players tha...
this should help
SCREAMS
So do i
Never gonna let you down
there's the math and everything for it
wrong order
banned
but as i said
it doesnt account for 4 sharp 3 books -> sharp 5
which is kind of why i wanted to make an algorithm
idk!!!
anyone super experienced with HSM able to help me out? Im getting some serious performance issues at scale and was wondering if anyone could check out my framework to see if im doing something not goog
RueI v3 is mostly stable afaik
i tried making the most basic thing with REUI but couldnt even get anything to render on screen
did you use v3?
i have 2 versions of my framework one with REUI and one with HSM, as i was gonna switch out, but could not for the life of me get it working
ya
hm
2.1 is what iu se
@dapper forge
i tried 3 couldnt get it working
same. but isnt 2.1 gonna be outdated soon?
it should work for a while
i wouldnt wanna make my framework around 2.1 if its gonna be obsolete soon
mm possibly
ruei 2.x is a dependency in its full form
3.x will be a labapi plugin which you reference
alright, ill try working on a 2.1 version then
i have both, im just trying to get SOMETHING working
private static AutoElement? _displayElement = new(Roles.All, new DynamicElement(GetHintDisplay, 10));
private static string GetHintDisplay(DisplayCore core)
{
return "i hate you";
}
this wont update itself (aka GetHintDisplay wont get called unless you update the display)
new AutoElement(Roles.All, new DynamicElement(GetHintDisplay, 100))
{
UpdateEvery = new AutoElement.PeriodicUpdate(TimeSpan.FromSeconds(2)),
};
this will update every 2s
entirely depends what you need
those are both elements i use (ofc a lot removed)
the first i manually update myself since i wanna have it update instantly on a condition
and the 2nd i use for user info that checking for might not be the most optimal
(aka instead of every frame updating health for players, just wait 2s to do it)
also stringbuilder is used a lot since ruei has extensions for it which means instead of manually adding text you builder.SetColor
(also its not unity color its system.drawing.color
)
what
why
you hate us???

so sad
thank goodness v2 is getting deleted

guys when v3

Html tags mostly work now 
hi i'm dead
hi eve
OMG
jwtatawttjtwaw
wheres john webdev
lumi
Ye was there when i seen the fix
@magic gate thank you
johnathon
bad webdev
still no note syntax...
let's find an XSS attack vector 
not making a github workflow that does it all for you
effort

what if you published a github action
Also x3rt what do you think if you could create a labapi plugin with dotnet new command
neverโข
what?
I have a plugin template on nuget if you want but it's CT specific
i wanted to make templates but figured i wouldn't cuz i don't wanna put in effort if it won't get merged anyway
You can create a dotnet templates and it works with dotnet new command, have to check VS and Rider for that
hm?
But ye could be in the labapi repo itself
maybe yea
templates repo is private
:(
we should absolutely have multi-project templates too
would probably get more people to learn about MSBuild
Wdym by that
IDEs aren't very smart when it comes to customizing the build pipeline
With props?
yea
yeah there is a props file but it's not included in the template
What would the creation be?
labapi-multiple
something like that i guess
could make a github issue about it
then it's easier to keep track of and keep discussions contained
Ya sure, i already have a template for it that i edited
I didn't mean make a PR but just a Idea issue
So i can just link that
yeah it has a few other things
I seen Jesus closed some since he said it's on internal place decided to do try to add it or something
But ye i powering up my pc
My ear got better
let's make a draft PR for templates i guess
It's on my repo so you can track changes
Can we completely redo LabAPI I think it's cooked
lel why
where was this btw?
why?
i think itโs good
delete all of SL. gg
delete system 32

wouldnโt have applied for api maintainer if i didnโt :3
now you just need to apply to a few more roles so you are in every department 
well, iโll be similar roles to you if i get accepted
web dev and api maintainer
I'm the only webdev that deals with all the laravel shit
you are web dev????

bro can nw make better roles
well php fuckin sucks ๐ญ
i still don't understand who does what
I agree with you
nuxt next lext schnext mext all suck
me when the framework i use doesnโt have a v dom and uses a compiler :3
Me when i dont use any
i donโt mind writing it tbh
it's horrible to maintain is the issue
What if i write blazor/razor?
blazor is great
not really? if you understand java/typescript enough you can maintain a good code base
identity sucks ass but if you work around it (i.e don't use any of the regular identity/claims etc it's fine)
like iโm good at maintaining code bases because im practically fluent in js/ts
i only use ts now tho
no what I mean is that a lot of the time other people write sloppy js because js allows for dumb shit
[] === 0
Yeah because it's only your own code I imagine
ohhh, yeah iโm not an idiot, i donโt write bad js
nah i work in web dev as my irl job
we only use TS
and my colleague is shit with js/ts
mf uses any wherever possible
pisses me off but whatever
Guys will we ever get to stage 3?
74 years
Crazy
Like you
I know im crazy
yeah like the comments on the patreon portal
me
I will never give my money to nw
im sorry
you can still look at the portal and public posts lol
I know but still i will never open that website because i never gave money to nw
...?
Did you got a reply mail?
I think the job list announcing was too early since most of them now busy still fixing 14.1.4 :D
I hate it here
Gitlab isn't
PHP
no
please
;(
yeah i got told my app has been sent to jesus
so iโm waiting for the response to that next :3
Same, Jesus being busy as always
r u old
I was gonna say older than you but idk how long are you on this world
I think even with your bday today I ams still older than you 
You joined the SODA servers and I started asking you for some pointers on coding and things
oh that's where
We played yesterday on SODA me and maro
didn't know it was your server
Wtf is soda
Yeah the plugin isn't updated yet 0_0
a drink?
I've been in Europe
Guh

average dev
County btw
going to a bar instead of working
I'm going down the cocktail menu
I just had an old fashioned for the first time
It was meh
never drunk again
Anyways @celest thorn you might enjoy playing on the server more tomorrow, I plan to update the plugin tonight and fix the ongoing issues
I'm surprised at how large the community has gotten
@slender lynx found the server to play tonight
Idk we found the server randomly
I'm a little drunk
Yeah that tends to be the way people find ut
We have some really loyal community members that have helped me tremendously
just a thing i have a complain about its just WHY the message when you join overlaps with everything
you still did not answered what country are you in
Italy
the guy is in italy
Because I've been too lazy to fix it
ah
It was high priority on my list
i dont know any drink there so
But I haven't fixed it yet cause I went on vacation
what server
You get vactions?
Yeah we have LOA forums and I took the first LOA I've ever taken
Yea
im too old for heavily modded
Yeah I'm doing a rework for those
i dont understand it
i agree
I have a whole document full of reworks and implementations I'm planning on
FINALLY
someone
Including the exploding zombie, some other variants and things
https://www.aftermathservers.com/
Yo maro now you can sing up for tourneys kinda forgot until now, it took me 2 seconds to add
alr cool
But yeah @celest thorn if you're on the SODA servers I'm making an announcement later when I finish the new updates
at least it's not plain php without frameworks
nah im not we just go on random servers, play and leave
Entirely fair I don't blame you
I don't play SL much but when I do I do the same thing
I'm just happy someone else learned about the server I dev for
ngl i play SL only when maro or someone else plays
else is boring
It's nice knowing my work has a large impact
Real AF
I haven't played much these past months
You really need some guys to play with
Don't worry i figured out mine like 2 days ago
whne the frame works?
actually there are a lot of times where I wish it was
what
What syntax?
Iโll take a look
would be epic
<script alert(1) />
lmaoo
dexter morgan reference?
Since you first mentioned it
david likes blazor?
@unique crane why
what why
why
why
@upper vapor why
REAL
it's pretty good
i get the benefits of C# and .NET
and webassembly
itโs only good when you remember to optimise
but thatโs the same with every framework
but doesnโt blazor require you to download stuff on client cold start?
blazor wasm does, blazor server runs on the server (crazy)
if using blazor server you can mix & match interaction modes
wasm modules only have to be downloaded when a component is client-interactable
I was working on a project to make Blazor but whole page would be made with C#, no html, no css, but I'm currently stuck at js part

why would you do that
because I believe using C# for css would be easier

there's no way C# would make it easier to declare a DOM
xml?
wdym by DOM?
could you explain what you mean by XML

to use as markup
instead of C#
cuz there's no way that C# would be more concise
I believe otherwise
you wanna new Div(new Div(new Div(), new Div(new Div(new Label("text"))))?

but you cannot use span
why
cus already declared
System.Span is generic
ambigous
also wouldn't it be easier to instead of making C# to js then otherwise make it into ts
what
NO
it does to webassembly I know
intel?
but from speaking to ChatGPT I learned that webassembly has some limitations
tbh I still have no clue
same when you do NAOT
naot?
native aot
nativeAOT
ahead-of-time
ye
you wanna call JS from C#, yeah that makes sense
but when you introduce typescript
all hell breaks loose
besides, JSDoc exists
ts already have more things implemented then javascript thougj
yeah but how are you gonna bind to the geenrated typescript methods (not everything TS->JS maps 1:1)
at the end of the day, you have to compile your typescript
right now with blazor why would you make website in it?
real-time applications
typescript is better than jsdoc
you can do that with any good framework tho, not just blazor
do not
just learn js/ts
could I hear some opinion from you?
real
I have developed multiple websites with blazor years ago
there are no advantages that blazor gives you
other than being able to use c#
jesus....
it didnโt take me that long to learn js at all, and my c# knowledge made my ts knowledge leap through the roof
ur betraying blazor..
there are only disadvantages right?
well it is slow, hard to implement features on the clientside, you will end up needing javascript anyways in a lot of cases...
it is just not worth it
easy jsut dont do websites
fuck websites
Jesus when r u making a website for me thanks
I prefer people using php than blazor
Ewww
what are some other alternatives then php?
JavaScript
Its time to address the php in the room
Time to address
Add ress
Whos ress
at this point write a better web system that doesnt need js
chicken butt
and make my own google
:PPPP
skill issue
asp.net has like 5 different "modes"
controllers
litterally just a request handler
MVC
controllers that return a "view" which controls your content, kinda like how laravel works, but with proper types and not magic vars (i hate magic vars)
razor pages
its kinda a mix of MVC but instead of controllers theres just a OnPageLoaded or something, never used it
blazor server
browser has a WS connection to the server, server tells it what to render, slow on high latency and if the server dies so does your session
blazor WASM
server just serves the wasm app, interacts with normal http api (or well, whatever you make your code do)
Theres also newer methods now iirc, theres like blazor hybrid
where itl for example do SSR until you press a button that does logic then it starts up the interactive WS connection
or specific views are server only, some client, etc
some also run serverside until the webassembly is downloaded
havent looked too much into it
there's also minimal apis
less boilerplate, aot-ready
you have app.use or app.map
aot? attack on titan reference?
๐ญ
but i prefer doing controllers even for small things, just seems more oganized
fair, though it is somewhat slower
is it?
not sure what the diference is between doing app.map or just mapping controllers
in the end it just maps to a method
reflection
i thought it does that once on startup
and not every request
either way its not super slow so i dont really care that much
theres also a gazillion ways you can do things inside of controllers 
making everything a service, repository, whatever
or simply having the code in the controller method
yeah it does that on startup when you call MapControllers
if you really need performance, gotta go with AOT, that means no controllers
tbh if you need crazy performance like that where the fact that theres reflection starts im not sure if its the right framework 
why do people make a repository, too...
like service -> repository -> database
im not entirely sure
imo the service and repository can be combined
i'm NOT using node.js ๐ญ
golang for speed
but i think it might be so people can use the logic from the repositories in multiple services
or something
cuz you cant circulate references of 2 services
welll i mean you can
but not with DI
but i suppose you could solve that issue by just planning out your services in a way you dont need to do circulatory references
right
circular references
i forgor 
โ singleton
โ
static class
but then you cant use DI to inject things into it
we got a problem with EF?









