[low-power] adaptative CSL window duration

This PR puts the CSL Receiver on the safe side for assuring frames reception over long synchronization periods, by means of:

Make CSL receive window dependent on the accuracy of the crystals used for scheduling and on the elapsed time since last synchronization.
Center the CSL receive window in the middle of the sample time.

Prior to this, CSL receive window duration had a fixed value and clock drifts would most likely make it happen outside of CSL transmission slot from the parent, specially after long periods without synchronization (as with the default 100 seconds CSL Timeout).
There is room for low power improvement by adding some intelligent drift corrections and vendor specific optimizations.

I performed some testing after the changes, with two nRF52840 DKs and the following values:
kCslWorstCrystalPpm = 5
kCslWorstUncertainty = 2
XTAL_ACCURACY = 2

I'm sending 20 pings from the parent with a random delay of:

Test A: 1-99 seconds
Test B: 1-2 seconds
No ping failed or required retransmission.

review_changes_pcaps.zip

How to cope with the lack of otPlatTimeGetXtalAccuracy for simulation platform?

With the last change I added:
    uint8_t   mCslLocalDrift;   ///< Drift of timer used for scheduling CSL reception, in ± ppm.
    uint8_t   mCslParentDrift;  ///< Drift of timer used for scheduling CSL transmission by the parent, in ± ppm.
    uint8_t   mCslParentUncert; ///< Uncertainty of the scheduling CSL of transmission by the parent, in ±100 us units.

This allows for:

Accounting for the real parent accuracy, to be updated from Parent Response or Child Update Response once https://threadgroup.atlassian.net/browse/SPEC-961 is in.
Optimizing the local drift by applying temperature compensation, for instance. A new OT API will be required for this.

Test result with:
        kCslLocalCrystalPpm = 2,
        kCslWorstCrystalPpm  = 2,
        kCslWorstUncertainty = 1,

short-and-long-pings.pcap.zip

I squashed the review comments and added a descriptive timing plot with the relevant points.


Rebase the fiat-x25519 backend on release 0.6.0

This is here to build on https://github.com/calibra/curve25519-dalek/pull/4. The same conditions apply, namely :

DO NOT MERGE : this should NOT BE MERGED and is opened for information only,
only the last commit is interesting,
this should instead be pushed/PR'ed to a different branch (fiat2) on the calibra repo, (with that branch initially forked from the 2.0 x25519 release)
I'll also submit a final PR to switch the libra dependency pointers from fiat to fiat2,

/cc @kchalkias

Closing in favor of https://github.com/calibra/x25519-dalek/pull/3


BROWSER vs NODE differences

Hi,
I'm trying to port a working app from electron (node based) to cordova. This app makes intesive usage of jBinary and works really fine on electron.
What i found is that BROWSER version does not generate the same jBinary::view type as when using NODE version. For the the same code;
var writeBuffer = new Buffer(2048);
var writeFrame = new jBinary(writeBuffer, bdFrameStruct);

NODE version ->
var jBinary = require('jbinary'); is generating view as 'jDataView'

writeFrame
jBinary {view: jDataView, contexts: Array[0], typeSet: Object, cacheKey: "jBinary.Cache.1"}

BROWSER version ->

  is generating view as 'e'

writeFrame
h {view: e, contexts: Array[0], typeSet: Object, cacheKey: "jBinary.Cache.1"}

How do can I get the same result as in NODE using BROWSER?
Or maybe there is a better way to use it on cordova?
Thanks.

It should be still jDataView, just the name is minified. Do you have any difference in actual behaviour?

Yes, that's the problem. NODE version works perfectly but when switching to BROWSER does not. Note that when I say BROWSER I am still using electron only switching to js file version instead node module, It is supposed to work the same  Insn't it?
Here is what i have found going deeper into JBinary Object. Same piece of code, expanding 'view'
var writeBuffer = new Buffer(2048);
var writeFrame = new jBinary(writeBuffer, bdFrameStruct);

NODE VERSION -->

writeFrame.view
jDataView {buffer: Buffer[2048], _isArrayBuffer: false, _isPixelData: false, _isDataView: false, _isNodeBuffer: true…}

Note-> buffer: Buffer[2048]
Note-> _isNodeBuffer:true
BROWSER VERSION ->

writeFrame.view
e {buffer: ArrayBuffer,** _isArrayBuffer: true**, _isPixelData: false, _isDataView: true, _isNodeBuffer: false…}

Note-> buffer: ArrayBuffer
Note-> _isArrayBuffer: true
Note-> _isDataView: true
Any idea? Why does 'buffer' type is also different?

Well buffer being different is expected, it's an internal platform-specific representation which you shouldn't use anyway in most cases. That's because jDataView chooses the best buffer type depending on what's supported in the current engine.
But, as you can see, it's still jDataView in both cases, so all the public APIs should still work.


[CLI] devbox shell --pure

Summary
I added a --pure flag for devbox shell to create an isolated env without variables leaking from the parent shell.
Q: Should I add a --pure flag for devbox run and devbox shellenv?
A: Yes
Q2: Because the created shell is "pure" the devbox command is also not available inside the pure shell. Should that be an exception?
A: Yes
Note: in pure mode, the $HOME env variable has to leak in because the devbox binary relies on it.
How was it tested?

compile
export FOO=bar
./devbox shell --pure
echo $FOO should show no value
Also ./devbox run --pure -- echo $FOO should show no value

@mikeland86 @savil
I made an overhaul and removed pure being passed as a function argument. I added it to the Devbox struct and set it when devbox.Open() is called.
But that means I had to update all devbox.Open() calls, most of them get an empty devbox.Opts{}. So I hope that's ok.
In NewDevboxShell() I had to pass it as a function argument because of the way ShellOptions is implemented.
I also removed --pure-eval from nix eval since I couldn't find justification to have it added.

@mikeland86 Addressed the nit feedback. Not sure about the SHELL variable and about d.setCommonHelperEnvVars(env)

It would also be great to add some testscript unit-tests under testscripts/ for the --pure case.

Merging this now, will followup with another PR addressing nix in PATH issue.


Plans for MacOS version?

Hi there,
I'm currently using this tool on my Mac M1 with Windows 11 VM running. I bought it on itch.io, installed it in my VM but having mixed results.
Are there any plans for a native MacOS version?

