Substantial performance issues in latest JS, possibly spawning at 0,0,0 in multiplayer

What you were trying to do
Play test recent JoshariasSurvival with @ktksan's awesome new GSOC biome stuff, including enabling of WildAnimals and some temperature maps.
After initial play testing also lagged wildly at times even in single player https://github.com/Terasology/WildAnimals/pull/58 was submitted to cut excessive deer spawn. This appears to have helped some
Timeouts may also have been helped some by #4113 - you really need to be patient in some cases trying to join!
What actually happened
We had a variety of problems just trying to get a server stable, extensive load times, timeout failures trying to spawn in the world, massive lag spikes on the server with players trying to join/leave, to the point where a hosting client might completely stall for a minute or two while a client tries to join.
A weird consequence appears to be when you do finally spawn you might be embedded deep in the ground on the client's  view of the world - but the server thinks you're perfectly fine and happy at spawn, able to move around and everything (as observed by a host player) despite not moving at all on the client (because stuck in solid ground). Maybe this could be a desync between host and client, with the client having partially loaded without blocks to land on, falling for a while until chunks caught up and froze the player in place?
Edit: Got more info on that case, the 2nd player appeared stuck at exactly 0, 0, 0 - we've had bugs like that in the past. Something about a LocationComponent not initializing or attaching right to the 2nd player?
How to reproduce

Unsure - but seen both from source playing JS lately, as well as while testing Omega dev build 1094.
Host a multiplayer game of JS and survive loading it (may take a while)
Try to join with a second client - may take longer, may freeze the host for a period of time
After a long freeze for the host player everything may then work perfectly fine, no lag, can see the 2nd client fine, despite that player being embedded deep in the ground in their game window

Log details and game version
Omega dev build 1094
Some log snippets from near the end of the 2nd client's log (host log was unremarkable) - highlights:

Weird "unavailable entity" logs
Odd warnings from DAG node stuff
ClimateMapDisplaySystem is part of ktksan's changes and may just not be wired up right for multiplayer yet

...
21:48:34.731 [main] INFO  o.t.e.prefab.internal.PrefabFormat - Attempting to deserialize prefab JoshariasSurvival:AssembleCrudeHammerFromRock with inputs [/JoshariasSurvival/assets/prefabs/AssembleCrudeHammerFromRock.prefab]
21:48:34.732 [main] INFO  o.t.e.prefab.internal.PrefabFormat - Attempting to deserialize prefab PlantPack:Oreo with inputs [/PlantPack/assets/prefabs/crop/Oreo.prefab]
21:48:34.732 [main] ERROR o.t.p.serializers.PrefabSerializer - Prefab contains unknown component 'ChangingBlocks'
21:48:34.732 [main] INFO  o.t.e.prefab.internal.PrefabFormat - Attempting to deserialize prefab AdditionalFruits:WorkstationRecipe with inputs [/AdditionalFruits/assets/prefabs/WorkstationRecipe.prefab]
21:48:34.732 [main] ERROR o.t.p.serializers.PrefabSerializer - Prefab contains unknown component 'ListRecipes'
21:48:34.748 [main] INFO  o.t.w.c.b.ExtraBlockDataManager - Extra data slots registered: BiomesAPI.biomeHash -> 0
21:48:35.890 [main] ERROR o.t.engine.ComponentSystemManager - Cannot load ModuleRendering, must be a subclass of ComponentSystem
21:48:36.583 [main] WARN  o.t.engine.internal.TimeBase - Delta too great (1834), capping to 1000
21:48:36.745 [main] INFO  o.t.r.world.WorldRendererImpl -
Initialising rendering class CoreRenderingModule from CoreRendering module.

21:48:36.762 [main] INFO  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:backdropNode:BufferPair1(connected to CoreRendering:opaqueObjectsNode:BufferPair1, ;)connection is already read somewhere else.
21:48:36.765 [main] INFO  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:backdropNode:BufferPair1(connected to CoreRendering:opaqueBlocksNode:BufferPair1, CoreRendering:opaqueObjectsNode:BufferPair1, ;)connection is already read somewhere else.
21:48:36.767 [main] INFO  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:backdropNode:BufferPair1(connected to CoreRendering:alphaRejectBlocksNode:BufferPair1, CoreRendering:opaqueBlocksNode:BufferPair1, CoreRendering:opaqueObjectsNode:BufferPair1, ;)connection is already read somewhere else.
21:48:36.793 [main] INFO  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:applyDeferredLightingNode:BufferPair1(connected to CoreRendering:outlineNode:BufferPair1, ;)connection is already read somewhere else.
21:48:36.796 [main] INFO  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:applyDeferredLightingNode:BufferPair1(connected to CoreRendering:chunksRefractiveReflectiveNode:BufferPair1, CoreRendering:outlineNode:BufferPair1, ;)connection is already read somewhere else.
21:48:36.827 [main] WARN  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:toneMappingNode:FBO1(connected to CoreRendering:firstLateBlurNode:FBO1, ;)connection is already read somewhere else.
21:48:36.833 [main] INFO  o.t.r.world.WorldRendererImpl -
Initialising rendering class AdvancedRenderingModule from CoreRendering module.

