progresses towards established target (from below) test failure

      progresses towards established target (from below):     FAIL (509.01s)
          *** Failed! Falsified (after 85 tests and 390 shrinks):
          GovernorMockEnvironment {peerGraph = PeerGraph [(PeerAddr 18,[],GovernorScripts {peerShareScript = Script (Nothing :| []), peerSharingScript = Script (PeerSharingDisabled :| []), connectionScript = Script ((Noop,NoDelay) :| [])}),(PeerAddr 21,[],GovernorScripts {peerShareScript = Script (Nothing :| []), peerSharingScript = Script (PeerSharingDisabled :| []), connectionScript = Script ((ToCooling,NoDelay) :| [(Noop,NoDelay)])})], localRootPeers = fromGroups [(HotValency {getHotValency = 1},WarmValency {getWarmValency = 1},fromList [(PeerAddr 21,DoAdvertisePeer)])], publicRootPeers = fromList [(PeerAddr 18,(DoAdvertisePeer,IsNotLedgerPeer))], bigLedgerPeers = fromList [PeerAddr 18], targets = Script ((PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay) :| [(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 1, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},ShortDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 1, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 1, targetNumberOfEstablishedBigLedgerPeers = 1, targetNumberOfActiveBigLedgerPeers = 0},NoDelay)]), pickKnownPeersForPeerShare = Script (PickFirst :| []), pickColdPeersToPromote = Script (PickFirst :| []), pickWarmPeersToPromote = Script (PickFirst :| []), pickHotPeersToDemote = Script (PickFirst :| []), pickWarmPeersToDemote = Script (PickFirst :| []), pickColdPeersToForget = Script (PickFirst :| []), peerSharing = PeerSharingEnabled}

          Signal key: (target, known big ledger peers, established big ledger peers, recent failures, opportunities, ignored too long)
          Last 20 signal values:
          Time 35990s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35990s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])
          Time 35991s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35991s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])
          Time 35992s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35992s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])
          Time 35993s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35993s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])
          Time 35994s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35994s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])
          Time 35995s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35995s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])
          Time 35996s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35996s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])
          Time 35997s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35997s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])
          Time 35998s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35998s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])
          Time 35999s   : (1,fromList [PeerAddr 18],fromList [PeerAddr 18],fromList [],fromList [],fromList [])
          Time 35999s   : (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [])

          Property violated at: Time 36009s
          Invalid signal value:
          (1,fromList [PeerAddr 18],fromList [],fromList [],fromList [PeerAddr 18],fromList [PeerAddr 18])

          Use --quickcheck-replay=316097 to reproduce.
          Use -p '/big ledger peers.progresses towards established target (from below)/' to rerun this test only.
          ```

I checked that this counterexample passes on master branch (110e3a442).

Another similar failure:
        progresses towards established target (from below):     FAIL (782.23s)
          *** Failed! Falsified (after 49 tests and 530 shrinks):
          GovernorMockEnvironment {peerGraph = PeerGraph [(PeerAddr 2,[PeerAddr 13],GovernorScripts {peerShareScript = Script (Nothing :| [Nothing,Just ([PeerAddr 13],PeerShareTimeQuick)]), peerSharingScript = Script (PeerSharingDisabled :| [PeerSharingEnabled]), connectionScript = Script ((ToCold,NoDelay) :| [(Noop,NoDelay)])}),(PeerAddr 9,[],GovernorScripts {peerShareScript = Script (Nothing :| []), peerSharingScript = Script (PeerSharingDisabled :| []), connectionScript = Script ((Noop,NoDelay) :| [])}),(PeerAddr 13,[],GovernorScripts {peerShareScript = Script (Nothing :| []), peerSharingScript = Script (PeerSharingDisabled :| []), connectionScript = Script ((ToCold,NoDelay) :| [(ToCooling,NoDelay),(Noop,NoDelay)])})], localRootPeers = fromGroups [], publicRootPeers = fromList [(PeerAddr 2,(DoAdvertisePeer,IsLedgerPeer)),(PeerAddr 9,(DoAdvertisePeer,IsNotLedgerPeer))], bigLedgerPeers = fromList [PeerAddr 9], targets = Script ((PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay) :| [(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 1, targetNumberOfKnownPeers = 2, targetNumberOfEstablishedPeers = 1, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 1, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},LongDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 2, targetNumberOfEstablishedPeers = 1, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},LongDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 2, targetNumberOfEstablishedPeers = 2, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},LongDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 1, targetNumberOfEstablishedBigLedgerPeers = 1, targetNumberOfActiveBigLedgerPeers = 0},NoDelay)]), pickKnownPeersForPeerShare = Script (PickFirst :| []), pickColdPeersToPromote = Script (PickFirst :| []), pickWarmPeersToPromote = Script (PickFirst :| []), pickHotPeersToDemote = Script (PickFirst :| []), pickWarmPeersToDemote = Script (PickFirst :| []), pickColdPeersToForget = Script (PickFirst :| []), peerSharing = PeerSharingEnabled}

          Signal key: (target, known big ledger peers, established big ledger peers, recent failures, opportunities, ignored too long)
          Last 20 signal values:
          Time 35990s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35990s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])
          Time 35991s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35991s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])
          Time 35992s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35992s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])
          Time 35993s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35993s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])
          Time 35994s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35994s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])
          Time 35995s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35995s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])
          Time 35996s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35996s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])
          Time 35997s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35997s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])
          Time 35998s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35998s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])
          Time 35999s   : (1,fromList [PeerAddr 9],fromList [PeerAddr 9],fromList [],fromList [],fromList [])
          Time 35999s   : (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [])

          Property violated at: Time 36009s
          Invalid signal value:
          (1,fromList [PeerAddr 9],fromList [],fromList [],fromList [PeerAddr 9],fromList [PeerAddr 9])

          Use --quickcheck-replay=816426 to reproduce.
          Use -p '/big ledger peers.progresses towards established target (from below)/' to rerun this test only.

I bisected that:
git bisect good
7b092d2a580b31d485ab2e11769139b0c77f5859 is the first bad commit
commit 7b092d2a580b31d485ab2e11769139b0c77f5859
Author: Armando Santos<EMAIL_ADDRESS>Date:   Fri Oct 13 15:54:22 2023 +0100

    Move cooling peers cache to PeerSelectionState

    Add no assertion failure to testnet test suite

    Fix livelock test and peer seleection dodgy trace test

 .../src/Ouroboros/Network/InboundGovernor.hs       |   8 +-
 ouroboros-network/CHANGELOG.md                     |   2 +-
 .../Test/Ouroboros/Network/PeerSelection.hs        |  54 +++++++++--
 .../Test/Ouroboros/Network/Testnet.hs              | 105 +++++++++++++++++++--
 .../Ouroboros/Network/PeerSelection/Governor.hs    |  24 ++---
 .../Network/PeerSelection/Governor/ActivePeers.hs  |  19 +++-
 .../PeerSelection/Governor/EstablishedPeers.hs     |  42 ++++++---
 .../Network/PeerSelection/Governor/KnownPeers.hs   |   2 +
 .../Network/PeerSelection/Governor/Monitor.hs      |  67 +++++++------
 .../Network/PeerSelection/Governor/Types.hs        |  11 +++
 10 files changed, 251 insertions(+), 83 deletions(-)

This counter example fails on this commit:
prop_x = prop_governor_target_established_big_ledger_peers_below
   GovernorMockEnvironment {peerGraph = PeerGraph [(PeerAddr 2,[PeerAddr 13],GovernorScripts {peerShareScript = Script (Nothing :| [Nothing,Just ([PeerAddr 13],PeerShareTimeQuick)]), peerSharingScript = Script (PeerSharingDisabled :| [PeerSharingEnabled]), connectionScript = Script ((ToCold,NoDelay) :| [(Noop,NoDelay)])}),(PeerAddr 9,[],GovernorScripts {peerShareScript = Script (Nothing :| []), peerSharingScript = Script (PeerSharingDisabled :| []), connectionScript = Script ((Noop,NoDelay) :| [])}),(PeerAddr 13,[],GovernorScripts {peerShareScript = Script (Nothing :| []), peerSharingScript = Script (PeerSharingDisabled :| []), connectionScript = Script ((ToCold,NoDelay) :| [(ToCooling,NoDelay),(Noop,NoDelay)])})], localRootPeers = LocalRootPeers.fromGroups [], publicRootPeers = Map.fromList [(PeerAddr 2,(DoAdvertisePeer,IsLedgerPeer)),(PeerAddr 9,(DoAdvertisePeer,IsNotLedgerPeer))], bigLedgerPeers = Set.fromList [PeerAddr 9], targets = Script ((PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay) :| [(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},NoDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 1, targetNumberOfKnownPeers = 2, targetNumberOfEstablishedPeers = 1, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 1, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},LongDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 2, targetNumberOfEstablishedPeers = 1, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},LongDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 2, targetNumberOfEstablishedPeers = 2, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 0, targetNumberOfEstablishedBigLedgerPeers = 0, targetNumberOfActiveBigLedgerPeers = 0},LongDelay),(PeerSelectionTargets {targetNumberOfRootPeers = 0, targetNumberOfKnownPeers = 0, targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = 0, targetNumberOfKnownBigLedgerPeers = 1, targetNumberOfEstablishedBigLedgerPeers = 1, targetNumberOfActiveBigLedgerPeers = 0},NoDelay)]), pickKnownPeersForPeerShare = Script (PickFirst :| []), pickColdPeersToPromote = Script (PickFirst :| []), pickWarmPeersToPromote = Script (PickFirst :| []), pickHotPeersToDemote = Script (PickFirst :| []), pickWarmPeersToDemote = Script (PickFirst :| []), pickColdPeersToForget = Script (PickFirst :| []), peerSharing = PeerSharingEnabled}

It could be that because of the renaming of types back and forth, I didn't really get the first commit that introduced the problem.

I worked with this counter example on this commit 7b092d2a580b31d485ab2e11769139b0c77f5859:
prop_x = prop_governor_target_established_big_ledger_peers_below
   GovernorMockEnvironment {
       peerGraph = PeerGraph
         [
         (PeerAddr 2
          ,[]
          ,GovernorScripts {peerShareScript   = Script (Just ([PeerAddr 13],PeerShareTimeQuick) :| []),
                            peerSharingScript = Script (PeerSharingDisabled :| [PeerSharingEnabled]),
                            connectionScript  = Script ((ToCold,NoDelay)    :| [(Noop,NoDelay)])}
          ),
          (PeerAddr 9
          ,[]
          ,GovernorScripts {peerShareScript = Script (Nothing :| []),
                            peerSharingScript = Script (PeerSharingDisabled :| []),
                            connectionScript = Script ((Noop,NoDelay) :| [])}),
          (PeerAddr 13
          ,[]
          ,GovernorScripts {peerShareScript = Script (Nothing :| []),
                            peerSharingScript = Script (PeerSharingDisabled :| []),
                            connectionScript = Script ((ToCooling,NoDelay) :| [(ToCold,NoDelay), (Noop,NoDelay)])})] ,
       localRootPeers  = LocalRootPeers.fromGroups [],
       publicRootPeers = Map.fromList [(PeerAddr 2,(DoAdvertisePeer,IsLedgerPeer)),
                                       (PeerAddr 9,(DoAdvertisePeer,IsNotLedgerPeer))
                                      ],
       bigLedgerPeers  = Set.fromList [PeerAddr 9],
       targets = Script ((PeerSelectionTargets {targetNumberOfRootPeers = 0,
                                                targetNumberOfKnownPeers = 0,
                                                targetNumberOfEstablishedPeers = 0,
                                                targetNumberOfActivePeers = 0,
                                                targetNumberOfKnownBigLedgerPeers = 0,
                                                targetNumberOfEstablishedBigLedgerPeers = 0,
                                                targetNumberOfActiveBigLedgerPeers = 0},NoDelay) :|
                        [ (PeerSelectionTargets {targetNumberOfRootPeers = 1,
                                                targetNumberOfKnownPeers = 2,
                                                targetNumberOfEstablishedPeers = 1,
                                                targetNumberOfActivePeers = 0,
                                                targetNumberOfKnownBigLedgerPeers = 1,
                                                targetNumberOfEstablishedBigLedgerPeers = 0,
                                                targetNumberOfActiveBigLedgerPeers = 0},LongDelay),
                          (PeerSelectionTargets {targetNumberOfRootPeers = 0,
                                                 targetNumberOfKnownPeers = 2,
                                                 targetNumberOfEstablishedPeers = 1,
                                                 targetNumberOfActivePeers = 0,
                                                 targetNumberOfKnownBigLedgerPeers = 0,
                                                 targetNumberOfEstablishedBigLedgerPeers = 0,
                                                 targetNumberOfActiveBigLedgerPeers = 0},LongDelay),
                          (PeerSelectionTargets {targetNumberOfRootPeers = 0,
                                                 targetNumberOfKnownPeers = 2,
                                                 targetNumberOfEstablishedPeers = 2,
                                                 targetNumberOfActivePeers = 0,
                                                 targetNumberOfKnownBigLedgerPeers = 0,
                                                 targetNumberOfEstablishedBigLedgerPeers = 0,
                                                 targetNumberOfActiveBigLedgerPeers = 0},LongDelay),
                          (PeerSelectionTargets {targetNumberOfRootPeers = 0,
                                                 targetNumberOfKnownPeers = 0,
                                                 targetNumberOfEstablishedPeers = 0,
                                                 targetNumberOfActivePeers = 0,
                                                 targetNumberOfKnownBigLedgerPeers = 1,
                                                 targetNumberOfEstablishedBigLedgerPeers = 1,
                                                 targetNumberOfActiveBigLedgerPeers = 0},NoDelay)
                        ]),
       pickKnownPeersForPeerShare = Script (PickFirst :| []),
       pickColdPeersToPromote     = Script (PickFirst :| []),
       pickWarmPeersToPromote     = Script (PickFirst :| []),
       pickHotPeersToDemote       = Script (PickFirst :| []),
       pickWarmPeersToDemote      = Script (PickFirst :| []),
       pickColdPeersToForget      = Script (PickFirst :| []),
       peerSharing                = PeerSharingEnabled
     }

I pushed this to coot/issue-4741 branch.

I think this striked again: https://ci.iog.io/build/2799577/nixlog/1


Add Jetpack

https://github.com/nsk-mironov/kotlin-jetpack

Thank you, i added your project under tags 'android' and 'bindigs'.


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cos/ibm (source)
module
patch
8.3.0 -> 8.3.2

terraform-ibm-modules/event-notifications/ibm (source)
module
patch
1.4.2 -> 1.4.3

Release Notes

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v8.3.2
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/kms-all-inclusive/ibm to v4.13.2 (#637) (6425d8b)

v8.3.1
Compare Source
Bug Fixes

fixed bug in validation of resource_keys roles. It was incorrectly checking for None an now it correctly checks for NONE (#632) (5473ee2)

terraform-ibm-modules/terraform-ibm-event-notifications (terraform-ibm-modules/event-notifications/ibm)
v1.4.3
Compare Source
Bug Fixes

deps: update terraform-module (#162) (4adb8fa)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

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


Add environment variable support, idiomatic errors

This PR brings the library in sync with other AkamaiOPEN-edgegrid libraries, as well as trying to make it a little more idiomatic for Golang developers by returning errors instead of panic()ing

Add InitEdgeRc and InitEnv functions
Add Init convenience function (see below)
Retain BC for InitConfig

Mark as deprecated

Add more idiomatic errors (new Init* functions return (Config, error))

The new Init function that will try to use the environment and fallback to .edgerc.
This function will check in order:

AKAMAI_{SECTION}_* environment variables
if using the default section, AKAMAI_* environment variables
the specified (or default if none) section in .edgerc
if not using the default section, AKAMAI_* environment variables

This new function is the recommended way for instantiating an instance.
The environment variables are:

AKAMAI_HOST or AKAMAI_{SECTION}_HOST
AKAMAI_CLIENT_TOKEN or AKAMAI_{SECTION}_CLIENT_TOKEN
AKAMAI_CLIENT_SECRET or AKAMAI_{SECTION}_CLIENT_SECRET
AKAMAI_ACCESS_TOKEN or AKAMAI_{SECTION}_ACCESS_TOKEN

To-Do:

[x] Update example code to use recommended functions

Thanks for the PR!
👍


pixi repodata fetching progress bar stays at 0 B @ 0 B/s and doesn't progress until it's done

https://github.com/prefix-dev/pixi/assets/29506042/2d3b347a-5da3-49fe-8e74-ba469773fe45
is this behavior intentional?

It isn't and we are very unhappy with it. It is a artifact of our jlap implementation. We plan to work on it soon, so improved feedback is coming!

We have since refactored this code significantly. There is still some unclearity when fetching jlap related data but at least now thats visible in the CLI. Closing for now.


can add cdata in html page?

some site have metadata,metadata.action,metadata.cdata need support that

Hello, can you please send example url of the website ?

Hello, can you please send example url of the website ?

https://skinport.com/

Hello, can you please send example url of the website ?

https://skinport.com/

I have never worked with cdata etc but it looks like you don't need it. I have fixed api code so you can use it to get token for this website

I am 100% sure metadata is needed to resolve my captcha. Can I message you in private somewhere to describe it further?

Hello, can you please send example url of the website ?

https://skinport.com/

I have never worked with cdata etc but it looks like you don't need it. I have fixed api code so you can use it to get token for this website

I am 100% sure metadata is needed to resolve my captcha. Can I message you in private somewhere to describe it further?

You can message here as I want to keep conversations for this project here so other people can get help if they have same problem also did you tried solving captcha for that website and using it ?

Hello, can you please send example url of the website ?

https://skinport.com/

I have never worked with cdata etc but it looks like you don't need it. I have fixed api code so you can use it to get token for this website

I am 100% sure metadata is needed to resolve my captcha. Can I message you in private somewhere to describe it further?

You can message here as I want to keep conversations for this project here so other people can get help if they have same problem also did you tried solving captcha for that website and using it ?

I've tried using your solver without any cdata. Ended up not working as I expected. Each of my captcha is unique and requires cdata and action parameters.

Hello, can you please send example url of the website ?

https://skinport.com/

I have never worked with cdata etc but it looks like you don't need it. I have fixed api code so you can use it to get token for this website

I am 100% sure metadata is needed to resolve my captcha. Can I message you in private somewhere to describe it further?

You can message here as I want to keep conversations for this project here so other people can get help if they have same problem also did you tried solving captcha for that website and using it ?

I've tried using your solver without any cdata. Ended up not working as I expected (tokens I get do not work). Each of my captcha is unique and requires cdata and action parameters. I would be beyond grateful for adding this feature. You can even charge me

okay I will look into it later currently I have exams and need to be ready for finals btw be around maybe I'll need your help 😉

Hi, just a dump question how can I know if a website has metadata with the captcha? I might encounter the same issues.

Hi, just a dump question how can I know if a website has metadata with the captcha? I might encounter the same issues.

insert an intercept script before captcha loads then load it


Stop Abbreviating Numbers in Contribution Flow

As per the discussion https://github.com/opencollective/opencollective-frontend/pull/6632#issuecomment-883402851, it was suggested that we should stop abbreviating numbers in the contribution flow. Currently the contribution flow looks like this,

Abbreviating number I think has a purpose in the context of currencies such as YEN where the monetary amounts are normally large values (ex: 10000, 20000 so on). But for other currencies doing this might not be worthwhile and thus my suggestion is that we should only abbreviate for these currencies not all. 🤔
Let me know your thoughts.
@opencollective/core

I think it's fine whatever the currency. We can try it and iterate if it's a problem.
Note that it's still important to format properly the strings for readability, 5,000,000 and not 5000000.

It would be interesting to have some feedback from @opencollective/design (who initially proposed this) and native English speakers (@alanna) on this one.

$1.234k and $4.321kare not abbreviations that are used in English and I think they look weird. Even more, it doesn't actually abbreviate it because it's the same number of characters as$1,234and$4,321. Abbreviations with K are usually approximations or at least perfectly round numbers. Abbreviations with decimals really only start with m for million as in $4.2m`.

