DOCUMENTATION: List of supported devices

I can not find a list of supported devices to check if the WH27S or WH20S is supported.
You mention in the readme.md water heater but I am not sure if you mean these big air 2 water heatpumps with 270 Liter of water or rather water kettle.
I also miss a list of key features (at least from those who have these devices in use) what is supported or not cause there are some essential things missing in these 2 devices, the SG Ready (power) input to use surplus power if you feed into the grid.
Would be nice to have some screenshots from users about the key features they are using like you washing machine card and the Koch or Buntwäsche that was running. Shows a lot and looks really usefull but a few others might be usefull too where I mean that users should simply send such screenshots or feature lists.
Right now I am on the verge of buying a WH20S but would love to know before buying how the device is supported.
If SG ready would have been implemented it would be a lot easier cause it is quite expensive (over 2000€ + the service guy to replace the old with the LG one).
thanks a lot !

+1
I'm going to use both THERMA V HM091MR.U44 and WH27S.F5

+2
Pretty much the same question here. Will I be able to control the WH20S target temperature through this integration?


[Proposal] [FuncEnv] Add params argument to __init__

Proposal
Currently, the __init__ function does not take the params argument, instead it takes the options argument
https://github.com/Farama-Foundation/Gymnasium/blob/f88a61852b50fed3c907e2104019f453b9044c3a/gymnasium/functional.py#L49-L52
But the params of the environment are needed to initialize the object (such as to set observation_space member variable)
additional changes requirements:
get_default_params should be changed to not require the instantiation of the environment to be used as it will be required in __init__
https://github.com/Farama-Foundation/Gymnasium/blob/de909da30a1fe40288275da331fa7ad8e219a2bc/gymnasium/functional.py#L123-L125
to
 def get_default_params(**kwargs) -> Params | None:
     """Get the default params."""
     return None

and update FunctionalJaxEnv(gym.Env) with that change
@RedTachyon
Motivation
I have been developing the MJX based environments and this is a requirement
Pitch
No response
Alternatives
If there is no need to the `options' argument, remove it
Additional context
Here are 2 examples of params I need for MJX

xml_file indicates the file of the robot model to be used and sets up the internal MuJoCo model and everything else that depends on it like action and observation spaces

exclude_current_positions_from_observation changes, how much of the state space is observable, it is need in __init__() to observation_space and later in observation()

Checklist

[X] I have checked that there is no similar issue in the repo

Since 1.0 has been released, will this be worked on? I am in the same boat (writing MJX envs). Is there any workaround for now?

Yes, more than happy to! I'll start working on it and submit the PR shortly


Make GetEditsForFileRenameRequestArgs not extend FileRequestArgs

Fixes #24882 and #24904

@sheetalkamat Please re-review

Latest commit fixes #25052


Is it possible to store the password directly from the config file?

Like this one
Host myServer
    HostName myServerIpAddress
    Port 22222
    User webadmin
    Password xxxxx

This is a limitation of the ssh config from the openssh package and not under the VSCode extension's control. See e.g.: https://stackoverflow.com/questions/39347365/specifying-password-in-ssh-config-file


Initialization of PlatformDependent0 fails on Java 9

Motivation:
Initialization of PlatformDependent0 fails on Java 9 in static initializer when calling setAccessible(true).
Modifications:
Add RefelectionUtil which can be used to safely try if setAccessible(true) can be used or not and if not fail back to non reflection.
Result:
Fixed [#6345]

Addressed and cherry-picked into 4.1 (90bc60547784877366a3294e6b945a5241b7099f) and 4.0 (f365770)


Revert "src: add /traffic-manager endpoint (#58)"

This reverts commit 7694081c9de6cd936e0c35f9398a614a4fe0876f.

@flakey5 feel free to merge it.


Replace erroneously unencoded options

Replace valueString with proper valueCoding for affected checkbox options

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

In the file portal/migrations/versions/894bbf6a8aa5_.py:

Line 83:80: E501 line too long (100 > 79 characters)
Line 96:80: E501 line too long (80 > 79 characters)
Line 97:80: E501 line too long (86 > 79 characters)
Line 122:80: E501 line too long (83 > 79 characters)
Line 130:80: E501 line too long (80 > 79 characters)


Add functions "Enable all" & "Disable All" for "Photo Overlays" and "Map Features"

I like the new structure of the "Photo Overlays" :-)

Maybe the "Enable All" / "Disable All" functions which are similar used for the validator-items (#5986 see here [1]) would also suit for the "Photo Overlays".
[1]

If this would make sense, maybe the same function could also be used at the same window menu, but further down for section "Map Features"

For photo overlays, it wouldn't be very useful.  I would love it for map data though

For photo overlays, it wouldn't be very useful (but would still take up space). I would love it for map data though

Ditto.

It's OK for me, if you only implement this for the "Map Features" area.

Duplicate of #5234 I think

For photo overlays, it wouldn't be very useful (but would still take up space). I would love it for map data though

Ditto.

As said, i agree it would be take too much valuable space.
There is just another idea, but do know if, it would match to a general consitent program behavior.
What about just adding a keyboard shortcut to switch off & on the 5 checkboxes of the "Photo Overlay" section?


[BUG] Flowise ui and server tries to use same port

Describe the bug
Flowise ui and server tries to use same port.
To Reproduce
yarn dev
Expected behavior
Both module should have their own port to work on
Additional context
To solve the issue package/ui should have .env file with a different port as it shown in example .env.example file.
Note
Changing server's port doesn't work as flowise expect it working on the port 3000

Thats because by default ui react uses port 3000
And by default server uses port 3000 too
Thats why setting PORT on .env file to tell ui react to work on other port.
Do you have any other recommendations besides setting the PORT on .env file?

We could set the different ports as default for the server or the UI ( by checking if there is a corresponding env variable in the system otherwise we could use the default ports like 8080 and 3001 ) or we could mention this in the documentation.

Updated README for development build


Nuget - latest version

Hi,
when will be the latest version on nuget server?

I too, am wondering the same thing.

I just released the latest version. Thanks for your patience!


Mint List

The nft_create instruction creates an NFT with the provided information and it sets the creator to the wallet that created the NFT. This is useful if you are creating NFTs into your wallet first and then sending them to people.
NFT projects often want to let other people mint (create) the NFTs of the project. That means the NFT account isn't stored until someone mints it. For that, we will need to store the mint information on chain but not in the actual NFT accounts.
New Instructions

mintlist_create Create MintListAccount which will have the following fields:

Collection (optional, will require signer)
Creator (will be set as the creator on the NFT)
Mint Infos

Minted
~Name~
~Image~
Metadata

Price
Num Mints (inferred from Mint Infos)
Num NFTs Remaining
Go Live Date
Randomness Mode — Should it be sequential / random / something else?

mintlist_mint_nft which will give you an NFT will be called with

mintlist

Questions

Can one account be written to multiple times in a block in different transactions?
Should we prevent minting multiple NFTs into one wallet?
Should we prevent minting multiple NFTs in one transaction (via multiple mint IXs)?
How do we properly do randomness? Should we do what Candy Machine v2 does?

Thoughts for the Future

Support paying with SPL Token / Whitelist Token
Support whitelisting addresses

Security

Penalize bots who call this program
Ensure that you can't call other instructions while doing a mint

Answers:

Can one account be written to multiple times in a block in different transactions?

I don't think so, or if so then

Should we prevent minting multiple NFTs into one wallet?

Not needed for now

Should we prevent minting multiple NFTs in one transaction (via multiple mint IXs)?

Not needed for now

How do we properly do randomness? Should we do what Candy Machine v2 does?

We decided to look at the recent hash similar to what Candy Machine does


Crash on load due to TileFoFClient error.

Minecraft 1.7.10
Forge <IP_ADDRESS>4
VoltzEngine-1.7.10-1.4.0b96.jar
ICBM-1.7.10-2.15.1b394.jar
Steps to reproduce:

Drop VoltzEngine into mods folder.
Start the Minecraft.
Answer Yes to Prompt to Download file.
Wait for Minecraft to load to Title Screen.
Quit Minecraft.
Drop ICBM-1.7.10-2.15.1b394.jar into mods folder.
Start Minecraft.

Actual Result:
The game loads and then crashes returning the following error:
The game crashed whilst there was a severe problem during mod loading that has caused the game to fail
Error: cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: com/builtbroken/icbm/content/fof/TileFoFClient

Expected Result:
The game loads properly
Notes:

Please See attached crash report.
I'm unsure if the file in step 3 actually downloaded properly. I don't remember the name of the file. It never asked to download it again, so I assume it's because the file is present.
I attempted to run the game with '-DenableAsmTemplates=false' (without the quotes) to bypass the crash as indicated here, but the game crashed anyways.

Crash Report:
https://pastebin.com/7a4a2pJU

This may be the best-formatted crash report I have every received.
Anyways try the latest alpha of both VE and ICBM. As the most likely issue is a mismatch between versions.
https://minecraft.curseforge.com/projects/icbm/files/2426466
https://minecraft.curseforge.com/projects/voltz-engine/files/2426939

This may be the best-formatted crash report I have every received.

Thanks! I work as a game tester, so it's kinda hard to "turn off" that part of the brain. Especially when reporting issues. lol
Sorry for the late reply, but I used the files you linked and successfully was able to load into my world.
Side note:
The link to Voltz Engine found here in the description seems to be dead. Something probably changed on Curse's side that changes how links work.

Thank you for the report on the curse link. I will get to it asap.

On May 30, 2017, at 9:15 PM, DexLuther<EMAIL_ADDRESS>wrote:
This may be the best-formatted crash report I have every received.
Thanks! I work as a game tester, so it's kinda hard to "turn off" that part of the brain. Especially when reporting issues. lol
Sorry for the late reply, but I used the files you linked and successfully was able to load into my world.
Side note:
The link to Voltz Engine found here in the description seems to be dead. Something probably changed on Curse's side that changes how links work.
―
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Unlock versions of dependencies

Current version of Sphinx is 5.1.1, requests-2.28.1.
Are there any reasons to fix version of the package dependencies?

Hi @quantori-pokidovea ATM I do not see a problem to supporting sphinx 5 and unpinning requests to the major version. Sphinx 5 will need to be tested though, because this is a major version bump. I am currently on holidays, but I will have a look at this when I get back in a couple of weeks.

Hi @quantori-pokidovea 0.4.0 was just released. Let me know if you run into any problems.
Dries


text state doesn't reset

Hello,
When I'm running the Sendbird React Native Sample in a physical Android phone the text doesn't reset after the send button is pressed:
https://www.youtube.com/watch?v=GWmBxukOnNQ
Can someone help?
Thanks
Regards

@badjoras7 @bionimic
Thank you for your interest in SendBird SDK.
So sorry the answer is late.
Do you still have the same issue?


generate_token() provide two different tokens

I have multiple apps running behind DispatcherMiddleware, each app will have it's all instance of flask_htpassword. All apps sharing the same password file.
when accessing any endpoints for a particular app, authentication using token sometimes denied, sometimes allowed. I looked into the issue and found that generate_token() provide different token string when it called and there are two distinct tokens consistently generated. When using one of the tokens for authentication, it sometimes failed because the system accept the other token.
Not sure what the issue is?

I'm not sure what is happening here. I'm just taking a sha256 of the user's htpasswd file's hash to obscure, so unless the user is changing, or the htpasswd file is changing between requests, it should stay fixed. Is it possible the htpasswd file is changing, and there isn't a full restart of the flask app server between changes? It does remain fixed in memory at the start time, so I could see a gunicorn type process having different configurations amongst it's forked processes if the file is changing.

Thank you for the quick response.
I found the issue. As I generated the .htpasswd file on the fly based on the current set of users, multiple processes were competing to overwrite the file, hence the file was changing while the processes holding old info in the memory. This makes the old info become invalid.
I had a early assumption the the password file won't change, but they do for each time generating.
I have updated the logic to make sure the file is protected and it's working great.
If there is a param to indicate if the password file could be reload for every single request, this will provide certain flexibility for adding more user at the run-time. What do you think?

That sounds like a good feature, and it might even be more what people expect as the default. I'm going to reopen this to track the request.


tap-hold buttons may not work combined with other modifiers in some scenario

Bug description
Consider the following scenario:

using a typical home row mods config with for instance (tap-hold-next-release 200 f lctl) on physical key F
you want to write an uppercase "F"
you do press rsft, press F, release rsft, release F
if key F was just a simple F button, this would give expected result
but if F was this tap-hold button, then only a lowercase "f" will be written (when you release key F), instead of uppercase "F"

With the semantics of tap-hold this is perfectly understandable: kmonad sends the event "tap f" only when key F is released. Unfortunately, this breaks the typing flow.
A fix?
Suggested fix: if any key release event is caught during the tap-hold delay, then the tap-hold should select the tap behavior.
This would be dual to what already happens on a key press event (in which case the hold behavior is selected).
Remark that if both rules are implemented and tap is selected because of a release of another key K1, this means the press of K1 happened before pressing the tap-hold key K2, so the intent was most likely not to have K1 modified by K2 but the opposite.
But maybe the intent was to have a third key K3 modified both by K1 and K2 (in hold mode), but in this case, you would not release K1 before pressing K3, hence K2 would have already switched to hold mode.
Do I miss another scenario where the suggested fix might actually do something bad?

I had never noticed this behaviour, but I just tested it and you're right! This might explain how often I type a lowercase i when trying to type I.
This should be addressed for sure!

So I tried these changes:
diff --git a/src/KMonad/Model/Button.hs b/src/KMonad/Model/Button.hs
index 95e08a6..d5497e9 100644
--- a/src/KMonad/Model/Button.hs
+++ b/src/KMonad/Model/Button.hs
@@ -309,7 +309,9 @@ tapHoldNextRelease ms t h = onPress $ do
         -- If the next event is my own release: act like tapped
         | p e -> onRelSelf
         -- If the next event is another release that was pressed after me
-        | isRel && (e^.keycode `elem` ks) -> onRelOther e
+        | isRel && (e^.keycode `elem` ks) -> onRelOtherSeen e
+        -- If the next event is another release that was pressed before me
+        | isRel && (e ^. keycode `notElem` ks) -> onRelOtherUnseen e
         -- If the next event is a press, store and recurse
         | not isRel -> go (ms' - r^.elapsed) (e^.keycode : ks) *> pure NoCatch
         -- If the next event is a release of some button pressed before me, recurse
@@ -321,8 +323,11 @@ tapHoldNextRelease ms t h = onPress $ do
     onRelSelf :: MonadK m => m Catch
     onRelSelf = tap t *> hold False *> pure Catch

-    onRelOther :: MonadK m => KeyEvent -> m Catch
-    onRelOther e = press h *> hold False *> inject e *> pure Catch
+    onRelOtherSeen :: MonadK m => KeyEvent -> m Catch
+    onRelOtherSeen e = press h *> hold False *> inject e *> pure Catch
+
+    onRelOtherUnseen :: MonadK m => KeyEvent -> m Catch
+    onRelOtherUnseen e = tap t *> hold False *> inject e *> pure Catch -- tap t *> hold False *> inject e *> pure Catch

 -- | Create a 'Button' that contains a number of delays and 'Button's. As long

But that does not work. For some reason foreign release events don't seem to trigger the tap-hold hook. I also observed a similar issue while working on PR #305 (where I wanted both foreign press and release events to end a multi-tap sequence: only the press event would have the desired effect).

So I tried this change:
diff --git a/src/KMonad/Model/Button.hs b/src/KMonad/Model/Button.hs
index 95e08a6..43afc46 100644
--- a/src/KMonad/Model/Button.hs
+++ b/src/KMonad/Model/Button.hs
@@ -312,8 +312,8 @@ tapHoldNextRelease ms t h = onPress $ do
         | isRel && (e^.keycode `elem` ks) -> onRelOther e
         -- If the next event is a press, store and recurse
         | not isRel -> go (ms' - r^.elapsed) (e^.keycode : ks) *> pure NoCatch
-        -- If the next event is a release of some button pressed before me, recurse
-        | otherwise -> go (ms' - r^.elapsed) ks *> pure NoCatch
+        -- If the next event is a release of some button pressed before me, -recurse- -> no, choose tap!
+        | otherwise -> tap t *> hold False *> pure NoCatch

     onTimeout :: MonadK m =>  m ()
     onTimeout = press h *> hold False

But that does not work. For some reason foreign release events don't seem to trigger the tap-hold hook. I also observed a similar issue while working on PR #305 (where I wanted both foreign press and release events to end a multi-tap sequence: only the press event would have the desired effect).

Another thought: while I don't understand all what is going on here, I acknowledge that the current behavior with respect to modifiers could actually not be a bug but the intended effect when the other modifier is also a dual-key.

So maybe the "bug" I described is only a bug in the corner case where you want to mix home row mods with dedicated mods. On the other hand, when using home row mods only, it is a given that one has to be careful with the release order (both shift+letter and letter+letter are likely intents during a sequence of fast typing; since timing criteria are not a solution when we want speed, their remains only the order of the releases to distinguish both intents).
Let's review the possible orders. Suppose (D, lsft) (F, lctl) are 2 dual keys:

sequence 1: press D, release D,press F, release F -> desired outcome "df" (current outcome if D is any tap(-hold)(-next)(-release))
sequence 2: press D, press F, release F, release D -> desired outcome "F" (current outcome if D is any tap(-hold)(-next)(-release) family)
sequence 3: press D, press F, release D, release F -> desired outcome ??? (if D is tap(-hold)-next, this gives "F", while if it is tap(-hold)-next-release then this gives "df")

If we "fix" #307, then the outcome of sequence 3 would be "F" for all variants, when F is itself a dual key. Indeed: F would resolve to a tap and send its release event to D, who retro-actively would resolve to a mod (ok, when said like this i am starting to see why it could be hard to implement... ). I don't know if this makes sense, I need to think more about the implications.
Disregarding the feasibility of all this, once again, there are times you want sequence 3 to give "F" and times you want it to give "df". I am afraid there cannot be a fully satisfying behavior for this!

For the sake of completeness if we take previous example, if key D is just a simple lsft, then current outcomes are 1:

sequence 1 -> "f" (ok!)
sequence 2 -> "F" (ok!)
sequence 3 -> "f" when F is a tap(-hold)-next-release (definitely not ok, as far as I am concerned! This is inconsistent with the case where F would be a regular alphabetical key)

* sequence 3: press D, press F, release D, release F -> desired outcome ??? (if D is tap(-hold)-next, this gives "F", while if it is tap(-hold)-next-release then this gives "df")

Sorry, being new to the project (and to the concept of home row mods), I missed something in the documentation: in the case above, the -release part of the button name precisely means that releases of buttons pressed before the dual-key was pressed are supposed to be ignored.
So current behavior is completely conform to the specification and to (some) user wishes.
Nonetheless I still think the corner case where the key pressed before the tap-hold-next-release button was a (regular) modifier is worth addressing. In particular when you are transitioning from a traditional layout to a pure home row mod based layout and you still have regular mods.
So basically, in this case, we need a way to tell the difference between a modifier release and a regular key release.
I came up with a solution which I don't like (it happens to work but it makes the behavior very non-obvious to guess from the code, so it is bound to be very fragile), consisting in introducing a new kind of button: strong-mod (a shift key that tips tap-hold-next-release toward a tap should be configured as (strong-mod 200 lsft) instead of just lsft), which defers its own release to make sure:
1 - the release input event is seen by tap-hold-next-release
2 - the output release is emitted after the tap-hold-next-release outputs its tap
This could be done with a patch along these lines:
diff --git a/src/KMonad/App/Parser/TokenJoiner.hs b/src/KMonad/App/Parser/TokenJoiner.hs
index ff2bd5a..2e44098 100644
--- a/src/KMonad/App/Parser/TokenJoiner.hs
+++ b/src/KMonad/App/Parser/TokenJoiner.hs
@@ -367,6 +367,7 @@ joinButton ns als =
     KMultiTap bs d     -> jst $ multiTap <$> go d <*> mapM f bs
       where f (ms, b) = (fi ms,) <$> go b
     KStickyKey s d     -> jst $ stickyKey (fi s) <$> go d
+    KStrongMod s d     -> jst $ strongMod (fi s) <$> go d

     -- Non-action buttons
     KTrans -> pure Nothing
diff --git a/src/KMonad/App/Parser/Tokenizer.hs b/src/KMonad/App/Parser/Tokenizer.hs
index 3d4660f..ac88a0f 100644
--- a/src/KMonad/App/Parser/Tokenizer.hs
+++ b/src/KMonad/App/Parser/Tokenizer.hs
@@ -280,7 +280,8 @@ keywordButtons =
   , ("cmd-button"     , KCommand     <$> lexeme textP <*> optional (lexeme textP))
   , ("pause"          , KPause . fromIntegral <$> numP)
   , ("sticky-key"     , KStickyKey   <$> lexeme numP <*> buttonP)
-  ]
+  , ("strong-mod"     , KStrongMod   <$> lexeme numP <*> buttonP)
+  ]
  where
   timed :: Parser [(Int, DefButton)]
   timed = many ((,) <$> lexeme numP <*> lexeme buttonP)
diff --git a/src/KMonad/App/Parser/Types.hs b/src/KMonad/App/Parser/Types.hs
index 69a4257..a1d6c7b 100644
--- a/src/KMonad/App/Parser/Types.hs
+++ b/src/KMonad/App/Parser/Types.hs
@@ -96,6 +96,7 @@ data DefButton
   | KCommand Text (Maybe Text)             -- ^ Execute a shell command on press, as well
                                            --   as possibly on release
   | KStickyKey Int DefButton               -- ^ Act as if a button is pressed for a period of time
+  | KStrongMod Int DefButton               -- ^ Delays the release of the button to either next event or timeout
   | KTrans                                 -- ^ Transparent button that does nothing
   | KBlock                                 -- ^ Button that catches event
   deriving Show
diff --git a/src/KMonad/Args/Joiner.hs b/src/KMonad/Args/Joiner.hs
index 4556d5b..16d5355 100644
--- a/src/KMonad/Args/Joiner.hs
+++ b/src/KMonad/Args/Joiner.hs
@@ -379,6 +379,7 @@ joinButton ns als =
     KMultiTap bs d     -> jst $ multiTap <$> go d <*> mapM f bs
       where f (ms, b) = (fi ms,) <$> go b
     KStickyKey s d     -> jst $ stickyKey (fi s) <$> go d
+    KStrongMod s d     -> jst $ strongMod (fi s) <$> go d

     -- Non-action buttons
     KTrans -> pure Nothing
diff --git a/src/KMonad/Args/Parser.hs b/src/KMonad/Args/Parser.hs
index a143a07..c3b6ba2 100644
--- a/src/KMonad/Args/Parser.hs
+++ b/src/KMonad/Args/Parser.hs
@@ -287,6 +287,7 @@ keywordButtons =
   , ("cmd-button"     , KCommand     <$> lexeme textP <*> optional (lexeme textP))
   , ("pause"          , KPause . fromIntegral <$> numP)
   , ("sticky-key"     , KStickyKey   <$> lexeme numP <*> buttonP)
+  , ("strong-mod"     , KStrongMod   <$> lexeme numP <*> buttonP)
   ]
  where
   timed :: Parser [(Int, DefButton)]
diff --git a/src/KMonad/Args/Types.hs b/src/KMonad/Args/Types.hs
index ca5aa57..3777538 100644
--- a/src/KMonad/Args/Types.hs
+++ b/src/KMonad/Args/Types.hs
@@ -102,6 +102,7 @@ data DefButton
   | KCommand Text (Maybe Text)             -- ^ Execute a shell command on press, as well
                                            --   as possibly on release
   | KStickyKey Int DefButton               -- ^ Act as if a button is pressed for a period of time
+  | KStrongMod Int DefButton               -- ^ Delays the release of the button to either next event or timeout
   | KTrans                                 -- ^ Transparent button that does nothing
   | KBlock                                 -- ^ Button that catches event
   deriving Show
diff --git a/src/KMonad/Model/Button.hs b/src/KMonad/Model/Button.hs
index 8cc9bcb..034988d 100644
--- a/src/KMonad/Model/Button.hs
+++ b/src/KMonad/Model/Button.hs
@@ -26,6 +26,7 @@ module KMonad.Model.Button
   -- * Simple buttons
   -- $simple
   , emitB
+  , strongMod
   , modded
   , layerToggle
   , layerSwitch
@@ -308,12 +309,11 @@ tapHoldNextRelease ms t h = onPress $ do
       if
         -- If the next event is my own release: act like tapped
         | p e -> onRelSelf
-        -- If the next event is another release that was pressed after me
-        | isRel && (e^.keycode `elem` ks) -> onRelOther e
+        -- If the next event is another release: if it was pressed after me, switch to hold mode;
+        -- if it was pressed before me, switch to tap mode (remark: this case is not be triggered by other tap-hold buttons)
+        | isRel -> if e^.keycode `elem` ks then onRelOtherPressedAfterMe e else onRelOtherPressedBeforeMe
         -- If the next event is a press, store and recurse
-        | not isRel -> go (ms' - r^.elapsed) (e^.keycode : ks) *> pure NoCatch
-        -- If the next event is a release of some button pressed before me, recurse
-        | otherwise -> go (ms' - r^.elapsed) ks *> pure NoCatch
+        | otherwise {- not isRel -} -> go (ms' - r^.elapsed) (e^.keycode : ks) *> pure NoCatch

     onTimeout :: MonadK m =>  m ()
     onTimeout = press h *> hold False
@@ -321,8 +321,11 @@ tapHoldNextRelease ms t h = onPress $ do
     onRelSelf :: MonadK m => m Catch
     onRelSelf = tap t *> hold False *> pure Catch

-    onRelOther :: MonadK m => KeyEvent -> m Catch
-    onRelOther e = press h *> hold False *> inject e *> pure Catch
+    onRelOtherPressedAfterMe :: MonadK m => KeyEvent -> m Catch
+    onRelOtherPressedAfterMe e = press h *> hold False *> inject e *> pure Catch
+
+    onRelOtherPressedBeforeMe :: MonadK m => m Catch
+    onRelOtherPressedBeforeMe = tap t *> hold False *> pure NoCatch

 -- | Create a 'Button' that contains a number of delays and 'Button's. As long
@@ -417,3 +418,20 @@ stickyKey ms b = onPress $ go
                *> inject (t^.event)
                *> after 3 (runAction $ b^.releaseAction)
                $> Catch)
+
+-- | A button acting like its argument, except that the argument release is
+-- postponed until either something else happens or the timeout runs out.
+-- Purpose: use it for modifiers so that they work in a roll with buttons
+-- having a delay (such as multi-tap and tap-hold-next-release).
+strongMod :: Milliseconds  -> Button -> Button
+strongMod ms b =
+  mkButton
+  (do
+    runAction $ b^.pressAction)
+  (do
+      tHookF InputHook ms (do runAction $ b^.releaseAction)
+        (\_ -> do
+          whenDone (do runAction $ b^.releaseAction)
+          pure NoCatch)
+      )
+

(the difference between tap-hold-next and tap-hold-next-release becomes very thin... I need to research further to make sure there is still one!)

I don't think this bug is all that complicated. Any multi-use button selecting the tap behavior for any reason should tap using the mods present when that button was first pressed, not the mods present when it was released or became a tap. Using (tap-hold-next-release 200 x lsft) for foo/esc as in the tutorial:
Pa Pesc Ra Resc -> ax (correct)
Pesc Pa Resc Ra -> xa (correct)
Plsft Pesc Rlsft Resc -> x (bug, should be X instead, as lsft is a passthrough mod)
Pesc Plsft Resc Rlsft -> x (correct, mods present on release should not be applied)
Pesc 300 Pa Resc Ra -> a or A (bug or correct, see below)

The last example works (produces "A") when a is not a multi-use button itself, but is bugged when a is multi-use for the same reason. As a multi-use button, a should recognize the held esc as a modifier present when it was first pressed and upgrade its release to "A".
I've tested this on the Moonlander -- it's properly implemented in QMK.

Going over the other issues, I can see that this same problem was brought up in #111 and later in #256. This should probably be resolved as a duplicate, as some productive discussion has been going on there for a while.

Is this a duplicate of #272 also?

I would imagine, yes


[Feature]: Unable show the words in Chinese whiling translated into canvas

Is the feature relevant to the Firefox PDF Viewer?
No
Feature description
Unable show the words in Chinese whiling translated into canvas
I would like to show the canvas within Chinese.
I had been dropped the pdf which name is demo.pdf that show numbers only.
Please guideline me which Api and settings.
  <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.worker.min.js"></script>

import React, { useRef } from 'react';
import * as pdfjsLib from 'pdfjs-dist';
pdfjsLib.GlobalWorkerOptions.workerSrc = //cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjsLib.version}/pdf.worker.min.js;
function Container(_, ref) {
const createAttribute = useRef(null);
const canvRef = useRef();
const onDragStartChange = async (event) => {
event.preventDefault();
const files = Array.from(event.dataTransfer.files);
// //todo 支持多个
const oo = U
RL.createObjectURL(files[0]);
const loadingTask = await pdfjsLib.getDocument(oo);
const source = await loadingTask.promise;
const canvas = canvRef.current;
const pdf = source;
for (let i = 1; i <= pdf.numPages; i++) {
let page = await pdf.getPage(i);
let viewport = page.getViewport({ scale: 1.5 });
canvas.height = viewport.height;
canvas.width = viewport.width;
await page.render({
canvasContext: canvas.getContext('2d'),
viewport: viewport,
}).promise;
}
};
return (
<>

<div className="excel_upload" onDrop={(event) => onDragStartChange(event)}>
<input
type="file"
accept="pdf"
ref={createAttribute}
// onChange={onHandleChange}
/>

</>
);
}
export default Container;
Unable show the words in Chinese whiling translated into canvas
demo.pdf
Other PDF viewers
No response

Please guideline me which Api and how to set the settings.


Removed period.

Consistency is key.

Pull Request Test Coverage Report for Build 186

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+1.2%) to 95.12%

Files with Coverage Reduction
New Missed Lines
%

src/util.ts
1
33.33%

Totals

Change from base Build 185:
1.2%

Covered Lines:
640

Relevant Lines:
656

💛  - Coveralls


models served without SSL are not shown in AR mode

Description
Serving the glb file without SSL will only work with fallback ar mode. (i.e. fullscreen, but not AR)
Moving the same file to a host with SSL / https will work fine in webxr.
Maybe at least document this somewhere?
Browser Affected

[X] Chrome
[ ] Edge
[ ] Firefox
[ ] Helios
[ ] IE
[ ] Safari

OS

[X] Android
[ ] iOS
[ ] Linux
[ ] MacOS
[ ] Windows

Versions

model-viewer: latest from unpkg

Good call on documentation; this is indeed a requirement of the WebXR API.


Conver to tensorrt to inference with batches

How can I convert model to tensorrt with batch size bigger then 1.
I tryed to modify convert_to_trt.py or convert_to_onnx.py and then convert to trt using trtexec (just changed input shape to (64, 3, 256, 256)
But when i'm trying to inicialize trt engine i got errror: [defaultAllocator.cpp::deallocate::35] Error Code 1: Cuda Runtime (invalid argument)

Hi! You can check this for recipe.

Hope, it helped.

The problem was, that you need to convert only with image size 256 x 256


Image Label names are not fully visible in the plug in

While selecting the Image, the Image Labels are not fully visible.
PFB the screen shot.

This is fixed and working as expected in the latest build.


[Runtime] Use StackAllocatedDemangler in getLibPrespecializedMetadata.

Reduce the amount of time spent freeing demangler slabs by starting out with a stack allocation that doesn't need to be freed.
rdar://126932780

@swift-ci please test


Add docs to explain management and workload clusters

What would you like to be added:
Docs explaining what management and workload clusters are and the use cases for each.
Why is this needed:
The docs for creating production cluster currently just mention management and workload clusters but don't really describe them which makes it confusing for users installing EKS Anywhere for the 1st time.

A new Cluster topologies page was added to satisfy this request. See PR #4070 for details.


More Rules (especially for strings)

Is your feature request related to a problem? Please describe.
There are some essential rules missing especially for strings (charset, word count, ...)

Fixed


How MCA Users may find the Access Key?

Hi There,
As a MCA user, I don't have capacity to ea.azure.com and this is the only way you documentation shows to get the Access Key.
I opened a ticket to the support but it seems nobody knows what this is about.
Could someone help me finding this access Key in the portal.azure.com which seems to be the only one accessible for MCA users.
Thank you all!

Hi @NovoJeep, you've reached the Power BI documentation team, so I am not sure what you are talking about exactly. Did you try looking here? https://docs.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage?tabs=azure-portal
Can you be specific about what documentation you were referring to? That might help track down who to ask. Thanks,

Hi Paul,
Thank you for this link. My problem is with the “Microsoft Sustainability Calculator” app. I need to connect it to my Azure Environment but it’s not only the “Cloud storage” part, we have many more resources in that subscription.
Best,
J
De : Paul Inbar @.>
Envoyé : lundi 24 mai 2021 17:30
À : MicrosoftDocs/powerbi-docs @.>
Cc : Julien PLATRET @.>; Mention @.>
Objet : Re: [MicrosoftDocs/powerbi-docs] How MCA Users may find the Access Key? (#3060)
Hi @NovoJeephttps://github.com/NovoJeep, you've reached the Power BI documentation team, so I am not sure what you are talking about exactly. Did you try looking here? https://docs.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage?tabs=azure-portal
Can you be specific about what documentation you were referring to? That might help track down who to ask. Thanks,
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/powerbi-docs/issues/3060#issuecomment-847123436, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHKEW5L7MUIXOKFJ3AL4Y6DTPJWI7ANCNFSM45MVPBWQ.
Strictly private, confidential and personal
This message and its possible attachments are intended solely for the addressees and are confidential. If you receive this message in error, please delete it and immediately notify the sender. The Internet cannot guarantee the integrity of this message. Novolyze (and its subsidiaries and affiliates) shall not therefore be liable for this message if modified.
Strictement personnel et confidentiel:
Ce message et toutes ses éventuelles pièces jointes sont établis à l'intention exclusive de ses destinataires et sont confidentiels. Si vous recevez ce message par erreur, merci de le détruire et d'en avertir immédiatement l'expéditeur. L'Internet ne permettant pas d'assurer l'intégrité de ce message, Novolyze (et ses filiales et sociétés conjointes) décline(nt) toute responsabilité au titre de ce message, dans l'hypothèse où il aurait été modifié.

Hi again @NovoJeep, Did you see this link? https://docs.microsoft.com/en-us/power-bi/connect-data/service-connect-to-microsoft-sustainability-calculator#find-your-companys-billing-account-id
It mentions MCA. If this isn't what you are looking for again, let me know... I may know someone who will be able to help. In any event, keeping my fingers crossed!

Thank you again,
I know this doc but after we type in our MCA billing account Id, we are asked for Access Key which we don't know how to find.
This doc says we have to connect to ea.azure.com but this portal is not valid for MCA, only EA.
If you know someone who could help, that would be great.
Envoyé de mon Galaxy S9 Orange
Télécharger Outlook pour Androidhttps://aka.ms/AAb9ysg

From: Paul Inbar @.>
Sent: Monday, May 24, 2021 7:15:23 PM
To: MicrosoftDocs/powerbi-docs @.>
Cc: Julien PLATRET @.>; Mention @.>
Subject: Re: [MicrosoftDocs/powerbi-docs] How MCA Users may find the Access Key? (#3060)
Hi again @NovoJeephttps://github.com/NovoJeep, Did you see this link? https://docs.microsoft.com/en-us/power-bi/connect-data/service-connect-to-microsoft-sustainability-calculator#find-your-companys-billing-account-id
It mentions MCA. If this isn't what you are looking for again, let me know... I may know someone who will be able to help. In any event, keeping my fingers crossed!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/powerbi-docs/issues/3060#issuecomment-847203693, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHKEW5OLWG4WP5R6LK6R3LLTPKCSXANCNFSM45MVPBWQ.
Strictly private, confidential and personal
This message and its possible attachments are intended solely for the addressees and are confidential. If you receive this message in error, please delete it and immediately notify the sender. The Internet cannot guarantee the integrity of this message. Novolyze (and its subsidiaries and affiliates) shall not therefore be liable for this message if modified.
Strictement personnel et confidentiel:
Ce message et toutes ses éventuelles pièces jointes sont établis à l'intention exclusive de ses destinataires et sont confidentiels. Si vous recevez ce message par erreur, merci de le détruire et d'en avertir immédiatement l'expéditeur. L'Internet ne permettant pas d'assurer l'intégrité de ce message, Novolyze (et ses filiales et sociétés conjointes) décline(nt) toute responsabilité au titre de ce message, dans l'hypothèse où il aurait été modifié.

Hi @NovoJeep, I reached out to the person. I'll be in touch.

Hi @NovoJeep, the answer I got is the following - it relates to the December 2020 release:
"They don’t need their access key and there is a specific section of the page with their login instructions with step by step screenshots."
Looking at the doc I see indeed that in the prerequisites for the December 2020 release, Access Key is not mentioned.
Then looking further down in the doc, I see a section called "Connecting the calculator: Five easy steps to carbon accounting", and under this, in Step three, there is a section called "MCA/CSP customers". Perhaps this is what you are  looking for?
Let me know if this still doesn't solve your problem.

Hello Paul,
            Thanks for your feedback.

Here is the situation :

From the Azure Portal, I got the Billing Account ID
I guess I’m using the January Release since I downloaded the app on late April 2021 and updated recently, the card in Power BI/Applications says [Version 20] 6 May 2021
When following steps for this January Release, there is no specific information for EA or MCA so I Tried to set my Billing Account ID as the “User Enrollment number”  and this asks for an Account Key which is the only available authentication solution.
When following steps for the December Release, there is one paragraph specific for MCA:
*   User Enrollment Number might be set as followings: “/providers/Microsoft.Billing/billingAccounts/
*   After typing such an Id, you might be able to select the Agreement Type, which is not possible at my end.
*   Anyway, you can still press the Next button and fall again on the authentication method, but once again, while I should be able to select OAuth2, I’m only able to see “Key”
*   That’s the reason why I’m trying to reach someone who could help me figuring how I can get that “Account Key”
Here are some screenshots of my App Configuration:
*   @.***D75141.B7DBABF0]
*   @.***D75142.27E8F970]
*   @.***D75142.40E09370]

Strictly private, confidential and personal
This message and its possible attachments are intended solely for the addressees and are confidential. If you receive this message in error, please delete it and immediately notify the sender. The Internet cannot guarantee the integrity of this message. Novolyze (and its subsidiaries and affiliates) shall not therefore be liable for this message if modified.
Strictement personnel et confidentiel:
Ce message et toutes ses éventuelles pièces jointes sont établis à l'intention exclusive de ses destinataires et sont confidentiels. Si vous recevez ce message par erreur, merci de le détruire et d'en avertir immédiatement l'expéditeur. L'Internet ne permettant pas d'assurer l'intégrité de ce message, Novolyze (et ses filiales et sociétés conjointes) décline(nt) toute responsabilité au titre de ce message, dans l'hypothèse où il aurait été modifié.

Hi @NovoJeep, ok, thanks for providing the greater detail. I'll forward it on to one of the people involved in developing that app. It sounds to me like you have the correct app version, but I do want to point out just in case that the January release instructions refer to the old version of the app - note that it says January 2020. The December release (December 2020) is the new version of the app. It's a bit confusing if you miss the year. In any event, you probably did take that into account, but just in case I'm mentioning it. I am sure the app developer will want to be sure you are using the new version.
The app people are in the States, so it may be several hours until we hear anything.

@NovoJeep, hi again.. also, for some reason, your screenshots didn't come through. What I saw was:
*   @.***D75141.B7DBABF0]
*   @.***D75142.27E8F970]
*   @.***D75142.40E09370]

I replied by email, it probably did not integrate images:

Hi @NovoJeep, ok, I see them now. Yes, this is the old version. The new version is listed as preview and has a different logo. And here is what the first dialog looks like. Can you go get the new version of the app?

@NovoJeep , can you get the one from appsource that has the logo:

@NovoJeep, if you have any problems finding/installing the new version, let me know.

@paulinbar, It now works, I could authenticate and Data is now updating.
Thank you so much !


Avoiding stalls (allocations) in the audio thread

The Plugin::process() method is called in the audio thread of the host which should never do anything that stalls, like allocation, page faults etc. to avoid buffer dropouts which can destroy speakers at loud volume and are bad in general (you can't expect people to use your plugin if it even has the potential to stall in certain cases).
So we should eliminate the dynamic allocation of midi note memory for processing midi events.
(Maybe there are more potentials of stalls in methods that the host calls in the audio thread.)
(interfaces::process_events() is called by both hosts and plugins.)
Apparently most developers pre-allocate a generous fixed size array for the midi input and only re-allocate when the size doesn't suffice. (Or truncate midi events per frame to that generous limit.)
We could do this by passing a &mut Vec to process_events(), which the caller (plugin and host) pre-allocates to a generous size outside of the audio thread.
Or do you have a better idea?
(The init and reset opcodes are supposed to be for allocations.)

Good catch, we can just use a lazy static Mutex<Vec>. Ideally that way, it would only reallocate as needed, calling .clear() to reset the Vec. Any suggestions for what we should set the default size to?

Going with that solution I would opt for a buffer size somewhere in the range of 512-2048 depending on the amount of traffic expected.
I have some concern as to whether using a dynamically resizable collection is a good idea even if allocations are reduced to a minimum. This scenario seems like it could be better suited to using a fixed length circular buffer (With a similar size as suggested above). I would prefer an implementation that would be more likely to drop a midi message due to a full message queue than an implementation that would attempt to dynamically allocate memory and potentially stall execution.
Assuming a fixed length circular buffer is used, we could potentially set it up to where the length of the buffer can be specified by the plugin allowing the plugin designer to balance the amount of memory used against the possibility of dropping midi messages.
If it is agreed that a circular buffer could be the way to go I would be glad to find/implement the needed collection in order to make this work.

Should it be a Mutex because static variables are shared between all instances of a dll and because this could cause problems when the host uses multi threading when two instances access the same static variable at the same time?
But a Mutex has overhead too and can also stall the thread, and can get poisoned...

Ideally it would be a Lock Free Implementation of some kind.

I agree that a fixed size buffer would be preferable, but it doesn't have to be a ring buffer, just a Vec allocated during init().
I think we can put an acceptable upper limit on 2048 midi events per frame, but that has to be multiplied by the midi event size.

In that case would a Vec actually be the correct data structure to use? what advantages would we gain from using a Vec that is supposed to be fixed sized over a fixed size array? Looking at how the Current implementation is using the Vec it seems that all is needed is the ability to iterate over the collection, so a fixed length array would do the job if the size is fixed at compile time.

An article worth reading on the topic: http://www.rossbencina.com/code/real-time-audio-programming-101-time-waits-for-nothing

yeah we could use ArrayVec

I think that would be a good choice.

There are also allocations in interfaces::read_string() and the collect()s in AudioBuffer.
The string length is bounded so we can just preallocate that mem, but more important is removing the allocs in the audio thread. I think we can assume that the number of input and output channels will be constant over time, less than or equal (maybe always equal) to the number of inputs and outputs that the plugin reported to the host (until it changes the number via setNumInputs / setNumOutputs).
So we can also prealloc the Vecs in AudioBuffer and resize it only when the number of inputs/outputs changes (when the plugin is paused).

Would it be a good idea to allow the plugin to request additional buffers for intermediate usage within the plugin? Adding that could allow the plugin to handle complex processing situations without having to come up with a way to allocate the memory on their own. Additionally we could see some possible performance benefits if we were to attempt to keep all of the buffer as one large sliced up array(could theoretically improve cache locality and similar issues).

Plugins allocate memory for their specific needs in their init() method.

I know that, my thought was wether having all of the luging buffers localized to one block could be beneficial or not?

It depends on how to buffers are used.
Putting them all together when they are used in different contexts doesn't improve cache locality..
So it's really specific to each plugin..

Okay, I figured it was at least worth proposing.


latest_testflight_build_number fails with Gateway Timeout

Issue Description
latest_testflight_build_number started failing with Gateway Timeout out of sudden. We're running it on CircleCI. It worked fine throughout the day, but the last 3 builds consistency return the same error.
+------+--------------------------------+-------------+
|                  fastlane summary                   |
+------+--------------------------------+-------------+
| Step | Action                         | Time (in s) |
+------+--------------------------------+-------------+
| 1    | default_platform               | 0           |
| 2    | get_version_number             | 0           |
| 💥   | latest_testflight_build_number | 3           |
+------+--------------------------------+-------------+

[09:57:36]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane...

bundler: failed to load command: fastlane (/usr/local/bin/fastlane)
Spaceship::UnexpectedResponse: [!]
<!DOCTYPE html>



Gateway Timeout

Correlation Key: XJGM5DYFAQKXJYE6L7DS7FU2

  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/spaceship/lib/spaceship/client.rb:709:in `parse_response'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/spaceship/lib/spaceship/client.rb:123:in `user_details_data'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/spaceship/lib/spaceship/client.rb:68:in `teams'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/spaceship/lib/spaceship/tunes/tunes_client.rb:78:in `select_team'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/spaceship/lib/spaceship/tunes/spaceship.rb:35:in `select_team'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/actions/app_store_build_number.rb:24:in `get_build_number'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/actions/app_store_build_number.rb:11:in `run'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb:11:in `run'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/runner.rb:256:in `block (2 levels) in execute_action'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/actions/actions_helper.rb:50:in `execute_action'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/runner.rb:235:in `block in execute_action'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/runner.rb:227:in `chdir'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/runner.rb:227:in `execute_action'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/fast_file.rb:154:in `method_missing'
  Fastfile:10:in `block (2 levels) in parsing_binding'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
  /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
  /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
  /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
  /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/commands_generator.rb:333:in `run'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in `take_off'
  /Library/Ruby/Gems/2.3.0/gems/fastlane-2.126.0/bin/fastlane:23:in `<top (required)>'
  /usr/local/bin/fastlane:22:in `load'
  /usr/local/bin/fastlane:22:in `<top (required)>'
Exited with code 1

Environment

 ### Stack

Key
Value

OS
10.13.6

Ruby
2.3.7

Bundler?
false

Git
git version 2.19.1

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.13.6 (17G3025)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib

OpenSSL Version
LibreSSL 2.2.7

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode-10.1.app/Contents/Developer/

Xcode Version
10.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.126.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
2.3.2

atomos
0.1.3

CFPropertyList
3.0.0

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.6

xcodeproj
1.10.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

terminal-table
1.8.0

multipart-post
2.0.0

word_wrap
1.0.0

public_suffix
2.0.5

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

unf
0.1.4

domain_name
0.5.20180417

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

gh_inspector
1.1.3

mini_magick
4.5.1

multi_xml
0.6.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

bundler
1.17.1

naturally
2.2.0

simctl
1.6.5

jwt
2.1.0

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mime-types
3.2.2

multi_json
1.13.1

signet
0.11.0

memoist
0.16.0

googleauth
0.6.7

httpclient
2.8.3

google-api-client
0.23.9

google-cloud-env
1.2.0

google-cloud-core
1.3.0

digest-crc
0.4.1

google-cloud-storage
1.16.0

tty-cursor
0.7.0

tty-spinner
0.9.1

tty-screen
0.7.0

faraday
0.15.4

json
2.2.0

io-console
0.4.5

excon
0.64.0

rubyzip
1.2.3

libxml-ruby
2.9.0

plist
3.5.0

faraday_middleware
0.13.1

fastimage
2.1.5

unicode-display_width
1.6.0

addressable
2.6.0

mime-types-data
3.2019.0331

os
1.0.1

psych
<IP_ADDRESS>

App Store Connect seems to be down, it’s not a fastlane issue.

24 hours later, problem still there or did Apple's server recover?


Always on top

Hi there,
This extension is really fantastic! I have a suggestion, it would be useful to have the option of "Always on top" in the a window

Hi @juanca87,
I don't think there's a way to have that functionality working cross-browser, and cross-system.
I'll investigate if it's possible.
Thank you so much for your suggestion.


Consider including the hash algoirthm in our ref encoding.

Right now we're hard-coding use of sha256, which is fine, but perhaps someday attacks will be found against sha256 and it will be deemed too weak to be safe. Perhaps we should format refs in a way that encodes the hash algorithm used, so that if we ever need to change the algorithm it is easier to do so.

I don't know, we now have an attack against sha1 and that hasn't stopped git from using it. This feels to me very much in the categories of YAGNI and "we'll have bigger problems to deal with when and if that happens," so I'll be happy to have a flag day in that case, forcing some sort of migration, and not worrying about it until then.
Closing for now.

So, I have a perkeep data store that's >1TiB in on-disk size; upgrading that on a flag day sounds painful at best, and that's something that's within the scope of one hard drive (well, 2 for redundancy) owned by an individual; one-shot migrations of data don't work over a certain size.
Fwiw, git is still using sha1 in part because upgrading is a pain. [They're actively working on it][1], but the fact that hashes aren't tagged with the algorithm is a significant source of complexity for their migration.
...And in the meantime, the fact that git uses an insecure hash makes it inappropriate for some use cases that I am interested in: it means you basically can't store anything supplied by untrusted users. Maybe not a showstopper for an scm where you ought to be hand-auditing everything people send you anyway (basically byte-for-byte, since it's typically plain text), but I do bulk backups of my system with perkeep, and I don't want to have to worry about whether somebody could trash my data by emailing me a PDF with a block that collides with something I care about.
By contrast, perkeep moved from sha1 to sha224 without much fuss, since they already had the digests prefixed.
But I guess that's the beauty of using something like pb or capnp: if we use a pb message type or the like for refs (instead of a bare bytes field) then we can always just add a field for this later, if and when we discover we need to migrate.


refactor(env)!: remove public key generics from promise API

No need for this generic. Can potentially lead to a larger code size if misused without any noticeable benefit.

Since this seems to be a breaking change, should we update the changelog too?


Allow the client to query quickbooks for a QB report

Discussed in issue #2

Coverage decreased (-0.05%) to 99.008% when pulling 152da7e54ced6085e0ff6fee3b90165d99032fbb on pennypacker-labs:get_report into 63c7c6a02258fade041cc28206c41b766599a9d0 on sidecars:master.


Fix/173 admin families requests

Now, the bottom to accept and refuse a request are functional. To test the download feature, it is necessary to create a new student with status = "PENDIENTE" and valid files.

There are merge conflicts, please check them. Also, how am I expected to create an admin account?

First, It is necessary to create an admin user and a student with status "pendiente" in http://<IP_ADDRESS>:8000/api/auth/users/, next you need to activate both accounts and redirect to http://<IP_ADDRESS>:8000/api/auth/jwt/create to get a token to be able to register as an admin.
Finally, you need to go to admin family'request, and you will be able to manage download, accept and refuse.


[Question]: Does VidGear support downloading arbitrary frames and getting video sizes?

Issue guidelines

[X] I've read the Issue Guidelines and wholeheartedly agree.

Issue Checklist

[X] I have searched open or closed issues for my problem and found nothing related or helpful.
[X] I have read the Documentation and found nothing related to my problem.
[X] I have gone through the Bonus Examples and FAQs and found nothing related or helpful.

Describe your Question
CamGear(source=url).start() and .read() allow me to read frames sequentially. Is it possible to access a frame by index? Furthermore, can I get the size (number of frames in the video) a priori?
Thanks.
Terminal log output(Optional)
No response
Python Code(Optional)
No response
VidGear Version
0.3.2
Python version
3.11
Operating System version
MacOS Ventura
Any other Relevant Information?
No.

@slerman12 what's the source? A camera, a URL or something else. Kindly elaborate your setup.

Never mind. Just a YouTube video. Ordinary YouTube video. But I need to get it frame-wise by index.
My solution right now is to iterate via video.read() up to the desired frame index. However, there's no video.restart() option to start the iteration back from the first index.
video.stop() followed by video.start() doesn't seem to reset the video stream index back to 0 and video.read()returns None after it has iterated through the whole video once.
In other words, I'm looking for a video.restart() option (without reinitializing the whole CamGear(source=url, stream_mode=True)).

@slerman12 If you need accurate seeking and frames with index use my DeFFcode library, example can be found here: https://github.com/abhiTronix/deffcode/issues/34#issuecomment-1288803403


feat: Auto teleport signing iteration

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[x] Feature
[ ] Refactoring

Context

[x] Closes #8063

Did your issue had any of the "$" label on it?

[x] Fill up your DOT address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI;

Copilot Summary

🤖 Generated by Copilot at aaec26b
This pull request refactors and improves the auto teleport modal and its related components, which allow users to bridge NFTs between different networks. It simplifies the text, layout, and logic of the modal, adds tooltips and signature indicators for each transaction step, and fixes some edge cases for the input validation and transaction details. It also updates the locales/en.json file to reflect the changes in the modal text and structure.

🤖 Generated by Copilot at aaec26b

We're sailing on the NFT gallery, we've got some work to do
We're fixing up the autoTeleport modal, to make it clear and true
We're simplifying TransactionSteps, and adding some tooltips
We're heaving on the count of three, and signing with our loops

could you please increase the modals height

effect
would it be possible to add the dot effect to the "Transaction In Progress..."

like it adds one dot and then another and then another, then they are removed and repeat if that makes sense :D

@exezbcz  increased  modal height

would it be possible to add the dot effect to the "Transaction In Progress..."
like it adds one dot and then another and then another, then they are removed and repeat if that makes sense :D

I think I know what you mean but just to make sure , could you share an exmaple or do we have it already being use elsewhere ?

@hassnian did not find it easily so generated code lol
https://github.com/kodadot/nft-gallery/assets/90852205/01fab0cb-d2ec-4e1b-92f0-b27e55cb74cd

this, but faster please

@exezbcz something like this ?

@hassnian looking good! only minor thing i could detect is the tooltip moving when loading with the dots ...

@hassnian exactly, thanks

@prury fixed

it works, but will open an issue related to teleport itself

Thanks!
pay 50 usd

😍 Perfect, I’ve sent the payout
💵 $50 @ 5.48 USD/DOT ~ 9.124 $DOT
🧗 13QUj3pZyFNfYj4AM336hRdyLQbevj5H3sR4PKmLEXLdwZhh
🔗 0x36acb8ab6093ef1c73b0bb10addbd4b59884b12fc0872044af9b0c1a6a1717c0
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


"gpt-4o-2024-08-06" were appeared multiple times in some component definition

For example: CreateAssistantRequest

Looks like someone already created  a PR for it before this issue #306


Added mathematical functions for modular arithmatic

What the program do ?
Some advanced number theory algorithms.
In what programming language it is written?
Java

This pull request contains conflicts. Please fix it and reopen


Does not seem to work with Prince of Persia: Sands of Time

This game seems to completely ignore its local install folder, after placing the dinput8.dll in the folder, the game just detects the regular directinput xbox 360 controller from steam, it works fine in Flatout 2 and THPS4 and even on Steam Deck, any ideas, workarounds?
Edit: Tested on Windows 11H22, also tried the Hookshot method still nothing
I'll see if I can post the logs here

I happen to have this game in my GOG library so I tried it out. It looks like a particular property that the game wants is not currently supported:
[11/30/2022 19:41:53] [D] Begin dump of property request.
[11/30/2022 19:41:53] [D]   Metadata:
[11/30/2022 19:41:53] [D]     operation = GetProperty
[11/30/2022 19:41:53] [D]     rguidProp = DIPROP_VIDPID
[11/30/2022 19:41:53] [D]   Header:
[11/30/2022 19:41:53] [D]     dwSize = 20
[11/30/2022 19:41:53] [D]     dwHeaderSize = 16
[11/30/2022 19:41:53] [D]     dwObj = 0 (0x00000000)
[11/30/2022 19:41:53] [D]     dwHow = 0 (DIPH_DEVICE)
[11/30/2022 19:41:53] [D] End dump of property request.
[11/30/2022 19:41:53] [W] Skipped property header validation because the property DIPROP_VIDPID is not supported.
[11/30/2022 19:41:53] [I] Invoked function Xidi::VirtualDirectInputDevice<0>::GetProperty() on Xidi virtual controller 1, result = 0x80004001, property = DIPROP_VIDPID.
[11/30/2022 19:41:53] [I] Invoked Xidi::VirtualDirectInputDevice<0>::Unacquire() on Xidi virtual controller 1, result = 0x00000000.
[11/30/2022 19:41:53] [I] Destroyed virtual controller object with identifier 1.

This is fixed in 293a5cd6120708c21fab422dd3b177c94b3807fb and 218a92b9088973bc4f1f40b309451fb70bac48fe. Please give this development build a try.
Xidi-v4.1.1-dev.13.0+218a92b9.zip

Thank you! That works perfectly, I might have to test the other Prince of Persia games since they use the same engine and might have the same fix.


show radiant/dire team name if available

Is this looking to be put in place of "Radiant" and "Dire" on all of the pages or in addition to it?
Maybe we want to just use team tags?
ie. Radiant (EG) Overview

I think the original intent was to replace Radiant/Dire with the full team name, @blukai can confirm.

Moving to December


Add kitchen-vagrant like pre_create_command

Jobs done with https://github.com/test-kitchen/test-kitchen/pull/1428


how to running on colmap data

I would also like to know if this is possible. I have a set of images and used colmap to determine the camera positions, but their example dataset (at least for BlendedMVS) seems to require depth maps already generated.


Calling file_exists should count as sanitized input

if ( !empty( $_POST['hello'] ) && file_exists( $_POST['hello'] ) ) {
    $hello = $_POST['hello'];
}

Atm it's reported as WordPress.Security.ValidatedSanitizedInput
Same for is_file, is_dir, is_link
EDIT:
same also for:
require_once( $_POST['hello'] );
require_once( $_POST['hello'] . '/world.php' );
require_once( '/foo/' . $_POST['hello'] . '/world.php' );

and the same for require, include and include_once too, since there is no attack vector a "regular" sanitization with sanitize_text_field would solve/improve security.

@kkmuffme Maybe we have different ideas of sanitization, but this code sample - to me - is a clear security risk....

How is checking if file exists a valid sanitization? 🤔

Thanks for the quick feedback.

to me - is a clear security risk....

Could you please explain the attack vector you have in mind?
The only one I can think of:
You would have to have a file on your server that has an SQL injection as file name.
Since we don't create files willy nilly, but sanitize names before creating them, this won't be an issue.

Could you please explain the attack vector you have in mind?

Well, a file name is generally later used to include or read the file. While the above code doesn't do that, it does assign the unsanitized value to a variable which will not be flagged anymore as unsanitized.
So any variations of the below would be accepted and could then end up being included and/or displayed:
.env
wp-config.php.bak
../../../.htpasswd
site.sql

... etc

Correct, but this is not what WordPress.Security.ValidatedSanitizedInput checks/reports for currently either.
Using sanitize_text_field( wp_unslash( $_POST['hello'] ) ) will give you exactly the same thing, as my code with file_exists.
Using your example:
// $_POST['hello'] = '../../../.htpasswd'
echo sanitize_text_field( wp_unslash( $_POST['hello'] ) );

you will also get:
.env
wp-config.php.bak
../../../.htpasswd
site.sql
... etc

That's because WordPress.Security.ValidatedSanitizedInput does not know whether your $_POST['hello'] variable is supposed to be a file path or something else.
When dealing with file paths like in your examples I highly recommend using sanitize_file_name() and validate_file(). Everything else is a potential security risk.
When you use those functions, WordPress.Security.ValidatedSanitizedInput will recognize them and treat your input as sanitized. As you can see from this list:
https://github.com/WordPress/WordPress-Coding-Standards/blob/9e89040631985ec1493e6efb551c75e0383edf6c/WordPress/Sniff.php#L180-L234

That's because WordPress.Security.ValidatedSanitizedInput does not know whether your $_POST['hello'] variable is supposed to be a file path or something else.

That's a great idea to extend it though: store the type that is validated (e.g. text, filename, url) and report an error if it's used for something else (e.g. if I use something I sanitized as text field in e.g. touch(), file_get_contents(),...)
b) this also leads to another suggestion from your text: only allow sanitize_file_name() or validate_file() on $_FILES superglobal

Everything else is a potential security risk.

True, when we CREATE new files. Not true, when we check EXISTING files.
e.g. there is no risk here whatsoever (and this should not be reported):
require_once( $_POST['hello'] );
require_once( $_POST['hello'] . '/world.php' );
require_once( '/foo/' . $_POST['hello'] . '/world.php' );
// same with require/include/include_once

In a similar vein, let's take a look at my original suggestion too:
if ( !empty( $_POST['hello'] ) && file_exists( $_POST['hello'] ) ) {
    $hello = $_POST['hello'];
}

a) if file exists returns true, we know that the file exists.
b) we also know, that if a file exists, it has been created with a sanitized name (e.g. via sanitize_file_name())
Therefore, we know that if a variable which contains a file path which exists, is sanitized.
Therefore file_exists is a sufficient check for sanitization, no matter for what the variable is used (since sanitize file name is at least as strict as other sanitize functions like sanitize name or url sanitizing)
I'd appreciate if you point out any attack vectors you guys see. Since currently I only see dogmatic replies without actually examining the issue.

we also know, that if a file exists, it has been created with a sanitized name (e.g. via sanitize_file_name())

That is not true. $_POST['hello'] = '../../../.htpasswd'; file_exists( $_POST['hello'] ) would also return true, but clearly the input has not been sanitized.
Doing something like require_once( $_POST['hello'] ) without proper input sanitization allows an attacker to include arbitrary files on your server. Such a vulnerability is called Local File Inclusion and is often just the starting point of a malicious attack.
Articles like https://outpost24.com/blog/from-local-file-inclusion-to-remote-code-execution-part-1 might explain it a bit better.
Aside: If the allow_url_include PHP setting is on, this would even allow including arbitrary files from a remote server!
$_POST['hello'] = 'http://some-attacker-website/path/to/malicious/file';
require_once( $_POST['hello'] )

That is clearly a security risk.

You're right (directories/is_dir would be safe though?)
Local file inclusion: valid point.
Should I open a separate ticket for the suggestion of:
only allow sanitize_file_name() or validate_file() on $_FILES superglobal


Unable to publish two LocalVideoTracks

Describe the bug
When publishing two separate LocalVideoTracks into a room, only one track is shown within a room. Using Apple's AVFoundation's AVMultiCamSession, I can locally preview my front and back camera but when I publish both of them, only the most recent track is shown in the room.
For clarification if I was confusing

If I push the tracks sequentially, the most recent track will be the only one that isn't frozen
Only one track is shown even if I have multiple published
It disables my local previews (not using live kits track preview, just a preview of the device input locally)
I made sure my device is capable of hosting the front and back cam simultaneously via the local preview I made.

SDK Version
Swift SDK 2.0.11
iOS/macOS Version
IOS version 17.0
Xcode Version
swift-driver version: <IP_ADDRESS> Apple Swift version 5.10 (swiftlang-<IP_ADDRESS> clang-15<IP_ADDRESS>)
Target: arm64-apple-macosx14.0
Steps to Reproduce
In implementing the dual camera feature for both the front and back, I used this repo as an example on how preview multiple cameras simultaneously.
https://github.com/jwamin/Multicam/blob/master/Trois-cam/CameraView.swift
After you would create a way to connect to the room and have abilities to publish certain tracks.
Below is how I would publish my front camera track. The device I'm using is from the AVCaptureMultiCamSession as it holds an array of inputs. In my case index 0 the back cam and index 1 the front cam.
    func turnFrontCameraOn() {         Task {             do {                 let frontCam = captureSession?.inputs[1] as? AVCaptureDeviceInput                 let track = LocalVideoTrack.createCameraTrack(name: "frontCT", options: CameraCaptureOptions(                     device: frontCam?.device,                     dimensions: .h720_169,                     fps: 30                 ))                 try await room?.localParticipant.publish(videoTrack: track, options: VideoPublishOptions(name: "front", encoding: VideoEncoding(maxBitrate: 128, maxFps: 60), streamName: "frontS"))             } catch {                 print(error)             }         }     }
From here on you can connect to a web app such as https://meet.livekit.io/?tab=custom to view the tracks from another participant.
Expected behavior
Wanted Result:
View two tracks of the front and back camera
My result:
Only the most recent track has a camera shown, I will show an example in the screenshots, with the right image being the most recent Note when publishing tracks one by one, each track works until another track is published
Screenshots

Thanks for the detailed report, I'm thinking we need to expose ability to set custom AVCaptureSession such as AVCaptureMultiCamSession.

Patching WebRTC to see if this will work.
https://github.com/webrtc-sdk/webrtc/pull/132


Change Auto-download settings' title

Summary of the Pull Request
This PR changes the title of the auto-download setting in the old and new settings ui.

PR Checklist

[x] Applies to #2885
[x] CLA signed. If not, go over here and sign the CLA
[x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #2885

Detailed Description of the Pull Request / Additional comments
The updates don't get automatically downloaded when the user is connected over a metered connection. This is something the user should known about. Because of not have to be afraid on having extra costs and to not being confused if it not works on metered connections.
Old title: Download updates automatically
New Title: Download updates automatically (Except on metered connections, where charges may apply)

Validation Steps Performed
Not validation steps done.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: htcfreek sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@enricogior and @crutkas please review the changes. Is it right to change also the Title in the old settings (settings web) ui?


Webpart within a

Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Additional article idea

@lucabandMSFT
Hi Luca, per your suggestion to post my question here:
We at LiveTiles are working on the next generation of our LiveTiles Page Designer product, which will be in the form of an SPFx webpart, to target single page apps and Teams tabs as well. We would like to enable reusability of other webparts, so my question is would it be possible to render an SPFx webpart inside of our single webpart app page? This might involve loading a webpart, based on just its manifest and configuration, in a custom way, i.e. into a div container in our custom webpart app page.
Please let me know if you need more information.
Thank you!
-Trey Miller
Please

Is the question "can we load a web part within another web part" or "can one web part programatically load another web part in another div"?

And what exactly does this mean "our single webpart app page"?  (Maybe that's related to AC's comment).

@patmill It sounds like they are trying to use the FPAP option where a web part (err... app) loads another web part on that special page layout...
#NeedInput 🤖

Hi, yes I've butchered the terminology apparently. I mean a webpart with the supportedHosts property as "SharePointFullPage" but also potentially "TeamsTab".
To answer "Is the question "can we load a web part within another web part" or "can one web part programatically load another web part in another div"?"
Yes both of these basically describe my question. If you mean to ask which if these is my question, I would choose the latter, but both basically apply.

No, there isn't currently a way to have a webpart load another webpart, at least not in the same div/document.  You could probably have it iFrame a page that has a single webpart host though.


provide a portable mechanism for processes within container to obtain their image and container ids

What is the problem you're trying to solve
There are a number of use cases where the ability to portably obtain a container's image identity and its instance identity from within the container is valuable.
There are 2 major usecases:

Observability (or Monitoring): An application running within a container is able to emit telemetry (logs, traces, metrics) using a variety of tools (e.g. OpenTelemetry). On the receiving end of that telemetry it is highly valuable to be able to correlate this data with telemetry from the surrounding infrastructure. Correlation happens via a shared identifier. In the case of containers the container ID is a natural choice (as specified here as a semantic convention for OpenTelemetry). So while the outside system knows about the container.id, the application within the container can not (reliable) access that ID and attach it to the telemetry for correlation.

Scientific Reproducibility (quote from @mitar): "I have a 10 GB Docker images with many many dependencies which are build daily. Users run ML jobs using them. I want to be able to record exactly which version of the image was used so that if there is a need to retrain/verify/reproduce results, it is easy to fetch exactly that version of the Docker image. Digest of the Docker image is simply the easiest way to describe all the dependencies: system packages, Python packages, etc. (There is also hardware which can influence the results, but that we collect differently.)"

Describe the solution you'd like
Providing a set of environment variables, or a file at a well known location holding this information would be enough, e.g. CONTAINER_IMAGE_ID and CONTAINER_INSTANCE_ID or /run/metadata as suggested by @lpgc [1] and @sudo-bmitch [2]
Since there are potential security concerns of exposing those information, having a mechanism to opt in/opt out from having the information injected into the container.
Additional context
This is a follow-up issue to https://github.com/opencontainers/runtime-spec/issues/1105 raised by @lpgc. From that discussion it appears that it was common consensus that the runtime spec is not the right place to solve this, but that this kind of logic should rather go into the container engine, so I raise the issue here.
As of today a few work-arounds exist to access the container.id, but none of them is reliable/future-proof:

Depending on the cgroup version used, the container ID is exposed via /proc/self/cgroup and/or /proc/self/mountinfo
Sometimes a remote API is available that can be called to obtain the container ID (e.g. cloud providers often give that capability)
A privileged container running a telemetry collector (e.g. the OTel collector) can insert that information after retrival
Substitute information (like k8s pod identifer) can be used, if available.

Of course there are other places, where this could be solved, e.g. @mitar raised a similar request to enhance the Kubernetes Downward API for exposing the image ID, but this might not be work reliable for the container ID, since it is not available at container creation time.

+1, would really like to see this for our observability product!

+1, I am happy to contribute here by reviewing or testing

Oh, this was marked stale without any comment. Please unstale.


Redundant sep_token_extra option for RoBERTa Fine-tuning

🐛 Bug

Model I am using (Bert, XLNet....): RoBERTa
Language I am using the model on (English, Chinese....): English
Context
I was reading the code on RoBERTa fine-tuning and noticed the sep_token_extra option, which looks like a misinterpretation of a sentence from the original paper.
The current implementation added an extra [SEP] to the RoBERTa input compared to BERT, which seems wrong. Check out:

The Facebook language model format
A related Twitter discussion

The tasks I am working on is:
Fine-tuning RoBERTa on downstream tasks
Code Sample
https://github.com/huggingface/pytorch-transformers/search?q=sep_token_extra&unscoped_q=sep_token_extra

Myle Ott from Facebook commented on the Twitter thread (https://twitter.com/myleott/status/1175750596630056961) confirming that there is an extra separator being used, so there should be details I did not understand well.
I will revisit this issue when I understand it better.

The sep_token_extra param is deprecated, as we have simpler ways to do this now (thanks to @LysandreJik). Closing this for now, feel free to re-open if needed.


Client-side UI for JSON/CSV/XML export

This is the issue for design of the UI (if any, see below) integrating data export into the site.
Note: A valid solution for this may be: there is no UI in the site, only documentation for the API.
If we do want to integrate this into the UI of the site, the first step must be a sketch of where the integration will be and how it will work, before any development work is done. We can discuss and iterate on the sketch until folks are happy with it.
When and if the sketch is approved, technical considerations for implementation are:

Developed as a PR to be merged into the main codebase
Uses HTML/CSS/JS based on existing Participedia code and styles. State, if any, managed via React.

We intend to implement this feature by integrating it into the site's UI. A demo is currently in development which will hopefully provide insight into how we think the feature could be implemented. Regarding the sketch, we are refining our ideas on this feature's appearance and how it could integrate which we will share with you soon.

RE: Sketch
Integration
Regarding the design and placement of the export button. I assume the black download icon that currently displays on the site homepage:

is intended to be used for this purpose?
How it could work
Assuming that is the intended export button, it currently appears on the 'All', 'Cases', 'Methods', and 'Organizations' tabs. We were thinking that if, for example, the user presses the button while browsing the 'Cases' tab, a modal box could open up to export case data (and likewise for the other tabs).
We were thinking of something along these lines:

where the user is able to select which fields they want to include in the export. That's the general idea, but we are looking at developing a more appealing and practical method of field selection, since the barrage of checkboxes is rather crude.

Possible UI designs
1. Horizontal Scrollbar
A simple, no nonsense horizontal scrollbar where each field is given a checkbox to allow selection and deselection. The 'Select all' checkbox can be used to quickly select or deselect all fields.

2. Selector
Two lists represent the included and excluded fields. Users can intuitively select/deselect fields for inclusion/exclusion. Hardly any code required to set it up, although it does require the use of a third-party library (multiselect.js)

I like option 2 a lot better. The horizontal scroll on option 1 makes it hard to see all selections at once. Also, I'd check out this module for option 2. The multiselect functionality might be useful https://jedwatson.github.io/react-select/

@ascott @dethe @davidascher this is probably a good a place as any to mention issues around data export as outlined by @scottofletcher/ @plscully in this memo. In particular, the memo outlines the current state of xyz data having 18 different fields for location alone, a red flag that I was reminded of by Alanna's recent xyz front-end fix of the location duplication issue (https://github.com/participedia/frontend/pull/909) and the issue she posted about location data cleaning (https://github.com/participedia/api/issues/463).
Also, finding this issue when looking for issues about "data export" reminded me that a UI was proposed (maybe even build?) that could potentially serve as "faceted search" and allow users to download only the data they need.
I realize this may be a larger conversation, and can be placed on hold for now as we address localization, but its come up a few times lately with team members needing access to exports and I wanted to possibly address it in relation to some of the other database issues that seem to be coming up. Thanks!

@jesicarson Thank you for this. The more I think about the team's needs -- especially as they begin working on research projects to discuss at the June meeting, about which they will write papers in the ensuing year -- the ability of the average user to conduct faceted searches seems even more important than localization. That said, I am not suggesting we delay localization, only that we need to make it possible as soon as we can for users to conduct nested searches.


update reduce func signatures to not have influxql.Call arguments

Same thing we did for the map functions.

@corylanou You probably are interested in this PR.

This makes it easier for you to use them @nathanielc ?

@otoolep  Yes, this way I don't have to construct a Call object just to call the functions.

+1


Update to target multiple frameworks (netcoreapp3.1 and net5.0)

Resolves #36

Update library projects and tests to target both .NET Core 3.1 and .NET 5.0

Looking good. Could you add couple things:

ASP.NET Core 5.0 sample. Functionality could be identical to the current WebApp-sample.
Readme updated with a link to the new sample.

Thanks in advance :)

Looking good. Could you add couple things:

ASP.NET Core 5.0 sample. Functionality could be identical to the current WebApp-sample.
Readme updated with a link to the new sample.

Thanks in advance :)

Added a .NET 5.0 Web API sample project and updated the README.

Added a .NET 5.0 Web API sample project and updated the README.


Fix aperture_scatterguard issues and i04_system tests

Fixes #528 and fixes #540.
Instructions to reviewer on how to test:

In i03.py comment out robot (https://github.com/DiamondLightSource/dodal/pull/532), pin detect and panda
Run python tests/system_tests/test_i03_system.py, confirm passes
In fast_grid_scan.py comment out program_number (see https://jira.diamond.ac.uk/browse/I04-930)
Run python tests/system_tests/test_i04_system.py, confirm passes

Checks for reviewer

[ ] Would the PR title make sense to a scientist on a set of release notes
[ ] If a new device has been added does it follow the standards
[ ] If changing the API for a pre-existing device, ensure that any beamlines using this device have updated their Bluesky plans accordingly

Tests are failing due to https://github.com/DiamondLightSource/dodal/pull/535 so going to merge anyway


Update Search

This should be ready to go. I pumped up the max number of photos to 1,000 which should solve the problem of the max number of photos being shown at once, resulting in the page freezing.
This PR broke the ability to select photos (#115), but I don't think that has to stop this from getting merged. I can address that in a separate PR.


Delete detekt.yml

breaks codefactor

Why??

just do it

you set the threshold too high so it won't detect anything

I don't know what forbidden comment is, and 25 complexity is good enough.


Avoid race condition in find_stale_locks()

Because of the way we were checking nodes against running jobs, it was
possible to falsely report nodes as stale if they were part of a job
that was transitioning from the waiting to running state.
Signed-off-by: Zack Cerza<EMAIL_ADDRESS>

Tests passed for this pull request.
Refer to this link for build results: http://jenkins.ceph.com/job/teuthology-pull-requests/845/

Tests passed for this pull request.
Refer to this link for build results: http://jenkins.ceph.com/job/teuthology-pull-requests/846/


Open/Close - percentages not working in Spanish

Hi -
am getting feedback from some Spanish users that it doesn't recognise the command, returning the function is not available

Can you provide some examples of phrases which do not work?

Multiple user error!


NOT Compatible with entity graphics 1.21

when import this package to project, show lots of errors.
mainly keyword is about entity graphics

This package was build when dots was still in preview, so it could be that things have changed and not work anymore with newer versions.
You could lookup the change logs and figure out what changed. Maybe I will give it a look this weekend, but I'm not working on this anymore.

"unity": "2020.2"
"dependencies": {
"com.unity.entities": "0.16.0-preview.21",
"com.unity.render-pipelines.universal": "10.2.2",
"com.unity.shadergraph": "10.2.2",
"com.unity.rendering.hybrid": "0.10.0-preview.21"


support a generic gpio-key driver

Introduction
Introducing a generic gpio-key driver
Problem description
Every project I need rewrite a button driver to support button keys, so is there a gpio-key driver similar to Linux gpio-key.c?(sorry I used to work for Linux Driver and Kernel)
Proposed change
Not sure the kscan is suitable for this generic gpio-key driver, so maybe introduce another type driver?
Detailed RFC
gpio device tree definition like bellow:
	buttons {
		compatible = "gpio-keys";
		key_in: button_0 {
			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
			label = "Key in";
                        key_code = <KEY_XXX>; // both standard KEY and custom KEY support
		};
	};

with a generic gpio-key driver for application(not support long pressed detection)
Proposed change (Detailed)
get dts property and set gpio configuration, ISR invoke handler
Dependencies
standard gpio-key device tree
and DT macro for counting nodes
https://github.com/zephyrproject-rtos/zephyr/issues/38715
Concerns and Unresolved Questions
not sure it is a good idea
Alternatives
None

/*

SPDX-License-Identifier: Apache-2.0
*/
#define DT_DRV_COMPAT gpio_keys

#include <zephyr.h>
#include <device.h>
#include <drivers/gpio.h>
DT_GPIO_BY_IDX();
DT_INST_GPIO_FLAGS(DT_NODE)

struct gpio_keys_data {
//TBD
};
struct gpio_keys_config {
struct gpio_dt_spec *spec;
char *key_val;
int num;
};
static struct gpio_callback gpio_keys_cb;
static void gpio_keys_isr(const struct device *dev, struct gpio_callback cb, uint32_t pins)
{
/ FIXME: we don't make sure each pin has the same pin number */
struct gpio_keys_config cfg = dev->config;
int state = gpio_pin_get_dt(cfg->spec[pins]);
/ how to get pin number & key_val? */
}
static int gpio_keys_init()
{
int ret = 0;
struct gpio_keys_config *cfg = dev->config;
for (int i = 0; i < cfg->num; i++) {
    ret = gpio_pin_configure_dt(&cfg->spec[i], GPIO_INPUT);
    if (ret) {
        LOG_ERR("error %d gpio_pin_configure_dt", ret);
        break;
    }

    ret = gpio_pin_interrupt_configure_dt(&cfg->spec[i], GPIO_INT_EDGE_BOTH);
    if (ret) {
        LOG_ERR("error %d gpio_pin_interrupt_configure_dt", ret);
        break;
    }
    /* FIXME: in case if different pin number is same? */
    gpio_init_callback(&gpio_keys_cb, gpio_keys_isr, BIT(cfg->spec[i].pin));
    ret = gpio_add_callback(&cfg->spec[i].port, &gpio_keys_cb);
    if (ret) {
        LOG_ERR("error %d gpio_add_callback", ret);
        break;
    }
}

return ret;

}
struct gpio_keys_config config = {
.spec = GPIO_DT_SPEC_GET_OR() /* how to get all sw0 - swn ??? or in gpio_keys_data */
.num = DT_NUM_NODES(buttons);
};

@superna9999 @gmarull @mbolivar-nordic @galak FYI

I am not sure I understand the benefit of adding yet another driver layer on top of the already existing GPIO interrupt/callback mechanism? What is the problem with the existing GPIO API based solution?

it could be useful if you had a proper key event mapping & handling library alongside, as-is it's nothing more than a gpio interrupt sample code

Regarding the question /* how to get all sw0 - swn ??? or in gpio_keys_data */, you can obtain all keys like this:
struct gpio_keys_config {
    struct gpio_dt_spec spec;
    const char *key_val;
    int num;
};

#define INIT_KEY_CONFIG(node_id) \
    { .spec = GPIO_DT_SPEC_GET(node_id, gpios), \
      .key_val = DT_LABEL(node_id) \
      .num = DT_PROP(node_id, key_code) },

const struct gpio_keys_config kcfg[] = {
    DT_FOREACH_CHILD(DT_NODELABEL(buttons), INIT_KEY_CONFIG) /* note: requires `buttons: buttons {` in DT */
};

const size_t kcfg_cnt = ARRAY_SIZE(kcfg);

I haven't tested, but I think it should work. Note that gpio-keys compatible doesn't support key-code property, so you'll need to create your compatible.

hum...maybe this is useful when someone want beautiful code for numbers of keys
but why we use
.compatible = "gpio_keys"
with nothing to help and confusion.

It seems strange to me that the gpio interrupt handler has no way of reliably querying what pin caused the interrupt, nor what edge (rising or falling) triggered it, and therefore cannot query the value of the pin. The only way to do it is to create a separate handler for each pin, rather than sharing the handlers. The fact that the handler sends the pin mask of all the pins that might trigger the handler, to the handler, is even stranger since that info is not that useful.

It seems strange to me that the gpio interrupt handler has no way of reliably querying what pin caused the interrupt, nor what edge (rising or falling) triggered it, and therefore cannot query the value of the pin. The only way to do it is to create a separate handler for each pin, rather than sharing the handlers. The fact that the handler sends the pin mask of all the pins that might trigger the handler, to the handler, is even stranger since that info is not that useful.

This is a typical limitation of the underlying hardware.

Seems like a limitation of Zephyr. Zephyr already associates a callback and data structure with a pin, and then lets you configure how the callback is triggered, as in which edge triggers it. Seems like it would not be too difficult to save some of this information in the callback data structure and return it to the handler, since the callback data and the pins are already returned. Recording the edge that triggered might require driver support. There is lots of hardware that supports knowing which edge is triggering. Zephyr simply doesn't support exposing that to the app if its available.

Seems like it would not be too difficult to save some of this information in the callback data structure and return it to the handler, since the callback data and the pins are already returned.

Could Zephyr try to save context and pass each pin handler?

That should be really easy with a user data field in the callback data. Maybe a void*? Just annotate that the data can't be on the stack.

That should be really easy with a user data field in the callback data. Maybe a void*? Just annotate that the data can't be on the stack.

This can already be done using the existing GPIO API. Please see the exception mentioned in https://docs.zephyrproject.org/latest/develop/api/design_guidelines.html#using-callbacks.

Closing this as we now have a generic GPIO keys input driver (see drivers/input/input_gpio_keys.c).


potential breaking of backwards compat with introduction of mesh/info endpoint

We are currently working with an older fork of neuroglancer, exclusively with the precomputed datasource. For displaying of the meshes, we generate meshes in legacy formats, and populate the mesh:{meshDir} key:value pair in /info endpoint in precomputed datasource. Because the precomputed data are generated before the introduction of other mesh formats, {meshDir}/info were not generated.
Also, as a result of the server configuration, 404 responses do not have CORS header appended. This results in network error, rather than 404 error. It appears that neuroglancer does not assume legacy format in the event of network error, and will not continue to load meshes (or segments, for that matter, it seems)
I wonder if neuroglancer can assume legacy mesh format when attempt to load {meshDir}/info endpoint, regardless of the error?
I can provide a PR if you think this might be feasible?

This issue in principle should be fixed by https://github.com/google/neuroglancer/commit/b5b19f4e3a5c4795ad410e13ffe5b04444024c02