21:48:36.837 [main] INFO  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:backdropNode:BufferPair1(connected to CoreRendering:alphaRejectBlocksNode:BufferPair1, CoreRendering:overlaysNode:BufferPair1, CoreRendering:opaqueBlocksNode:BufferPair1, CoreRendering:opaqueObjectsNode:BufferPair1, ;)connection is already read somewhere else.
21:48:36.845 [main] WARN  o.t.rendering.dag.RenderGraph - Trying to disconnect two nodes that aren't connected, CoreRendering:backdropNode and CoreRendering:opaqueObjectsNode
21:48:36.845 [main] WARN  o.t.rendering.dag.RenderGraph - WARNING: destination connection (Output:CoreRendering:finalHazeNode:BufferPair1(connected to CoreRendering:opaqueObjectsNode:BufferPair1, ;)) is already connected to ({CoreRendering:opaqueObjectsNode:BufferPair1=Input:CoreRendering:opaqueObjectsNode:BufferPair1(connected to CoreRendering:finalHazeNode:BufferPair1, ;)}
21:48:36.845 [main] WARN  o.t.rendering.dag.RenderGraph - Trying to disconnect two nodes that aren't connected, CoreRendering:backdropNode and CoreRendering:opaqueBlocksNode
21:48:36.845 [main] WARN  o.t.rendering.dag.RenderGraph - WARNING: destination connection (Output:CoreRendering:finalHazeNode:BufferPair1(connected to CoreRendering:opaqueBlocksNode:BufferPair1, CoreRendering:opaqueObjectsNode:BufferPair1, ;)) is already connected to ({CoreRendering:opaqueBlocksNode:BufferPair1=Input:CoreRendering:opaqueBlocksNode:BufferPair1(connected to CoreRendering:finalHazeNode:BufferPair1, ;), CoreRendering:opaqueObjectsNode:BufferPair1=Input:CoreRendering:opaqueObjectsNode:BufferPair1(connected to CoreRendering:finalHazeNode:BufferPair1, ;)}
21:48:36.845 [main] WARN  o.t.rendering.dag.RenderGraph - Trying to disconnect two nodes that aren't connected, CoreRendering:backdropNode and CoreRendering:alphaRejectBlocksNode
21:48:36.845 [main] WARN  o.t.rendering.dag.RenderGraph - WARNING: destination connection (Output:CoreRendering:finalHazeNode:BufferPair1(connected to CoreRendering:alphaRejectBlocksNode:BufferPair1, CoreRendering:opaqueBlocksNode:BufferPair1, CoreRendering:opaqueObjectsNode:BufferPair1, ;)) is already connected to ({CoreRendering:alphaRejectBlocksNode:BufferPair1=Input:CoreRendering:alphaRejectBlocksNode:BufferPair1(connected to CoreRendering:finalHazeNode:BufferPair1, ;), CoreRendering:opaqueBlocksNode:BufferPair1=Input:CoreRendering:opaqueBlocksNode:BufferPair1(connected to CoreRendering:finalHazeNode:BufferPair1, ;), CoreRendering:opaqueObjectsNode:BufferPair1=Input:CoreRendering:opaqueObjectsNode:BufferPair1(connected to CoreRendering:finalHazeNode:BufferPair1, ;)}
21:48:36.845 [main] WARN  o.t.rendering.dag.RenderGraph - Trying to disconnect two nodes that aren't connected, CoreRendering:backdropNode and CoreRendering:overlaysNode
21:48:36.855 [main] INFO  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:applyDeferredLightingNode:BufferPair1(connected to CoreRendering:chunksRefractiveReflectiveNode:BufferPair1, CoreRendering:prePostCompositeNode:BufferPair1, CoreRendering:outlineNode:BufferPair1, ;)connection is already read somewhere else.
21:48:36.861 [main] INFO  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:simpleBlendMaterialsNode:BufferPair1(connected to CoreRendering:initialPostProcessingNode:BufferPair1, ;)connection is already read somewhere else.
21:48:36.864 [main] INFO  o.t.rendering.dag.RenderGraph - Warning, Output:CoreRendering:simpleBlendMaterialsNode:BufferPair1(connected to CoreRendering:initialPostProcessingNode:BufferPair1, CoreRendering:lightShaftsNode:BufferPair1, ;)connection is already read somewhere else.
21:48:37.057 [main] INFO  o.t.p.updating.ParticleUpdaterImpl - Registering GeneratorFunction for Component class class org.terasology.particles.components.generators.VelocityRangeGeneratorComponent
21:48:37.057 [main] INFO  o.t.p.updating.ParticleUpdaterImpl - Registering GeneratorFunction for Component class class org.terasology.particles.components.generators.EnergyRangeGeneratorComponent
21:48:37.058 [main] INFO  o.t.p.updating.ParticleUpdaterImpl - Registering GeneratorFunction for Component class class org.terasology.particles.components.generators.ColorRangeGeneratorComponent
21:48:37.058 [main] INFO  o.t.p.updating.ParticleUpdaterImpl - Registering GeneratorFunction for Component class class org.terasology.particles.components.generators.PositionRangeGeneratorComponent
21:48:37.058 [main] INFO  o.t.p.updating.ParticleUpdaterImpl - Registering GeneratorFunction for Component class class org.terasology.particles.components.generators.TextureOffsetGeneratorComponent
21:48:37.058 [main] INFO  o.t.p.updating.ParticleUpdaterImpl - Registering GeneratorFunction for Component class class org.terasology.particles.components.generators.ScaleRangeGeneratorComponent
21:48:37.058 [main] INFO  o.t.p.updating.ParticleUpdaterImpl - Registering AffectorFunction for Component class class org.terasology.particles.components.affectors.AccelerationAffectorComponent
21:48:37.058 [main] INFO  o.t.p.updating.ParticleUpdaterImpl - Registering AffectorFunction for Component class class org.terasology.particles.components.affectors.VelocityAffectorComponent
21:48:37.059 [main] INFO  o.t.i18n.TranslationSystemImpl - Discovered engine:menu_hi
...
21:48:37.068 [main] INFO  o.t.i18n.TranslationSystemImpl - Discovered engine:menu_ru
21:48:37.254 [main] INFO  o.terasology.minion.work.WorkFactory - Initialize WorkFactory
21:48:37.261 [main] INFO  org.terasology.minion.work.WorkBoard - Initialize WorkBoard
21:48:37.264 [main] ERROR o.t.engine.ComponentSystemManager - Failed to initialise system org.terasology.climateConditions.visualization.ClimateMapDisplaySystem@2c1eba2e
java.lang.NullPointerException: null
	at org.terasology.climateConditions.visualization.ClimateMapDisplaySystem.setClimateSeed(ClimateMapDisplaySystem.java:45)
	at org.terasology.climateConditions.visualization.ClimateMapDisplaySystem.initialise(ClimateMapDisplaySystem.java:34)
	at org.terasology.engine.ComponentSystemManager.initialiseSystem(ComponentSystemManager.java:164)
	at org.terasology.engine.ComponentSystemManager.initialise(ComponentSystemManager.java:148)
	at org.terasology.engine.modes.loadProcesses.InitialiseSystems.step(InitialiseSystems.java:51)
	at org.terasology.engine.modes.StateLoading.update(StateLoading.java:236)
	at org.terasology.engine.TerasologyEngine.tick(TerasologyEngine.java:468)
	at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:431)
	at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:407)
	at org.terasology.engine.Terasology.main(Terasology.java:182)
21:48:37.345 [main] INFO  o.terasology.biomesAPI.BiomeManager - Registered biome CoreWorlds:MOUNTAINS with id 3084
21:48:37.345 [main] INFO  o.terasology.biomesAPI.BiomeManager - Registered biome CoreWorlds:SNOW with id -7875
21:48:37.345 [main] INFO  o.terasology.biomesAPI.BiomeManager - Registered biome CoreWorlds:DESERT with id -25265
21:48:37.345 [main] INFO  o.terasology.biomesAPI.BiomeManager - Registered biome CoreWorlds:FOREST with id -15017
21:48:37.345 [main] INFO  o.terasology.biomesAPI.BiomeManager - Registered biome CoreWorlds:OCEAN with id -16252
21:48:37.346 [main] INFO  o.terasology.biomesAPI.BiomeManager - Registered biome CoreWorlds:BEACH with id 26857
21:48:37.346 [main] INFO  o.terasology.biomesAPI.BiomeManager - Registered biome CoreWorlds:PLAINS with id 18723
21:48:56.397 [main] INFO  o.t.l.p.ThirdPersonRemoteClientSystem - Somehow ended up in the else during linkHeldItemLocationForRemotePlayer - current item was EntityRef{id=0} and new item EntityRef{id=0}
21:49:29.779 [main] WARN  o.t.engine.internal.TimeBase - Delta too great (33421), capping to 1000
21:49:30.383 [main] INFO  o.t.l.p.ThirdPersonRemoteClientSystem - Somehow ended up in the else during linkHeldItemLocationForRemotePlayer - current item was EntityRef{id=0} and new item EntityRef{id=0}
21:49:30.383 [main] INFO  o.t.network.internal.ServerImpl - Dropping event PlaySoundEvent for unavailable entity EntityRef{id=0}
21:49:30.383 [main] INFO  o.t.network.internal.ServerImpl - Dropping event PlaySoundEvent for unavailable entity EntityRef{id=0}
21:49:30.396 [main] INFO  o.t.network.internal.ServerImpl - Destroying entity: EntityRef{id = 1159, netId = 818, prefab = 'CoreAssets:defaultBlockParticles'}
21:49:30.503 [main] INFO  o.t.network.internal.ServerImpl - Dropping event PlaySoundEvent for unavailable entity EntityRef{id=0}
21:49:30.504 [main] INFO  o.t.network.internal.ServerImpl - Dropping event PlaySoundEvent for unavailable entity EntityRef{id=0}
21:49:30.505 [main] INFO  o.t.network.internal.ServerImpl - Dropping event PlaySoundEvent for unavailable entity EntityRef{id=0}
21:49:30.505 [main] INFO  o.t.network.internal.ServerImpl - Dropping event PlaySoundEvent for unavailable entity EntityRef{id=0}
21:49:30.506 [main] INFO  o.t.network.internal.ServerImpl - Destroying entity: EntityRef{id = 1162, netId = 821, prefab = 'CoreAssets:defaultBlockParticles'}
21:49:30.506 [main] INFO  o.t.network.internal.ServerImpl - Destroying entity: EntityRef{id = 1165, netId = 825, prefab = 'ManualLabor:PlantMatter'}
21:49:30.507 [main] INFO  o.t.network.internal.ServerImpl - Destroying entity: EntityRef{id = 1164, netId = 823, prefab = 'CoreAssets:defaultBlockParticles'}
21:49:30.508 [main] INFO  o.t.network.internal.ServerImpl - Dropping event PlaySoundEvent for unavailable entity EntityRef{id=0}
21:49:30.508 [main] INFO  o.t.network.internal.ServerImpl - Dropping event PlaySoundEvent for unavailable entity EntityRef{id=0}
21:49:30.508 [main] INFO  o.t.network.internal.ServerImpl - Destroying entity: EntityRef{id = 1168, netId = 828, prefab = 'ManualLabor:PlantMatter'}
21:49:30.510 [main] INFO  o.t.network.internal.ServerImpl - Destroying entity: EntityRef{id = 1167, netId = 826, prefab = 'CoreAssets:defaultBlockParticles'}
21:49:34.292 [main] INFO  o.t.network.internal.ServerImpl - Destroying entity: EntityRef{id = 1175, netId = 829, prefab = 'CoreAssets:defaultBlockParticles'}

Screenie
Top left is the hosting player, and everything is fine. Looking at player 2 who on that screen moves around perfectly normally despite being hopelessly stuck in the ground on their own screen on the bottom right.

I recommend merging #4122 before doing any performance analysis. It changes the CPU usage characteristics considerably.

Player in multiplayer have some entities:
1 client (has Location)
2 clientInfo
3 character(player) (has Location)
4 gaze (has Location)
These LocationComponents  have  hierarhy structure (world to local transformation)
Seem one of location component recieve setting location in invalid method (early we have issue with problem after respawn)

Odd warnings from DAG node stuff

Seems it is double initialization and can be linked with ERROR o.t.engine.ComponentSystemManager - Cannot load ModuleRendering, must be a subclass of ComponentSystem

Also happened today testing MetalRenegades, so it isn't JS / CC specific. Again it seemed weirdly random. I joined the headless server first, could move around fine. Niru joined but got stuck in the ground (and was missing from the player overlay, hmm). 4D joined and was fine. After some relogging it would reverse. Even after resetting and restarting the server it changed who got stuck, but when stuck once likely keep logging in stuck, even after resetting config.cfg to generate a new player id. Doesn't seem to only be on respawn, but certainly that can trigger it.

Seems, you lost character entity for player:
Default location on 0,0,0
Cannot move
Invisible at player list overlay.
Then player persist in store and loaded without character entity

@DarkWeird yep that sounds right - question is how do we fix it 😁

I notice some related problem..
If you not touch your client input, then you not affected by any location changes..
There related to client camera, rotation and default value (NaN) which filtered by ClientPredicationSystem.. and server not receive input and then affecting location.
I catch zero position two times. But it fixed after any moving... (But i remember blocker.. that cannot fixed by moving, iirc it is serverPredicationSystem)
It looks like client receive defaulted locationComponent.. maybe bug in spawn system, something with operation ordering)
Maybe component was sended on add, changing event was dropped, or changed sended before than added

Okay, I succeeded in reproducing. It's hard to tell if a headless server is hanging (need that telemetry!), but it was obvious when the host was a full client where I could watch its FPS and debug metrics. When the second client joined, the host client would entirely pause for several seconds.
I also observed it hang when the second client disconnected.
The hang on connection was during NetworkSubsystem.preUpdate, I think in NetClient.sendInitialEntities.
There was a lot of loadClass stuff taking up time below that.
Thing is, I threw away the flame chart, thinking I could easily re-create it. But at some point I seem to have crossed a tipping point, where — at least for this world and that client — it doesn't hang on connection or disconnection anymore!
having sendInitialEntities take a while sounds plausible, but it doesn't seem like that should be also holding things up on disconnection? I have yet to get a trace of that to see if it's different.

Okay, connecting with a "new" client (i.e. after deleting config.cfg:security.clientIdentities) has it reproducing again. Attaching the profile here so I don't lose it, even if GitHub doesn't display it in a useful way.
hang-on-client-connection.jfr.gz
Lots of time in ReflectionUtil.loadClasses. Straying over in to TeraNUI territory here.
One thing I notice is that it's using Java's paralellStream for this. I was reading up about that just the other day, wondering if it appropriate for #4140, and found people issuing cautions about its use. The trick is that it uses some common thread pool [citation needed], and if you put tasks in there that take a long time, you can end up blocking other things that use that thread pool.
That's something to look at but I don't think it's the problem, exactly. This probably isn't expected to take this long in the first place.

I managed to get a look at the disconnection case.
hang-on-client-disconnect.jfr.gz
The problem is during entity serialization again. But instead of serializing entities to send to the remote client, it's serializing the player entity to save, in PlayerStoreBuilder.

If this profiler data is accurate, it's getting stuck in gestalt's ModuleClassLoader.loadClass, recursing between that and java.lang.ClassLoader.loadClass for a long time. It's not clear from this profile what finally snaps it out of it; does it hit max recursion depth?
I don't know what to make of the server logs. "prefab contains unknown component" and "cannot deserialize unknown field" errors are abundant.
Is this relevant?

