I cannot access the LGU shop

While in game, when I open up the terminal and type in "lgu" it says " [There was no action supplied with the word.] ". Typing "lategame store" takes me back to the info page. I have already tried to edit the mod itself as well as the dependencies with the mod to older versions to try and see if an update is causing the issue. I have also tried to run the mod by itself to see if it was conflicting with any other mods to no avail.

If you post logs of when you try to load the mod, I can help you better than guessing what is the problem you are experiencing that stops the mod from loading.

My fault, here is the code.
[Message:   BepInEx] BepInEx <IP_ADDRESS> - Lethal Company (11/1/2024 11:35:17 PM) [Info   :   BepInEx] Running under Unity v2<IP_ADDRESS>51836 [Info   :   BepInEx] CLR runtime version: 4.0.30319.42000 [Info   :   BepInEx] Supports SRE: True [Info   :   BepInEx] System platform: Bits64, Windows [Message:   BepInEx] Preloader started [Info   :   BepInEx] Loaded 1 patcher method from [BepInEx.Preloader <IP_ADDRESS>] [Info   :   BepInEx] Loaded 1 patcher method from [FixPluginTypesSerialization <IP_ADDRESS>] [Info   :   BepInEx] Loaded 1 patcher method from [BepInEx.MonoMod.HookGenPatcher <IP_ADDRESS>] [Info   :   BepInEx] 3 patcher plugins loaded [Info   :HookGenPatcher] Previous MMHOOK location found. Using that location to save instead. [Info   :HookGenPatcher] Already ran for this version, reusing that file. [Info   :HookGenPatcher] Previous MMHOOK location found. Using that location to save instead. [Info   :HookGenPatcher] Already ran for this version, reusing that file. [Info   :HookGenPatcher] Previous MMHOOK location found. Using that location to save instead. [Info   :HookGenPatcher] Already ran for this version, reusing that file. [Info   :HookGenPatcher] Previous MMHOOK location found. Using that location to save instead. [Info   :HookGenPatcher] Already ran for this version, reusing that file. [Info   :HookGenPatcher] Previous MMHOOK location found. Using that location to save instead. [Info   :HookGenPatcher] Already ran for this version, reusing that file. [Info   :HookGenPatcher] Previous MMHOOK location found. Using that location to save instead. [Info   :HookGenPatcher] Already ran for this version, reusing that file. [Message:FixPluginTypesSerialization] Using the config cache [Info   :FixPluginTypesSerialization] Running under Unity v2022.3.9 [Info   :   BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader] [Message:   BepInEx] Preloader finished [Message:   BepInEx] Chainloader ready [Message:   BepInEx] Chainloader started [Info   :   BepInEx] 5 plugins to load [Info   :   BepInEx] Loading [LethalLib 0.16.1] [Info   : LethalLib] LethalLib loaded!! [Info   :   BepInEx] Loading [CSync 5.0.1] [Info   :     CSync] CSync successfully applied patches. [Info   :   BepInEx] Loading [Lethal Company Input Utils 0.7.7] [Info   :Lethal Company Input Utils] Registered InputUtilsExtendedMouse Layout Override! [Info   :Lethal Company Input Utils] InputUtils 0.7.7 has finished loading! [Info   :   BepInEx] Loading [Interactive Terminal API 1.2.0] [Info   :Interactive Terminal API] Game managers have been patched [Info   :Interactive Terminal API] Interactive Terminal API 1.2.0 has been loaded successfully. [Info   :   BepInEx] Loading [More Ship Upgrades 3.10.11] [Info   :More Ship Upgrades] Registed sample for the enemy "centipede"... [Info   :More Ship Upgrades] Registed sample for the enemy "bunker spider"... [Info   :More Ship Upgrades] Registed sample for the enemy "hoarding bug"... [Info   :More Ship Upgrades] Registed sample for the enemy "flowerman"... [Info   :More Ship Upgrades] Registed sample for the enemy "mouthdog"... [Info   :More Ship Upgrades] Registed sample for the enemy "baboon hawk"... [Info   :More Ship Upgrades] Registed sample for the enemy "crawler"... [Info   :More Ship Upgrades] Registed sample for the enemy "forestgiant"... [Info   :More Ship Upgrades] Registed sample for the enemy "manticoil"... [Info   :More Ship Upgrades] Registed sample for the enemy "tulip snake"... [Info   :More Ship Upgrades] Registed sample for the enemy "bush wolf"... [Info   :More Ship Upgrades] Registed sample for the enemy "puffer"... [Info   :More Ship Upgrades] Registed sample for the enemy "maneater"... [Info   :More Ship Upgrades] Items have been setup [Info   :More Ship Upgrades] Commands have been setup [Info   :More Ship Upgrades] Upgrades have been setup [Info   :More Ship Upgrades] Enemies have been patched [Info   :More Ship Upgrades] HUD has been patched [Info   :More Ship Upgrades] Interactables have been patched [Info   :More Ship Upgrades] Items have been patched [Error  :More Ship Upgrades] [Tools] Couldn't find second negative value representing no sales [Error  :More Ship Upgrades] [Tools] Couldn't find second maximum amount of items to go on sale [Error  :More Ship Upgrades] [Tools] Not found [Error  :More Ship Upgrades] [Tools] Not found [Error  :More Ship Upgrades] [Tools] Not found [Error  :More Ship Upgrades] [Tools] Not found [Error  :More Ship Upgrades] [Tools] Not found [Error  :More Ship Upgrades] [Tools] Not found [Error  :More Ship Upgrades] [Tools] Not found [Error  :More Ship Upgrades] [Tools] Couldn't find minimum sale percentage [Error  :  HarmonyX] Failed to patch void Terminal::SetItemSales(): System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index must be within the bounds of the List. Parameter name: index   at System.Collections.Generic.List1[T].Insert (System.Int32 index, T item) [0x00009] in <787acc3c9a4c471ba7d971300105af24>:IL_0009
at MoreShipUpgrades.Patches.TerminalComponents.TerminalPatcher.SetItemSalesTranspiler (System.Collections.Generic.IEnumerable1[T] instructions) [0x00174] in <de7b1a1aae914eeb971ea7e6e6371b1e>:IL_0174   at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)   at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0006a] in <787acc3c9a4c471ba7d971300105af24>:IL_006A    --- End of inner exception stack trace ---   at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00083] in <787acc3c9a4c471ba7d971300105af24>:IL_0083   at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <787acc3c9a4c471ba7d971300105af24>:IL_0000   at HarmonyLib.Internal.Patching.ILManipulator.ApplyTranspilers (System.Reflection.Emit.ILGenerator il, System.Reflection.MethodBase original, System.Func2[T,TResult] getLocal, System.Func1[TResult] defineLabel) [0x00093] in <474744d65d8e460fa08cd5fd82b5d65f>:IL_0093   at HarmonyLib.Internal.Patching.ILManipulator.WriteTo (Mono.Cecil.Cil.MethodBody body, System.Reflection.MethodBase original) [0x00066] in <474744d65d8e460fa08cd5fd82b5d65f>:IL_0066   at HarmonyLib.Public.Patching.HarmonyManipulator.WriteTranspilers () [0x00084] in <474744d65d8e460fa08cd5fd82b5d65f>:IL_0084   at HarmonyLib.Public.Patching.HarmonyManipulator.WriteImpl () [0x0002b] in <474744d65d8e460fa08cd5fd82b5d65f>:IL_002B  [Error  : Unity Log] ArgumentOutOfRangeException: Index must be within the bounds of the List. Parameter name: index Stack trace: System.Collections.Generic.List1[T].Insert (System.Int32 index, T item) (at <787acc3c9a4c471ba7d971300105af24>:IL_0009)
MoreShipUpgrades.Patches.TerminalComponents.TerminalPatcher.SetItemSalesTranspiler (System.Collections.Generic.IEnumerable1[T] instructions) (at <de7b1a1aae914eeb971ea7e6e6371b1e>:IL_0174) System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <787acc3c9a4c471ba7d971300105af24>:IL_006A) Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation. System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <787acc3c9a4c471ba7d971300105af24>:IL_0083) System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <787acc3c9a4c471ba7d971300105af24>:IL_0000) HarmonyLib.Internal.Patching.ILManipulator.ApplyTranspilers (System.Reflection.Emit.ILGenerator il, System.Reflection.MethodBase original, System.Func2[T,TResult] getLocal, System.Func`1[TResult] defineLabel) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0093)
HarmonyLib.Internal.Patching.ILManipulator.WriteTo (Mono.Cecil.Cil.MethodBody body, System.Reflection.MethodBase original) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0066)
HarmonyLib.Public.Patching.HarmonyManipulator.WriteTranspilers () (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0084)
HarmonyLib.Public.Patching.HarmonyManipulator.WriteImpl () (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_002B)
Rethrow as HarmonyException: IL Compile Error (unknown location)
HarmonyLib.Public.Patching.HarmonyManipulator.WriteImpl () (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0378)
HarmonyLib.Public.Patching.HarmonyManipulator.Process (MonoMod.Cil.ILContext ilContext, System.Reflection.MethodBase originalMethod) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0042)
HarmonyLib.Public.Patching.HarmonyManipulator.Manipulate (System.Reflection.MethodBase original, HarmonyLib.PatchInfo patchInfo, MonoMod.Cil.ILContext ctx) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0006)
HarmonyLib.Public.Patching.HarmonyManipulator.Manipulate (System.Reflection.MethodBase original, MonoMod.Cil.ILContext ctx) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0007)
HarmonyLib.Public.Patching.ManagedMethodPatcher.Manipulator (MonoMod.Cil.ILContext ctx) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0012)
MonoMod.Cil.ILContext.Invoke (MonoMod.Cil.ILContext+Manipulator manip) (at <6733e342b5b549bba815373898724469>:IL_0087)
MonoMod.RuntimeDetour.ILHook+Context.InvokeManipulator (Mono.Cecil.MethodDefinition def, MonoMod.Cil.ILContext+Manipulator cb) (at <4e2760c7517c4ea79c633d67e84b319f>:IL_0012)
(wrapper dynamic-method) MonoMod.RuntimeDetour.ILHook+Context.DMD<MonoMod.RuntimeDetour.ILHook+Context::Refresh>(MonoMod.RuntimeDetour.ILHook/Context)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<MonoMod.RuntimeDetour.ILHook+Context::Refresh>?-650121464(object)
HarmonyLib.Internal.RuntimeFixes.StackTraceFixes.OnILChainRefresh (System.Object self) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0000)
MonoMod.RuntimeDetour.ILHook.Apply () (at <4e2760c7517c4ea79c633d67e84b319f>:IL_0059)
HarmonyLib.Public.Patching.ManagedMethodPatcher.DetourTo (System.Reflection.MethodBase replacement) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0047)
Rethrow as HarmonyException: IL Compile Error (unknown location)
HarmonyLib.Public.Patching.ManagedMethodPatcher.DetourTo (System.Reflection.MethodBase replacement) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_005F)
HarmonyLib.PatchFunctions.UpdateWrapper (System.Reflection.MethodBase original, HarmonyLib.PatchInfo patchInfo) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0033)
Rethrow as HarmonyException: IL Compile Error (unknown location)
HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0045)
HarmonyLib.PatchClassProcessor.Patch () (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0095)
HarmonyLib.Harmony.PatchAll (System.Type type) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0008)
MoreShipUpgrades.Managers.PatchManager.PatchVitalComponents () (at :IL_0094)
MoreShipUpgrades.Managers.PatchManager.PatchMainVersion () (at :IL_0019)
MoreShipUpgrades.Plugin.Awake () (at :IL_0176)
UnityEngine.GameObject:AddComponent(Type)
BepInEx.Bootstrap.Chainloader:Start()
UnityEngine.Rendering.HighDefinition.HDRenderPipelineAsset:OnEnable()
[Message:   BepInEx] Chainloader startup complete
[Warning: Unity Log] Failed to change display to ExclusiveFullscreen...reverting to FullscreenWindow
[Info   : Unity Log] Saving changed settings
[Info   : Unity Log] subcribing to steam callbacks
Setting breakpad minidump AppID = 1966720
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:<PHONE_NUMBER>4389848 [API loaded no]
[Info   : Unity Log] file vers: 0 not compatible; 60
[Info   : Unity Log] Displaying menu notification: Some of your save files may not be compatible with version 60 and may be corrupted if you play them.
[Info   : Unity Log] Returning week num: 47
[Info   : Unity Log] week num: 47
[Info   : Unity Log] host button pressed
[Info   : Unity Log] Returning week num: 47
[Info   : Unity Log] Displaying menu message
[Info   : Unity Log] Connection approval callback! Game version of client request:
[Info   : Unity Log] Joining client id: 0; Local/host client id: 0
[Info   : Unity Log] Stopped connection approval callback, as the client in question was the host!
[Warning: Unity Log] [Netcode] You cannot decline the host connection. The connection was automatically approved.
[Info   : Unity Log] started host!
[Info   : Unity Log] are we in a server?: True
[Info   : Unity Log] Lobby has been created
[Warning: Unity Log] [Dissonance:Recording] (08:56:35.068) CapturePipelineManager: Detected a frame skip, forcing capture pipeline reset (Delta Time:0.151345)
[Info   :More Ship Upgrades] [LguStore] No save file found for slot 2. Creating new.
[Info   :More Ship Upgrades] Random upgrades seed wasn't set, calculating a new seed..
[Info   :More Ship Upgrades] [LguStore] SteamID is not available yet, waiting...
[Info   :More Ship Upgrades] Registering key item under level 0 of Fusion Matter
[Info   :More Ship Upgrades] Registering flashlight item under level 0 of Fusion Matter
[Info   :More Ship Upgrades] Registering walkie-talkie item under level 0 of Fusion Matter
[Info   :More Ship Upgrades] Registering shovel item under level 1 of Fusion Matter
[Info   :More Ship Upgrades] Registering pro-flashlight item under level 1 of Fusion Matter
[Info   :More Ship Upgrades] Registering belt bag item under level 2 of Fusion Matter
[Info   :More Ship Upgrades] Registering radar-booster item under level 2 of Fusion Matter
[Info   :More Ship Upgrades] [Hunter] Hoarding Bug set to be harvestable at level 1
[Info   :More Ship Upgrades] [Hunter] Snare Flea set to be harvestable at level 1
[Info   :More Ship Upgrades] [Hunter] Spore Lizard set to be harvestable at level 1
[Info   :More Ship Upgrades] [Hunter] Bunker Spider set to be harvestable at level 2
[Info   :More Ship Upgrades] [Hunter] Baboon Hawk set to be harvestable at level 2
[Info   :More Ship Upgrades] [Hunter] Tulip Snake set to be harvestable at level 2
[Info   :More Ship Upgrades] [Hunter] Kidnapper Fox set to be harvestable at level 2
[Info   :More Ship Upgrades] [Hunter] Bracken set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Eyeless Dog set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Half/Thumper set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Manticoil set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Maneater set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Forest Giant set to be harvestable at level 4
[Info   :More Ship Upgrades] [UpgradeBus] Successfully reconstructed with hosts config.
[Info   :More Ship Upgrades] [LguStore] Successfully spawned 54 upgrade objects.
[Info   : Unity Log] Enabling connection callbacks in StartOfRound
[Info   : Unity Log] Began listening to SceneManager_OnLoadComplete1 on this client
[Info   : LethalLib] Adding 0 unlockables to unlockables list
[Info   : LethalLib] Adding 2 items to terminal
[Warning: Unity Log] damageTrigger is disabled! Netcode for GameObjects does not support spawning disabled NetworkBehaviours! The InteractTrigger component was skipped during spawn!
[Info   : LethalLib] Found 13 prefabs to fix
[Info   : Unity Log]<PHONE_NUMBER>
[Info   : Unity Log]<PHONE_NUMBER>
[Info   : Unity Log] level id: 0
[Info   : Unity Log] Changing level
[Info   : Unity Log] Loading from data: for 41 Experimentation: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 220 Assurance: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 56 Vow: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 71 Gordion: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 61 March: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 20 Adamance: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 85 Rend: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 7 Dine: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 21 Offense: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 8 Titan: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 68 Artifice: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 44 Liquidation: iterations at 0, starting at node #-1
[Info   : Unity Log] Loading from data: for 5 Embrion: iterations at 0, starting at node #-1
[Info   : Unity Log] Weather chance: 0.7886578; 1
[Info   : Unity Log] Item sales percentages #0: 0
[Info   : Unity Log] Item sales percentages #1: 0
[Info   : Unity Log] Item sales percentages #2: 0
[Info   : Unity Log] Item sales percentages #3: 0
[Info   : Unity Log] Item sales percentages #4: 0
[Info   : Unity Log] Item sales percentages #5: 0
[Info   : Unity Log] Item sales percentages #6: 0
[Info   : Unity Log] Item sales percentages #7: 0
[Info   : Unity Log] Item sales percentages #8: 0
[Info   : Unity Log] Item sales percentages #9: 0
[Info   : Unity Log] Item sales percentages #10: 0
[Info   : Unity Log] Item sales percentages #11: 0
[Info   : Unity Log] Item sales percentages #12: 0
[Info   : Unity Log] Item sales percentages #13: 0
[Info   : Unity Log] Item sales percentages #14: 0
[Info   : Unity Log] Item sales percentages #15: 0
[Info   : Unity Log] Item sales percentages #16: 0
[Info   : Unity Log] Item sales percentages #17: 0
[Warning: Unity Log] NetworkVariable is written to, but doesn't know its NetworkBehaviour yet. Are you modifying a NetworkVariable before the NetworkObject is spawned?
[Info   : Unity Log] Suits: 1
[Info   : Unity Log] Suit #0: 0
[Info   : Unity Log] pos: (-2.45, 2.75, -8.41); rot: (0.00, 90.00, 0.00)
[Info   : Unity Log] Key 'shipGrabbableItems' does not exist
[Info   : Unity Log] Loaded vehicle ID: -1
[Info   :More Ship Upgrades] Registering key item under level 0 of Fusion Matter
[Info   :More Ship Upgrades] Registering flashlight item under level 0 of Fusion Matter
[Info   :More Ship Upgrades] Registering walkie-talkie item under level 0 of Fusion Matter
[Info   :More Ship Upgrades] Registering shovel item under level 1 of Fusion Matter
[Info   :More Ship Upgrades] Registering pro-flashlight item under level 1 of Fusion Matter
[Info   :More Ship Upgrades] Registering belt bag item under level 2 of Fusion Matter
[Info   :More Ship Upgrades] Registering radar-booster item under level 2 of Fusion Matter
[Info   :More Ship Upgrades] [Hunter] Hoarding Bug set to be harvestable at level 1
[Info   :More Ship Upgrades] [Hunter] Snare Flea set to be harvestable at level 1
[Info   :More Ship Upgrades] [Hunter] Spore Lizard set to be harvestable at level 1
[Info   :More Ship Upgrades] [Hunter] Bunker Spider set to be harvestable at level 2
[Info   :More Ship Upgrades] [Hunter] Baboon Hawk set to be harvestable at level 2
[Info   :More Ship Upgrades] [Hunter] Tulip Snake set to be harvestable at level 2
[Info   :More Ship Upgrades] [Hunter] Kidnapper Fox set to be harvestable at level 2
[Info   :More Ship Upgrades] [Hunter] Bracken set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Eyeless Dog set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Half/Thumper set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Manticoil set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Maneater set to be harvestable at level 3
[Info   :More Ship Upgrades] [Hunter] Forest Giant set to be harvestable at level 4
[Info   :More Ship Upgrades] [UpgradeBus] Successfully reconstructed with hosts config.
[Info   : Unity Log] Group credits: 60
[Info   : Unity Log] planet mold states length: $13
[Info   : Unity Log] Called teleport function on Player
[Info   : Unity Log] Taking control of player Player and enabling camera!
[Info   : Unity Log] Called teleport function on Player (1)
[Info   : Unity Log] Called teleport function on Player (2)
[Info   : Unity Log] Called teleport function on Player (3)
[Info   : Unity Log] Starting voice tracking for player: adeyUnivaG
[Info   : Unity Log] !!!! ENABLING CAMERA FOR PLAYER: Player
[Info   : Unity Log] !!!! connectedPlayersAmount: 0
[Info   : Unity Log] Has beta?: {hasBeta}
[Info   : Unity Log] Has beta save data: True
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/LightSwitchContainer/PlacementCollider"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/Cube"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/AnimatedShipDoor/HangarDoorLeft (1)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (1)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ControlDesk.001"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (3)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (7)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (6)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (8)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (5)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (4)"
[Warning: Unity Log] [Dissonance:Recording] (08:56:38.418) CapturePipelineManager: Detected a frame skip, forcing capture pipeline reset (Delta Time:0.1534704)
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/StorageCloset/Cube.000/Cube"
[Info   :More Ship Upgrades] [LguStore] Loading SteamID:<PHONE_NUMBER>4389848
[Info   :More Ship Upgrades] [LguStore]<PHONE_NUMBER>4389848 Was not found in save dictionary! Creating new save for ID.
[Info   : Unity Log] Set interminalmenu to true: True
[Error  : Unity Log] Trying to add Caret (TMPro.TMP_SelectionCaret) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.
[Info   :More Ship Upgrades] [LguStore] Applying loaded upgrades...
[Info   : Unity Log] Could not parse word: lgu`

What version of the game are you trying to play on? Have you tried using the recommended mod version for that game version?

I've been trying to play on version 64 of Lethal, but im not sure how to run lethal through thunderstore in a different version.

What version of the game are you trying to play on? Have you tried using the recommended mod version for that game version?

I looked through the main page of the addon and found what the issue is.
Sorry for wasting your time.


Fixes deprecated kubectl gs template app flags

In https://github.com/giantswarm/kubectl-gs/pull/886, for the template app command, we deprecated --cluster for --cluster-name, and --namespace for --target-namespace.
This PR updates the usage of those commands in the documentation so that kubectl gs does not print deprecating warnings anymore.
I could not find any other usages of this command, or other deprecated commands, but they may exist.

@giantswarm/team-honeybadger i don't know what the CI failures mean, i'm just trying to help and update the docs :D

Now it fails in pre-commit on installing mypy.
mypy.....................................................................Failed
- hook id: mypy
- exit code: 2

@piontec Can you help here?

Yay, worked! Thanks for the updates! 🙇🏻 ❤


After Update to 1.15 get an timeout with Ubuntu

Windows Version
Windows 10.0.25314.1010
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu 22.04
Other Software
No response
Repro Steps
Start it in Terminal I get:
Error code: Wsl/Service/CreateInstance/CreateVm/HCS_E_CONNECTION_TIMEOUT
Press any key to continue...
Expected Behavior
Starting of Ubuntu
Actual Behavior
Timeout:
Error code: Wsl/Service/CreateInstance/CreateVm/HCS_E_CONNECTION_TIMEOUT
Press any key to continue...
Diagnostic Logs
No response

/logs

Exactly the same issue here.


Improving dataUri

Following up on https://github.com/smhg/sepa-qr-php/pull/11 I discovered at https://github.com/endroid/qr-code/pull/246 that there's an even simpler way for this :-)

Great! Thanks!


PR: builtin range function #326

add builtin range function:
range(start, stop[, step])
usage examples:
range(0,0) ----> [0]
range(0, 5) -----> [0, 1, 2, 3, 4]
range(0, 10, 3) -----> [0, 3, 6, 9]
range(0, -10, 2) -----> [0, -2, -4, -6, -8]
special:
The step must be greater than 0 to prevent infinite loops

Nice one!
I would expect range(0,0) to be [] for consistency.

@geseq Okay, i will change range(0,0) to be [] , any ideas for support for a single parameter?
range(5) to [0, 1, 2, 3, 4], current implementions are not supported, if you want, i can support it

I think you might be right and I can see one argument being confusing. I pretty much pulled the idea out of python but we don’t need to stick exactly to python syntax.

@geseq  ok, Use the same upper and lower bounds will get empty array ( [] ) as you expect, github action seems to have some problems ? please check this PR. I think it's done now !

I've merged a fix for the GitHub Actions to master. Please rebase with master

please fix linting issues too!

emmmm.... okay, I will fix go lint problem


enable php 7.1 on travis

I don't know if I have to add something in the matrix, I see nothing for php 7.0

Don't think so, the matrix was originally for testing the lower dependencies where there was a greater risk of breakage. Thanks for this!


fix(scriptinclude): hot link css and js to now.sh

:tada: This PR is included in version 1.24.1 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Wiki Doc question

Question about Wiki >>Admin: Security >> Steps and job entries restriction  Steps and job entries restriction
It seems do not work, until I done the following steps:

append the file name with "alternative"(like kettle-steps-alternative.xml).
move them to CATALINA_HOME/bin(default CATALINA_HOME is tomcat base dir).

Thank you for your question.
The first step is partially correct. These xml files should be renamed. If not, kettle-job-entries.xml or kettle-steps.xml inside the kettle-engine-VERSION.jar will be used.
https://help.pentaho.com/Documentation/6.1/0R0/0V0/010/000
The second step, I still have to check it.

I checked the second step.
$CATALINA_HOME worked but $CATALINA_HOME/bin did not work for me.

I think it depends on what path is included in the class path.
If you are at $CATALINA_HOME and start Tomcat by bin/startup.sh, $CATALINA_HOME will be included in the class path. Same thing to $CATALINA_HOME/bin.

Totally agree with you, thanks.


iOS Safari support for snarkyJS

Currently iOS Safari is not supported by snarkyJS. In order to encourage as wide adoption as possible add snarkyJS support to iOS Safari

https://github.com/o1-labs/snarkyjs/issues/823#issuecomment-1565757386

Duplicate of https://github.com/o1-labs/o1js/issues/823, which is resolved.


Make it possible to prefer special global vars

I.e. make it possible to have a cop that's the reverse of https://github.com/bbatsov/rubocop/blob/f5ff8e9bddb07ec54237a3c7c4cf69f7386254c7/lib/rubocop/cop/style/special_global_vars.rb

I have a fix for this and will open a PR soon.


whats's the difference of the version  in version.go  and in tag

I Find some tag is 2.0.0. but the version in version.go is 1.2.0 or  1.30 or 2.0,what's the difference.

the variable Version in the version.go will be overridden at the build time, so its initial value doesn't matter
https://github.com/edgexfoundry/edgex-go/blob/4edb777b9d60e900e8671f5ac6453e52ef440742/Makefile#L45
we should modify it to something like we did in device-sdk-go
var Version string = "to be replaced by makefile"
https://github.com/edgexfoundry/device-sdk-go/blob/5b7ab9a3ff9866f95cdc84e39a450aa5b3c9b9ea/version.go#L10

Thanks very much


Static methods can be accessed from within subclasses, but NullAway doesn't know this

The following is (annoyingly) valid Java code for calling a static method:
class Foo {
    public static String foo(@Nullable Object ignored) { return "Nonsense java black magic!"; };
}

class Bar extends Foo { }

class Main {
    public static void main(String[] args) {
        System.out.println(Bar.foo(null));
    }
}

However, NullAway will fail to read the annotations of Foo.foo(...) when inspecting the static call to Bar.foo(...) and thus give an error on Bar.foo(null).

Note: Making this issue as a reminder for myself, will take a look when possible. We have a workaround, which is to use the class that declares the static method, which is what I would have expected to be needed for static methods 😅

I'm surprised there isn't already an Error Prone check to flag the call. But even if there was, NullAway should do the right thing.

Actually, this seems to be working with NullAway as written. Trying to fish the original example I saw internally to see if we can repro this...

Interesting: In the following example, only the last call produces the error...
            .addSourceLines(
                    "Test.java",
                    "package com.uber;",
                    "import static com.uber.Subclass.foo;",
                    "class Test {",
                    "    static void m() {",
                    "        // Calling foo() the obvious way: safe because @Nullable arg",
                    "        System.out.println(Superclass.foo(null));",
                    "        // Calling foo() through Subclass: also safe",
                    "        System.out.println(Subclass.foo(null));",
                    "        // Static import from Subclass: also safe",
                    "        System.out.println(foo(null));",
                    "    }",
                    "}")

It turns out that both Superclass.foo(...) and Subclass.foo(...) give a methodSymbol with .owner == Superclass here, but the foo(...) that was statically imported shows .owner == Subclass. No idea if that's because of some shallower resolution of Subclass in that case...

I think this Error Prone check would catch the bad import?
https://errorprone.info/bugpattern/NonCanonicalStaticMemberImport
It's experimental so not enabled by default.
I agree adding support within NullAway for this case may not be worth the cost.

I just wanted to chime in to say that this is quite interesting and good for us to know, too (for nullness checks and other Error Prone checks), so thanks!
We haven't enabled NonCanonicalStaticMemberImport inside Google except as a review-time comment on modified lines. That's mainly because there are a lot of violations and relatively few true "bugs" that the check catches. (It's more of a style thing.) But this bug shows that such imports have undesirable side effects for static analysis. I'm still not expecting us to do anything about it anytime soon, but I suspect you've saved us a day of mystery somewhere down the line.
If we do need to tackle this, I wonder if we could scan the imports before processing each file, record the names of the !isCanonical() ones, and look into using your workaround only for APIs that match ones of those names. That might help some with the performance concerns.

I don't have a self-contained repro for you, but you might also be interested in knowing that I think I saw another case in which owner is misleading:
<T extends Serializable> void m(T t) {
  t.equals("");
}

I think I was seeing equals with an owner of java.io.Serializable, rather than the java.lang.Object I would have expected (since Serializable doesn't override equals).

Depending on which specific Error Prone APIs you use, this might be fixed when you pick up the next Error Prone release. Or maybe it was even fixed already on the NullAway side by #898?
(I said slightly more about this in https://github.com/uber/NullAway/issues/897#issuecomment-1921700623.)

@cpovirk you're right that an extension of the fix for #898 also fixes this issue.  I have a WIP version here:
https://github.com/uber/NullAway/compare/master...msridhar:NullAway:issue-764
One thing I'm not sure about though.  We need this fix to work across recent Error Prone versions, including the upcoming release that includes your fix.  Do you have a suggested way of coding that?  I'm concerned that on the latest EP version my fix will lead to baseSymbol() being called twice.  The best option I can think of right now is to copy-paste the fixed ASTHelpers.getSymbol() overload into NullAway, but I'm wondering if there's a better way.

Hmm. My largely unconscious assumption had been that calling baseSymbol() twice was a no-op. But I have little to base that on.
I do see that the main implementations of Symbol.baseSymbol() is return this. But of course the whole reason we're in this mess is that there are other implementations :)
So the worry would be: Maybe there's one Symbol for which baseSymbol() returns another Symbol whose baseSymbol() returns yet something else. That would seem kind of weird to me, but I can't easily rule it out.

Thanks!  Probably for now, we can go with my WIP fix.  I think you're right that calling baseSymbol() twice is likely to be a no-op.  We can test further once the next Error Prone version is released.


[Question] Support Async Senc/Recv?

Since AllReduce is already an asynchronous kernel (as mentioned in this issue), I assume AllGather is also asynchronous.
I would also like to know if the Send/Recv kernel is asynchronous as well?

Yes. They all are aysn kernels.


Layout issue on submission modal popup - MS Edge

See https://github.com/DataConservancy/pass-ember/pull/78#issuecomment-350804530

IE 11 has the same issue


Angular Universal fails on importing 3rd party libraries because they are not transpiled to ES5

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Versions.
@angular/cli: 1.3.0-rc.3
node: 6.10.2
os: linux x64
@angular/animations: 4.3.2
@angular/common: 4.3.2
@angular/compiler: 4.3.2
@angular/core: 4.3.2
@angular/forms: 4.3.2
@angular/http: 4.3.2
@angular/platform-browser: 4.3.2
@angular/platform-browser-dynamic: 4.3.2
@angular/router: 4.3.2
@angular/cli: 1.3.0-rc.3
@angular/compiler-cli: 4.3.2
@angular/platform-server: 4.3.0
Repro steps.

Start new ng project
Install and use ng-bootstrap as proposed here
Follow the "universal story"

The log given by the failure.
$ node universal-test.js
/xxx/frontend-web/node_modules/@ng-bootstrap/ng-bootstrap/alert/alert.js:1
(function (exports, require, module, __filename, __dirname) { import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, } from '@angular/core';
^^^^^^
SyntaxError: Unexpected token import
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.2RxQ (/xxx/frontend-web/dist-server/main.991bfecc1615c90e73c7.bundle.js:1:1646)
Desired functionality.
I am expecting the standard output for my universal app.
Mention any other details that might be useful.
It seems that the problem is that 3rd parties are not being transpiled to ES5 and node can't comprehend Type Script's import statement. People are trying to work around it by making webpack compile the external libs to ES5, example: https://github.com/evertonrobertoauler/cli-universal-demo/blob/master/webpack.config.js
This could perhaps work, but I don't want to eject my project just to work around this issue.

Duplicate of #7200

Seems like it's the same issue. I'll close this ticket then.


What's this!

@KevinZonda joyqi/takahashi-template seems to be suitabled for desktop only, so you can try accessing it from your computer. It's not clear if marp generated web have this problem, I haven't tried it yet.


OIDC Shadow Users can't update username

What version of UAA are you running?
v4.19
How are you deploying the UAA?
not relevant
What did you do?
So we're integrating with UAA using an upstream OIDC IdP. We've had a previous run-in with UAAs handling of subs vs. preferred_username to build the UAA shadow-user for an upstream OIDC identity. The main point here is that upstream IdPs may have relaxed rules about preferred_usernames and may e.g. allow users to change them or even hand out duplicate usernames. I'm aware this is not particularly common, but changing usernames happens more often than not in some of the deployments we see. In any case, that's what the OIDC spec allows too.
UAA enforces a rule that says usernames must be unique per origin. That's a sensible choice to make and should be called out in the spec as a known restrictions (aka, you cant work with upstream IdPs that allow non-unique usernames).
What's worse however is that previous to v4.6 UAA didn't populate its User.externalId = OIDC.sub at all when creating shadow users for OIDC identities. And even now that it's doing that, the field that get's actually used for shadow user creation and shadow user mapping is still the username. This means that changing the preferred_username in an upstream OIDC IdP (which is a perfectly valid use case) will result in a new UAA shadow_user.
What did you expect to see? What goal are you trying to achieve with the UAA?
I was expecting UAA to lookup the OIDC shadow user using the externalId (=OIDC.sub) and origin(=OIDC.iss)-
So our current workaround is to continue to use OIDC.sub as the UAA.username. That's a bit unfortunate because ideally we'd like to populate UAA with "human-readable" usernames/identifiers automatically refreshed from the upstream IdP. This would provide a better UX for users, e.g. when they authenticate on the CF CLI they could see their username as it appears in their upstream IdP and not the sub which is typically a nonsensical UUID.
The culprit in this case is XOAuthAuthenticationManager which does not override the base classes ExternalLoginAuthenticationManager.authenticate method, which in turn does the user lookup by email/username. It does not even consider User.externalId.
Given this UAA shadow user behavior, the only chance I see for us to make username propagation work the way we want is to disable UAA shadow user creation via IdentityProvider.config.addShadowUserOnLogon and create/update user UAA user records externally.

Closing due to inactivity.


basic ironic chart

What is the purpose of this pull request?: Addition of ironic chart
What issue does this pull request address?: Feature #191
Notes for reviewers to consider: Charts prepared for review
Specific reviewers for pull request: @v1k0d3n

@v1k0d3n  ironic charts converted from sapcc/openstack-helm.

@maris-accenture thank you for trying to get this in! we're going to close this out and try to start over on ironic once we're in openstack proper.


Build fixes

Does what it says on the tin. I'm still on macOS 10.14 with Xcode 11.2.1. These changes should be forwards compatible, and just keeps everything in line.
Please test out building with this branch on your system (macOS 11+). If no issues then it can be merged.

Only thing that was tripping me up was the codesigning. I disabled it for debug builds using this
Latest commit

Builds and runs for me, M1 Mac 12.2, XCode 13.2.1.
Good catch on /usr/bin/python3 not existing on earlier Macs.
What's all the importlib_metadata business about in https://github.com/quicksilver/Quicksilver/pull/2591/commits/5c4a5d9742477f0036898a1fe6c296dceb2eba2e? What version of python3 are you using? Had been working fine on 3.9 and 3.10 for me...

What's all the importlib_metadata business about in 5c4a5d9?

I notice when building the plug-ins that bltrversion fails inside Xcode due to some importlib error. Maybe it’s to fix that? I’ll give this branch a test.

What's all the importlib_metadata business about in 5c4a5d9? What version of python3 are you using? Had been working fine on 3.9 and 3.10 for me...

Yeah, build was failing for me, saying unable to import importlib_metadata. Had to do a pip install --target=. importlib_metadata to get it working.

Let me know if this is good to merge. Otherwise I can't build/work on anything else on QS

Thanks! 💨 💨


Messenger Cell

Please clarify how to implement a custom cell, or provide a way to create a custom cell (btw this is a great feature)

in NodeBlockForRow
implement an ASCellNode
and use  ASAbsoluteLayoutSpec
it worked for me

@hilalalhakani can you include your audio and video implementation in a pull request?


enable dark mode and light mode

Current Behaviour:
The dark mode and light mode are not set up in the app.
Expected Behaviour:
The colors of the dark mode should be the opposite.
Scaffold background color should be darker.
white text should be dark etc...
On click the entire app mode should change smoothly You can
My approach 😁
(just a suggestion)

use ChangeProviderNotifier
create an abstract class that extends it.
use the methods inside like {set to dark mode}
call notifyListeners
wrap the entire App in a Consumer widget 🚀

Steps to Reproduce:
NO/

Environment:
Emulator: Pixel 6 Pro
Android version: 12
Android SDK: 33

can i do this with riverpod?

It's better to use just provider or changeNotifierProvider. This will avoid having different state management solutions in the project. There is already BLOC for sign-in 😁

ok i will try to do this with provider and in case i am stuck i will update the ticket to help needed

I will be working on this.

@ckelwin Thank you man. Yes go for it. 😁

@JordyHers ready for review. Did a quick sweep to just ensure things works for now. May need a bit more touch up. Only did it for the parent app as there's no option/settings to toggle this in the child app now. Maybe a separate issue for that?

@ckelwin I will fix it up do not worry.


Remote-Access to GUI

is it possible to access the gekko-ui via browser on another pc?
my gekko is running on my ubuntu server, and i want to access via my chrome/firefox from my windows machine.
but if i do i get always

i have looked the config , and tried to set localhost do the hostname of my server?
must i do someting special?

and tried to set localhost do the hostname of my server?

I'm not sure if you looked at the correct config, but you need to change this one , change the host on line 7 to the IP address of your ubuntu server.

yes i have it configured there
const CONFIG = {   api: {     ssl: false,     host: 'myserver',     port: 3000,     path: '/'   } }
added it to my hosts
less /etc/hosts | grep myserver <IP_ADDRESS>	myserver
also my nw adapter is like that
enp1s0    Link encap:Ethernet  HWaddr 84:39:be:62:1f:79             inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
gekko is also showing the IP
`Serving Gekko UI on http://myserver:3000/
`

Very strange, can you follow the following instructions:
https://github.com/askmike/gekko/issues/637#issuecomment-288793793
And make screenshots of the result?

thanks this thread is what i was needing
changing the name direct to my IP was the solution
https://github.com/askmike/gekko/issues/637#issuecomment-288801607
const CONFIG = {   api: {     ssl: false,     host: '<IP_ADDRESS>', //    host: 'myserver',     port: 3000,     path: '/'   } }

great!


not for merge - ruby 31 separate gemspec

Testing further paths in the ruby gemspec separation to troubleshoot our pipeline.

Resolved with #13202


Fix tooltips and hotkey for day-theme

Not controversial: The tooltips were assuming the default text color, making them unreadable in the day theme (dark text on dark background), now tooltips always default to white font, while respecting any custom color (like hotkey TextSpans).
Maybe controversial: replace OSD "name_color" with underline
The current name_color isn't legible in day theme. There's not current design for this, so I went with an underline treatment instead. (If there is a preference to keep the colors, I'll revert once I get a new color from @muzlee1113)
My personal opinions is that we're doing too many different things with color, which gets even more complicated to design/implement as we've introduced day/night themes. Relying on color-neutral differentiation like text styles avoid this. Arguably, "underline" isn't ideal, since we use "underline"  elsewhere to mean "clickable hyperlink".
I actually initially tried using a Bold font instead of an underline decoration, but apparently widgetry doesn't support switching fonts mid-line.
before

after

Almost LGTM -- the bottom bar instantly looks more polished! But the minimap buttons broke:

I don't think the light_popup rename affects this, looking into it...

My personal opinions is that we're doing too many different things with color

Agreed. It's mostly legacy design from before Yuwen or from before text rendering was decent, that we never cleaned up.

I don't think the light_popup rename affects this, looking into it...

Whoops, I think I know what happened there. I'll push up a fix shortly...


some errors

Hi,
Today I download your code then :

in solution explorer I remove two IOS projects
Restore Nuget Packages
clean solution then rebuild

-->  4 errors and 10 warnings
There is also errors in reference.
See the linked images.
Thanks

@dg782 You probably have some problems with nuget cache. Please try clear it then remove all bin , obj & packages folders in your projects folders, clean solution and build.

BTW: You don't need to build all projects. (SpanView is not finished yet). Just the samples or working controls.


text: Export getGlyphImage

Is it possible to export getGlyphImage?
I'm trying to do some advanced text rendering like line-height and letter-spacing. (related: #1760 ) Also, we may want the data of the glyphImage itself, rather than drawing the glyphImage on another image. What do you think?
(ja)
getGlyphBoundsをexportすることは可能ですか？
私はline-heightやletter-spacingのような高度なテキスト描画を行おうと考えています。(related: #1760 ) また、我々はglyphImageを他の画像に描画するのではなく、glyphImage自体のデータが欲しい場合があるかもしれません。いかがでしょうか？

Let me consider this in 2.3.

This might be related to #1871.
What about having a callback or a function for rendering?
text.EachRune("The quick brown fox blah blah blah", face, func(r rune, glyph *ebiten.Image, x, y float64) {
    // (x, y) is a left-upper position where to render the glyph image.
    // You can render glyph as you wish
})

Or,
type GlyphAndPosition struct {
    Glyph *ebiten.Image
    X float64
    Y float64
}

func AppendGlyphsAndPositions(glyphsAndPositions []GlyphAndPosition, text string, face font.Face)

The latter looks like a good idea.
Since what I wanted to do was calculate advanced positions such as text wrapping, I would simply ignore X and Y when calculating the positions myself. I also wanted to include Advance for a more correct calculation.
type Glyph struct {
    Rune rune
    Image *ebiten.Image
    X float64
    Y float64
    Advance fixed.Int26_6
}

You can get the Advance value from your font.Face, right?

Yes, but I thought I could reduce the process of calculating the Advance by using the Advance value cached by Ebiten (although I am not sure of the actual cost).

Makes sense. Let me consider this.

Bounds

type Glyph struct {
    Rune rune
    Image *ebiten.Image
    Advance fixed.Int26_6
    Bounds fixed.Rectangle26_6
}

glyphs = text.AppenGlyphs(nil, "The brown fox develops games with Ebiten", face)
op := &ebiten.DrawImageOptions{}
var x, y fixed.Int26_6
for _, g := range glyphs {
    op.GeoM.Reset()
    op.GeoM.Translate(float64(x + g.Bounds.Min.X)>>6), float64(y + g.Bounds.Min.Y)>>6))
    dst.DrawImage(g.Image, op)
    x += g.Advance
}

Add Position in fixed.Point26_6

type Glyph struct {
    Rune rune
    Image *ebiten.Image
    Advance fixed.Int26_6
    Position Point.Int26 // Position is a already-calculated image position
}

glyphs = text.AppenGlyphs(nil, "The brown fox develops games with Ebiten", face)
op := &ebiten.DrawImageOptions{}
var x, y fixed.Int26_6
for _, g := range glyphs {
    op.GeoM.Reset()
    op.GeoM.Translate(float64(x + g.PositionX)>>6), float64(y + g.Position.Y)>>6))
    dst.DrawImage(g.Image, op)
}

Position in float64

type Glyph struct {
    Rune rune
    Image *ebiten.Image
    Advance fixed.Int26_6
    X float64
    Y float64
}

glyphs = text.AppenGlyphs(nil, "The brown fox develops games with Ebiten", face)
op := &ebiten.DrawImageOptions{}
var x, y float64
for _, g := range glyphs {
    op.GeoM.Reset()
    op.GeoM.Translate(x + g.X), float64(y + g.Y)
    dst.DrawImage(g.Image, op)
}

Hmm, perhaps can all Int26_6s be substituted with float64 for convenience?

I realized that converting an Int26_6 value to float64 that can render glyphs correctly is pretty hard (and I'm not quite sure the current implementation in drawGlyph is correct). I think I'll provide an API with float64 for positions.

Hmm, perhaps can all Int26_6s be substituted with float64 for convenience?

Even for 'advance' values? Hmm

Even for 'advance' values? Hmm

Yes, in almost all cases, replacing Advance with float64 appears to be fine.

Sure, probably float64 would make sense for consistency.
I'd like to know more about your purpose to use 'advance' values in the first place. Could you explain it?
BTW you can get 'advance' value like this even if :
var prevX float64
for i, g := range glyphs {
    if i > 0 {
        advance := g.X - prevX
        // Use advance
    }
    prevX = g.X
}

The current implementation's example on my local machine is like this:
               const x, y = 240, 400
               op := &ebiten.DrawImageOptions{}
               for i, gl := range g.glyphs {
                       op.GeoM.Reset()
                       op.GeoM.Translate(x, y)
                       op.GeoM.Translate(gl.X, gl.Y)
                       op.ColorM.Reset()
                       r := 1.0
                       if i%3 == 0 {
                               r = 0.5
                       }
                       g := 1.0
                       if i%3 == 1 {
                               g = 0.5
                       }
                       b := 1.0
                       if i%3 == 2 {
                               b = 0.5
                       }
                       op.ColorM.Scale(r, g, b, 1)
                       screen.DrawImage(gl.Image, op)
               }

@eihigh and I discussed on Discord and concluded that Advance is not needed so far. Let's revisit this later.


Use HTML in tooltips

I would like to add some markup (at least some <br />), but HTML is escaped. Any ideas on how I could achieve that?
Thanks!

have you resolved that?

Unfortunately, nope :(

Fork the project and change following in BoxComponent:
From: template: '{{ text }}',
To: tempalte: '<div [innerHtml]="text">'

This project seeemed not maintaining, so I created forked project which supports HTML content
https://github.com/darron1217/ionic-tooltips
npm i --save ionic-tooltips-html

can you show some demo if it works? showing html content in tooltip?


Hotfix Develop - Improve structure of variable-name-format and fix how regexps are handled

See #281 For a discussion of the fixes that are made here.

convention-explanation has a default value
code is structured more sensibly
RegExps are handled correctly

DCO 1.1 Signed-off-by: Ben Rothman<EMAIL_ADDRESS>

rebased and force-pushed (no messy merge commits :smile:)


[Bug] query result is wrong when aggregate without groupby

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
0.15
What's Wrong?
table: CREATE TABLE test (   date_time datetime NOT NULL COMMENT "",   plan_id bigint(20) NULL COMMENT "",   talent_id varchar(40) NULL COMMENT "",   order_id bigint(20) NULL COMMENT "",   id bigint(20) NULL COMMENT "",   li_order_line bigint(20) SUM NULL COMMENT "",   yg_cos_price bigint(20) SUM NULL COMMENT "",   yg_cos_fee bigint(20) SUM NULL COMMENT "",   fi_order_line bigint(20) SUM NULL COMMENT "",   cos_price bigint(20) SUM NULL COMMENT "",   cos_fee bigint(20) SUM NULL COMMENT "" ) ENGINE=OLAP AGGREGATE KEY(date_time, plan_id, talent_id, order_id, id) COMMENT "OLAP" PARTITION BY RANGE(date_time) (PARTITION p202110 VALUES [('0000-01-01 00:00:00'), ('2021-11-01 00:00:00')), PARTITION p202111 VALUES [('2021-11-01 00:00:00'), ('2021-12-01 00:00:00')), PARTITION p202112 VALUES [('2021-12-01 00:00:00'), ('2022-01-01 00:00:00')), PARTITION p202201 VALUES [('2022-01-01 00:00:00'), ('2022-02-01 00:00:00'))) DISTRIBUTED BY HASH(plan_id) BUCKETS 16 PROPERTIES ( "replication_num" = "3", "in_memory" = "false", "storage_format" = "V2" );
when doing query like below:
select sum(li_order_line) from bw_5 where plan_id=28733373421;
the result is:
+----------------------+
| sum(li_order_line) |
+----------------------+
|                 NULL |
+----------------------+
1 row in set (0.12 sec)
What You Expected?
Empty set
How to Reproduce?
table: CREATE TABLE test (   date_time datetime NOT NULL COMMENT "",   plan_id bigint(20) NULL COMMENT "",   talent_id varchar(40) NULL COMMENT "",   order_id bigint(20) NULL COMMENT "",   id bigint(20) NULL COMMENT "",   li_order_line bigint(20) SUM NULL COMMENT "",   yg_cos_price bigint(20) SUM NULL COMMENT "",   yg_cos_fee bigint(20) SUM NULL COMMENT "",   fi_order_line bigint(20) SUM NULL COMMENT "",   cos_price bigint(20) SUM NULL COMMENT "",   cos_fee bigint(20) SUM NULL COMMENT "" ) ENGINE=OLAP AGGREGATE KEY(date_time, plan_id, talent_id, order_id, id) COMMENT "OLAP" PARTITION BY RANGE(date_time) (PARTITION p202110 VALUES [('0000-01-01 00:00:00'), ('2021-11-01 00:00:00')), PARTITION p202111 VALUES [('2021-11-01 00:00:00'), ('2021-12-01 00:00:00')), PARTITION p202112 VALUES [('2021-12-01 00:00:00'), ('2022-01-01 00:00:00')), PARTITION p202201 VALUES [('2022-01-01 00:00:00'), ('2022-02-01 00:00:00'))) DISTRIBUTED BY HASH(plan_id) BUCKETS 16 PROPERTIES ( "replication_num" = "3", "in_memory" = "false", "storage_format" = "V2" );
when doing query like below:
select sum(li_order_line) from bw_5 where plan_id=28733373421;
the result is:
+----------------------+
| sum(li_order_line) |
+----------------------+
|                 NULL |
+----------------------+
1 row in set (0.12 sec)
Anything Else?
nop
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi @GoGoWen , If it's convenient, could you connect me in wechat(morningman-cmy), some details need to discuss.

close issue because the behavior is same in mysql.


style: add width and max width for created at in contributor-profile-tab

Description

What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[x] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents
Closes #1410

Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

Hey @NsdHSO, Thanks for this fix. Will you include before and after screenshots in this PR to help speed up the review process?

Hey @NsdHSO, Thanks for this fix. Will you include before and after screenshots in this PR to help speed up the review process?

Hey, I updated the description of the PR


make the list-agg columns conditionally tested

This is a:

[x] bug fix PR with no breaking changes
[ ] new functionality

Link to Issue
DBX tests are failing in main because there is no support on Databricks for an order_by clause in the dbt.listagg macro, so we can't guarantee the order of the array of values in models where we report a list of violations within a single record.
Example:
 dbt show -s fct_source_fanout -t databricks --output json
14:25:37  Running with dbt=1.8.8
14:25:38  Found 70 models, 72 data tests, 28 seeds, 8 sources, 1 exposure, 2 metrics, 779 macros, 1 semantic model
14:25:41  {
  "node": "fct_source_fanout",
  "show": [
    {
      "parent": "source_1.table_2",
      "model_children": "stg_model_2, int_model_4"
    },
    {
      "parent": "source_1.table_1",
      "model_children": "stg_model_2, stg_model_1"
    }
  ]
}
(dpe)
dbt-project-evaluator/integration_tests on  dbx-test-fixes via (dpe) on ☁  dev-admin (us-east-1) on ☁   took 5s
❯ dbt show -s test_fct_source_fanout -t databricks --output json
14:25:47  Running with dbt=1.8.8
14:25:48  Found 70 models, 72 data tests, 28 seeds, 8 sources, 1 exposure, 2 metrics, 779 macros, 1 semantic model
14:25:55  {
  "node": "test_fct_source_fanout",
  "show": [
    {
      "parent": "source_1.table_2",
      "model_children": "int_model_4, stg_model_2"
    },
    {
      "parent": "source_1.table_1",
      "model_children": "stg_model_1, stg_model_2"
    }
  ]
}

You can see the values are reversed, but identical.
This PR makes those columns conditional in our test configuration so that they are tested for all other adapters except DBX.
Since CI is off, i am running these tests locally!
Integration Test Screenshot

Checklist

[x] I have verified that these changes work locally on the following warehouses (Note: it's okay if you do not have access to all warehouses, this helps us understand what has been covered)

[ ] BigQuery
[x] Postgres
[x] Redshift
[x] Snowflake
[x] Databricks
[x] DuckDB
[ ] Trino/Starburst

[ ] I have updated the README.md (if applicable)
[ ] I have added tests & descriptions to my models (and macros if applicable)

@b-per i did not test on trino bc i don't have it set up, and my BQ set up appears to be busted for some local issue -- i do not feel like this is a risky PR but lemme know if you want me to continue with manual tests


[stable/prometheus-operator] Prometheus unable to monitor KubeControllerManager and KubeScheduler

Describe the bug
I installed the stable/prometheus-operator chart and it installed correctly. I configured SMTP settings for AlertManager and now I'm getting several alerts that KubeScheduler and KubeControllerManager is down.
Labelsalertname = KubeControllerManagerDown
prometheus = monitoring/spw-test-cluster-prometheu-prometheus
severity = critical
Annotations
message = KubeControllerManager has disappeared from Prometheus target discovery.
runbook_url = https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecontrollermanagerdownSource
--
Labelsalertname = KubeSchedulerDown
prometheus = monitoring/spw-test-cluster-prometheu-prometheus
severity = critical
Annotations
message = KubeScheduler has disappeared from Prometheus target discovery.
runbook_url = https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeschedulerdownSource

Services in kube-system namespace:
 > kubectl get services  -n kube-system
NAME                                                 TYPE           CLUSTER-IP      EXTERNAL-IP                                                                 PORT(S)                      AGE
kube-dns                                             ClusterIP      <IP_ADDRESS>     <none>                                                                      53/UDP,53/TCP,9153/TCP       248d
kubelet                                              ClusterIP      None            <none>                                                                      10250/TCP                    249d
kubernetes-dashboard                                 LoadBalancer   <IP_ADDRESS>   <url>   80:32015/TCP,443:30815/TCP   124d
metrics-server                                       ClusterIP      <IP_ADDRESS>   <none>                                                                      443/TCP                      238d
spw-monitor-prometheus-ope-kubelet                   ClusterIP      None            <none>                                                                      10250/TCP                    12d
spw-test-cluster-prometheu-coredns                   ClusterIP      None            <none>                                                                      9153/TCP                     5d20h
spw-test-cluster-prometheu-kube-controller-manager   ClusterIP      None            <none>                                                                      10252/TCP                    5d20h
spw-test-cluster-prometheu-kube-etcd                 ClusterIP      None            <none>                                                                      2379/TCP                     5d20h
spw-test-cluster-prometheu-kube-proxy                ClusterIP      None            <none>                                                                      10249/TCP                    5d20h
spw-test-cluster-prometheu-kube-scheduler            ClusterIP      None            <none>                                                                      10251/TCP                    5d20h
spw-test-cluster-prometheu-kubelet                   ClusterIP      None            <none>                                                                      10250/TCP                    5d20h
test-prom-prometheus-opera-kubelet                   ClusterIP      None            <none>                                                                      10250/TCP                    13d
tiller-deploy                                        ClusterIP      <IP_ADDRESS>    <none>                                                                      44134/TCP                    34d

Endpoints:
> kubectl get ep -n kube-system
NAME                                                 TYPE           CLUSTER-IP      EXTERNAL-IP                                                                 PORT(S)                      AGE
kube-dns                                             ClusterIP      <IP_ADDRESS>     <none>                                                                      53/UDP,53/TCP,9153/TCP       248d
kubelet                                              ClusterIP      None            <none>                                                                      10250/TCP                    249d
kubernetes-dashboard                                 LoadBalancer   <IP_ADDRESS>   <url>   80:32015/TCP,443:30815/TCP   124d
metrics-server                                       ClusterIP      <IP_ADDRESS>   <none>                                                                      443/TCP                      238d
spw-monitor-prometheus-ope-kubelet                   ClusterIP      None            <none>                                                                      10250/TCP                    12d
spw-test-cluster-prometheu-coredns                   ClusterIP      None            <none>                                                                      9153/TCP                     5d20h
spw-test-cluster-prometheu-kube-controller-manager   ClusterIP      None            <none>                                                                      10252/TCP                    5d20h
spw-test-cluster-prometheu-kube-etcd                 ClusterIP      None            <none>                                                                      2379/TCP                     5d20h
spw-test-cluster-prometheu-kube-proxy                ClusterIP      None            <none>                                                                      10249/TCP                    5d20h
spw-test-cluster-prometheu-kube-scheduler            ClusterIP      None            <none>                                                                      10251/TCP                    5d20h
spw-test-cluster-prometheu-kubelet                   ClusterIP      None            <none>                                                                      10250/TCP                    5d20h
test-prom-prometheus-opera-kubelet                   ClusterIP      None            <none>                                                                      10250/TCP                    13d
tiller-deploy                                        ClusterIP      <IP_ADDRESS>    <none>

I'm suspecting that this problem is occurring because of the lack of IP addresses in the kube-controller-manager and kube-scheduler endpoionts
Version of Helm and Kubernetes:
Helm 2.14.3
Kubernetes 1.13
Which chart:
stable/prometheus-operator
What happened:
Getting repeated alerts from AlertManager that KubeScheduler and KubeControllerManager are down
What you expected to happen:
Not get the above alerts since KubeScheduler and KubeControllerManager seem to be operational
How to reproduce it (as minimally and precisely as possible):
Just install the stable/prometheus chart, configure SMTP for AlertManager and you'll start receiving the alerts
Anything else we need to know:

This depends on your cluster configuration. Please configure the servicemonitors for the specific components to scrape them correctly, or disable the rules for those components


Replace --use-scoped-token with --no-scoped-token

Do we even want to support this? Is this just for internal testing to be able to test with a coarser token?

I think @cole-h wanted it for testing(?), but then yesterday we tried to use it to get out of a bind where the closure was pushed to to slice for flake A, and the flake pushed to flake B. It didn't work.

do we know what didn't work? I don't see how just inverting the flag "fixes" it if something (else?) is broken.

The thing that's broken here is it appears there's no way to turn this from false to true with the flag (i.e. you can't pass --use-scoped-token false to disable it -- we suggested trying this, and it didn't work). Inverting it means you can at least pass --no-scoped-token to disable the default of "yes, use a scoped token".

@cole-h thanks, yeah, Cole and I chatted on a call and came around to it. He suggested using an enum and not a flag, which I agreed with, so I updated the PR.


Ability to GUI-search sandbox

Create a new path (probably hidden) which allows using the search GUI against api-sandbox.
https://support.pmp.io/sandboxsearch?advanced=1&profile=story
Or something like that.

Done!


[engine] Expose SkPaint::getTextPath() to Flutter

Use case
We can do almost anything with Skia (and CanvasKit on Web). One small step for Skia but one giant leap for mankind would be to be able to convert text graphics to path, and later to SVG, either as a complete file or as SVG data describing any vector graphics. The missing step is already in Skia, it just needs to be exposed:

SkPaint.getTextPath()
SkPath.toSVGString()

Beneficiaries would be:

any app that uses the outline of a text to create an effect, eg. a clipping path or a fancy border;
apps that allow the user to create graphical content and need to store that content for later re-use or upload it to create either digital or traditional products using the graphical content (print, press, etc).

Proposal
Both are readily available in Skia, actually used inside, just needed to expose it.

@dnfield As promised, please, let's discuss what it takes.

SkPaint.getTextPath SGTM. Not sure about SkPath.toSVGString as Flutter does not support SVG natively. Maybe the SVG package can generate the SVG string from the text path.  I don't see a way to iterate over path operations so we may need to expose that as well.
cc @Hixie

Exposing toSVGString was discussed previously here: https://github.com/flutter/engine/pull/4784
It's generally preferable that we keep Path as opaque, and let callers who create paths do their own tracking on how the path is constructed. That way, we don't get people depending on the implementation details of the path and getting broken if/when Skia optimizes things.

Although with that said, if we expose getTextPath the caller won't have any idea how the path was created.
However, I'm slightly skeptical of the utility of getTextPath, particularly how that would work with font faces and other font related settings. It may be that there's a new/better method for that in the SkShaper related API.. @jason-simmons may know, or @GaryQian.

One last thought on this (sorry for multiple notifications here!) - I think we would have a better case for making some method to visit the commands of a path (e.g. exposing SkPath::Iter) rather than exposing the SVG code which just uses that to create an SVG string. But with that said, it would be preferable to not expose that API unless we have some really good reason to (e.g. we have some API surface that returns a path which a consumer has no way to track what verbs/points were used to create it).

Exposing toSVGString was discussed previously here: flutter/engine#4784

Hmm, my concerns were the same echoed by @Hixie in that comment thread. Thinking about this some more, SkPath.toSVGString seems like separate feature request. If the intent is to use text paths for the first use case in the proposal, SkPaint.getTextPath should be sufficient. If we added path iteration, the second use case can be unlocked as well.

I think we would have a better case for making some method to visit the commands of a path

Agreed.

it would be preferable to not expose that API unless we have some really good reason to

Right. This would be addressing the second use case in the proposal.
I am fine with a qualified version of this proposal that exposes just SkPaint::getTextPath to unlock the first use-case. I don't believe this is going to significantly add to engine size. If we want to also address the second use-case, I suggest we go with path iteration instead of toSVGPath and leave the rest to a package. In any case, for the reasons listed in the linked issues, I'd prefer keeping SVG concerns out of the engine.

I don't insist on path-to-SVG being directly in the engine iff the path can be iterated and anybody can convert it into whatever representation they like. The trouble is that there is no path iteration and I just though that exposing toSVGString() that's already there would be much simpler than adding iteration.
I tried to come up with a broader use case in the proposal than just my own. Mine specifically is that the user adds text to their artwork and I need to upload that artwork to a server in a way that allows me to reproduce that artwork in a press environment, meaning that text doesn't need to be converted to non-vector formats because:

it reduces quality (significantly),
it increases the time needed to create the uploaded data,
it increases the amount of data to be uploaded (significantly)

This is doubly impossible now. I can't get that the path describing the text is and I can't convert it to any format I need.
And, as the code itself is directly available and used in Skia, just adding the few functions to bridge the gap between Skia and Flutter wouldn't actually mean "adding new code that might not be needed".

One more thing, it was somewhere in the back of my head but not immediately avaiable. toSVGString() is currently exposed but only in Flutter Web. This is from third_party/skia/modules/canvaskit/externs.js of the engine source:
SkPath: {
  // public API (from C++ and JS bindings)
  MakeFromCmds: function() {},
  MakeFromVerbsPointsWeights: function() {},
  computeTightBounds: function() {},
  contains: function() {},
  ...
  toSVGString: function() {},

Probably to serve tests, actually, but still it's there, takes whatever space it takes. Only that it's not available from the framework, so I can't use it from cross-platform code. So, it's not a solution in itself but it shows that you already saw some need for it.

There are also glyphs without paths. For example on Android the default emoji font is Noto Color Emoji (CBDT) which does not have any paths (it's bitmaps). The font Apple Color Emoji (sbix) is also all bitmaps. Glyphs in color fonts like Segoe UI Emoji do have paths... but you'll get the non-color paths currently (and Skia doesn't currently have an API to get them, partially because the format itself is currently being modified). Note that SkFont::getPath and SkFont::getPaths will produce a nullptr SkPath* for glyphs without paths (to distinguish them from glyphs with empty paths, like spaces).

@deakjahn - the fact that Skia globally exports something on a particular modality in web doesn't quite mean that Flutter supports it. We make no guarnatees about that API, and using it, would be rather difficult to do from a Flutter application.
Is there a reason that for your use case, you can't just have the text itself be part of the vectorized format you send to the server, along with font face/family/size/etc. information? That would avoid the problems that @bungeman is discussing I assume.

Not really and this is not a Flutter-specific issue. If you don't upload the actual results but the data necessary to reconsruct it, you open a gigantic can of worms. Basically, you never can be sure that what you re-create up there is the same the user saw in the client. If there are any (subtle or not) differences in font and text handling between the platforms you use, this is the best way to make sure there will be tons of user complaints and refused products.
Besides, if I even think about allowing the users to use their own installed fonts, it becomes physically impossible.

What's your expected behavior if the user types in a character and the font doesn't support getting that character as a path?
What do you plan to do about subtle differences between font rendering on iOS vs Android vs Desktop vs web?

Getting any error message along the lines Bungeman suggested would be just fine. Up to the point of the function throwing an exception, I could live with that, too.

Nothing, this is a non-issue. The user uses whatever app they decide to use, create the artwork, upload it and done. That's the point. If I send text-font-size info, I need to consider those differences. If I send the resulting curve, not the text, there is no possibility of difference any more.

But, let me add: my use case is just my use case, of course, it's not universal. However, the requirement to be able to iterate a path is general. I simply can't recall any graphics engine I ever used in my life that didn't allow it :-). In Flutter, you're allowed not only to create paths but to transform them and combine them using different modes (union, intersect, difference, etc). This means that, necessarily and inevitably, there will be paths that the user doesn't know how were created in the first place because they weren't created just by manually adding segments. This means that in order to manipulate these paths (rather than just passing them to display functions that use them) in any shape or form, it's necessary to iterate them.
So, mentioning toSVGString() was just an attempt at a shortcut that I thought could be supported very easily. But a proper iteration (without complex types returned, just a list of a simple structs with an enum for the verb and a double array for the co-ordinates) would solve all present and future problems. I Skia ever adds a new segment type (I kinda doubt it because these very curves are with us since the early days of PostScript or even before), it'd mean just one more item in the enum.

If you transform or combine paths, you should be able to apply the same logic to the inputs to them. And right now, it's only possible to create a path from user/developer input.
I'm really concerned about exposing an API that would throw exceptions that a developer is unlikely to think about or test for when using it - it all just works until the user's installed font (which was selected say as a fallback) fails to provide text exactly as seen.
Your idea of having the paths to describe the text isn't bad at all, it's just that I'm not sure I see how this API would be something Flutter could reasonably support for even that purpose.

Transformation is straightforward, yes, but intersecting paths is definitely not. But I only brought it up because it invalidates the idea of "it's only possible to create a path from user/developer input". No, a path intersection, while currently possible, is definitely not something the average user could recreate from the input paths. Just imagine calculating the actual intersection point of two Bézier curves. It's already impemented Skia, of course, but deifnitely not something I would recommend to anybody to re-implement without very good reason. The last time I needed something similar because using a full graphics engine was out of question (it was an embedded system) I was able to get away with approximating Bézier with straight lines but even then it wasn't fun. :-)

Well, this a little bit similar to "let's not make it possible to read files because somebody might be trying to open a non-existing one some day" ;-)). OK, stretching it a bit but operations throwing exceptions are so ubiquitous that I really don't think that's a very good argument.

Btw, in Java, you can obtain the result in the GeneralPath object which can be then iterated, see https://stackoverflow.com/questions/29708145/how-to-get-segments-that-make-up-a-general-path

For my current use case I need to get the text shape as Path(), combine it with other paths (PathOperation.union), and then render the result in my CustomPainter (canvas.drawPath).
Why so complicated? Because of the shadow effect. It needs to be rendered for the entire composition.


Mute all breakpoints instead of clear them all

Is it possible to have a MuteAll similar to the ClearAll behavior but without removing them from persistence ?

I didn't find this feature, that disables a breakpoint rather than clearing it, in nvim-dap's document.
But it is still possible. For example, removing all breakpoints and keeping their information in memory which allows us to load them in the future.
Considering I have no enough time for this plugin currently, relative PRs are welcome.


ServerMigration_CAF_DevOps_ProjectTaskList

Hello everyone,
i have deployed the following template:

ServerMigration_CAF_DevOps_ProjectTaskList
SQL Migration

but the content of the templates is the same for both.
The content is always that of "SQL migration".
Is one thing intentional or an oversight?
Thank you,
Emanuele
AB#3745

Hi @rokuonline, Thank you for posting your question, we will check with Template Author and get back to you.
Thanks!

Hi @rokuonline, Thank you for posting your question, we will check with Template Author and get back to you.
Thanks!

Hi @aksh-h ,
many thanks.
i await news :-)

@rokuonline have just checked, it appears that this is an oversight and we have published the same source for both. @aksh-h  i will send the correct zip over to you.


Strip config text before checking the format type

Otherwise, if the configuration is loaded and
the first line is blank, load config will fail and
discards the configuration even though everything
else was correct.
<!-- Make sure you have read http://napalm.readthedocs.io/en/latest/contributing/index.html --!>

Coverage remained the same at 83.594% when pulling bee64b5fc51d1d9c0174c5ae9da353291c3aecd6 on cfg-set-strip into b019279c9687d65068636f80e00722a8168d5411 on develop.


decodeData() isn't call when using a direct response

We have the following routes config for an Envoy instance meant to act as /dev/null:
              "route_config": {
                "name": "routes",
                "virtual_hosts": [
                  {
                    "domains": [
                      "*"
                    ],
                    "name": "test",
                    "routes": [
                      {
                        "direct_response": {
                          "status": 200
                        },
                        "match": {
                          "prefix": "/"
                        }
                      }
                    ]
                  }
                ]
              },

Along with the above, we also have a filter that implements decodeHeaders() and decodeData() to analyze the incoming requests. However, we only see decodeHeaders() being called:
[2020-12-08 00:36:34.568][34][debug][filter] [pinterest/filters/http/test/filter.cc:111] TestFilter::decodeHeaders
[2020-12-08 00:36:34.568][34][debug][http] [external/envoy/source/common/http/filter_manager.cc:783] [C134124][S4840569554702352551] Sending local reply with details direct_response
[2020-12-08 00:36:34.568][34][debug][filter] [pinterest/filters/http/test/filter.cc:229] TestFilter::encodeHeaders

Possible options to work around this:
a) Fix the way we handle direct responses to ensure decodeData() is called too (currently it apparently emits an early local response after decodeHeaders() has been called and then stops the filter chain)
b) Add docs stating that if you want to do the above, you should setup another listener with a direct response and use that as the upstream for the first (or some other similar trick, which sounds too convoluted tbh)
Thoughts?
cc: @alyssawilk @mattklein123
Somewhat related to #13737.

Just one check before I dig into this, it looks like you didn't have a direct response body configured.  Have you tried adding that and seeing if it fixes your problem?  At first glance I wouldn't expect decodeData to be called for a headers only response.

Ah! Let me try that.

Do you mean encodeData()? I'm confused.

Do you mean encodeData()? I'm confused.

you == Alyssa or me?
I meant decodeData(), per the above log excerpt. But now that you mention this, I actually not sure how adding a body response to DR would trigger decodeData() into running....

yeah, I had encode data and decode swapped, sorry, sigh.   Let me actually take a look

Yeah I'm asking you. :)
I'm confused about the issue you are reporting. Why would decodeData run here? I wouldn't expect encodeData to run either without a body.

Yeah I'm asking you. :)
I'm confused about the issue you are reporting. Why would decodeData run here? I wouldn't expect encodeData to run either without a body.

If it's a POST request and I have a filter running that inspects the body... why would that not run just because it matches a route that is configured to have a direct response? That sounds counter intuitive no?

Yeah, so to make things clear,
when the router decodes the header, it immediately looks to see what the action is.  If there's a direct response configured, it immediately starts sending the response, and calls StopIteration on the request pipeline.   It's basically treated like a local reply, where we assume it's not worth processing the POST body.  If you folks have a need for the body to pass through the filter chain, that'd take some work and probably need to be a config option since halting processing makes sense for the common case.

Yeah I'm asking you. :)
I'm confused about the issue you are reporting. Why would decodeData run here? I wouldn't expect encodeData to run either without a body.

If it's a POST request and I have a filter running that inspects the body... why would that not run just because it matches a route that is configured to have a direct response? That sounds counter intuitive no?

Ok, maybe not that counter intuitive given the body is going to /dev/null.... Unless you have a filter that's doing inspection stuff (think a WAF).

Yeah, so to make things clear,
when the router decodes the header, it immediately looks to see what the action is. If there's a direct response configured, it immediately starts sending the response, and calls StopIteration on the request pipeline. It's basically treated like a local reply, where we assume it's not worth processing the POST body. If you folks have a need for the body to pass through the filter chain, that'd take some work and probably need to be a config option since halting processing makes sense for the common case.

We do have a use case... but I am starting to think it might be a bit too contrived and maybe we shouldn't be using DR for it 🤔 .

 You may or may not be able to do that in your scenario.

That's great, let me try that. Thanks!

Adding the buffer filter did not do make decodeData() run....:
             {
              "name": "envoy.filters.http.buffer",
              "typed_config": {
               "@type": "type.googleapis.com/envoy.config.filter.http.buffer.v2.Buffer",
               "max_request_bytes": 209715200
              }
             },
             {
              "name": "pinterest.filters.http.test",
              "typed_config": {
               "@type": "type.googleapis.com/pinterest.http.test.TestFilter",
              }
             },
             {
              "name": "envoy.filters.http.router"
             }

Oh hmm, you are right, sorry. The router will respond right away even if the data is buffered.
You could potentially buffer the response in your filter if the request is not complete?

yeah, I think you'd have to subclass the buffer filter, and block the headers from going to the router until the buffer filter got end stream.  As soon as the router sees the headers it's all over :-)

Alright we went with forwarding to a local process that acts as /dev/null for HTTP. Thanks nonetheless!
P.S.: an envoy.router filter replacement but that acts as /dev/null could be fun/useful...


update

Hello @arytontediarjo! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file manuscript/synapseformation/create_project.py:

Line 17:1: E402 module level import not at top of file
Line 18:1: E402 module level import not at top of file
Line 19:1: E402 module level import not at top of file
Line 20:1: E402 module level import not at top of file
Line 21:1: E402 module level import not at top of file
Line 22:1: E402 module level import not at top of file
Line 24:1: E402 module level import not at top of file
Line 25:1: E402 module level import not at top of file
Line 26:1: E402 module level import not at top of file
Line 27:1: E402 module level import not at top of file
Line 46:80: E501 line too long (93 > 79 characters)
Line 141:80: E501 line too long (81 > 79 characters)
Line 153:1: E303 too many blank lines (3)


Made throttle messages translatable.

This pull request fixes throttled request messages not being able to get translated.

We can't do this because the __ function exists only in the foundation package, which is not a dependency of the router (and can never be).

Also, I would consider it a bad practice to translate exception messages. Instead, translate them in the presentation layer.

I agree runtime exception shouldn't be translated, on the other hand ThrottleRequestsException used to display the value on the frontend, so IMO it should be translatable.


Fix returned JSON

This fixes #8 by returning JSON-serializable dict. Previously AWS failed to serialize types like datetime and UUID.

@elichad Take a look, there was a small issue after sending email from the worker.


Etcher causes: "Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes"

Latest .deb
Ubuntu GNOME 17.04
Ubuntu GNOME 17.04

It flashes successfully but GParted is unable to properly read it as in the title. It causes this issue: https://askubuntu.com/questions/914983/physical-block-size-is-2048-bytes-linux-says-it-is-512-bytes
Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.

This is nothing to do with Etcher, but is a side-effect of the particular image you're flashing, see https://github.com/resin-io/etcher/blob/master/docs/USER-DOCUMENTATION.md#flashing-ubuntu-isos


Feature Suggestion: Sub Configuration for Entry Points

Do you want to request a feature or report a bug?
Feature.
What is the current behavior?
Webpack configuration happens per bundle, this means it's on a per-output basis.
What is the expected behavior?
Configuration would be way more flexible if it provided an additional per-entry configuration.
If this is a feature request, what is motivation or use case for changing the behavior?
My Use Case
I'm working with a CMS at my job. It's suitable for the needs of our clients but it lacks some modern features including asset bundling. So I started working on kind of a webpack-based asset pipeline for that CMS.
The CMS makes use of third-party plugins. Those might bring their own assets so I want to provide a way to bundle those together with the CMS' "main assets".
Giving each plugin its own entry point is easy. But those plugins can get quite big. They may be small applications themselves and might require custom aspects of configuration e.g. their own aliases or loaders.
A plugin might want to define some custom aliases and those should be usable from inside the plugin while not affecting other CMS plugins for obvious reasons—they are probably created by other developers who are not aware of my plugin. These devs could not rely on webpack working in a certain way if my plugin-created configuration could "escape" its scope.
Currently this kind of encapsulated behaviour is not possible in webpack.
The Essence
This mostly boils down to one aspect: One configuration per output makes the bundler only partially suitable for projects where you don't have full control over the assets' source code.
Being able to add per-entry configurations would make webpack much more useful in very loosely coupled projects with independent (and agnostic-of-each-other) developers.
So that would essentially mean to be able to mix multiple webpack configurations into a single output.
Implementation
A naïve approach to adding this idea to the configuration API would be to allow the values of the entry object to be themselves objects:
// To be honest, this looks awful #pyramidofdeath
{
  entry: {
    myEntry: {
      files: [ 'foo.js', 'bar.js' ],
      config: {
        resolve: {
          alias: {
            myAlias: '/actual/path'
          }
        }
      }
    }
  }
}

Let's for now agree on calling each of these embedded config objects a "per-entry configuration" while the surrounding object is the "main configuration".
Requirements and Ideas
Per-entry configurations

should be able to use a shared set of modules.
Multiple entries might access the same modules. That's the main reason why the simplest approach for my case wouldn't work: Bundling the CMS plugins individually and then bundle the resulting bundles together would mean a huge waste by using duplicate code.

should support a sensible subset of the webpack configuration
Aliases, loaders and resolution roots would be useful while having an entry or output option would not make too much sense.

should extend the main confguration in the spirit of @bebraw's very own webpack-merge.
Existing aliases may be extended by custom ones, maybe even overridden.

may only apply to their respective entry and neither affect the main configuration nor other entry configurations
This means overriding main configuration options in an entry configuration will not be applied to anything outside the entry.

Reality Check
While this would (as shown above) not need too extensive changes in the configuration API it would certainly be some immense work under the hood (which @TheLarkInn confirmed when I mentioned my thoughts on twitter). Just to mention that I'm aware of this being a heavyweight suggestion.
It would also bring a load of non-trivial conceptual work e.g. deciding what configuration would be applied to an asset that is used from multiple entry points.
I'm curious to hear about your thoughts on this.

I'm wondering if you're aware of multi compile mode and if it will fit your needs. Instead returning an object you can return an array of objects.

I'm aware of multi compile mode but as far as I can tell it wouldn't fit my requirement of a single joint output.

Since this is a feature request with no feedback from the webpack team so far, I think/hope it's appropriate to bump this for automatic closing prevention.

My use case would be in i18n of my application. I'd like to create an entrypoint per language, then per entrypoint supply a different alias to something like localizedStrings which contains the strings for that language.
{
  entry: {
    './app/en.js': {
      resolve: {
        alias: {
          localizedStrings: '/path/to/locale/en.json'
        }
      }
    },
    './app/fr.js': {
      resolve: {
        alias: {
          localizedStrings: '/path/to/locale/fr.json'
        }
      }
    },
    './app/es.js': {
      resolve: {
        alias: {
          localizedStrings: '/path/to/locale/es.json'
        }
      }
    }
  }
}


Remove () from usize().

Parentheses after primitive types will be prohibited in the future by rust-lang/rust#42238. This patch will remove the parentheses.

I don't even know why those are there. Thanks!


Visual bug. Random . at Send dialog.

Describe the bug
Random dot "." on top of "Recipient" word at Send dialog.
Screenshots

Browser (please complete the following information):

OS: Ubuntu
Browser FireFox

This is no bug, but an enhancement!

Fixed in #23


About point cloud forecasting in paper table2

ViDAR-RN101-nus-1-8-3future

In the paper, the cd of the input 3s historical frame at CD@1s, CD@2s, and CD@3s does not seem to be consistent with the parameters you gave in the log.

It can be found that the table representing ViDAR-RN101-nus-1-8-3future in the logs and the table on github are consistent

Use the whole nuScenes dataset to reproduce the reported results. The reported only use 12.5% data in nuScenes.

Hello, I got a checkpoint according to ./configs/vidar_pretrain/nusc_fullset/vidar_full_nusc_1future.py, but when I evaluate according to this checkpoint, the final result is only the first frame. What's the situation?

The table corresponding to the 1s time horizons input of the entire data set in the paper is this

1 future in 1future_config means we only predict 1 future without future decoder. You can refer to the checkpoint for more detail.
The 1s history horizon in the paper refers to the model only uses 2 history frames, which refers to this line. 1s history horizon means queue_length=2.
Still, to reproduce Table 2, please modify the 3 future configs according to (./configs/vidar_pretrain/nusc_fullset/vidar_full_nusc_1future.py), using the whole datasets instead.


chore: update copyright to 2020

What is the current behavior? (You can also link to an open issue here)
Update copyright for all components classes.
Copyright year were inconsistent tried to align to 2006-2020.
What is the new behavior?
New 2020 year is used
Please check if the PR fulfills these requirements

[x] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[ ] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

Pull request test result: failure :x: