Add test variant testing GCC runtime compatibility

Using -fobjc-runtime=gcc with clang will cause clang to use the GNU_ObjC_SEH personality, and link with __gnu_objc_personality_seh0.  This allows testing of SEH exception handling in MinGW.

[ Updating the branch to pick up fixes to the CI scripts. ]

I don't really like this because ripping out all of the GCC-runtime-compat code is top of my to-do list for after the next release.  There's discussion in Clang of removing support for all fragile ObjC ABIs, which would make this go away.

The only way I know of to compile GNUstep code reliable on Windows is to use the fragile ObjC ABI (with e.g. GCC's objc runtime).  If you use the 2.0 ABI, you need to use the lld linker, but my understand is that that linker doesn't properly export symbols for instance variables.  There's work in GNUstep to work around that limitation, but it isn't complete for libs-gui and libs-back.
It'd be helpful to have at least one release which supports compiling under MinGW and with the fragile ABI, and to have Clang support the fragile ObjC ABIs until we find a way for GNUstep to export the ivar symbols (either by workarounds in GNUstep or through a fix in ldd).

Hmm, interesting, I haven't actually tried GNUstep on Windows (and, since I left MS, no longer have a Windows machine to test with). I'd personally regard accessing an ivar from another DLL as a bad idea, but I can imagine that there are cases where it's unavoidable (I believe WinObjC just didn't do this at all and used declared properties for anything where a subclass may need to access it in another DLL).
You shouldn't need to use lld.  Last time I tested it, LINK.EXE worked as long as you disabled incremental linking (otherwise it added padding in the middle of data structures, which was unhelpful).
I think the problem is here: https://github.com/llvm/llvm-project/blob/c7c912cff945033918367c4a37121dfc09b9759e/clang/lib/CodeGen/CGObjCGNU.cpp#L1682
We should be setting the ivar offset variable as dllexport if the ivar is public and the class is dllexport (when targeting Windows).  Does doing that fix the issue?  If I remember correctly, PE/COFF allows you to refer to exported globals in code from other DLLs, just not in initialisation of globals, and that's all that we need to do here.

We should be setting the ivar offset variable as dllexport if the ivar is public and the class is dllexport (when targeting Windows). Does doing that fix the issue?

If you link GNUstep on MinGW with the ld linker, it exports those symbols (e.g.  __objc_ivar_offset_NSTask._internal) and that works just fine.  I think we'd be fine if ldd does the same thing.  As a short-term fix, is there any way I can force lld to export these symbols if I know their names upfront?
Thanks for the tip about link.exe, I'll try that in the coming days.

If you link GNUstep on MinGW with the ld linker, it exports those symbols (e.g. __objc_ivar_offset_NSTask._internal) and that works just fine.

I believe this is because MinGW defaults to exporting all symbols.

I think we'd be fine if ldd does the same thing. As a short-term fix, is there any way I can force lld to export these symbols if I know their names upfront?

I believe lld is a drop-in replacement for LINK.EXE on Windows, so you should be able to list them in a .DEF file.  The right fix is to make clang properly mark them as exported though.

Another data point which may be relevant: most Linux distributions ship a copy of gnustep which is linked with the GCC libobjc implementation:

Enterprise Linux
Debian

So if you are developing a GNUstep application on those platforms and use the distribution-provided copy of GNUstep, you’ll end up using the GCC objc runtime.
I’d love for those distributions to start packaging libobjc2 and use it as the default objc runtime, but that will take time.

Most distros either require packages to be compiled with the default compiler (which is usually gcc) or simply do not care about GNUstep. We switched the GNUstep packages over to compiling with clang and using libobjc2 for the FreeBSD packages around ten years ago. Objective-C support has been unmaintained in GCC for longer than that.

Just chiming in here about link.exe: unfortunately using link.exe for Objective-C code does not seem to be working any more (even with incremental linking disabled) and causes crashes in objc_msgSend, at least when I tried last summer. This mailing list thread has some more info. I’m pretty sure it worked at one point a couple years ago, not sure what might have changed.

Thanks for that reference, @triplef . I believe on of the most impactful things we can do to move GNUstep forward on the Windows platform, is to make sure lld properly exports symbols for instance variable offsets.  Working around that limitation is tedious, at the least, and maintainers (rightfully) push back to those kinds of workarounds: https://github.com/gnustep/libs-gui/pull/177#issuecomment-1493385659

I believe on of the most impactful things we can do to move GNUstep forward on the Windows platform, is to make sure lld properly exports symbols for instance variable offsets

I believe the clang change outlined earlier should fix that (setting the correct dllexport attribute on the ivar variables).  This isn't a problem with lld, it's a problem with clang not marking the symbols as exported.  Clang is also the only thing that knows which of them should be exported (ones for private / package ivars should not be).

I believe the clang change outlined earlier should fix that (setting the correct dllexport attribute on the ivar variables). This isn't a problem with lld, it's a problem with clang not marking the symbols as exported. Clang is also the only thing that knows which of them should be exported (ones for private / package ivars should not be).

Makes sense. @qmfrederik if you need help with making the change outlined above in LLVM I can put you in touch with @weliveindetail (about), who fixed a bunch of other LLVM issues for ObjC on Windows for us.

@davidchisnall Something like this: https://github.com/qmfrederik/llvm-project/commit/00e75676161076ec8d6395f28dd3b33f36465915 ?  I'll try to get this tested later today.

Yup. I don’t think you need the visibility check on the import, we shouldn’t get to codegen with IVars you can’t see.

I tried that patch, and compiled a simple library:
#import "../objc/runtime.h"
#import "../objc/objc-arc.h"

 __declspec(dllexport)
@interface Visibility {
@public BOOL*testVar;
}
@end

@implementation Visibility
@end

I compiled with both vanilla clang 17 and clang 18 with the patch described above.
In both cases, the .o file does contain a symbol for __objc_ivar_offset_Visibility[_value].testVar, but the .dll.a file does not.
Here's the output for the library built with vanilla clang 17:
vagrant@DESKTOP-RNTVKUC UCRT64 ~/git/libobjc2/Visibility
# nm -g build17/CMakeFiles/visibility.dir/Visibility.m.obj | grep ivar
0000000000000004 B __objc_ivar_offset_value_Visibility.testVar
0000000000000028 D __objc_ivar_offset_Visibility.testVar

vagrant@DESKTOP-RNTVKUC UCRT64 ~/git/libobjc2/Visibility
# nm -g build18/libvisibility.dll.a

libvisibility_dll_d000003.o:
0000000000000000 I libvisibility_dll_iname

libvisibility_dll_d000000.o:
0000000000000000 I _head_libvisibility_dll
                 U libvisibility_dll_iname

libvisibility_dll_d000002.o:
0000000000000000 I __imp__OBJC_METACLASS_Visibility
0000000000000000 I __nm__OBJC_METACLASS_Visibility
                 U _head_libvisibility_dll

libvisibility_dll_d000001.o:
0000000000000000 I __imp__OBJC_CLASS_Visibility
0000000000000000 I __nm__OBJC_CLASS_Visibility
                 U _head_libvisibility_dll

and here the equivalent output for clang 18 with the patch:
vagrant@DESKTOP-RNTVKUC UCRT64 ~/git/libobjc2/Visibility
# nm -g build18/CMakeFiles/visibility.dir/Visibility.m.obj | grep ivar
0000000000000004 B __objc_ivar_offset_value_Visibility.testVar
0000000000000028 D __objc_ivar_offset_Visibility.testVar

vagrant@DESKTOP-RNTVKUC UCRT64 ~/git/libobjc2/Visibility
# nm -g build17/libvisibility.dll.a

libvisibility_dll_d000003.o:
0000000000000000 I libvisibility_dll_iname

libvisibility_dll_d000000.o:
0000000000000000 I _head_libvisibility_dll
                 U libvisibility_dll_iname

libvisibility_dll_d000002.o:
0000000000000000 I __imp__OBJC_METACLASS_Visibility
0000000000000000 I __nm__OBJC_METACLASS_Visibility
                 U _head_libvisibility_dll

libvisibility_dll_d000001.o:
0000000000000000 I __imp__OBJC_CLASS_Visibility
0000000000000000 I __nm__OBJC_CLASS_Visibility
                 U _head_libvisibility_dll

vagrant@DESKTOP-RNTVKUC UCRT64 ~/git/libobjc2/Visibility
# nm -g build17/CMakeFiles/visibility.dir/Visibility.m.obj | grep ivar
0000000000000004 B __objc_ivar_offset_value_Visibility.testVar
0000000000000028 D __objc_ivar_offset_Visibility.testVar

I am not sure what the output of nm means on Windows.  What does dumpbin /exports show?

Here's the dumpbin output:
clang 18:
C:\tools\msys64\home\vagrant\git\libobjc2\Visibility>dumpbin /exports build18\libvisibility.dll
Microsoft (R) COFF/PE Dumper Version 14.38.33133.0
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file build18\libvisibility.dll

File Type: DLL

  Section contains the following exports for libvisibility.dll

    00000000 characteristics
    6598FC9E time date stamp Fri Jan  5 23:09:18 2024
        0.00 version
           1 ordinal base
           2 number of functions
           2 number of names

    ordinal hint RVA      name

          1    0 000030C8 _OBJC_CLASS_Visibility
          2    1 00003040 _OBJC_METACLASS_Visibility

  Summary

        1000 .CRT
        1000 .bss
        1000 .data
        2000 .debug_abbrev
        1000 .debug_aranges
        1000 .debug_frame
        9000 .debug_info
        2000 .debug_line
        1000 .debug_line_str
        2000 .debug_loclists
        1000 .debug_rnglists
        1000 .debug_str
        1000 .edata
        1000 .idata
        1000 .pdata
        1000 .rdata
        1000 .reloc
        2000 .text
        1000 .tls
        1000 .xdata

clang 17:
C:\tools\msys64\home\vagrant\git\libobjc2\Visibility>dumpbin /exports build17\libvisibility.dll
Microsoft (R) COFF/PE Dumper Version 14.38.33133.0
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file build17\libvisibility.dll

File Type: DLL

  Section contains the following exports for libvisibility.dll

    00000000 characteristics
    6598FCC4 time date stamp Fri Jan  5 23:09:56 2024
        0.00 version
           1 ordinal base
           2 number of functions
           2 number of names

    ordinal hint RVA      name

          1    0 000030C8 _OBJC_CLASS_Visibility
          2    1 00003040 _OBJC_METACLASS_Visibility

  Summary

        1000 .CRT
        1000 .bss
        1000 .data
        2000 .debug_abbrev
        1000 .debug_aranges
        1000 .debug_frame
        9000 .debug_info
        2000 .debug_line
        1000 .debug_line_str
        2000 .debug_loclists
        1000 .debug_rnglists
        1000 .debug_str
        1000 .edata
        1000 .idata
        1000 .pdata
        1000 .rdata
        1000 .reloc
        2000 .text
        1000 .tls
        1000 .xdata

Oh, I see the problem!  On line 1689, you're modifying the AST, not the emitted global.  This should be setting the DLL storage class on IvarOffsetPointer, not Ivar.

Hmm, looks I already made that change: https://github.com/llvm/llvm-project/commit/ffaa2382b1fbf19b3df42e5c5ba8f2c54c2bca3e and the result appears to be the same.  I also uncommented the if(...) clause and left the statement in there as is, without any change.

It shouldn't make a difference, but can you move the code setting up the global into the if block above where it's created (line 1681)?
Can you also dump the IR and make sure that the dllexport attribute is actually added to the ivar global?

@davidchisnall It looks like https://github.com/llvm/llvm-project/commit/958455749a899edd99ddb1ca1834d4956775d305 did the trick.  Does this look good to you?  If so, I can open a PR in the llvm-project repo.

... it also helped to specify -fobjc-runtime=gnustep-2.0 🤦 .  Here's the dumpbin output for confirmation:

Microsoft (R) COFF/PE Dumper Version 14.38.33133.0
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file libvisibility.dll

File Type: DLL

  Section contains the following exports for libvisibility.dll

    00000000 characteristics
    659C621E time date stamp Mon Jan  8 12:59:10 2024
        0.00 version
           1 ordinal base
           3 number of functions
           3 number of names

    ordinal hint RVA      name

          1    0 000030C0 $_OBJC_CLASS_Visibility
          2    1 00004000 $_OBJC_REF_CLASS_Visibility
          3    2 00008020 __objc_ivar_offset_Visibility.testVar.^i

  Summary

        1000 .CRT
        1000 .bss
        1000 .data
        2000 .debug_abbrev
        1000 .debug_aranges
        1000 .debug_frame
        8000 .debug_info
        2000 .debug_line
        1000 .debug_line_str
        2000 .debug_loclists
        1000 .debug_rnglists
        1000 .debug_str
        1000 .edata
        1000 .idata
        1000 .objcrt
        1000 .pdata
        1000 .rdata
        1000 .reloc
        2000 .text
        1000 .tls
        1000 .xdata

Clang changes look good, please raise a PR and tag me to review.

With that PR merged, I now got here: https://lists.nongnu.org/archive/html/gnustep-dev/2021-10/msg00030.html
ld.lld: error: <root>: undefined symbol: Q^?LL}
ld.lld: error: <root>: undefined symbol: }
ld.lld: error: <root>: undefined symbol: ^{autorelease_array_list}II[0☺]}
ld.lld: error: <root>: undefined symbol: ^{_NSZone}QQ^{_GSIMapBucket}^{_GSIMapNode}Q^^{_GSIMapNode}Q}
ld.lld: error: <root>: undefined symbol: ^?^?^?^?^?^?^?Q☺^{_NSZone}}
ld.lld: error: <root>: undefined symbol: ^{_NSNotificationQueueRegistration}^{_NSNotificationQueueRegistration}}
ld.lld: error: <root>: undefined symbol: ☺I^☺ii}
ld.lld: error: <root>: undefined symbol: [16{_SETJMP_FLOAT128=[2Q]}]^{_NSHandler}☺}
ld.lld: error: <root>: undefined symbol: ☺☺{?=b0I1b1I31}}

I think the linked post has the solution.  Does that work?

Yes, that's on my todo list.  I'd like to get https://github.com/llvm/llvm-project/pull/77255 and https://github.com/gnustep/libobjc2/pull/267 merged first before starting something new.  Also, using the GNU ABI acts as a (short-term) workaround; here's the make check result for libs-base with the latest libobjc2 on mingw:
   6343 Passed tests
     52 Failed tests
     25 Dashed hopes
     10 Skipped sets
      9 Failed files

@davidchisnall This behavior seems to be specific to lld.  Consider this file:
#define GS_EXPORT_CLASS __declspec(dllexport)

typedef struct autorelease_array_list
{
  struct autorelease_array_list *next;
  unsigned size;
  unsigned count;
  __unsafe_unretained id objects[0];
} array_list_struct;

GS_EXPORT_CLASS
@interface NSAutoreleasePool
{
  struct autorelease_array_list *_released;
}
@end

@implementation NSAutoreleasePool
@end

You can compile and link this to a shared with ld:
# clang -shared -o test.dll test.m -lobjc -fobjc-runtime=gnustep-2.0
test.m:12:12: warning: class 'NSAutoreleasePool' defined without specifying a base class [-Wobjc-root-class]
   12 | @interface NSAutoreleasePool
      |            ^
test.m:12:29: note: add a super class to fix this problem
   12 | @interface NSAutoreleasePool
      |                             ^
1 warning generated.

and the ivar symbol is exported correctly:
# nm -g test.dll | grep ivar
00000001eabc8020 B __objc_ivar_offset_NSAutoreleasePool._released.^{autorelease_array_list=^{autorelease_array_list}II[0]}

But you'll get an error with ldd:
# clang -shared -o test.dll test.m -lobjc -fobjc-runtime=gnustep-2.0 -fuse-ld=lld
test.m:12:12: warning: class 'NSAutoreleasePool' defined without specifying a base class [-Wobjc-root-class]
   12 | @interface NSAutoreleasePool
      |            ^
test.m:12:29: note: add a super class to fix this problem
   12 | @interface NSAutoreleasePool
      |                             ^
1 warning generated.
ld.lld: error: <root>: undefined symbol: ^{autorelease_array_list}II[0☺]}
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Probably easier to work around than fix, if we just turn = into \2 in ivar encodings.

Yes, I'll give that a try: https://github.com/llvm/llvm-project/commit/c045bbf83d254ba4ed2f42dbcb5e0a454d3ae816. clang is rebuilding (sigh), will let you know once that's done.
@triplef, how did you work around this for Windows MSVC?

If you mean work around the linker errors with libs-gui: I didn’t – I gave up on building libs-gui on Windows back then since the issues were too involved to justify spending more time on it while we don’t need it ourselves (we use Qt/QML for our UI on Windows and Android).

@triplef Well, I'm seeing this linker issue when building and linking libs-base, so I was wondering whether you had to do something special to make this work with clang-cl?  Did you apply patches to libs-base to work around this (e.g. don't expose any ivars which are of a struct type), or use a different linker?

@davidchisnall Yes, the patch proposed in that mail thread works.  I can now compile and link libs-base on MinGW using the gnustep 2.0 ABI, using this patch: https://github.com/llvm/llvm-project/commit/c65ae76326040369bcd3a85678ab76e402140036. 🎉
So it looks like clang should be in a good shape if we can get that change upstreamed.  I've got a couple of questions:

The current clang code replaces @ with \1 in 3 different locations: in GetTypeString, GetConstantSelector and GetIVarOffsetVariableName. Should the = to \2 translation be done in all three locations?
Since this is an ABI change, I assume you want to guard it to be specific to certain platforms.  Should we do this for all Windows or mingw only?  Should it be specific to a GNUstep ABI version (e.g. 2.2 and above)?

Once we've got some clarity on how we want to implement this, I can go ahead and create a PR.

Update: libs-gui compiles and links, though libgmodel still fails.  That'll be for another day.

@triplef Well, I'm seeing this linker issue when building and linking libs-base, so I was wondering whether you had to do something special to make this work with clang-cl?

I don’t think so. We’re using the LLD linker and we don’t apply any patches in that regard to libs-base. I guess the codegen must be somehow different with MinGW?

Thanks. We do want to do it in all of those places. It’s worth pulling it out into a separate function called makeValidSybolName or similar. The @ replacement should be necessary only on ELF platforms (it conflicts with symbol versioning). The = replacement should not be needed anywhere other than Windows.
I think it’s probably okay as an ABI break on Windows. The ivar variables are the only ones where it matters (the others will simply do less uniquing). If we were not able to link with the old mangling then the impact should be low.

https://github.com/llvm/llvm-project/pull/77797 should implement this

We now have good support for Objective C on MSYS2 using Clang 18.1.0, so I'm closing this for now.


FAILED tests/test_fund_me.py::test_can_fund_and_withdraw - brownie.exceptions.VirtualMachineError: revert: You need to spend more ETH

Hi, I hope someone can help me here. It's such a good tutorial would hate to be stuck here.
So while running the test_fund_me.py, I get the error: FAILED tests/test_fund_me.py::test_can_fund_and_withdraw - brownie.exceptions.VirtualMachineError: revert: You need to spend more ETH
here is the complete output from my terminal:
PS D:\Python projects\Solidity dev\demo\brownie_fund_me> brownie run scripts/fund_and_withdraw.py --network ganache-local
INFO: Could not find files for the given pattern(s).
Brownie v1.17.2 - Python development framework for Ethereum

BrownieFundMeProject is the active project.

Running 'scripts\fund_and_withdraw.py::main'...
The current entrance fee is<PHONE_NUMBER>0000000
funding
Transaction sent: 0x75fe7f1b352df33da0797fd0071a875138eb38e6d514bf6c5b4ddb2c87b4f09f
  Gas price: 0.0 gwei   Gas limit: 99255   Nonce: 34
  FundMe.fund confirmed   Block: 37   Gas used: 90232 (90.91%)

Transaction sent: 0x9e7ea05c27b46c7021dcabca7f6ed7fa7fa97f27a8ab491dd88f21976c4c0c4c
  Gas price: 0.0 gwei   Gas limit: 76963   Nonce: 35
  FundMe.withdraw confirmed   Block: 38   Gas used: 24967 (32.44%)

PS D:\Python projects\Solidity dev\demo\brownie_fund_me> brownie test
INFO: Could not find files for the given pattern(s).

Mocks deployed
Contract deployed to0x602C71e4DAC47a042Ee7f46E0aee17F94A3bA0B6
Transaction sent: 0x1c52869ed8a14cdea4aab46768f2833710faf81b97ccf42d1c44c46cb26aa0a4
===================================================================================== short test summary info ======================================================================================
FAILED tests/test_fund_me.py::test_can_fund_and_withdraw - brownie.exceptions.VirtualMachineError: revert: You need to spend more ETH
======================================================================================== 1 failed in 9.84s =========================================================================================
Terminating local RPC client...
PS D:\Python projects\Solidity dev\demo\brownie_fund_me>

Here is the test_fund_me.py code:
from brownie.network import account
from scripts.fund_and_withdraw import fund
from scripts.helpful_scripts import get_account
from scripts.deploy import deploy_fund_me

def test_can_fund_and_withdraw():
    account = get_account()
    fund_me = deploy_fund_me()
    entrance_fee = fund_me.getEntranceFee()
    tx = fund_me.fund({"from": account, "value": entrance_fee})
    tx.wait(1)
    assert fund_me.addressToAmountFunded(account.address) == entrance_fee
    tx2 = fund_me.withdraw({"from": account})
    tx2.wait(1)
    assert fund_me.addressToAmountFunded(account.address) == 0

fund_and_withdraw.py
from os import access
from brownie import FundMe
from brownie.network import account
from scripts.deploy import deploy_fund_me

from scripts.helpful_scripts import get_account
from web3 import Web3

def fund():
    fund_me = FundMe[-1]
    account = get_account()
    entrance_fee = fund_me.getEntranceFee()

    print(f"The current entrance fee is {entrance_fee}")
    print("funding")
    fund_me.fund(
        {
            "from": account,
            "value": entrance_fee,
        }
    )

def withdraw():
    fund_me = FundMe[-1]
    account = get_account()
    fund_me.withdraw({"from": account})

def main():
    fund()
    withdraw()

deploy.py
from brownie import FundMe, network, config, MockV3Aggregator
from scripts.helpful_scripts import (
    get_account,
    deploy_mocks,
    LOCAL_BLOCKCHAIN_ENVIRONMENTS,
)

def deploy_fund_me():
    account = get_account()
    if network.show_active() not in LOCAL_BLOCKCHAIN_ENVIRONMENTS:
        price_feed_address = config["networks"][network.show_active()][
            "eth_usd_price_feed"
        ]
    else:
        deploy_mocks()
        price_feed_address = MockV3Aggregator[-1].address

    fund_me = FundMe.deploy(
        price_feed_address,
        {"from": account},
        publish_source=config["networks"][network.show_active()].get("verify"),
    )
    print(f"Contract deployed to{fund_me.address}")
    return fund_me

def main():
    deploy_fund_me()

helpful_scripts.py
from brownie import network, config, accounts, MockV3Aggregator
from web3 import Web3

LOCAL_BLOCKCHAIN_ENVIRONMENTS = ["development", "ganache-local"]

DECIMALS = 8
STARTING_PRICE =<PHONE_NUMBER>00

def get_account():
    if network.show_active() in LOCAL_BLOCKCHAIN_ENVIRONMENTS:
        return accounts[0]
    else:
        return accounts.add(config["wallets"]["from_key"])

def deploy_mocks():
    print(f"The active network is {network.show_active()}")
    print("Deploying Mocks...")
    if len(MockV3Aggregator) <= 0:
        MockV3Aggregator.deploy(DECIMALS, STARTING_PRICE, {"from": get_account()})
    print("Mocks deployed")

brownie-config.yaml:
dependencies :
# - <organization/repo>@<version>
-<EMAIL_ADDRESS>
compiler:
  solc:
    remappings:
      - '<EMAIL_ADDRESS>
dotenv: .env
networks:
  rinkeby:
    eth_usd_price_feed: '0x8A753747A1Fa494EC906cE90E9f37563A8AF630e'
    verify: True
  development:
    verify: False

  ganache-local:
    verify: False

wallets:
  from_key: ${PRIVATE_KEY}

FundMe.sol:
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.6;

import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>
contract FundMe {
    using SafeMathChainlink for uint256;

    mapping(address => uint256) public addressToAmountFund;
    address public owner;
    address[] public funders;
    AggregatorV3Interface public priceFeed;

    constructor(address _priceFeed) public {
        priceFeed = AggregatorV3Interface(_priceFeed);
        owner = msg.sender;
    }

    function fund() public payable {
        //50dollars
        uint256 minimumUSD = 50 * 10**18;
        require(
            getConversionRate(msg.value) > minimumUSD,
            "You need to spend more ETH"
        );
        addressToAmountFund[msg.sender] += msg.value;
        funders.push(msg.sender);
    }

    function getVersion() public view returns (uint256) {
        return priceFeed.version();
    }

    function getPrice() public view returns (uint256) {
        (, int256 answer, , , ) = priceFeed.latestRoundData();
        return uint256(answer *<PHONE_NUMBER>0);
    }

    function getConversionRate(uint256 ethAmount)
        public
        view
        returns (uint256)
    {
        uint256 ethPrice = getPrice();
        uint256 ethAmountInUSD = (ethPrice * ethAmount) /<PHONE_NUMBER>000000000;
        return ethAmountInUSD;
    }

    function getEntranceFee() public view returns (uint256) {
        // mimimumUSD
        uint256 mimimumUSD = 50 * 10**18;
        uint256 price = getPrice();
        uint256 precision = 1 * 10**18;
        return (mimimumUSD * precision) / price;
    }

    modifier OnlyOwner() {
        require(msg.sender == owner, "not owner");
        _;
    }

    function withdraw() public payable OnlyOwner {
        msg.sender.transfer(address(this).balance);
        for (
            uint256 funderIndex = 0;
            funderIndex < funders.length;
            funderIndex++
        ) {
            address funder = funders[funderIndex];
            addressToAmountFund[funder] = 0;
        }
        funders = new address[](0);
    }
}

Please can someone let me know what is the problem?

Hello @WeTheArtist  If you are using thies on ganache-local which I suppose is the ganache ui instance, the problem could be solved changing manually increase the gas price limit and the gas limit on ganache:

Thank you @cromewar I tried it to increase the gas price limit and gas limit but it gave the same error. But no worries, i have moved on to the lottery lesson. :)


FABGW-21: Realtime implementation of ChaincodeEvents service

Initial implementation of Fabric Gateway's ChaincodeEvents service, allowing only listening for realtime chaincode events.
Also add block number into CommitStatus response.

/ci-run

Refactored to break cyclic dependency and enable the use of Counterfeiter as the mocking framework again.

@manish-sethi Moving back to draft to continue changes to support chaincode event listening, at least until there is a suitable mechanism to grab block number along with transaction status and a satisfactory interim PR can be delivered.

@manish-sethi Moving back to draft to continue changes to support chaincode event listening, at least until there is a suitable mechanism to grab block number along with transaction status and a satisfactory interim PR can be delivered.

@bestbeforetoday - The PR for block number is merged now.

/ci-run

@manish-sethi Your outstanding comments seem to be primarily objections to code structure that was already there prior to this PR, and was there at the request of other maintainers. I have addressed as many of these structural issues as I think I reasonably can in this PR, which is delivering chaincode event listening, not a refactor of existing code

@manish-sethi Your outstanding comments seem to be primarily objections to code structure that was already there prior to this PR, and was there at the request of other maintainers. I have addressed as many of these structural issues as I think I reasonably can in this PR, which is delivering chaincode event listening, not a refactor of existing code

Yes, As I mentioned in the previous comment, the refactoring can be taken up in a separate PR

@manish You were not keen on having the blockNotifier in addition to the other notifiers. This is really there because you imposed the limitation that there could only be one listener to ledger notifications, so the blockNotifier provides a mechanism to workaround that limitation and allow multiple listeners. One approach to simplifying this code might be to remove your restriction on only allowing a single listener for ledger notifications, in which case the blockNotifier and the logic there could be completely removed.


Make capitalization of docs sidebar headings consistent

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2305
Originally created by @DouweM on 2020-08-21 19:38:30

View 1 previous comment from the original issue on GitLab


Using "strict" (RAISE_VALIDATION_ERROR) applies default ordering

In https://github.com/alex/django-filter/blob/7dbd0c78c58386704fd7645c602f4417d1fdc0e8/django_filters/filterset.py#L359-L360:
if ordered_value in EMPTY_VALUES and self.strict:
    ordered_value = self.form.fields[self.order_by_field].choices[0][0]

When skimming the issues about this, I came across #84, but it seems like it has been forgotten / is not needed anymore?!

Closing this in favor of #374.


Infrastructure stacks are displayed for a github member

**Rancher Version:**1.2.0
**Docker Version:**1.12.3
**OS and where are the hosts located? (cloud, bare metal, etc):**Ubuntu, Cloud
**Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)**Single node
**Environment Type: (Cattle/Kubernetes/Swarm/Mesos)**Cattle
Steps to Reproduce:

Create a rancher v1.2.0 setup
Enable github authentication
Add a github user as a member for an env
Login to rancher as a github member

Results
The infrastructure stacks are displayed when logged as a member.
Expected
Infrastructure stacks should not be displayed for members

This is not a bug.  Infrastructure is not referenced in the Stacks drop-down menu.  According to previous bug, being able to see them when you click on ALL is not a bug.
Duplicate of #6670


Problems configuring RepeatClasifier on docker.

When classifying repeats for Daphnia pulex, a Crustacean, I get >95% unknown families. I've downloaded dfam38_full.8.h5, and have dfam38_full.0.h5 in the RepeatMasker directory. I delete rmlib.config, and when I run ./tetoolsDfamUpdate.pl it seems to correctly detect the dfam library. I set the environmental variable, but when I run RepeatClassifier I still get mostly unknowns. Does RepeatClassifier use RepeatMasker's library? Is there some step I am forgetting? Thanks in advance!

Hi, can you provide the command you used to invoke RepeatClassifier? The first thing I want to confirm is that the configured library is being mounted into the container properly.
Another possible problem is that the automatic update script only extracts the curated families from the .h5 files. It's possible that it's just not including the families that would be useful to you, and if that's the case I can help work around that.

I use "singularity shell --bind /mnt/pixstor/data/magmt/:/home/magmt/data2
--bind
/mnt/pixstor/sxwf7-lab/RepeateModeler/Libraries:/opt/RepeatMasker/Libraries
~/data/singularity/tetools_latest.sif" to start the container, then delete
/opt/RepeatMasker/Libraries/famdb/rmlib.config then run ./tetoolsDfamUpdate.pl.
tetoolsDfamUpdate seems to see both partitions (it says "2 Partitions
Present"), and then I set the environment variable "export
LIBDIR=/path/to/Libraries".
I then run RepeatClassifier with "RepeatClassifier -consensi my-families.fa"
-Matt
On Thu, Feb 8, 2024 at 4:59 PM Anthony @.***> wrote:

Hi, can you provide the command you used to invoke RepeatClassifier? The
first thing I want to confirm is that the configured library is being
mounted into the container properly.
Another possible problem is that the automatic update script only extracts
the curated families from the .h5 files. It's possible that it's just not
including the families that would be useful to you, and if that's the case
I can help work around that.
—
Reply to this email directly, view it on GitHub
https://github.com/Dfam-consortium/TETools/issues/36#issuecomment-1935065064,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACRUFQGVO23AQS4SLKWLV3YSVKDJAVCNFSM6AAAAABCVOMPEWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZVGA3DKMBWGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

A read-only file system could certainly be causing issues. tetoolsDfamUpdate.pl rewrites /opt/RepeatMasker/Libraries/RepeatMasker.lib, so you could confirm if that's working by checking the timestamp with ls -al.
Can you share the error message when you use the shell -w command?

Sorry to message you again. I was investigating the 'not writable' angle by
creating an image that loads properly with the shell -w command. I did this
by executing "singularity build --sandbox writable_tetools.sif
/home/magmt/data/singularity/tetools_latest.sif". This writable sif loads
properly with the shell -w command, and I verified that it is writable by
making files in the root directory. In this writable image, I
ran tetoolsDfamUpdate.pl as previously specified and it does update the
file RepeatMasker.lib, but I'm still getting mostly unknowns. I may try
downloading a few more dfam38 libraries, but I'm pretty sure Daphnia
(branchiopod crustaceans) belong in dfam38_full.8.h5. Any other ideas?
-Matt
On Fri, Feb 9, 2024 at 2:14 PM Anthony @.***> wrote:

A read-only file system could certainly be causing issues.
tetoolsDfamUpdate.pl rewrites /opt/RepeatMasker/Libraries/RepeatMasker.lib,
so you could confirm if that's working by checking the timestamp with ls
-al.
Can you share the error message when you use the shell -w command?
—
Reply to this email directly, view it on GitHub
https://github.com/Dfam-consortium/TETools/issues/36#issuecomment-1936543763,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACRUFU2AHFBGB6JHZTAMN3YSZ7TPAVCNFSM6AAAAABCVOMPEWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZWGU2DGNZWGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks for confirming that the container is working. It looks like the issue is that tetoolsDfamUpdate.pl is only importing curated families into RepeatMasker.lib, and since there are no curated Daphnia families, it makes sense that you're not seeing any additional hits. To work around this, one solution is to use famdb.py to directly query the data you need.
First, I ran a few lineage queries to confirm what is in the FamDB files:
python3 famdb.py -i ./dfam38_full lineage -d daphnia
6668 Daphnia(8) [0]
├─6669 Daphnia pulex(8) [0]
└─35523 Daphnia pulicaria(8) [937]

python3 famdb.py -i ./dfam38_full lineage -d --curated daphnia
6668 Daphnia(8) [0]
├─6669 Daphnia pulex(8) [0]
└─35523 Daphnia pulicaria(8) [0]

This confirms that there are 937 uncurated families in file 8, though all are from Daphnia pulicaria. To extract them, you can use the families -f fasta_name command, and append them to your RepeatMasker.lib. The following command should generate the FASTA output from FamDB, prepend a new line to it, and concatenate it to RepeatMasker.lib.
python3 <host path to /RepeatMasker>/famdb.py -i <host path to /RepeatMasker>/Libraries/famdb families -d -f fasta_name daphnia | (echo && cat) >> <host path to /RepeatMasker>/Libraries/RepeatMasker.lib

More information regarding FamDB commands can be found here. If you need to add other FamDB files, just be aware that tetoolsDfamUpdate.pl will overwrite any changes you make to RepeatMasker.lib. You may choose to run tetoolsDfamUpdate.pl anyway, but if not you might need to edit rmlib.config by hand. If tetoolsDfamUpdate.pl is rerun, be sure to only export uncurated families from FamDB to avoid doubling up curated families in RepeatMasker.lib.
Hopefully that  produces better results for you, but let me know either way.

Sorry, you may be right that this should be closed, but I just got around
to running your fix (I'd been messing with Transposon Ultimate) and I'm not
getting what I want yet.
-Matt
On Wed, Mar 13, 2024 at 3:26 PM Anthony @.***> wrote:

Closed #36 https://github.com/Dfam-consortium/TETools/issues/36 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/Dfam-consortium/TETools/issues/36#event-12108805444,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACRUFRNC4L4IMNJKWHDQGDYYCZBHAVCNFSM6AAAAABCVOMPEWVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGEYDQOBQGU2DINA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sorry, I just closed it because of inactivity.
Either way, it's sounding less like an issue with TETools, and more like an
issue with RepeatClassifier.
If you like, you can send your data to us, and we can try to run it against
all of Dfam to see what we can find. I'm not super familiar with
RepeatClassifier, but you could send it to me or to the author of
RepeatClassifier:
agray at systemsbiology.org
or
rhubley at systemsbiology.org
as you prefer.
On Wed, Mar 13, 2024, 13:54 Matthew Ackerman @.***>
wrote:

Sorry, you may be right that this should be closed, but I just got around
to running your fix (I'd been messing with Transposon Ultimate) and I'm
not
getting what I want yet.
-Matt
On Wed, Mar 13, 2024 at 3:26 PM Anthony @.***> wrote:

Closed #36 https://github.com/Dfam-consortium/TETools/issues/36 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/Dfam-consortium/TETools/issues/36#event-12108805444,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AACRUFRNC4L4IMNJKWHDQGDYYCZBHAVCNFSM6AAAAABCVOMPEWVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGEYDQOBQGU2DINA>

.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/Dfam-consortium/TETools/issues/36#issuecomment-1995776150,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF6AS3AHGWT2AGOHHMUCSA3YYC4GXAVCNFSM6AAAAABCVOMPEWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJVG43TMMJVGA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Can't accept suggested changes RID949 on EID910 but can moderate other suggested changes

For whatever reason I can't accept the suggested change (RID949) Malachi suggested for EID910. I am able to accept other suggested changes to other evidence statements. I also tried accepting this evidence statement from the admin interface but was met with a "something went wrong" error.

This was corrected although the cause was not definitively determined.


SAML authnrequest change

This issue is imported from pivotal - Originaly created at Dec 9, 2020 by Bart Geesink
The authn  request sent to EB contains an element that I'd like to change:
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" is asked, but EB does only support the POST binding, hence it should be:
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
While we're at it: The authnrequest also asks for "IsPassive="false"" . Since that is the default, and EB does not support "isPassive", can we leave it out here?

https://github.com/OpenConext/OpenConext-oidcng/commit/8570ea8afed0c12ad0b26bf97f86d85ba4b34faf (Okke Harsta - Dec 17, 2020)


Remove extra backslashes

Found a bug in my first PR. This should fix it.

Thanks! Didn't even catch it myself

Still doesn't work on my end, sadly. I should have started by adding a test in TwoFheyTests.swift. Did that now and now I'm fixing "No such module 'TwoFHey'" in Xcode.
Goal: to be able to run the tests with ⌘ + U in Xcode AND to get my new test to pass successfully.
I'll submit a new PR when ready. Hope it won't be too many changes 😊

Sadly ran into too many issues. Opened an issue for it: https://github.com/SoFriendly/2fhey/issues/50


[Bug] OC API client for Python ignore values defined in ChallengeSearchQuery when listing challenges

Is there an existing issue for this?

[X] I have searched the existing issues

What product(s) are you seeing the problem on?
OpenChallenges
Current behavior
I'm trying to get all the challenges. The query shown below shows that all the challenges can be listed on a single page.
https://openchallenges.io/api/v1/challenges?sort=created&pageSize=1000

The following code fails to do the same in Python:
# Enter a context with an instance of the API client
challenges = []
with openchallenges_client.ApiClient(configuration) as api_client:
    api_instance = challenge_api.ChallengeApi(api_client)

    query = openchallenges_client.ChallengeSearchQuery(page_number=1, page_size=1000)
    pprint(query)

    try:
        # Get the first page of the list of challenges
        page = api_instance.list_challenges(query)
        pprint(page.total_pages)
        challenges.extend(page.challenges)
    except openchallenges_client.ApiException as e:
        print("Exception when calling ChallengeApi->list_challenges: %s\n" % e)

The page size return is always 3 and the number of results per page is 100, independently of the value of query. 100 is the default page size. However, I updated the API description, regenerated the API client and reinstalled it. The client code shows that the change is effective, but my script still fetch 100 challenges per page.
Expected behavior
No response
Anything else?
No response
Commit ID
No response
Are you developing inside the dev container?

[X] I am using the dev container

Code of Conduct

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

The issue is that the auto-generated API client does not seem to support object as query params. Consider the following code from challenge_api.py:
        # process the query parameters
        _query_params = []
        _query_params.append(('pageSize', 1000))
        # if _params.get('challenge_search_query') is not None:  # noqa: E501
        #     _query_params.append(('challengeSearchQuery', _params['challenge_search_query']))

This adds a query param named challengeSearchQuery, which is not supported the auto-generated client.
This is not the first time that an issue arise because we use an object, which was decided because this enables to group the params in one schema. While this works fine with code generated for the Java server, Angular and Axios cients, there was also an issue in R. The issue was reported to the official repo of OpenAPI Generator. Was the fix supposed to fix exactly this issue for R?
The easiest path forward would be to update the API description to no longer rely on objects for query params. This change should have minimal impact on existing implementation. The change should be tested on a single endpoint first.

I have "hacked" the API client locally so that I could fetch all the challenges on one page:
        # process the query parameters
        _query_params = []
        _query_params.append(('pageSize', 1000))
        # if _params.get('challenge_search_query') is not None:  # noqa: E501
        #     _query_params.append(('challengeSearchQuery', _params['challenge_search_query']))

Added to Sprint 23.12

Added to Backlog


textarea element needs title attribute or label for accessibility

According to WCAG 2.0, textarea form controls (and just about every other interactive UI element) should have a name, role and value. The textarea generated by React.createElement in your code does not give it a name.
Their techniques page indicates that the name comes from

<label> element associated with it or title attribute

See also their examples for basic HTML techniques.
Can I suggest you pass through a title prop to the textarea? Probably easier than adding a label and having to style that.
PS. I discovered this using the handy HTML_CodeSniffer tool.

I couldn't see it in your code, but it looks like there are two textarea elements generated, though the second looks to be the CodeMirror one.

@iainsimmons It appears that the second textarea element is coming from the SimpleMDE module, not this one. You may want to raise an issue there instead.

This one seems to be fixed on our side. So I close this one.


Automatically add created_at / updated_at to whitelist

When I use whitelist in update / insert method, I have to add created_at and updated_at to the white list every time. There is an option to add itt automatically?

Hey westito. Sorry about the delay in response, I've been traveling for business abroad.
One of the problems that we have is that doing this prevents us from allowing the user to completely customize the whitelist. This breaks the intuitive thing about what a whitelist is. In the case where I want it updated all the time yes, it makes sense. But without adding too much extra complexity how do I tell the function to only update the field called "name" but NOT update created/updated at for whatever reasons I have at this time?
Also join us on Slack if you want to discuss in more realtime :) https://sqlboiler.from-the.cloud/

Wouldn't it be nice to have some configuration where one can specify to always update the updated_at field? Only thing to take care of then would be to check if created_at is in the whitelist, and if not add it. Realy bad if one forgets to set the field manualy. Normaly if the field is present on the models, i think everyone want's to have it autoupdated, but for the once who don't want that, one could use the configuration setting.

Why should one update only 'name' if the db has a field 'updated_at'. The meaning of updated_at IS to update the field every time something changes ... If one realy realy wants to not update updated_at, he can use raw-sql ...

Okay, so I see three solutions to this problem and I'll probably pick one
Please vote for your favorite below:

Let people suffer the surprise when fields that they haven't selected are updated and fallback to raw to get rid of surprising behavior 💾
Opt-in to auto-generated field auto-updates with a bool on the affected methods (I think there's only 3 of these? insert/update/upsert) 💿
Add a configuration value that turns this functionality on/off 📀

I'd vote for 1.
Or 2, but not opt-in, but opt-out. Default would be that the update is done, and one can specify not to do the update.

This use case is handled by using boil.Greylist in v3. Greylist adds columns to the list of columns to insert, without completely the inference that sqlboiler normally does. This means created_at/updated_at will not be punted as soon as we want to specify a single column. I believe this resolves this.


Options to force enable and disable hyphenation

What does this option do? Why would some kepubs not have hyphenations by default?

@onodera-punpun This option will do the same thing as the equivalent option in the calibre kepub output plugin. Sometimes, the publisher may disable it, or a user may have patched their firmware.


Fixed #28032 -- Paginator.page_force_into_range

Moved boilerplate from docs to a utility function.

I'd love to have more suggestions for the name, where should I post a question?

Thank you very much for your contribution, @sjlehtin :) Please let me know when you have (more) questions! :+1:

I've addressed everything except the "Returns", I hope.  "effective_page" is a good name, was there prior art for "effective_" in Django somewhere?

I now changed the function name in the commit message as well.


Tensorboard callbacks

Changes

Fixes #123
Type of change

[ ] 📚  Documentation Update
[ ] 🧪 Tests Cases
[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[x] 🔬 New feature (non-breaking change which adds functionality)
[ ] 🚨 Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] 📝 This change requires a documentation update

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] Did you update CHANGELOG (docs/CHANGELOG.md) in case of a major change?

Solves issue #123
I have added basic tensorboard callback functionality which include: logging the loss and accuracy for both training and validation.
Is there any other functionality of tensorboard that I need to add @aniketmaurya

awesome work, feel free to set the PR for review when you're ready.

@aniketmaurya set the PR as ready for review

Looks good! Do wanna add logging for step_loss as well in this PR or maybe a next PR?

Sure I'll add step_loss in this PR

Hey, @aniketmaurya should I also plot the metrics for every step epoch?

Hey, @aniketmaurya should I also plot the metrics for every step epoch?

Sure, let's log metrics for every train_step

You can refer to the Wandb callback for reference.

@aniketmaurya added functionality loggging metrics and loss for every step_loss as well


Rename OSL helper method to mx_contrast

This changelist renames an OSL helper method from 'contrast' to 'mx_contrast', removing a source of name conflicts in custom nodes.

Attaching render tests for this changelist, using the latest build of OSL with MaterialX closures enabled:
MaterialXRenderTests_10_23_2022.pdf

This changelist is a first step towards addressing issue #1110, where the same approach can be applied to other OSL helper methods such as noise and remap.


Add Ability to Adjust Column Width on Brewery Pi Tables

Add the ability to adjust column width on brewery pi tables.

@adler-sudo there is not a clean/easy way to do this w/DataTables - the plug-in we are using for table representation for data entry. The tables are responsive and adjust fairly well with window sizing. We also added views for event frames that allows user to reduce the number of columns displayed. With all this, I'm going to close this issue for now.


cpu usage high

We have written the needed data into your clipboard b
Type: Performance Issue
python project, all editors closed.
VS Code version: Code 1.77.0 (7f329fe6c66b0f86ae1574c2911b681ad5a45d63, 2023-03-29T10:02:16.981Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 x 1690)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
15.73GB (5.94GB free)

Process Argv
E:\code\XXX\python-notes --crash-reporter-id 7a8da128-85df-462d-a4d7-9c15013868f8

Screen Reader
no

VM
67%

Process Info
CPU %	Mem MB	   PID	Process
    0	    75	 17036	code main
    0	   236	  1140	   gpu-process
    0	    19	  2156	fileWatcher [1]
    0	     6	 11276	   crashpad-handler
    0	   151	 13340	window [1] (python-notes - Visual Studio Code)
    0	    13	 18692	   utility-network-service
    0	    42	 18928	shared-process
    0	    13	 20244	     ptyHost
    0	   135	 18976	extensionHost [1]
    0	    80	  1352	     electron-nodejs ("C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\Administrator\.vscode\extensions\ms-python.vscode-pylance-2023.3.40\dist\server.bundle.js --cancellationReceive=file:5b4b4587096e50da7deb54621c2a5c4d3f2b9cf9c5 --node-ipc --clientProcessId=18976)
    7	    16	  3968	       C:\ProgramData\Anaconda3\python.exe c:\Users\Administrator\.vscode\extensions\ms-python.vscode-pylance-2023.3.40\dist\bundled\files\get_pytest_options.py
    0	    10	 18476	         console-window-host (Windows internal process)
    0	    29	  5540	     electron-nodejs ("C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\Administrator\.vscode\extensions\vue.volar-1.2.0-win32-x64\server.js --node-ipc --clientProcessId=18976)
    0	    61	 17776	     electron-nodejs ("C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\Administrator\.vscode\extensions\visualstudioexptteam.intellicode-api-usage-examples-0.2.7\dist\server\server.js --node-ipc --clientProcessId=18976)
    0	    19	 18200	     electron-nodejs ("C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "c:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\markdown-language-features\server\dist\node\workerMain" --node-ipc --clientProcessId=18976)
    0	    29	 18752	     electron-nodejs ("C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\Administrator\.vscode\extensions\vue.volar-1.2.0-win32-x64\server.js --node-ipc --clientProcessId=18976)
    0	    86	 21108	window [2] (Issue Reporter)

Workspace Info
|  Window (python-notes - Visual Studio Code)
|    Folder (python-notes): 25 files
|      File types: xml(6) py(6) pyc(3) gitignore(2) md(2) iml(1) java(1)
|                  txt(1)
|      Conf files:;

Extensions (34)

Extension
Author (truncated)
Version

sublime-monokai
Ary
0.2.9

vscode-django
bat
1.10.0

macos-modern-theme
dav
2.3.18

python-environment-manager
don
1.0.4

python-extension-pack
don
1.7.0

copilot
Git
1.79.10634

copilot-labs
Git
0.12.791

gc-excelviewer
Gra
4.2.57

intellij-idea-keybindings
k--
1.5.9

vsc-python-indent
Kev
1.18.0

rainbow-csv
mec
3.6.0

vscode-docker
ms-
1.24.0

python
ms-
2023.6.0

vscode-pylance
ms-
2023.3.40

jupyter
ms-
2023.3.1000892223

jupyter-keymap
ms-
1.1.0

jupyter-renderers
ms-
1.0.15

vscode-jupyter-cell-tags
ms-
0.1.8

vscode-jupyter-slideshow
ms-
0.1.5

remote-wsl
ms-
0.77.0

autodocstring
njp
0.6.1

fabric8-analytics
red
0.3.6

java
red
1.16.0

intellicode-api-usage-examples
Vis
0.2.7

vscodeintellicode
Vis
1.2.30

vscode-java-debug
vsc
0.49.1

vscode-java-dependency
vsc
0.21.2

vscode-java-pack
vsc
0.25.10

vscode-java-test
vsc
0.38.2

vscode-maven
vsc
0.41.0

volar
Vue
1.2.0

vscode-typescript-vue-plugin
Vue
1.2.0

jinja
who
0.0.8

markdown-all-in-one
yzh
3.5.1

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vscaat:30438848
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
vsccc:30610678
nodejswelcome1cf:30587006
3biah626:30602489
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
a9j8j154:30646983
vsccsb:30705552
functionswalk:30687959
pythonms35:30701012
pythonclientmvcf:30705674

ecause it was too large to send. Please paste.

Thanks for the issue but it's not actionable without the performance information. Do you still have it?

once any python project opene, CPU  usage %7+ (section: Process Info )

That would be expected. The python extension is looking for interpreters on startup.
That also would not have generated a 'slow extension' notification for the Python extension or the Pylance extension. Usually there's a notification that says that and it copies the performance data to the clipboard.

I am also experiencing the same issue. Even after closing all the files, Pylance is still showing a consistently high CPU usage. Today, I updated everything(VSCode v1.77.1, Pylance v2023.4.10) and the issue persists both before and after the update.

@lackweb can you get the command line arguments for that process? It should be really quick, but perhaps it's looking for the config in the wrong spot.

Do you mean this?

electron-nodejs ("C:\Program Files\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\userid.vscode\extensions\ms-python.vscode-pylance-2023.4.10\dist\server.bundle.js --cancellationReceive=file:f28abe1a95a8006424703a29cbbadf20d9f7d1cfd9 --node-ipc --clientProcessId=8172)
C:\ProgramData\anaconda3\python.exe c:\Users\userid.vscode\extensions\ms-python.vscode-pylance-2023.4.10\dist\bundled\files\get_pytest_options.py

Yeah that was it. Your problem is a dupe of #4218. It would be better if you followed that issue.

Yeah that was it. Your problem is a dupe of #4218. It would be better if you followed that issue.

I will. Thank you.


Remove search v1 code

This gets rid of all search v1 related code.
Entry point to legacy searches will be redirected to search v2.
Analytics shows that there aren't many but stil some so we should be able to delete them in a few months.
This also gets rid of some legacy javascript events.

I'll come back ;-)


Fix broken links

The docs for graphcool reset command was on graphcool playground page, and vice-versa. I basically renamed the files accordingly.
I don't know the tool used to build the site, hope I'm not broking the aliases.

Hey @leopiccionia, we're currently cleaning up our PRs. Apologies for not having looked at it in detail earlier, unfortunately it is outdated by now so I'll close it. Please keep opening PRs in the future 🙏


Installing tensorflow with pip

System information

TensorFlow version (you are using): 2.7
Are you willing to contribute it (Yes/No): No

Describe the feature and the current behavior/state.
When installing tensorflow on windows, after pip install tensorflow, it further needs to install Cuda and cudann and also needs to add their paths to windows environmental utility.  I'm not sure why we need to face this hassle whereas, in pytorch, we don't see such things.
Will this change the current api? How? dunno.
Who will benefit from this feature? all of the painful souls who use tensorflow
Any Other info.

Hi @Saduf2019 ! Could you please look at this feature request?

Hey I want to contribute to this, can you please guide me through

@mihaimaruseac @sachinprasadhs any idea?

@Suzan009,
Hi Thanks for reporting this issue.
Can you share commands/steps that you get after running  pip install tensorflow.
Thanks!

Any update? Why it's always required for end-user to update path config manually for installing TensorFlow with GPU support? Can't it be made automatic, like in a torch?

Any updated? Is it even an issue or I will close it; no pressure?

One of the tricky approach for the API maintainers is that, if a user open an issue and you know your limits, them keep silence for long time. As soon as the user lost interest or move forward with other solutions (pytorch), - close the issue. F*k it.

Funny that you say this, when the issue has been under discussion in SIG Build since at least 2 months ago (bit.ly/tf-sig-build-notes)


If $CREDHUB_PROXY set, please ignore $HTTPS_PROXY

Firstly, thanks for adding SOCKS5 proxy support recently.
I need to set $HTTPS_PROXY for many Golang CLIs that cleverly use it to route traffic thru a SOCKS5 proxy. Can credhub move to use HTTPS_PROXY features from Golang 1.9/1.10? Or if we must keep CREDHUB_PROXY, can the CLI internally ignore HTTPS_PROXY if its set, please?
Currently, if both are set:
$ credhub find
Get https://<IP_ADDRESS>:8844/api/v1/data?path=: proxyconnect tcp: proxy: failed to read connect reply from SOCKS5 proxy at localhost:9999: EOF

$ unset HTTPS_PROXY
$ credhub find
credentials:
- name: /bucc/useast2-prod-vault/root_token
...

@drnic thanks for reporting this! Moving to use HTTPS_PROXY in place of CREDHUB_PROXY would break backwards compatibility which we are trying to maintain. But we agree it is a good idea to ignore HTTPS_PROXY if CREDHUB_PROXY is set. We'll prioritize as necessary.

@drnic we have decided that we are just going to document the priority of each environment variable to make it clear


Error in Commerce checkout on upgrading from version 12 to version 13

In local environment, the order creation is working fine and it navigates to the confirmation page correctly. But in the live application that is deployed in azure is not working. It is giving below error on assembly version of Microsoft.Extensions.Identity.Stores. Please guide to fix the issue.
Umbraco CMS 13.5.2
Umbraco.Commerce 13.1.10 / 13.1.13
Umbraco.Commerce.Checkout 13.1.1 / 13.1.2
We are using UMBRACO trial version.
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.CompilationFailedException: One or more compilation failures occurred:
error CS1705: Assembly 'Umbraco.Infrastructure' with identity 'Umbraco.Infrastructure, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' uses 'Microsoft.Extensions.Identity.Stores, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60' which has a higher version than referenced assembly 'Microsoft.Extensions.Identity.Stores' with identity 'Microsoft.Extensions.Identity.Stores, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60'
at Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.RuntimeViewCompiler.CompileAndEmit(RazorCodeDocument codeDocument, String generatedCode)
...
at Umbraco.Cms.Web.Common.Controllers.RenderController.Index()
at Umbraco.Commerce.Checkout.Web.Controllers.UmbracoCommerceCheckoutCheckoutStepPageController.Index()

Duplicate issue https://github.com/umbraco/Umbraco.Commerce.Issues/issues/596


How to invoke the bot when mentioning it?

Hello guys! I have a doubt!
I would like to invoke the bot by mentioning it
Ex: @bot and it responds me with a default message

I have understood your use case as sth like this:

You would just have to look at the message's text. For example,
bot.on("message", function(message) {
    console.log(message.text); // => @botname
    // checking that the text only includes mention of the bot i.e. @botname
    // this can be improved of course to satisfy your use case!
    const match = /^@\w+$/.exec(message.text.trim());
    if (match) {
        bot.sendMessage(message.chat.id, "default message");
    }
});

Thanks @GochoMugo but only works without individual chat with the bot, when the mentioned in group chat happens


Cannot get past 2FA authentication

Hi, I'm new to homebridge and miot is actually my first plugin, so I might be doing something wrong, but I just can't get past the 2FA authentication of xiaomi account when trying to discover all my devices. I have my homebridge installed on Synology NAS. When I try to login, I get the 2FA prompt, I authenticate myself, get the webpage with "ok" and when I click on "discover all devices"  again, nothing happens.
When searching Google, I found only one way to result this and that was to deactivate the 2FA. However, the option is not available in Xiaomi account anymore. Someone else suggested to create new account without a phone number and skipping a prompt for 2FA, but no prompt popped up for me. With the new account, I still get the 2FA prompt in miot and after authenticating, nothing happens.
Am I missing some simple solution or doing something wrong?

It is very strange that 2FA cannot be deactivated, but i know that a lot of accounts have it somehow not active, including mine.
I know that there were some issue with 2FA, the problem i guess is that you need to do the 2FA verification in the same window where you login, if you do it in another tab or window then i guess it will not work.

Okay, so I had to wait 24 hours, because I got locked out for more than 5 authentication tries. When I click on the authenticate button, new tab automatically opens. I tried what you suggested and instead of clicking on authenticate, I copied the link and opened it in the same tab, authenticated myself and then typed the IP address of my homebridge into the same tab to go back to the plugin. I also tried using the back button to go back to homebridge after authenticating, but neither option works. When I try to login to my Xiaomi account again, I still get the same message to authenticate.
Any other suggestions?

Yeah well that was the best guess which i had for that... Unfortunately i cannot help you with any other suggestions here as i do not have the 2FA enable myself. Maybe someone else has a suggestion?

For me it worked when I logged in to Mi Home account in the browser first https://account.xiaomi.com/


[Switch] Add regressions tests

[Switch] Add regressions tests

@oliviertassinari The failed test seems to be circleci fault, can you trigger a re-run please?


UAT for RSC Dashboard

💡 Summary
RSC Dashboard needs to begin building out a user acceptance testing suite. Ideally the UAT will involve a full end to end testing environment from ServiceNow - RSC (Mission Instance) to XFD - RSC (RSC-Dashboard).
Motivation and context
This was requested by leadership and will make it so we can ensure that the full RSC product is tested properly.
This epic will be broken out into smaller issues to be delivered over current and future iterations.
Implementation notes
As of writing this issue we do not have any hard requirements so the following items are subject to change:

RSC Dashboard needs a "User Manual" to document the flows of registering an RSC user.
RSC Dashboard needs to build a test user. Ideally the test user would be the same user that makes a ServiceNow RSC assessment that then gets populated in the RSC Dashboard. This may involve working with Mission Instance to get the user working between both implementations of RSC.
UAT test plans need to be developed. Test Cases will need to be developed This might not necessarily need to be built out by the RSC Dashboard team. We will need to follow up on this with leadership.
Prepare the testing environment. It should mirror what production will look like. Mocked data will likely be used.
Manual UAT Sessions. There will need to be "Brown Bag" sessions hosted to show full end to end flows of RSC.

Sub Issues
https://github.com/cisagov/XFD/issues/207

Closing this issue as RSC Dashboard is no longer germane.


Phantoms don't show up depending on how the file is opened

I've always randomly seen the issue of phantoms not being created but now I found out when that happens.
Opening the file from the "Go to anywhere" panel doesn't create the phantoms.
Opening the file from the sidebar creates the phantoms.
https://user-images.githubusercontent.com/153197/121652690-32beb500-ca9c-11eb-831b-4f1f42973206.mov

It looks like a transient has a view ID (view.id()) right after it gets created. But it won't have a window (view.window())... And after a second, it has a window...
import sublime
import sublime_plugin

def print_view_info(view: sublime.View) -> None:
    view_id = view.id()
    window = view.window()
    window_id = window.id() if window else -1

    print(f'v_id: {view_id}, w_id: {window_id}')

class TransientViewWindowIdTest(sublime_plugin.ViewEventListener):
    def __init__(self, view: sublime.View) -> None:
        self.view = view

        # you can NOT see a window id
        print_view_info(view)

        # you can see a window id
        sublime.set_timeout_async(lambda: print_view_info(view))

Checking stuff from __init__ of the event listener is kinda asking for it though. Can you not do it from on_load?

Can you not do it from on_load?

The result remains the same. No window is attached.
import sublime
import sublime_plugin

def print_view_info(view: sublime.View) -> None:
    view_id = view.id()
    window = view.window()
    window_id = window.id() if window else -1

    print("v_id: {}, w_id: {}".format(view_id, window_id))

class TransientViewWindowIdTest(sublime_plugin.ViewEventListener):
    def __init__(self, view: sublime.View) -> None:
        self.view = view

    def on_load(self) -> None:
        # you can NOT see a window id
        print_view_info(self.view)
        # you can see a window id
        sublime.set_timeout_async(lambda: print_view_info(self.view))

Hmm, yes. I see that now. Looks like an ST bug.

Fixed in 247857e

Hmm, yes. I see that now. Looks like an ST bug.

Reported https://github.com/sublimehq/sublime_text/issues/4444


sitkLanguageOptions: Improve setting of default value for wrap options

This commit makes sure no calls to "find_package()" are
done if the option WRAP_ is explicitly set to OFF.
Indeed, systematically calling "find_package()" can have side-effect.
See https://discourse.slicer.org/t/nightly-mac-slicer-4-9-0-2018-03-13-macosx-amd64-does-not-open/2313/7
Change-Id: If58a333b29feef5055f03a4612443020e2a6afa7

An alternative option would be to ensure option like CMAKE_DISABLE_FIND_PACKAGE_<packageName> are propagated down to the inner build.

The commit message in the corresponding Slicer commit should give more context:
COMP: update SimpleITK to effectively avoid unwanted find_package calls

This commit reverts the approach implemented in the previous commit. It
failed because SimpleITK has a superbuild structure and the CMAKE_DISABLE_FIND_PACKAGE_*
options are not propagated down to the inner build.

Instead, a patch improving the handling of SimpleITK wrapping options
has been proposed to the upstream project (and in the mean time integrated
in our Slicer fork).

The implemented solution consists in avoiding the call to "find_package()"
if the corresponding WRAP_<languageName> option has explicitly been set or
if WRAP_DEFAULT is set to OFF.
Indeed, there is no need to do these call to find an appropriate default value
for the option since the user (in this case Slicer build system) explicitly
set of value of for the options (eiter directly or by setting WRAP_DEFAULT).

See https://github.com/SimpleITK/SimpleITK/pull/424

List of changes:

$ git shortlog 67872f8..998bdbc --no-merges
Jean-Christophe Fillion-Robin (1):
      sitkLanguageOptions: Improve setting of default value for wrap options

Great! Thanks for the pull request! The
This is some tricky logic and behavior, give me a bit to try it out for a few cases. It looks like this approach will results in multiple calls to the find_packages and there could be a macro to reduce some code duplications. I'll work on a refined patch.

Please see #427  for the proposed improvement. This patch will only call find_package once, and there is some code reduction by keeping the macro.


[Bug]: Hard coded host port for RTS service

Is there an existing issue for this?

[X] I have searched the existing issues

Description
I have installed RTS server separately and I noticed the RTS service host is hardcoded causing the Backend service to always call to localhost even if there is no RTS there.
Is this intended by design?
https://github.com/appsmithorg/appsmith/blob/c2dc2bb35b490f3536817a4c7899b965665a1ddc/app/server/appsmith-server/src/main/java/com/appsmith/server/configurations/CommonConfig.java#L136-L138
Steps To Reproduce
General design question
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Latest

@josueneo Can you give some more context around the issue - Why are using the RTS server separately? We officially recommend a single container setup to all our users.
I'd also like to understand the use case here. How does custom port help you?

@josueneo we're not exactly sure since we didn't create or manage that helm chart. Could you try our official documented method of deployment?
https://docs.appsmith.com/getting-started/setup/installation-guides/kubernetes

Tested with official Helm chart, and works without issues, however, I will leave this up to you and you can close this issue, don't you think hardcoding the url is not a good practice?

Hey @josueneo, thank you for confirming. Glad that it's working for you now.
I agree that hard-coding things in general is a bad practice, but too much configuration means too many moving pieces and too many combinations of configurations to test. I don't think we should take no-hard-coding as a hard rule. In this case in particular, we don't expect there to be any reason to have any other port for RTS, in official deployment methods, so we don't make it configurable. Hope you understand. Thank you.


Add option for close Alert with timer

Add option for close Alert with timer
function cuteAlertAction(type, title, message){   return cuteAlert({     type: type,     title: title,     message: message,     autoClose: true,     timer: 2000   }); }

Hey @ChemaBautista, thanks for the feedback. I'm working on a refactor PR in which I'm including this feature and also other improvements overall. Having that said I'll be closing this issue.


Moved Microsoft.Extensions.Logging.Testing and its test project from …

…Testing repo
@Eilon

:shipit:


Add command that deletes the ringtone file. fixes #1 @0.5h

Please review this.

Feedback handled.


The wallet is going to be staked to logic pool to fund development

Also adding a width to the status element


Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.

I catch this error when composer installation auth0 & firebase-php

You were given a template when creating the issue, please use it, otherwise I can't reproduce the issue and can't provide help.
That being said: The message is just a notice, not an error, your project will still function without limitations.


Sometimes challenge alts/challenge files not populated

Hi there! Seems like our assumptions about challenge_alts weren't quite correct.
Here is an example entry in the JSON dump that doesn't have challenge alts or challenge files populated:
    {
      "py/object": "LeitnerAudioDeck.AudioCard",
      "data": {
        "py/object": "LeitnerAudioDeck.AudioData",
        "_sort_key": "ᎰᏩ",
        "syllabary": "ᎰᏩ",
        "bound_pronoun": "",
        "verb_stem": "",
        "answer_files": [
          {
            "py/object": "LeitnerAudioDeck.AudioDataFile",
            "file": "cache/en/okay_Kendra_b9e1f6a4e3a496edf0bfc1bb98a4b56b43fea0e0.mp3",
            "pronunciation": "Okay.",
            "voice": "Kendra",
            "duration": 0.0
          },
          {
            "py/object": "LeitnerAudioDeck.AudioDataFile",
            "file": "cache/en/okay_Joey_b9e1f6a4e3a496edf0bfc1bb98a4b56b43fea0e0.mp3",
            "pronunciation": "Okay.",
            "voice": "Joey",
            "duration": 0.0
          }
        ],
        "challenge_files": [],
        "_card_id": "0004",
        "sex": "",
        "answer": "Okay.",
        "challenge": "Howa.",
        "intro_note": "",
        "end_note": "",
        "challenge_alts": []
      },

Revised CLL 1 output posted to Telegram group.
Zip contains both JSON and MP3s.


Notification of Tx immediately without consensus

In the Swirlds Platform, the handleTransaction method (equivalent to the Babble commitTx method) has the signature (long id, boolean consensus, time timestamp, byte[] payload) ... Using the consensus parameter set to false, the platform notifies the app of a transaction even though the "consensus timestamp" hasn't been calculated yet. Is it possible to add this in Babble?

Yeah it is definitely possible to add this. Good idea. @mpitid is working on a new interface between client and node so we will try to add it as part of that pull request.

That's cool, is there something to look at? For my stock exchange, I'd need to connect to it as tightly as possible and probably mirror the interface using websockets

The pull request is here: https://github.com/babbleio/babble/pull/3
It is still work in progress.
The client subscribes to a channel, stays connected and receives commitTx messages from the node. Similar to websockets.

Ah, I prefer to not have the concept of individual channels inside the core tech. it should be a global bus and the question of whether or not a message belongs into a given channel should be up for the app developer to decide. so, imho, the concept of channels should not appear in the go source code

My bad, I didnt explain it well. There is only a single stream of transactions that the client can subscribe to. The client receives ALL transactions, not just the ones pertaining to a specific channel. So yeah the work of slitting transactions should be done outside of Babble.

ah okay. makes sense.
was looking at the PR. looks like it implements an HTTP interface while the old interface was a lower level TCP interface. correct? Would be good if the raw TCP interface could include the functionality too because I think the nodejs process should connect to babble via TCP, not HTTP

The PR introduces an API abstraction. At the moment, there is only an HTTP implementation but it is possible to implement the API with lower level TCP. In fact I think @mpitid has already written one but it is not committed yet. Just as a matter of curiosity, why do you prefer to use raw TCP between the nodejs process and babble? Is it a matter of performance? Anyway there is definitely going to be a raw TCP implementation of the API

Yeah, for performance.


fix(helper): handle case where type is in an anyOf key

Small fix that enables the openapi helper to run succesfully for the Pollination-Server

Confirmed that I wasn't using the right version of pydantic 😀


NOT AN ISSUE, JUST A FIX :p

I have no idea how to use github and upload files, although I did try uploading a file and it said I don't have access. Anyways, this is a fix for showing player features like color or puffle in game. Replace the joinroom function in Gas.pm with this http://pastebin.com/e1u29Qfb . http://prntscr.com/ej6ilx

Thanks for your contribution, kindly however avoid using pastebin and instead use Gists . If you want to contribute, fork off the repository and create pull requests from here on and I'll approve of it, if it works. I've applied the fix: https://github.com/titshacking/Nitro/commit/e4276325b9024fbe0ab99b3279b45a1254a6f54d


ignore errors from sync_db when restart sdkserver

when there is no FCP configured in the z/VM LPAR and even if SMAPI is down, we should let sdkserver service to start normally.
https://github.com/openmainframeproject/feilong/issues/675
Signed-off-by: dyyang<EMAIL_ADDRESS>

LGTM


Helm-operation pod goes to the Windows node

What kind of request is this (question/bug/enhancement/feature request):
Bug
found during validating the monitoring app, but it happens to all apps.
Steps to reproduce (least amount of steps as possible):

run rancher:master-c428bc9feb4b11539bacdfa13f173f22a593eaa4-head
add a custom cluster with Windows node
go to dashboard -> apps -> install monitoring v2

Result:

the helm-operation pod is assigned to the Windows node, but the image does not support Windows.

The fix allows the ability for the helm operation pod to only be deployed on Linux worker nodes, but none of the charts are Windows compliant.

The bug fix is validated on master-ef11fe3b0ae51b35fc1f11b454222ca1f8b4b7d3-head
The helm operation pod is assigned to a Linux worker node in the mixed cluster.


amend changelog

Adding more notes in the 1.x -> 2.x section

Fixed the typo.


Android - app crashes when controls visible and activity is closed, when video just started playing

Hi,
on Android, if my video component uses controls={true}, if I start playing the video and quickly close the activity where the video is (when the video just started playing) with the controls visibile, the app crashes. Here is the stack trace:
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.media.MediaPlayer.getCurrentPosition()' on a null object reference                       at com.yqritc.scalablevideoview.ScalableVideoView.getCurrentPosition(ScalableVideoView.java:200)                       at android.widget.MediaController.setProgress(MediaController.java:445)                       at android.widget.MediaController.-wrap0(MediaController.java)                       at android.widget.MediaController$3.handleMessage(MediaController.java:416)                       at android.os.Handler.dispatchMessage(Handler.java:102)                       at android.os.Looper.loop(Looper.java:148)                       at android.app.ActivityThread.main(ActivityThread.java:5417)                       at java.lang.reflect.Method.invoke(Native Method)                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Please, can you help me?

the same problem on me

Has anyone found a workaround for this?
Experiencing the exact same issue using react-native-navigation when navigating to the next screen when controls are just about to show up initially.

@Caundy can you explain with example how you used a workaround for this bug .. i tried multiple things but its still crashing.
Thank you

Any news about this? The Android-ScalableVideoView does not seem to be maintained at all (https://github.com/react-native-video/react-native-video/blob/master/android/build.gradle#L25)


module iam-role-for-service-accounts-eks missing required policy

Description
Need to add missing permission to the IAM policy generated in the module iam-role-for-service-accounts-eks.
Permission denied error from AWS cluster-autoscaler.
aws_cloud_provider.go:369] Failed to generate AWS EC2 Instance Types: UnauthorizedOperation: You are not authorized to perform this operation.
        status code: 403

Turns out this action was added to the autoscaler readme required permissions which is referenced by this module's policies.tf file but needs to be updated. This required permission was added to that readme in December.
Versions

Terraform module iam-role-for-service-accounts-eks v4.13.1
Helm chart for cluster-autoscaler version: 9.16.0

hmm, we patched this but it looks like the CI didn't trigger the release https://github.com/terraform-aws-modules/terraform-aws-iam/blob/0ac7f4d0c84319371ca301592a2295d306a925e8/modules/iam-role-for-service-accounts-eks/policies.tf#L23

@bryantbiggs It looks like the semantic-release/commit-analyzer didn't trigger the release as the commit message didn't contain fix/feat

ah good point, I've got a no-op PR opened that should trigger the release workflow so the patch fix is released this time


InfraKit Docker instance plugin

Write a plugin to allow deploying containers on a Docker engine with InfraKit.
These containers can then be used to build a Swarm (with the Swarm plugin) and deploy AMP on it.

first draft in https://github.com/ndegory/infrakit.docker
will be pushed as a PR on the official https://github.com/docker/infrakit repo.
Used in PR #785


Fix 1.1 upgrade - fixes #2264

Not work.The next error:
Fatal error: Call to undefined method UpgradeInstructions_upgrade_1_1::db_list_columns() in C:\xampp\htdocs\elk11test\install\upgrade_1-1.php on line 443

Added some more...
Does that mean I should really test the code I write?... too tired to do so, sorry. :crying_cat_face:

I will test it tomorrow. At first glance this seems to work =>  Fix another issue with upgrade_1-1 - thanks winstar for reporting

Please do NOT merge the branch, the testing is probably broken, I have to fix it first. ;)

So your saying you want me to merge this right now ?? :tongue:

At least it would be a known bug! :lollipop:

Now is fixed.
I think I'm testing also the selenium directory, but better something more than not enough. :P


Demo will not compile, issue with cargo dependencies: clap v4.5.1

Cloned the repo, ran cargo run -p maplibre-demo
error: package `clap v4.5.1` cannot be built because it requires rustc 1.74 or newer, while the currently active rustc version is 1.73.0
Either upgrade to rustc 1.74 or newer, or use
cargo update -p<EMAIL_ADDRESS>--precise ver
where `ver` is the latest version of `clap` supporting rustc 1.73.0

This copied from a remote Ubuntu machine, similar error in WSL2 and via Windows 11 (with git bash)
It's not platform specific but due to rust package management. The Cargo.toml seems to specify version v4.3.1 of this package, so why is cargo fetching an incompatible version 4.5.1?

Updating the version of rust on rst-toolchain.toml from 1.7.3 to 1.7.6 seems to resolve this.

Oh oke annoying. I think it would make sense to commit the Cargo.toml for the time being.
Actually this is a bug in clap because a minor version update should not break things like that imo.

And that's why I find cargo semver checker so important as part of the CI.  Two lines in CI - save tons of pain for everyone.


Fixing firewall collection rule creation

This PR adds a new option for rule collection creation.

Wrong destination branch.


[BUG]-Implement Preset Recalls

Describe the bug
Preset recalls have not been implemented and will throw a NotImplementedException.

Updated in build 1.0.1-alpha-31.  Currently in testing with actual device.


add code of conduct

fixes: #1669

@nicojs or @simondel - I need some valid email where issues stated in code of conduct could be sent

@kmdrGroch You can use<EMAIL_ADDRESS>

should be ok now :)

Thanks!


Bump puffin (0.10)

Merged as PR #30, which included the commit in the PR plus a few more changes that needed to go with it


Need information about serverusername.

Need to know where SfB get its serverusername. Thanks in advance.

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

ID: 179ab3b0-2834-2b99-fc12-2f62b51c054d
Version Independent ID: 4f910a3d-1de8-60d1-b12d-8ff58be5b8e6
Content: User and client authentication for Skype for Business Server 2015
Content Source: Skype/SfbServer/plan-your-deployment/security/user-and-client-authentication.md
Product: skype-for-business-itpro
GitHub Login: @kenwith
Microsoft Alias: kenwith

Thank you for this feedback and for contributing to the wellness of the content! This is a good idea and we have added it into our backlog for triage and prioritization.


[Bugfix] Use a special unicode as the separator in search space

Issue #: https://github.com/awslabs/autogluon/issues/560
Description of changes:

Change the splitter in the nested search space to a special unicode character: u'▁'  (U+2581).

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-564-4 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-564/4/index.html

Job PR-564-5 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-564/5/index.html

Job PR-564-6 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-564/6/index.html


Errors: internal/cli

As part of cleaning up how errors are wrapped and handled, this package needs attention.

Related to #653


Removed exceptions for Hardened Runtime on macOS

Before submitting, please confirm you've

[x] read and understood our Contributing Guidelines
[x] completed Mattermost Contributor Agreement
[x] executed npm run lint:js for proper code formatting

Please provide the following information:
Summary
Through testing we found that no exceptions were required to have our desktop running in the Hardened Runtime on macOS. To increase security, we are now removing these exceptions.

@Willyfrog so should I not merge this until after we release v4.3.1?


Revert "Revert "ISSUE-70 Make sure agency select and columns only show for admin.""

Reverts on-site/grantzilla#79

Dennis is working on fixing these CI failures.


[Bug]Detected I/O inside the event loop.

Describe the issue
I'm unable to get any entity from home assistant. OMV is on a different machine. After filling all the requested information, (use SSL and Verify SSL are unchecked since ATM i do not have ssl certificate on this machine) i get some errors on log. please check below.
How to reproduce the issue

Install addon from HACS
Set up the addon with the correct informations (ip, username, password, SSL options both unchecked)
After receiving the message that the addon has been configured, devices or entities are not shown on the OMV addon box
Check error log, error found like above.

Expected behavior
No errors in log, plugin showing server entities.
Screenshots

Software versions

Home Assistant version: 0.109.6
openmediavault integration version: 1.1.0
openmediavault software version: 5.4.5-1 (Ususl)

Traceback/Error logs
Log Details (WARNING)
Logger: homeassistant.util.async_
Source: util/async_.py:120
First occurred: 1:31:47 PM (1 occurrences)
Last logged: 1:31:47 PM
Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for openmediavault doing I/O at custom_components/openmediavault/omv_api.py, line 140: verify=self._ssl_verify,

Logger: homeassistant.config_entries
Source: custom_components/openmediavault/helper.py:15
First occurred: 1:31:50 PM (1 occurrences)
Last logged: 1:31:50 PM
Error setting up entry OMV for openmediavault
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 216, in async_setup
hass, self
File "/config/custom_components/openmediavault/init.py", line 31, in async_setup_entry
await controller.async_hwinfo_update()
File "/config/custom_components/openmediavault/omv_controller.py", line 116, in async_hwinfo_update
await self.hass.async_add_executor_job(self.get_disk)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/openmediavault/omv_controller.py", line 233, in get_disk
{"name": "smartsupportis", "type": "bool", "default": False},
File "/config/custom_components/openmediavault/helper.py", line 86, in parse_api
data = fill_vals(data, entry, uid, vals)
File "/config/custom_components/openmediavault/helper.py", line 225, in fill_vals
data[_name] = from_entry(entry, _source, default=_default)
File "/config/custom_components/openmediavault/helper.py", line 15, in from_entry
if param not in entry:
TypeError: argument of type 'NoneType' is not iterable
Thank you

Detected I/O inside the event loop is not related, thats just connectivity check inside config flow.
You are getting a crash during physical disk detection.  I should have a reader and a card somewhere, so it should not be a problem to fix.

So, I was not able to able to reproduce on my server by connecting a card reader with a card.
I managed to get old pi2, so I should be able to replicate the issue now and solve it soon.

So, I was not able to able to reproduce on my server by connecting a card reader with a card.
I managed to get old pi2, so I should be able to replicate the issue now and solve it soon.

Cool let me know if you need any other info! :)

Installation took 2 hours on poor pi2, but I finally got this error reproduced. So all good.

That was a simple fix once I got it reproduced.
Fix released in v1.1.1

Looks like the last update fixed it:

Nice work!

perfect.
are those internal 1 and internal 2 correct names?

perfect.
are those internal 1 and internal 2 correct names?

Correct. Although I use a slightly more readable display name for the HA gauge card, here's the Labels list from OMV directly:

Thats perfectly fine then, I just wanted to make sure :)


FLARE | Add CombineChain to handle long context

Feature request
FLARE is providing some more accurate output when it works. I would love to switch to it. However, I do find that it often breaches the 4k context length.
I still don't have GPT4 access because I am a pleb (approve me plz OpenAI).
The stuff / map-reduce / refine chains used in the retrieval QandA would be great here. The FLARE chain looks like it is doing something akin to the "stuff" chain by just concatenating all the documents it found.
It would be nice if the LLMCombine chain was optional and defaulted to "stuff" like the retrieval chains do. This could be an option to handle context window issues when using FLARE. Ideally the same API followed, were users just pass the "chain_type" kwarg.
The 4k context window is unfortunately making FLARE unworkable.
P.S. also interested in seeing if sources could be added to FLARE.
Motivation
I want to switch my retreival chain to be FLARE based (ideally with sources in the future). However, the context window limitations are making it unworkable at the moment. I am not even using chat_history.
Your contribution
Happy to work with someone on this to raise a PR.

hey @jordanparker6, could def see context size being an issue. Two quickest fixes / improvements i can think of would be:

whatever retriever you're using, trying wrapping it in a ContextualCompressionRetriever. this wouldn't require checking in any changes. more on compression retriever here: https://python.langchain.com/en/latest/modules/indexes/retrievers/examples/contextual-compression.html
we should probably add some check on the length of the docs. simplest thing would be to just chop off the docs string beyond some token limit. for certain models (mostly thinking of OpenAI here) we can explicitly check the model context size and compare that to prompt size. but since we don't have that for all models maybe we just add a max_prompt_size parameter to FlareChain and if that's specified then we use it to enforce that context size isn't exceeded