eth_getTransactionByHash yields null result

Description
When I try to fetch the receipt of transaction 0x13a2fa04d8d20d6946bb2ae75df5f96137f511bacf3014cfb2aee9328e226e7f, I receive result: null.
Steps to reproduce
1) Fetch block 17165012 (proof that transaction exists)
set BASE_URL "http://localhost:7546"
set BLOCK_NUMBER 17165012
curl -X POST $BASE_URL \
                                       -H 'Content-Type: application/json' \
                                       -d "{\"id\":\"2\",\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"$BLOCK_NUMBER\",true]}" --silent
# result of curl in additional context

In the result of the curl above, we see 2 transactions, one of which is 0x13a2fa04d8d20d6946bb2ae75df5f96137f511bacf3014cfb2aee9328e226e7f
2) Fetch transaction receipt
set BASE_URL "http://localhost:7546"
set TRANSACTION_HASH 0x13a2fa04d8d20d6946bb2ae75df5f96137f511bacf3014cfb2aee9328e226e7f
curl -X POST $BASE_URL \
                                       -H 'Content-Type: application/json' \
                                       -d "{\"id\":\"2\",\"jsonrpc\":\"2.0\",\"method\":\"eth_getTransactionByHash\",\"params\":[\"$TRANSACTION_HASH\"]}" --silent
# result of curl in additional context

Empty response :(
Additional context
1) eth_getBlockByNumber json result + logs
{
  "result": {
    "timestamp": "0x61fd40c9",
    "difficulty": "0x0",
    "extraData": "0x",
    "gasLimit": "0x186a0",
    "baseFeePerGas": "0x1096d4b8800",
    "gasUsed": "0x27100",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "miner": "0x0000000000000000000000000000000000000000",
    "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "nonce": "0x0000000000000000",
    "receiptsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "size": "0x0",
    "stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "totalDifficulty": "0x0",
    "transactions": [
      {
        "blockHash": "0x4561d4cc063d559837e722dfdfef7cae62f739f55ad30a552ce5e7956c413465",
        "blockNumber": "0x105ead4",
        "chainId": null,
        "from": "0x0000000000000000000000000000000000002b55",
        "gas": "0x13880",
        "gasPrice": null,
        "hash": "0x13a2fa04d8d20d6946bb2ae75df5f96137f511bacf3014cfb2aee9328e226e7f", <---------- TX HERE
        "input": "0x2e9826020000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b48656c6c6f20616761696e000000000000000000000000000000000000000000",
        "maxPriorityFeePerGas": null,
        "maxFeePerGas": null,
        "nonce": null,
        "r": null,
        "s": null,
        "to": "0x0000000000000000000000000000000001c3ff8b",
        "transactionIndex": "0x8",
        "type": null,
        "v": null,
        "value": "0x0"
      },
      {
        "blockHash": "0x4561d4cc063d559837e722dfdfef7cae62f739f55ad30a552ce5e7956c413465",
        "blockNumber": "0x105ead4",
        "chainId": null,
        "from": "0x0000000000000000000000000000000000002b55",
        "gas": "0x13880",
        "gasPrice": null,
        "hash": "0x8b65603de413dfd6c5b25af5104bd7046c6d407f33dd8115e437ab31495b249d",
        "input": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c48656c6c6f204865646572610000000000000000000000000000000000000000",
        "maxPriorityFeePerGas": null,
        "maxFeePerGas": null,
        "nonce": null,
        "r": null,
        "s": null,
        "to": "0x0000000000000000000000000000000001c3ff8b",
        "transactionIndex": "0x0",
        "type": null,
        "v": null,
        "value": "0x0"
      }
    ],
    "transactionsRoot": "0x4561d4cc063d559837e722dfdfef7cae62f739f55ad30a552ce5e7956c413465",
    "uncles": [],
    "number": "0x105ead4",
    "hash": "0x4561d4cc063d559837e722dfdfef7cae62f739f55ad30a552ce5e7956c413465",
    "parentHash": "0xe4388c190117678b4b0f54fcc329d6559ecdd3d191f49f8aadae05f7cfd97115"
  },
  "jsonrpc": "2.0",
  "id": "2"
}

[2022-07-22 13:31:53.088 +0000] DEBUG (rpc-server/50 on f128ee9cc506): eth_getBlockByNumber
[2022-07-22 13:31:53.088 +0000] TRACE (relay-eth/50 on f128ee9cc506): getBlockByNumber(blockNum=17165012, showDetails=%o)
[2022-07-22 13:31:53.621 +0000] DEBUG (mirror-node/50 on f128ee9cc506): [GET] blocks/17165012 200 533 ms
[2022-07-22 13:31:54.130 +0000] DEBUG (mirror-node/50 on f128ee9cc506): [GET] contracts/results?timestamp=gte:1643987144.280081397&timestamp=lte:1643987145.735881000 200 508 ms
[2022-07-22 13:31:54.637 +0000] DEBUG (mirror-node/50 on f128ee9cc506): [GET] contracts/0x0000000000000000000000000000000001c3ff8b/results/1643987145.735881000 200 507 ms
[2022-07-22 13:31:55.147 +0000] DEBUG (mirror-node/50 on f128ee9cc506): [GET] contracts/0x0000000000000000000000000000000001c3ff8b/results/1643987144.280081397 200 510 ms
[2022-07-22 13:31:55.147 +0000] TRACE (relay-eth/50 on f128ee9cc506): gasPrice()
[2022-07-22 13:31:55.147 +0000] INFO (rpc-server/50 on f128ee9cc506): [POST] eth_getBlockByNumber: 200 2059 ms

2) eth_getTransactionByHash json result + logs
{
  "result": null,
  "jsonrpc": "2.0",
  "id": "2"
}

[2022-07-22 13:32:39.826 +0000] DEBUG (rpc-server/50 on f128ee9cc506): eth_getTransactionByHash
[2022-07-22 13:32:39.826 +0000] TRACE (relay-eth/50 on f128ee9cc506): getTransactionByHash(hash=0x13a2fa04d8d20d6946bb2ae75df5f96137f511bacf3014cfb2aee9328e226e7f)
[2022-07-22 13:32:40.333 +0000] DEBUG (mirror-node/50 on f128ee9cc506): [GET] contracts/results/0x13a2fa04d8d20d6946bb2ae75df5f96137f511bacf3014cfb2aee9328e226e7f 404 status
[2022-07-22 13:32:40.333 +0000] INFO (rpc-server/50 on f128ee9cc506): [POST] eth_getTransactionByHash: 200 507 ms

Hedera network
testnet
Version
main branch version
Operating system
Linux

Depends on: https://github.com/hashgraph/hedera-mirror-node/issues/4175

For added context.
The issue here is that for CONTRACTCREATE and CONTRACTCALL transactions submitted via HAPI using the SDK the only available hash response is the 48 byte based on the HAPI transaction.
This is different than the 32 byte hash based on an RLP encoded ethereum transaction.
Due to schema conformance we have to truncate the 48 byte hedera hash to be a 32 byte on response.
Later when querying via this truncated hash the mirror node is not able to find a match due to the truncation.
The transactions noted in this ticket are likely those noted above.

Issue was resolved in mirror node 0.65.0.

@rafaelkallis I'm closing this as it should be fixed and available in testnet now.
e.g.
transaction - https://hashscan.io/#/testnet/transaction/0.0.34291612-1665167641-385940801?t=1665167655.655554231
Taking first 32 bytes of the transaction hash i'm able to get the contract results - https://testnet.mirrornode.hedera.com/api/v1/contracts/results/0xfad42d7b8b83d6cd3fdac7ec7691779f72a97688d50ff6a1529d865392767b63
Let me know if you see otherwise

Resolved by https://github.com/hashgraph/hedera-mirror-node/pull/4381


Issue #758: let only "small" Integers be equal to Floats.

As discussed in #758, now Integers with magnitude 2^53 or larger will not be considered equal to their float counterparts anymore on the JVM. (These are the same numbers for which Integer.float throws an OverflowException.)
An explanation would be that each floating point number corresponds to an interval, and for those big numbers the intervals contain multiple integers.
I also updated the documentation ... I'm not sure if the JavaScript implementation needs to be adapted too?

I guess there should be some tests for this functionality, too.

I added some tests (and made this actually work in the JVM).
It still doesn't work for JavaScript (those assertions fail now), I might have a look for that the next days, but if someone else want to be faster than me, be my guest ;-)

Hmm, it looks like the corresponding JS code are these lines in numbers.js:
JSNum$proto.equals = function(other) { return (typeof(other)==='number' || other.constructor===Number) && other==this.valueOf(); }
$addnm$('equals',$_Object.$$.prototype.equals);

If I understand it right, this adds the equals method on the JavaScript's Number type, which is used to represent both Ceylon Integers and Floats. And it declares that equals method to implement/override the one from Object.
The implementation accepts both Number objects and the primitive numbers, and then simply uses the native JavaScript value comparison. (I guess the Ceylon compiler makes sure that we never try to invoke .equals with a primitive number on the left side.)
So we can here put additional conditions, like checking if both have the same type, and only otherwise compare the size to 2^53.
I think the following could do it:
$TWO$FIFTY$THREE = 0x20000000000000;
JSNum$proto.equals = function(other) {
	return (typeof(other)==='number' || other.constructor===Number) &&
	other==this.valueOf() &&
	((nflt$(this) == nflt$(other)) // both are floats or both are integers
			 || (-$TWO$FIFTY$THREE < this.valueOf() &&
					 this.valueOf() < $TWO$FIFTY$THREE)); // small floats and small integers are also allowed to be same
}
$addnm$('equals',$_Object.$$.prototype.equals);