ERROR o.t.module.sandbox.ModuleClassLoader - Denied access to class (not allowed with this module's permissions): org.terasology.module.sandbox.API

LoadClass is loading class (unexpectly)
There really recurcive, because it loading class, then trying loading class of field/parameters.
Check please, is it multithreaded or not.(static initializer must contains add classloader to special map) then it is can be faster. (It is actual for network game on joining phase. Because there modules loading.
About org.terasology.sandbox.API:
It must be in engine module or in white list.
P.s. I am reintegrate gestalt v7 in TS now.
Seems it can be disappointed after it. Or not :)

Now that we've got a bit more idea of where the server-side lag spikes are, does anyone have ideas about what might have changed since the previous play test to make this happen?
I don't have a good sense of when the last known-good state was and what has happened since then.
Brainstorming some possible types of things:

changes to how or when the reflections cache is created
changes to which classes are permitted by the gestalt module loader. maybe things renamed or moved to other packages?
has this been happening since the TeraNUI extraction, when we started using nui-reflect?

also I still don't understand what flips when the client somehow becomes immune to the issue and I have to generate a new one to reproduce the error.

More brain dumping:
I hypothesized that there was some particular thing it was trying to load that was taking a long time because it had to look through a list of class loaders before failing.
I tweaked the logback.xml so it would include warnings from Reflections (we have it set limited to error-level by default, since we get spam from it we ignore), but I found no log of it totally failing like that.
Is there one particular thing that it's slow to load? or is it just a lot of things?
what would make it be slow only sometimes?

I have a vague sense of it starting with ClimateConditions + WildAnimals being added to JS. Think I tried to take them off as dependencies and it was fine. Haven't tested specifically around NUI extraction though.

through trial and error I've found I can reproduce this on Core Gameplay + Manual Labor. I haven't managed to narrow it down any more than that, e.g. WildAnimals seems okay on its own.

engine:3.3.0
BiomesAPI:4.0.1
CoreAssets:2.2.0
CoreWorlds:1.2.1
Health:1.0.2
Inventory:1.3.1
Pathfinding:1.0.0
Behaviors:1.1.0
Drops:1.0.2
Explosives:1.0.1
Furnishings:1.1.1
CoreAdvancedAssets:1.2.0
CoreRendering:1.0.2
CoreSampleGameplay:4.1.0
Durability:1.1.0
Fluid:2.0.0
InGameHelpAPI:1.0.0
InGameHelp:1.1.0
ItemRendering:1.1.0
PotentialEnergyDevices:1.1.0
Workstation:1.1.0
Machines:1.2.1
SubstanceMatters:2.0.0
MarkovChains:1.5.1
NameGenerator:1.0.0
WorldlyTooltipAPI:1.0.0
WildAnimals:1.0.0
ManualLabor:1.3.0

in fact, a game with all of those ManualLabor dependencies except for ManualLabor itself seems to not show the issue.
So I guess it's something about ManualLabor?
I still don't know what that would be. I reviewed the recent commits there and there are some new textures and a few very small changes for TeraNUI.

Some findings:
A big source of slowness in sendInitialEntities is when it was serializing InventoryAccessComponent. It uses this getAsString method:
https://github.com/MovingBlocks/Terasology/blob/012985ccb97b6872af9d5bfdb3c589845ab98605/engine/src/main/java/org/terasology/persistence/typeHandling/extensionTypes/ComponentClassTypeHandler.java#L31-L32
resulting in ModuleEnvironmentSandbox.getSubTypeIdentifier running loadClass on all Component classes.
To some extent, this gets worse with the number of Components loaded in the type registry, so it's slower with bigger module sets like JS.
I am not sure exactly what it is about Manual Labor in particular that sets this off. Its HumanMachineAuthoritySystem does add a Component to the Player entity, so maybe that leads to more Components being serialized when a new Player connects? but I can't connect the dots from there to InventoryAccessComponent.
and I still don't know why this is something that would have become so much worse over the past month or two.

Something else to check on this kind of issue: Is the performance different when you have only .jar files for the modules instead of having their sources checked out?
I ask because I see the Reflections lib showing up in the call stack sometimes, and wonder if the reflections cache comes in to play.

Something else to check on this kind of issue: Is the performance different when you have only .jar files for the modules instead of having their sources checked out?
I ask because I see the Reflections lib showing up in the call stack sometimes, and wonder if the reflections cache comes in to play.

Reflections cache not exists at source.
It is created for jar task only. Then deleted from build dir

Secondary issue with the 0,0,0 problem submitted here: #4152 - just considering this one specific to the performance issue in ManualLabor now.

Closing this as at least partially resolved via #4148 by @keturn - many thanks!
Tested several additional rounds of multiplayer separately with CoreSampleGameplay, ManualLabor, and JoshariasSurvival and submitted two new issues to cover any leftovers: #4152 and #4154


AttributeError: 'DIMModel' object has no attribute 'module'

When resume training using checkpoints,get error above raised by line 38 from train.py:
'model = checkpoint['model'].module',any suggestions?@foamliu

If you're training with just one GPU, you can remove that ".module" part.


Create validator for deployed contracts

Coverage remained the same at 96.595% when pulling d6ccac74a4ec7353f1a4497923370af4346ee877 on smmackey/deployment-validator into 022fe0aa7a1a3f5a2b952675a55efcb564f964d2 on main.

Thanks for this! Is the intention that one set of functions will revert and the other will return a bool?

The validateWPAddress, validatePoolAddress, and validateAddresses functions will set a mapping of address=>bool to indicate that those contracts were deployed by us, the other set of functions will return a bool


Improve @Deprecated Enum Type developer experience

Description
This adds the feature mentioned in issue #7627 in which the deprecated directive comment was not being added to the generated resolver-types.ts file for  the ENUM_VALUE type but was for the FIELD_DEFINITION type. This PR uses the same function but makes it usable for both deprecated directive types.
Related #7627
Type of change

[X] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
A test has been added in the typescript.spec.ts file testing that the correct comment is generated. Following a similar structure to the FIELD_DEFINITION test already implemented.
Additionally a screenshot below showing the deprecated value being picked up by the IDE and a line through it.

Checklist:

[X] I have followed the CONTRIBUTING doc and the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] Any dependent changes have been merged and published in downstream modules

That should be it updated now! Thanks for the review @charlypoly


git password for ssh container?

what's the default password for git user?

There is no default password or key for security reasons. You can't enter until you provide your public key.

Well I added the public key of my local/remote machine in the SSH container, and it has been saved at the correct location. But I am not able to do FTP over SSH to the SSH container. Any ideas what's missing?

If you've put id_rsa.pub contenst into /data/.ssh/authorized_keys file it should just work. Make sure you've exposed SSH port in SSH container and specified it during remote connection. Also try to SSH to it using terminal to get some more details about what is going on.

this is what happens when I do ssh using terminal. I entered nothing for passphrase and password.
Port 23 of my host is linked up with 22 of the SSH container.
Bs-MBP:~ user1$ ssh<EMAIL_ADDRESS>-p 23
Enter passphrase for key '/Users/user1/.ssh/id_rsa':
<EMAIL_ADDRESS>password:
Permission denied, please try again.
<EMAIL_ADDRESS>password:
Permission denied, please try again.
<EMAIL_ADDRESS>password:
Permission denied (publickey,password).

Looks like your SSH key is not picked by SSH daemon.
Can you run ls -al /data/.ssh? Output should be like this (make sure user, group and permissions are the same if you've created file manually):
root@cc23bd63abe9:/# ls -al /data/.ssh
total 12
drwxr-xr-x 2 root root 4096 Mar 24 11:19 .
drwxr-xr-x 7 root root 4096 Mar 24 11:19 ..
-rw-r--r-- 1 root root  743 Mar 24 11:19 authorized_keys

well I tried with my password in the passphrase...and it worked. This is a pretty common password that I use in many places. So not sure what it means. My SFTP is still giving authentication error - it doesn't ask me for passphrase, otherwise I would give it one.

Well, then the reason is that your /Users/user1/.ssh/id_rsa is not a plaintext private key, but rather an encrypted version of it (and it should be so).
Generally GUI you're using should ask for password (like your terminal) to decrypt private key when you try to use it.
What app are you using to connect to sftp? Did it work for you before?
This is NOT FTP, so if you're trying to connect to the server as to FTP it wouldn't work, try SSH connection option if your GUI have that.

Makes sense. Well, I am using FileZilla. I choose SFTP as the protocol, which is SSH file tranfer protocol.
Somehow I had made it work before the upgrade, and it was working for a long time. So I don't remember if I did any special setting the first time.

I got the filezilla working.
There was a logon type of "key file", and I specified my local machine's private key file in it. Now it asks me the paraphrase, and then successfully gets me in.

I still wonder how it was working without this before the upgrade...

Glad to know it works now. Can you close issues that were already solved?


[Serialization] Preserve whether a raw value is explicit

...which allows the AST printer to correctly choose whether to print it, which means it can be printed in a module interface in a non-WMO build, which is necessary for @objc enums to have a correct run-time representation when clients use that interface.
rdar://problem/53469608

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 666c8300b8fa435fb9d7077e2522743a827f0675

@swift-ci Please test Linux


"failed to find pattern" does anyone know how to update r3nzskin, I wanna keep using it because there's no vanguard in china

Have the new offsets and compile the apps as on this tutorial https://github.com/R3nzTheCodeGOD/R3nzSkin/issues/2


Improve file structure in linera-views

Motivation

Make internal dependencies easier to understand
Simplify code and remove boilerplate

Proposal

Minimize changes across the codebase for now --> We create submodules but use re-exports to make the definitions look the same (mostly).
Create a file metrics.rs
Create two directories: backends (could also be called stores?) and views
Split common.rs into common.rs + context.rs

Coming in next PRs:

Stop defining context aliases. We want backends to be independent from Context.
MemoryContext is now defined in context.rs special and could be rename TestContext  later.
Split common.rs intostore.rs

Test Plan
CI
Release Plan
Some (mild) breaking changes in the SDK

Would it make more sense to move our abstraction layer over key/value storage into linera-storage (or a third crate that doesn't depend on linera-views, if we want to keep that dependency) and keep linera-views backend-independent?

Not linera-storage because it is a protocol-specific runtime environment. (It could be renamed linera-runtime actually.)
But yes we could eventually move the KV backends out of linera-views. Either into a single crate linera-stores or into even several crates linera-rocksdb-store etc.


fix assignment reject transition for reqmgr2

fixes #7153 replace #7154

Besides those two minor comments, changes look good to me.

test this please


caravel: reduce usage of choicify in forms

So that more string can be translated
Fix #583

Coverage remained the same at 81.862% when pulling af726ba9e31b733a91283b2c8c8a9a1b0ea7c130 on xrmx:lesschoicify into 8a579e2a2a621937c4caa8f3c748df995336fc2a on airbnb:master.

perfect!


When to inc_ref / dec_ref?

There is an introduction of inc_ref / dec_ref in frame_system recently.
It is been called by some of the substrate pallets (e.g. democracy, recovery), but not some others (e.g. identity, society).
There isn't much documentations about when a custom pallet should use inc/dec the reference of an account.
Any quick guidance? and some extensive documentations followup?
(Is this kind of question belong to here or substrate-developer-hub?)

CC @gavofyork


[Global]: Most svgs are defaulting to Times New Roman in mobile

replaced with traced SVG or PNGs


Windows: Error when fetching registery

Hello,
Not sure if I've missed a step, so posting as an issue.  I'm on a Windows 10 OS (in case that matters)  and have installed the plugin via Lazy.nvim.  I can access the commands but when trying to install any docs I receive:
DevDocs registery not found, please run :DevdocsFetch
When I run DevdocsFetch I receive:
nvim-devdocs: Error when fetching registery, exit code: 2
Any ideas what the cause could be?

Found previous raised issue: https://github.com/luckasRanarison/nvim-devdocs/issues/31


Bfs uses manhattan distance in 8 dir mode

It should use Chebyshev distance instead.

Closed with 2.27.1


Add various utilities for performing actions "soon" (default 3 seconds).

Given the sometimes flaky nature of the "wait for app to idle" mechanism, using these functions in place of their standard counterparts is a good way to reduce flaky test failures.
In my personal usage, I almost always use these soon variants in place of their non-soon versions, especially existsSoon and tapSoon. I have found that it reduces flakiness a lot, and avoids a lot of headaches at the yearly iOS release when Apple inevitably subtly changes the behavior of UITesting. When tests are passing, they don't add any extra time overhead, so there's not much of a downside to using them extensively.
Places I don't use them are when I have a series of asserts in a row and I know the state isn't changing between them. Or when I actually care about the timing (although I avoid this as much as possible, since relying on timing usually leads to flakiness).

I don't use XCTWaiter because to create an expectation that uses a block, I need to wrap it in an NSPredicate, which then requires that the closure be @escapable. This isn't a huge problem, but it requires explicitly adding self. to any referenced member variables, and that means it's no longer a simple drop-in replacement for XCTAssert, etc., and adds a little unnecessary verbosity.
XCTWaiter seems to basically do the same thing I'm doing, querying the app periodically (it looks like every 1.5 seconds) to look for changes. So I don't think there's much difference with my approach.

This is a really interesting approach! I think the expectation stuff would also work nicely with HittableElementExpectation, which just wraps up the predicate.
The one issue I see is most of these methods heavily lean on try?, and discard thrown errors. I haven't used them, so perhaps this is intentional. But, I would think that makes it a lot harder to understand why things have failed, does it not?

@mattmassicotte you're totally right, it is eating those errors when it should be sending them to the underlying XCTAssert function. I'll open another PR.


currentGroup_s Column Missing in New Darktrace Deployments

Describe the bug
The KQL query in the Darktrace AI Analyst analytic rule includes the currentGroup_s column, which is renamed to DtCGLegacy. However, this column doesn't always exist in new Darktrace deployments, causing issues such as 'column not found'
To Reproduce

Deploy a new instance of Darktrace
Set up the Darktrace connector in Microsoft Sentinel
Run the "Darktrace AI Analyst" analytic rule
KQL fails to execute/AR deploy due to that the currentGroup_s column is missing from the incoming data

Expected behavior
The analytic rule should work correctly for all Darktrace deployments, regardless of whether the currentGroup_s column is present or not.
Additional context
This issue affects the "Darktrace AI Analyst" analytic rule (ID: ffa2977f-3077-4bba-b1bf-f3417699cbb0) in Microsoft Sentinel. The problem lies in the KQL query that assumes the presence of the currentGroup_s column.
Proposed Fix
To address this issue, modify the KQL query to make the currentGroup_s column optional.

Remove the direct renaming of currentGroup_s to DtCGLegacy from the project-rename operation.
Add a new extend operation after the existing ones to conditionally include DtCGLegacy if it exists.

Here's the modified query:
darktrace_model_alerts_CL
| where dtProduct_s =="AI Analyst"
| project-rename  EventStartTime=startTime_s, EventEndTime = endTime_s, NetworkRuleName=title_s, DtCurrentGroup=externalId_g, ThreatCategory=dtProduct_s, ThreatRiskLevel=score_d, SrcHostname=hostname_s, SrcIpAddr=deviceIP_s, DtURL=url_s, DtSummary=summary_s, DtGroupScore=groupScore_d, DtGroupCategory=groupCategory_s, DtSrcDeviceName=bestDeviceName_s, DtIndentifier=identifier_s, ActivityID=activityId_s, DtGroupingID=groupingId_s, DtGroupByActivity=groupByActivity_b, DtSummaryFirstSentence=summaryFirstSentence_s, DtNewEvent=newEvent_b, DtGroupPreviousGroups=groupPreviousGroups_s, DtTime=time_s, DtSeverity=Severity, DtLongitude=longitude_d, DtLatitude=latitude_d
| extend EventVendor = "Darktrace", EventProduct = "Darktrace DETECT", DtSentinelCategory=DtGroupCategory
| extend DtSentinelCategory = case (DtGroupCategory == "compliance", "Low",
                                    DtGroupCategory == "suspicious", "Medium",
                                    "High") //compliance -> low, suspcious -> medium, critical -> high
| extend DtCGLegacy = column_ifexists("currentGroup_s", "")

Hi @Kaloszer, We have checked this solution and this solution is a supported with Darktrace, and we are not authorized to make any changes into it. kindly request you to raise an issue ticket with Darktrace's support team. So, they can check on it and raise a PR with those changes.
Sharing the Darktrace support link -
Link - https://www.darktrace.com/en/contact/
So, closing this issue. If you still need support for this issue, feel free to re-open it any time. Thank you for your co-operation.
Thanks!


Rename KITURA_CI_BUILD_SCRIPTS_DIR to BUILDER_SCRIPTS_DIR.

This also requires updating the Makefile that exists in the dependent repos... therefore, it will require a series of PRs.

Ok all our repo's are updated.  Waiting on 3 PR's from on the Kitura repos


C++: Build failure with 1.17.1 and bazel

What version of gRPC and what language are you using?
1.17.1, C++
What operating system (Linux, Windows, …) and version?
Bazel
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc (GCC) 8.2.1 20181011 (Red Hat 8.2.1-4)
What did you do?

setup grpc via bazel 0.20
define cc_grpc_library rules

What did you expect to see?

Build completes

What did you see instead?
Failure building the host grpc util.
ERROR: /home/th0br0/.cache/bazel/_bazel_th0br0/312152f87a3b3b9b7407932ff7dd2b25/external/com_github_grpc_grpc/BUILD:391:1: C++ compilation of rule '@com_github_grpc_grpc//:grpc_plugin_support' failed (Exit 1) gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 47 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
external/com_github_grpc_grpc/src/compiler/ruby_generator.cc: In function 'grpc::string grpc_ruby_generator::GetServices(const FileDescriptor*)':
external/com_github_grpc_grpc/src/compiler/ruby_generator.cc:165:25: error: 'const class google::protobuf::FileOptions' has no member named 'has_ruby_package'; did you mean 'has_java_package'?
     if (file->options().has_ruby_package()) {
                         ^~~~~~~~~~~~~~~~
                         has_java_package
external/com_github_grpc_grpc/src/compiler/ruby_generator.cc:166:38: error: 'const class google::protobuf::FileOptions' has no member named 'ruby_package'; did you mean 'java_package'?
       package_name = file->options().ruby_package();
                                      ^~~~~~~~~~~~
                                      java_package

This repros on 1.16.* as well; the error doesn't occur on 1.15.

@th0br0
How did you fix this problem? I have the same problem that I explained here:
issue 52

You can work around the issue by removing all the references to ruby in the BUILD file at the root of this repo.

Hey Alex - can you please take a look?

I'm trying to build 1.18 because I'm stuck with openssl 1.0.1 and am also running into this, though with cmake. This here is in my ubuntu-trusty based docker image:
# The latest grpc doesn't support openssl 1.0.1, so we install an
# older version. This version in turn vendors a version of abseil
# without cmake support, so we need to grab a newer version of that.
RUN export PATH="/sbin:/usr/sbin:/bin:/usr/bin" && \
    cd $(mktemp -d) && \
    git clone -b 20190808 https://github.com/abseil/abseil-cpp . && \
    mkdir build && cd build && \
    /usr/local/bin/cmake .. && \
    make && make install && \
    cd .. && dir=$(pwd) && cd .. && rm -rf "${dir}"

# Protobuf v3.6.0 fails to run on ubuntu 14.04 (see
# https://github.com/protocolbuffers/protobuf/issues/5353)
RUN export PATH="/sbin:/usr/sbin:/bin:/usr/bin" && \
    cd $(mktemp -d) && \
    git clone -b v3.5.2 https://github.com/protocolbuffers/protobuf . && \
    ./autogen.sh && \
    ./configure && \
    make && make install && \
    ldconfig && \
    dir=$(pwd) && cd .. && rm -rf "${dir}"

# Install grpc and some of its vendored dependencies...
 Any ideas as to how to work around this in a cmake build?

In case anyone else ever runs into this, the following patch and running ./tools/buildgen/generate_projects.sh will do what @nicolov suggests, though it's definitely the nuclear option. For now it works, and I guess I didn't want ruby support anyway...
From 145bc16e4603e37d98a2bd5c278d6a70b5f85f81 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tristan=20Dani=C2=96=C3=ABl=20Maat?=
<EMAIL_ADDRESS>Date: Fri, 14 Feb 2020 04:46:24 +0000
Subject: [PATCH 1/2] Patch out ruby support

This is necessary because the ruby components will completely fail to
build. This may seem drastic, but the hack was recommended in a
comment on https://www.github.com/grpc/grpc/issues/17506.
---
 build.yaml | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/build.yaml b/build.yaml
index a6e9f94875..3e8de0bdab 100644
--- a/build.yaml
+++ b/build.yaml
@@ -1887,10 +1887,6 @@ libs:
   - src/compiler/python_generator.h
   - src/compiler/python_generator_helpers.h
   - src/compiler/python_private_generator.h
-  - src/compiler/ruby_generator.h
-  - src/compiler/ruby_generator_helpers-inl.h
-  - src/compiler/ruby_generator_map-inl.h
-  - src/compiler/ruby_generator_string-inl.h
   - src/compiler/schema_interface.h
   src:
   - src/compiler/cpp_generator.cc
@@ -1899,7 +1895,6 @@ libs:
   - src/compiler/objective_c_generator.cc
   - src/compiler/php_generator.cc
   - src/compiler/python_generator.cc
-  - src/compiler/ruby_generator.cc
   filegroups:
   - grpc++_config_proto
   secure: false
@@ -4734,14 +4729,6 @@ targets:
   deps:
   - grpc_plugin_support
   secure: false
-- name: grpc_ruby_plugin
-  build: protoc
-  language: c++
-  src:
-  - src/compiler/ruby_plugin.cc
-  deps:
-  - grpc_plugin_support
-  secure: false
 - name: grpc_tool_test
   gtest: true
   build: test
@@ -5786,11 +5773,3 @@ python_dependencies:
   - boringssl
   - z
   - address_sorting
-ruby_gem:
-  deps:
-  - grpc
-  - gpr
-  - ares
-  - boringssl
-  - z
-  - address_sorting
--
2.17.1

Sorry for the delay.
Is this still an issue? 1.17.1 is a bit of an old release?
By the looks of the original error, my guess is the protobuf dependency was not recent enough in that bazel build to have the has_ruby_package API (which is relatively recent).
gRPC's protobuf dependency in bazel has been upgraded since then though, I suspect this is no longer a problem on more recent versions.


Add animated Goots with a spinner

Curious how the grid thing will blow up due to gifs.  Oh, i think it has a png filter...


Add metadata to upload

Is Metadata a right name for this? Could it be more specific?

It's could be named as Content-Encoding.

What is the use case? Do you expect people would want to set a different value other than "gzip"? It's always a balance between flexibility and having a simple straightforward UI.

Gzip it's only default value, it's not hard-coded user can change or remove it. Default value "GZIP" because i used it :)

What is backward compatibility story? Jenkins guidelines are to avoid breaking changes, so that existing users' setups would work as they do.

All compatibility saved, only changed dependency to JDK 1.8, i don't this it's save to use 1.7 it's even not supported by Oracle.
Changed some shitty code as FirstNotNull function, such function shouldn't be used at all because result is unpredictable.

https://wiki.jenkins.io/display/JENKINS/Hint+on+retaining+backward+compatibility
Can you imagine a workflow that might be broken for this change?

No, nothing changed accept new "metadata" value.

thanks for working on this.  I would like to be able to set any meta fields during the file upload, essentially filling up this box (from Google console). Note that it allows any custom meta fields too, so the configuration should allow both - custom and the well-known presets (like content type). Also, I think there should be at least the "compression" helper, letting users click a checkbox rather than setting compression to gzip by hand. Thanks!

@agoulti @lenivetsDCT is this PR still being worked on?  If I fix up this PR, is there an interest in merging it?  Thx!

@nyurik
My main concerns are:

the change shouldn't break existing users and must be fully backward compatible
it shouldn't make the plugin more difficult to use. I'm concerned that we may end up with a large dialogue box that would become confusing. New features need to have documentation. I would also suggest hiding the new options as "Advanced" to lower the cognitive load for users with simpler use cases.

It you're willing to put in the effort to make a safe and polished change (including testing for backward compatibility), I will take the time to review, merge and publish.

@agoulti thx!  I have had an initial look, and it seems the plugin itself needs some updating as far as regular maintenance - e.g. update dependencies, and make the plugin use a more recent version of jenkins for debugging. This is my first foray into jenkins plugin world, so i might be misunderstanding how to get it up to date - would it be possible for you to help with those updates (essentially update pom.xml)? It would help me get started much faster, and concentrate on the new functionality rather than getting the integration plumbing to work.  I agree with you 100% that it should not break existing installations, nor harder to use (advanced section sounds like a good approach, similar to the image i pasted above from the google console site).  Besides, it seems you already use the meta api, so the internals won't need much changing.
Fundamentally, there are 3 main usecases:

users want to publish compressible files (gsutil -z) -- any file that matches the pattern will be set with Content-encoding=gzip. Also, (optional, transparent to the user), the plugin can save some bandwidth by sending file in a compressed form.
Mime type - users want to specify mime type beyond the text/plain that's being set now with the checkbox. E.g. images, html, etc.
Custom headers - very advanced case - any other headers that user may want to serve. This is good to have because it covers all future cases, but it probably won't be used as much as the first two.

@nyurik
What you are saying makes sense, and I agree that ideally it should be the owners' responsibility to keep the plugin updated. Unfortunately I am swamped with other responsibilities and it doesn't seem that I will be able to get to this soon. I also don't have any active co-owners or contributors who might take it on.
I will put it on my to-do list, but note that it may be a while before I can get to it.
I realize this is an unsatisfying answer and I'm sorry I can't dedicate more time to it.

@nyurik - I've set things up to work on this again since I'm patching a small bug, so I may as well do some maintenance tasks.
Is there anything specific you'd like me to update?
I notice that the instructions for choosing a Jenkins version  recommend keeping the Jenkins version low, so that more customers could use it - unless there are specific features that the plugin needs. A newer Jenkins should always work with an older plugin - let me know if that is not working for you.
Are there specific dependencies you would prefer me to update?
Are there problems you are running into because of stale dependencies?
Thanks!
-Alexandra

@agoulti we've recently taken over stewardship of this plugin on Cloud Graphite.
Was there still interest in getting this PR merged? If so let me know and I'll take a closer look. Thanks.

Haven't heard back from author on this PR. Feel free to open a new PR if you're still interested in adding this feature.


ng-packagr without a umd bundle

Type of Issue
[ ] Bug Report
[x] Feature Request

Description
We're currently using Ionic that doesn't export any of the bundles in a UMD format (Or maybe we have misunderstood?)
An example of this is here: https://github.com/ionic-team/ionic-native/blob/master/src/%40ionic-native/plugins/device/index.ts
Which is in an npm repo at: @ionic-native/device (The exported js is at the bottom of this post)
I don't believe we can export this file as a UMD bundle, and, in order for us to follow the ionic approach, is there a way we can disable UMD and ES5 module creation and just generate an esm2015 bundle and use this as main in package.json?
If not, is there a way we can import this module in a UMD fashion without bundling it? (As a peer-dependency/external)
And in the npm repo, the index.js is as follows:
var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Injectable } from '@angular/core';
import { CordovaProperty, Plugin, IonicNativePlugin } from '@ionic-native/core';
/**
 * @name Device
 * @description
 * Access information about the underlying device and platform.
 *
 * @usage
 * ```typescript
 * import { Device } from '@ionic-native/device';
 *
 * constructor(private device: Device) { }
 *
 * ...
 *
 * console.log('Device UUID is: ' + this.device.uuid);
 * ```
 */
var Device = (function (_super) {
    __extends(Device, _super);
    function Device() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Device.decorators = [
        { type: Injectable },
    ];
    /** @nocollapse */
    Device.ctorParameters = function () { return []; };
    __decorate([
        CordovaProperty,
        __metadata("design:type", String)
    ], Device.prototype, "cordova", void 0);
    __decorate([
        CordovaProperty,
        __metadata("design:type", String)
    ], Device.prototype, "model", void 0);
    __decorate([
        CordovaProperty,
        __metadata("design:type", String)
    ], Device.prototype, "platform", void 0);
    __decorate([
        CordovaProperty,
        __metadata("design:type", String)
    ], Device.prototype, "uuid", void 0);
    __decorate([
        CordovaProperty,
        __metadata("design:type", String)
    ], Device.prototype, "version", void 0);
    __decorate([
        CordovaProperty,
        __metadata("design:type", String)
    ], Device.prototype, "manufacturer", void 0);
    __decorate([
        CordovaProperty,
        __metadata("design:type", Boolean)
    ], Device.prototype, "isVirtual", void 0);
    __decorate([
        CordovaProperty,
        __metadata("design:type", String)
    ], Device.prototype, "serial", void 0);
    Device = __decorate([
        Plugin({
            pluginName: 'Device',
            plugin: 'cordova-plugin-device',
            pluginRef: 'device',
            repo: 'https://github.com/apache/cordova-plugin-device',
            platforms: ['Android', 'BlackBerry 10', 'Browser', 'Firefox OS', 'iOS', 'macOS', 'Tizen', 'Ubuntu', 'Windows', 'Windows Phone']
        })
    ], Device);
    return Device;
}(IonicNativePlugin));
export { Device };
//# sourceMappingURL=index.js.map

No, ng-packagr follows Angular Package Format and as such will write FESM bundles and an UMD bundle. If you don't intend to ship one, my recommendation is to use a custom build set up. You will be better of with that imho.

Thanks, that’s honestly what I expected, and also what we ended up doing!
Just a shame that ionic haven’t followed suit! 😔


Add 'Notes' to the available tabs within a part

Add a tab called "Notes" and make it just a big editable text box maybe with markdown rendering. This would be an easy place to make notes of anything associated with that part or build.

Great idea - see https://github.com/inventree/InvenTree/pull/626

This has now been implemented - please let me know what you think!

I will give it a go on Monday. Its just ‘git pull’ & ‘make update’ right? I don’t think ‘make backup’ worked the last time I tried but I guess I should start with that.

Yes, just follow the instructions here - https://inventree.readthedocs.io/en/latest/update.html
Note that if it fails at the make backup step, then change line 10 of Makefile  from:
update: backup install migrate static
to
update: install migrate static
I'll have to get around to looking into the backup issues for you.

@SchrodingersGat I just had a second so I ssh'ed into my box and pulled and make update and got the following errors. I will be back physically at the computer on Monday and can try to fix anything.
root@InvenTree:~/InvenTree # make update
cd InvenTree && python3 manage.py dbbackup
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 357, in execute
    django.setup()
  File "/usr/local/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python3.7/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/usr/local/lib/python3.7/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'markdownx'
*** Error code 1

Stop.
make: stopped in /root/InvenTree
root@InvenTree:~/InvenTree #

make update doesn't pull markdownx and markdownify. Manually installing does the trick for me.

I’ll give it a try. Guess need to add that to the requirements for install now.
Feb 2, 2020, 00:10 by<EMAIL_ADDRESS>
make update>  doesn't pull markdownx and markdownify. Manually installing does the trick for me.
—
You are receiving this because you authored the thread.
Reply to this email directly, > view it on GitHub https://github.com/inventree/InvenTree/issues/621?email_source=notifications&email_token=AIZAAL2G4WIHQ6SQK4TLFBDRAZIVXA5CNFSM4KLOW6JKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKROAYA#issuecomment-581099616> , or > unsubscribe https://github.com/notifications/unsubscribe-auth/AIZAAL35JWYVOGUBNDR7NM3RAZIVXANCNFSM4KLOW6JA> .

Ah, it would appear that the 'backup' command expects all required packages to be installed.
Run make install to ensure the packages are up to date, then run make update.
I'll tweak the makefile slightly to make this a bit simpler.

Just pulled and make update and it pulled dependencies and it all seems to be working.
Notes are great!


Revert profile injection for VcLdpManager on vc-api endpoints

Pretty straightforward, I changed the way these endpoint instantiate the VcLdpManager. This is to address this issue

@dbluhm could I get a quick approval?

@jamshale — over to you for approval. Let’s leave @dbluhm and the baby be for a while 👶 🍼

oh wow, here's some news I wasn't aware of! Congratulations @dbluhm !

Thank you. Approved. Hopefully it wasn't leveraged anywhere else. There was only a few PR's after it was merged so I'm pretty sure this must be it.


fix: snackbar: increase snackbar z-index to be more than surface elements

SUMMARY:
fix: snackbar: increase snackbar z-index to be more than surface elements
GITHUB ISSUE (Open Source Contributors)
JIRA TASK (Eightfold Employees Only):
https://eightfoldai.atlassian.net/browse/ENG-22772
CHANGE TYPE:

[x] Bugfix Pull Request
[ ] Feature Pull Request

TEST COVERAGE:

[ ] Tests for this change already exist
[ ] I have added unittests for this change

TEST PLAN:

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@a2fc085). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #277   +/-   ##
=======================================
  Coverage        ?   88.30%