Hi my friend,
sadly, pytorch-directml, the AI "engine" used for the app is available only for Windows platform :(


Migrate Event hub to the Event Hub in same region with same settings

Package Name:   @azure/event-hubs 5.5.2 & @azure/eventhubs-checkpointstore-blob 1.0.1
Operating system: Linux

Describe the bug
We are planning to migrate to a new Event hub from existing eventhub due to change in naming convention for Event hub. This also applies to blob storage too. So we need to migrate the checkpointstore to new blob storagetoo.
The approach we decided is:-

We will stop ingestion of events to old event hub and start sending the events to new event hub.
Our consumer will listen to both old and new event hub and we will copy over the checkpoints of old event hub to new blob storage account so that the consumer reads all the events from the old event hub until it is empty.
Once all the events are read from old event hub we will delete old event hub and all of its subscriptions in consumer.

There are 2 questions for this in above approach we need to clear out before finalizing this approach:-

Is the above approach correct? Any drawbacks of it or there are already standard approached defined by MS for this scenario?
We did a POC on above approach and the consumer is not able to subscribe to the checkpoint store for old event hub, the error is below:-

{"level":"error", "time":"2022-02-01T06:46:48.872Z","stack":"Error: Error occurred while fetching the list of blobs. \nError: Missing ownerid in metadata for blob <oldeventhubname>-ns.servicebus.windows.net/<eventhubname><consumergroup>/ownership/0\n at BlobCheckpointStore.<anonymous> (/node_modules/@azure/eventhubs-checkpointstore-blob/dist/index.js:111:23)\n at Generator.next (<anonymous>)\n at fulfilled (/node_modules/tslib/tslib.js:114:62)\n at processTicksAndRejections (internal/process/task_queues.js:93:5)","type":"Error","msg":"Error occurred while fetching the list of blobs. \nError: Missing ownerid in metadata for blob <eventhubname>-ns.servicebus.windows.net/<eventhubname><consumergroup>/ownership/0"}

Hey @amit12cool

Our consumer will listen to both old and new event hub and we will copy over the checkpoints of old event hub to new blob storage account so that the consumer reads all the events from the old event hub until it is empty.

Checkpoints work because all events in a partition in an event hub instance have their offset and sequence number in the ascending order. When you start sending events to the new event hub, the events there will start with 0 offset and sequence number. Therefore, copying the checkpoints does not make sense here.
@kasun04 Can you share any guidance here?

Correct. For new event hub we will start from 0 and that is what our understanding is. But for old event hub will it not start from where it left i.e when we pass on the same checkpoints to other blob storage and restart our consumer.?

From: Ramya Rao @.>
Sent: Friday, February 4, 2022 9:42:36 AM
To: Azure/azure-sdk-for-js @.>
Cc: Amit Dhawan @.>; Mention @.>
Subject: Re: [Azure/azure-sdk-for-js] Migrate Event hub to the Event Hub in same region with same settings (Issue #20158)
Hey @amit12coolhttps://github.com/amit12cool
Our consumer will listen to both old and new event hub and we will copy over the checkpoints of old event hub to new blob storage account so that the consumer reads all the events from the old event hub until it is empty.
Checkpoints work because all events in a partition in an event hub instance have their offset and sequence number in the ascending order. When you start sending events to the new event hub, the events there will start with 0 offset and sequence number. Therefore, copying the checkpoints does not make sense here.
@kasun04https://github.com/kasun04 Can you share any guidance here?
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-sdk-for-js/issues/20158#issuecomment-1029618075, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTB2JHWS3P2XJ37SU2C6ZTUZNG3JANCNFSM5NIJYSOA.
You are receiving this because you were mentioned.Message ID: @.***>

Do you want to start reading from the new event hub only after you complete reading from the old event hub?

Yes, correct

A single instance of EventHubConsumerClient cannot listen to more than 1 event hub instance. Therefore, for the case where you want to read from both the old and the new at the same time, you will be using two different instances of EventHubConsumerClient, each using their own checkpoint store. The consumer client for the new event hub will not need to know anything about the old checkpoint store because the events here will be starting from 0 offset.

Yes, I'm on the same page. And this is what we intend to do.

From: Ramya Rao @.***>
Sent: Sunday, 6 February 2022, 01:25
To: Azure/azure-sdk-for-js
Cc: Amit Dhawan; Mention
Subject: Re: [Azure/azure-sdk-for-js] Migrate Event hub to the Event Hub in same region with same settings (Issue #20158)
A single instance of EventHubConsumerClient cannot listen to more than 1 event hub instance. Therefore, for the case where you want to read from both the old and the new at the same time, you will be using two different instances of EventHubConsumerClient, each using their own checkpoint store. The consumer client for the new event hub will not need to know anything about the old checkpoint store because the events here will be starting from 0 offset.
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-sdk-for-js/issues/20158#issuecomment-1030689081, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTB2JG3NG6EPDPMTYLZOI3UZV6CPANCNFSM5NIJYSOA.
You are receiving this because you were mentioned.Message ID: @.***>

@ramya-rao-a Any way you can suggest to make know all events are consumed from event hub?

Yes, I'm on the same page. And this is what we intend to do.

Ok, so we are in agreement that checkpoints need not be copied over?

Any way you can suggest to know all events are consumed from event hub? Some command that tells all events are read by the consumer etc.

Assuming you will start the consumer for the old event hub AFTER stopping sending any events to it, then you can call EventHubConsumerClient.getPartitionProperties() which will return information on the last enqueued event for that partition. Once you have this information, you can keep checking the offset or sequence number of the event you are consuming to check if it was the last event on that partition.
Another way is to enable the tracklastenqueuedeventproperties option when you call subscribe(). This will add the information about the last enqueued event on each event you receive.

Ok, so we are in agreement that checkpoints need not be copied over?
Yes

Yes, I agree on copying over the checkpoints from old event hub event store. to our new store

Yes, I agree on copying over the checkpoints from old event hub event store. to our new store

I hope you meant to say that you agree on not copying over checkpoints.
Also, is there anything else we can help you with?

There is some confusion. I meant the same that we will copy over the checkpoints of old event hub from old checkpoint store to new checkpoint store and start the consumer again to pick checkpoints from new store.
Is there something wrong in above approach? Im still clear if there is any dependency on checkpoint store only the checkpoint files should be there that the consumer depends on.

What I am saying is that there is no need to copy any checkpoints at all.
Say you have Event Hub A using checkpoints from Storage Blob A
You then create Event Hub B and Storage Blob B to be used for the checkpoint store.
I am suggesting that in your code you do the below:

Start the consumer for Event Hub A with checkpoint store using Blob A
When you have read the last event (I have mentioned how to do this in a previous comment above), stop the consumer
Create a new consumer for Event Hub B with checkpoint store using Blob B

I meant the same that we will copy over the checkpoints of old event hub from old checkpoint store to new checkpoint store and start the consumer again to pick checkpoints from new store for the old eventhub. The new event hub will use the new storage account checkpoint store and start from 0 checkpoint.

When you do this and start the consumer for the new event hub, the consumer will try to start from the offset that is written in the checkpoint store which will be a non 0 value. Say the checkpoint points 123rd event in the partition. Your consumer will start reading from the 124th event thus missing the first 123 events.

Do you mean that when we restart the consumer with new checkpoint store with old checkpoints copied over from old checkpoint store will not start from the copied over checkpoints but from 0?

Yes.

Start the consumer for Event Hub A with checkpoint store using Blob A
When you have read the last event (I have mentioned how to do this in a previous comment above), stop the consumer
Create a new consumer for Event Hub B with checkpoint store using Blob B

This is one scenario. And I agree on this.
There is another scenario of ours. In this we don't want to wait and ordering of events is not important to us. The only thing important to us is we need to consume the events from both event hubs as soon as they arrived. For this scenario, I meant to copy over the checkpoints and start ready from where the consumer left.
For example:-

Start the consumer for Event Hub A (old) with checkpoint store using Blob B having old checkpoints
Start the consumer for Event Hub B (new) with checkpoint store using Blob B having no checkpoints initially

For your second scenario where you want to read from both event hub instances without waiting to complete reading from the old one, I would recommend the below

Start the consumer for Event Hub A with checkpoint store using Blob A
At the same time, start another consumer for Event Hub B with checkpoint store using Blob B
When you have read the last event from Event Hub A, stop the consumer you started for it.

Ok, So it means we will have 2 blob storage for 2 consumer clients and as soon we are done with old storage and event hub we will delete both. Correct? If yes, lets close this here. :-)

Yes!!


Modules View

Administrative Info
Make sure your branch name conforms to: <feature/staging/hotfix/...>/[username]/[Github Issue]-[3-4 word description separated by dashes].
What issue(s) does this branch close?
Closes #101
Changes
What changes did you make?

Added a Module view with dropdowns showing the modules

Testing
How did you confirm your changes worked?

Test with dummy data and make sure they dsplay

Confirmation of Change
Upload a screenshot, if possible. Otherwise, please provide instructions on how to see the change.

Module View

Some functionality that is currently not working:

The image to edit does not show up:

When creating a module, the page does not auto-refresh to display the new module.
There is some styling issue on the side of the module components

We shouldn't have borders around these boxes

Hitting the 3 dots causes the entire component to expand. This should not be expected functionality
Creating an item does not automatically make it appear in the module dropdown
When in the create item page, the "cancel" button causes the module to just move up and down instead of cancelling

@Anshul-Birla
this is mostly fixed, however i need to fix the Vertical Menu toggling the component. I am not sure how to do this with MUI Accordion but I sent you an alternative via slack if that also works?


sha3 is not a function

Hi, I'm trying this package since I need to execute a sha3 on a Number and a String representing an address but I get TypeError: sh3 is not a function.
I just installed solidity-sha3 and then:
var sha3 = require("solidity-sha3");
. . . .
var account  = "ox34.....................................";
var counter   = 0;

. . . .

var sha = parseInt(sha3(count, account));
console.log(sha);

I don't get why. How can I fix this? Thanks in advance.

It's var sha3 = require('solidity-sha3').default;, you must have figured it out:)


Is the Power BI component in Power Apps supported in GCC High?

The table at this section: https://docs.microsoft.com/en-us/power-bi/enterprise/service-govus-overview#power-bi-feature-availability
is missing any reference to displaying Power BI tools in a Power App. We can't confirm that this feature works in our GCC H tenant and I'd like to see this called out in this table even if it is supported. That way we know whether it's something we can expect to work.

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

ID: d017bc96-49d4-7b63-9394-1739cdf7528d
Version Independent ID: 1e70d724-121d-feea-471e-307c2f27dd24
Content: Power BI for US government customers - Overview - Power BI
Content Source: powerbi-docs/enterprise/service-govus-overview.md
Service: powerbi
Sub-service: powerbi-admin
GitHub Login: @kfollis
Microsoft Alias: kfollis

Thanks for your comment, @thatmattwade. This issue has been assigned to the doc author for review.

Hi @thatmattwade - thanks for the feedback. I did a little research, and the info that you need is available via this doc: https://docs.microsoft.com/en-us/power-platform/admin/powerapps-us-government. There is a related download with a table detailing feature parity. As the Power BI table is intended to highlight only those areas that don't have parity, I won't be adding Power Apps to the list. However, I will definitely add a cross-link to the PowerApps article so that info can be more easily found.

Sorry, I don't see the information in the Power Apps link you provided. The only reference to Power BI is an on-prem data gateway, which isn't what I'm looking for. The question is whether data published in the Power BI Service (cloud) can be added as a part in a Power App, which currently doesn't work in our environment. I'd assumed it wasn't supported, hence my reference to the original Power BI article. If you're certain a Power BI web part inserted into a Power App is supported in GCC H, I'm not seeing it stated anywhere.

Hi @thatmattwade - there is a PDF download link with the feature parity info. You may want to connect with support to see if this is an issue in your environment or something we should flag as an exception. We strive for feature parity across cloud environments so documentation typically only highlights features that don't work.


Fix another typo in setup.py

avalible ➡ available
compatability ➡ compatibility
👍 👍 👍

Thank you!


Need help in altering/modying and understanding the theme

Hello fellow contributors! Thank you so much for coming up with a great theme.
I am new to this system and wanted to understand a few things. If this not the right forum to query here, please accept my apologies and guide me to the right one.

I want to know how I can replace the color background/texture of header with an image

To go about modifying the HTML layout in general

To give the creators credit as and when I take my page live

Also, please do let me know about the correct platform so that I can go there in future for queries pertaning to this.
Thanks.

For your use case, it would be better to fork the repo and change it to create your site

If you don't want one of the already defined textures, you can create a new one. First, you add it here

texture:
  ...
  style: custom

And then you can add some css here
https://github.com/thelehhman/texture/blob/0df7b010b93bf5ca4ea2de4dbe83f64ac40bf30b/assets/css/style.scss#L55
For example,
.texture-custom {
    background-image: url(path to my image)
}

You can modify the files in the _layouts folder, its like html but enhanced using liquid templating
A small line in the footer would do :)

Thank you so much!


Fix a small typo in documentation

The demo error-message was not right and has been altered.

Thanks!


Add feature to reply with glow stats when user sends

When a user sends '$stats' in the chat, glowbot replies with glow stats fetched from the glowstats.xyz api.
E.g.:
user:
$stats
glowbot:
Glow price (Uniswap): $2.2939
Glow price (Contract): $2.4349
Token holders: 530
Number of farms: 6
Power output of Glow farms (last week): 412 KWh

@DavidVorick @ShaneF67 PTAL


[system-probe] Report count of different types of DNS errors

What does this PR do?
Problem
Currently, when we receive a DNS response, we categorize them into two groups based on the rcode:

If rcode == 0, we increment the count for SuccessfulResponses
Otherwise, we increment the count FailedResponses

It turns out that this information is too coarse grained. For a failure, the user wants to know the specific type of the error.
Solution
In this PR, we update the code to keep track of the count of responses received with different rcodes.

rcode
count

0
1

3
5

...
...

Instead of keeping separate count for Successes and Failures, we use only this map in the Snooper. However, when sending data to the backend, we still need to populate the fields DNSSuccessfulResponses and DNSFailedResponses for backward compatibility with the backend. We will gradually phase them out.
Additional changes

github.com/miekg/dns has been upgraded to v1.1.31. This is because during testing, we want to reuse the same TCP connection for multiple queries with the function ExchangeWithConn. This is not available in the older version we were using.
There is no way to forceSERVFAIL response from a regular DNS server. So, in the test for failures, we now spin up a local DNS server that always return SERVFAIL irrespective of query.

Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Describe your test plan
Write there any instructions and details you may have to test your PR.

Start the system-probe. (sudo ./bin/system-probe/system-probe on the Agent VM).
Do a curl for a legit domain.  curl cnn.com
Do curl -s --unix-socket /opt/datadog-agent/run/sysprobe.sock http://unix/connections?client_id=1 | jq .

There should be some output of the following form:
    {
      "pid": 644,
      "laddr": {
        "ip": "<IP_ADDRESS>",
        "port": 59352,
        "containerId": "",
        "hostId": "0"
      },
      "raddr": {
        "ip": "<IP_ADDRESS>",
        "port": 53,
        "containerId": "",
        "hostId": "0"
      },
      "family": "v4",
      "type": "udp",
      "pidCreateTime": "0",
      "lastBytesSent": "59",
      "lastBytesReceived": "200",
      "lastRetransmits": 0,
      "direction": "outgoing",
      "netNS":<PHONE_NUMBER>,
      "remoteNetworkId": "",
      "ipTranslation": null,
      "rtt": 0,
      "rttVar": 0,
      "intraHost": false,
      "dnsSuccessfulResponses": 1,
      "dnsFailedResponses": 0,
      "dnsTimeouts": 0,
      "dnsSuccessLatencySum": "66692",
      "dnsFailureLatencySum": "0",
      "dnsCountByRcode": {
        "0": 1
      },
      "lastTcpEstablished": 0,
      "lastTcpClosed": 0
    }

Check dnsCountByRcode. It should have 1 for key 0 and it should match dnsSuccessfulResponses.
Similarly, we can do curl for an invalid domain (e.g curl asdfsfs). The output should be something like the following:
"dnsCountByRcode": {
        "3": 1
      },

Mind filling in the PR description text - it's nice to have before the PR is put up, especially as we get new people (like myself :) ) that don't have the context already that we want to review code to help get that context.

Thanks for the suggestion. I have fleshed out the description section. It is not only for new people - I find it difficult to figure out why I did something in my own PR if I look at it few months later. So it is always good to have it and I need to get into the habit of writing descriptions for all my PRs. Please continue to ping me whenever you don't see one in any of my PRs.

Otherwise looks good, although it would be nice to have another test for a different type of error to exercise the code a bit better.

Added a test to generate SERVFAIL errors though it turned out to be much more difficult than I anticipated. The queries can't be tweaked to force this kind of response. So I ended up using a dumb local server.

@heyronhay , can you please have a look at this PR again? This is blocked on your approval.


query a parquet file 4 times slower than clickhouse local

(you don't have to strictly follow this form)
Describe the situation
SELECT avg(i) FROM file('/data/t.parquet') group by round(log10(i));
chdb costs 400s, clickhouse local costs 100s
How to reproduce

Which ClickHouse server version to use 23.6
Which interface to use, if matters CLI.py
Non-default settings, if any
CREATE TABLE statements for all tables involved
select number::int i FROM numbers_mt(1,1000000000)t into outfile '/data/t.parquet';
Sample data for all these tables, use clickhouse-obfuscator if necessary
Queries to run that lead to slow performance
SELECT avg(i) FROM file('/data/t.parquet') group by round(log10(i));

Expected performance
What are your performance expectation, why do you think they are realistic? Has it been working faster in older ClickHouse releases? Is it working faster in some specific other system?
I hope chdb runs as fast as clickhouse local.
Additional context
Add any other context about the problem here.
btw
select number::int i FROM numbers_mt(1,1000000000)t into outfile '/data/t.parquet';
chdb runs  as fast as clickhouse local

a 1/10 size parquet has the same problem
root@localhost:/data/data/com.termux/files/home# time python3  -m chdb "SELECT avg(i) FROM file('/data/t2.parquet') group by round(log10(i)); " Pretty
<jemalloc>: Number of CPUs detected is not deterministic. Per-CPU arena disabled.
┏━━━━━━━━━━━━┓
┃     avg(i) ┃
┡━━━━━━━━━━━━┩
│          2 │
├────────────┤
│   17392527 │
├────────────┤
│    17392.5 │
├────────────┤
│     1739.5 │
├────────────┤
│     173925 │
├────────────┤
│       17.5 │
├────────────┤
│        174 │
├────────────┤
│ 65811388.5 │
├────────────┤
│  1739252.5 │
└────────────┘

real    0m38.475s
user    0m37.700s
sys     0m17.630s

root@localhost:/data/data/com.termux/files/home# time ./ch239 --local -q "SELECT avg(i) FROM file('/data/t2.parquet') group by round(log10(i));"
<jemalloc>: Number of CPUs detected is not deterministic. Per-CPU arena disabled.
Lowered mark cache size to 2.79 GiB because the system has limited RAM
2
17392527
17392.5
1739.5
173925
17.5
174
65811388.5
1739252.5

real    0m13.121s
user    0m24.100s
sys     0m6.240s

Thanks for the report @l1t1 we appreciate it! This definitely helps refine our scope.  The next chdb versions should improve any gaps in performance, although clickhouse-local and chdb are built slightly different (jemalloc for one) so details about the execution context are extremely important. I cannot reproduce this performance gap on my system for instance.
<jemalloc>: Number of CPUs detected is not deterministic. Per-CPU arena disabled. This is quite odd. Could you tell us more about the running environment?

not only query file, query numbers_mt() has the same question. the max_threads values are the same.

root@localhost:/data/data/com.termux/files/home# time ./ck235 --local -q "SELECT avg(number) FROM numbers_mt(1,100000000) group by round(log10(number));"
<jemalloc>: Number of CPUs detected is not deterministic. Per-CPU arena disabled.
2
17392527
17392.5
1739.5
173925
17.5
174
65811388.5
1739252.5

real    0m1.535s
user    0m7.530s
sys     0m0.200s
root@localhost:/data/data/com.termux/files/home# time python3  -m chdb "SELECT avg(number) FROM numbers_mt(1,100000000) group by round(log10(number))" Pretty
<jemalloc>: Number of CPUs detected is not deterministic. Per-CPU arena disabled.
┏━━━━━━━━━━━━━┓
┃ avg(number) ┃
┡━━━━━━━━━━━━━┩
│           2 │
├─────────────┤
│    17392527 │
├─────────────┤
│     17392.5 │
├─────────────┤
│      1739.5 │
├─────────────┤
│      173925 │
├─────────────┤
│        17.5 │
├─────────────┤
│         174 │
├─────────────┤
│  65811388.5 │
├─────────────┤
│   1739252.5 │
└─────────────┘

real    0m3.695s
user    0m8.820s
sys     0m0.460s

root@localhost:/data/data/com.termux/files/home# time python3  -m chdb "SELECT getSetting('max_threads')" Pretty                                        <jemalloc>: Number of CPUs detected is not deterministic. Per-CPU arena disabled.
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ getSetting('max_threads') ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│                         8 │
└───────────────────────────┘

real    0m2.337s
user    0m1.500s
sys     0m0.380s
root@localhost:/data/data/com.termux/files/home# time ./ck235 --local -q "SELECT getSetting('max_threads');"                                            <jemalloc>: Number of CPUs detected is not deterministic. Per-CPU arena disabled.
8

real    0m0.609s
user    0m0.390s
sys     0m0.110s

I run them on termux + proot-distro ubuntu 22.04
a phone has 8-core CPU and 6GB memory

Termux Variables:
TERMUX_APK_RELEASE=GITHUB
TERMUX_APP_PACKAGE_MANAGER=apt
TERMUX_APP_PID=3239
TERMUX_IS_DEBUGGABLE_BUILD=1
TERMUX_MAIN_PACKAGE_FORMAT=debian
TERMUX_VERSION=0.118.0
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main
# tur-repo (sources.list.d/tur.list)
deb https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous
Updatable packages:
apt/stable 2.7.6 aarch64 [upgradable from: 2.7.3]
brotli/stable 1.1.0 aarch64 [upgradable from: 1.0.9-1]
command-not-found/stable 2.3.0-3 aarch64 [upgradable from: 2.3.0-1]
coreutils/stable 9.4 aarch64 [upgradable from: 9.3]
curl/stable 8.3.0 aarch64 [upgradable from: 8.2.1]
dos2unix/stable 7.5.1 aarch64 [upgradable from: 7.5.0]
libarchive/stable 3.7.2 aarch64 [upgradable from: 3.7.1]
libcurl/stable 8.3.0 aarch64 [upgradable from: 8.2.1]
libimagequant/stable 4.2.1 aarch64 [upgradable from: 4.2.0]
libsqlite/stable 3.43.1 aarch64 [upgradable from: 3.42.0]
libunbound/stable 1.18.0 aarch64 [upgradable from: 1.17.1-2]
libwebp/stable 1.3.2 aarch64 [upgradable from: 1.3.1-2]
openssl/stable 1:3.1.3 aarch64 [upgradable from: 1:3.1.2]
python-numpy/stable 1.26.0 aarch64 [upgradable from: 1.25.2]
python-pandas/tur-packages 2.1.1 aarch64 [upgradable from: 2.1.0]
python-pillow/stable 10.0.1 aarch64 [upgradable from: 10.0.0]
rust/stable 1.72.1 aarch64 [upgradable from: 1.70.0-1]
unbound/stable 1.18.0 aarch64 [upgradable from: 1.17.1-2]
vim-runtime/stable 9.0.1900 all [upgradable from: 9.0.1800]
vim/stable 9.0.1900 aarch64 [upgradable from: 9.0.1800]
termux-tools version:
1.39.0
Android version:
8.1.0
Kernel build information:
Linux localhost 4.4.78-perf-g6520db4 #1 SMP PREEMPT Sat Dec 8 00:50:29 CST 2018 aarch64 Android
Device manufacturer:
Xiaomi
Device model:
Mi Note 3
LD Variables:
LD_LIBRARY_PATH=
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so

another phone didn't show jmalloc message, has the same question too
root@localhost:/data/data/com.termux/files/home# time ./clickhouse --local -q "SELECT avg(number) FROM numbers_mt(1,100000000) group by round(log10(number));"
2
17392527
17392.5
1739.5
173925
17.5
174
65811388.5
1739252.5

real    0m0.617s
user    0m3.563s
sys     0m0.145s
root@localhost:/data/data/com.termux/files/home# time python3  -m chdb "SELECT avg(number) FROM numbers_mt(1,100000000) group by round(log10(number))" Pretty
┏━━━━━━━━━━━━━┓
┃ avg(number) ┃
┡━━━━━━━━━━━━━┩
│           2 │
├─────────────┤
│    17392527 │
├─────────────┤
│     17392.5 │
├─────────────┤
│      1739.5 │
├─────────────┤
│      173925 │
├─────────────┤
│        17.5 │
├─────────────┤
│         174 │
├─────────────┤
│  65811388.5 │
├─────────────┤
│   1739252.5 │
└─────────────┘

real    0m1.688s
user    0m3.928s
sys     0m0.208s

the cpu info
~ $ lscpu
Architecture:           aarch64
  CPU op-mode(s):       32-bit, 64-bit
  Byte Order:           Little Endian
CPU(s):                 8
  On-line CPU(s) list:  0-7
Vendor ID:              ARM
  Model name:           Cortex-A55
    Model:              0
    Thread(s) per core: 1
    Core(s) per socket: 4
    Socket(s):          1
    Stepping:           r1p0
    CPU(s) scaling MHz: 72%
    CPU max MHz:        1863.0000
    CPU min MHz:        554.0000
    BogoMIPS:           3.84
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrc
                        pc dcpop asimddp
  Model name:           -
    Model:              0
    Thread(s) per core: 1
    Core(s) per socket: 2
    Socket(s):          2
    Stepping:           0x3
    CPU(s) scaling MHz: 65%
    CPU max MHz:        2861.0000
    CPU min MHz:        826.0000
    BogoMIPS:           3.84
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrc
                        pc dcpop asimddp

maybe it only occurs on a slow CPU, at faster phone, when increasing the data size, chdb runs as fast as clickhouse local.
root@localhost:/data/data/com.termux/files/home# time ./clickhouse --local -q "SELECT avg(number) FROM numbers_mt(1,1000000000) group by round(log10(number));"
2
658113883.5
17392527
17392.5
1739.5
173925
17.5
174
173925271.5
1739252.5

real    0m4.716s
user    0m35.153s
sys     0m0.238s
root@localhost:/data/data/com.termux/files/home# time ./clickhouse --local -q "SELECT avg(number) FROM numbers_mt(1,2000000000) group by round(log10(number));"
2
1158113883.5
17392527
17392.5
1739.5
173925
17.5
174
173925271.5
1739252.5

real    0m9.257s
user    1m10.508s
sys     0m0.407s

root@localhost:~# time python3  -m chdb "SELECT avg(number) FROM numbers_mt(1,1000000000) group by round(log10(number))" Pretty
┏━━━━━━━━━━━━━┓
┃ avg(number) ┃
┡━━━━━━━━━━━━━┩
│           2 │
├─────────────┤
│ 658113883.5 │
├─────────────┤
│    17392527 │
├─────────────┤
│     17392.5 │
├─────────────┤
│      1739.5 │
├─────────────┤
│      173925 │
├─────────────┤
│        17.5 │
├─────────────┤
│         174 │
├─────────────┤
│ 173925271.5 │
├─────────────┤
│   1739252.5 │
└─────────────┘

real    0m5.027s
user    0m33.919s
sys     0m0.405s
root@localhost:~# time python3  -m chdb "SELECT avg(number) FROM numbers_mt(1,2000000000) group by round(log10(number))" Pretty
┏━━━━━━━━━━━━━━┓
┃  avg(number) ┃
┡━━━━━━━━━━━━━━┩
│            2 │
├──────────────┤
│<PHONE_NUMBER>.5 │
├──────────────┤
│     17392527 │
├──────────────┤
│      17392.5 │
├──────────────┤
│       1739.5 │
├──────────────┤
│       173925 │
├──────────────┤
│         17.5 │
├──────────────┤
│          174 │
├──────────────┤
│  173925271.5 │
├──────────────┤
│    1739252.5 │
└──────────────┘

real    0m9.718s
user    1m8.479s
sys     0m0.670s


Roll engine af42b6dc95bd..f05b08b7bacc (7 commits)

https://github.com/flutter/engine/compare/af42b6dc95bd...f05b08b7bacc
git log af42b6dc95bd..f05b08b7bacc --no-merges --oneline
f05b08b7b Roll src/third_party/skia f125111ca733..7ba1d64f0706 (18 commits) (flutter/engine#6102)
eb9738610 Roll src/third_party/skia 0fdc53f9ffc6..f125111ca733 (10 commits) (flutter/engine#6100)
06b8fa4ed Roll src/third_party/skia dd04bec39cea..0fdc53f9ffc6 (13 commits) (flutter/engine#6098)
bf078042d Roll ICU to c56c671998902fcc4fc9ace88c83daa99f980793 (flutter/engine#6097)
c867305c3 Unconditionally set resource id to empty string (flutter/engine#6096)
b4b1d0578 Roll src/third_party/skia e00fe30b8fe7..dd04bec39cea (4 commits) (flutter/engine#6095)
8694036a6 Roll src/third_party/skia 420696961c8c..e00fe30b8fe7 (1 commits) (flutter/engine#6094)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

@rmistry @liyuqian : New roll has been created by https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/5245176117198848

Commit queue failed; closing this roll.


fix: do not init glog

We were internally initializing the glog library. This causes issues when other python libs also init it because it should only be initialized once.
This PR removes the initialization completely. If that causes issues, we can expose an init glog method to python and call it on each __main__ on the lib.

Thank you @paulinus for fixing this. :+1: Too bad glog does not initialize per shared object (or module in Windows' speak) like any well written library which requires initialization. :disappointed: Furthermore, glog also depends on libunwind, which is a pain in the @$$ to build and run on Windows.


Arm: Hard fault on nRF5340 after #65071 for Bluetooth

Describe the bug
After https://github.com/zephyrproject-rtos/zephyr/pull/65071 got merged, running any Bluetooth application results in a hardfault on the nRF5340's application core.
To Reproduce
Steps to reproduce the behavior:

Build and flash the hci_ipc sample to the network core
Build and flash the peripheral sample to the application core
See error

Expected behavior
Expect samples to work
Impact
Blocks nearly all usage of the nRF5340 boards
Logs and console output
*** Booting Zephyr OS build v3.6.0-2565-gb4eac67b8b2e ***
[00:00:00.423,309] <inf> fs_nvs: 6 Sectors of 4096 bytes
[00:00:00.423,309] <inf> fs_nvs: alloc wra: 0, fe8
[00:00:00.423,309] <inf> fs_nvs: data wra: 0, 0
[00:00:00.424,194] <err> bt_hci_driver: Endpoint binding failed with -11
[00:00:00.424,224] <err> bt_hci_core: HCI driver open failed (-11)
Bluetooth init failed (err -11)
[00:00:00.424,255] <err> os: ***** HARD FAULT *****
[00:00:00.424,255] <err> os:   Fault escalation (see below)
[00:00:00.424,285] <err> os: ***** BUS FAULT *****
[00:00:00.424,285] <err> os:   Precise data bus error
[00:00:00.424,285] <err> os:   BFAR Address: 0x0
[00:00:00.424,316] <err> os: r0/a1:  0x50000000  r1/a2:  0x00003ff0  r2/a3:  0x00000000
[00:00:00.424,316] <err> os: r3/a4:  0x00000005 r12/ip:  0x0000000c r14/lr:  0x0000152f
[00:00:00.424,316] <err> os:  xpsr:  0x89000000
[00:00:00.424,316] <err> os: Faulting instruction address (r15/pc): 0x000015e4
[00:00:00.424,346] <err> os: >>> ZEPHYR FATAL ERROR 25: Unknown error on CPU 0
[00:00:00.424,377] <err> os: Current thread: 0x200018b0 (main)
[00:00:00.535,034] <err> os: Halting system

Environment (please complete the following information):

Commit SHA or Version used: b4eac67b8b2eee5381d58671fddb8ae9bf2a3989 but issue also appears with https://github.com/zephyrproject-rtos/zephyr/pull/71593

Additional context
Non Bluetooth samples are still working, such as the hello_world sample

From https://github.com/zephyrproject-rtos/zephyr/pull/71595 it appears that this also applies the nRF52840 board, which uses a different driver, so it's still related to Bluetooth, but not the driver (and affects multiple boards)

Non bluetooth are affected too e.g
https://github.com/zephyrproject-rtos/zephyr/pull/65071#issuecomment-2060727351


style: reorder imports via prettier

Description
Please explain the changes you made here.
Reorders the imports to maintain parity with the janus plugins repo. https://github.com/janus-idp/backstage-plugins/pull/419
Which issue(s) does this PR fix
N/A
PR acceptance criteria
Please make sure that the following steps are complete:

GitHub Actions are completed and successful
Unit Tests are updated and passing
E2E Tests are updated and passing
Documentation is updated if necessary
Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

As discussed several times, we need to stay in parity with upstream. This PR will not be merged.

@christophe-f We have already merged a PR like this in https://github.com/janus-idp/backstage-plugins/pull/419. The only changes this PR is to the import order and does not diverge code logic wise from the upstream.


fix: missing cstdint include to fix build on Alpine

What type of PR is this?

/kind bug

/area libsinsp

Which issue(s) this PR fixes:
https://github.com/falcosecurity/libs/issues/1741

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

ae133ab fix: missing cstdint include to fix build on Alpine

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Quarky9
Once this PR has been reviewed and has the lgtm label, please assign jasondellaluce for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @Quarky9! It looks like this is your first PR to falcosecurity/libs 🎉

/kind bug
/area libsinsp

Thanks for this PR! You need to sign commits using DCO: https://github.com/falcosecurity/.github/blob/main/CONTRIBUTING.md#developer-certificate-of-origin

Let's try it for 0.15.0

LGTM label has been added.  Git tree hash: fef3725ec66e98575de29616be5b705923ad9482

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, Quarky9
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, Quarky9
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Rotation

Is it possible to add rotation? (i know it is :))

This can be used as API reference, enable lambda gets zoom, pan, rotation and says to zoomable state should it update layout or intercept pointers to not go throught it, this is usefult in pagers, like each image is zoomed, but if it's not you can scroll

I don't like library that i provided firstly because it zooms very ugly and not in action performed place, instead in screen center and this is annoying

@T8RIN
Thank you for your suggestion.
I know it's possible to rotate the element. But I don't see the need for that feature.

I will close this Issue because rotation does not fit the use case envisioned by this library.


Program abort when using view.each in entt-3.2.2

Context:
I have a Window system which iterates through all entities which have a Layer component, a Sprite component and a Transform2D component.
Sprite component structure:
struct Sprite
{
        explicit Sprite(const TexturePtr& texture_ptr) :
            Sprite(texture_ptr, Maths::Rect2u { texture_ptr->GetSize() })
        {}

        explicit Sprite(TexturePtr texture_ptr, Maths::Rect2u texture_frame) :
            Texture(std::move(texture_ptr)), TextureFrame(texture_frame)
        {
            this->SfmlData.setTexture(this->Texture->SfmlData);
            this->SfmlData.setTextureRect(this->TextureFrame.To<int>().ToSfRect());
        }

        TexturePtr Texture;

        Maths::Rect2u TextureFrame;

        bool IsVisible { true };

        sf::Sprite SfmlData;
};

Transform2D component structure:
struct Transform2D
{
        Transform2D() noexcept :
            Transform2D(Maths::Vec2f {}, Maths::Vec2f(1, 1), 0.0f, false)
        {}

        explicit Transform2D(Maths::Vec2f pos) noexcept :
            Transform2D(pos, Maths::Vec2f(1, 1), 0.0f, false)
        {}

        explicit Transform2D(Maths::Vec2f pos, Maths::Vec2f scale) noexcept :
            Transform2D(pos, scale, 0.0f, false)
        {}

        explicit Transform2D(Maths::Vec2f pos, Maths::Vec2f scale, float rotation) noexcept :
            Transform2D(pos, scale, rotation, false)
        {}

        explicit Transform2D(Maths::Vec2f pos, Maths::Vec2f scale, float rotation, bool centered) noexcept :
            Position(pos), Scale(scale), Rotation(rotation), IsCentered(centered)
        {}

        explicit Transform2D(Maths::Vec2f pos, Maths::Vec2f scale, float rotation, Maths::Vec2f origin) noexcept :
            Position(pos), Scale(scale), Rotation(rotation), Origin(origin), IsCentered(false)
        {}

        Maths::Vec2f Position;

        Maths::Vec2f Scale;

        float Rotation;

        Maths::Vec2f Origin;

        bool IsCentered;
};

The window system
template <typename TLayer, typename TDrawable>
inline void Window::Draw()
{
    this->_entity_registry.view<TDrawable, Physics::Transform2D, TLayer>.each(
        [&](const auto, const auto& drawable, const auto&, const auto)
        {
            if (drawable.IsVisible)
            {
                this->_sfml_window.draw(drawable.SfmlData);
            }
        });
}

Bug:
When I assign at least 2 Sprite components to my entities, the program will abort when using view<Sprite, Physics::Transform2D, Layer>.each()
What I found until now:
When iterating, the first entity assigned to a Sprite does not have any issue.
But when it's the second entity's turn, the drawable parameter of my lambda is not correct.
Debugger screens of the second entity's Sprite:
Inside the lambda the drawable parameter does not seem valid:

Inside view::get() the drawable value seems valid.
view::get() is called by view::traverse() which is called by view::each()

How I deal with the problem right now:
To fix it, I have to change the first returning line of view::get()
From:

To:

The problem seems to come from the return *it inside view::get but I don't know why.

:D

And i forget to mention how I create entities and assign them components:
int main()
{
    auto cursor_path = GetBinaryDirectoryPath() / "Resources" / "Cursor.png";
    auto cursor_frame = Rect2u { 0, 0, 10, 10 };

    auto tex = std::make_shared<Texture>(cursor_path);

    {
        auto et = this->_entity_registry.create();
        this->_entity_registry.assign<Sprite>(et, tex);
        this->_entity_registry.assign<Layer1>(et);
        this->_entity_registry.assign<Transform2D>(et, Vec2f { 400, 400 });
    }

    {
        auto et = this->_entity_registry.create();
        this->_entity_registry.assign<Sprite>(et, tex);
        this->_entity_registry.assign<Layer1>(et);
        this->_entity_registry.assign<Transform2D>(et, Vec2f { 250, 300 });
    }
}

Is it possible to have a minimal example so as to reproduce the error?
From what I see, there is nothing wrong in what you're doing and it's pretty difficult to know where the error is from these snippets.

I put the code you posted in a small program and everything works as expected.
It's unlikely this code is the same that gives you problems, since there are some wrong this-> here and there and a few other things to fix to make it work.
It seems that you're invalidating the iterators/pools somehow during iterations but I've no clue of the reasons, so I don't know how to help you.
As it stands, the issue is invalid. Please, submit a code that can be used to reproduce the problem.
I'll leave the issue open for a week or so in order to give you the time to add more details.

As a side note, using cpool->get(entt) rather than *it works fine because it doesn't use the underlying iterator and therefore it doesn't suffer from invalidation.
The drawback is that it's a loss of performance for no real benefit, since probably invalidating an iterator will cause problems anyway sooner or later and somewhere else.
I'd rather try to find the root cause of your problem. :+1:

I found the problem coming from another area of my code. I was using:
if (_registry.has<Comp>(et))
  _registry.assign<Comp>(et);

Instead of _registry.replace
As the documentation says, assigning an already assigned component is undefined behavior, maybe it was the reason why the iterators were invalid.

That's good, I'm glad you found it. Thank you for investigating.
Afaik it should assert in debug though, doesn't it?

I don't see any ENTT_ASSERT inside view::traverse method.

I don't see any ENTT_ASSERT inside view::traverse method.

No, I mean, it asserts if you assign a component to an entity that has it already.
traverse knows nothing about the error ofc, it makes perfectly sense. :wink:

And thank you for your amazing ECS !

Thank you for using it! Is it for an open-source project or a private one?

Hmm it's weird, indeed it should assert.
Indeed, it's for a private project, I am working on a game engine (simply called DN4VRengine) with a really high level API which provides IO, 2D, physics, maths, lua, observable, reflection, serialization... procedures.
No graphics wrapper dependant stuff, you can choose the graphical wrapper you like (sfml, sdl...) without editing your code. I also encapsulated entt::registry . 😃
I'm doing this to challenge myself and for the special game I want to create since years.

It sounds interesting. Ping me if you need help and feel free to join the gitter channel if you want to talk with other users of this library. :wink:


627/resolve failing basic info tests

This PR:
Resolves #627
Fixes 2 broken tests.
Test 1: Clear all returns everything to default state.
The functionality was correct, the test was failing because it was not selecting the correct element to view if the new state is rendered properly. I decided to check that /Decline to answer/ was in the DOM rather than burrowing looking for the value of 9. Changed DOB reset value to empty string.
Test 2: submits a basic info profile update when you click the submit button
This one was harder to test. You can't type any specific date into this MUI component using RTL because it automatically opens the calendar view. What I decided to do was press enter to automatically select the current date, as the current date will always be default highlighted in the component. There's some variation in how Date.now() and the DatePicker element format the current date, so I converted Date.now() to the raw formatted yyyy-mm-dd date, and back into a days object to compare to the DatePicker's value.

A separate issue, not exactly related to this one, but I was wondering if we would want to make the clear and submit buttons visible only when the user wants to edit the information. This is similar to how we have the edit button in Profile.

The changes looks good. Not getting any errors when submitting new values for the form.
One thing I've noticed however is that once the user submits a date for DOB, they could no longer reset it to an empty string/null state. They have to select a different date. Was wondering if we would want to keep that given that the field was supposed to be optional.

Hmmm. I didn't notice this before. Will look into it after work.

A separate issue, not exactly related to this one, but I was wondering if we would want to make the clear and submit buttons visible only when the user wants to edit the information. This is similar to how we have the edit button in Profile.

I personally feel that having a clear button is more user friendly for initially filling out a form, while when editing a user would probably want to edit individual fields at a time. I don't see a UI design for it though so I'm willing to try either.

The changes looks good. Not getting any errors when submitting new values for the form.
One thing I've noticed however is that once the user submits a date for DOB, they could no longer reset it to an empty string/null state. They have to select a different date. Was wondering if we would want to keep that given that the field was supposed to be optional.

@leekahung , I'm trying to replicate this but on my end everything appears to be fully cleared even after submitting previous information. Can you share the steps you took to replicate the behavior?

@leekahung , I'm trying to replicate this but on my end everything appears to be fully cleared even after submitting previous information. Can you share the steps you took to replicate the behavior?

Hey @JaeGif, no problem.
For the steps, I simply went to the Basic Info form and first submitted some initial information.
From there I tried submitting the form after clearing it. While clearing the form itself with the button is fine, however, when I want to submit the new information, it was prevented from doing so even though the message says my form was updated with the cleared fields.
When I refresh the page or go to a different page and back, the value for DOB has not changed nor has my Legal Name (though I think it's more related DOB using an invalid input, see clip below). Only when I switched the DOB values to a new date did the values finally change.
From what I see from the errors, it seems to be related to the handler functions for input changes and form submission.
https://github.com/codeforpdx/PASS/assets/14917816/b3afd0fe-ca3f-45a9-91cc-406ee3570be3
Here's what it looks like from the storage standpoint:
https://github.com/codeforpdx/PASS/assets/14917816/33abe03a-c78d-494b-86df-6be0b91b0e31

@leekahung , I'm trying to replicate this but on my end everything appears to be fully cleared even after submitting previous information. Can you share the steps you took to replicate the behavior?

Hey @JaeGif, no problem.
For the steps, I simply went to the Basic Info form and first submitted some initial information.
From there I tried submitting the form after clearing it. While clearing the form itself with the button is fine, however, when I want to submit the new information, it was prevented from doing so even though the message says my form was updated with the cleared fields.
When I refresh the page or go to a different page and back, the value for DOB has not changed nor has my Legal Name (though I think it's more related DOB using an invalid input, see clip below). Only when I switched the DOB values to a new date did the values finally change.
From what I see from the errors, it seems to be related to the handler functions for input changes and form submission.
Screen.Recording.2024-05-11.at.12.24.06.PM.mov
Here's what it looks like from the storage standpoint:
Screen.Recording.2024-05-11.at.12.33.45.PM.mov

I believe I've fixed the bug. It occurs because I was using '' as the default value of DatePicker. I changed the default value to null, however null is coerced by the DatePicker element to an empty string representation in the DatePicker's value, yet passed on as null to handler functions. The test therefore needs to check than the DatePicker's value is '' after clearing the form. If you check for null it will fail because the internal representation is ''.

For the steps, I simply went to the Basic Info form and first submitted some initial information.
From there I tried submitting the form after clearing it. While clearing the form itself with the button is fine, however, when I want to submit the new information, it was prevented from doing so even though the message says my form was updated with the cleared fields.
When I refresh the page or go to a different page and back, the value for DOB has not changed nor has my Legal Name (though I think it's more related DOB using an invalid input, see clip below). Only when I switched the DOB values to a new date did the values finally change.
From what I see from the errors, it seems to be related to the handler functions for input changes and form submission.

I believe I've fixed the bug. It occurs because I was using '' as the default value of DatePicker. I changed the default value to null, however null is coerced by the DatePicker element to an empty string representation in the DatePicker's value, yet passed on as null to handler functions. The test therefore needs to check than the DatePicker's value is '' after clearing the form. If you check for null it will fail because the internal representation is ''.


Added attachment API and documentation for the attachment API

Created functions to insert attachments, remove them and read them either as buffer or pipe them through to the response.
The documentation has been updated as well. Besides describing the additional attachment functions with examples how to use them, I also left a note on the update function, which will create a new revision of the document only containing the data provided to the update function. Existing data in the database will be overwritten by the new revision. For now this behaviour is described. In the future we could think about altering that behaviour and merging the existing document with the updates provided as default and only use the current behaviour (overwrite / replace) when specified by an option (or by calling a separate function replace(..))

Hi Peter,
thanks for these. Some thoughts
whether you see no need for these methods on the client side ?  Clients never subscribe to cursors that have attachments ? Can that be a future req ?
Also one of the driving principles for meteor was same API on client and server, hence checking on above.  (we anyhow give you u the DB object)
Also the pipeAttachment with its response parameter, is hard to be generic API.

Afaik attachments are not delivered via the cursor and therefore no user subscribes to them, which means they're not available as binary in the client. The cursor only contains an _attachments field for each document owning attachments, which contains the attachment meta data (file name, size, mime type, etc.).
Having client-side functions to retrieve attachments sounds like an idea, although it would just be a replica of the example code in the README and add more convenience than functionality. The pipeAttachment function is there to make it easier for a developer to deliver attachments to the client via an explicit URL.


caasp4: Only touch port security on openstack deploy

Only disable Port security when DEPLOYMENT_MECHANISM=openstack. This
should fix libvirt based deployments.

Why is it problem with libvirt?

Why is it problem with libvirt? Shouldn't the search just return empty list of nodes?

It fails because deploy_on_openstack_internal_network is undefined in that case. But it would also fail e.g. if openstack is not installed.

I'm surprised it does not fail in more places then :-)


[Rpi5] Error on run (cannot find PCM)

hi !
Today i've just receive a brand new Raspberry pi 5 to repace a rpi4.
unfortunalty, after installation when i launch the run script it crash with this message.
(if i am not  mistaken, it seems to be related to a sound card not found.
So i've test with --mic-device arguement but the same error occur (chaning "Unknown PCM input" to "Unknown PCM MYDEVICE"
here's the log:
USER@raspberry:~/homeassistant-satellite $ script/run --host MYHAHOST --token MYTOKEN
**ALSA lib pcm.c:2666:(snd_pcm_open_noupdate) Unknown PCM input**
arecord: main:831: erreur à l'ouverture audio : Aucun fichier ou dossier de ce type
ERROR:root:Unexpected error in mic_task_entry
Traceback (most recent call last):
  File "/home/USER/homeassistant-satellite/homeassistant_satellite/mic_process.py", line 361, in mic_task_entry
    async for ts_chunk in mic_stream:
  File "/home/USER/homeassistant-satellite/homeassistant_satellite/mic_process.py", line 200, in _skip_mic_state_pipe
    async for ts_chunk in mic_input:
  File "/home/USER/homeassistant-satellite/homeassistant_satellite/mic_process.py", line 200, in _skip_mic_state_pipe
    async for ts_chunk in mic_input:
  File "/home/USER/homeassistant-satellite/homeassistant_satellite/mic_process.py", line 52, in __ensure_running_pipe
    async for ts_chunk in mic_input:
  File "/home/USER/homeassistant-satellite/homeassistant_satellite/mic_record.py", line 101, in record_subprocess
    chunk = await proc.stdout.readexactly(bytes_per_chunk)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/streams.py", line 726, in readexactly
    raise exceptions.IncompleteReadError(incomplete, n)
asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of 960 expected bytes
Traceback (most recent call last):
  File "/home/USER/homeassistant-satellite/script/run", line 13, in <module>
    subprocess.check_call(
  File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/USER/homeassistant-satellite/.venv/bin/python3', '-m', 'homeassistant_satellite', '--host', 'MYHAHOST', '--token', 'MYTOKEN' returned non-zero exit status 255.

i dont know why since it work without any issue on rpi4 and i use the same alsa configuration and same mic on both
Is anybody has encountered this issue with a rpi 5 ?
thanks

after some reseach i aperar that i misconfigured my alsa config file.
so no related to homeassistant-satellite
sorry for spamming


Inconsistency among Figure 19.2 and its caption

In the Figure, it is said that the parameters of the hidden layers are fine-tuned on the target dataset; not frozen.

However, in the caption, it says

fixed


RedundantSecondArray fails with dimension mismatch, missing SubgraphFusion

Removing redundant transients via RedundantSecondArray fails with a dimension mismatch, even if the dimensions would allow removal. Elements in question are softmax__tmp7 and softmax_tmp_max with shapes [H, B, SM] and [H, B, SM, 1], respectively:

This additionally makes it impossible to fuse the two shown maps, even though their ranges are the same in all dimensions.
To reproduce:
This exact scenario can be found in the SDFG generated from BERT's encoder via spcl/substation.

@phschaad Can you test if the issue has been resolved in the latest master?


feat: adds fact_enrollments model (FC-0024)

This PR adds a model, fact_enrollments, which enriches the enrollment_events MV with metadata provided by the course_names lookup table.
If merged, this will allow us to convert the fact_enrollments Superset dataset to a physical dataset. We can also simplify the fact_enrollments_by_day dataset by relying on this model instead of including another jinja template from the Superset assets directory. I've confirmed this model has the same columns as the Superset dataset it's replacing and has columns for all dashboard filters.
This PR also removes two unused enrollments models (they've since moved to the Superset assets directory in tutor-contrib-aspects).

Do any tests need to be updated for this?

Not that I can tell. Removing the old enrollment models from schema.yml also deletes the tests that were run on that model. Running dbt test locally works for me.


Strategy for keywordizing keys and values?

Hi! What's the strategy for keywordizing keys and values?
If I invoke with eg
lein cljs-lambda invoke myFn '{"foo":"bar"}',,
it arrives in my deflambda as {:foo :bar}.
This seems a bit too magical to me, as I might want {"foo" "bar"}, {:foo "bar"} or maybe even {"foo" :bar}. It probably should be up to the implementer.

You shouldn't get {:foo :bar}, rather {:foo "bar"} - see https://github.com/nervous-systems/cljs-lambda/blob/master/cljs-lambda/src/cljs_lambda/util.cljs#L25
Are you sure the value is a keyword?
In any case, you can avoid all of this behaviour by using cljs-lambda.util/async-lambda-fn directly:
(def ^:export my-fn
  (async-lambda-fn
    (fn [event ctx]
      ...)
    {:parse-input? false}))

In the above, event is a vanilla Javascript object, not a cljs map.

@moea You're right, the value is a string, sorry, my mistake.
Great tip regarding the async function, thanks for the pointer.
And thanks for a cool project :-)


Set storagecluster.status.failuredomain

The storageCluster.status.failuredomain was empty causing
the cephblockpool.spec.failuredomain to be empty as well.
Signed-off-by: N Balachandran<EMAIL_ADDRESS>

/ok-to-test


Hirarchical Inheritance in CPP

Description
This document will explain about Hierarchical Inheritance  in cpp.
Domain
C/CPP
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Integrate ABC with CREST for branch model counting

ABC model counting support added using commit id e7fc8136f89738bacc2566c63e1d57721e5941de
Further changes might require later. For now, closing this issue.
To install ABC, follow this link: https://github.com/vlab-cs-ucsb/ABC


do

Describe your problem and how to reproduce it:
Add a Link to the page with the problem:
Tell us about your browser and operating system:

Browser Name:
Browser Version:
Operating System:

If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):

We are closing this issue because you did not provide any information regarding the issue you are reporting.  If you have more information to provide, then edit the issue body and request the issue be reopened.
Thank you.


feat: Terraform example

Issue #, if available:
#1445
Description of changes:
Terraform example
TFLint and validate in the pr-build.yml
Included remarks from previous PR
Checklist

[ X ] Meet tenets criteria
[ X ] Update tests
[ X ] Update docs
[ ] PR title follows conventional commit semantics

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

Related to #1458

My previous comments were addressed! @skal111 do you mind updating the same PR next time, it makes it easier to see what's happened 💪

My previous comments were addressed! @skal111 do you mind updating the same PR next time, it makes it easier to see what's happened 💪

Yeah ok apologies, just found out you can update a PR :)
There you go.
Latest commit includes fixes relevant to this PR conversation

@skal111, there is a problem in the latest build, with the plan (here). Don't know if we can leverage the same technic as the E2E tests (see here) to assume a role and have terraform plan working.

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

Comparison is base (533ac9a) 78.58% compared to head (9019e73) 78.58%.
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##               main    #1478   +/-   ##
=========================================
  Coverage     78.58%   78.58%
  Complexity      650      650
=========================================
  Files            74       74
  Lines          2508     2508
  Branches        259      259
=========================================
  Hits           1971     1971
  Misses          455      455
  Partials         82       82

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


Ports not accessible when running the Docker container

This command does not expose the ports:
docker run -it -p 8080:8080 waltid/ssikit-wallet-backend
However, docker-compose is working fine.
Please either fix this or remove this command from the READMe

the service binds to the loopback interface by default, and therefore the port isn't reachable when using the docker container.
I chnaged the default binding address to the public interface in the docker container, which resolves the issue.


fluent - k8s - experiment collect of kubelet logs

Motivation
Understanding crashes of kubelet
Idea
Adapt docker approach based on journald ( fluent/config/fluent-bit.conf ).

https://calyptia.com/blog/how-to-collect-kubernetes-component-logs-using-fluent-bit - unifying log collect with systemd

Sounds OK :


Fix type hints and docstrings

Some of these fixes are obvious, others I'm not 100% sure:

The type of tn10 in cold_spell_duration_index
the return value of freshet_start

Pull Request Test Coverage Report for Build 1542

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.942%

Totals

Change from base Build 1539:
0.0%

Covered Lines:
1940

Relevant Lines:
2206

💛  - Coveralls

@davidcaron Thanks for the edits! I think the build error is due to a bad Travis config. I'll look into that in another PR. Feel free to merge.

Feel free to merge.

I don't have the permissions to merge 🙂


Add velocity and acceleration scaling functionality

While this compiles and looks like the correct way to interact with the limits the scaling fails with the error "It looks like the planner did not set the group the plan was computed for".
This occurs in this file:
https://github.com/ros-planning/moveit2/blob/humble/moveit_core/trajectory_processing/src/iterative_time_parameterization.cpp

Turns out the planning group has to be passed in the RobotTrajectory objects constructor to make it work. The vacuum examples pick and place vertical motions are now successfully slowed.


DM's

Still not clearing the input value for me after sending a DM, other than that lgtm :fire:

Should we add a message icon on profiles to send DMs to a user? Can't seem to send to anyone who didn't message me.

Looks great, only thing missing is an icon to start a DM conversation with a user but I can add that later when I do a UI pass.


[PE-D][Tester A] View command not working on new person

Steps to replicate:

Enter the command create n/John Doe p/98765432<EMAIL_ADDRESS>a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney tg/@meowies pf/student i/1000 d/Likes to play games
Try clicking on John Doe, or using view 7. Both don't work as intended: left clicking doesn't reveal the expected right panel, and using view 7 empties the main window.

Labels: type.FunctionalityBug severity.High
original: Elijah5399/ped#7

#139 fixes this already


add example of RC-not-US space

Connectedness properties will be a future PR (see https://math.stackexchange.com/questions/4828298/ )

A thought regarding https://topology.pi-base.org/properties/P000101.
Since we tend to prefer property names that are adjectives or somehow in adjectival form, would "Has closed retracts" be preferable to "Retracts are closed"?

Good idea, pushed as 31ea63f

marking as draft as I think we can fold in your connected results from math.stackexchange

We could also add Baire = true, since $[0,\infty)$ is a dense subspace that is Baire.  See reference in 7th bullet in Properties section of https://en.wikipedia.org/wiki/Baire_space for example.

For Baire, should be P64 (in the text also) instead of P62.
Also, we don't need P123 (locally euclidean = false) anymore, as it can be deduced from P41 (locally connected = false).

Hmm, just reread P16 (compact) and I think it's not quite there yet.  We need to extract a finite subcover.  So instead of taking "... the elements of the cover containing $\infty_E$, $\infty_D$" (there could be infinitely many of them), we should just take one or two elements the cover containing these two points.  The rest is still the same (complement is closed and bounded in ... etc).

Approving.
One unrelated thing I was wondering about.  You mentioned in the meeting that one could do something similar on the integers adjoining two infinity points and using two ultrafilters somehow.  How would that construction go?

Something strange.  Look at https://topology.pi-base.org/spaces/S000192/properties/P000064.  There are two places on the page that are supposed to link to the MR and both have the correct MR number in pi-base.  But the one from the text works and the one from the References tab leads to a different MR number???

It's because YAML tries to be too clever, and the leading zero made it parse the integer in base 8.  Probably means we need to audit the pi-Base for MRs beginning with 0...

You mentioned in the meeting that one could do something similar on the integers adjoining two infinity points and using two ultrafilters somehow. How would that construction go?

This is what I was thinking of (n.b. it's a half-baked idea): let F,G be distinct free ultrafilters on omega (as a subset of $[0,\infty)$). Then give $\infty_F$ the base of open sets ${\infty_F}\cup(a,\infty)\setminus f$ for each $f\in F$, and similar for $\infty_G$. Would this be the same as S192 if $F$ contains the set of evens and $G$ contains the set of odds? Haven't thought about it carefully.

It's not the same. If $F$ contains the evens, then it also contains either all numbers that aren't $1\mod 4$ or all numbers that aren't $3\mod 4$. So this is a strictly finer topology. It should still be an example of RC-not-US though.


ScrollView after unfolding

Great work man!

Unfoldable details usage

Please help me on this. After I click on a listview item, the item is expanding -> unfolding to the details layout. Until now everything is perfect.
But I have a ScrollView in details layout.
The problem is that I cannot scroll, because if I try to scroll, I get the folding animation -> back to the listView items.
Please advice.

Please check #38

Solved. Thank you again!


⚠ API - Spain (ES) has degraded performance

In 7a123f3, API - Spain (ES) ($URL_API) experienced degraded performance:

HTTP code: 200
Response time: 8062 ms

Resolved: API - Spain (ES) performance has improved in a4b9df7.


graceful-fs@2 and @3 support will be removed soon

Hi. karma-browserstack-launcher is currently #25 in my list of modules that would likely be broken when https://github.com/nodejs/node/pull/6413 lands (which is anticipated to happen before v7.0).
Note that graceful-fs@1 and graceful-fs@4 are ok and would not be broken by this, but a require() on graceful-fs@2 or graceful-fs@3 would cause an error soon.
That is, runtime warning fs: re-evaluating native module sources is not supported. would be turned into a throw.
If you or your deps use graceful-fs@2 or graceful-fs@3 in runtime — you are affected.
Tracking: https://github.com/nodejs/node/issues/5213.
Refs: https://github.com/pghalliday/node-BrowserStackTunnel/issues/26

@johnjbarton I think this can be closed too.


adding index.html page to plugin generator

Not the prettiest, but gets the job done:

closes https://github.com/donejs/generator-donejs/issues/102.

Coverage remained the same at 97.72% when pulling eac828d8a78c9483a72a28fec8c3a4c863494859 on plugin-index-html into 98c2395d131cda35e7182845ec62b71a040fd65d on major.


Cannot kill a long-run query.

my environment running ArangoDB
I'm using the latest ArangoDB of the respective release series:

[Y] 3.0

On this operating system:

[Y] Linux

this is an AQL-related issue:
[Y] I'm using graph features
I'm issuing AQL via:

[Y] web interface with this browser:     running on this OS:
[Y] arangosh

I am using ArangoDB for graph shortest path queries over a graph with 70 million vertices and 500 million edges. So sometimes there are queries running more than an hour without returning a result.
I want to kill such queries to release CPU and memory burden. But I cannot. I have tried to use web interface to kill the query in the "running queries" tab of "Queries" page, and it does not work. When I click yes to kill, just nothing happened.
I also tried to use arangosh to kill the queries by id, which also does not kill the long-run queries.
Is there any other way for me to kill such heavy queries? e.g., can I get the process id of such queries and kill them manually? Thanks!

Killing queries by id as you did is the only available way of telling the server to stop executing a particular query.
Fetching the process or thread id via ps, top or anything similar and killing it manually via kill will result in the entire server stopping or crashing.
There may be a few reasons if the server does not abort a long-running query:

all server threads are busy so incoming requests (and also the "kill query with id x" request) are not processed. This reason can be ruled out if the server still responds to other requests, e.g. when it serves data for the the web interface etc.
the server is busy waiting for I/O and heavily swapping or paging because it is running out of free RAM. If this is the case, you should see high io wait values in top for the server and also disk activity. In this case, killing a query may take a long time because many operations are waiting for the (slow) disk.
the server will check for a kill request only at certain points in a query. Basically a kill request only sets a flag that the executing query thread must check. This check is only done at every x iterations to save CPU time. If the server is executing "expensive" operations (which may include disk activity) when the kill request is sent, it may take some time until it will re-check the flag and actually abort the query.
some operations cannot be killed at all. For example, an AQL query may load collections if they are not already loaded. If the query is in the stage of loading collections, sending a kill request will not have effect until the query gets into the actual execution stage. The same is true if a query is waiting for locks.
specific parts of AQL may not respond to a kill request. I am currently checking if SHORTEST_PATH is responsive to kill requests or not.

I'll post an update if I find something out.

I found that SHORTEST_PATH did not respond to kill requests. So when sending a kill request to a query that executed a shortest path operation, the killed flag was set, but only checked when the entire shortest path computation was finished.
Now the shortest path code will check periodically if the query was aborted in the meantime.

Fixed in 3.0 (3.0.11), 3.1 (3.1.1) and devel.

3.0.12 is available for download via the regular upgrade channels - closing.


Scanning ubuntu:22.04 failed

I scanned ubuntu:22.04 and got
FATAL   - CIS-DI-0009: Use COPY instead of ADD in Dockerfile
        * Use COPY : /bin/sh -c #(nop) ADD file:18e71f049606f6339ce7a995839623f50e6ec6474bfd0a3a7ca799db726f47f6 in /

This problem does not occur in ubuntu:jammy-20221130, even though it also has a "ADD file ... in /" layer.
IMAGE          CREATED        CREATED BY                                      SIZE      COMMENT
6b7dfa7e8fdb   2 months ago   /bin/sh -c #(nop)  CMD ["bash"]                 0B
<missing>      2 months ago   /bin/sh -c #(nop) ADD file:481dd2da6de715252…   77.8MB

But there were some new layers added to the latest ubuntu:22.04 image build (a.k.a ubuntu:jammy-20230126),
then we got CIS-DI-0009 from dockle.
IMAGE          CREATED       CREATED BY                                      SIZE      COMMENT
58db3edaf2be   2 weeks ago   /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B
<missing>      2 weeks ago   /bin/sh -c #(nop) ADD file:18e71f049606f6339…   77.8MB
<missing>      2 weeks ago   /bin/sh -c #(nop)  LABEL org.opencontainers.…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  LABEL org.opencontainers.…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ARG LAUNCHPAD_BUILD_ARCH     0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ARG RELEASE                  0B

It looks like a false alarm to me, since those "ARG" and "LABEL" layers are unlikely cause security issues, aren't them?

@dtfans Thank you for the report.
You're right. Dockle only ignores ADD in the first line now.
https://github.com/goodwithtech/dockle/blob/3fbe4cf09cfdf6cae0172151418491a81ee7acae/pkg/assessor/manifest/manifest.go#L173
I will fix it.

Just had the same issue.
 FATAL	- CIS-DI-0009: Use COPY instead of ADD in Dockerfile
	* Use COPY : /bin/sh -c #(nop) ADD file:18e71f049606f6339ce7a995839623f50e6ec6474bfd0a3a7ca799db726f47f6 in /

@tomoyamachi are you going to address it soon?

@tomoyamachi  we can probably have a similar logic to trivy -
https://github.com/aquasecurity/trivy/blob/3987a679f9520259a1b1474e81704b8aedce2ef7/pkg/fanal/artifact/image/image.go#L496

@dtfans @lior-orca
After considering the matter, I think the current logic is acceptable.
The reason for this is that current ubuntu image is not built in accordance with best practices.
Trivy has the same problem as dockle.
Below is the Dockerfile for Ubuntu.
FROM scratch
ADD @@TARBALL@@ /
CMD ["bash"]

We can see that after the base image(scratch), a tar file is added using the ADD command.
I think it is up to the users to decide whether or not this tar file can be trusted.
Dockle does not understand whether a container image is official or not, and it only evaluates based on whether the container image is built according to best practices.

@tomoyamachi what prevents us from "guessing" the base layer, similar to trivy, which will resolve the issue
Trivy has similar issues opened, and I'm sure they will handle it over time

@lior-orca I'm sorry. I was wrong.
This issue has been fixed in version 0.4.13.


Supabase: Fixes for Realtime

Uses the correct realtime container name
Search path was not set to _realtime to due the quotes in the env variable DB_AFTER_CONNECT_QUERY

For details see these discussions on Discord:
https://discord.com/channels/459365938081431553/1217542291225448611
https://discord.com/channels/459365938081431553/1215010290325000232

Wow! Thanks for the investigation and the fix!


[Toolkit feature]: Allow comma key to be used as decimal separator, not just point.

Contact Details (Optional)
No response
What is the context of the feature/improvement?
Being a European, our numeric keypads on our keyboards has a commas and not points between the zero and return/enter keys. When inserting a number for a properties value, it would be super convenient if Toolkit allowed commas to be used the same way point is: As a decimal separator! This would allow for swift and easy input of numbers using your right hand on the numeric keypad only.
Please describe the feature/improvement?
As described above
What would be your solution? (optional)
...
Version
2024.1.1

This is also not supported on USD Composer or any other app I've tried. I'm surprised this hasn't come up before. What sort of layout are you using?

This is also not supported on USD Composer or any other app I've tried. I'm surprised this hasn't come up before. What sort of layout are you using?

Hi Sam! Yes, I thought it would be really handy. Because the numeric keypad is much easier to work with when inputting numbers, it's also close to the mouse, so dialing in numbers into property boxes will be smoother and quicker. I have a standard Swedish QWERTY keyboard, like everyone in Sweden. I'm unsure for every other country though. My numeric keypad consists of the following layout:

@sambvfx @nvdamien Any update on this guys? Still facing this issue.

Hey @PappaSlask, does this work in any other DCC (such as Blender, Maya, Unreal, etc) that you're aware of?

@PappaSlask  Any update about the question please?
Another thing, did you try to change your Windows setting please?

hi @PappaSlask - checking in to see if you can provide us the above requested feedback. We'd also like to let you know about our stale ticket policy, specifically that we will close this ticket in 2 weeks if it doesn't receive an update. Thank you!

Hi @PappaSlask - since this ticket hasn't received an update in the past month, we're going to close it as 'went-stale'. You can re-open it at any time to continue discussing this request.

Hey @PappaSlask, does this work in any other DCC (such as Blender, Maya, Unreal, etc) that you're aware of?

Guys, I'm so sorry about the long delay, I'll shape up when it comes to maintaining my tickets. Now to address your question:
I've tested this in Blender, and it works as I expect it to. The numpad comma acts like a point and I can do 0.01 flawlessly. However if I try using the comma over at the regular side of the keyboard, it won't accept it.
In Photoshop, it doesn't even accept points, so it's comma all the way anyway.
@nvdamien
Hello sir, I rather not fiddle with my default windows keyboard settings. I'd much rather you guys could allow numpad commas to be interpreted as points, similar to how Blender does it.
@NV-LL How do I reopen the ticket sir?


rrd datasources vs facette metrics

For every datasource in any rrd file (ping/value for example) I see 3 facette metrics (ping/value/{min,max,average}). Why I see them?

Hi
This is because Facette generates one metric entry per "RRA" in a RRDtool file. You can use the provider filters to exclude the metrics you don't want: http://docs.facette.io/configuration/filters/

Example provider using filters:
{
	"connector": {
		"type": "rrd",
		"path": "/var/lib/collectd/rrd",
		"pattern": "(?P<source>[^/]+)/(?P<metric>.+).rrd"
	 },

    "filters": [
        { "action": "sieve", "target": "metric", "pattern": "/average$" },
        { "action": "rewrite", "target": "metric", "pattern": "/average$", "into": "" }
    ]
}

Thanks, I did not know about {min,max,average} RRA before.


CharFXTransform has no "relative_index" equivalent in Godot 4

Godot version
4.0beta6
System information
Linux (but applies to every OS)
Issue description
There used to be a relative_index property on CharFXTransform. It was removed in Godot 4, seemingly with no replacement.
It appears that absolute_index was replaced by range. However, it can be useful for some kinds of effect (in my case, a fade-in effect) to know the text position of the character in the tag content instead, of the global index. I don't think there is a way to get this right now?
Steps to reproduce
No special steps required to reproduce.
Minimal reproduction project
N/A

cc @bruvzg


Web playground 0: Design UI using figma and gain approval from Anarchy team

Definition of done:
Design UI for web playground, raise PR and get it approved by the anarchy team before starting web playground development.

Hi, Can I please work on this issue? Thank you!


how can I install it in windows ?

hello
I hope you're doing great
and I appreciate your great work
I have no idea how can I install this library on windows ,
or its better to say is it possible to install it in windows?

Check whether this can help  https://github.com/open-mmlab/OpenPCDet/issues/681


feat(book): fix checkboxes

The book uses custom checkboxes in the quickstart chapter. When we moved the book to this repo (see
https://github.com/hacspec/hax/pull/729), we dropped the theme.
mdbook documentation suggest (see
https://rust-lang.github.io/mdBook/format/theme/index.html) copying and patching the default theme.
Since here it's such a small change, I added a small script that post-process the HTML instead.

Yeah, on the quick start! So that users follow the different steps one by one, as if that was a task list!


Large messages causing ES queue jam

Elasticsearch version:  2.4
Moloch version:  0.17.1
OS name and version:  CentOS 7.3.1611 x86_64
How was Moloch built/installed: rpm
Provide logs, stack traces and steps to reproduce:  Moloch ran well on version 0.17.1 for a couple months here, but over the last few weeks the ES queue has been backing up, requiring a restart of the capture service. Review of the ES and capture logs shows the appearance of the following two log events at the time the issue began yesterday. The ES log event corresponded to the queue filling up 4 times this week, and this morning the capture log event seemed to cause the same queue buildup without the presence of the ES log event.
molochcapture.log:
Mar 22 13:09:20 db.c:1082 moloch_db_save_session(): WARNING - 170322-6T-c2h6CwvBP16Kqyj-HemRS BIGGER then expected json 27374 60607
elasticsearch\Moloch.log:
[2017-03-22 13:09:52,483][DEBUG][action.bulk]...java.lang.IllegalArgumentException: Document contains at least one immense term in field="rawus" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped.  Please correct the analyzer to not produce such terms.  The prefix of the first immense term is: '[removed]...', original message: bytes can be at most 32766 in length; got 50157
full_es_event.txt
http_event.txt

should be fixed now

Upgrading to 0.18.0 and ES 5.2.2 has our system running very well, even without the truncation fix in yet. Thanks again for your excellent work.


NS Panel doesn't show "Controls" entities

New to HA...
I see 11 devices and 37 entites.
On eof the device is NS Panel, but it only shows 1 entity being the Temperature control while it doesn't show the "Controls" and in particular I'm looking for the "Thermostat" climate entity which do not see.
What do I do wrong? What other info you need to support?

https://github.com/AlexxIT/SonoffLAN?tab=readme-ov-file#issues


error: [Errno 104] Connection reset by peer

Recently I met an issue. I wrote an exporter to scrape hadoop metrics from several hadoop jmx urls using client_python. The exporter runs perfect at first, but some times an connection reset error report in the log, the metrics won't update either.
Any suggestions here? Thanks.
Here is the error log:
Aug 18 12:34:58 k8s-1 python[18975]: Traceback (most recent call last):
Aug 18 12:34:58 k8s-1 python[18975]: File "/usr/lib64/python2.7/SocketServer.py", line 593, in process_request_thread
Aug 18 12:34:58 k8s-1 python[18975]: self.finish_request(request, client_address)
Aug 18 12:34:58 k8s-1 python[18975]: File "/usr/lib64/python2.7/SocketServer.py", line 334, in finish_request
Aug 18 12:34:58 k8s-1 python[18975]: self.RequestHandlerClass(request, client_address, self)
Aug 18 12:34:58 k8s-1 python[18975]: File "/usr/lib64/python2.7/SocketServer.py", line 649, in __init__
Aug 18 12:34:58 k8s-1 python[18975]: self.handle()
Aug 18 12:34:58 k8s-1 python[18975]: File "/usr/lib64/python2.7/BaseHTTPServer.py", line 340, in handle
Aug 18 12:34:58 k8s-1 python[18975]: self.handle_one_request()
Aug 18 12:34:58 k8s-1 python[18975]: File "/usr/lib64/python2.7/BaseHTTPServer.py", line 310, in handle_one_request
Aug 18 12:34:58 k8s-1 python[18975]: self.raw_requestline = self.rfile.readline(65537)
Aug 18 12:34:58 k8s-1 python[18975]: File "/usr/lib64/python2.7/socket.py", line 476, in readline
Aug 18 12:34:58 k8s-1 python[18975]: data = self._sock.recv(self._rbufsize)
Aug 18 12:34:58 k8s-1 python[18975]: error: [Errno 104] Connection reset by peer

promtheus version:
[root@k8s-1 prometheus-1.7.2.linux-amd64]# prometheus -version
prometheus, version 1.7.2 (branch: HEAD, revision: 22eadbe635528fa17b99a7635fed6b6018103042)
  build user:       root@05b1548df2cc
  build date:       20170926-16:41:43
  go version:       go1.8.3

prometheus-client version: 0.2.0

I don't see anything unusual here, the other side closed the connection.
It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.

I meet the same problems, I don't know where the requests come from.
But the error logs covered the entire screen and it is too hard to check the project logs.
I think the server should catch this exception and let the user determine whether print it out


Portable C output generation

Please add an option to generate portable/selfcontained output.
ie every .c/.h/.s/.lcf  required to be able to compile the project with 3rd party target specific compiler,
(every required macros also in .h files too)
The idea is the to track every file within the project folder, and be able to compile/debug it with IAR/Keil/vendor compilers. Not just with gcc/gdb
Thus treat Zephyr as a library (or HAL), and not build everything around it, and able to use external build system (instead west).
Of course if DT changes we still should be able to update the generated files.

Can you expand upon what you mean? Zephyr is not a library nor a HAL, it's an OS. If you mean have a base "zephyr kernel" build and separate "application" build then the current answer (and likely to be for the mid-term future) is no

The idea is the to track every file within the project folder, and be able to compile/debug it with IAR/Keil/vendor compilers. Not just with gcc/gdb

Please be aware that Zephyr does support other compilers than GCC. See hhttps://docs.zephyrproject.org/latest/develop/toolchains/index.html for a list.

Thus treat Zephyr as a library (or HAL), and not build everything around it, and able to use external build system (instead west).

This does not match the design philosophy behind Zephyr and is not something, that is planned to be supported.

then I could simply build the entire application without 'west/cmake', using whatever compiler I want, e.g. IAR (which is currently unsupported), and wouldn't have to wait for Zephyr to add support for other compilers/debuggers.

Instead of waiting, you could implement this support for IAR yourself and submit it upstream, but please be aware of https://github.com/zephyrproject-rtos/zephyr/issues/63738 before embarking on this.


[Bug] I can not integrate with editor in mobile web (can not detect drag gesture)

When I open the demo in Chrome mobile, most functions work normal, but it seems the editor can not detect my drag gesture. For example, when I create a table, I can't drag to choose number columns or rows i want to create. This happened the same whens I could not resize the image size or video frame.
Can you please fix this? Thank you so much for your efforts
https://github.com/user-attachments/assets/972decff-5471-45c1-b555-482942eaecd1

When I open the demo in Chrome mobile, most functions work normal, but it seems the editor can not detect my drag gesture. For example, when I create a table, I can't drag to choose number columns or rows i want to create. This happened the same whens I could not resize the image size or video frame.
Can you please fix this? Thank you so much for your efforts
Screen_Recording_20241122_111225_Samsung.Internet.mp4

yea, Maybe need to integrate gesture events on mobile, I will check later

To be Honest, the mobile styling could be improved, especially the padding around the content are too large 😂

Hello guys, is there any updates in the near future? I really hope the editor can support mobile browser experience better


Unable to install mediapipe on jupyter notebook [python version: 3.7.1]

Overview
Hello! Hope this reaches you well.  I want to start using mediapipe with my work, but I'm having some trouble with my pip install.
I am doin this on a jupyter notebook though.
I'm running into No matching distribution found error as {#1325, #1466, #1961}. Their proposed solutions regarding python version and build unfortunately didn't work for me.
System Information
python == 3.7.1 (64-bit)
pip == 18.1
OS: Windows
Screenshot

Can you upgrade your pip and do python install -m pip instead?
MediaPipe PyPI (https://pypi.org/project/mediapipe/#files ) has "mediapipe-<IP_ADDRESS>-cp37-cp37m-win_amd64.whl", which is for  64-bit windows with python3.7 binary. If you can't install it via pip, you can download the file and manually install it.

Hi @noviicee, Can you please try the information mentioned in the above comment. Thanks!

@jiuqiant thanks for the help!
I completed my code in a code-editor. But let me try with the notebook following the procedure as well!

@jiuqiant thanks for the help!
I completed my code in a code-editor. But let me try with the notebook following the procedure as well!

It is not installing via pip. Guess I will have to do it manually 💁

2Hi @noviicee, Were you able to install MediaPipe. If still errors, please let us know the errors. Thanks

Hi @noviicee, Were you able to install MediaPipe. If still errors, please let us know the errors. Thanks

When I upgraded pip and did what is mentioned, it presented me with an error like so-

Any idea, as to why the pip is unable to upgrade..? Initially I thought there could be an error in the path, but the other installations are working fine with pip.
I am using python version 3.7.1 on jupyter.

Its working fine with 3.7.6 python version. I have tested the latest  pose sample code   in jupyter. After the installation you need to restart the kernal and try the above. Thanks!

I am getting this error can someone help me out?

Error: No Matching distribution found for Mediapipe.