++ if the amount is over 10k then I might expect abbreviations in the USD, GBP or EU for round numbers 10k 10.2k and at a stretch 10.23k but three decimals on abbreviations is weird.

Abbreviation with decimals seems a clear no go.
I personally think it's a bit complex to abbreviate in some cases and in some not, this is why I initially proposed to stop abbreviating altogether. Remember that we're talking about the presets of the contribution flow, so it's really uncommon to have really big numbers here.

Just to note, the number of valid collectives which has tiers which include amounts greater than, 100,000 is around 1 or 2 according to my rough calculations (and those don't seem to have any contributions for those tiers). So my thinking is abbreviations for amounts larger than this amount isn't probably useful. 🤔

I think this discussion is stale unless there's any alternative proposals which you strongly think we should reiterate on. Thus I am closing this issue for now. But please feel free to let me know otherwise. 😄 🤔


Fetching episode specific information

For Fetching Episode Specific Data

Thanks @kunalnpandey  for sending this PR. I appreciate your contribution, but please get the issue assigned to yourself beforehand so that others know. Please keep that in mind for further contributions.
Could you give the sample usage and output for the code change you've made ?

Well I think I have handled the corner cases  which may generate errors and also have updated the README.

I have updated the code as you suggested.

Well now I think it will handle all the corner cases

Great work !
I'll be squashing these commits while I merge it. Thank you for your contribution, I hope you keep contributing :smile:

😊😊
Sure Sir..!

I think now that issue that has been assigned to me has resolved.


Is there any chance to get rid of the top notification?

It causes the whole website to jump around - and that is, especially when setting up kanboard or adding users or configure projects - quite annoying. Or working with the time sheet - adding time slots for the weekly schedule.

I agree. It makes more sense to use the accepted modern practice of an
overlay that uses the same timings, instead of pushing it all down.
On 31 Oct 2015 9:22 pm, "antiphasis"<EMAIL_ADDRESS>wrote:

It causes the whole website to jump around - and that is, especially when
setting up kanboard or adding users or configure projects - quite annoying.
Or working with the time sheet - adding time slots for the weekly schedule.
—
Reply to this email directly or view it on GitHub
https://github.com/fguillot/kanboard/issues/1439.

I merged a pull-request that place the notification at the bottom of page.


Screenshots need to be adjusted as the checkbox position has changed in latest version of VS

"Enable full solution analysis" checkbox is now the first checkbox in the Text Editor -> C# -> Advanced page.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6c86ab93-c317-1fb8-16a8-d221138435d1
Version Independent ID: 71cbbca2-44d0-8f69-1937-a286fef52bdb
Content
Content Source
Service: unspecified

@mavasani thanks Manish!

Fixed with https://github.com/MicrosoftDocs/visualstudio-docs-pr/pull/1670.


Config parser seems to not truncate comments?

I added a comment at the end of a line in my config file like this:
              IPs:
                        - X.X.X.X # BAD

Running mox then fails:
l=fatal m="http: listen" err="listen tcp: lookup X.X.X.X # BAD: no such host" pkg=http addr="X.X.X.X # BAD:8010"

I didn't look at the config parsing code but shouldn't it be doing the equivalent of a foo.split("#")[0] for each line?
Note this leads to some weird results if you use it in places like:
DataDir: ../data # FOO

because it leads to things like:
drwxr-s--- 6 mox  root     4096 Aug 29 01:52 'data # FOO'

This suggests you might want to also sanitize inputs in the filesystem handling code because that in some cases can lead to weird exploits being possible/easier.

Hi @kikoreis, good points. The format is a custom format called sconf. Not stripping "#" at the end of lines is indeedlikely surprising for people used to editing config files. Sconf is intentionally very basic, and so is the string parsing. E.g. there is no way to have a multiline string, there is no escaping mechanism. And that's why "#" is also not treated specially.
I can't easily add "#"-as-comment handling to sconf, perhaps in a future update. But I'll add a comment to the top of the config files explaining some peculiarities of the format, that will hopefully prevent some problems.

I think this is finished. If you have other changes in mind, feel free to reopen.


Broken for 1.20.1

Fabric won't load the mod on version 1.20.1. Says the mod is incompatible,

Fixed in #5
https://modrinth.com/mod/pride-fishing-line/version/aOM87voP


TypeScript representation of F# unions

#820 proposed a TS representation of F# unions with a base class to contain the methods, a set of interfaces for each case, and the union type itself as type MyUnion = MyUnion.Class & (MyUnion.X | MyUnion.Y). We have since found that such use of intersections can be problematic because TypeScript distributes the intersection into the union. The type is interpreted as (MyUnion.Class & MyUnion.X) | (MyUnion.Class & MyUnion.Y) which is basically useless to the type inference: no type narrowing (see below) and no upcast to MyUnion.Class.
So instead we should represent unions as a base class and interfaces that extend it, and then MyUnion can just be a union of them. In effect a type like this:
type MyUnion =
  | Case1 of string * int
  | Case2 of bool

would be represented as:
namespace MyUnion {
  class $ {
    constructor (public $: 0 | 1, public $0: string | bool, public $1?: int) {}
  }
  interface Case1 extends $ { $: 0; $0: string; $1: number }
  interface Case2 extends $ { $: 1; $1: bool }
}
type MyUnion = MyUnion.Case1 | MyUnion.Case2;

// Example use:

// Constructing a Case1 value -- should we make a function for it?
var x = <MyUnion>new MyUnion.$(0, "test", 42)

// Pattern matching -- this can now take advantage of TypeScript's type narrowing:
switch (x.$) {
  case 0:
    // x is now known to be a Case1 and its fields are typed accordingly:
    console.log("It's a Case1: " + x.$0);
    break;
  case 1:
    // x is now known to be a Case2 and its fields are typed accordingly:
    console.log("It's a Case2: " + (x.$0 ? "true" : "false"));
    break;
}

One problem still remains: inside MyCase methods, which will be implemented as methods on the MyCase.$ type, this is only known to be of type MyCase.$ rather than MyCase, so it can't be passed to functions that expect a MyCase, nor can it take advantage of type narrowing like above. I think the simplest solution is to simply define a var $this = <MyCase>this; at the beginning of the method and use $this instead of this.

I just realized that the method issue can be solved thanks to declared overloads on the constructor:
namespace MyUnion {
  class $ {
    constructor($: 0, $0: string, $1: number);
    constructor($: 1, $0: bool);
    constructor(public $, public $0, public $1) {}

    print(): string {
      // The magic happens here: TS is able to infer that `MyUnion.$` structurally matches `MyUnion`,
      // so we don't need to use a cast such as `printUnion(<MyUnion>this)`.
      return printUnion(this);
      // Note: `this.$0` and `this.$1` still always have type `any` (no narrowing),
      // but since that can be passed to anything, it's not a problem.
    }
  }
  // snip interfaces...
}
type MyUnion = MyUnion.Case1 | MyUnion.Case2;

function printUnion(u: MyUnion) { /* ... */ }

One other thing to note: type tests (F# :?, TS instanteof) will need to test against MyUnion.$ rather than MyUnion.

Union construction can fail to type check when all cases have more than one fields, because the common fields are marked optional incorrectly in base class $. Failing: WebSharper.Web.Tests.Server.T1

When a union has cases with multiple number of fields, base class do not cast automatically to cases with not the minimum number of fields and TS type system can remove them incorrectly.
Solutions:

Always add a type assertion when constructing a union value.
Create global functions for creating union cases which returns it typed as the full union type.


Wait option has been lost(?)

Hi,
I was looking for an option to wait until the current process has terminated before the next one started, and I came across this old functionality: https://github.com/Qard/onchange/issues/45
Was this intentionally dropped or superceded by another option that I can't find? If the former, any chance of re-implementing it?
Thanks,
John
PS My scenario is debugging in VSC and test processes don't get killed properly when using the -k option when on a breakpoint, so I was hoping that a '-w' option to wait for the current process to finish would help me.

So version 5 switched to queue up tasks by default: https://github.com/Qard/onchange/releases/tag/v5.0.0. I believe that's similar to the old --wait option (PR here https://github.com/Qard/onchange/pull/67) and what you're describing might be considered a bug. It shouldn't start a new process until the first one is killed.


Solution 02 by peguerosdc

Hi!
This is my solution to challenge 2 using Grover's algorithm. Everything in the Jupyter notebook is commented, but feel free to ask any questions if needed.
Some caveats (or how I like to call it: "future work"):

It is considered that the minimum Hamming distance to find is 1. How can this be extended to consider any arbitrary minimum distance?
It is considered that we know in advance the amount of solutions to find so the amount of iterations can be calculated.

I have updated my proposal so now we don't have to consider that the minimum Hamming distance is 1, but now we have to know the distances for every possible pair.
I don't feel it is necessarily an improvement as one constraint was removed to introduce another one, but I'd say it's just different 🙂

Thank you @peguerosdc. I will look into your submission soon.

Thank you @peguerosdc. I will look into your submission soon.

Thank you @peguerosdc for your solution. I like how you looked into how to iteratively amplify minimum hamming distances in increasing order. That was an open question I had in my solution.
I'm curious -- how long did this take to run?

Thank you @peguerosdc for your solution. I like how you looked into how to iteratively amplify minimum hamming distances in increasing order. That was an open question I had in my solution.
I'm curious -- how long did this take to run?

Thank you @amirebrahimi !
I am using IBM's online back-ends and for the first test case (4 digit strings with a total of 0+9+7+13=29 iterations) it takes 15.39 seconds. For the second test case with a considerably greater complexity (5 digit strings with a total of 0+25+18+18+25=86 iterations) it takes 6.03 minutes. Probably this would make the circuit impractical for some cases where N and k make the amount of iterations (~execution time) too large :confused:

Thank you @amirebrahimi !
I am using IBM's online back-ends and for the first test case (4 digit strings with a total of 0+9+7+13=29 iterations) it takes 15.39 seconds. For the second test case with a considerably greater complexity (5 digit strings with a total of 0+25+18+18+25=86 iterations) it takes 6.03 minutes. Probably this would make the circuit impractical for some cases where N and k make the amount of iterations (~execution time) too large :confused:


Other exchanges

Is it possible for you to add yobit, cryptobridge, bittrex, polinex and a few more which are here.
https://github.com/tpruvot/yiimp/tree/next/web/yaamp/core/exchange

And also a way to define a coin to to pull from a certain exchange. I have a coin that is listed only on yobit but it pulls a coin with the same tag from cryptopia.And @can  but they are 2 diff coins

Hi, yes I could but I have no interest implementing this at the moment. Don't you want to try it yourself ? Python is very easy to start with


chore: heimdall-common replacements

Motivation
Addresses #240

Took a glance, looks good! I'll need to review more tomorrow morning & check each module but i'm afk right now.
Thank you so much for this ❤

Looks like we need to cover heimdall-core::dump, heimdall-core::inspect, heimdall-core::snapshot, as well.
otherwise, looking great!

I'll take a look at those later today 🫡

Looks like we need to cover heimdall-core::dump, heimdall-core::inspect, heimdall-core::snapshot, as well.
otherwise, looking great!

Made the changes for heimdall-core::dump and heimdall-core::inspect.
heimdall-core::snapshot is already using all the functions calls listed on the issue, since they were introduced on  https://github.com/Jon-Becker/heimdall-rs/pull/198, which was the snapshot module refactor


evpn-mh tutorial added

EVPN multi-homing tutorial (draft) added

Hi @aaakpinar I should be able to start a review this week. First thing I'd ask you to put the lab files to a repo I created -- https://github.com/srl-labs/srl-l3evpn-lab/tree/main
For l2evpn I had the files in learn.srlinux.dev repo, but this proved to be an inconvenient way of hosting lab files.
And same for the diagram - it should be moved to a lab repo

Okay @hellt will do, but why is the name l3evpn? There's no l3 evpn in this one. Could you create something like 'srl-evpn-mh-lab' for this one?
It would make more sense if we get hackathon's 'srl-generic-lab' as 'srl-l3evpn-lab' here.

@aaakpinar my bad, I will rename it to srl-evpn-mh-lab

renaming done

renaming done

I was using the below method to show the lab files (took it from the l2evpn tutorial).
--8<-- "labs/evpn-mh/evpn-mh.clab.yml"

Since the lab files are in another repo now, would it work if I use the full URL there?
--8<-- "https://github.com/srl-labs/srl-evpn-mh-lab/evpn-mh.clab.yml"

It's not something that automatically works in GitHub so I'm not sure.

@aaakpinar you have to use raw.github links for that

Just pushed a draft. Ready for a review.

resubmitted in #100


IAM Policy merge drops used resources

It can happen that policy resource updates do net get merged correctly, i.e. a new resource entry on an existing policy gets ignored.

This happens only, if the policy resources consist of exactly the same properties but one with additional ones. An example is a Fn::Join that builds the arn of a Dynamo table and a second resource, that only adds one parameter to the join (e.g. a table index).

The problem is, that the _.isMatch() function in lodash only performs a partial comparison.


Failed to execute "git lfs pull"

Hi, I encountered to an error like:
git lfs pull
batch response: This repository is over its data quota. Purchase more data packs to restore access.
error: failed to fetch some objects from 'https://github.com/idealo/image-super-resolution.git/info/lfs'
plz check!

found #59, sorry!


Files don't update when there are any folders excluded.

I have a "Templates" folder that I want excluded from this plugin, however if I have the directory listed in the excludes section no files update. I've tried waiting longer, switching files, etc. The only thing that gets update times to be correctly updated is by removing the templates directory from the plugin settings. Workaround: Basically right now if I want to update a template I temporarily  disable this plugin.

I am experiencing the same behavior. Additionally, I noticed that the update is only visible when I restart Obsidian. (macOS, Sonoma 14.5)


Support some sort of atomic operation by UPDATE WHERE-like feature?

Just a random idea, would it be very useful if Skygear support some sort of UPDATE WHERE-like feature in SQL? (Basically like UPDATE X to X' only if X is still X)
We don't want to support transaction over network; But there are people keep asking how do I do some sort of atomic update (READ X,  UPDATE X to X')

Duplicated with #242


Update digdag-ui schedules timeformat

I'm updating digdag-ui schedules time format.
Because nextRunTime time format is UTC.
Before:

After (if merged this PR) :

Thanks for this PR!


fix(cart): cart item state prematurely resetting after update

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

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

What is the current behavior?

Fixes: #1750
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

@damienwebdev should the debounce interval also reset for a cart item add?

@damienwebdev updated test


Request: Add dockerfile for quick test drive

Hi,
Would it be possible to add a DOCKERFILE to make a quick test drive possible?
Also, license permitting, this would mighty useful for forking/stealing.
Thanks a bunch!
Cheers
M

License is MIT, and we encourage stealing just give us attribution.
A docker file would not be very useful since igv-webapp is really just a lot of static files.   There is no server.  A docker file would be equivalent to a zip archive which you can already download.
Have a look at the igv.js readme, specifically the "Developing" section.   I intend to add similar instructions for igv-webapp,    it uses node.js and makes test driving very easy.

Hi Jim,
Thanks for the info, you may consider this stolen!
Thanks again
M

Excellent  (evil laugh...)
You are an early adopter, before official release or any documentation,  but here are some tips/warnings.    And, if you deploy a public site send us a pointer,  we like to keep tabs on how these tools are being used.   Also, our sponsors are keenly interested.
If you want to use the Google Picker you'll have to register and obtain a clientID and api key.  Actually the client id might be enough but you get both anyway.   Put them in the appropriate place (Look for CLIENT_ID and API_KEY).
Ditto if you want to use the URL shortener with the "Share" button,  you'll need a bitly key.    You can also supply your own shortener function.   Everything functions without this you will just have long URLs.
I need to do some refactoring to make the track menus configurable,  but you can probably figure out how to do that.
All of this will be documented before we officially release it.

One other thing -- the app (index.html) will run as is but requires ES6 support.   This is fine for most browsers, but not some iPhones.   The grunt task builds an ES5 distribution,  which will be the official one (in dist folder).

Hi Jim,
Thank for the extra pointer. I've got pretty much no idea whatsoever as to what I'm getting into, but I REALLY like the example, so I intend to (try to) figure it out.
If you find the time, some minimal docs would be great, as I'm already having some issues getting it running. I tried following the dev pointers at igv.js, but I think I'm still missing something.
Thank anyway, I'll be keeping a close eye on this.
Cheers
M

The igv.js examples should work as is -- if not there is a bug in the
instructions.   I assume you're trying to translate those to igv-webapp?
I will have igv-webapp instructions up within a few days,  but if you are
having trouble getting igv.js examples to work open a git issue in that
project.
On Thu, Sep 13, 2018 at 10:45 PM, Matthias De Smet<EMAIL_ADDRESS>
wrote:

Hi Jim,
Thank for the extra pointer. I've got pretty much no idea whatsoever as to
what I'm getting into, but I REALLY like the example, so I intend to (try
to) figure it out.
If you find the time, some minimal docs would be great, as I'm already
having some issues getting it running. I tried following the dev pointers
at igv.js, but I think I'm still missing something.
Thank anyway, I'll be keeping a close eye on this.
Cheers
M
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/igvteam/igv-webapp/issues/32#issuecomment-421237759,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA49HCS7iIBfmUQsPfWK_ujWUlP2pKHlks5ua0JqgaJpZM4WlaxE
.

Yeah, that's what I meant, I was trying to get the webapp to work using the igv.js instructions.
Guess I'll have to curb my enthusiasm for a while ;)
Could you give me a ping when the first release drops? I'd love to help, but I've got zero experience with node or anything more advanced than some basic javascript.
Cheers
M

Yes, will do @matthdsm ,  and it would be helpful to have you test the instructions.  Did the igv.js instructions work for you (for igv.js that is)?

Hi Jim,
yes, the instructions for igv.js were very clear and worked fluently. No hiccups whatsoever there.
Cheers
M

PS: I got the webapp to run using the following steps
npm install
grunt
npm run start

which started a http-server on port 8080, with the app served at the root level.
Cheers
M

@matthdsm Good guess, that's exactly how you do it.   We've updated the readme now with instructions for installing, and also instructions for customizing the genome and track menus.

This project gets more awesome by the day!
Another quick question. In the annotation resources json you use a ucscservice filetype. Could you elaborate on/document that? I've looked for it in the igv.js wiki, but didn't find any mentions. Another beta feature?
Thanks for the awesome work!
Cheers
M

The "ucsc" type is beta, or not even that.   Also it requires a webservice
(igv.js-flask actually) which we haven't released yet.    I will probably
be replacing those track jsons with standard UCSC file based tracks, its on
my to-do list.  Also add a few more tracks.
On Wed, Sep 19, 2018 at 12:10 AM, Matthias De Smet<EMAIL_ADDRESS>
wrote:

This project gets more awesome by the day!
Another quick question. In the annotation resources json you use a
ucscservice filetype. Could you elaborate on/document that? I've looked
for it in the igv.js wiki, but didn't find any mentions. Another beta
feature?
Thanks for the awesome work!
Cheers
M
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/igvteam/igv-webapp/issues/32#issuecomment-422683032,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA49HLEbSUihKBc-ik3V2hvmiShMP9smks5uce3NgaJpZM4WlaxE
.

Another special track menu type is "ENCODE",  I just added a description of that to the readme.


[Feature] Support histogram aggregation function

What type of PR is this：

[ ] bug
[x] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

[FE PR Coverage check]
:heart_eyes: pass : 19 / 19 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/catalog/FunctionSet.java
19
19
100.00%

[FE PR Coverage check]
:heart_eyes: pass : 19 / 19 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/catalog/FunctionSet.java
19
19
100.00%

run starrocks_fe_unittest

run starrocks_fe_unittest

[FE PR Coverage check]
:heart_eyes: pass : 19 / 19 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/catalog/FunctionSet.java
19
19
100.00%


Fixes/remove get prefix

I've skipped xtensa-lx as I don't think we really have any reason to publish a new version of that currently, but can update it as well if requested. Otherwise, I think I got them all (or most of them, at least 😅). Unfortunately had to touch a ton of files in the process, but oh well.
Closes #2524

skip-changelog added since some packages received changes which are not user-facing.


Adds support for Razor compilation at build-time

This PR adds two new tools as well as a tasks project. None of these
projects produce a package and they ship as part of
Microsoft.AspNetCore.Razor.Design. For now this is a 'fat' package that
contains all of the dependencies, but we plan to strip them out in the
future.
The support for compilation at build-time will start as off by
default. The immediate goal here is to get this to flow through the
build so that we can test it as part of the inner loop effort. We will
enable this feature by default once we've done more thorough testing.
Since this is mostly a code dump, I plan to address blocking and minor
feedback only. If there are design issues that are non-critical, I will
open follow up items.
The next step will be to start adding more detailed tests.

/cc @natemcmaster @NTaylorMullen @pranavkm @mkArtakMSFT

Only reviewed like half of this. It's friday

👍 😆 :canada: 🎄 👍

OK, I met with @pranavkm and @natemcmaster to do some brainstorming about the .csproj issues that I'm having. I'm going to first break out the tasks and tools and get those in since there is no more feedback on those.

c0eecc87e77fd2cfd83342bf0eee4f62e66b20a3 and a3fef5eeaa0463b739ea5d0b1c61d894ba5ef548

This was merged FYI. See ^^^^^^^^^^^ for commits


Re-add Lombok step when packaging source files

As part of the test framework update (https://github.com/AzureAD/microsoft-authentication-library-for-java/pull/672), several changes were made to the pom.xml file
One of the changes was to remove a seemingly unnecessary line related to Lombok from the <build> section:
<sourceDirectory>${project.build.directory}/delombok</sourceDirectory>
With this line the *-sources,jar we upload to Maven contained versions of the source files generated by Lombok, and without it the *-sources,jar contains the versions of the files found here on Github. Although this difference doesn't affect the compiled code in the msal4j-x.y.z.jar that Maven would use as a dependency, it can affect any customer who may want to build the msal4j package from *-sources,jar, as they would need to also use Lombok to match what we put in the msal4j-x.y.z.jar

Fixed as of the 1.14.0 release


Tor support

I need to use pydle with Tor, so i did a dirty modification in connection.py:
import socks
import socket
socks.set_default_proxy(socks.SOCKS5, "localhost", 9050)
socket.socket = socks.socksocket

Do you think it could be a feature to add in a proper way?
If so I would be glad to help.

Proxy support seems fine to add, I'd welcome such a feature!


Typescript *.d.ts files are generated incorrectly

Basically, the generate script generates invalid typescript declaration files which prevent compilation at worst (and produce dozens of "warning errors" that clog up the terminal at best).
The issue is described in more detail in the pull request I created: #501

there is also getAllReferences which should be getReferences.


Implement Website Analytics

Goal
The goal behind implementing website analytics is to determine overall website traffic in addition to strategicly tracking popular articles, content and more. Visitor privacy is important as we ideally will track no specific details regarding the visitor.
Options

TelemetryDeck (Free)

Since this is a Swift based static site, TelemetryDeck should be able to be implemented quite easily using SPM.

Netlify ($9.00 / mo)

This offers hosting for free, with analytics for $9.00 a month.

Plausible ($9.00 / mo)

This was an option brought up by a member in the Discord. Unsure of complete implementation but I assume it's JS based.

Another thought I had was maybe this could give us a chance to implement some sort of open-source project to add onto maybe Vapor. The user would simply host their own Vapor server and this would allow them to configure signals of their choice... that way everything is 100% self contained to that specific developer / development team?
Just some 2 cents.

Plausible and Fathom Analytics($14/mo) are both GDPR compliant/privacy-focused analytics platforms.
I've used Fathom for the sites I've built recently, unsure about an up to date Swift implementation but there is this one I found: samtgarson/FathomAnalytics


REQ: Project names

When logging in you get to see your previous projects however these have just a random name assigned. Is it possible to have the original file name next to them so you can locate previous designs quickly ?

+1 to this.

:+1: from me too!


[Soundboard] ...

Extension
https://www.raycast.com/pernielsentikaer/soundboard
Description
hello, thanks for this great extension but, it has two major problem
and i dont know if you can fix it 1- we are not able to play,pause,skip.....etc and this affect this extension 2- if you want to play another file you cant because they will play at same time
and if I press the same file 2 or three times it will play the audio again and again
and I can`t stop this even when quit from raycast
only if I restart the device
i don`t know if that was a limitation because of the nature of mac os
however
thank you for your work 🌺
Steps To Reproduce
.
Current Behaviour
.
Expected Behaviour
.

A soundboard is usually connected with ~3-second files. How long are the files you are using? We could maybe add a preference to determine if it should stop the previous sound. However, I think most people like the ability to play multiple sounds at the same time.
Just like a physical soundboard with buttons, you can also play multiple sounds at once if you want to.

Going to close this issue due to inactivity. I agree with @pernielsentikaer in that how it works at the moment is pretty great for a soundboard. Audio files should also be a few seconds for such an extension as it isn't a music player or anything like that.
@raycastbot close this issu

@raycastbot close this issue


add:rapid-killer-9

added my profile to the profile data

I have made the necessary changes, sorry for the delay

lgtm

@rapid-killer-9 Thank you so much for your contribution! Your efforts are greatly appreciated and will go a long way in improving our project. Please feel free to share it with others and help us grow even further!


Add ContainersReady status for Pods

This PR addresses issue #9099. This PR is currently a WIP while I wait on information regarding appropriate usage.

/lgtm

@lucperkins Thanks for taking a crack at this. Ultimately I'd like to see a more thorough pass for style guide consistency (for example, de-bullet and reorganize the Pod conditions and Example states sections), but this PR represents an iterative first step with formatting updates. 👍
/lgtm
/approve


Use Idenitfy to lookup recipient

Here's a summary of the cases.

Input is alice@twitter and that's SBS: It works.
Input is alice@twitter which resolves to alice and you don't track them: It works.
Input is alice@twitter which resolves to alice and you track them: It works.
Input is alice@twitter which resolves to alice and you track them but there are track breaks: ??

Does (4) throw a tracker popup? What does it do on the CLI, if there's no gui up? When the tracker popup comes does it the send call fail instantly?

#4 currently will just return an error.
The client can do whatever they want with the identify ui that they register, so it's in the client's hands if the identifyui results in a tracker popup.
Let me make a commit to register the identify ui in CLI.


Generics

Example:
fn read[T](): T -> { ... }

class Map[K, V] {}

T will be checked in compile-time. No additional runtime checks will be performed.
T may be saved in function call, or class instantiation, for runtime checking.
Create std::map<std::string, std::string> m_genericTypes; in Compiler::Variable.
Create std::vector<std::string> genericTypes; in Function, NativeFunction and in Class (when its ready)


feat: standardizing the JSON responses, support byte/int32/int64 as formats

Codecov Report

Merging #216 (9f4684a) into main (de5d251) will increase coverage by 0.94%.
The diff coverage is 52.00%.

@@            Coverage Diff             @@
##             main     #216      +/-   ##
==========================================
+ Coverage   39.58%   40.53%   +0.94%
==========================================
  Files          36       36
  Lines        3322     3333      +11
==========================================
+ Hits         1315     1351      +36
+ Misses       1832     1805      -27
- Partials      175      177       +2

Impacted Files
Coverage Δ

api/server/v1/error.go
0.00% <0.00%> (ø)

api/server/v1/marshaler.go
0.00% <0.00%> (ø)

internal/data.go
60.46% <0.00%> (-13.83%)
:arrow_down:

query/update/operator.go
59.61% <0.00%> (-2.39%)
:arrow_down:

schema/schema.go
69.30% <ø> (ø)

server/metadata/encoding/schema.go
66.66% <ø> (ø)

server/transaction/manager.go
9.57% <0.00%> (ø)

server/transaction/session.go
12.32% <0.00%> (ø)

store/kv/kv.go
26.45% <25.00%> (ø)

store/kv/fdb.go
58.20% <37.03%> (-0.20%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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


Relation where filter function added. Column function now supports table prefixes

ORM functionality enhancements:

improved documentation on how to use DataList::applyRelation
relationWhere added to provide a simple API for applying where conditions on related tables (via join)
column function now accepts table prefix format of DB fields, which allows querying data of related tables (via join)
column function now throws InvalidArgumentException if an invalid field is provided instead of failing on the query later
DataQuery::applyRelation now supports versioned tables

Example use:

pages <- many many -> taxonomy terms
fetch all pages that have a specific taxonomy term
fetch IDs of all taxonomy terms which are attached to specific pages

Epic contribution! Will take some time for the @silverstripe/core-team to review. In the meantime, if you wouldn't mind rebasing and switching onto the 4 branch (as an enhancement) that'd be great.

@robbieaverill Rebase on 4 complete :)

Question, what's the difference between.
Category::get()->relationWhere('Products.ID', ['"Products.ID"' => $product->ID])

and
Category::get()->filter('Products.ID', $product->ID);

Some user-docs changes in *.md files might help me understand. :)

@chillu I'm moving this to the next column because it's a big chunk of work that got done internally, so I think it should be prioritise.

@tractorcow There is no difference in your example, however in general relationWhere allows you to build the condition clause yourself so it allows greater flexibility. relationWhere is really just a shorthand for where function in case the relation data is queried. The idea is to remove the need for juggling with the $columnName in the applyRelation.
Overall, the relationWhere function is just a nice to have, but I think the rest of the diff is actually more important.

in case the relation is versioned (uses many many through) you will always get the draft content as the filter internally uses the applyRelation which currently doesn't support versioning.

Sounds like that should be fixed instead right?

@tractorcow Fortunately, the versioning issue is fixed as a part of this PR as well. relationWhere is not supposed to be used as a workaround for the versioning issues. It's just a shorthand method which provides an easier way to make relation based where conditions.

I suggest this PR focus on fixing the bug rather than adding extraneous API.

@tractorcow relationWhere function removed.

@tractorcow Could you take another look and merge if you're happy?

Squashed and rebased.

@ScopeyNZ Versioned guard added to all other instances where it's used.

@chillu Any updates on this PR?

@brynwhyman Can we prioritise this one for peer review? It's a lot of work and it would be very sad to see it go stale.

@maxime-rainville What's the status on this one? If we can't get this whole thing through maybe it's worth separating out the Versioned related fix as it's the most important of the change set. Until this is fixed the ManyManyThroughList will serve draft content from the through object table. It also affects instances where filter and applyRelation is used with through objects.


Error with lambda which modifies instance variable

Method with name <ChooseCountry_Enter>m__80 could not resolve a matching state. Check method spelling
I get the error above with the following code (where 'ChooseCountry' is one of the states):
string chosenCountry;
void ChooseCountry_Enter()
{
	System.Action<string> onChosen = (chosen) => { chosenCountry = chosen; };
}

If I breakpoint Initialize in StateEngine, I see that all entries in 'methods' display as expected, except for:
[9] = "Void <ChooseCountry_Enter>m__80(System.String)"
The workaround is to make chosenCountry static.

I just found that I get the same error if I try to call a non-static method in the lambda function

Thanks for reporting.
I have just pushed a fix that should resolve this.


SharpSocks doesn't tunnel traffic

Hello guys!
I'm loving SharpSocks and its hability to tunneling traffic via HTTP/S.
However I'm facing some problem. All is good during establishment of socks proxy (client reachs the server right).
Then when I set <IP_ADDRESS>:1080 in my browser the connections aren't performed. Here is the output server side (when trying to reach some website):

[11/27/2018 11:08:16 AM][!] Recieved SOCKS message to open port 443 on <IP_ADDRESS>
[11/27/2018 11:08:17 AM][!] Recieved SOCKS message to open port 443 on <IP_ADDRESS>
[11/27/2018 11:08:18 AM][!] Recieved SOCKS message to open port 443 on <IP_ADDRESS>
[11/27/2018 11:08:19 AM][!] Recieved SOCKS message to open port 443 on <IP_ADDRESS>
[11/27/2018 11:08:20 AM][!] Recieved SOCKS message to open port 443 on <IP_ADDRESS>
[11/27/2018 11:08:21 AM][!] Recieved SOCKS message to open port 443 on <IP_ADDRESS>

[.....................................................................]
and after some time:

[11/27/2018 11:11:48 AM][!] Command channel payload 664 bytes, sending 29 tasks
[11/27/2018 11:11:48 AM][!] Status connection e50b367c-cca5-48a6-8899-3fce1d63643e is open
[11/27/2018 11:11:48 AM][X] Error occured on EndPoint <IP_ADDRESS>:1080 shutting down cause of Unable to write data to the transport connection: An established connection was aborted by the s
oftware in your host machine.

[....................................................]
Any idea on this error? @nettitude @benpturner

Did you ever manage to get it working?


Program keeps running

@Noath2302. The program does not provide final accuracy and does not let me to recall any video as it keeps running for days.

You have input a video with 184 frames, which is indeed a lot of patterns to take care of.
It will take a very long time to learn such videos.


[Copy update] VBA Throttled error

Details
Removed if statement here because I think it is always true
https://github.com/Expensify/App/blob/b37e87ecca6fc7e2f20e1b7770df16dbf6eca3cb/src/pages/ReimbursementAccount/ReimbursementAccountPage.js#L164-L165
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/177017
Tests / QA

Create an account in OldDot and verify it.
In OldDot, while logged in, open the console in chrome developers tools and enter: API.setNameValuePair({name: 'expensify_ACHData_throttled', value: 'yes'})
Go to NewDot, log in
Create a workspace and start the VBA flow
You should see the error:

Tested On

[x] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

About how to reproduce the throttle error
There were two slack conversations about this:
https://expensify.slack.com/archives/C020EPP9B9A/p1632955388190500
https://expensify.slack.com/archives/C6PHQ660K/p1633030710387500
As a summary, I understand the following:

The throttle can happen when we get one of these two errors when verifying a bank account agains Giact.
We call Giact_API::verifyWithdrawalAccount from here to verify a bank account against their API.
We handle a verification error here

My plan was to find a bank account that would fail with BANK_ACCOUNT_NOT_GOOD_STANDING, but I could not move forward because the connection with Giact doesn't seem to be working. https://expensify.slack.com/archives/C03TQ48KC/p1633040741101300

@marcaaron I recall you finding this error here. This may be of help @aldo-expensify ? Ultimately I think if we cover the other cases, we can safely deprioiritze this case and put it in a follow up issue to ensure we're staying on top of more common/valuable polish.

@marcaaron idea to use NVP worked perfectly fine. Added it to the Test / QA steps.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by @chiragsalian in version: 1.1.6-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[R] [CI] rcnst checks

https://raw.githubusercontent.com/kalibera/cran-checks/master/rcnst/README.txt
https://github.com/kalibera/cran-checks/tree/master/rcnst
This is similar to our current rchk check:

task: https://github.com/apache/arrow/blob/24acebcb5325c2bd2210cbe80e179250b60df7b1/dev/tasks/tasks.yml#L1084-L1086

crossbow yaml: https://github.com/apache/arrow/blob/master/dev/tasks/r/github.linux.rchk.yml
We could probably add a new task to this / make it a matrix of rchk/rcnst

Reporter: Jonathan Keane / @jonkeane
Note: This issue was originally created as ARROW-14545. Please see the migration documentation for further details.

@jonkeane Do you think this issue is worth keeping open?


Launching Atom on WSL fails with no window and no error messages

Prerequisites

[ X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
I have a fresh install of Atom on Windows Subsystem Linux, and running the atom command results in no behavior
Steps to Reproduce

Install Atom using instructions on: https://flight-manual.atom.io/getting-started/sections/installing-atom/#platform-linux (have tries both apt install and downloading the deb package)
Try to launch atom from the command line:

$ atom
$ atom .
$ atom -f
$ atom --safe
$ atom --clear-window-state
$ atom -l ~/atom-log.log    # <-- no file is produced

Remove ~/.atom, try again

Expected behavior:
Atom launches
Actual behavior:
Nothing - no window, no error message, nothing happens
Reproduces how often:
Always
Versions
$ atom --version
Atom    : 1.29.0
Electron: 2.0.5
Chrome  : 61.0.3163.100
Node    : 8.9.3
$ apm --version
apm  1.19.0
npm  3.10.10
node 6.9.5 x64
atom 1.29.0
python 2.7.12
git 2.7.4
$ uname -a
Linux PWR 4.4.0-17134-Microsoft #137-Microsoft Thu Jun 14 18:46:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.

Thanks for the report, I'll try to reproduce this today.

I had been using Xming as my X server. I switched over to VcXsrv today for unrelated reasons and atom now appears to be working fine

I have not, actually in the past VcXsrv had given me more issues. Here are the versions I have of each X server:

Had the same issue (FileZilla worked fine for example with Xming but not Atom). So I switched to VcXsrv and it solved the problem.

I had this same issue and switching to VcXsrv fixed it.

It didn't fix it for me. I get those messages in VcXsrv logs :
OS maintains clipboard viewer chain: yes
winMultiWindowWMProc - Error code: 8 (Match), ID: 0x00200001, Major opcode: 12 (ConfigureWindow), Minor opcode: 0 ((null))
winMultiWindowWMProc - Error code: 3 (Window), ID: 0x00300002, Major opcode: 12 (ConfigureWindow), Minor opcode: 0 ((null))
glxWinSetPixelFormat: having second thoughts: cColorbits 24, bppOveride 0; config->drawableType 5, drawableTypeOverride 1
wglChoosePixelFormat: chose pixelFormatIndex 2 (rather than 2 as originally planned)
ChoosePixelFormat: chose pixelFormatIndex 5 (rather than 2 as originally planned)
SetPixelFormat error: Le format pixel n’est pas valide.  (000007d0)

To relocate the issue, I'm running a new Windows 10 installation, with WSL installed and the last VcXsrv from SourceForge. ubuntu release:
rlaures@Roger:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

In my case, Atom doesn't crash at all. It just doesn't show up.
Severall processes are launched and doesn't stop alone unless I run killall atom -9 (doesn't quit on -15).
So even if it doesn't crash, it doesn't respond to system signals.

Ok I got more info using some debug atom options:
rlaures@Roger:~$ atom --clear-window-state --enable-electron-logging --safe -f 2>&1
[770:0509/120423.849942:ERROR:bus.cc(395)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[770:0509/120423.975627:ERROR:process_posix.cc(194)] Not implemented reached in bool (anonymous namespace)::WaitForExitWithTimeoutImpl(base::ProcessHandle, int *, base::TimeDelta)

I'm now trying to resolve the dbus error. I also have it (more or less) with Chromium-browser which display the windows but not its content.

Ok I got more info using some debug atom options:
rlaures@Roger:~$ atom --clear-window-state --enable-electron-logging --safe -f 2>&1
[770:0509/120423.849942:ERROR:bus.cc(395)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[770:0509/120423.975627:ERROR:process_posix.cc(194)] Not implemented reached in bool (anonymous namespace)::WaitForExitWithTimeoutImpl(base::ProcessHandle, int *, base::TimeDelta)

I'm now trying to resolve the dbus error. I also have it (more or less) with Chromium-browser which display the windows but not its content.

Ok, the dbus error can be solved by starting dbus daemon: sudo service dbus start from the WSL Bash.
So this is not the problem.

@ShamoX hello, did you manage to get it fixed?

Hello,
To be honest, that (and some other breaks) stopped me from using WSL for my work. I use it in an Ubuntu distribution now :/
So I cannot help you nor support this thread anymore :(
If nobody else has the problem, I guess you can close the issue.
Best regards

Same problem for me

I had the same problem when I used Xming, but it works in XcVsrv


rkt CI: a machine with overlayfs + kvm support should be tested

This is a followup to my comment on #3628 and #3670
Assuming the PR above gets merged, we'll be in a state where we're missing feature coverage for kvm.
We're already missing coverage for the matrix of overlay + kvm (which should be the preferred way of using kvm, so should be the higher priority for testing).
The easiest solution to this would be adding a dedicated KVM testing worker to the jenkins. If we only have capacity to run it nightly against master, that's still better than what we have now.
Longer term, it's possible CNCF hardware/CI support could help us solve this better.
cc @lucab

Agree, we are unfortunately hitting SemaphoreCI limits both in term of resources and system configuration. I remember we were looking at some hosted CI which allows nested virtualization and custom images, without much luck.

/cc @hh


Fix CS pins for Mikroe Ethernet board on LPC55S69.

Fix CS pins for Mikroe Click Ethernet shield overlay on LPC55S69's. Should resolve #31748.

I ran this patch on a lpcxpresso55s69 board to verify it works.

Fixed the indentation and the sign-off issue.


svelte-local-storage-store as peerDependecies

i think svelte-local-storage-store must be set on  peerDependecies. check this
and no more duplicate if user install svelte-local-storage-store too

Thanks for the valuable contribution, Binsar!


🎛 Migrate initErrorDetection to a Stimulus Controller w-count (tabs)

ℹ Part of the Stimulus  🎛 RFC 78

Is your proposal related to a problem?
In the file client/src/entrypoints/admin/page-editor.js we have an ad-hoc JS implementation to check the count of some elements and update another element with the total number (icon/screen reader).
This is used to show the user visually that there are X errors within a tab in the page editor, and other editor interfaces. This code is now used across more than just page editor and is also a very common feature that we may want to use for other things such as the panels.
Describe the solution you'd like
We should be able to replace the existing data attributes with Stimulus ones for a new controller w-count in the tabs file here wagtail/admin/templates/wagtailadmin/shared/tabs/tab_nav_link.html.

    {{ title }}

        ()

This would be a new CountController that has defaults that assume we want to count errors but has the capacity to be more flexible in the long term.
The controller must have unit tests and preserve the existing tab count behaviour exactly as per current state.
Specification

class: active (Stimulus class attribute) https://stimulus.hotwired.dev/reference/css-classes so that it can become visible when there is a count above 0
value: min (number) - defaults to zero, will be used to determine when it is active
value: total (number) - used as the 'state' of the current count and also helps for defaults on HTML load if needed
value: container (string, optional, defaults to body) - a selector which could return multiple targets and is used to determine where to search for errors
value: target (string, optional, defaults to '.error-message,.help-critical,[aria-invalid="true"], .error, .w-field--error') used to determine the targets to count. Note: This is a collection of all similar 'error' selectors, check it is not too greedy.
method: count - will find any target elements within the container element and returns the total AND updates the total value.
target: total - inner text gets updated with the total when changed
target: label - inner text gets updated with the translated label when changed
method totalValueChanged - this will be a built in call-back  and should do the job of updating the translations
method getLabel - just a wrapper for convenience on the labels.
method connect - calls the count method but do this async (either in an immediate promise or set timeout), this small delay should account for picking up any DOM updates that are done by things like react or other JS adding errors to the DOM. We could put this behind a delay value of 0 if we wanted on the controller.

Translations
Remember to use the translations correctly. Long term we can add better support for non 'error' translations but that is probably getting a bit far out of scope.
However, let's share the same translation that has been set up more recently in MiniMapItem (for some reason it is different).
client/src/components/Minimap/MinimapItem.tsx uses %(num)s with brackets.
  const errorsLabel = ngettext(
    '%(num)s error',
    '%(num)s errors',
    errorCount,
  ).replace('%(num)s', `${errorCount}`);

But, the older code, client/src/entrypoints/admin/page-editor.js uses %(errorCount)s, with brackets. We do need to support the brackets still though but lets put these in the HTML.
    tabErrorsElement
      .find('[data-tabs-errors-statement]')
      .text(
        ngettext(
          '(%(errorCount)s error)',
          '(%(errorCount)s errors)',
          errorCount,
        ).replace('%(errorCount)s', errorCount),
      );

Describe alternatives you've considered

Leave as is, but makes it harder to support additional use cases and already there are duplicate implementations of this same behaviour.
E.g. Similar behaviour in Panels here - client/src/includes/panels.ts - const hasError = content.querySelector
E.g. in the minimap code that could be done with Stimulus. client/src/components/Minimap/index.tsx

  const errorCount = [].slice
    .call(panel.querySelectorAll('.error-message'))
    .filter((err) => err.closest('[data-panel]') === panel).length;

Additional context

This is part of a larger goal to migrate to Stimulus.
A robust solution here may also be the starting point to solve for #8990 (in fact, once this ticket is done, that issue could probably be completed with just a few data attribute updates).
Longer term, it would be good to support a more dynamic checking system.
Not a good first issue but good for anyone semi-confident with Jest testing, JavaScript and who has taken the time to read the Stimulus docs in full.
This is also part of a larger goal to avoid wagtail/admin/templates/wagtailadmin/pages/_editor_js.html being used everywhere and minimise global usage in JS See #2936

This is probably not a good first issue, but anyone who has read the Stimulus documentation end to end and takes a look at some other Controller implementations in src/controllers should be able make a solid go at this.
Note: Unit tests are a must - and it's actually best to start with unit tests to ensure your behaviour is working. One thing can be a bit tricky with DOM updates and settimeout usage, but see the tests for ProgressController and you should be able to get your head around it.

would love to give it a try !

Thanks @salty-ivy  - there is no major urgency here, we are hopeful we can clean up the page-editor.js file in time for 5.0 but it depends on many other issues being done also.
I'm also hoping I will get the chance to get a few more 'smaller' type Stimulus adoption issues up in the coming weeks. It's a great way to learn the framework and also contribute something really helpful to the core code.

@lb-  how would totalValueChanged update the translations in each tab differently, if count would directly count up the errors using targetValue, and we only get total number error elements only without any distinction of how many errors resides per tab.  shouldn't we count up the errors tab-wise just like its been counted in initErrorDetection.
or may be i am misunderstanding the explanation in the issue.

@salty-ivy great question - my proposal here is to actually have a separate 'instance' of the controller attached to each tab button and then that would only count the things in it's linked 'tab' content.
HTML structure

Tabs container...

Tab A button - Main - data-controller="w-count" data-w-count-container-value"#tab-a" - pointing to the id of Tab A's content
Tab B button - Promote data-controller="w-count" data-w-count-container-value"#tab-b"
Tab A content - Main div#tab-a
Tab B content - Promote div#tab-b

So, by default w-count will just look through the entire body for elements, but in the tab's usage of the count controller, it will only be directed to look at it's associated tab's content.
The goal of this is to avoid the complexity of initErrorDetection needing to first count all the things and then also ensure they are grouped into 'tabs'. This controller approach will essentially only count one tab per instance, so no grouping needed.
This approach can then scale up/down to any kinds of counting containers (e.g. count the errors within just a panel like we do in other custom JS).

ohh, i see its #tab{{ tab_id }} that's mapping instances of controller, got it.

@lb-  the PR is ready, thanks a lot for the walk through into this, special thanks to @Lovelyfin00  for helping me out.
and apologies to both of you for the over all trouble, working through this new stuff i got prone to silly mistakes.
although i understood the process pretty much and its going to be smoother and easier from here on out.

Awesome @salty-ivy - any feedback on the proposed contributor section for Stimulus would be appreciated.
https://github.com/wagtail/wagtail/pull/10155

Sure why not, let me give it a look.

Great job @salty-ivy 👏👏👏


DateRangePicker should have a prop to allow single day date ranges

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡

We're using the DateRangePicker to select date ranges, but sometimes the user will want to select just a single day. We should be allowed to set a prop for whether that option is allowed or not.
Examples 🌈

This is the current behavior when a single day is chosen for the date range

We would love a prop to allow this to not be shown as an error.

Duplicate of #1759


chore(main): release 0.18.0

:robot: I have created a release beep boop
0.18.0 (2024-03-24)
Features

Updates supported resource types (5) (#550) (3cd40d1)
Updates supported resource types (5) (#551) (b75c9d3)

Bug Fixes

ensure we do not index duplicate resource types (#548) (bb6e3ba)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/udondan/cfn-teleport/releases/tag/v0.18.0 :sunflower:


[ISSUE #6703] Fix the incorrect of confirmOffset when recovering abnormally caused by message loss due to asynchronous flushing after restarting

Which Issue(s) This PR Fixes

Fixes #6703
Brief Description
Fix the incorrect of confirmOffset when recovering abnormally caused by message loss due to asynchronous flushing after restarting
How Did You Test This Change?

Codecov Report

Merging #6704 (905830f) into develop (d9223ff) will decrease coverage by 0.16%.
The diff coverage is 25.00%.

@@              Coverage Diff              @@
##             develop    #6704      +/-   ##
=============================================
- Coverage      42.99%   42.84%   -0.16%
+ Complexity      9023     8991      -32
=============================================
  Files           1109     1110       +1
  Lines          78630    78645      +15
  Branches       10233    10233
=============================================
- Hits           33809    33695     -114
- Misses         40589    40724     +135
+ Partials        4232     4226       -6

Impacted Files
Coverage Δ

...main/java/org/apache/rocketmq/store/CommitLog.java
64.49% <25.00%> (+0.07%)
:arrow_up:

... and 33 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

LGTM


Check if last orchestration is still in progress, bsc#1120752

Backport to 3.0 https://github.com/kubic-project/velum/pull/735


Custom forward seek and backward seek using keyboard.

Hi,
The default forward and backward seek time using the keyboard is 5 seconds.
Arrow left -5 second
Arrow right 5 second
Is there any way to change the default 5 second value to a custom one without disabling the enableKeyboardPlaybackControls option.

Those values are hardcoded in the UI.
https://github.com/shaka-project/shaka-player/blob/84fe995471e210abc3eb31cee95d1b992594bf71/ui/controls.js#L1264-L1279
This sounds like it would be a reasonable configuration value to add to shaka.extern.UIConfiguration though.


[HUDI-770] Organize upsert/insert API implementation under a single package

[HUDI-770] Organize upsert/insert API implementation under a single package

Created ActionExecutor for performing upsert/insert.

There is inherent complexity with supporting auto commit vs non-auto commit. Once that is resolved, we will be able to remove much of the code in HoodieWriteClient.

Codecov Report

Merging #1495 into master will decrease coverage by 0.61%.
The diff coverage is 89.09%.

@@             Coverage Diff              @@
##             master    #1495      +/-   ##
============================================
- Coverage     71.53%   70.92%   -0.62%
- Complexity      261      290      +29
============================================
  Files           336      348      +12
  Lines         15744    16291     +547
  Branches       1610     1660      +50
============================================
+ Hits          11263    11554     +291
- Misses         3760     3998     +238
- Partials        721      739      +18

Impacted Files
Coverage Δ
Complexity Δ

...c/main/java/org/apache/hudi/table/HoodieTable.java
79.64% <ø> (ø)
0.00 <0.00> (ø)

...g/apache/hudi/table/action/BaseActionExecutor.java
100.00% <ø> (ø)
0.00 <0.00> (ø)

...action/commit/CopyOnWriteCommitActionExecutor.java
64.44% <64.44%> (ø)
0.00 <0.00> (?)

.../apache/hudi/client/AbstractHoodieWriteClient.java
73.77% <66.66%> (-0.39%)
0.00 <0.00> (ø)

...ction/commit/AbstractBaseCommitActionExecutor.java
84.68% <84.68%> (ø)
0.00 <0.00> (?)

...action/commit/MergeOnReadCommitActionExecutor.java
88.88% <88.88%> (ø)
0.00 <0.00> (?)

...le/action/commit/MergeOnReadUpsertPartitioner.java
92.15% <92.15%> (ø)
0.00 <0.00> (?)

...he/hudi/table/action/commit/UpsertPartitioner.java
94.96% <94.96%> (ø)
0.00 <0.00> (?)

...java/org/apache/hudi/client/HoodieWriteClient.java
66.81% <100.00%> (-2.42%)
0.00 <0.00> (ø)

.../org/apache/hudi/table/HoodieCopyOnWriteTable.java
31.41% <100.00%> (-57.87%)
0.00 <0.00> (ø)

... and 31 more

Continue to review full report at Codecov.

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

@vinothchandar : Addressed review comments. Please take a look when you get a chance.

@vinothchandar : Addressed comments. Will merge once the CI passes.


fails to run tests on Eclipse Oxygen

Fails to run tests on Eclipse Oxygen.
Execution throws exception to console:
Closing server
Closed
Exception in thread "main" java.lang.NoSuchMethodError: joptsimple.OptionParser.acceptsAll(Ljava/util/List;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
	at org.pitest.mutationtest.commandline.OptionsParser.<init>(OptionsParser.java:122)
	at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:36)
	at org.pitest.pitclipse.pitrunner.PitRunner.runPIT(PitRunner.java:46)
	at org.pitest.pitclipse.pitrunner.PitRunner.main(PitRunner.java:25)

For me it's failing a well, but it only prints
Error: Could not find or load main class org.pitest.pitclipse.pitrunner.PitRunner

I can't even get it to install properly. It installs without any errors/warnings but then does not show up in any context menu to run a test class as a PIT mutation test.

FWIW, i build it locally to get it working
On Tue, 28 Nov 2017, 11:04 jenildesai25<EMAIL_ADDRESS>wrote:

I got same error.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/philglover/pitclipse/issues/72#issuecomment-347344148,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIVjserlWgMUYKoPsuDfHzOuKzt9j0Wks5s6zH-gaJpZM4Odyks
.

Can you tell me how to build it locally

I am also getting the same error.  I am using STS 3.9.2 and getting the same error as the original poster.
Exception in thread "main" java.lang.NoSuchMethodError: joptsimple.OptionParser.acceptsAll(Ljava/util/List;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
	at org.pitest.mutationtest.commandline.OptionsParser.<init>(OptionsParser.java:122)
	at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:36)
	at org.pitest.pitclipse.pitrunner.PitRunner.runPIT(PitRunner.java:46)
	at org.pitest.pitclipse.pitrunner.PitRunner.main(PitRunner.java:25)

Fixed by #80. Will be included in the next release.

The new 2.0.0 release is finally here and should fix the issue: https://github.com/pitest/pitclipse/releases/tag/v2.0.0