This seems to work with the tests I added before ... though I'm not sure it really does the right thing when primitives are used (those can't really distinguish between Float and Integer).
(I'm committing this, and pushing together with a rebase to include current master.)

What precisely is the status of this issue? @ePaul?
@chochos can you consider whether this is correct for JavaScript?

@gavinking From my side I would say it is finished. As I don't know much Javascript (I came here to learn/use Ceylon, not to learn Javascript), I can't really tell if it works as it should (or if it is written like it should).
Running ant test breaks in the step compile.tests.js.quick, but I have no idea if my change is related to this – it says "cannot find module artifact ceylon.language-1.1.1.js", although the output seems to show that it was built just before.
Current master fails here already at an earlier step of the build, so I won't try to rebase this onto master to see if it is solved.

For the goal of preserving the transitive property of equality, is the range check necessary on JS? Given the inherent differences between JVM and JS Integers, I don't see the value in having this for consistency alone.

@jvasileff yeah, I think I agree. There's no need to do anything special for JS, is there?

i.e. the problem on the JVM arises from the fact that runtime.maxIntegerValue!=runtime.maxIntegralFloat. But that's not the case in JS, where both are 2^53-1.

@ePaul I've merged this work. Thanks!

While runtime.maxIntegerValue might be 2^53 - 1, actually you can construct Integer values which are higher than that (like those used in my tests). These behave strangely (i.e. adding 1 might not change anything), but they still are instances of Integer (they print without a decimal point, and is Integer x returns true).
Also @gavinking, you did merge my implementation for JavaScript and the tests – if the "do anything special for JS" is not wanted, you might want to revert c0b5e5134 and change the tests added in 7e70041f so they only apply for the Java version.

@ePaul interesting.
@chochos @jvasileff WDYT? It's true that I can write:
runtime.maxIntegerValue+10

In Ceylon, and get an imprecise Integer. Is this something we should worry about or is it just a matter of "there be dragons".
I'm almost inclined to give such integers a string like "Overflow", to prevent you from trying to use them for anything...

Well, on a moment's reflection, I still think we should do nothing in JS. The critical realization is that in JS, Floats and Integers lose precision in exactly the same way. If we (incorrectly) judge a Float to be equal to an Integer, we would make the same error in comparing two Integers of the same magnitude.
What was pathological about the previous behavior on the JVM was that we were making incorrect judgements for Integers which had not yet lost precision.

I still think we should do nothing in JS

I agree. Although at one point I think I did suggest changes to Ordinal and Enumerable so that programs like this would finish:
shared void run() {
    for (i in<PHONE_NUMBER>85477600:10) {
        print(i);
    }
}

Agree that we should do nothing special in JS.


Nintendo Switch ABXY are inverted ingame

A = B | B = A | X = Y | Y = X

Enable Invert Buttons Layout, and this isn't an issue, this is expected

Enable Invert Buttons Layout, and this isn't an issue, this is expected

Doesn't fix it. The button layout shown ingame will still be wrong compared to the button on the controller.

Try to change your Controller Handler


User can login the web application by entering their email adresses/usernames and passwords. Furthermore, user will receive verfication email including a 5 digit verificaion code

Estimation of effort
2 days

bak bana atmış bi de issueyu…
On Mon, 31 Oct 2022 at 23:20, bilgehancoskun @.***>
wrote:

Assigned #1 https://github.com/SU-CS308-22FA/Team-35-SCOFOOT/issues/1
to @meliskudat https://github.com/meliskudat.
—
Reply to this email directly, view it on GitHub
https://github.com/SU-CS308-22FA/Team-35-SCOFOOT/issues/1#event-7707793517,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQUIZPZ2HN2OJ53ADSSGG7TWGASX5ANCNFSM6AAAAAARTNJC3Y
.
You are receiving this because you were assigned.Message ID:
@.***>


Warband Bank's Deposit Keep Amount is in Copper

Noticed today (when converting a char from Remix to Retail) that the Deposit Keep Amount (which slider goes from 0 to 1000) seems to be in copper - when I had it set to 100 it kept 1 silver, and maxing it out at 1000 means it kept 10 silver. I also noticed that the value before I touched the slider had several more zeroes, so that was probably my previous 100 gold limit being shown as 1000000.
Addon Version: 3.0.4H4

Please let me know if this is still an issue in 3.1.0.
Thank you!
@Amethice

Looking all good now. Consider the fix confirmed on my end.


Deprecate the XML template

Why
As we move towards Jetpack Compose and away from XML when creating new projects, we should deprecate the XML template and provide only limited support, such as dependency upgrades or critical bug fixes
Who Benefits?
Developers
Acceptance Criteria

Add [DEPRECATED] prefix to the template-xml and sample-xml folders

@ryan-conway Moving all deprecated templates into a new folder, such as deprecated/.deprecated, could be better to focus on the existing template IMO 🤔 cc @nimblehq/chapter-android


Stumbling blocks using this tutorial

I had a hard-time getting the API JSON file. Port 80 didn’t work. Port 8080 didn’t work. Then I remember someone telling me to use port 943 in the Try Me section of the Cloud UI so I tried port 943. That worked. The tutorial documentation says to use port 8080. The tutorial also points the user at the maven-plugin version of swagger-codegen instead of the cli version. The link for swagger-codegen-cli-2.2.2jar points at https://mvnrepository.com/artifact/io.swagger/swagger-codegen-maven-plugin.  And it is not obvious where to find the codegen_config_java.json file so the tutorial ends up becoming difficult instead of easy.

Hi @DDSolace .  I'm assuming this is one of the SEMP tutorials?  https://tutorials.solace.dev/semp
Which one..?

Hey Aaron:
This one: https://tutorials.solace.dev/semp/generate-semp-client-lib/
[https://solace-dev-tutorials.netlify.app/solace-dev-meta-og-image.png]https://tutorials.solace.dev/semp/generate-semp-client-lib/
Generating the SEMP Client Library | Solace API Tutorialshttps://tutorials.solace.dev/semp/generate-semp-client-lib/
Programmatic management of the Solace Messaging through the SEMP API can be done directly through accessing the system's HTTP REST protocol API (see the related Basic Operations - curl tutorial) or more conveniently, using a local SEMP client library which is:. In a programming language that is native to your management code
tutorials.solace.dev

From: Aaron Lee @.>
Sent: April 18, 2022 10:54 PM
To: SolaceDev/solace-dev-tutorials @.>
Cc: David DeBruin @.>; Mention @.>
Subject: Re: [SolaceDev/solace-dev-tutorials] Stumbling blocks using this tutorial (Issue #129)
Warning – this email originated outside of Solace. Please think before you click or open any links or attachments. If this email is suspicious, report it to @.***

Hi @DDSolacehttps://github.com/DDSolace . I'm assuming this is one of the SEMP tutorials? https://tutorials.solace.dev/semp
Which one..?
—
Reply to this email directly, view it on GitHubhttps://github.com/SolaceDev/solace-dev-tutorials/issues/129#issuecomment-1101941487, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXFRPOWOE3T77QF6XFJ5TU3VFYN4XANCNFSM5S5LWATA.
You are receiving this because you were mentioned.Message ID: @.***>

Confidentiality notice
This e-mail message and any attachment hereto contain confidential information which may be privileged and which is intended for the exclusive use of its addressee(s). If you receive this message in error, please inform sender immediately and destroy any copy thereof. Furthermore, any disclosure, distribution or copying of this message and/or any attachment hereto without the consent of the sender is strictly prohibited. Thank you.

Nothing has happened with this issue. Is someone going to address it?


displays strange ansi codes

When error checking in ninja it display ansi escape sequences instead of using them, here i insert a an image https://imgur.com/a/FcH56Zi
this behaviour i think comes from using g++ with its fancy error checking but ninja fails to use them? I am using windows 10 and ninja version 1.8.2 coming from meson

Fixed in 1.9.0.


chore: fix typo in questionnaire response usecase

Review Checklist

Summary*

[ ] fix: Bug fix for Add the items tackled here as checklists
[x] feat: Completed task
[ ] chore: Incomplete task

[ ] test: Sub-task 1

Structure*

[ ] The Pull Request has a proper title that conforms to our MR title standards
[ ] The Pull Request has one commit, and if there are more than one, they should be squashed
[ ] The commit should have a proper title and a short description
[ ] The commit must be signed off
[ ] Unused imports are not present
[ ] Dead code is not present
[ ] Ensure dry running library to confirm changes

Tests

[ ] Proper and high quality unit, integration and acceptance(if applicable) tests have been written
[ ] The coverage threshold should not be lowered

Sign off*

[ ] All comments have been resolved by the reviewers
[ ] Approved by Czar {replace_with_czar_name}
[ ] Signed off by second reviewer {replace_with_name}
[ ] Ensure all checks are done before merging :warning:
[ ] All PRs needs to be signed before merging :warning:

N/B:

Add a checklist if more than one item is done.
Add screenshots and/or images where necessary
Indicate any breakages caused in the UI :exclamation:
Where necessary, indicate which issue the Pull Request solves (Closes #)
Any new files are updated in the folder structure in the README

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-2 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 82.702%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/clinical/usecases/clinical/questionnaire_response.go
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6220

Relevant Lines:
7521

💛  - Coveralls


isEqualTo is a Operator but dont have a Color Coding

isEqualTo dont have a Color Coding but other isEqualX

Tagging #31
I am not sure, isEqualTo directly compares just like == (but with obvious other differences), white other isEqualTypeX compare to a type or types, and is therefore a command.
I'd say leave as is.

No input for over a month, closing as by design.


Allow setting assembly version build number

Currently the assemblyVersion property only allows x.y format. It should be expanded to allow x.y.z format.

It also supports receiving a JSON object that allows setting it to match the build number that comes from the version property. Is that useful to you?
https://github.com/AArnott/Nerdbank.GitVersioning/blob/01ebb81f18af1ce64659ad06267d86be96d1f8ad/src/NerdBank.GitVersioning/version.schema.json#L45-L54


Startdate

The EU4 savegame always has the day the game has been ended. This could be used to determine when to make the "EU4 end game" bookmark start.
Files to edit are defines.lua (line 3) and common/bookmarks.txt (line 5)

My regular game has this inside the file:
start_date=1444.11.11
A 1356 mod started at 1420 bookmark has this:
start_date=1420.5.21
and finally, we're already grabbing save date from the savegame:
date=1421.1.18
In essence, while moving the eu4-end-date/v2-start-date is nice, moving eu4-start-date is more important since negatives affect cultural conversions. I'll see if I can address both.


ENH: implement right multiplication of linear operators by arrays

Reference issue
N/A
What does this implement/fix?
Allows to multiply a linear operator by a numpy array from the left if the linear operator supports this.

@jakevdp I think this is your area of expertise, if you have some time.

FYI @akhmerov, usually we prefer not to force push until the end of the review as it tends to break links in GitHub (clicking View changes does not work then). Before merging we always make sure the history is not too cloudy and in worst case we squash merge the commits. No worries though here it's fine 😉

FYI @akhmerov, usually we prefer not to force push until the end of the review as it tends to break links in GitHub (clicking View changes does not work then). Before merging we always make sure the history is not too cloudy and in worst case we squash merge the commits. No worries though here it's fine 😉

usually we prefer not to force push until the end of the review as it tends to break links in GitHub

Thanks for the heads up, I'll take this into account next time.

Should be good to go, pardon for the noise with the bug/typo fixes.

This is superseded by #18061 and obsolete. Closing.


Segmentation fault (core dumped) causing app crash on .query and .querySync

Hi,
I am getting a Segmentation fault (core dumped) after this odbc library executes a heavy (potentially bad performing query) sql string on self.conn.query(sql, cbQuery); command (eg. line 260 of ./lib/odbc.js and line 336 to name a couple). The fault occurs within milliseconds.
Immediate question: How do you recommend I obtain error logs from the cpp binding so that I can provide more information?
Further information:
From what I have experienced so far, this only occurs on particular SQL query strings that are passed into self.conn.query(sql,cbQuery).
Very simple queries - whether they are syntactically incorrect or perfect, have no problem executing towards the target Postgres DB. (Eg. if wrong syntax is passed through the binding, the DB correctly responds back with error messages).
However, a larger query like the one shown below causes a segmentation fault (without the ability for my app to gracefully catch an exception from the cpp binding, inform the user that an error has occured or otherwise fail nicely prior to fault) - it just tears down the entire process within milliseconds.
SQL Query example showing what leads to an seg fault. Hopefully this can help you and I understand what resides within the below string that could cause a segmentation fault in the underlying odbc_binding cpp code
WITH sample_set AS (
  SELECT
    sample.SERVICE_ID
    , sample.SERVICE_NAME
    , sample.SERVICE_PRICE
    , sample.SERVICE_ORDERED_DATE_TS
    FROM EXAMPLE_SCHEMA_NAME.SERVICE_TABLE sample
    JOIN (
      SELECT ID
      , COUNT(*) count
      FROM EXAMPLE_SCHEMA_NAME.SERVICE_TABLE
      WHERE SERVICE_NAME in (
        SELECT ORDER_SERVICE_NAME
        FROM EXAMPLE_SCHEMA_NAME.SERVICE_ORDER_HISTORY_TIMELINE
        WHERE ORDER_TYPE='Upgrade'
        AND ORDERED_DATE > now() - interval '1 day'
        ORDER BY ORDERED_DATE DESC LIMIT 1
      )
      GROUP BY SERVICE_NAME HAVING COUNT(*) > 2
    ) sample on sample.SERVICE_NAME = multiple_service_upgrade_history.SERVICE_NAME
),
numbered_results AS
( SELECT *
  ROW_NUMBER() OVER (PARTITION BY sample_set.SERVICE_NAME ORDER BY sample_set.SERVICE_ORDERED_DATE_TS DESC) AS rownum
  FROM sample_set
)
SELECT numbered_results.*
FROM numbered_results
WHERE numbered_results.rownum < 3

I won't explain the context of the above query - I have simply presented the precise query structure that causes an Segmentation fault.
I am hoping this issue will help find a new exception to raise within the library such that an error message can be returned to the JS lib

In the interim, I am attempting to take steps forward to understand what is happening.
I am setting up a gdb debugger to listen on the odbc_bindings.node file that resides within the Release/build directory.
eg.
$ gdbserver localhost:4444 ./node_modules/odbc/Release/build/odbc_bindings.node
Process ./odbc_bindings.node created; pid = 22016
Listening on port 4444

With .vscode launch.json settings:
 {
            "name": "C++ Remote Debug",
            "type": "cppdbg",
            "request": "launch",
            "miDebuggerServerAddress": "localhost:4444",
            "program": "${workspaceFolder}/node_modules/odbc/build/Release/odbc_bindings.node",
            "cwd": ".",
            "linux": {
                "MIMode": "gdb"
            },
            "osx": {
                "MIMode": "lldb"
            },
            "windows": {
                "MIMode": "gdb"
            }
        }

No luck thus far getting any insight
If anyone can provide other debug recommendations, would appreciate your comments.
Happy to follow up this issue with slight direction on environment setup

Seg fault appears to be the result of a missing , within the second AS clause
( SELECT *
  ROW_NUMBER()

should be
( SELECT *
  , ROW_NUMBER()

Did further testing - Segmentation fault also occurs if a missing , exists between both AS statements.
Other information - also occurs if I run the library and code within another environment such as a docker container with os:
# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

FYI  node-odbc version is 1.4.5
Have rebuilt manually within node_modules aswell using make all to ensure everything is all good. Still occuring.
Hope the above information can assist in identifying why there may be a seg fault. Memory issue on SQL validation?

Have you considered that it might be crashing in the psqlodbc driver itself?
If you enable core dumps you might be able to use gdb to get a stack trace from the core dump, which may at least tell you what the segfaulting module is.


OmniSR variable passing bug.

I was training a 2x OmniSR model, and encountered the following error:
Traceback (most recent call last):
  File "D:\Users\Sirosky\Jottacloud\Media\Upscaling\Trainers\neosr\train.py", line 238, in <module>
    train_pipeline(root_path)
  File "D:\Users\Sirosky\Jottacloud\Media\Upscaling\Trainers\neosr\train.py", line 139, in train_pipeline
    model = build_model(opt)
  File "D:\Users\Sirosky\Jottacloud\Media\Upscaling\Trainers\neosr\neosr\models\__init__.py", line 28, in build_model
    model = MODEL_REGISTRY.get(opt['model_type'])(opt)
  File "D:\Users\Sirosky\Jottacloud\Media\Upscaling\Trainers\neosr\neosr\models\default.py", line 35, in __init__
    self.net_g = build_network(opt['network_g'])
  File "D:\Users\Sirosky\Jottacloud\Media\Upscaling\Trainers\neosr\neosr\archs\__init__.py", line 21, in build_network
    net = ARCH_REGISTRY.get(network_type)(**opt)
  File "D:\Users\Sirosky\Jottacloud\Media\Upscaling\Trainers\neosr\neosr\archs\omnisr_arch.py", line 883, in omnisr
    return omnisr_net(
  File "D:\Users\Sirosky\Jottacloud\Media\Upscaling\Trainers\neosr\neosr\archs\omnisr_arch.py", line 834, in __init__
    up_scale    = kwargs["upsampling"]
KeyError: 'upsampling'

These were my network_g settings:
network_g:   type: omnisr    upsampling: 2   window_size: 16

It seems like the solution to fixing this is to revise like 830 of omnisr_arch.py from:
def __init__(self,num_in_ch=3,num_out_ch=3,num_feat=64, window_size=8, upsampling=4, **kwargs):
to
def __init__(self,num_in_ch=3,num_out_ch=3,num_feat=64, **kwargs):
Might be easiest to require window_size and upsampling to be specified in the config.

Thanks for reporting. I commited a temporary fix for now, but I'll take a look to make the param parsing better.


Move other/musl-gcc and other/musl-g++ to scripts/templates

The other/musl-gcc and other/musl-g++ template scripts are currently in the wrong place. The fix requires simply moving those two files to scripts/templates and replacing their paths in the other/cmake/gen_config_pre.cmake file:
Code snippet:
smart_config_file(
   ${CMAKE_SOURCE_DIR}/other/musl-gcc
   ${MUSL_GCC}
)

smart_config_file(
   ${CMAKE_SOURCE_DIR}/other/musl-g++
   ${MUSL_GXX}
)

Hello, may I take this issue?

Hello @francescoparra. Sure, absolutely :-)

Closing this issue, as it has been fixed by commit https://github.com/vvaltchev/tilck/commit/32b571d5625c04eefb9bf7a3ba732dc6c1e2cf53


Publish releases

Release binaries are currently published to https://www.cyfs.com/download. I cannot confidently find where those binaries came from, what is the source code.
This issue proposes some improvements to the release process.
Why?
Build system integrity is an important part of building software. And it is super important if that software is backing up your sensitive files (which is a current or future use case of this software.)
Work plan

[ ] [Create a file](https://github.com/buckyos/CYFS/new/main) called RELEASE.md that explains the release process, include:

[ ] Create a tag and release notes in GitHub
[ ] Build/sign binaries and attach to this release
[ ] Upload the binaries to CYFS (which requires project maintainers to sign it)
[ ] Link to the CYFS binaries from the GitHub release (this confirm authenticity from the project maintainers)
[ ] Release to app stores using the same signed binaries as in the release

[ ] Perform a release with this new process
[ ] Link from the https://www.cyfs.com/download web page to these releases.

Follow on work
These can be discussed later, maybe in some other issue some day.

Reproducible builds
Continuous deployment

Thanks for your suggestion~
According to our plan, cyfs.com should be officially published on cyfs://cyfs/ in the future. Using the Web3 protocol of Content Base can effectively improve the credibility of the release, and any modification can be tracked. But in practice we realized that there is a circular dependency here ~ so we are back to the main release of Web2, but believe that in the near future, we will achieve our goal.
The current development of CYFS is moving towards Beta II at a high speed, but our work on release transparency will continue to improve, and we will improve our Build System according to your suggestions.
P.S:
Currently the tag of https://github.com/buckyos/CYFS points to the version number of OOD Service~


Update about.json

testing a change to the about page in about.json.

👷 Deploy Preview for astonishing-pavlova-325b67 processing.

Name
Link

🔨 Latest commit
bb35d5cd28e2afb9d0f2c592b33e45605b26c174

🔍 Latest deploy log
https://app.netlify.com/sites/astonishing-pavlova-325b67/deploys/629e333ae2d4060008b2693f


Add offset and vartype properties to cybqm

Construction now looks like
bqm = BQM(dimod.BINARY)  # empty
bqm = BQM(np.ones((5, 5)), dimod.BINARY)
bqm = BQM((h, J), dimod.SPIN)
bqm = BQM((h, J, offset), dimod.SPIN)
bqm = BQM(5, dimod.BINARY)  # 5 variables, 0 interactions

In the future we will also support
bqm = BQM(another_bqm)


Ecboo

Hello !
I just updated Hass to version 0.66 this morning and I got an visual error in my ecobee component:

It seems the min/max temperatures are not really well supported by the ecobee component.
I'm not sure if it's component related or UI related ...
Thanks for you help !

Wondering if it is related to https://github.com/home-assistant/home-assistant/issues/13565
BTW, Ecobee is working fine here for me.

@arsaboo I confirm the ecobee is working fine

@arsaboo I'm pretty sure this is the same bug as https://github.com/home-assistant/home-assistant-polymer/issues/1051.
I'm closing it


[Question] yfinance decrypt Issue Parity with Python Equivalent

Greetings everyone,
At the outset I would like to thank eohne for bringing this functionality to Julia!
I noticed that this repo has been created quite recently, and therefore probably not enough time has passed for this to be an issue yet: periodically, Python's yfinance equivalent seems to face problems with response decryption. Most recently in the pinned issue, yahooquery seems to have been recommended as an alternative since it uses unofficial Yahoo Finance API frontends to retrieve its data.
After glancing over the source code for YFinance.jl, it appears to me that here we are authenticating the connection before pulling data. My question thus is: how does YFinance.jl fare in this regard? Is it more aligned with Python's yfinance in terms of web scraping, or with yahooquery owing to its proxy/authentication facilities?
My apologies for not understanding this completely and for what might seem an uninformed question, but any input is appreciated. Thanks once again for this Julia package, and for your time.
EDIT: clarified question a little more.

Hi @RaSi96
Thanks a lot for your question.
The way that data is pulled is really based on yahooquery rather than the python yfinance package.
The yahooquery way sends a request directly to the "unofficial" yahoo api that is called by the yahoo finance website and returns a JSON object , while the python yfinance way returns a html page that contains the information pulled from the "unofficial" yahoo finance api where information has to be cut out - much less efficient (at least for fundamental data etc.).
While yahooquery offers a way for premium users to sign in and access premium features/data this package does not currently offer this functionality. Although I think that would be a logical extension for future updates.
Not entirely sure if this answered your question but I hope it did.

Thanks for responding @eohne! After getting a few more hours of use in with your package, I concur that YFinance.jl does indeed function very similarly to yahooquery. Appreciate your time, I'll be closing this issue.


[Feature Request] More APIs for Environment Parameters Updating

Motivation
Seems that this project can contribute to a wide range of robotic learning research directions :+1:
However, there is a core limitation of current version that there is no API for curriculum learning, domain randomization, or other environment-updating functions.
These APIs are very common in recent works on RL for legged robots, quadrotors, dexterous hands, etc.
For example, we might want the training environment starting from a easy stage, and then harder and harder.
Normally, we can parameterize the env with some modifiable parameters. Updating parameters can automatically contribute to make the env change.
Solution
A simple solution is to add some API to the main env classes, like update_parameters, init_parameters, compatible to C++ functions. A good reference can be this module, which always updates the env parameters and do randomization for robot learning.
Alternative Solution
Add child classes of Env  (like "ParameterizedEnv"), including the needed APIs.
Checklist

[Done] I have checked that there is no similar issue in the repo (required)

If I understand correctly, does this mean that the "parameters" can be updated dynamically after the envs are initialized? Is it required to vary or randomize the "parameters" for the different envs in the pool?
One mechanism we have used internally at Sea AI lab is to pass a python function to the config, so that each time the envs reset, they dynamically generates a new config value as per specified in the python function. Would this mechanism suffice the use case here?

Thanks for the reply! Yes, we should not only be able to update the parameters for each episode, but even in each env step! Basically, I believe the mechanism you mention can handle this case (if it is efficient enough). But in terms of system design, I guess we can refer to the dm_control base env class.
You can see the functions like before_step and after_step, which will handle some parameter updating in a more pretty way. Besides, if we consider using a memory pool as the observation and action buffer, or define some complex reward computations, they should be updated in after_step. Robotics guys split the step only because there might be so many logic modules in each step. And these kinds of hooks are used in other popular robotics simulators like Raisim and IsaacGym. So together with #59, we may consider adding some new general modules for RL+Robotics usage.

Thanks for clarifying. It seems more profound that I initially thought. From your description, there're some complications mainly due to performance.
Passing a custom python function down to c++ is okay if we're doing it once in a while, e.g. using it to config an episode. But not ok for performance reason if it is done every step. C++ calling python is expensive and not parallelizable due to GIL. This will diminish the acceleration brought by envpool, and make it no faster than the other python based envs.
There're some work-arounds in my mind,

Instead of letting the user fully customize it, we may implement a few c++ primitives. The user can pass parameters to select which primitive is called.
Think out loud, we may limit the primitives to be implemented in numba, and called the jitted code from the c++ threads. (feasibility & efficiency unknown).


Volume Mount not working

docker run -d --name selenoid -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /dev/shm:/dev/shm -v /opt/docker/fileDownloadLocation:/home/selenium/Downloads -v /opt/docker/selenoid/config/:/etc/selenoid/:ro aerokube/selenoid:latest-release -limit 8 -timeout 10m0s
Above is the code i've tried to mount /home/selenium/Downloads to host. I've have also tried editing browser.json by adding "volumes": ["/home/selenium/Downloads:/opt/docker/fileDownloadLocation"] with no success.

@success-stha /home/selenium/Downloads directory is inside browser container, not selenoid container.

@success-stha /home/selenium/Downloads directory is inside browser container, not selenoid container.
Thank you for your reply. Is there anyway I can access the file from browser container directly to my host machine(where docker is installed). Also, I would prefer to do so without using selenoid's download API.

@success-stha Adding "volumes": ["/home/selenium/Downloads:/opt/docker/fileDownloadLocation"] to browsers.json and restarting Selenoid should work.

It didn't work. My browser.json looks like this.
{
    "chrome": {
        "default": "78.0",
        "versions": {
            "78.0": {
                "image": "selenoid/vnc:chrome_78.0",
                "port": "4444",
                "volumes": ["/home/selenium/Downloads:/opt/docker/fileDownloadLocation"]
            }
        }
    }
}

@success-stha any error messages?

No, i tried viewing the log but it's not generated. I used this command.
docker run -d --name selenoid -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /dev/shm:/dev/shm -v /opt/docker/selenoid/config/:/etc/selenoid/:ro -v /opt/docker/selenoid/:/opt/selenoid/logs/  aerokube/selenoid:latest-release -limit 8 -timeout 10m0s -log-output-dir /opt/docker/selenoid/logs

@success-stha Selenoid logs are being written to stdout, i.e. you view then with:
$ docker logs selenoid

"volumes": ["/opt/docker/fileDownloadLocation:/home/selenium/Downloads"]
This solved my problem.

@success-stha great!

@vania-pooh I am having an issue on Windows regarding the same problem. I just want to mount the volume from the host machine to selenoid docker container. Whenever I run the command :
docker run -d --name selenoid -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /dev/shm:/dev/shm -v /opt/docker/fileDownloadLocation:/home/selenium/Downloads -v /opt/docker/selenoid/config/:/etc/selenoid/:ro aerokube/selenoid:latest-release -limit 8 -timeout 10m0s
on cmd then it returns me some error. Please note that I am very new to docker container. Any help will be much appreciated.

@vania-pooh I am having an issue on Windows regarding the same problem. I just want to mount the volume from the host machine to selenoid docker container. Whenever I run the command :
docker run -d --name selenoid -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /dev/shm:/dev/shm -v /opt/docker/fileDownloadLocation:/home/selenium/Downloads -v /opt/docker/selenoid/config/:/etc/selenoid/:ro aerokube/selenoid:latest-release -limit 8 -timeout 10m0s
on cmd then it returns me some error. Please note that I am very new to docker container. Any help will be much appreciated.

@success-stha Can you please help me here too.

@success-stha Can you please help me here too.

@Lucifar2 so far as I know on Windows by default you can mount only from c:\Users\user directory.

@Lucifar2 so far as I know on Windows by default you can mount only from c:\Users\user directory.

@vania-pooh Thanks for the reply. So I have a .y4m file in my c:\Users\ directory on windows. I want to expose this file to the container. For this purpose, can I just edit my browser.json file? If yes, then what should be the path to the container directory ? I am really confused about this

@vania-pooh Thanks for the reply. So I have a .y4m file in my c:\Users\ directory on windows. I want to expose this file to the container. For this purpose, can I just edit my browser.json file? If yes, then what should be the path to the container directory ? I am really confused about this

@vania-pooh Can you tell me some steps that I can follow to make it easier for me to mount the host to the selenoid docker container. I shall be really grateful to you :)

@vania-pooh Can you tell me some steps that I can follow to make it easier for me to mount the host to the selenoid docker container. I shall be really grateful to you :)

@vania-pooh my video file is in the location C:\Users\username\Downloads\abc.y4m. And I want to mount this file to Selenoid docker container. What changes should I make to browser.json and also what should be the format. @success-stha Also if you can help here too would be great.

@vania-pooh my video file is in the location C:\Users\username\Downloads\abc.y4m. And I want to mount this file to Selenoid docker container. What changes should I make to browser.json and also what should be the format. @success-stha Also if you can help here too would be great.

@Lucifar2 yes, use volumes in browsers.json.

@Lucifar2 yes, use volumes in browsers.json.

@vania-pooh Thanks for the reply. I have read the documentation for the notation that we can use for Windows. so if my file location is in C:\Users\username\Downloads\ then I should use something like /c/Users/username/Downloads. Is this correct ? Does this notation also applies in browser.json ? Also I am confused what should be the destination path when using volumes in browsers.json.
C:\Users\username\Downloads"DestinationPath" . And how can I find the destination path ?

@vania-pooh Thanks for the reply. I have read the documentation for the notation that we can use for Windows. so if my file location is in C:\Users\username\Downloads\ then I should use something like /c/Users/username/Downloads. Is this correct ? Does this notation also applies in browser.json ? Also I am confused what should be the destination path when using volumes in browsers.json.
C:\Users\username\Downloads"DestinationPath" . And how can I find the destination path ?

@vania-pooh I am doing something like this in the browsers,json file : "volumes":["/c/Users/baig-sa:/tmp/new:rw"]
Is this correct ?

@vania-pooh I am doing something like this in the browsers,json file : "volumes":["/c/Users/baig-sa:/tmp/new:rw"]
Is this correct ?

@vania-pooh I was able to resolve the issue with volumes. Thanks :)

@vania-pooh I was able to resolve the issue with volumes. Thanks :)


Cosmetics changes to the readme.

Changes summary

Add logo in the readme header
Add a header section with badges (CI tests, coverage, license)
Refactor readme, reframe, add elements
Add benchmarks section with instructions on how to run benchmarks and find visual reports that are published by the CI
Add contributors section and use all-contributors

This change is

Merged from another branch


C#: Generate strongly-typed method to call Rpc.

    [Rpc(MultiplayerApi.RpcMode.AnyPeer)]
    public void RegisterPlayer(string newPlayerName)
    {
    }

    //Generate
    /// <inheritdoc cref="RegisterPlayer"/>
    public void RegisterPlayerRpc(string newPlayerName)
    {
        Rpc(MethodName.RegisterPlayer, newPlayerName);
    }
    /// <inheritdoc cref="RegisterPlayer"/>
    public void RegisterPlayerRpc(long peerId, string newPlayerName)
    {
        RpcId(peerId, MethodName.RegisterPlayer, newPlayerName);
    }

It's just for the sake of convenience.
Based on the information I've gathered, when Rpc is heavily utilized, some individuals tend to wrap it for easier usage.
As for why I'm submitting a PR, it's because I use it after compiling the engine myself, and I'm also submitting a PR to see if anyone else might need it.

This looks like something that could be provided as a third-party source generator. You can then publish the package to NuGet.org so other users can also use it.


platform: avoid name confliction between platform header and emscripten-libc

Signed-off-by: Shikugawa<EMAIL_ADDRESS>For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Commit Message: Name confliction will occur when we build envoy common library by emscripten because of emscripten-libc. We can avoid this problem with this patch.
Additional Description:
Risk Level: Low
Testing:
Docs Changes:
Release Notes:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]

Under what circumstance are we including envoy headers in an emscripten build?  This should never happen.  This is one of the critical features of Wasm: having a clean API/SDK which does not depend on arbitrary envoy headers.

@jplevyak WASM API/SDK has no problem. So it works fine. But we have situations that we must use envoy headers when we build istio-proxy wasm implementation. If we don't use envoy headers in this situation, we must have a lot of duplication implementation between istio-proxy and envoy. So I think that we should have an ability to accept portion of envoy headers, shouldn't we?

@Shikugawa Sounds like we need some refactoring of the envoy headers.    This is also the case for the service protobuf used for gRPC.  See https://github.com/envoyproxy/envoy-wasm/pull/538  This PR allows envoy specific code for envoy wasm plugins.  We can refactor envoy so that the bits we need are independent and then include them there.

@jplevyak I think that we still need this. It is caused by platform.h and many headers depend on this. After all, we need to use envoy header (not implementation) to implement without redundancy on istio-proxy.

@jplevyak envoy/common/platform.h is / will be included in almost every header and we should fix it if it doesn't compile in a specific environment. Let's just merge this ?

OK, let's merge this.  Do we need the code QL ?


CSS minification breaking calc()

Example:
width: calc(100% - 100)
minifies to
width: calc(100%- 100)
Version: <IP_ADDRESS>74

I was able to work around the minification bug by adding parentheses around the 100%.
Example:
width: calc((100%) - 100)


Problems cannot be deleted.

It may be a good idea to be able to delete a problem as an admin.

I believe this was a conscious decision, though I'm up for changing it if somebody ( @mcprice30
@Mac-Genius ) feels strongly.
A problem can always be deleted directly through the database. This is similar to intentionally not having an API for changing the admin status of a user.

There is no harm in creating a way to delete problems. While deleting it from the database is possible, that is an excellent way to accidentally mess up the database on a production server.


Usage with Wit.ai and Messenger

Hi, I cannot figure out how to do the connection with the wit.ai API. I know that I have to make the outgoing messages with the Facebook endpoint but I don't know how to use with the wit.ai context. Thanks!

@jaambee can you give more details how are you presently using the wit.ai context. You could actually not use it at all and just use bot-context. Some details would be helpful.

@ashubham I receive the message on an endpoint and the text is sended to Wit.ai. The response, send me a context object with all the entities detected and his metadata. With this information, I run wit.ai actions implemented on my backend and after I send the response via facebook message endpoint.


Recoveryservicesbackup t2

https://github.com/Azure/sdk-release-request/issues/1587

@allenjzhang @dw511214992 @weidongxu-microsoft @ArcturusZhang For awareness, we change the basic info in 'readme.md' required by customer to release public package.


fix 'Read More' icon not visible issue

This PR fixes #18528
root cause: the color is not defined.
fix: copied the values from vscode theme files.
before:

after:

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 48.29%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
14821

Relevant Lines:
29137

💛  - Coveralls


Add minimum_should_match clause to or/nor filters to really filter by should clause

If you use an or/nor filter it would be applied without a specific minimum_should_match value. This could lead into wrong results as it is not adding a reducing filter, just a or/nor that doesn't affect the results.
Example:
Consider the following final query:
{
  "query": {
    "bool": {
      "filter": {
        "bool": {
          "must": [
            {
              "terms": {
                "color": [ "blue" ]
              }
            }
          ],
          "should": [
            {
              "terms": {
                "size": [ 11 ]
              }
            },
            {
              "terms": {
                "is_in_sale": [ 1 ]
              }
            }
          ]
        }
      }
    }
  }
}

We wan't to load products that have the color "blue" and products that are "in sale" or have size "1"
– BUT without minimum_should_match we just ask for a definitiv color and the should filter must not be fulfilled as minimum_should_match is 0 by default.

@Fifciu @gibkigonzo I've updated to the latest master branch – are any updated/changes necessary?


[test] Make %swift and %target-swift-frontend specify a resource dir.

I added a %target-swift-frontend-plain for situations where we are actually
testing the resource-dir functionality. Additionally any code that actually
specifies the resource-dir already will override the specified value since
resource-dir I think takes on the last value passed to it.
This is needed for the stage 2 swift stdlib.

@swift-ci test

@swift-ci build toolchain

Linux Toolchain (Ubuntu 16.04)
Download Toolchain
Git Sha - caa8f1e66172e33d74838f524734182100d07a8f
Install command
tar zxf  swift-PR-39153-667-ubuntu16.04.tar.gz
More info

Build failed
Swift Test OS X Platform
Git Sha - caa8f1e66172e33d74838f524734182100d07a8f


Add minimum node engine version?

Should we add a minimum node version engine to package.json?
Some of our dependencies say they support >=0.1.0. We should still be able to use them, but we'd also be able to use some ES2015 features, as per node.green. See #53.

FWIW, this is one example of some of the ES2015 changes. In some ways, it seems like changes for the sake of changes, but if it optimises things under the hood, and uses what will become more prevalent standard syntax, then I'm for it.

Node.js Long-term Support Working Group.

Happy to go with 6.

Closed with 3e73655a254bcc6ffe91ae6997fce9113c03719f.


[Table upsert] Bump max col name length to 1024

Description
Length at 512 contributes a little to bursts of errors, see e.g. here
Name > 512 chars is likely 95% of the time caused by a bad (unparseable) csv
Moving to 1024 chars: the idea is to go from 95% to 99.9% and reduce monitor noise
Risks
na
Deploy
front

PMRR


Bump axe-core-api 4.4.1

Supercedes https://github.com/primer/view_components/pull/1246
It's been several months since we bumped this gem.
The latest axe-core-api update pulls in more recent axe-core which will ensure better coverage.
Here is the CHANGELOG.

Hi @primer/rails-reviewers. I could use your help.
When I bump this gem, the system tests all fail with:
NoMethodError: undefined method `execute_script' for #Capybara::Cuprite::Browser:0x00005577a0b77ee8

I think it relates to this change in axe-core 4.3. (I run into the same issue when I try to bump up only to 4.3).
Might you know what we can do here? I'm not familiar with this system test setup.
We're wanting to bump this gem in dotcom too as it contains several bug fixes, but I'm not sure how to fix this.

@joelhawksley as described https://github.com/primer/view_components/pull/1333#issuecomment-1224993408, the gem bump results in breaking the tests. might you be able to help me out with this?

We need to pause this work as resolving this (and the benefits of sticking with cuprite) may not be worth it. We are considering a migration to playwright. More context can be found in this issue (GitHub Staff-only).

stilll getting undefined method execute_script for #<Capybara::Poltergeist::Browser:0x4be8d40e> error with axe-core-rspec v4.0.0,  can someone help me here @khiga8 @joelhawksley


Review the interaction paradigm for Date Input

The Date Input control has two methods of entering data - the spinners in the input control and the date picker menu.
The internal value is then set until;

The clear button is pressed
A different value is selected

The spinners do not get parsed as a value until they are fully completed, and while this is desirable on initial input. this results in some quirks.
The main issue is that if you are to edit a value, we have a situation where the internal value and the value displayed in the spinners do not match. This means you can delete parts of the values in the spinners, tab out of the control and now the values are inconsistent with the value represented in the form.
I suggest there are several possible solutions to this;

When the user tabs away from the control, reset all the spinners to represent the internal value if a new valid value is not parse-able
If the user presses delete on any spinner to clear the value, clear the internal value
Prevent pressing of delete on the spinners and simply rely on the 'clear' functionality

Will consult with other stakeholders

Field currently doesn't validate on lost focus

1st preference is to parse everything on keypress - if it's not valid, make it undefined or invalid date object
Validate on blur or validate action.
Core tenet is the internal value should always represent what's on screen as much as possible.

Field currently doesn't validate on lost focus

It actually does when validation is passed in, but the basic control does not of its' own


chore(EMS-2458): No PDF - Moving single radio pages to use shared template

Introduction :pencil2:
This PR moves single radio yes/no pages to use a shared template to reduce code duplication
Resolution :heavy_check_mark:

Added single radio component
Added hint, conditional yes and conditional no html handing to shared radio component by using partials
Updated controllers to use new template
Updated unit tests
Updated page variable helpers for additional variables being passed

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (main-application-no-pdf@804b4e6). Click here to learn what that means.

Additional details and impacted files
@@                    Coverage Diff                     @@
##             main-application-no-pdf    #1653   +/-   ##
==========================================================
  Coverage                           ?   98.38%
==========================================================
  Files                              ?      456
  Lines                              ?     7562
  Branches                           ?      824
==========================================================
  Hits                               ?     7440
  Misses                             ?      120
  Partials                           ?        2

Flag
Coverage Δ

unit-test
98.38% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


wechat share dose not work

[x] Yes, I was on Hexo Docs page, especially on Templates, Variables, Helpers and Troubleshooting.
[x] Yes, I was on NexT Documentation Site.
[x] And yes, I already searched for current issues and this is not help to me.

Expected behavior
click wechat share button and there will has a  QRCode image
Actual behavior
click wechat share button but the QRCode image dose not appear. The borwser's console show the error :
api.qinco.me/api/qr?size=400&content=http%3A%2F%2Fwindsmoon.com%2F2017%2F10%2F09%2F%25E5%2588%25A4%25E6%2596%25AD%25E5%258D%2595%25E5%2590%2591%25E9%2593%25BE%25E8%25A1%25A8%25E6%2598%25AF%25E5%2590%25A6%25E6%259C%2589%25E7%258E%25AF%25E5%258F%258A%25E6%25B1%2582%25E7%258E%25AF%25E5%2585%25A5%25E5%258F%25A3%25E7%259A%2584%25E7%25AE%2597%25E6%25B3%2595%25E6%2595%25B0%25E5%25AD%25A6%25E8%25AF%2581%25E6%2598%258E%2F%23more:1 GET https://api.qinco.me/api/qr?size=400&content=http%3A%2F%2Fwindsmoon.com%2F2017%2F10%2F09%2F%25E5%2588%25A4%25E6%2596%25AD%25E5%258D%2595%25E5%2590%2591%25E9%2593%25BE%25E8%25A1%25A8%25E6%2598%25AF%25E5%2590%25A6%25E6%259C%2589%25E7%258E%25AF%25E5%258F%258A%25E6%25B1%2582%25E7%258E%25AF%25E5%2585%25A5%25E5%258F%25A3%25E7%259A%2584%25E7%25AE%2597%25E6%25B3%2595%25E6%2595%25B0%25E5%25AD%25A6%25E8%25AF%2581%25E6%2598%258E%2F%23more

net::ERR_CONNECTION_CLOSED

Image (async)
wechat @ needsharebutton.js:122
(anonymous) @ needsharebutton.js:494

so I think is the server which provide QRCode api crashed ?
Steps to reproduce the behavior

click the wechat share button

Link to demo site with this issue: http://windsmoon.com
Link(s) to source code or any usefull link(s): N/A

Hexo Information

hexo: 3.3.9
hexo-cli: 1.0.3
os: Darwin 16.7.0 darwin x64
http_parser: 2.7.0
node: 6.11.4
v8: 5.1.281.108
uv: 1.11.0
zlib: 1.2.11
ares: 1.10.1-DEV
icu: 58.2
modules: 48
openssl: 1.0.2l

NexT Information
NexT Version:

[] Latest Master branch.
[x] Latest Release version.
[] Old version -

NexT Scheme:

[] All schemes
[] Muse
[] Mist
[] Pisces
[x] Gemini

Other Information
chrome, osx

Please, try to apply patch in #1976 pull.
Issue solved?

@ivan-nginx  My mistake, thank you very much


bulk feed code examples etc

Docs Build status updates of commit ed9b638:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Advertising/bingads-12/bulk-service/in-market-audience.md
:white_check_mark:Succeeded

Advertising/bingads-12/campaign-management-service/inmarketaudience.md
:white_check_mark:Succeeded

Advertising/bingads-12/guides/authentication-oauth.md
:white_check_mark:Succeeded

Advertising/bingads-12/guides/get-started-java.md
:white_check_mark:Succeeded

Advertising/bingads-12/guides/get-started.md
:white_check_mark:Succeeded

Advertising/bingads-12/guides/operation-error-codes.md
:white_check_mark:Succeeded

Advertising/bingads-12/guides/walkthrough-desktop-application-java.md
:white_check_mark:Succeeded

Advertising/bingads-12/guides/walkthrough-web-application-java.md
:white_check_mark:Succeeded

Advertising/bingads-13/bulk-service/campaign.md
:white_check_mark:Succeeded

Advertising/bingads-13/bulk-service/feed.md
:white_check_mark:Succeeded

Advertising/bingads-13/bulk-service/in-market-audience.md
:white_check_mark:Succeeded

Advertising/bingads-13/campaign-management-service/dynamicsearchadssource.md
:white_check_mark:Succeeded

Advertising/bingads-13/campaign-management-service/inmarketaudience.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/ad-customizer-feeds.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/authentication-oauth.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/customer-accounts.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/get-started-java.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/get-started.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/operation-error-codes.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/page-feeds.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/walkthrough-desktop-application-java.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/walkthrough-web-application-java.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


The glsl-to-spirv-0.1.7 crate fails to build: error: 'operator=' is a private member of 'glslang::TPoolAllocator'

[glsl-to-spirv 0.1.7] In file included from /wrkdirs/usr/ports/graphics/oculante/work/oculante-0.7.4/cargo-crates/glsl-to-spirv-0.1.7/glslang/hlsl/../glslang/MachineIndependent/../Include/InfoSink.h:38:
[glsl-to-spirv 0.1.7] In file included from /wrkdirs/usr/ports/graphics/oculante/work/oculante-0.7.4/cargo-crates/glsl-to-spirv-0.1.7/glslang/hlsl/../glslang/MachineIndependent/../Public/../Include/../Include/Common.h:99:
[glsl-to-spirv 0.1.7] /wrkdirs/usr/ports/graphics/oculante/work/oculante-0.7.4/cargo-crates/glsl-to-spirv-0.1.7/glslang/hlsl/../glslang/MachineIndependent/../Public/../Include/PoolAlloc.h:314:54: error: 'operator=' is a private member of 'glslang::TPoolAllocator'
[glsl-to-spirv 0.1.7]     void setAllocator(TPoolAllocator* a) { allocator = *a; }
[glsl-to-spirv 0.1.7]                                            ~~~~~~~~~ ^ ~~
[glsl-to-spirv 0.1.7] /wrkdirs/usr/ports/graphics/oculante/work/oculante-0.7.4/cargo-crates/glsl-to-spirv-0.1.7/glslang/hlsl/../glslang/MachineIndependent/../Public/../Include/PoolAlloc.h:244:21: note: declared private here
[glsl-to-spirv 0.1.7]     TPoolAllocator& operator=(const TPoolAllocator&);  // don't allow assignment operator
[glsl-to-spirv 0.1.7]                     ^
[freetype-sys 0.13.1] [ 65%] Building C object CMakeFiles/freetype.dir/src/gzip/ftgzip.c.o
[freetype-sys 0.13.1] [ 67%] Building C object CMakeFiles/freetype.dir/src/lzw/ftlzw.c.o
[glsl-to-spirv 0.1.7] In file included from /wrkdirs/usr/ports/graphics/oculante/work/oculante-0.7.4/cargo-crates/glsl-to-spirv-0.1.7/glslang/hlsl/hlslScanContext.cpp:45:
[glsl-to-spirv 0.1.7] In file included from /wrkdirs/usr/ports/graphics/oculante/work/oculante-0.7.4/cargo-crates/glsl-to-spirv-0.1.7/glslang/hlsl/../glslang/Include/Types.h:41:
[glsl-to-spirv 0.1.7] In file included from /wrkdirs/usr/ports/graphics/oculante/work/oculante-0.7.4/cargo-crates/glsl-to-spirv-0.1.7/glslang/hlsl/../glslang/Include/../Include/Common.h:99:
[glsl-to-spirv 0.1.7] /wrkdirs/usr/ports/graphics/oculante/work/oculante-0.7.4/cargo-crates/glsl-to-spirv-0.1.7/glslang/hlsl/../glslang/Include/PoolAlloc.h:314:54: error: 'operator=' is a private member of 'glslang::TPoolAllocator'

clang-16
rust-1.71.0
OS: FreeBSD 13.2

The glsl-to-spirv crate is no longer maintained. The crate was removed from this repo in this commit, https://github.com/vulkano-rs/vulkano/commit/b507034df7a922b52b7e63d8900e0b3df472a5ff


Too many brackets in JSON output example

@WhippsP : Thanks for your contribution! The author, @davidmu1, has been notified to review your proposed change.

#sign-off


Project website misconfigured

Hi @guillaumepotier,
Looks like your GitHub pages custom domain is misconfigured. Take a look: http://validatorjs.org/

The website itself was fixed some time ago. It's a bit outdated (it says the latest version is 1.1.1), but that's another issue.


Stack overflow and server crash on unclosed macro invocation

macro_rules! always {
    ($cond:expr) => {
        always!($cond, "assertion failed: {}", stringify!($cond))
    };

    ($cond:expr, $fmt:literal $($arg:tt)*) => {{
        let cond = $cond;
        if cfg!(debug_assertions) || $crate::__FORCE {
            assert!(cond, $fmt $($arg)*);
        }
        if !cond {
        }
        cond
    }};
}

fn f() {
    always!(comment_token.kind() != SyntaxKind::COMMENT
}

Minimized somewhat:
This kills parser:
macro_rules! m {
    ($cond:expr) => { m!($cond, stringify!($cond)) };
    ($cond:expr, $($arg:tt)*) => { $cond };
}

fn f() { m!( }

This kills expr collector:
macro_rules! m {
    ($cond:expr) => { m!($cond, "") };
    ($cond:expr, $($arg:tt)*) => { $cond };
}

fn f() { m!(  One more case where command line compiler can die while the IDE needs to be robust. While investigating this issue I've noticed that it makes bat hand as well.
Heartwarmingly, IntelliJ Rust does display this file successfully. Less heartwarmingly, editing this file freezes IntelliJ UI.

Figured out what's happening. We have two limits for run-away macro exapnsion -- breadth and depth. In this case, the expansion creates code as ( -> (( -> (((( -> (((((((( -- ie, it hits the breadth limit. But, when we parse the result, the parser seems this as a deep, rather than broad code.
Fixes:

add a depth limit to the parser
don't try to expand macros whose argument has an unclosed parenthesis.

don't try to expand macros whose argument has an unclosed parenthesis.

Could we instead just add the closing parenthesis?

Good question! I was actually thinking about moving in the opposite direcion, and checking that the argument has all parens balanced (and not just the outer ones). The idea being to not expand obviously broken macros, rather than to try to recover thing.
Thinking about this more, I realised there's a sound (if not always optimal) strategy to recover from unballanced parethesis.
Consider this example:
pub(crate) fn status(db: &RootDatabase, file_id: Option<FileId>) -> String {
    let mut buf = String::new();
    format_to!(buf, "{}\n", FileTextQuery.in_db(db).entries::<FilesStats>() // <- unclosed paren
    format_to!(buf, "{}\n", LibrarySymbolsQuery.in_db(db).entries::<LibrarySymbolsStats>());

Here, the ) is missing, so parser should decide when to finish the macro call. One consideration is that the macro call finishes at some point, and all the future tokens belong outside of the call. A way to approximate that is to say that the call finishes immediately after an unclosed parenthesis. That way, we'll wrongly skip over some of the real arguments, but (provided that parser recovery is any good) we'll correctly recognize the tail that's outside of macro invocation.

To clarify our (and intellij rust) strategy is to eat tokens until } is seen, exactly the oppostie to what I am describing here.
I think that maybe we want to greedy eat token for function calls, but eagerly stop right after !( for macro calls?


Publish service provider stub

I wasn't sure about adding the return type since most of your other stubs don't have return types. However, as far as I am aware, service providers don't return anything (or if they do, the value returned is never used).
This is a companion to https://github.com/laravel/framework/pull/39491.

Thanks!

@mikemand if you prefer to have return types, you might like zepfietje/laravel-stubs.
My package is very similar to Spatie's, but does include types as much as possible.


feat: add targets in requestOptions

Description
This PR implements custom targeting options in the requestOptions.
Fixes #38 .
Changes

Added targets option in requestOptions
Updated readme.md docs

Checklist

[ ] Included code example that can be used to test this change
[x] Updated TS types
[x] Updated documentation
[x] Ensured that CI passes

Thank you for your work


Cancelling step does not does not docker stop gracefully

In particular, I'm looking to have a pipeline that runs Packer builds using the hashicorp/packer image.
I noticed after cancelling a step running Packer, it doesn't give Packer a chance to clean up and exit gracefully like normally hitting ctrl + C in Packer and seeing logs like `Cancelling build after receiving interrupt...Cleanly cancelled builds after being interrupted.
In my opinion, cancelling a step in Buildkite should run docker stop or similarly pass a SIGTERM to the container, but it doesn't look like that's happening.
PS: Sorry if this is an issue outside of the Docker plugin. I can reopen wherever it makes sense 😇

@evandam Hi and sorry for the delay in getting back to you. I've been thinking and trying to understand exactly your scenario; but as far as I understand the plugin's behaviour is quite straight-forward: lots of preparation and finally docker run ... in a single bash script. When a job is cancelled, the agent send a SIGTERM to the bash script, which should be sending it through to the subprocesses (docker run in this case... which will send it to packer in turn). So things should work... but you are saying it is not happening that way.
I can only think of two explanations:
1- (most likely) the job is taking more than the agent's cancel grace period, so it eventually gets killed
2- there is another - more serious - issue that we will need to further debug. For that we will need you to provide more information (like public execution when this happened or the minimal information possible and some screenshots/logs to see what you are seeing)


YOLOv9, v10, v11 Backbones

Greetings,
I hope this message finds you well.
Any interest in creating a Keras version for the recent yolov9, v10, and v11 backbones?
Thanks for your time and support.

Hi! I'm even not sure where this repo should go, lol. May try YOLOV11 later, but may only get some time till next month...

It is an amazing repo though, I am going to cite it soon for my next academic paper. You really benefited me in my research. Thanks a lot for your support and repos.


Work out documentation infrastructure

Considered options are a docs directory in the repo or gh wiki.

Thanks for opening this! I'd lean towards using the wiki for meeting minutes, and document in-tree using markdown as much as possible for other items.

@rdimitrov #771 is dealing with this old issue, I guess.

Our docs folder gets a lot of attention. Closing this one.


Update findCommand to check tagName, label with case sensitive

FindCommand is now case sensitive

Codecov Report

Merging #207 into master will decrease coverage by 0.03%.
The diff coverage is 50.00%.

@@             Coverage Diff              @@
##             master     #207      +/-   ##
============================================
- Coverage     64.64%   64.60%   -0.04%
- Complexity      548      550       +2
============================================
  Files           100      100
  Lines          1813     1814       +1
  Branches        188      189       +1
============================================
  Hits           1172     1172
- Misses          566      567       +1
  Partials         75       75

Impacted Files
Coverage Δ
Complexity Δ

...in/java/seedu/address/commons/util/StringUtil.java
92.00% <50.00%> (-4.00%)
10.00 <0.00> (+1.00)
:arrow_down:

.../java/seedu/address/logic/commands/TagCommand.java
92.59% <0.00%> (-0.52%)
11.00% <0.00%> (ø%)

src/main/java/seedu/address/model/tag/Tag.java
75.00% <0.00%> (+2.02%)
13.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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


MSCV required to install desktop-app on windows for python 3.10

It is quite cumbersome to use desktop-app on windows with python 3.10 due to missing wheel which entails installing MSVC.
Furthermore, d89403b5384d66fdf8b47be853e66fd50d867514 seems important for winpython environments.
#23 restricts macos runner image to 10.15 which allows a successful run of the build pipeline again.
Are there any plans to make a new release in the near future?

Thanks @linuxrider, yes, the project is still active and I'll endeavour to make a release soon!
I'd like to extend the changes in 3701c2b28b6fc89e5dfa76888f1ab5407daa1c76 to work with editable installs and projects that use a src layout, otherwise that fix is a bit limited. I'll take a look at that and then hopefully get a release out in short order.
Thanks for getting the macos build working again - pinning the version seems like it maybe just kicks the can down the road a bit so hopefully I can figure out how to make it work with the latest macos when I have time. It's possible the xcode workaround isn't even necessary anymore, I don't know.

@chrisjbillington Thanks for looking into it!
Regarding MacOS: I also thought that the workaround could be obsolete and tried quite some combinations of runner image and xcode version. However, I could not find any working combination which worked.

Ok, I've fixed what I wanted to fix, and released v0.3.0 with wheels built for Python 3.10. Let me know if there are any issues.
Can't do 3.11 quite yet as the requisite conda packages aren't available - that usually lags a bit, and if it lags more than a few months I'll go ahead and build the wheels for 3.11 at least. Still figuring out how to best keep many Python projects with impure wheels up to date with the annual Python releases, need to figure out how to automate that.
Thanks again for the help.


[gardening] Remove duplicate code in NSCalendar

Removed code seems to be a wrong copy-paste inside each function.

Could the remaining code be simplified down to:
yearValuePointer?.pointee = comps.year ?? NSDateComponentUndefined
etc...

to cut down on the large if/else trees?

I will do it, once I fix this:
<unknown>:0: error: Swift does not support the SDK 'MacOSX10.13.sdk'
Command /Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2018-07-11-a.xctoolchain/usr/bin/swiftc failed with exit code 1

Google is not helping much to fix that. :/

@otaviolima Are you using the Xcode10 beta? Because that is required for current snapshots.

I was, but it started giving me another error then I switch back to Xcode 9 then then above error was shown.
I'm installing Xcode 10 beta 3 now.

Done.

@swift-ci please test

It passed: https://ci.swift.org/view/Pull Request/job/swift-corelibs-foundation-PR-Linux/1160/console
Is the reporting/github hook broken?

@otaviolima Its quite common that the CI->GitHub update hook doesn't always work, I'll kick off another test just to see if it updates

@swift-ci please test

@swift-ci please test and merge


Copying a Group of Blocks Will Make a Link To The Original

Describe the bug
This behavior would prevent us from making a reusable block templates
As seen in the video below
https://user-images.githubusercontent.com/64100867/123255900-8b6d6380-d51a-11eb-9e12-677fd5068fc2.mp4
To Reproduce
Make a group of connected blocks, select, then copy/paste them. The copy will make a link to the original
Expected behavior
We can copy/paste a group of connected blocks without making a link to the original so it's possible to make a reusable block templates.
Versions & Platform (please complete the following information):

Unity version 2020 LTS

I'll take a look into this one as well as an issue where duplicating invoke commands clear the object reference. I'll have to look into when it copies the block data and see if some fudging can be done to link to the new blocks.
This will likely appear as a separate right click option so that current workflows aren't broken.


Explosion caused by a ghast's fireball doesn't have a useful Cause

(Originally reported https://github.com/SpongePowered/SpongeAPI/issues/935 and https://forums.spongepowered.org/t/solved-explosion-types/10028)
The event ExplosionEvent is fired when a fireball explodes that was shot by a Ghast.
However, the event's cause does not have any useful information in it.
Every time the event is fired the cause is just simply:
Cause[{Name=unknown1net.minecraft.block.BlockAir, Object={net.minecraft.block.BlockAir@3b5494fe}}]

The issue stems from EntityLargeFireball not including any Entity object as the source. I'm not 100% sure that changing that is a wise idea.

Just leaving as assurance of it being fixed, the output of the Cause now for this specific case is:

[05:37:14] [Client thread/INFO]: [CHAT] Player858 joined the game
[05:37:16] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/375, l='New World', x=-206.07, y=65.09, z=-256.98]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-215.62, y=72.26, z=-295.42]}}]
[05:37:16] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/375, l='New World', x=-206.07, y=65.09, z=-256.98]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-215.62, y=72.26, z=-295.42]}}]
[05:37:19] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/849, l='New World', x=-198.10, y=64.27, z=-248.37]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-211.81, y=65.41, z=-291.83]}}]
[05:37:19] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/849, l='New World', x=-198.10, y=64.27, z=-248.37]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-211.81, y=65.41, z=-291.83]}}]
[05:37:23] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/1514, l='New World', x=-206.50, y=64.74, z=-264.15]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-223.42, y=59.49, z=-287.28]}}]
[05:37:23] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/1514, l='New World', x=-206.50, y=64.74, z=-264.15]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-223.42, y=59.49, z=-287.28]}}]
[05:37:28] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/1986, l='New World', x=-190.41, y=70.57, z=-254.75]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-215.92, y=52.02, z=-293.28]}}]
[05:37:28] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/1986, l='New World', x=-190.41, y=70.57, z=-254.75]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-215.92, y=52.02, z=-293.28]}}]
[05:37:31] [Server thread/INFO]: Player858 was fireballed by Ghast
[05:37:31] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/2362, l='New World', x=-196.09, y=68.70, z=-272.36]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-211.64, y=48.45, z=-295.51]}}]
[05:37:31] [Server thread/INFO] [STDOUT]: [net.minecraftforge.event.world.ExplosionEvent:onConstruct:83]: Cause[{Name=Source, Object={EntityLargeFireball['Fireball'/2362, l='New World', x=-196.09, y=68.70, z=-272.36]}}, {Name=ProjectileSource, Object={EntityGhast['Ghast'/56, l='New World', x=-211.64, y=48.45, z=-295.51]}}]
[05:37:31] [Client thread/INFO]: [CHAT] Player858 was fireballed by Ghast