=======================================
  Files           ?      384
  Lines           ?    10349
  Branches        ?     3477
=======================================
  Hits            ?     9139
  Misses          ?     1190
  Partials        ?       20

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a2fc085...e28bdd4. Read the comment docs.


Fix a high hitting crash in ctest processing

If the break on line 175 was not hit before [cursor + i] grew larger than the length of the array, then untrimmedLine on line 173 would be assigned undefined and line 174 would throw an exception.


Fix code scanning alert - Flask app is run in debug mode

Tracking issue for:

[ ] https://github.com/kioydiolabs/IKMP/security/code-scanning/1

fixed in c703d303a4b607c11400c6a146f8d79bced8ccca


how to write custom aggregation query

@babenkoivan
I want to write a query something like
curl -X GET "localhost:9200/sports/athlete/_search?size=0&pretty" -H 'Content-Type: application/json' -d'
{
"aggs" : {
"athletes" : {
"filters" : {
"filters" : {
"defenders" : { "term" : { "role" : "defender" }},
"forwards" : { "term" : { "role" : "forward" }}
}
},
"aggs" : {
"avg_goals" : { "avg" : { "field" : "goals" } }
}
}
}
}
And Expecting below output
...
"aggregations" : {
"athletes" : {
"buckets" : {
"defenders" : {
"doc_count" : 4,
"avg_goals" : {
"value" : 71.25
}
},
"forwards" : {
"doc_count" : 9,
"avg_goals" : {
"value" : 661.0
}
}
}
}
}

