Error: (code: -32000, message: transaction underpriced, data: None)

I'm trying to make swap in mumbai and I'm having this issue:
Error: (code: -32000, message: transaction underpriced, data: None)

@DiMiTriFrog could you use the --verbose flag and add the logs to the issue?
Make sure to remove any private data

@DiMiTriFrog could you use the --verbose flag and add the logs to the issue?
Make sure to remove any private data

No explorer found for chain id 80001
💫 Welcome to the Uniswap V3 Swap CLI 💫
We will use wallet with address: 0x5187…8193
Converting to 18 decimals
Amount to approve specified. Approving 4 tokens.
Error: (code: -32000, message: transaction underpriced, data: None)

@DiMiTriFrog could you use the --verbose flag and add the logs to the issue?
Make sure to remove any private data

No explorer found for chain id 80001 💫 Welcome to the Uniswap V3 Swap CLI 💫 We will use wallet with address: 0x5187…8193 Converting to 18 decimals Amount to approve specified. Approving 4 tokens. Error: (code: -32000, message: transaction underpriced, data: None)

Are you using an Infura RPC? [1] [2]

@DiMiTriFrog could you use the --verbose flag and add the logs to the issue?
Make sure to remove any private data

No explorer found for chain id 80001 💫 Welcome to the Uniswap V3 Swap CLI 💫 We will use wallet with address: 0x5187…8193 Converting to 18 decimals Amount to approve specified. Approving 4 tokens. Error: (code: -32000, message: transaction underpriced, data: None)

Are you using an Infura RPC? [1] [2]

No... it's 100%  necessary?
I want to use private anon   RPC
Has any way to use own RPC? I'm executing from source so i can modify it.

@DiMiTriFrog could you use the --verbose flag and add the logs to the issue?
Make sure to remove any private data

No explorer found for chain id 80001 💫 Welcome to the Uniswap V3 Swap CLI 💫 We will use wallet with address: 0x5187…8193 Converting to 18 decimals Amount to approve specified. Approving 4 tokens. Error: (code: -32000, message: transaction underpriced, data: None)

Are you using an Infura RPC? [1] [2]

No... it's 100% necessary?
I want to use private anon RPC
Has any way to use own RPC? I'm executing from source so i can modify it.

You can use any RPC you want but it seems like on their end the transaction is ignored as it's considered "underpriced". Increasing the value of the transaction or switching RPC might do the trick for you.
Please let me know.

You are fully right, thank you very much,
Now the issue i'm having is that in testnet there isn't a pool for the tokens I want to swap. I thought that the uniswap router was the one to do it.

From what I can see at 0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, WETH and WMATIC can be swapped together on Mumbai.

0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD

Same result... :(
The run:
cargo run -- -u https://polygon-mumbai-bor.publicnode.com -n 80001 -d true -a 4 -s 1 -i 0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889 -o 0xA6FA4fB5f76172d178d61B04b0ecd319C5d1C0aa --verbose
The output:
Error: (code: -32000, message: transaction underpriced, data: None)
Inside main.rs:
    const UNISWAP_V3_ROUTER_ADDRESS: &str = "0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD";
    const UNISWAP_V3_QUOTER_ADDRESS: &str = "0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6";

Thank you very much for your help @azerpas

0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD

Same result... :(
The run: cargo run -- -u https://polygon-mumbai-bor.publicnode.com -n 80001 -d true -a 4 -s 1 -i 0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889 -o 0xA6FA4fB5f76172d178d61B04b0ecd319C5d1C0aa --verbose
The output: Error: (code: -32000, message: transaction underpriced, data: None)
Inside main.rs:
    const UNISWAP_V3_ROUTER_ADDRESS: &str = "0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD";
    const UNISWAP_V3_QUOTER_ADDRESS: &str = "0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6";

Thank you very much for your help @azerpas

Could you modify your comment with the full logs please? 😃

0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD

Same result... :(
The run: cargo run -- -u https://polygon-mumbai-bor.publicnode.com -n 80001 -d true -a 4 -s 1 -i 0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889 -o 0xA6FA4fB5f76172d178d61B04b0ecd319C5d1C0aa --verbose
The output: Error: (code: -32000, message: transaction underpriced, data: None)
Inside main.rs:
    const UNISWAP_V3_ROUTER_ADDRESS: &str = "0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD";
    const UNISWAP_V3_QUOTER_ADDRESS: &str = "0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6";

Thank you very much for your help @azerpas

Could you modify your comment with the full logs please? 😃

No more  logs...

@DiMiTriFrog as you're building the project from source, could you try to increasing the gas for the approve transaction?
let approve_tx: TransactionReceipt = token_in_contract
            .approve(router_address, amount_to_approve)
+           .gas(300000000)
            .send()
            .await?
            .await?
            .expect("Approve transaction failed");

@DiMiTriFrog as you're building the project from source, could you try to increasing the gas for the approve transaction?
// Line 117
let approve_tx: TransactionReceipt = token_in_contract
            .approve(router_address, amount_to_approve)
+           .gas(300000000)
            .send()
            .await?
            .await?
            .expect("Approve transaction failed");

I tried before but the method is not implemented.

Thanks very much for your help.

@DiMiTriFrog as you're building the project from source, could you try to increasing the gas for the approve transaction?
// Line 117
let approve_tx: TransactionReceipt = token_in_contract
            .approve(router_address, amount_to_approve)
+           .gas(300000000)
            .send()
            .await?
            .await?
            .expect("Approve transaction failed");

I tried before but the method is not implemented.

Thanks very much for your help.

Mind it's need to be before the send() call

Su

@DiMiTriFrog as you're building the project from source, could you try to increasing the gas for the approve transaction?
// Line 117
let approve_tx: TransactionReceipt = token_in_contract
            .approve(router_address, amount_to_approve)
+           .gas(300000000)
            .send()
            .await?
            .await?
            .expect("Approve transaction failed");

I tried before but the method is not implemented.

Thanks very much for your help.

Mind it's need to be before the send() call

Sure, sorry.
Now i have  this output:_
Amount to approve specified. Approving 4 tokens.
Error: (code: -32000, message: exceeds block gas limit, data: None)

😭😭

@DiMiTriFrog Playing with the gas() function to find the right amount is the only option I can think of atm...
Something that you could try that I haven't tried is use the estimate_gas() func.
        // Approve the router to spend USDT
        let approve_tx = token_in_contract
            .approve(router_address, amount_to_approve);

        let approve_tx_gas = approve_tx.estimate_gas().await?;

        if args.verbose {
            println!("Approve transaction gas estimate: {}", approve_tx_gas);
        }

        let approve_tx: TransactionReceipt = approve_tx
            .gas(approve_tx_gas)
            .send()
            .await?
            .await?
            .expect("Approve transaction failed");

@DiMiTriFrog Playing with the gas() function to find the right amount is the only option I can think of atm...
Something that you could try that I haven't tried is use the estimate_gas() func.
        // Approve the router to spend USDT
        let approve_tx = token_in_contract
            .approve(router_address, amount_to_approve);

        let approve_tx_gas = approve_tx.estimate_gas().await?;

        if args.verbose {
            println!("Approve transaction gas estimate: {}", approve_tx_gas);
        }

        let approve_tx: TransactionReceipt = approve_tx
            .gas(approve_tx_gas)
            .send()
            .await?
            .await?
            .expect("Approve transaction failed");

I appreciate too very much your help, these function is so useful for me, but is still not working.
I change my tests to Sepolia and now I have a new error output.
I'm using as input token wETH 0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14
and as output token UNI 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984.
I swapped previously using Uniswap UI and when i tried to do the same using the CLI using this command ->
cargo run -- -u https://ethereum-sepolia.blockpi.network/v1/rpc/public -n 11155111 -a<PHONE_NUMBER>000000000 -s 1000000 -i 0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14 -o 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 --verbose
But after executing it, i have this output ->
 We will use wallet with address: 0x5187…8193
Amount to approve specified. Approving<PHONE_NUMBER>000000000 tokens.
Approve transaction gas estimate: 26152
Approved Uniswap V3 Router spending. Transaction Hash: 0xf283431625f74bc34ed19e3609d12b7dcd63dd809341f802293bc01d8f2278b3
Transaction Receipt: TransactionReceipt {
    transaction_hash: 0xf283431625f74bc34ed19e3609d12b7dcd63dd809341f802293bc01d8f2278b3,
    transaction_index: 3,
    block_hash: Some(
        0x0d4e5e6a08b6167d1af68fde7b0ca541ed2d70f316047368cc70d38fb464579a,
    ),
    block_number: Some(
        4095185,
    ),
    from: 0x518766536b70187c48a99d2020725799dc3b8193,
    to: Some(
        0xfff9976782d46cc05630d1f6ebab18b2324d6b14,
    ),
    cumulative_gas_used: 1329004,
    gas_used: Some(
        26152,
    ),
    contract_address: None,
    logs: [
        Log {
            address: 0xfff9976782d46cc05630d1f6ebab18b2324d6b14,
            topics: [
                0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925,
                0x000000000000000000000000518766536b70187c48a99d2020725799dc3b8193,
                0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad,
            ],
            data: Bytes(0x0000000000000000000000000000000000000000000000001bc16d674ec80000),
            block_hash: Some(
                0x0d4e5e6a08b6167d1af68fde7b0ca541ed2d70f316047368cc70d38fb464579a,
            ),
            block_number: Some(
                4095185,
            ),
            transaction_hash: Some(
                0xf283431625f74bc34ed19e3609d12b7dcd63dd809341f802293bc01d8f2278b3,
            ),
            transaction_index: Some(
                3,
            ),
            log_index: Some(
                3,
            ),
            transaction_log_index: None,
            log_type: None,
            removed: Some(
                false,
            ),
        },
    ],
    status: Some(
        1,
    ),
    root: None,
    logs_bloom: 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000080000000000000000000000000000000000000000000000000020000000000000000000000000000000000400000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000020020001000000000040000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000000,
    transaction_type: Some(
        2,
    ),
    effective_gas_price: Some(
<PHONE_NUMBER>,
    ),
    other: OtherFields {
        inner: {},
    },
}
Error: Failed to quote swap from 0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14 to 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984. Check that a pool exists for this pair.

Caused by:
    Invalid name: please ensure the contract and method you're calling exist! failed to decode empty bytes. if you're using jsonrpc this is likely due to jsonrpc returning `0x` in case contract or method don't exist
macbookproPau:uniswap-cli-0.5.0 pauperales$ cargo run -- -u https://ethereum-sepolia.blockpi.network/v1/rpc/public -n 11155111 -a<PHONE_NUMBER>000000000 -s 1000000 -i 0xfFf9976782d46CC05630D1f6eBAb18b2

Maybe I'm using wrong Uniswap Router or Quoter addresses ->
const UNISWAP_V3_ROUTER_ADDRESS: &str = "0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD";
const UNISWAP_V3_QUOTER_ADDRESS: &str = "0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6";

@DiMiTriFrog from their docs it says Uniswap contracts are deployed on Sepolia but I can't find the Quoter and Router adresses.
FYI I'm using Goerli for my tests which has the contracts deployed at the same addresses.

@DiMiTriFrog from their docs it says Uniswap contracts are deployed on Sepolia but I can't find the Quoter and Router adresses.
FYI I'm using Goerli for my tests which has the contracts deployed at the same addresses.

I think i'm so near, but now i'm having this output:
Transaction Receipt: TransactionReceipt {
    transaction_hash: 0x4669005aa3b08a4ec315f890feb8dc45bb50c2e9caa274daab0159f50e2ee2c2,
    transaction_index: 2,
    block_hash: Some(
        0x601bbb0d94791c2c53d3954d57869fbe8591f24230b40e10a699a2cec6a45a5f,
    ),
    block_number: Some(
        9526800,
    ),
    from: 0x518766536b70187c48a99d2020725799dc3b8193,
    to: Some(
        0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6,
    ),
    cumulative_gas_used: 178554,
    gas_used: Some(
        26175,
    ),
    contract_address: None,
    logs: [
        Log {
            address: 0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6,
            topics: [
                0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925,
                0x000000000000000000000000518766536b70187c48a99d2020725799dc3b8193,
                0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad,
            ],
            data: Bytes(0x000000000000000000000000000000000000000000000000000001d1a94a2000),
            block_hash: Some(
                0x601bbb0d94791c2c53d3954d57869fbe8591f24230b40e10a699a2cec6a45a5f,
            ),
            block_number: Some(
                9526800,
            ),
            transaction_hash: Some(
                0x4669005aa3b08a4ec315f890feb8dc45bb50c2e9caa274daab0159f50e2ee2c2,
            ),
            transaction_index: Some(
                2,
            ),
            log_index: Some(
                5,
            ),
            transaction_log_index: None,
            log_type: None,
            removed: Some(
                false,
            ),
        },
    ],
    status: Some(
        1,
    ),
    root: None,
    logs_bloom: 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000200000000000080400000000000000000000000000000000000000000000000020000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000001000000000040000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000000,
    transaction_type: Some(
        2,
    ),
    effective_gas_price: Some(
<PHONE_NUMBER>,
    ),
    other: OtherFields {
        inner: {},
    },
}
Will swap 10 for 196 tokens

Error: Contract call reverted with data: 0x

There is some. way to force to push the transaction to check it failure transaction on explorer?, like allow_revert
Thanks!

@DiMiTriFrog please add the whole logs with the params used in the command. I suspect that the contract reverts because of insufficient funds. You should be able to see the error details easily with Alchemy RPC logs.

@DiMiTriFrog please add the whole logs with the params used in the command. I suspect that the contract reverts because of insufficient funds. You should be able to see the error details easily with Alchemy RPC requests logs.

Here the full LOGS ->
cargo run -- -u https://eth-goerli.public.blastapi.io -n 5 -a<PHONE_NUMBER>000 -s 10 -i 0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6 -o 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 --verbose
   Compiling uniswap-cli v0.2.0 (/Users/UserName/Downloads/uniswap-cli-0.5.0)
warning: unused imports: `Locale`, `ToFormattedString`
 --> src/utils.rs:1:18
  |
1 | use num_format::{Locale, ToFormattedString};
  |                  ^^^^^^  ^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused variable: `approve_tx_gas`
   --> src/main.rs:122:13
    |
122 |         let approve_tx_gas = approve_tx.estimate_gas().await?;
    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_approve_tx_gas`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: variants `LOWEST`, `LOW`, and `HIGH` are never constructed
  --> src/main.rs:17:5
   |
16 | enum FeeAmount {
   |      --------- variants in this enum
17 |     LOWEST = 150,
   |     ^^^^^^
18 |     LOW = 500,
   |     ^^^
19 |     MEDIUM = 3000,
20 |     HIGH = 10000,
   |     ^^^^
   |
   = note: `#[warn(dead_code)]` on by default

warning: `uniswap-cli` (bin "uniswap-cli") generated 3 warnings (run `cargo fix --bin "uniswap-cli"` to apply 2 suggestions)
    Finished dev [unoptimized + debuginfo] target(s) in 12.70s
     Running `target/debug/uniswap-cli -u 'https://eth-goerli.public.blastapi.io' -n 5 -a<PHONE_NUMBER>000 -s 10 -i 0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6 -o 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 --verbose`
Your password:
💫 Welcome to the Uniswap V3 Swap CLI 💫
 We will use wallet with address: 0x5187…8193
Amount to approve specified. Approving<PHONE_NUMBER>000 tokens.
Approved Uniswap V3 Router spending. Transaction Hash: 0x681415ed39277453a5aaf92836de4acef46d42c44d677192d4477d2e4b49c327
Transaction Receipt: TransactionReceipt {
    transaction_hash: 0x681415ed39277453a5aaf92836de4acef46d42c44d677192d4477d2e4b49c327,
    transaction_index: 9,
    block_hash: Some(
        0x2152d28cd87b00ae584871973f83f94884518c1acac91dc55e877b11281e2563,
    ),
    block_number: Some(
        9532215,
    ),
    from: 0x518766536b70187c48a99d2020725799dc3b8193,
    to: Some(
        0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6,
    ),
    cumulative_gas_used: 1813088,
    gas_used: Some(
        26175,
    ),
    contract_address: None,
    logs: [
        Log {
            address: 0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6,
            topics: [
                0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925,
                0x000000000000000000000000518766536b70187c48a99d2020725799dc3b8193,
                0x0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad,
            ],
            data: Bytes(0x000000000000000000000000000000000000000000000000000001d1a94a2000),
            block_hash: Some(
                0x2152d28cd87b00ae584871973f83f94884518c1acac91dc55e877b11281e2563,
            ),
            block_number: Some(
                9532215,
            ),
            transaction_hash: Some(
                0x681415ed39277453a5aaf92836de4acef46d42c44d677192d4477d2e4b49c327,
            ),
            transaction_index: Some(
                9,
            ),
            log_index: Some(
                48,
            ),
            transaction_log_index: None,
            log_type: None,
            removed: Some(
                false,
            ),
        },
    ],
    status: Some(
        1,
    ),
    root: None,
    logs_bloom: 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000200000000000080400000000000000000000000000000000000000000000000020000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000001000000000040000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000000,
    transaction_type: Some(
        2,
    ),
    effective_gas_price: Some(
<PHONE_NUMBER>,
    ),
    other: OtherFields {
        inner: {},
    },
}
Will swap 10 for 196 tokens

Error: Contract call reverted with data: 0x

And the Goerli address i'm using -> 0x518766536b70187c48a99d2020725799dc3b8193

Could you show me an example with command that how to swap ETH to other contract in Goerli?

Nice to know @DiMiTriFrog 😃


Droppable option accept function triggers every time position of the draggable is changed over it

When you have:
const drag = new Draggable(document.querySelector('.square-2'), {
    helper: "clone",
    scroll: false,
    zIndex: 3,
});

const drop = new Droppable(document.querySelector(".action-button-use"), {
    accept: function(d: any){ console.log(d); },
})

every time you move the draggable div on droppable div it triggers the accept function.

This is the expected behavior when the 'accept' option contains a function call.
The check needs to be applied every time, because the droppable component does not know what the function is doing so it cannot assume that it can be called only once or less frequently.


Adding custom Attributes to Chart Options

Hi,
Is it possible to add custom attribute to the chart options as shown in the following link
http://jsfiddle.net/jmunger/KFpJC/17/

It might be difficult with this plugin. Best to give it a try and let me know where you get stuck.

Hey,
Thanks Pablo, I got it working with a round about manner. Following is the Plunkr link for it.
http://plnkr.co/edit/N1o3zxmeH64lVv5eWCQx?p=preview


2.9a2: Resource file does not exist

Upgraded from 2.9a1 to 2.9a2 and after that all our tests are failing because for some reason RF fails with finding resource files that exists in right place (relative path).
| FAIL | Resource file 'resources/environment.robot' does not exist.
Installed version 2.9a1 back and everything works fine with it.
OSX: 10.9.5
Python: 2.7.9

Is the path relative to the file where the resource is imported or is relative to a directory in PYTHONPATH? We changed handling PYTHONPATH (#1983) but that should only affect Jython and IronPython.

Relative to the file where the resource is imported.
Maybe I was too quick with this ticket.
The problem is with Import Resource keyword. We have our own high level keywords in resources/keywords.robot' file and one of the keywords there tries to import environment.robot variable file that is located in same folder with resources/environment.robot' path.
Seems like now path handling is working correctly with alpha 2. Changed file path from resources/environment.robot' to environment.robot' and now it works with alpha 2 and with alpha 1 it fails because it can't find that file with path environment.robot'. But I can't find any mentions from release notes that there have been done changes to this.

Did I get it right that the second path was wrong, resources/environment.robot when it should have been environment.robot, and with the correct path import works both with a1 and a2? That might still be related to PYTHONPATH changes. I think we don't anymore add the execution directory (.) to the module search path automatically. Is resources/environment.robot relative to the directory where you run tests from?

resources/environment.robot works with alpha 1 and earlier versions but fails with alpha 2
environment.robot fails with all versions.
resources/environment.robot is relative to the directory where tests are run.
Folder structure.

So we are importing environment.robot file from keywords.robot file and they are in resources folder and tests are run inside from our_tests folder.

Above you wrote:

Changed file path from resources/environment.robot' to environment.robot' and now it works with alpha 2.

but then added:

Edit: And it fails still with alpha 2 even with the environment.robot' path.

I assume the latter statement is true and neither version works with alpha 2?
If resources/environment.robot is relative to the directory where tests are run, the change that broke importing it is likely that . is not added to PYTHONPATH automatically. You could verify that by setting PYTHONPATH=. before running tests.
Are you importing resource files in both places using Import Resource keyword? A limitation of that keyword is that paths relative to the directory where the file itself is are not supported. That would explain why environment.robot won't work in any version. A workaround is using ${CURDIR}/environment.robot instead.

I did some assumptions and after I sent that message did the actual testing. Neither version works with alpha 2.
I set PYTHONPATH=. and now it works with alpha 2 when the path is resources/environment.robot.
Only place where Import Resource keyword is used is  in keywords.robot file. That your workaround suggestion seems like a best option so I am going to use it. Thanks.

OK. In your keywords.robot using
Import Resource    resources/environment.robot

or
Import Resource    environment.robot

can only work if the used path is relative to a directory in PYTHONPATH. Earlier the former worked because . was in PYTHONPATH but that was a coincident. A much better solution is using ${CURDIR}/environment.robot.
You could also consider explicitly adding resources to PYTHONPATH to make it possible to import anything there from anywhere with just the file name. This avoids the need to update resource import paths if you reorganize your test data and move files to new directories.
Anyway, I don't think there's anything in Robot that needs to be changed. The fact that . is not in PYTHONPATH needs to be documented in the release notes, though.

Added separate #2019 about . not being in PYTHONPATH anymore and also added a note about it to alpha 2 release notes under backwards incompatible changes.
Thanks for reporting the issue @molsky. Although there was no actual bug, it's good that this change is now better documented.

Hello,
Looks like same issue observed.
Taking a course on udemy.com. Created project with 4 files in Resources folder. Run it, got issue for each file:
[ ERROR ] Error in file '/Users/xx/Documents/workspace/robotscripts/Tests/access_tab.robot': Resource file 'Resources/Submenu_access.robot' does not exist.
access tab :: This is some basic info about the whole suite
User must navigate to Access tab :: Clicking on all of the sub-men... | FAIL |
No keyword with name 'Tabs.Select Access Tab' found.

Use relative paths for the resources.
For example, you should use:
Resource    ../Resources/testname.robot

Why new version does not have backward compatibility. Poor testing.

hi all, I am also having the same issue. I cant import resource file with ride


To Rectify libqhull.so.5 Import Error

Download and install qhull here
Put the libqhull.so file in your LD_LIBRARY_PATH.
Make a link to the .so file in your LD_LIBRARY_PATH.
ln -s ~/.local/lib/libqhull.so ~/.local/lib/libqhull.so.5

The Plot :chart_with_upwards_trend: to your little :heart:'s content. Also :cactus:.


Required OSGi headers missing

Starting from 5.1.0 several required OSGi headers are missing from MANIFEST.MF, e.g. Bundle-SymbolicName, Import-Package and Export-Package:

This prevents successful deployment of Jodd bundles in OSGi runtimes.

True that; I remember I had some issues with the plugin.
Which Jodd libraries are you using? Just to prioritize my work.

True that; I remember I had some issues with the plugin.
Which Jodd libraries are you using? Just to prioritize my work.

I guess it's the same issue for all Jodd bundles and it needs to be fixed only once (for all).
I'm trying to deploy Redisson which has a transitive dependency on jodd-bean.

Added for all Jodd v6.x libs :)


Adding Linux theme

Hi,
In this pull I added a Linux theme for the terminal, as an OS X theme (Homebrew) already exists I think it's only fair that Linux also gets its own theme. Improvements will be welcome.
Thanks for your time,
Brenton

Thanks a lot! 😊

You're welcome, I would suppose these package changes will be published anytime soon? i.e., will a new version of platformio-ide-terminal (say 2.0.11) be released soon with this new theme bundled with it?

Need to decide what to do with this https://github.com/platformio/platformio-atom-ide-terminal/pull/39
If we will not find a solution, I release 2.0.11 as soon as possible.


klavaro: 3.03 -> 3.04

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/klavaro/versions.
meta.description for klavaro is: '"Just another free touch typing tutor program"'.

Checks done (click to expand)

built on NixOS
/nix/store/afgmiad05axlkmwwj6g7vchpgdcdh9g0-klavaro-3.04/bin/klavaro passed the binary check.
/nix/store/afgmiad05axlkmwwj6g7vchpgdcdh9g0-klavaro-3.04/bin/.klavaro-wrapped passed the binary check.
2 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 3.04 with grep in /nix/store/afgmiad05axlkmwwj6g7vchpgdcdh9g0-klavaro-3.04
directory tree listing: https://gist.github.com/99a35e965571b0b68a3913ecf8072a90
du listing: https://gist.github.com/d31dd9d7eb819c423ccf367c7451366a

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
klavaro

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/afgmiad05axlkmwwj6g7vchpgdcdh9g0-klavaro-3.04 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A klavaro https://github.com/r-ryantm/nixpkgs/archive/45fe253ff1e09b1c121095b923ac2337dea77cf6.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/afgmiad05axlkmwwj6g7vchpgdcdh9g0-klavaro-3.04
ls -la /nix/store/afgmiad05axlkmwwj6g7vchpgdcdh9g0-klavaro-3.04/bin

cc @mimadrid for testing.

@GrahamcOfBorg eval


Snowflake parser improvements - quote handling

Improvements for https://github.com/skripteria/wn-snowflake-plugin/issues/18
This should be tested a bit before merging although worked fine for my edge cases and I don't see very problematic parts in changes.
Improvements made in this pull request:

Simplified the main regex so it only captures only spaces in {{ sf_key | sf() }}, not all characters (.*) - this avoids greedy capturing and solves problem with brackets (if () were used in description parameter);
Also additional quote usage problem in parameter values is now solved - this is done by treating $param_string as CSV string so PHP native function automatically processes commas and quotes.

If this pull request is ok then we can probably close https://github.com/skripteria/wn-snowflake-plugin/issues/18
There is one super-edge cases which this doesn't solve - {{ test_key|sf('text', "test", 'Test description...') }} - when mixed quotes are used for each parameter but it would be very problematic to solve cases like this.

Unfortunately I hit an issue when I did the first tests:
This method breaks somehow when I want to combine the sf filter with the resize filter, example usage:

I see...
preg_match_all('|\{{2}\s*(\w+)\s*\|\s*sf\((.*)\)\s*}{2}|U', $content, $matches); should be changed back to preg_match_all('|\{{2}.*\s*(\w+)\s*\|.*sf\((.*)\).*\}{2}|U', $content, $matches); then it should be fine again (although that would revert back bracket issue but that's not so critical).

In other words, need to apply this commit - https://github.com/arvislacis/wn-snowflake-plugin/commit/630254b34c4233622c8a35be2cf645a414d3e061 so other Twig filter combination with Snowflake filter would be possible again.

Although, when I think about it a bit more:

^ This should not be valid option, sf() should always follow only after the Snowflake key name..., otherwise if you combine it with other Twig filters then parser could save also Twig filter ar a Snowflake key name, for example, if using filters like  capitalize etc.

Thanks!
I will apply it and test again, however it may take a little while since I am busy this afternoon ;)

Ok, no worries. I also made new pull request (https://github.com/skripteria/wn-snowflake-plugin/pull/22) to your testing branch with this change so you can merge it in directly.


Update release tooling and contributors list

This moves the packaging to semantic-release, and adds a
generated contributors list.
Additionally, eslint tooling has been updated to the latest along
with associates lint fixes.

Note: this project needs the default branch moved to main prior to merging

@darinspivey, and why did you close this PR after approving?

@darinspivey, and why did you close this PR after approving?

We were experimenting with moving the branch to main while PRs were open.  This same PR is now re-opened under main


Ensure failed payments marked as failed

Description:
Ensure failed payments marked as failed
Generate a unique payment id for sending payments to enable more accurate tracking of payments across retry attempts.
Motivation and Context:
Fix #3142
How Has This Been Tested?
Manually
Types of changes:
Fix
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[x] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage decreased (-0.05%) to 22.645% when pulling 6c79a0f7421d2b131d66467881e64a49604cc653 on mrfelton:fix/payments-sending into 44323c6571faebff0c61d19cbf1c71cb39047a84 on LN-Zap:next.


Organisations: cannot change name to upper case.

I cannot directly change name or organisation "test" to "Test". It's complaining about resource name already being used. That doesn't seem right.

Thanks for the report! We'll get on this ASAP.

Hi @nd2s , I've pushed fix on dev branch and you can also test on https://try.gogs.io/

That was quick. Thank you!

@nd2s no problem!


Make magic? The deal maker to improve people's life

话术库

dig social insights like social graph

降低思维的障碍和影响沟通效率的东西


4.0.0 mergefest

Hey @guyonroche @Siemienik @Alanscut
I would like to finally release 4.0.0 - but I think we're blocked by @guyonroche having time for that. The async iteration PR also fixes a flaky test that we have on master.
So, to keep it simple, I propose that we have a mergefest: we all meet up on zoom, one of us (I volunteer) shares their screen, we merge as many PRs as we can, we then release the last 3.x version, we then merge async iteration and move node 8 to the transpiled files, and then release it - all together :)
What do you think? @Siemienik and I already did something like that to review the async iteration PR and it was really helpful.
@guyonroche how about you propose a time and place (let's take 60 minutes) and we try to make time for that? I'm happy to send up the zoom and send invitations.

great! it will make exceljs enter a new era. I'll take some time to review current PRs deeply again before this weekend.

Or... if there aren't any urgent hotfixes for v3, how about we just merge the async iteration now?

I would still really like to see a 3.x release with https://github.com/exceljs/exceljs/pull/1234 in it 🙏

Hey guys, this sounds great - as well, we'll be able to actually (well virtually) meet!
I think a last bash 3.x release is a good idea too...
I appreciate your understanding that my time is stretched, for me, the times that work best will be early evening tonight or tomorrow, in the range 18:00 to 21:00 BST (17:00 to 20:00 UTC) - or failing that, most of the British daytime over the weekend.

@Alanscut would 17:00 - 18:00 UTC work for you? I imagine that will be quite late at night

sorry, it's too late for me... it's 01:00~3:00 in china.  British daytime over the weekend will work for me. Please don't mind my presence, I will list my opinions through email :)

Weekends are bad for me :(
should we try next Tuesday 17:00 - 18:00 UTC?

Tuesday 17:00 UTC is good for me

Tuesday 17:00 UTC is good for me

I will be available

Ok I'm dialled in - does the url work for everyone else?

join now or I'll just merge it myself :D

@alubbe @Siemienik v4.0.0 Published!!!
It was great to meet earlier :-)

Thanks gentlemen! :)


V4.2.1 Release 55.1

V4.2.1 Release 55.1
Minimum Version Configuration Fix, right now the minimum version is iOS 13
Improve timeouts for http request
Improve some sintax indicated by swiftlint
Add debug error for response services
Improve certification validation for URLSessionDelegate
fix warnning error for loading

V4.2.1 Release 55.1
Minimum Version Configuration Fix, right now the minimum version is iOS 13
Improve timeouts for http request
Improve some sintax indicated by swiftlint
Add debug error for response services
Improve certification validation for URLSessionDelegate
fix warnning error for loading


Kill orphaned MiniBrowser process on Linux

Fixes #12
We kill the browser process (MiniBrowser) that has been orphaned by the bash process that launched it. We can identify these processes because they have been reparented to the init process (id 1). The following is an abridged example of the output of ps at the point where the launcher is cleaning up:
 PID    PPID COMMAND
7673    7671 npm run test-concurrent (nimble-components)
7716    7673 sh
7729    7716 node
7771    7729 sh
7773    7771 npm run test-chrome:verbose (nimble-components)
7779    7729 sh
7782    7779 npm run test-firefox:verbose (nimble-components)
7783    7729 sh
7788    7783 npm run test-webkit:verbose (nimble-components)
7860    7788 sh
7863    7860 node
8259    7863 bash
8274    8259 MiniBrowser  <------------------ live, active instance
8593    8274 WPENetworkProce
8601    8274 WPEWebProcess

7672    7668 npm run test
7997    7672 sh
8602    7997 npm run test-webkit:verbose (spright-components)
8648    8602 sh
8649    8648 node
8680    8649 bash <defunct> <--------------- defunct/zombie bash
8686       1 MiniBrowser    <------------ orphaned webkit browser
8694    8686 WPENetworkProce
8697    8686 WPEWebProcess

@MarkusBordihn I fixed my missing CLA issue, so everything should be ready for review. I ran the repo's workflows on my fork, and they all passed except the Safari one (which presumably has some issue, as I see it is disabled on this repo).

@m-akinc
Thanks a lot for your PR that improves the Linux support in karma-webkit-launcher!
The fix will be live in the upcoming release (version 2.6.0).


fix: fix daemon reconcile bug during node upgrade

Gateway mgr daemon needs to watch GatewayVMConfiguration objects also.

coverage: 80.484% (-0.2%) from 80.676%
when pulling 7bae4c4d0b63295e9823be30aa6f37194f48d0c3 on jwtty/upgrade-fix
into 7bb839fc1039c398a66f48a3f380537c341f20cf on main.


Links get disappeared while dragging the nodes

Description
When I drag the node so long, the link cuts in between even though I was doing all these inside the svg container area.
To Reproduce
Steps to reproduce the behaviour:

Create 2 nodes
Link them together
Zoom out to maximum
Click and drag one node to some distance and you can see link gets cut in middle.

Expected behavior
Link line should be visible while dragging

Additional context
It has some other box region inside the actual svg container. Only inside that, the links are visible. And when we drag outside of that box, the part which comes outside alone gets hided. But node was visible though.
Environment:

OS: [Win 10]
Browser [Chrome]
Node version [v10.15.0]
react-d3-graph version [^2.0.0]
d3 version [^5.9.1]
react version [^16.8.3]

Thanks for reporting this @kbtganesh, will take a look at it as soon as possible.

I'm running into the same thing.  You can also reproduce the issue by panning the graph by pulling to the right and then dragging the node so it is outside the original width/height area.

I did a little investigating.  I'm not sure how to fix it but this seems to be related to the wrapping svg returned by Link.  I think there is a viewbox/viewport issue that we hit when we drag the node outside the original visible region of the larger graph.
 <<< This guy
<path {...lineProps} id={id} />
{label && (
<text style={{ textAnchor: "middle" }} {...textProps}>
<textPath href={#${id}} startOffset="50%">
{label}

)}


Projects purpose

Hi,
Thanks a lot for this excellent work. I am trying to learn more and more about IdentityServer and this whole concept so please bear with me. I have some hard time understanding the purpose of the following projects:

Skoruba.IdentityServer4.Admin.Api
Skoruba.IdentityServer4.Admin.Api
Skoruba.IdentityServer4.STS.Identity

Can somebody clarify that to me?

https://github.com/skoruba/IdentityServer4.Admin#solution-structure Please check solution structure

Sorry for wasting your time mate! My fault here!

Solved

No problem, if you will have any issue, let me know.


Doc Feedback:

Location : https://is.docs.wso2.com/en/latest/learn/accessing-the-analytics-dashboard/
Running this command
java ant -Dport=7612 -Dhost=<IP_ADDRESS>
gives following error
Error: Could not find or load main class ant

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


feature: supported cluster limit-req with redis server.

take a look: take an example: https://github.com/iresty/apisix/pull/624

supported: https://github.com/apache/incubator-apisix/blob/master/doc/plugins/limit-count.md#attributes

Is it the same requirement as the limit-count?

Is it the same requirement as the limit-count?

yes, almost the same.


Remove APIs

There shouldn't be an APIs folder in this repo.  The Authorization API is now IS-10 in https://github.com/AMWA-TV/nmos-authorization, and any future APIs should be in other repos.
At the time of writing, this repo's AuthorizationAPI.raml is the same as in the IS-10 repo, and its schemas are older, so it should be safe to remove them.

@garethsb-sony yes I guess that's ok.  I wasn't 100% sure that it would then convert ok on rendering but I just checked and it does, so linking to the repo now.

@garethsb-sony yes that's ok. I wasn't 100% sure whether that would render ok, but I've just confirmed it does. Merging.


Haddock 2.23.0 regression: --hyperlinked-source breaks vault-<IP_ADDRESS>

The vault-<IP_ADDRESS> library no longer works with stack haddock on a GHC 8.8.1-based resolver (such as this one). After some digging, I discovered that the culprit is stack haddock's use of the --hyperlinked-source flag. To reproduce the issue, pick one of the following options (depending on your favorite build tool):

stack

$ stack unpack vault-<IP_ADDRESS> && cd vault-<IP_ADDRESS>
Unpacked vault (from Hackage) to /home/rgscott/Documents/Hacking/Haskell/vault-<IP_ADDRESS>/

$ stack --resolver nightly-2019-09-27 init
Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- ./

Selected resolver: nightly-2019-09-27
Initialising configuration using resolver: nightly-2019-09-27
Total number of user packages considered: 1
Writing configuration to file: stack.yaml
All done.

$ stack haddock
Stack has not been tested with GHC versions above 8.6, and using 8.8.1, this may fail
Stack has not been tested with Cabal versions above 2.4, but version <IP_ADDRESS> was found, this may fail
vault> configure (lib)
Configuring vault-<IP_ADDRESS>...
vault> build (lib)
Preprocessing library for vault-<IP_ADDRESS>..
Building library for vault-<IP_ADDRESS>..
[1 of 5] Compiling Data.Unique.Really

/home/rgscott/Documents/Hacking/Haskell/vault-<IP_ADDRESS>/src/Data/Unique/Really.hs:6:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
  |
6 | import Control.Applicative ((<$>))
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2 of 5] Compiling Data.Vault.ST.Lazy

/home/rgscott/Documents/Hacking/Haskell/vault-<IP_ADDRESS>/src/Data/Vault/ST/ST.h:15:1: warning: [-Wunused-imports]
    The import of ‘Data.Monoid’ is redundant
      except perhaps to import instances from ‘Data.Monoid’
    To import instances alone, use: import Data.Monoid()
   |
15 | import Data.Monoid (Monoid(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/home/rgscott/Documents/Hacking/Haskell/vault-<IP_ADDRESS>/src/Data/Vault/ST/ST.h:16:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
16 | import Data.Semigroup (Semigroup((<>)))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/home/rgscott/Documents/Hacking/Haskell/vault-<IP_ADDRESS>/src/Data/Vault/ST/ST.h:18:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
   |
18 | import Control.Applicative ((<$>))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[3 of 5] Compiling Data.Vault.Lazy
[4 of 5] Compiling Data.Vault.ST.Strict

/home/rgscott/Documents/Hacking/Haskell/vault-<IP_ADDRESS>/src/Data/Vault/ST/ST.h:15:1: warning: [-Wunused-imports]
    The import of ‘Data.Monoid’ is redundant
      except perhaps to import instances from ‘Data.Monoid’
    To import instances alone, use: import Data.Monoid()
   |
15 | import Data.Monoid (Monoid(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/home/rgscott/Documents/Hacking/Haskell/vault-<IP_ADDRESS>/src/Data/Vault/ST/ST.h:16:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
16 | import Data.Semigroup (Semigroup((<>)))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/home/rgscott/Documents/Hacking/Haskell/vault-<IP_ADDRESS>/src/Data/Vault/ST/ST.h:18:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
   |
18 | import Control.Applicative ((<$>))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[5 of 5] Compiling Data.Vault.Strict

vault> haddock
Preprocessing library for vault-<IP_ADDRESS>..
Running Haddock on library for vault-<IP_ADDRESS>..

src/Data/Unique/Really.hs:6:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
  |
6 | import Control.Applicative ((<$>))
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:15:1: warning: [-Wunused-imports]
    The import of ‘Data.Monoid’ is redundant
      except perhaps to import instances from ‘Data.Monoid’
    To import instances alone, use: import Data.Monoid()
   |
15 | import Data.Monoid (Monoid(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:16:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
16 | import Data.Semigroup (Semigroup((<>)))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:18:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
   |
18 | import Control.Applicative ((<$>))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:15:1: warning: [-Wunused-imports]
    The import of ‘Data.Monoid’ is redundant
      except perhaps to import instances from ‘Data.Monoid’
    To import instances alone, use: import Data.Monoid()
   |
15 | import Data.Monoid (Monoid(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:16:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
16 | import Data.Semigroup (Semigroup((<>)))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:18:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
   |
18 | import Control.Applicative ((<$>))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Haddock coverage:
 100% (  4 /  4) in 'Data.Unique.Really'
  80% ( 12 / 15) in 'Data.Vault.ST.Lazy'
  Missing documentation for:
    Vault (src/Data/Vault/ST/backends/GHC.h:18)
    Key (src/Data/Vault/ST/backends/GHC.h:19)
    Locker (src/Data/Vault/ST/backends/GHC.h:40)
 100% ( 15 / 15) in 'Data.Vault.Lazy'
  80% ( 12 / 15) in 'Data.Vault.ST.Strict'
  Missing documentation for:
    Vault (src/Data/Vault/ST/backends/GHC.h:18)
    Key (src/Data/Vault/ST/backends/GHC.h:19)
    Locker (src/Data/Vault/ST/backends/GHC.h:40)
 100% ( 15 / 15) in 'Data.Vault.Strict'
haddock: internal error: couldn't find ast for src/Data/Vault/ST/Lazy.hs ["src/Data/Vault/ST/ST.h","src/Data/Vault/ST/backends/GHC.h"]
CallStack (from HasCallStack):
  error, called at utils/haddock/haddock-api/src/Haddock/Backends/Hyperlinker.hs:78:28 in main:Haddock.Backends.Hyperlinker

--  While building package vault-<IP_ADDRESS> using:
      /home/rgscott/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-8.8.1 --builddir=.stack-work/dist/x86_64-linux/Cabal-<IP_ADDRESS> haddock --html --hoogle --html-location=../$pkg-$version/ --haddock-option=--hyperlinked-source --haddock-option=--quickjump
    Process exited with code: ExitFailure 1

cabal

$ cabal get vault-<IP_ADDRESS> && cd vault-<IP_ADDRESS>
Unpacking to vault-<IP_ADDRESS>/

$ /opt/ghc/8.8.1/bin/haddock --version
Haddock version 2.23.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008

$ cabal haddock -w /opt/ghc/8.8.1/bin/ghc --haddock-option=--hyperlinked-source
Resolving dependencies...
Build profile: -w ghc-8.8.1 -O1
In order, the following will be built (use -v for more details):
 - vault-<IP_ADDRESS> (first run)
Configuring vault-<IP_ADDRESS>...
Preprocessing library for vault-<IP_ADDRESS>..
Running Haddock on library for vault-<IP_ADDRESS>..
Warning: The documentation for the following packages are not installed. No
links will be generated to these packages: hashable-<IP_ADDRESS>,
semigroups-0.19.1, unordered-containers-<IP_ADDRESS>
Haddock coverage:

src/Data/Unique/Really.hs:6:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
  |
6 | import Control.Applicative ((<$>))
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 100% (  4 /  4) in 'Data.Unique.Really'

src/Data/Vault/ST/ST.h:15:1: warning: [-Wunused-imports]
    The import of ‘Data.Monoid’ is redundant
      except perhaps to import instances from ‘Data.Monoid’
    To import instances alone, use: import Data.Monoid()
   |
15 | import Data.Monoid (Monoid(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:16:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
16 | import Data.Semigroup (Semigroup((<>)))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:18:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
   |
18 | import Control.Applicative ((<$>))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  80% ( 12 / 15) in 'Data.Vault.ST.Lazy'
  Missing documentation for:
    Vault (src/Data/Vault/ST/backends/GHC.h:18)
    Key (src/Data/Vault/ST/backends/GHC.h:19)
    Locker (src/Data/Vault/ST/backends/GHC.h:40)
 100% ( 15 / 15) in 'Data.Vault.Lazy'

src/Data/Vault/ST/ST.h:15:1: warning: [-Wunused-imports]
    The import of ‘Data.Monoid’ is redundant
      except perhaps to import instances from ‘Data.Monoid’
    To import instances alone, use: import Data.Monoid()
   |
15 | import Data.Monoid (Monoid(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:16:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
16 | import Data.Semigroup (Semigroup((<>)))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Vault/ST/ST.h:18:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
   |
18 | import Control.Applicative ((<$>))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  80% ( 12 / 15) in 'Data.Vault.ST.Strict'
  Missing documentation for:
    Vault (src/Data/Vault/ST/backends/GHC.h:18)
    Key (src/Data/Vault/ST/backends/GHC.h:19)
    Locker (src/Data/Vault/ST/backends/GHC.h:40)
 100% ( 15 / 15) in 'Data.Vault.Strict'
Warning: Data.Unique.Really: could not find link destinations for:
    Hashable hashWithSalt hash
haddock: internal error: couldn't find ast for src/Data/Vault/ST/Lazy.hs ["src/Data/Vault/ST/ST.h","src/Data/Vault/ST/backends/GHC.h"]
CallStack (from HasCallStack):
  error, called at utils/haddock/haddock-api/src/Haddock/Backends/Hyperlinker.hs:78:28 in main:Haddock.Backends.Hyperlinker
cabal: Failed to build documentation for vault-<IP_ADDRESS>.

This is a regression from Haddock 2.22.0, which does not error:

$ /opt/ghc/8.6.5/bin/haddock --version
Haddock version 2.22.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008

$ cabal haddock -w /opt/ghc/8.6.5/bin/ghc --haddock-option=--hyperlinked-source
Resolving dependencies...
Build profile: -w ghc-8.6.5 -O1
In order, the following will be built (use -v for more details):
 - vault-<IP_ADDRESS> (first run)
Configuring vault-<IP_ADDRESS>...
Preprocessing library for vault-<IP_ADDRESS>..
Running Haddock on library for vault-<IP_ADDRESS>..
Warning: The documentation for the following packages are not installed. No
links will be generated to these packages: hashable-<IP_ADDRESS>,
semigroups-0.19.1, unordered-containers-<IP_ADDRESS>
Haddock coverage:
 100% (  4 /  4) in 'Data.Unique.Really'
  80% ( 12 / 15) in 'Data.Vault.ST.Lazy'
  Missing documentation for:
    Vault (src/Data/Vault/ST/backends/GHC.h:18)
    Key (src/Data/Vault/ST/backends/GHC.h:19)
    Locker (src/Data/Vault/ST/backends/GHC.h:40)
 100% ( 15 / 15) in 'Data.Vault.Lazy'
  80% ( 12 / 15) in 'Data.Vault.ST.Strict'
  Missing documentation for:
    Vault (src/Data/Vault/ST/backends/GHC.h:18)
    Key (src/Data/Vault/ST/backends/GHC.h:19)
    Locker (src/Data/Vault/ST/backends/GHC.h:40)
 100% ( 15 / 15) in 'Data.Vault.Strict'
Warning: Data.Unique.Really: could not find link destinations for:
    Hashable hashWithSalt hash
Documentation created:
/home/rgscott/Documents/Hacking/Haskell/vault-<IP_ADDRESS>/dist-newstyle/build/x86_64-linux/ghc-8.6.5/vault-<IP_ADDRESS>/doc/html/vault/index.html

I'll try to come up with a more minimal test case shortly.

Here is an example with no external dependencies. You'll need these three files:
-- Bug.hs
{-# LANGUAGE CPP #-}
module Bug where

#include "Foo.h"

/* Foo.h */

foo :: Int
foo = 42

#include "Bar.h"

/* Bar.h */

bar :: Int
bar = 27

This demonstrates that this setup works with Haddock 2.22.0:
$ /opt/ghc/8.6.5/bin/haddock --version && /opt/ghc/8.6.5/bin/haddock Bug.hs --hyperlinked-source
Haddock version 2.22.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008
Haddock coverage:
Warning: Package name is not available.
   0% (  0 /  3) in 'Bug'
  Missing documentation for:
    Module header
    bar (Bar.h:3)
    foo (Foo.h:3)
Warning: Bug: could not find link destinations for:
    Int

But not with Haddock 2.23.0:
$ /opt/ghc/8.8.1/bin/haddock --version && /opt/ghc/8.8.1/bin/haddock Bug.hs --hyperlinked-source
Haddock version 2.23.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008
Haddock coverage:
Warning: Package name is not available.
   0% (  0 /  3) in 'Bug'
  Missing documentation for:
    Module header
    bar (Bar.h:3)
    foo (Foo.h:3)
Warning: Bug: could not find link destinations for:
    Int
haddock: internal error: couldn't find ast for Bug.hs ["Bar.h","Foo.h"]
CallStack (from HasCallStack):
  error, called at utils/haddock/haddock-api/src/Haddock/Backends/Hyperlinker.hs:78:28 in main:Haddock.Backends.Hyperlinker

CPP strikes once again. The issue is that there are no SrcSpans from Bug.hs in the file, as all the SrcSpans reference the included header files.
I have made a PR that eliminates the call to error and logs the message instead. I can confirm that this fixes the crash on the minimal example you provided.

I ran into the same issue with vector-<IP_ADDRESS>, but @wrz1000's patch fixed it for me.


quantize_graph round and quantize modes are broken

Looking at code in master. /CC @petewarden
A KeyError is always produced.
Consider the round mode:
    if self.mode == "round":
      self.already_visited = {}
      for output_node in output_nodes:
        self.round_nodes_recursively(output_node)

which will fails for all calls:
  def round_nodes_recursively(self, current_node):
    """The entry point for simple rounding quantization."""
    if self.already_visited[current_node.name]:

with a key error since the already_visited dict will be empty.

Thanks for filing this issue @cancan101 !  I think you're completely right.
I tried to track down where this bug was introduced.  Assigning this to @andrewharp since it looks like he touched this part of the code.  Andrew, feel free to re-assign as appropriate.  Thanks!

@andrewharp Is this fixable?

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!

@andrewharp: Is there a fix for this bug?


Give use cases to understand the features better

After reading the features I'm struggling to understand what actual use cases are where Fenzo comes in. For example in my case, I have a Spark framework (on Mesos) which runs interactive queries with a measured average response time. Now if I increase the cluster resources by a factor 2 or 4 for example, and increase the amount of Spark frameworks by that same factor, the variance increases greatly. So far, I can see that this stems from the fact that a Spark framework is very greedy; if a resource offer is made, the framework accepts all, and in the meantime other frameworks stall. The average response time is pretty much the same only because the added resources make up for the longer waiting periods for the frameworks. But the higher variance makes this unfavorable to interactive Spark sessions.

Are there mechanisms/features in Fenzo which can help with this above problem? (Basically QoS problems, which Mesos doesn't seem to care about)
Is anybody working on Spark/Fenzo integration? If not, does anyone have an idea about caveats/hurdles to implement it?

Fenzo caters to the needs of a Mesos framework for advanced scheduling optimizations and cluster autoscaling, see this blog for an overview.
What you are describing seems to be a case of multiple frameworks in a Mesos cluster, where one or more of them can starve for resources if another framework hoards (or has used up) all of the offers. That may require a solution in Mesos itself (just as an example, some way of fair sharing plus preemptions). Or, a single Spark framework may be able to achieve such fair share among its various Spark jobs instead of having one framework per job. Although, I am not as knowledgeable about Spark framework to say how feasible that is. Fenzo can be useful for such a framework in terms of optimizing task placements. However, preemptions and fair share concepts are not available in Fenzo yet.

Ok, thanks. Exactly what I needed to hear.


Spring cloud gateway example

add a simple example of integrating spring authorization server with spring cloud gateway.

@salutonmondo thanks for your interest in the project!
Just an FYI that we already have a similar sample branch that we've been using that goes along with a semi-recent webinar. We may eventually decide to merge the backend-for-frontend-client sample into this repository but don't have a plan to do so any time soon.
You'll want to take a look at that sample and compare/contrast what you've done here, though it's quite nice and I appreciate the effort. However, do make sure to reach out through an issue in the future before doing any work on submitting a PR as we don't want anyone wasting or duplicating effort. With that in mind, I'm going to go ahead and close this PR for now, but feel free to let me know if you have any other thoughts.

I think the main difference here is that the UI of an application moves behind a gateway which is caring about user authentication together with the autorization server. In his PR the UI is represented by the resources server in having a secured and an unsecured public endpoint.
The BFF (thanks for the nice and comprehensive webinar!) approach doesn't cover this way of using a gateway in my opinion and I would love to have that sample available. Okay at least I can copy it from the PR for now.

@khauser thanks for sharing your thoughts on this. I agree that there are many different ways of architecting these types of applications and they are all slightly different. I imagine it would be quite difficult to have a distinct sample for all of the different deployment models and architectures, so we would tend to want to maintain only the primary ones that demonstrate the largest number of key concepts. Most of the time it's only small variations from there to get the end result you're after. Having said that, we'll definitely continue to listen, and if many are bumping up against similar challenges with integrating we can always add an official sample after some discussion.

@sjohnr Hello, the webinar is quite inspiring and the Back component pattern is what we applied in our current project. There is one problem which lead us to think about using spring cloud gateway.
In the webinar demo, looks like for each and every API from resource server, we have to plugin/proxy it somewhere in the BFF controller.
Currently we have just 4 micro services(resource servers) with about 80 APIs.  Do we have to duplicate these 80 APIs in BFF controllers.  That's a lot of work, isn't it?  And quickly the spring cloud gateway comes to my mind. We'd need it to do some simple route for us and so we don't have to duplicate these 80 APIs in BFF controllers,  yet we'd like the spring cloud gateway do the heavy authz work for us as an oauth2 client .
So we really appreciate someone could do one demo for this kind of scenario.   🥲
I searched stack overflow and find similar questions like the following one but no one answer it.
How to use spring-cloud-gateway for authentication and authorization?

Hi @uniquejava. In the webinar, we didn't have time to demonstrate using the TokenRelay filter in Spring Cloud Gateway as one way of adding routing to the gateway that can successfully make calls to resource servers that sit behind the gateway. However, the commits of the sample branch demonstrate this.
It's worth noting that the existing TokenRelay filter has a limitation in that it can only use the token available for the current authenticated user that comes from .oauth2Login(). An enhancement could be added to overcome this limitation, but hasn't been added yet.
Does that answer your question?

@sjohnr Wow,  you are that "BFF(Best Friend Forever)" teacher in that webinar. Thank you for your reply, I did a lot of homework using the keyword you provided and also referred to the sample branch. I was able to successfully set up the example using Spring Authorization Server, Gateway and Vue3(vite)
Thanks a lot.
I cleared the following obstacles along the way.

WebClient API: the so called reactive RestTemplate which I just realized it's being deprecated.
I thought UserDetailService is a must, then I found we can totally do authz without it, via theTokenConverter > AuthenticationProvider routine mentioned in the webinar.
I thought Token is just some bearer token, the all kinds of XxxxToken in spring security confused me for long time, I am now not confused about it any more 🥇
The fancy ExchangeFilterFunction around WebClient, they are existing for handling acquire/check/renew token, etc, so we don't care about it.
I didn't even notice there are both http.oauth2Login() and http.oauth2Client, and for now I know we should use oauth2Login which will do the magic behind the scene, we don't even need to consider storing token in the frontend, the cookie based solution is just fine.

Still a lot to conquer but a least I know where to go. 🥂


[UI Content Design Guild] Modal component topic is missing content

https://carbondesignsystem.com/components/modal/usage/
Need explicit guidance for creating content for modals.

@sstrubberg Hey, Scott. Here's most of our feedback for the Modal component, which we want to go through with you and other CDSers on Tuesday.
Modal-UIContentGuild-comments+edits.docx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

Issue refinement

I went through the attached document above. I made some comments in it here:

Modal-UIContentGuild-comments+edits_LR comments.docx

Most changes mentioned in the document are doable as part of this issue and I would size it as an 8. However there were a couple things that would need to be addressed in a separate issue, which I will list below.

Separate issue
A separate issue would need to be created to tackle the following:
1. Live demo changes

List items should be in sentence-style capitalization

We would need to connect with dev to make sure we could alter the text of these react stories that show up in the live demo dropdown, since the names would then be different than the ones on the actual storybook. I think it is probably doable though.

Live demo modal example content changes that appear in each story.

All of the Live demo modal example content changes need to be addressed in a dev issue in the carbon repo to fix this in the storybook first, and then it will fix the live demo on the website. It would be good to have all of the content that you would want to change in each of the examples finalized before posting them in the dev issue. The changes to the story names in the live demo dropdown could also be addressed in this same issue.

Hello,
I've updated the word document to show the changes for the content guidance and preserve the history of Lauren's comments.
Changes-to-make-UIContentGuild-comments+edits_LR.comments(1).docx

Here is the updated Word doc that will be used to make changes to the Modal component.
Modal-UIContentGuild-comments+edits3.docx

Made additional small changes where appropriate and added them to this Word doc.
Modal-UIContentGuild-comments+edits4.docx

Updated the Modal component page in my own fork and created a pull request:
https://github.com/carbon-design-system/carbon-website/pull/4345


Notification Badge (counter) Please?

Thank you for the package. Would you consider adding a notification badge at any of the tab/icon please?

Hi,
no, but If I found any free time, sure I will do that!

Notification Badge,  That would be more perfect.

Hi,
Unfortunately, Github started banning Iranian users while ago,
If they didn't stop their action, I can't continue on this repo,
read more it here,
If you want to prevent this unfair action, give a start on this repository and say your support by creating an issue, and spread it.
Best regards,
Iman Khoshabi

Good to see you back in action, @imaNNeoFighT

Hi dear Iman,
Thanks for the great package,
Is there any plan to add badge support ?
GitHub restrictions has gone .
Thanks in advance.

I added badge support and sent pull request.

@Alijaaan How can I use your pull-request to support badge? I was not aware it's unable to add badge when I decided to adopt this package. I don't want to change to another bottom navigation, please add this feature in package. I'm currently using 2.3.0.

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @real-lazy-coder, @battulga999, @lily402-byte, @ozyalhan, @badespider, @Max-Dva4, @tranzium, @joaoresenes, @henrybit, @unixorn, @Pretty9, @carriepresley, @mmanishh, @Rohan-cod, @dsuresh95, @sdqscript, @Light-Lens, @TooTallNate, @gethob, @stasadance, @DmitrySidorow, @aliray, @lcurrit, @Pattiee, @monic-shixi, @OlegWock, @ajermakovics, @berchan, @PolarisZZZ, @vikingml, @antoniorrm, @Awea, @iamdash83, @gdelatorrebay, @shailesh17, @pathikg, @PigTrader, @yasmali, @ggp0647, @Angel17Angel, @Gavand, @narutome1, @napdivad, @soonphe, @onatcipli, @alighahary, @ARXChrono, @omercup, @d1snin, @Zockerboy806

@mohamedSalehHegazy ???

Hello, i am new here, i want to contribute to this repository by adding badge support, could you please assign this enhancement to me


HIPP-1700: Environments menu on Application details left side

will raise another PR to turn this on in QA:
features.application-details-environments-left-side-nav

test this please


[Bug]: getPathParamOptions return undefined, on allowReserved=true

Describe the bug
code

result

It can be seen that HttpOperationPathParameter.allowReserved is true.
But if dev call getPathParamOptions on the HttpOperationPathParameter.param, the result is undefined.
This appears to be an inconsistency. It does not block anything. We just use HttpOperationPathParameter.allowReserved.
Reproduction
URI template operation like below
  @route("/contoso/{+group}")
  interface ServerOp {
    get(group: string): OkResponse | NoContentResponse;
  }

Checklist

[X] Follow our Code of Conduct
[X] Check that there isn't already an issue that request the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

This is by design this is just the decorator accessor please get the resolved of with getHttpOperation


There are some URL can't FTP

for example "http://dl.appvv.com/f3241451da1f0ed1e83177f16c1febf3fbe7db41.ipa",i want to konw why,thx.

You should make sure app adheres to App Transport Security properly.


Use actions/cache

Hey there!
Nice example. Did you thought about using actions/cache to cache docker images that have to be downloaded every build?

Hi @FabianKoestring
I've been following discussions around using actions/cache for Docker, but right now I'm not aware of any nice, simple ways to use it. My attempts have ended up with a complicated solution that doesn't work in all cases. The ideal solution would probably be native support for Docker layer caching in GitHub Actions. I'll keep an eye out and update this template if a good solution arises.

Hi @peter-evans any updates that you think are worth mentioning here?

Hi @rickerp
I'm not aware of any native support for Docker layer caching in GitHub Actions yet. However, I did find this third-party action. I've not tested it myself, but it looks promising.
https://github.com/satackey/action-docker-layer-caching


Node version of aws-xray-sdk-node loses trace when asynchronously invoking another lambda function

Background
Consider a fairly simple application containing:

triggering lambda

lists all s3 buckets (to generate a segment)
invokes the triggered lambda

triggered lambda

lists all s3 buckets (to generate a segment)

In both lambdas, the captureAWS method from aws-xray-sdk is used as recommended by this documentation.
Observed Behavior
The triggering lambda was run from the console.
As you can see, the last segment is a 202 HTTP status code, meaning that the async invocation of the test lambda
succeeded.

However, the triggered lambda produced no traces at all:

Even though it was definitely invoked:

Expected Behavior
Because these two lambdas are triggered by the same "logical request", I expected the X-Ray tracing segment generated by the triggering lambda to be passed as metadata to the async invocation of the triggered lambda.
At the very least, even if the traces were not linked, I expected a trace to be produced by the triggered lambda.
Python Behavior
I'm pretty confident that this is an issue with the Node version of the aws-xray-sdk package because everything
works as expected when using the Python version of aws-xray-sdk.
You'll see that the X-Ray trace includes the asynchronous invocation in the same trace, which is the expected behavior for Node, as well.

Reproduction Repository
I created a sample aws-cdk repository to demonstrate this issue. Please reference the README on https://github.com/blimmer/xray-async-invocation to deploy the problematic Node lambdas.
This repo also has a branch to deploy Python versions of these lambdas (triggering.py & triggered.py) to show it working properly when using Python: https://github.com/blimmer/xray-async-invocation/tree/use-python . Follow this section of the README to deploy the Python versions of the lambdas.
Other Things I've Tried
I tried some of the various other capture methods (capturePromises & captureHTTPsGlobal(require("http"))) with the Node SDK and they didn't fix the problem.

Also if you run @blimmer's example code + console.log(Trace ID: ${process.env["_X_AMZN_TRACE_ID"]}) in both Lambda functions we can see:

First Lambda (invoked via "test" button in console) has a "Sampled=1" tracing id, e.g. Root=1-61a7045c-079046695b7fe0fb189338c4;Parent=6464c3a27a7a348e;Sampled=1
Second Lambda (invoked asynchronously by the 1st Lambda) has a "Sampled=0" tracing id, e.g.: Root=1-61a7045e-fbbd717121ef450f63b65376;Parent=762ce5a82bd1b4de;Sampled=0

The Sampled=0 trace id in the 2nd Lambda appears to be the culprit as afaiu that effectively disables x-ray tracing. Furthermore, I it seems that for a given call chain the trace id that shares up in the second Lambda (async invoke) does not share the same root segment id (Root=xxx) as the 1st Lambda.

Confirmed the root cause. If you:

Invoke a Lambda via the console that has Sampled=1 in its trace id + instrumented downstream calls with captureAWS.
Have that Lambda asynchronously invoke another Lambda

Then when the async Lambda runs it gets a trace id with Sampled=0 which disables pushing tracing data to X-Ray. Here's the output of the async Lambda's logs with AWS_XRAY_DEBUG_MODE set to true.
2021-12-01T15:24:04.855Z	undefined	DEBUG	Starting the AWS X-Ray SDK in automatic mode (default).
2021-12-01T15:24:04.856Z	undefined	DEBUG	AWS_XRAY_CONTEXT_MISSING is set. Configured context missing strategy to LOG_ERROR.
2021-12-01T15:24:04.862Z	undefined	DEBUG	Subsegment streaming threshold set to: 0
2021-12-01T15:24:04.862Z	undefined	INFO	Disabling centralized sampling in Lambda environment.
START RequestId: 50c21b8c-a136-42cb-8c7b-a7303091374d Version: $LATEST
2021-12-01T15:24:05.137Z	50c21b8c-a136-42cb-8c7b-a7303091374d	INFO	This is the triggered lambda
2021-12-01T15:24:05.148Z	50c21b8c-a136-42cb-8c7b-a7303091374d	INFO	{     "invokingFunctionRequestId": "a554f4f3-fa0e-4f97-b467-80de44fe8cb5" }
2021-12-01T15:24:05.148Z	50c21b8c-a136-42cb-8c7b-a7303091374d	INFO	Trace ID: Root=1-61a79394-d838411846ec1c5f5a43937c;Parent=27ef63f91ef7bfef;Sampled=0
2021-12-01T15:24:05.148Z	50c21b8c-a136-42cb-8c7b-a7303091374d	INFO	Listing buckets to generate a segment...
2021-12-01T15:24:05.291Z	50c21b8c-a136-42cb-8c7b-a7303091374d	DEBUG	Lambda trace data found: Root=1-61a79394-d838411846ec1c5f5a43937c;Parent=27ef63f91ef7bfef;Sampled=0
2021-12-01T15:24:05.329Z	50c21b8c-a136-42cb-8c7b-a7303091374d	DEBUG	Segment started: {     "root": "1-61a79394-d838411846ec1c5f5a43937c",     "parent": "27ef63f91ef7bfef",     "sampled": "0" }
2021-12-01T15:24:06.090Z	50c21b8c-a136-42cb-8c7b-a7303091374d	DEBUG	Ignoring flush on subsegment fa120c0150f16b3d. Associated segment is marked as not sampled.

Huh, interesting. Is the aws-xray-sdk for Node somehow setting Sampled=0? I wonder why this is different in Python. If you've got the time, you might add the AWS_XRAY_DEBUG_MODE to the use-python branch of the example repository to check it out. I'm happy to merge PRs to my sample repo to make debugging easier for others, as well @jcarver989 😄

Hi @blimmer and @jcarver989,
Thank you for this investigation, this is very strange indeed! The SDK's code for running in lambda mode doesn't ever set the SAMPLED state, so I suspect this is a result of some different behavior in the Node.js Lambda runtime (which would also explain why this isn't seen in Python). I will reach out the Lambda team and keep you posted.

Hi.
For some additional information; I am in the same place as you @blimmer, and was interested in you example. Was able to replicate your issue, and made an attempt toupgrade to aws-sdk v3.
This solved the issue, and generates the same trace as Python.
The new setups are:
import { Lambda } from "@aws-sdk/client-lambda";
import { S3 } from "@aws-sdk/client-s3";
import { captureAWSv3Client } from "aws-xray-sdk";

const lambda = new Lambda({});
const s3 = new S3({});
captureAWSv3Client(lambda);
captureAWSv3Client(s3);

const handler = async (event:any, context:any) => {
  console.info("This is the triggering lambda");
  console.info(JSON.stringify(event));

  console.info("Listing buckets to generate a segment...");
  const { Buckets } = await s3.listBuckets({});
  console.info(`Found ${Buckets?.length || 0} S3 buckets.`);

  console.info("Async invoking the lambda...");
  await lambda
    .invoke({
      FunctionName: process.env.TRIGGERED_FUNCTION_NAME!,
      Payload: Buffer.from(JSON.stringify({
        invokingFunctionRequestId: context.awsRequestId,
      })),
      InvocationType: 'Event'
    });
  console.info("Invoked lambda. Ending!");
};

export { handler };

and
import { captureAWSv3Client } from "aws-xray-sdk";
import { S3 } from "@aws-sdk/client-s3";

const s3 = new S3({});
captureAWSv3Client(s3);

const handler = async (event:any) => {
  console.info("This is the triggered lambda");
  console.info(JSON.stringify(event));

  console.info("Listing buckets to generate a segment...");
  const { Buckets } = await s3.listBuckets({});
  console.info(`Found ${Buckets?.length || 0} S3 buckets.`);
};

export { handler };

In package.json
"@aws-sdk/client-lambda": "^3.76.0",
"@aws-sdk/client-s3": "^3.76.0",

while uninstalling aws-sdk
The conversion to v3 might be a rough and out of scope, but hope this helpst with identifying the issue.

Hello,
After investigating with the Lambda team, it turns out this issue is the result of using the deprecated InvokeAsync API for invoking the Lambda function. This API is deprecated and does not guarantee the same behavior as using the recommended API, Invoke: https://docs.aws.amazon.com/lambda/latest/dg/API_InvokeAsync.html
We've confirmed this issue is fixed when using the Invoke API.


recording at the same time RGB, depth and Skeleton videos

Hello...
I need to record videos (RGB, depth and skeleton) with voice at the same time (synchronously) from 3 different Azure Kinect which are connected to one PC.
The recorded videos will be saved as separated files.
How I can do that?
which programs or software I should use?
If that is possible, what are the possible formats of the recorded videos ?
Please, I need detailed information.

Similar question in Q&A: https://docs.microsoft.com/en-us/answers/questions/634903/index.html


[Failed test] when the new value contains the original value

broccoli-asset-rewrite is configured to replace img.png with fingerprinted-img.png:
assetMap: {
  'img.png': 'fingerprinted-img.png'
}

When run against this css,
.sample-img{width:50px;height:50px;background-image:url('img.png')}

the expected output is
.sample-img{width:50px;height:50px;background-image:url('fingerprinted-img.png')}

but the actual output is
.sample-img{width:50px;height:50px;background-image:url('fingerprinted-fingerprinted-img.png')}

Test results:
  6 passing (84ms)
  1 failing

  1) broccoli-asset-rev uses the provided assetMap to replace strings:

      AssertionError: url-no-prefix.css: does not match expected output
      + expected - actual

      +.sample-img{width:50px;height:50px;background-image:url('fingerprinted-img.png')}
      -.sample-img{width:50px;height:50px;background-image:url('fingerprinted-fingerprinted-img.png')}

This happens because fingerprinted-img.png contains the original string img.png. The solution is to ensure that we don't process the same value twice, i.e. only move forward through the file

Can you please add some more clarification.

I think this is a flawed test, but I could be wrong. Please comment and I will re-open.


Name field on Contact Us Page on rescuekerala should be in malayalam and english

Subject of the issue
Most of the Name field in "Contact Us" page on keralarescue.in are in english. The ones for malappuram and thrissur have most of the names in malayalam. To make it easy, all of them should be malayalam and english.
Your environment

Python 3
Chrome v66
Llnux - Fedora

Steps to reproduce
Click on Contact Us image on main page of keralarescue.in and select any district dropdown as malappuram or thrissur
Expected behaviour
Names should be both in malayalam and english. It is an easy fix.
Actual behaviour
Tell us what happens instead or what went wrong

Can you please list the links so that someone can work on that ASAP.

https://keralarescue.in/contactus/?district=

That needs database access to edit the names.

If someone can transliterate it, then we can ask those who have database access to update it.

What's the status on this? I can pick this up , if not already picked up.

I will try to translate as much as possible, How do you want the data ?

You can use google translate plugin to translate all the text to Malayalam, Hence closing this issue


Refactor interpretation

Tried a small refactor on functions inside cards since forms were needed (and there will be more models based on models for what's following).

Should add that payload isn't interpreted correctly right now, but IDs are correctly interpolated


Snipers shouldn't move when they fire

I noticed that snipers move when they fire. Whereas they should wait, take aim and then fire.

Hi!
They stand still 95% of time, it's enough.

Well, based on experience, the percentage you said is a little too high! I think only 40% of the time they do it! Especially at close range and when they're taking fire.


Feature Request: Export to CSV Functionality

Hello,
I am currently using [Product/Software Name] for document creation and have found that a direct export to CSV functionality is missing. This feature would greatly simplify the process of generating documents, especially when dealing with large datasets that need to be analyzed or shared in a spreadsheet format.
Proposed Solution:
It would be extremely beneficial if an 'Export to CSV' option could be implemented, allowing users to directly export their data into a CSV file. This would streamline workflows and enhance productivity by reducing the steps currently needed to convert data into a usable format.
Benefits:
Efficiency: Reduces the time and effort required to convert and format data manually.
Usability: Makes the software more accessible to users who frequently work with spreadsheets.
Compatibility: Ensures that data exported from [Product/Software Name] can be easily used in other applications that support CSV formats.
Thank you for considering this enhancement. I believe it would significantly improve the user experience for many of your clients.

PR welcome


Test against go 1.16 and go 1.15

Shouldn't the Makefile be updated as well? Right now it pulls the golang:1.13 image.

Shouldn't the Makefile be updated as well? Right now it pulls the golang:1.13 image.

Thanks, didn't see this one 🙂


Error: 'undefined' is not a function for Socket._get

I'm trying to follow the README examples, but in my tests calling
var socket = goog.appengine.Socket._get(token);

causes error:
TypeError: 'undefined' is not a function (evaluating 'goog.appengine.Socket._get(token)')

I'm running my tests on Karma Jasmine with PhantomJS and I'm on a Linux machine.

Previously I installed the lib from bower.
I checked out the project and found a difference: the bower version is missing the Socket._get function definition.

I see that the dist/channel-api.js file does not have the changes from src/channel-api.js. And only the dist directory is available from the bower repo.
I think the dist directory needs to be updated to reflect the changes from src.

Thanks a lot! I must have a made a final change and forgotten to rebuild - I think that probably means you are the first person who has (tried to) use it :)

You're welcome :)
I guess I am one of the first. From what I've seen so far, it looks like not many people are using the channel api in angular. And probably not writing tests for it.


Documentation change for transformRequest

Modify README to show how you could change a header dynamically via transformRequest API

Coverage remained the same at 93.734% when pulling 3aaef4f9fb1f02efc2bab23a35909eb2c8437bb5 on kmayer:kmayer-patch-1 into 46e275c407f81c44dd9aad419b6e861d8a936580 on mzabriskie:master.

Thanks for your contribution.


Generate functions directly without Converter interface

Goverter generates an implementation for a user defined interface with conversion methods. The usability of that could be better, because now the user has to initialize the Converter struct and call methods from there. Goverter could generate functions directly. If this ticket will be included into Goverter, then the old interface approach will most likely be removed.
Current example (click me)

// goverter:converter
// goverter:extend ConvertAnimals
type Converter interface {
    Convert(source Input) Output

    // used only in extend method
    ConvertDogs([]Dog) []Animal
    ConvertCats([]Cat) []Animal
}

type Input struct {
    Animals InputAnimals
}
type InputAnimals struct {
    Cats []Cat
    Dogs []Dog
}
type Output struct {
    Animals []Animal
}

type Cat struct { Name string }
type Dog struct { Name string }

type Animal struct { Name string }

func ConvertAnimals(c Converter, input InputAnimals) []Animal {
    dogs := c.ConvertDogs(input.Dogs)
    cats := c.ConvertCats(input.Cats)
    return append(dogs, cats...)
}

Proposed approach
// goverter:func
// goverter:map Animals | CombineAnimals
var ConvertInput func (source *Input) *Output

// goverter:func
var ConvertDogs func([]Dog) []Animal

// goverter:func
var ConvertCats func([]Cat) []Animal

func CombineAnimals(input Input) []Animal {
	dogs := ConvertDogs(input.Dogs)
	cats := ConvertCats(input.Cats)
	return append(dogs, cats...)
}

type Input struct {
	Cats []Cat
	Dogs []Dog
}
type Output struct { Animals []Animal }
type Cat struct{ Name string }
type Dog struct{ Name string }
type Animal struct{ Name string }

Variables marked with goverter:func would allow all configs that can be added to the conversion methods on interfaces. Global goverter flags like goverter:extend could be configured on the package declaration.
When executing goverter on this input file, it could generate an init() method and set the generated implementation. The generated code for the example above could look like this:
Generated Code Example (click me)

func init() {
	ConvertInput = func(source *Input) *Output {
		var pStructsOutput *Output
		if source != nil {
			var structsOutput Output
			structsOutput.Animals = CombineAnimals((*source))
			pStructsOutput = &structsOutput
		}
		return pStructsOutput
	}

	ConvertCats = func(source []Cat) []Animal {
		var structsAnimalList []Animal
		if source != nil {
			structsAnimalList = make([]Animal, len(source))
			for i := 0; i < len(source); i++ {
				structsAnimalList[i] = structsCatToStructsAnimal(source[i])
			}
		}
		return structsAnimalList
	}

	ConvertDogs = func(source []Dog) []Animal {
		var structsAnimalList []Animal
		if source != nil {
			structsAnimalList = make([]Animal, len(source))
			for i := 0; i < len(source); i++ {
				structsAnimalList[i] = structsDogToStructsAnimal(source[i])
			}
		}
		return structsAnimalList
	}
}

func structsCatToStructsAnimal(source Cat) Animal {
	var structsAnimal Animal
	structsAnimal.Name = source.Name
	return structsAnimal
}
func structsDogToStructsAnimal(source Dog) Animal {
	var structsAnimal Animal
	structsAnimal.Name = source.Name
	return structsAnimal
}

Please :+1: this issue if you want this functionality. If you have a specific use-case in mind, feel free to comment it.

Hi jmattheis, thanks for your great project.
And I like your new proposed approach very much, would you like to share the progress on this feature?

Hey @zhenzou, there is no progress on this feature.

I think we can keep the original Converter interface.
We just need to change the generated code implementation from a struct to a function.
The function name can be created by combining the interface name with the method name.
The downside is that the interface won't have an implementation, which might seem a bit odd.

@KScaesar  Only doing this would prevent the feature of using generated methods in custom methods. E.g. https://goverter.jmattheis.de/#/config/extend?id=method-with-converter
// goverter:converter
// goverter:extend ConvertAnimals
type Converter interface {
    Convert(source Input) Output

    // used only in extend method
    ConvertDogs([]Dog) []Animal
    ConvertCats([]Cat) []Animal
}

func ConvertAnimals(c Converter, input InputAnimals) []Animal {
    dogs := c.ConvertDogs(input.Dogs)
    cats := c.ConvertCats(input.Cats)
    return append(dogs, cats...)
}

Both the function and interface definition should support the same featureset.

I think we can keep the original Converter interface.
`// goverter:converter
// goverter:extend ConvertAnimals
type Converter interface {
Convert(source Input) Output
// used only in extend method
ConvertDogs([]Dog) []Animal
ConvertCats([]Cat) []Animal

}
func ConvertAnimals(input InputAnimals) []Animal {
dogs := ConvertDogs(input.Dogs)
cats := ConvertCats(input.Cats)
return append(dogs, cats...)
}`

At the time of generation ConvertDogs and ConvertCats doesn't exist. So the code won't successfully compile. Goverter uses type information for generation and therefore requires that the package with the converter interface compiles.

I'm looking for testers of the new style for generation. The version should work well, but they likely will some changes before this will be released.
Install

go install github.com/jmattheis/goverter/cmd/goverter@variables-v3
or go run github.com/jmattheis/goverter/cmd/goverter@variables-v3 [pattern]
or go get github.com/jmattheis/goverter@variables-v3

Usage
When using the version above, you can declare goverter:variables on a var statement containing multiple variables of type func (Source) Target. When running goverter, it will create a new file in the same package with an func init initializing the defined variables.
You can define Converter settings directly on the outer var statement. Methods settings can be defined on the separate variables.
Here an complex example in both styles.
Interface/struct style
// goverter:converter
// goverter:extend SQLStringToPString
type Converter interface {
	ConvertHouse(source DBHouse) APIHouse
	// goverter:map Name FirstName
	// goverter:ignore Age
	ConvertPerson(source DBPerson) APIPerson
	// goverter:map Owner.Name OwnerName
	ConvertApartment(source DBApartment) APIApartment
}

Variables style
// goverter:variables
// goverter:extend SQLStringToPString
var (
	ConvertHouse func(source DBHouse) APIHouse
	// goverter:map Name FirstName
	// goverter:ignore Age
	ConvertPerson func(source DBPerson) APIPerson
	// goverter:map Owner.Name OwnerName
	ConvertApartment func(source DBApartment) APIApartment
)

If you've tried out the new style, it would be great if you could answer the following questions:

How do you like the new style?
Have you found any bugs when using the new style?
Is there a feature missing in the new style to make it usable to you?
Do you have an idea how both styles could be integrated into the documentation?

Hi, thanks for this amazing tool. I'm currently trying out the new variables approach for generating converters, and it's a significant improvement compared to the original converter.
I've been using goverter for a while now (https://github.com/jmattheis/goverter/issues/100), and the original converter was indeed very useful. However, there was a minor issue where once I deleted converter_gen.go and then ran goverter gen ..  again, it would fail. (I believe there was an issue in older versions where changing the field types would prevent regeneration without deleting converter_gen.go. Apologies for not investigating and tracking the issue further.)
To work around this, I defined the following function:
func newConverter() converter {
	return &converterImpl{}
}

Which would be generated as:
func newConverter() converter {
	return nil
}

This function helped minimize changes when deleting and regenerating.
The new variables approach completely eliminates the hassle of regenerating after deleting converter_gen.go. I hope it can be merged into the main branch soon.

Thanks for you feedback. The solution in https://github.com/jmattheis/goverter/issues/77#issuecomment-1892598584 was implemented in v1.5.0. See Guide: Input/output formats.
Furthermore, it's possible to generate functions without a struct when defining conversions via an interface as described in https://github.com/jmattheis/goverter/issues/77#issuecomment-1804546324. See Guide: Input/output formats.


Hey you forgot to put the #tag on: Here's how you would disable all buttons:  $("button")...it should be: $(#"button") thank God I was paying attention!!

Challenge Waypoint: Disable an Element Using jQuery has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:41.0) Gecko/20100101 Firefox/41.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

jQuery Playground

#left-well

        <button class="btn btn-default target" id="target1">#target1</button>
        <button class="btn btn-default target" id="target2">#target2</button>
        <button class="btn btn-default target" id="target3">#target3</button>

#right-well

        <button class="btn btn-default target" id="target4">#target4</button>
        <button class="btn btn-default target" id="target5">#target5</button>
        <button class="btn btn-default target" id="target6">#target6</button>

Native html elements don't need a # or . in the selector, this is only for classes and id's that you create.

button is an element type identifier, not an id identifier, so it does not need a # in front of it.
Thanks and happy coding!

Hey guys...thanks and hahah...sorry...you´re both right, the thing is that I didn´t pay enough attention, cos in the left on the phone screen the target buttons have the # tag...and I confused myself thinking that it need it a #, and it´s just need it because to select the target1 should have the # tag...never mind I´ve got it...lol


[python/r] Update lifecycle tags to "Maturing"

In prep for upcoming spatial-transcriptomics, which will be tagged experimental.

I noticed in the top-level per-file summary that a file apis/r/tags was added, is that accidental?

@eddelbuettel https://github.com/single-cell-data/TileDB-SOMA/pull/2807/commits/d9468b73262eba01a613675780f2459b3b82b617


switch to epoll_create1

Epoll_create was replaced with epoll_create1 in linux 2.6.27. The older
syscall isn't available on new architectures (such as arm64). Without this,
error: docker[1582]: syscall 1042 on kernel logs while docker fails to start.
CLA has been signed and code tested on linux (this code doesn't run anywhere else)

Thanks.
Go itself only requires Linux 2.6.23 or later with glib, so I should add a note to the README about 2.6.27.

What is the stats on kernel versions usage? If this will upset people, I think one can make it backward compatible with direct syscall.RawSyscall, First trying the old SYS_EPOLL_CREATE/1042 and then SYS_EPOLL_CREATE1/291?

I'm not sure what the stats are. That's a good idea to look into it. Preferably we won't need a kludge to support the older kernels, but mentioning it in the README and release notes is important.

2.6.27 was released already in 2008 -  2.6.32 is generally the last relevant kernel to support (it's the kernel RHEL6 from 2010 has).

Hi, is there something needed from my side for this patch?

No, sorry for the delay.
I'll merge some things and do a release later today.

Merged. Thanks Riku.
I'l do a new point release after looking at a few other pull requests.