Feature dimension

For ActivityNet dataset, you use TSP model to get its feature. I want to konw how can you get the feature dimention [T,C]. As I know, the output feature dimention of TSP is [ feature size ].

This is what we have described in the readme file. Let me know if the following description is not clear to you.
The features are extracted from the R(2+1)D-34 model pretrained with TSP on ActivityNet using clips of 16 frames at a frame rate of 15 fps and a stride of 16 frames (i.e., non-overlapping clips). This gives one feature vector per 16/15 ~= 1.067 seconds (of an input video).

I try to extract features from https://github.com/HumamAlwassel/TSP/blob/master/extract_features/README.md, but I found the feature dimention is [512], It does not match the feature dimension[T,C], how can you get the T dimention?

I can't reproduce the issue you mentioned here. The code repo of TSP will extract features of size T x C by default, where T is the number of clips in a video and C is the feature channel. You might want to double check if you followed their instructions closely (in particular the video encoding). If you have further questions regarding TSP features, please open an issue in their repo.

Mark as resolved.


Skip pipeline when calling is()

As is() is primarily designed for use as a type guard, it would make sense to skip pipelines during this check too 🙂
Currently:
is(string([email()]), 'foo') // this check would fail, though types are correct

Proposed:
is(string([email()]), 'foo') // this check would pass, as it's a string

Notes
This is a breaking change to is()
Following on from #164.

To just check the data type, you are right and it can be added. However, I would add it as a configuration and leave it as it is by default. I strongly suspect that this is the expected behavior of most users of Valibot.
// Default behaviour with pipes
is(Schema, input);

// Skip pipes and only check data type
is(Schema, input, { skipPipe: true });

Yep fair enough! I guess it depends on the primary purpose of is(). Personally I'd use it as a typecheck, so would prefer the simple boolean, but I defer to your judgement there, @fabian-hiller 🙂 Thanks again for your consideration!

If you are interested in this feature, you can implement it. Otherwise we can wait for feedback from other people.

Yep happy to implement, @fabian-hiller 🙂 I do think it might be worth waiting for some more opinions though, if that's ok. I'm undecided about what might be the best option.
To add to the options you've listed above:
// Might be more clearly represented with an opt-out approach
is(Schema, input, false);

// Function signature would be
export function is<TSchema extends BaseSchema>(
  schema: TSchema,
  input: unknown,
  runPipe = true
): input is Input<TSchema> {
  return !schema._parse(input, { abortEarly: true, skipPipe: !runPipe }).issues;
}

Would be good to hear from others what they might expect the behaviour of is() to be, as in the docs it's very much presented as a "type guard" 🙂

I think that if someone defines the schema string([email()]) and then uses is, they expect false to be returned for an empty string. If we only validated string and not email, I suspect this would lead to bugs in many cases.
Maybe we should implement it explicitly with is(schema, input, { skipPipe: true }) for now, leaving the possibility to add more configurations in the future. Furthermore this way it is consistent with parse and safeParse.

Yeah I do agree with you, @fabian-hiller. Definitely good to keep consistent with parse and safeParse. I think you're right that it would be unexpected for it to ignore checks invisibly.
I've added the info argument to is() 🙂

I think that if someone defines the schema string([email()]) and then uses is, they expect false to be returned for an empty string. If we only validated string and not email, I suspect this would lead to bugs in many cases.
Maybe we should implement it explicitly with is(schema, input, { skipPipe: true }) for now, leaving the possibility to add more configurations in the future. Furthermore this way it is consistent with parse and safeParse.

I would agree, I would expect a schema passed to is() to fully check the schema shape - if we were clever email() could further refine the shape of the string 🤷

I added skipPipe in v0.22.0 as a configuration to is.
// Skip pipes and only check data type
is(Schema, input, { skipPipe: true });


Fix #46 Support for volumes with 3 parts

Changes introduced with this PR
Fix for issue #46, this is needed for selinux enabled distros.
This enables support for 2 and 3 parts volumes:

2 parts: ./local:/in-container
3 parts, 3rd part being security options: ./local:/in-container:z

By contributing to this repository, I agree to the contribution guidelines.

Bump, would love to be able to run this locally for testing :)

Hi Thibault, I think this PR is waiting for someone to write some tests for it.  I don't think we were going to ask you to do it, but none of us have gotten around to it, yet, either...so, this PR is languishing.  Sorry!

@webbnh I have no issues on testing when adding :Z to the volumes list. I cannot test on MacOS (so let me know if it's different).

#52 now supersedes this PR -- I've rebased this branch on the end of main and piled a bunch of commits on top of it.  🙂


System.IdentityModel.Tokens.Jwt v6.34.0 to 7.0.3 cannot validate tokens

Which version of System.IdentityModel are you using?
Note that to get help, you need to run the latest version.
System.IdentityModel.Tokens.Jwt 6.34.0 upgrading it to 7.0.3
Where is the issue?
System.IdentityModel.Tokens.Jwt
Is this a new or an existing app?
The app is an existing app ChristopherBriddock.JwtTokens
Repro
/// <summary>
        /// Tries to create a JWT (JSON Web Token) asynchronously.
        /// </summary>
        /// <param name="email">The email of the token's recipient.</param>
        /// <param name="jwtSecret">The secret key used to sign the JWT.</param>
        /// <param name="issuer">The issuer of the JWT.</param>
        /// <param name="audience">The intended audience of the JWT.</param>
        /// <param name="expires">The expiration date and time of the JWT.</param>
        /// <param name="subject">The subject of the JWT.</param>
        /// <returns>A <see cref="JwtResult"/> containing the result of the token creation.</returns>
        public async Task<JwtResult> TryCreateTokenAsync(string email,
                                                   string jwtSecret,
                                                   string issuer,
                                                   string audience,
                                                   string expires,
                                                   string subject)
        {
            JwtResult result = new JwtResult();
            try
            {

                var tokenHandler = new JwtSecurityTokenHandler();
                var key = Encoding.ASCII.GetBytes(jwtSecret);

                IList<Claim> claims = new List<Claim>()
                {
                    new Claim(JwtRegisteredClaimNames.Sub, subject),
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                    new Claim(JwtRegisteredClaimNames.Iat, DateTimeOffset.UtcNow.ToString(), ClaimValueTypes.String),
                    new Claim(JwtRegisteredClaimNames.Email, email)

                };
                var expiryMinutesToAdd = Convert.ToInt16(expires);
                JwtSecurityToken tokenDescriptor = new JwtSecurityToken(
                    issuer: issuer,
                    audience: audience,
                    claims: claims,
                    expires: DateTime.UtcNow.AddMinutes(expiryMinutesToAdd),
                    signingCredentials: new SigningCredentials(
                        new SymmetricSecurityKey(key),
                        SecurityAlgorithms.HmacSha256Signature
                    )
                );
                result.Success = true;
                result.Token = tokenHandler.WriteToken(tokenDescriptor);
            }
            catch (CreateJwtException ex)
            {
                result.Error = ex.Message;
                result.Success = false;
                throw;
            }
            return await Task.FromResult(result);
        }

        /// <summary>
        /// Tries to validate a JWT (JSON Web Token) asynchronously.
        /// </summary>
        /// <param name="token">The JWT to validate.</param>
        /// <param name="jwtSecret">The secret key used to validate the JWT's signature.</param>
        /// <param name="issuer">The expected issuer of the JWT.</param>
        /// <param name="audience">The expected audience of the JWT.</param>
        /// <returns>A <see cref="JwtResult"/> containing the result of the token validation.</returns>
        public async Task<JwtResult> TryValidateTokenAsync(string token,
                                                   string jwtSecret,
                                                   string issuer,
                                                   string audience)
        {
            JwtResult result = new JwtResult();
            try
            {
                var tokenHandler = new JwtSecurityTokenHandler();
                var key = Encoding.ASCII.GetBytes(jwtSecret);
                var tokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey = new SymmetricSecurityKey(key),
                    ValidateIssuer = true,
                    ValidIssuer = issuer,
                    ValidateAudience = true,
                    ValidAudience = audience,
                    ValidateLifetime = true,
                    ClockSkew = TimeSpan.Zero
                };

                TokenValidationResult validationResult = await tokenHandler.ValidateTokenAsync(token, tokenValidationParameters);

                // If the validation succeeds, the JWT is both well-formed and has a valid signature.
                if (validationResult.IsValid)
                {
                    result.Success = true;
                    result.Token = token;
                }

                return result;
            }
            catch (SecurityTokenException ex)
            {
                result.Error = ex.Message;
                result.Success = false;
                throw ex;
            }
        }

**Expected behavior**
GIVEN the validate method is called
WHEN the jwt is validated
THEN the jwt is valid

**Actual behavior**
The jwt is not valid.

**Possible solution**

**Additional context / logs / screenshots / links to code**
https://github.com/chris-briddock/ChristopherBriddock.JwtTokens

@chris-briddock what is the error?
Is there an exception?

The exception caught in the Result object is something to do with PII information. I believe this has existed since v7.0.0.
Sent from Outlook for Androidhttps://aka.ms/AAb9ysg

From: BrentSchmaltz @.>
Sent: Tuesday, October 17, 2023 8:23:21 PM
To: AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet @.>
Cc: Chris Briddock @.>; Mention @.>
Subject: Re: [AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet] System.IdentityModel.Tokens.Jwt v6.34.0 to 7.0.3 cannot validate tokens (Issue #2370)
@chris-briddockhttps://github.com/chris-briddock what is the error?
Is there an exception?
—
Reply to this email directly, view it on GitHubhttps://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/2370#issuecomment-1767025719, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADMW7IWMMN5XFQEJI2VVMMLX73LKTAVCNFSM6AAAAAA6EGWGQKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRXGAZDKNZRHE.
You are receiving this because you were mentioned.Message ID: @.***>

Not totally sure if my finding is belongs to this issue so I just leave it here:

I'm experiencing this issue as well. It appears to be a regression from v.6X. The exception is not related to PII (that's just the exeption messaged used because the payload cannot be logged due to PII rules). The actual exception is:

System.ArgumentException:IDX12723: Unable to decode the payload

Was JWT decoding transitioned from base64URL to standard base64 decoding during the 7.X release. Our tokens aren't always divisible by 4 in length and, sometimes, have invalid characters (though, which are valid in base64URL tokens)


add v2 dao creation scripts

Codecov Report
Base: 93.62% // Head: 93.62% // No change to project coverage :thumbsup:

Coverage data is based on head (389d71a) compared to base (1a2accb).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #495   +/-   ##
=======================================
  Coverage   93.62%   93.62%
=======================================
  Files          34       34
  Lines        3480     3480
=======================================
  Hits         3258     3258
  Misses        222      222

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Class indexing as a separate package/service

I had an idea that classpath parsing and class indexing should be implemented as a separate package that provides services for other java packages. Then any java package could query class descriptions using the service and you would also have a central place to configure your java environment settings. People also keep requesting support for Eclipse and Maven config files. It would be nice that not every java package would have to parse classpath from .classpath file themselves. Then it would be easier to implement Eclipse and Maven support once and all java packages would benefit. See issue keskiju/autocomplete-java#14.
Since you are already implementing native javascript class file indexing features in autocomplete-java-minus, perhaps you could change direction and implement a more general java package that all java packages could use?

Here is a quick draft: https://github.com/keskiju/atom-java-project

I've talked with linter-javac developer about the package and currently he is waiting for it. But I've been so busy with work lately that I haven't had time to implement it yet though.

"Basically atom-javaenv is a classpath aware indexing service that indexes java related files by scanning files, watching file changes and parsing files into descriptions. This includes build properties, class files, jar files and java source files. Other java packages may provide additional parsers for the indexer also."

Hello,
It could definitely make sense to make a generic "java class indexer" which could be used from various packages. The majority of the implementation is in jdjs (which I've also created, but haven't had time to document it yet). I guess the only thing that could be beneficial from this package would be the collecting on all CPU cores. But that's really a minor thing considering.
Perhaps it would make more sense in the future, right now I just wanted a development environment for java so I just threw something together.

Ok, I'll look into jdjs if I find the time to implement the indexer.

@keskiju How far did you get on this? I feel the need to implement some caching when loading classes/jars to speed it up even further. It makes more and more sense to put the "classpath registry" in the service hub and use it from different places.

I haven't implemented anything yet.

I've created a package now for the classpath collecting. Documentation is lacking, but it's a start:https://github.com/noseglid/java-classpath-registry


Support logging objects

With the Browser's console it's possible to log objects like:
var demo = new Logdown({
  prefix: 'demo',
  alignOuput: true
});

console.log('Hello World!', demo);

Which will result into this output:

logdown.js unfortunately stringifies objects, so that they cannot be accessed via the Browser's console:

It would be nice if logdown.js treats objects like the standard JavaScript console does.
Here is some demo code:
var demo = new Logdown({
  prefix: 'demo',
  alignOuput: true
});

demo.log('Hello World!', demo);

Created a PR for it.
Can you review and merge if it's ok?

Uuuuh, I am very eager to test it! Let me just wrap a few more Christmas presents for my family and then I will test it. 😃 🌈

No worries.
Frohe Weihnachten. 🎄 🎅