Hi @vishaltomar76, please check the documentation here.


Platform exception - Android

FAILURE: Build failed with an exception.

What went wrong:
A problem occurred configuring root project 'apple_maps_flutter'.

SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 1.19.0-2.0.pre.34, on Mac OS X 10.15.4 19E287, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.45.0)
[✓] VS Code (version 1.24.1)
[✓] Connected device (4 available)
• No issues found!

may be related to https://github.com/flutter/flutter/issues/44092

This was my own fault - it was an inelegent failure of having bad AndroidManifest.xml syntax for my permissions. the permissions need to go after the closing  tag.

Can you explain in detail how you solved it, please?


Update multi camera multi person tracker

Here is an update for multi camera multi person tracker. Were added the next features:

support of instance segmentation network
support of orientation classification network
metrics evaluation
history visualization
visual analyzer
bug fixes

@snosov1, @sovrasov, @AlexanderDokuchaev, please take a look.

I don't suppose you could split your improvements into multiple patches? This is a lot to take in.

@IRDonch , actually it is difficult to split the PR onto several patches. Can we remain this PR as is?

Jenkins: test this please

@DmitriySidnev For the tests to passs, you need to update demos/python_demos/requirements.txt, as well as ci/requirements-demos.txt (see ci/update-requirements.py).

Note: please use pip-tools<4.5.0 when updating ci/requirements-demos.txt, because 4.5.0 introduced an annoying change to the output format, which I'd rather avoid for now.

Jenkins: test this please

@IRDonch, I updated python_demos/requirements.txt like in the ci/update-requirements.py script. Finally, there appeared a lot of python modules with versions and comments. Is it right? Could you please check it?

Is it right?

No. You need to put direct requirements in python_demos/requirements.txt and then run the ci/update-requirements.py script to update ci/requirements-demos.txt.

@IRDonch, I fixed python_demos/requirements and ci/requirements* via ci/update-requirements.py (all requirements in ci directory). Could you please check it one more time?

@DmitriySidnev It mostly looks fine now, but you probably should not have committed the rest of the ci/requirements-*.txt files, because now it'll take absolutely forever to run CI on this. I suggest you revert the changes to the unrelated requirements files.

@IRDonch, all ci/requirements* files except requirements-demo.txt reverted.

Jenkins: test this please

Jenkins: test this please

@IRDonch, seems that ci failed with wrong path to config file. I fixed the path and made it absolute.

Jenkins: test this please


for GZSD,when training,classification (Concatenate)    (None, None, 65) ? why not   (None, None, 80) ??

if classification (Concatenate) (None, None, 65) ,how to test the unseen classs?

In this work, unseen word vectors of 15 unseen classes are not used during training for both ZSD and GZSD. As there are 65 seen classes, it is (None, None, 65). During inference time the method uses 65+15 = 80 word vectors to perform both ZSD and GZSD tasks. For detail please check: https://github.com/salman-h-khan/PL-ZSD_Release/blob/master/keras_retinanet/utils/eval.py


Best Practice Analyzer : Needs update/revamp for the rules that provide suggestions server configuation

The rules are baked into the script PerfStatsAnalysis.sql
Look for warnings like:
'NonDefault_sp_configure', 'Some sp_configure values are not set to default.', 'Non Default values do not necessarily mean issues.  But please review Server Configuration report to make sure they are as intended

Config options to call out:

Max Server Memory  - if unbound , call it out
MAX Dop
Priority boost
optimizer for ad-hoc workloads - turn it on
Affinity
Lightweight pooling

Warnings produced after building these


print-table

Hi,
in clojure there is a function print-table for better table representation as a textual table.
It would be nice if gorrilla could output that as an html table*.
PS I am not sure - but does gorilla-repl has html-table output methods at all?

or provide a print-table like function in its own API

sorry, looks like table-view will do most of it,
so it doesn't have table header row (to be checked) and export to csv as Apache Zeppelin, but that's another issue


Add a debug draw mode for displaying UV2 (lightmap) texel density

Salvages and supersedes: https://github.com/godotengine/godot/pull/62987
This PR also implements instance uniforms for the Compatibility renderer as it was needed for the debug draw mode
Before merging:

[ ] Rebase and squash all commits (~maybe extract the change to add instance uniforms to a different PR~ Done #96819)
[ ] Update so the texel scale updates without re-baking (right now baking isn't technically required by this technique, its just that the uv_scale is tied to the existing lightmap because of https://github.com/godotengine/godot/pull/64908)
[ ] Update documentation

Up close with bicubic filtering disabled so you can see individual texels. Note texels are aligned with the center of the square

Same as above but with bicubic on

Faint large scale checkerboard to easily tell scale

Looks fine from a distance

Will this work with https://github.com/godotengine/godot/pull/75164?

Will this work with #75164?

Good question. Ideally it should take any lightmap or mesh texel scale into account

Will this work with #75164?

Good question. Ideally it should take any lightmap or mesh texel scale into account

Right now it will automatically take #75164 into account since it uses the scale that was calculated during lightmap baking.
However, I need to refactor things so you can preview a new scale without re-baking.

The checkerboard pattern in the screenshots looks a bit curious to me. Every 8 steps (when the large checkerboard changes color), it mirrors the pattern, which looks odd.
I'd expect it to look more like this instead (ignore the fact this is a 3-level checkerboard pattern):

The checkerboard pattern in the screenshots looks a bit curious to me. Every 8 steps (when the large checkerboard changes color), it mirrors the pattern, which looks odd.
I'd expect it to look more like this instead (ignore the fact this is a 3-level checkerboard pattern):

I originally had it like this, but it looks horrible with the 2-level checkerboard. the dark tiles of the light squares end up being close to the light tiles of the dark squares, so you see this weird pattern over everything. In your screenshot, the 3rd level really helps break it up

This is also interesting to see; do any other programs do something similar? This may be confusing if the pattern drawn by Godot works differently to the one drawn by other 3D applications. I believe most of the time, the checkerboard pattern is exactly aligned with the texel grid as opposed to being offset by half a texel.

I think you misunderstand. This is exactly aligned with the texel grid. I don't know what other programs do, but I think the most intuitive thing is for the squares to a visual representation of the pixel (if you consider the pixel as a little square). So the center of the pixel should sit in the center of the square.

In your screenshot, the 3rd level really helps break it up

That's interesting, I didn't think about it before. Here's the texture if you need it (CC0):

@clayjohn after this is merge https://github.com/godotengine/godot/pull/75164 can you take it in count for the texel density?

@clayjohn after this is merge #75164 can you take it in count for the texel density?

I think so!

While you're at it, can you add texel density for UV1, which IMO is much more important.
I can make a texel density shader per material, but it should be on the screen. Here's a rough thing I put together today.
    vec2 density = fwidth(SCREEN_UV) / fwidth(uv);
    density *= density * global_texel_intensity;
    ALBEDO = vec3(fwidth(density.x+density.y), 0., 0.);

Same rock, different sizes. Brightness changes with screen size of object and uv scale.


Use provider above managers

This PR supports usage of Provider concept provided in this PR
Links

https://github.com/ManageIQ/manageiq-providers-amazon/pull/137
https://github.com/ManageIQ/manageiq-ui-classic/pull/388

@juliancheal can you have a look please, as you also had your hands on multi endpoints?

@miha-plesko I guess you just extracted the logic into the mixin without changing any methods?
Also, how about including the mixin in the base provider class vs in the amazon provider?

@durandom yes, it's a copy-paste.
Thanks for pointing out that it should be in the base provider, let me update this.

Will reopen when we decide on how to proceed with this.


How to integrate DTR with S3

We currently have docs about this but they are not exhaustive and don't provide enough guidance to an IT ops user. Create a dedicated article for S3

[ ] How to do this configuration from the UI
[ ]  How to do this using a yml config file
[ ] What should an IT ops know about S3 accounts, secrets, and regions

Related: #898

You can find the current docs here

dibaroo


How to run a limited number of test suites in parallel?

When I use parallelExecution in Test := true with my project, it runs way too many tests at a time - many of my tests are heavily cpu-bound, so this level of context switching produces worse throughput and memory usage than running in serial.
How can I limit it?
I'm invoking via sbt, so it seems the -P argument isn't supported

Does it work?
sbt 'test -- -P ???'


⚠ ClamAV has degraded performance

In 2cd9e9d, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 287 ms

Resolved: ClamAV performance has improved in aa1088e.


Fix few bugs in Heapster exporting metrics for new Stackdriver resource model

Changes in this PR:

Corrected names for several metrics
Corrected label set for volume and node daemon metrics
Metrics for volume computed from existing filesystem metrics retrieved by summary API

This change is

/lgtm


Update docs to reference docker image on docker.io

What
Update the getting started docs to reference the docker image published to docker.io.
Why
The getting started docs show how to build the image, but building the image is unnecessary as it is now published to docker.io.

to confirm, the pr-294 image in dockerhub updates and doesn't change tag name if that branch code changes right?

That's correct. The tag will contain the latest commit to stellar/quickstart#294. When a commit occurs on that PR's branch, the image is built and pushed to docker.io.


feat: implement container authentication

This PR implements the new container authentication flow, which is highly based on the IAM auth. This means a new token manager and authenticator have been created and covered with tests.
NOTE: this PR/branch is based on the IAM refactoring branch(shared-iam-related-code)/PR(#118), so SHOULD NOT be merged in before the other one.

@pyrooka Looks like there's a linter error in the builds :)

Thank you for fixing these issues @padamstx !

:tada: This PR is included in version 3.11.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update to fix ticket #850

Proposed changes
Suggested fix was based on this issue: #850  and reference to this popular Stackoverflow post.
Related issues (optional)
issues: #850

Thanks, @jaredestroud :)


Enabling MessageInfoList V3 and DeleteMessageFormat V2

This patch enables MessageInfoList V3 and DeleteMessageFormat V2
Fixed all prod codes where defaults were used for operation time and AccountId and ContainerId
Fixed tests to generate random AccountId and ContainerId during puts.

Coding style applied
SLA: 1 hours
Reviewers: Gopal and Casey

Codecov Report

Merging #728 into master will decrease coverage by 1.12%.
The diff coverage is 90.47%.

@@             Coverage Diff              @@
##             master     #728      +/-   ##
============================================
- Coverage     65.64%   64.51%   -1.13%
+ Complexity     3802     3724      -78
============================================
  Files           330      330
  Lines         25210    25212       +2
  Branches       3155     3155
============================================
- Hits          16549    16266     -283
- Misses         7779     8070     +291
+ Partials        882      876       -6

Impacted Files
Coverage Δ
Complexity Δ

...in/java/com.github.ambry.protocol/GetResponse.java
92.85% <ø> (ø)
22 <0> (ø)
:arrow_down:

...c/main/java/com.github.ambry.store/IndexValue.java
94.62% <ø> (+2.87%)
30 <0> (-1)
:arrow_down:

...github.ambry.protocol/ReplicaMetadataResponse.java
79.24% <ø> (ø)
17 <0> (ø)
:arrow_down:

.../main/java/com.github.ambry/store/MessageInfo.java
94.64% <ø> (-0.82%)
16 <0> (-5)

.../java/com.github.ambry/store/BlobIndexMetrics.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...om.github.ambry.protocol/MessageInfoListSerde.java
58.44% <0%> (+12.98%)
10 <0> (ø)
:arrow_down:

...ithub.ambry.messageformat/BlobStoreHardDelete.java
88.62% <100%> (+0.06%)
6 <0> (ø)
:arrow_down:

...n/java/com.github.ambry.store/PersistentIndex.java
90.85% <100%> (+0.12%)
173 <1> (ø)
:arrow_down:

...main/java/com.github.ambry.store/IndexSegment.java
84.39% <100%> (+0.51%)
75 <0> (+1)
:arrow_up:

...va/com.github.ambry.store/StoreMessageReadSet.java
89.33% <100%> (ø)
8 <0> (ø)
:arrow_down:

... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4847e14...82fa32f. Read the comment docs.

@vgkholla : updated the patch

@vgkholla : addressed your comments

@vgkholla @cgtz : addressed your comments

LGTM. Will take a look again and approve in case there are more changes

Do you need to make any changes in the server tests where we create put and delete requests, then look at responses and their values? Do the responses contain account and container ids that you need to verify?

@pnarayanan : yes, BlobProperties verification is in place. WRT Delete, its not really exposed outside of Server. Server throws exception with DELETED error code and we just verify that.


Update dball.yag to use (printf "%+v") not json.

From the Go docs

%v    the value in a default format
      when printing structs, the plus flag (%+v) adds field names

Though I don't quite see the benefit here -- what makes printf %+v preferable over json?
%+v formats it in a Go-syntax manner, which is often more confusing. JSON is specifically made to be easily readable. Plus, %+v does not  show the type of the values, as per the following screenshot:

For what it's worth, the numbers in this example could very well be strings, which is shown by using JSON:

All in all, if this is mainly due to a performance boost, it's not worth it, as some information is lost.

That is the only workaround I could think of to make it show dict values.

Ok


support custom group in httproute

Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #561 (d8ded84) into main (945787f) will increase coverage by 0.03%.
Report is 2 commits behind head on main.
The diff coverage is n/a.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #561      +/-   ##
==========================================
+ Coverage   37.57%   37.61%   +0.03%
==========================================
  Files          65       65
  Lines        9186     9186
==========================================
+ Hits         3452     3455       +3
+ Misses       5468     5466       -2
+ Partials      266      265       -1

see 1 file with indirect coverage changes


MidnightControls

Mod name
MidnightControls
Curseforge link
https://www.curseforge.com/minecraft/mc-mods/midnightcontrols
Other links
Modrinth: https://modrinth.com/mod/midnightcontrols
GitHub: https://github.com/TeamMidnightDust/MidnightControls
What it does
Provides gamepad support!
Why should it be in the modpack
It offers MCBE parity, many people when moving from MCBE to Java miss the ability to use a gamepad and using methods with  eg. Steam are very complicated.
Why shouldn't it be in the modpack
It requires the user to add by themselves the gamepad mappings, using an external app, and some of its extra features can be considered as cheats, so I made an issue for that.The settings may be a little confusing.Also, many people don't use a controller to play the Java Edition of the game.
Categories
New feature, Works like Bedrock Edition
Additional details
It's a fork of LamdaControls, which is no longer maintained. Also, it's no longer in beta.
https://github.com/TeamMidnightDust/MidnightControls/issues/13
It should not be considered as a cheat mod (why)

It requires the user to add by themselves the gamepad mappings, using an external app, and the settings may be a little confusing.

It can actually download mappings automatically

https://github.com/TeamMidnightDust/MidnightControls/commit/cac23d12a1e716cd729f7adeb214d3d695305af2

I want to see comments of people who actually care about this.

I personally care about this because it opens up the accessibility to other people rather than being limited to keyboard & mice - and i feel like without this; wouldn't be as fun to play when game controller fans need such mods.

I care about this too, it's also very nice for Steam Deck users (even though I don't have a steam deck)

Okay, let me rephrase this: I want to hear from people who actively use this (or an equivalent mod), not those who just think it is a good idea.

I've use both MidnightControls and Controllable (Forge). In my opinion, I think it's a good mod to add because it opens the modpack up to a variety of users on different platforms like the steam deck for instance. It might need some configurartion with the controller options tab but after that it's fine and good to use.

I've use both MidnightControls and Controllable (Forge). In my opinion, I think it's a good mod to add because it opens the modpack up to a variety of users on different platforms like the steam deck for instance. It might need some configurartion with the 'General Options' and 'Controller Options' tab but after that it's fine and good to use.

Exactly me.

I used lambda controls while it was supported and now use midnight controls instead. Love using it and often just lie down with my laptop and play with my dualshock 4.

Allow me to add a report too, I've been using MidnightControls for a while now and it is amazing!

Fine, I believe you that there is a demand for this.
Now, the question for those who use it - what do you think would be sensible defaults for this mod in FO to prevent cheating and ease the initial setup? What setup is needed to get this working in the first place?
Note that I have not tried this mod yet and I do not have a controller anyway.

Fine, I believe you that there is a demand for this.
Now, the question for those who use it - what do you think would be sensible defaults for this mod in FO to prevent cheating and to ease the initial setup? What setup is needed to get this working in the first place?
Note that I have not tried this mod yet and I do not have a controller anyway.

The mod already comes in a way thats not cheating and is equal to the console. If you want, you can enable the cheat features yourself. It functions very simply, put controller in, it detects it and enters Controller Mode. Click the keyboard or disconnect the controller, and it will switch to Keyboard mode. That simple. The mod doesn't affect performance neither show a big not vanilla like screen. Thats it. Just put the mod and bam. No more things, its already ready.

The new version is out, with bug fixes, modded controller support, auto-adapting controller icons and MidnightControlsExtras which has the “cheat” features.

I tried adding it to FO 4.0.0-beta.5, but it made mining blocks impossible with the left mouse key. Cannot reproduce with a clean profile of only that mod, so it must be something in FO that is conflicting... 🤔

(I didn't report it to the mod dev as they have enough unfixed bugs atm, we should figure the root cause out first.)

Somebody did though 🤔:
https://github.com/TeamMidnightDust/MidnightControls/issues/45

Added in 3.12.0 and 4.0.0-beta.6.


preview is  loading without css and layout

Describe the bug
preview is  loading without css and layout
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-81hdef
Steps to reproduce
Run this and preview
Expected behavior
Preview with css and layout
Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 131
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 50788787,
  "usedJSHeapSize": 44711435,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = tamiliasacademy
Chat ID = ff4d484a8814

Additional context
No response

tried firefox ? edge ?

We are aware of this issue and are tracking it here.


chore: add react-native-blurhash as a dependency

This PR resolves []
Description
This PR comes as a follow-up on https://github.com/artsy/palette-mobile/pull/173
Going to merge this to make sure no one's build breaks due to this missing

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

add react-native-blurhash as a dependency - mounir

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (add react-native-blurhash as a dependency - mounir)

  Generated by :no_entry_sign: dangerJS against 60772baa4ff32480c7ffbd1c5e0c878ceecf5b71


[build] Don't build test targets in tools/ if SWIFT_INCLUDE_TESTS is turned off

When cross-compiling the toolchain for Android, the tests aren't built but these test binaries in tools/ still are and I had to work around issues with building them.
I just went through and disabled anything with test in its name, though of the few others I checked, it looks like swift-reflection-dump is only used in the tests too.
@CodaFi, let me know what you think.

Ping, @gottesmm, maybe you have some input.

@drexin, tiny build pull that maybe you could review?

@swift-ci test

Ping, passed CI, ready to merge?

@varungandhi-apple, mind reviewing?

@swift-ci test and merge

Single test failure on Mac CI is unrelated, subsequently fixed by #35151.

@swift-ci please test macOS

CI should be working again now.

Thanks for finally getting this in.


Avoid word wrap crash when issue code long

Add defensive code to avoid trying to run word wrap when there is not enough space on the line due to long issue code.  Also added unit test for this function combine_code_and_description that reproduced the issue.
Fixes #51

Many thanks @debonte for reviewing.  I've implemented your suggestions and there are less magic numbers in this cosmetic formatting code now.  Please approve or let me know any other comments you have


blinking code

VSCode Version: Code 1.9.1 (f9d0c687ff2ea7aabd85fb9a43129117c0ecf519, 2017-02-08T23:44:55.542Z)
OS Version: Linux x64 4.4.0-62-generic
Extensions:

Extension
Author
Version

beautify
HookyQR
0.6.2

html-snippets
abusaidm
0.0.18

vscode-eslint
dbaeumer
1.2.2

python
donjayamanne
0.5.8

configure-c-compiling
ivomachado
0.2.1

MagicPython
magicstack
1.0.3

cpptools
ms-vscode
0.8.1

csharp
ms-vscode
1.5.3

debugger-for-chrome
msjsdiag
2.4.1

vscode-icons
robertohuertasm
4.2.0

whitespace
sandcastle
0.0.4

python
tht13
0.2.3

python-extended-snippets
tushortz
0.0.1

Steps to Reproduce:
Some times when I edit python code, then I do a save
the code starts blinking

Edit python code
I press Ctrl + S (Save changes)

Can you provide a screen recording?

Yest, you can get the screencast from this shared folder
https://drive.google.com/open?id=0B8C4ZkzFGwDpd0J6Uzk2UmlZeEk

@MrAlex6204 Wow, that looks annoying. I can tell you what the blinking is:

whenever the file changes on disk, we reload it
whenever we reload the file, we retokenize it
probably your machine is so fast in tokenizing that it appears as a flash.
in reality, the file is painted without tokens, then tokenization starts in the background
once tokenization reaches the lines in the viewport, the viewport is repainted with colors.

My best guess is that one of the Python extensions you have installed is somehow writing your file to disk, causing it to reload in the UI, causing the flashes. Can you perhaps try to disable some of the extensions and see if the flashing still occurs?
fyi @jrieken if you know something about the error message with linting on save

@alexandrudima

if you know something about the error message with linting on save

It looks like this message is coming from a Python extension (https://github.com/tht13/Python-vscode/blob/9caf5feda93dea96db1d580822dc82b56924a79b/src/client/src/pythonMain.ts).

@MrAlex6204 It appears that the error stems from an extension -- https://github.com/tht13/Python-vscode/blob/9caf5feda93dea96db1d580822dc82b56924a79b/src/client/src/pythonMain.ts#L72

I suggest to open an issue straight against that extension -- https://github.com/tht13/Python-vscode


Webpack: Run proxy without VPN for production environments

This allows users to develop against production without having access to the internal network.
https://github.com/RedHatInsights/frontend-components/tree/62f37029ca0f5f7e9b0fd61815fe62c96503bcbf/packages/config#running-prod-proxy-without-vpn
This was previously introduced with #49b3f04 and then reverted because it seemed to cause problems with developing against stage. However, I am unable to replicate that - stage is working fine at the moment with these changes in place. Perhaps it was a coincidence - in any case, we should try again and if problems with stage arise, we will investigate them and fix them. It is important to be able to develop against the front-end outside of the VPN in order to support our open source service objectives.

Both prod-beta and prod-stable end up in this lock screen for me. It's the same being on and off VPN. Stage works just fine. If I remember it right, the behavior was the same when we were trying these changes previously.

Very odd, it was working for me before I created the pull request and now I am experiencing the same thing. I will reach out to the consoledot folks for help. Changing to draft until this is resolved.


Use relay pre-caching to warm up the root view controllers

Aim: We use background fetch to keep an up-to-date cache of the initial home and user creds.
How: On the fetch, we download a query then store the details to the FS, then we can use the new prefetching in Relay Modern to fill the cache before the JS runtime is up and running.
Tricky: There's no docs we can find so far

There's a lot of useful discussion in https://github.com/facebook/relay/issues/676#issuecomment-290476329 and this diagram of what it looks like.
This comment: https://github.com/facebook/relay/issues/676#issuecomment-325214249 shows that maybe we can execute the query through relay, persist the store and then reload with on launch?

The context of that thread is rehydration and the linked to comment also very much seems to be about serializing/deserializing a full Relay store, i.e. one that has data loaded on the server-side and then continues to use that on the client-side.

Ah shame, here's some more related tidbits: http://taiki-t.hatenablog.com/entry/2017/09/05/181931

Apollo are getting into this game too: https://dev-blog.apollodata.com/the-future-of-state-management-dd410864cae2


Question: zero-replica App without KEDA rules being started upon Azure Service Bus message. How it happens?

Hi,
This is more like a question as things are not clear to me. I have a Container App meant for background processing of some Azure Service Bus messages. There are no scaling rules defined:
    "scale": {
      "maxReplicas": 10,
      "minReplicas": 0,
      "rules": null
    }

I see in logs that after some short time replica count goes from 1 to 0 as expected - it effectively means the process exited, does it? In the logs I see MassTransit diag messages showing clearly that listening on the queues has stopped.
Once the message arrives to the Azure Service Bus queue which that App was listening on - the App is being started and message processed. All reported in log analytics and in AI additionally.
Interestingly during message processing time replica count is still reported as: 0.
How this happens? In particular how Azure Container App engine knows when to schedule apps based on messages arrival?
Why the replica count in Azure Portal still reports 0 when clearly App is being started.
Thanks

Good question! I'd like to know also, if there is any warm up delay needed to spin up first instance in this case.

@CezaryKlus I can't really explain that. If you can share the environment name or something I can look at the logs for your env.

@KrzychuR for an app that needs to be activated on an azure service bus queue, the application will scale from 0 to 1 when any messages are detected on the queue. The queue polling interval is 30 seconds. Once the pod is assigned to the app, the application containers will take some amount of time to start, depending on the app.
Does this answer your question?

Hi @ahmelsayed unfortunately I'm now done with Container Apps experiments. Can you make it clear what is the prerequisite for the container app to scale from 0 to 1 assuming it listens on Azure Service Bus queue and message arrives? Is this an autoscaling rule being set up? Or happens (magically) without it as well?

@ahmelsayed thanks for reply. Similar to @CezaryKlus I'd like to know more how ACA know it. Base on some logs/history? So for example app has to at least try to listen to BUS to be spine up later?

If you want to deploy a container image, say myacr.io/processors/queue-processor:v1, that's processing service bus messages and you want it to only run when there are messages on the queue (scale between 0 <-> 5 instances), you can deploy an app that looks like this in ARM
{
  "properties": {
    "kubeEnvironmentId": "/subscriptions/{id}/resourceGroups/{group}/providers/Microsoft.Web/kubeEnvironments/{name}",
    "configuration": {
      "secrets": [
        {
          "name": "service-bus-connection",
          "value": "Endpoint=sb://sb.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=S08mK3=="
        },
        {
          "name": "docker-password",
          "value": "passwordValue"
        }
      ],
      "registries": [
        {
          "server": "myacr.io",
          "username": "myuser",
          "passwordSecretRef": "docker-password"
        }
      ]
    },
    "template": {
      "containers": [
        {
          "image": "myacr.io/processors/queue-processor:v1",
          "name": "queue-processor",
          "env": [
            {
              "name": "SERVICE_BUS_CONNECTION",
              "secretRef": "service-bus-connection"
            }
          ]
        }
      ],
      "scale": {
        "rules": [
          {
            "name": "serviceBusScalingRule",
            "custom": {
              "type": "azure-servicebus",
              "metadata": {
                "topicName": "mytopic",
                "queueLength": 20
              },
              "auth": [
                {
                  "secretRef": "service-bus-connection",
                  "triggerParameter": "connection"
                }
              ]
            }
          }
        ],
        "minReplicas": 0,
        "maxReplicas": 5
      }
    }
  }
}

or in yaml if that's easier to read
properties:
  kubeEnvironmentId: /subscriptions/{id}/resourceGroups/{group}/providers/Microsoft.Web/kubeEnvironments/{name}
  configuration:
    secrets:
    - name: service-bus-connection
      value: Endpoint=sb://sb.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=S08mK3==
    - name: docker-password
      value: passwordValue
    registries:
    - server: myacr.io
      username: myuser
      passwordSecretRef: docker-password
  template:
    containers:
    - image: myacr.io/processors/queue-processor:v1
      name: queue-processor
      env:
      - name: SERVICE_BUS_CONNECTION
        secretRef: service-bus-connection
    scale:
      rules:
      - name: serviceBusScalingRule
        custom:
          type: azure-servicebus
          metadata:
            topicName: mytopic
            queueLength: 20
          auth:
          - secretRef: service-bus-connection
            triggerParameter: connection
      minReplicas: 0
      maxReplicas: 5

what you're defining are:

secrets you will be referring to in your app: here we have the service bus connection and the registry key (if needed)

secrets:
- name: service-bus-connection
  value: Endpoint=sb://sb.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=S08mK3==
- name: docker-password
  value: passwordValue

registries if they are authenticated

registries:
- server: myacr.io
  username: myuser
  passwordSecretRef: docker-password

images describing your pod, and their env, etc

containers:
- image: myacr.io/processors/queue-processor:v1
  name: queue-processor
  env:
  - name: SERVICE_BUS_CONNECTION
    secretRef: service-bus-connection

scale rules

rules:
- name: serviceBusScalingRule
  custom:
    type: azure-servicebus
    metadata:
      topicName: mytopic
      queueLength: 20
    auth:
    - secretRef: service-bus-connection
      triggerParameter: connection

This scale rule is what tells container apps that your application needs:

run when there is a message on topic mytopic on service bus defined in service-bus-connection
the queueLength property is your desiredMetricValue in hpa's equation

desiredReplicas = ceil[currentReplicas * ( currentMetricValue / desiredMetricValue )]

with desiredReplicas being between the defined:
      minReplicas: 0
      maxReplicas: 5

The scale rule definition is that of KEDA, where you can also see the supported scalers and their metadata. For example, if you want to scale based on a rabbitmq queue instead of service bus, your scale rule will look like
https://keda.sh/docs/2.5/scalers/rabbitmq-queue/
secrets:
- name: rabbitmq-connection
  value: amqp://guest:password@myredis.server.company.com:5672/vhost
[...]
  rules:
  - name: my-rabbitmq-rule
    custom:
      type: rabbitmq
      metadata:
        protocol: auto
        mode: QueueLength # QueueLength or MessageRate
        value: "100" # message backlog or publish/sec. target per instance
        queueName: myqueue
      auth:
      - secretRef: rabbitmq-connection
        triggerParameter: host

or the result of a mssql or postgresql scaler query:
secrets:
- name: sql-connection-string
  value: Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
[...]
  rules:
  - name: my-mssql-rule
    custom:
      type: mssql # or postgresl
      metadata:
        query: "SELECT COUNT(*) FROM backlog WHERE state='running' OR state='queued'"
        targetValue: 1
      auth:
      - secretRef: sql-connection-string
        triggerParameter: connectionString

Hi @ahmelsayed. Thanks for the thorough explanation. So the Container App responding to queue messages by scaling up can only happen once the scaling rule is registered for that particular Azure Service Bus queue (or other scalers..). Not sure how to explain this but I coincidentally observed messages being handled by the Container App being reported as 0 replicas.
It made me wondering how that happened...
Anyway if the Container App "scheduler" logic is something not that obvious it would be awesome to have it covered in-depth in the docs.
Thanks