downstream_rx_datagram_dropped shows big number with big jump when running UDP traffic.

listener.IP:PORT.udp.downstream_rx_datagram_dropped shows big number and jumps up with really big numbers when running UDP traffic.
Collecting the stats during few minutes:
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>8
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>80
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>80
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>80
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>00
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>58
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>36
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>78 (last one after stopping udp traffic)
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>78
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>78
listener.IP:PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>78
If the counter displays number of datagrams dropped for a specific listener?  These numbers don't look realistic from traffic perspective. There are not  that many traffic at all.
We are using envoy as L7 load balancer for sip traffic. On client side (downstream) traffic is received on TCP/UDP, traffic is load balanced to the application Pod (upstream) over GRPC.
stats.txt
server_info.txt
clsuters.txt
Envoy code is extended with our own for the specific use case we have.

cc @mattklein123 @danzh2010

Please adjust your listen socket's receive buffer size; https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http3#downstream-stats

Thanks @danzh2010,
If  kernel’s UDP listen socket’s receive buffer isn’t large enough, Is it possible it causes other issues? We came across this counter value while investigating a memory leak.

Thanks @danzh2010, If kernel’s UDP listen socket’s receive buffer isn’t large enough, Is it possible it causes other issues? We came across this counter value while investigating a memory leak.

It will become bandwidth limitation, but not memory leak.

Any recommendation how big it should be? currently it's ~9.5mb.

Any recommendation how big it should be? currently it's ~9.5mb.

This depends on your bandwidth, and the Linux kernel doubles the number your supplied via setsockopt.
Also please keep in mind that the stats is accumulative.

One more question, Do you have any idea why the counter number is not in sync with traffic rate?
First measurement is<PHONE_NUMBER>8, few mins later it became<PHONE_NUMBER>80.
I had running traffic for few hours, traffic rate were ~40 call/sec. I have generated truncated UDP traffic for few mins too but not even close to those numbers I see in the counter.
All the generated traffic could have reached ~2million max, and not all of it were UDP, only half of it.

I don't know the ingress rate of your service. Assuming it's 5min range, you have ~400M packet drops per sec. You can check netstat -p udp to confirm the numbers are consistent with what kernel sees.

The previous stat were from a Pod which is not running anymore.
I have a different pod with these stats:
listener.IPv4_PORT.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>8229
#kernel IpInReceives                    3021072            0.0 IpInDelivers                    3021072            0.0 IpOutRequests                   3020920            0.0 TcpActiveOpens                  17                 0.0 TcpPassiveOpens                 93                 0.0 TcpEstabResets                  7                  0.0 TcpInSegs                       1023               0.0 TcpOutSegs                      871                0.0 TcpOutRsts                      32                 0.0 UdpInDatagrams                  690                0.0 UdpInErrors                     3019359            0.0 UdpOutDatagrams                 690                0.0 UdpInCsumErrors                 3019359            0.0 TcpExtTCPHPHits                 174                0.0 TcpExtTCPPureAcks               203                0.0 TcpExtTCPHPAcks                 317                0.0 TcpExtTCPAbortOnData            10                 0.0 TcpExtTCPAbortOnClose           7                  0.0 TcpExtTCPRcvCoalesce            9                  0.0 TcpExtTCPOrigDataSent           437                0.0 TcpExtTCPDelivered              454                0.0 IpExtInOctets                   779239070          0.0 IpExtOutOctets                  779149461          0.0 IpExtInNoECTPkts                3021072            0.0

nstat only shows incremented values since last run, please use 'nstat -a'. And I didn't see the result had dropped packets count. Can you use netstat -p udp?

Which UDP extension are you using?

nstat only shows incremented values since last run, please use 'nstat -a'. And I didn't see the result had dropped packets count. Can you use netstat -p udp?

Tue Jul 16 07:39:46 CEST 2024 listener.IPv4:Port.udp.downstream_rx_datagram_dropped:<PHONE_NUMBER>9
nstat-2024-07-16_07-39.txt
I don't have net netstat, I can use ss though.
udp-sockets-2024-07-16_10-59.txt

114699

We don't use any UDP extension.

Which UDP extension are you using?

We don't use any UDP extension.

Are you using UDP Proxy?

No,

Can you share your UDP listener config?

Here the config for the listener
udp_listener.txt

If you are using raw UDP, why do you need this?
       "connection_balance_config": {
        "exact_balance": {}
       },

This config is intended for TCP listeners. On the controller side both UDP and TCP are configured with the same config that's why we have this here.

UDP listener other than QUIC is connectionless, you probably don't need that.

Yep, in UDP case we have no use for it. Do you think this might have anything to do with the counters problem?

Not sure. I'm not familiar with raw UDP listener interaction with connection_balance_config.  It is the cause, you may see a warning log about packet being dropped in only some of threads (not all) in Envoy log.

I see a similar problem with a set up to test UDP in envoy. the dropped datagrams are in the tens of billions per second while the in traffic is just a couple hundred thousands, could be a counter issue?
any idea if it's from envoy collecting the metrics or deeper down?

.


Moved auth exception to happen under routecontext

Codecov Report

Merging #92 (4942de7) into master (25204c1) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff            @@
##            master       #92   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           51        51
  Lines         2307      2307
=========================================
  Hits          2307      2307

Files
Coverage Δ

ninja_extra/operation.py
100.00% <100.00%> (ø)

ninja_extra/permissions/base.py
100.00% <100.00%> (ø)


Treatlife SL10 - PSK ID 02

First off, this is a great project. Thank you so much for all the hard work!
When testing the exploit with my Treatlife SL10 bulbs, I ran into the following error, after which the exploit could not continue; it just tried the connection again:
Using PSK v1 - Received PSK ID version 02
Here's a full log file of the exploit attempt. The error first occurs on line 138.
I believe my bulbs might be a slightly different model from the device profile that already exists (SL10-OMNI-TP120). The branding on this bulb says "TreatLife SL-10 G1 TP120-9/A19," and it uses a WB8P chip (BK7231S_1.0.5).
Here's a firmware dump I took after the failed attempt. Will it work for creating a new profile?

try the treatlife sl20 profile

I get the same info/error as before:
Using PSK v1 - Received PSK ID version 02
[W 220511 01:24:26 iostream:1406] SSL Error on 12 ('<IP_ADDRESS>', 57386): [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1129)

Here's the log file using the SL 20 profile.

looks like a new app partition version, a new profile will be built for it soon

Would it be possible to somehow make profile generation more automatic?

has the new profile been built yet? I have the same bulbs

Added the profile as TreatLife/SL10-v2 - can someone give it a shot?

Thanks for the quick response. I just tried and still get the SSL error:
SSL Error on 12 ('<IP_ADDRESS>', 51858): [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1129)

Yes, using the Smart Life app. Most recently, I had them running with LocalTuya by signing up for a Tuya developer account and getting the local_key and device_id from there.
When running the exploit, I specified my own randomly-generated values for local key and device id.
Just to be sure, you're using the new SL10-v2 profile rather than the previous one, right?

Yes,I'm using the SL10-v2 profile. Also tried the other SL10 profile with the same results.I just registered the bulb with the Smart Life app and tried again but no bueno. Perhaps the firmware is different? Did you have to open the bulb to pull the firmware?

Yeah.. I had to open up the bulb to get the firmware dump

Sorry for the long delay in following up. I was out of town and unable to test these bulbs further.
Following up on my previous post...

I've tested on two bulbs, and they both get to the line Device should be successfully onboarded on WiFi AP!
I can see them attach to wifi from my router logs, but so far I haven't gotten them to connect to Home Assistant using the LocalTuya integration.

The exploit seems to have worked with regard to setting new device keys and local keys. The bulbs also connect successfully to the WiFi. However, the datapoints seem to be inaccurate. Here is what I get when I try to set up the bulbs on localtuya

I'm guessing that the datapoints are defined when the exploit is run since Localtuya was able to connect to these bulbs using the keys I got from the Tuya API, before running the exploit. If they are defined by the exploit, it seems that the datapoints defined in the SL10-v2 profile should be different from the SL10-OMNI-TP120 profile, since the only differences I see in the profiles are the payload and datagram_padding. If they're not, I'm at a loss as to what to try next. Please advise.

So this profile in this link doesn't work for your bulb?
The part right here?
Entity with DPS 20 and platform light.
Brightness 22 (value 1000)
Color Temp 23 (value 44)
Color Mode 21 (value white)
Color 24 (000003e803e8)
Scene 25 (000e0d0000000000000c0000)

The error appears before I'm even able to enter any of those values in Localtuya. The values I used successfully before I ran the exploit were:

DPS 20
Platform light
Brightness: 22 (value: 1000)
Color temperature: 23 (value: 220)
Brightness lower value: 29
Brightness upper value: 1000
Color mode: 21 (value: white)
Color: 24 (color: 0115035c0320)
Minimum color temperature in K: 2700
Maximum color temperature in K: 6500
Scene: 25 (value: 000e0d0000000000000000c803)

After further testing, it may be an issue with Localtuya (see localtuya issue #983) not reading the DPS correctly, but it may also be that the bulb doesn't report its DPS correctly.
Of the three of these bulbs that I have, I did get one of them to briefly connect to Localtuya through its GUI setup process, but then it stopped working. I got it working again by setting its scan interval to 10 seconds (previously not enabled).
Still, neither of the other two bulbs would work. Then I edited the core.config_entries file to duplicate the working bulb's configuration and update it with the host, deviceid, and localkey from one of the other bulbs. That bulb is now also working.
The third bulb still does not want to connect using the Home Assistant interface.
Also of note, when I look at the entity values from the bulb that did connect in the core.config_entries file,

Color 24 is 000003e803e8 (as in kwiksilver's comment)
Scene 25 is 000e0d0000000000000000c803e8 (as it was for me previously)
Color temperature 23 is 0, unlike kwiksilver's or my values.

An update has been pushed that should include a profile for this device.  Please update your repo and give it a try.  Please see the instructions page ( https://github.com/tuya-cloudcutter/tuya-cloudcutter/blob/main/INSTRUCTIONS.md ) for any command or input changes.
If the new profile does not work, please re-open this ticket with details (including logs) of the failure.
Any feedback is appreciated.


Android PixelCamera not showing correct view

After a quick test, it looks as though what the pixel camera is showing isn't from the same position and orientation of the android's head.

Should have been fixed with recent pull. We should double check and make sure.

Tested some more and confirmed as fixed.


feat: longer traceback via "quit and dump" feature

While trying out the new browse functionality, I ran into an unexpected error when plotting a specific branch in a file where other similar branches seem to produce histograms without problems. The traceback that is shown by default in the window where the histogram would appear is quite short, and perhaps it would be useful for such cases to have a feature that allows to quit out and dump a more complete traceback to help with the debugging of such cases.

I'm thinking "quit and dump" would also show how to get the object via uproot, and it would (possibly) also dump the plot if it has not errored.

For future reference, I managed to isolate the error I originally ran into when creating this issue, which I reported at https://github.com/scikit-hep/hist/issues/393.


not using all six GPU's on my rig...

Great job and project to support the IOTA initiative!
I want to use this software on what had been a dedicated mining rig.  I have downloaded and run the standalone installation. Not sure why, but it is only using one of the six GPU's for POW.
The power to run the rig is about 1300W so I would like the IOTA network to get the most out of the expenditure on my part.
How can we fix this?

Does it still only use one GPU if you open 6 windows of this webapp?
It is possible that this could be an issue with the PoW dependecy, https://github.com/iotaledger/curl.lib.js
Might need some more investigation or implement parallelism in that library.

First off great job on this project.
The software is using only one GPU of six available.  It appears that only one window can be active at a time and must be the top browser window (Chrome).  I tried multiple windows - did not work.
Also, the single GPU that is running is running at about 40% power which means it could probably use a higher intensity setting (more concurrent threads).  I typically run other miners at about 85% power level...
Would be GREAT for Iota if you could get this working with multiple GPU based systems!
Also  over on IOTA slack - I introduced the following idea:
Nate Nivens [5:52 PM]
On transaction spamming as a way to increase tangle network confirmation speed... as spam transactions are added to the tangle - is it not a waste of PoW to have processing time used to confirm the spam transactions? If a tag or special message was embedded in the spam transaction which indicates no confirmation required, then couldn't the PoW be better applied to real world transactions instead? The thought is - what if my spam PoW is used to confirm other spam transactions - seems like wasted resources to me. Thoughts? Could this resource saving strategy somehow be implemented in the tangle? Is it already?
Malte Wedel [5:55 PM]
Sounds like an interesting idea.... a spammer which does not create zero value transactions, but instead reattaches random valid transactions which have not been confirmed yet.
Anyway this could be implemented in your app?
Thanks,
Nate
On Sep 17, 2017, at 11:51 AM, Peter Ryszkiewicz<EMAIL_ADDRESS>wrote:
Does it still only use one GPU if you open 6 windows of this webapp?
It is possible that this could be an issue with the PoW dependecy, https://github.com/iotaledger/curl.lib.js
Might need some more investigation or implement parallelism in that library.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for your compliment!
I believe confirming spam transactions is actually helpful to the network. The way the tangle works is that the more "descendents" a transaction has, the faster it will be confirmed. For example, let's say you have (valuable transaction) -> (spam transaction) -> (spam transaction), then the valuable transaction is actually better off, as it has more "weight"after it, thus confirming it faster. Of course, the valuable transaction could directly have more confirmations, but I think this doesn't work well in the tangle data structure and selection algorithms.
Also, this spammer has no say in what transactions to confirm; that is decided by the IRI, which the spammer then goes and performs the confirmations on; so that change would have to be done in the IRI.


Enforcing TLS 1.2+ when connecting to AWS

In the Boto3 documentation there is a chapter describing how to enforce TLS 1.2+ for the connection to an AWS service.
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/security.html#enforcing-tls-1-2
This is a good security practice. To solution in this documentation is to compile OpenSSL without lower versions of TLS and then compile Python using that OpenSSL.
I know that the highest version of the protocol will be negotiated. AWS updates it's services to use the latest version and modern Pyhton is also supporting the latest versions. I theory it won't happen that a lower version is used.
Enforcing TLS 1.2+ can be also done on the code level with modern Python versions.
A custom SSLContext is already created in botocore: https://github.com/boto/botocore/blob/bec6621ef0e515267f106ce4b8ab56dfd3c57e6d/botocore/httpsession.py#L56
This context already has some of the protocols disabled, like: SSLv2/3
It could be checked if the minimum_version property is available and set if to: TLSVersion.TLSv1_2. This should be available from Python 3.7.
Other suggestion would be to add: OP_NO_TLSv1 | OP_NO_TLSv1_1 to options dependent on Python version.
Not sure if there's a way to detect the available protocols.
It would be possible to pass ssl_version into the function, but that is not used and would require a lot of change.
https://github.com/boto/botocore/blob/bec6621ef0e515267f106ce4b8ab56dfd3c57e6d/botocore/httpsession.py#L243
I can send a pull request with the changes. I was wondering if there is a reason to not add a change and increase the security of the system.

Hi @mmlado,
Thanks for the feature request! This is definitely on our radar for improving in the near future. We'd originally been waiting to implement changes around this until Python 2.7 was dropped. Now that that's out of the way though, I think we'll likely want to look at adding an opt-in config option to preserve backwards compatibility. We'll provide an update once we have more specifics on design.

Hi @nateprewitt
Is there a roadmap for this issue? We have the requirement at the Volkswagen Group to connect to AWS with TLS 1.2+ and I guess it's the same in many other companies, too.

Hi @philippsimon, thanks for checking in! This feature doesn't have a strict timeline at the moment that I can share. We'd like to add broader functionality to allow customers to provide their own SSLContext with whatever configurations fit their needs but it's a non-trivial change.
To clarify the situation, AWSCLI/Boto3/Botocore all support TLS 1.2 and 1.3 out of the box. We should negotiate a connection using those for standard requests to AWS if the host allows it.
For companies enforcing strict TLS 1.2+ compliance, we'd strongly recommend disabling older TLS versions at the interpreter level. We provide a guide on doing so here. This prevents risk of misconfigurations in source code, and is usually the required approach for companies implementing compliance requirements.
I'll provide an update here for SSLContext configuration options once we have a clearer timeline.

@nateprewitt thanks a lot!!

Has there been made any decision on this issue? Python 3.6 has also reached the end-of-life date. As I can see botocore minimum version has been also set for Python 3.7.


String, bytes and encoding on MS Windows

Hi,
I have not found any way to convert between a list of bytes and a string on Windows.
There is no encoding or converter for bytes storing Windows-1252 or UTF-16 text.

For UTF-16, you can just use String.fromCharCodes for that. It's so direct we don't even have a transformer.
For Windows-1252, we should add a converter to package:convert. Preferably one that can be used for any code page (any mapping between byte and code point).

A charcode in UTF-16 is 16 bit in size.
A byte is just 8 bits.
I tried:
File file = new File(filename);
List bytes = file.readAsBytesSync();
//return file.readAsStringSync(encoding: SYSTEM_ENCODING);
//return new Latin1Decoder().convert(bytes);
//return new Utf8Decoder().convert(bytes);
return new String.fromCharCodes(bytes);
and it did not work.

Right now we only have codecs for ASCII, Latin-1 and UTF-8 in dart:convert, and String.fromCharCodes which will convert from UTF-16.
If - as you mention - the file you are reading is in codepage 1252 - you will need to supply a new converter.
The code for the Latin-1 codec is here: https://github.com/dart-lang/sdk/blob/master/sdk/lib/convert/latin1.dart, and I think replacing the code in _addSliceToSink to do a mapping instead of just String.fromCharCodes should do the trick.
We don't plan on adding more codecs to dart:convert. Please open an issue with the convert package.

If you have bytes and need 16-bit words, you should convert it to a Uint16List.
Most likely the bytes are already a Uint8List, in which case it's easy, otherwise you will have to copy them to a buffer.
We don't have a conversion from bytes interpreted as UTF-16. That would depend on byte ordering, so it's not trivial.
Example:
Uint16List toUint16(List<int> bytes) {
   if (bytes is! Uint8List) bytes = new Uint8List.from(bytes);
   Uint8List byteList = bytes;
   return byteList.buffer.asUint16List(byteList.offsetInBytes, byteList.lengthInBytes ~/ 2);
}


spawnUri load Dart files asynchronously

Right now, spawnUri blocks the entire process while loading the Dart files necessary to start the isolate. This is problematic not only because spawnUri is performing IO, which is otherwise always done asynchronously in Dart, but because it means that neither the library passed to spawnUri nor any of its transitively imported libraries can be HTTP URLs pointed back at the spawning process.

This is still an issue.

It looks like this no longer reproduces, at least with Dart 1.21. I'm leaving it open for the time being since AFAIK it was fixed accidentally, so there probably still need to be regression tests written.

@a-siva Did you fix this? I am going to close it with "Cannot reproduce". We have so many bugs, we probably shouldn't leave open things we can't reproduce. If it happens again, please file a new bug with updated information and repro steps.

@zanderso Can we get some tests for this if we're going to close it? It was a long-standing issue, and if it starts cropping up again code is likely to break.

I'm just cleaning up the issue tracker. I assume that @a-siva has used good judgement as far as testing goes, and has added whatever tests are appropriate. If you find otherwise, then we should open a new issue.

@zanderso Added tests where? There are no SDK CLs that refer to this issue.

@nex3 I don't think your request for information about tests is germane to this issue. You're probably going to have to schedule a meeting with someone to get your questions answered.

How is it not germane? This issue was tracking a serious bug. We shouldn't close this issue until the bug is thoroughly addressed. Addressing a bug requires not just fixing it, but adding regression tests to ensure it stays fixed.

I did not fix this, I would have closed the bug if I fixed it. I believe this is a duplicate of the first part of  https://github.com/dart-lang/sdk/issues/24849 which was fixed by @turnidge
Regarding tests we have a number of isolate tests in the regression suite and writing a test to measure the time it takes to spawn an isolate is not the right test. For this case the right test would be the one described in one of the comments above "I was attempting to spawnUri() on a URI that's served by an HttpServer in the same VM, and it deadlocks".
Let us leave this issue closed as a duplicate of 24849 and use that issue to track addition of a test.


How to specify fallback value for git sha

I want to emit "unknown" in place of git sha if while compiling git info is unavailable. In previous versions, I used to add println!("cargo:rustc-env=VERGEN_GIT_SHA_SHORT=unknown");  before the vergen(config) call, so if vergen does not emit, there is a placeholder to fall back to.
In 8.0, the config is removed, and we have to use the builder pattern, which I have used as follows :
EmitBuilder::builder()
    .git_sha(true)
    .emit()

But when git version is not present, this emits VERGEN_IDEMPOTENT_OUTPUT as the value. I saw in the documentation it is mentioned that if we specify certain env vars, vergen will take their values, so I added
std::env::set_var("VERGEN_GIT_SHA", "0xdeadbob");

Before the emit call, but that still outputs the same (VERGEN_IDEMPOTENT_OUTPUT). Also if I'm not mistake this will be an unconditional override.
Is there any way with which we can define a fallback value for a certain param?
Thanks!

That is the correct method to override the output.  Seems like a bug.  I'll take a look.

I wrote a little stand alone test and was able to generate the override successfully:
use anyhow::Result;
use vergen::EmitBuilder;
use std::env;

pub fn main() -> Result<()> {
    env::set_var("VERGEN_GIT_SHA", "my override");
    EmitBuilder::builder().git_sha(true).emit()
}

Here was the output when running cargo build -vvv:
     Running `/home/jozias/projects/rust-lang/orc/target/debug/build/orc-6214949a09c27336/build-script-build`
[orc 0.1.0] cargo:rustc-env=VERGEN_GIT_SHA=my override
[orc 0.1.0] cargo:rerun-if-changed=.git/HEAD
[orc 0.1.0] cargo:rerun-if-changed=.git/refs/heads/master
[orc 0.1.0] cargo:rerun-if-changed=build.rs
[orc 0.1.0] cargo:rerun-if-env-changed=VERGEN_IDEMPOTENT
[orc 0.1.0] cargo:rerun-if-env-changed=SOURCE_DATE_EPOCH
     Running `CARGO=/home/jozias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo CARGO_BIN_NAME=orc CARGO_CRATE_NAME=orc CARGO_MANIFEST_DIR=/home/jozias/projects/rust-lang/orc CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=orc CARGO_PKG_README='' CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/home/jozias/projects/rust-lang/orc/target/debug/deps:/home/jozias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/jozias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib' OUT_DIR=/home/jozias/projects/rust-lang/orc/target/debug/build/orc-549c0e8738dd82b5/out VERGEN_GIT_SHA='my override' rustc --crate-name orc --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=325 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=563b6a5e977ccb04 -C extra-filename=-563b6a5e977ccb04 --out-dir /home/jozias/projects/rust-lang/orc/target/debug/deps -C incremental=/home/jozias/projects/rust-lang/orc/target/debug/incremental -L dependency=/home/jozias/projects/rust-lang/orc/target/debug/deps`
    Finished dev [unoptimized + debuginfo] target(s) in 4.87s

If possible, could you run cargo clean and cargo build -vvv and post the output here.   May help determine what is going on.   I've also noticed that the rerun-if-changed=build.rs seems to not be honored.  I was forced to run a clean between builds to pick up changes in that file.

I should also mention that any failures are silently suppressed by default so vergen won't impact the rest of the build adversely.   You can use fail_on_error(true) on the EmitBuilder to allow failures to propagate up to build.rs.

This was run after cargo clean, in a directory where I had deleted the .git folder to see what happens when git dir is not found. To note, in the normal case, where git dir is present, it has correctly given the sha.
My code in build.rs is
use anyhow::Result;
use vergen::EmitBuilder;

fn main() -> Result<()> {
    println!("cargo:rustc-env=VERGEN_GIT_SHA=unknown");
    std::env::set_var("VERGEN_GIT_SHA", "0xdeadbob");
    EmitBuilder::builder()
    .git_sha(true)
    .emit()
}

The relevant section of vvv output is :
[youki 0.0.4] cargo:rustc-env=VERGEN_GIT_SHA=unknown
[youki 0.0.4] cargo:rustc-env=VERGEN_GIT_SHA=VERGEN_IDEMPOTENT_OUTPUT
[youki 0.0.4] cargo:warning=not within a suitable 'git' worktree!
[youki 0.0.4] cargo:warning=VERGEN_GIT_SHA set to default
[youki 0.0.4] cargo:rerun-if-changed=build.rs
[youki 0.0.4] cargo:rerun-if-env-changed=VERGEN_IDEMPOTENT
[youki 0.0.4] cargo:rerun-if-env-changed=SOURCE_DATE_EPOCH
warning: not within a suitable 'git' worktree!
warning: VERGEN_GIT_SHA set to default

The o/p after removing my custom fallback (first println) is
   Running `/tmp/youki/target/debug/build/youki-742bbcccb9a2924c/build-script-build`
[youki 0.0.4] cargo:rustc-env=VERGEN_GIT_SHA=VERGEN_IDEMPOTENT_OUTPUT
[youki 0.0.4] cargo:warning=not within a suitable 'git' worktree!
[youki 0.0.4] cargo:warning=VERGEN_GIT_SHA set to default
[youki 0.0.4] cargo:rerun-if-changed=build.rs
[youki 0.0.4] cargo:rerun-if-env-changed=VERGEN_IDEMPOTENT
[youki 0.0.4] cargo:rerun-if-env-changed=SOURCE_DATE_EPOCH
warning: not within a suitable 'git' worktree!
warning: VERGEN_GIT_SHA set to default

Hey, thanks for the info.
On that note, would it be possible (with/without the change), to override the value only if missing? The set_env will always override it, but if possible I want the override only if the proper value is missing. Originally I did it using the println! "hack" ; but if the value is always set, that cannot be used now.

Hey @CraZySacX Can you take a look at my comment above and let me know if there is any way I can conditionally override the GIT_SHA when it is not available and let it take its proper value otherwise?
Thanks !

Currently that is not possible.  This requires some thought regarding implementation.  Any errors are propagated back up to the emitter and overrides/idempotent is used to fill in the variables.  I think in your particular case, you could turn on the fail_on_error flag, match on the emitter result, and use custom println as you did before in the Err block.  Not elegant, but should work.
use anyhow::Result;
use vergen::EmitBuilder;

pub fn main() -> Result<()> {
    match EmitBuilder::builder().fail_on_error().git_sha(true).emit() {
        Ok(_) => {}
        Err(_e) => {
            // Your custom printlns here
        }
    }
    Ok(())
}

Thanks, that works!


mackerel-agent: 0.82.0 -> 0.83.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/mackerelio/mackerel-agent/releases.
meta.description for mackerel-agent is: System monitoring service for mackerel.io
meta.homepage for mackerel-agent is: https://github.com/mackerelio/mackerel-agent
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.83.0 with grep in /nix/store/nhgy4b28d6v7a7svmk168xdh04mihjl8-mackerel-agent-0.83.0
found 0.83.0 in filename of file in /nix/store/nhgy4b28d6v7a7svmk168xdh04mihjl8-mackerel-agent-0.83.0

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

mackerel-agent

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/nhgy4b28d6v7a7svmk168xdh04mihjl8-mackerel-agent-0.83.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A mackerel-agent https://github.com/r-ryantm/nixpkgs/archive/7ac450eaa04763c32ff634973f91d42e0cf4e97d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/7ac450eaa04763c32ff634973f91d42e0cf4e97d#mackerel-agent

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

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

mackerel-agent

Maintainer pings
cc @midchildan for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 359337

aarch64-darwin

:white_check_mark: 1 package built:

mackerel-agent


deserialize

How to deserialize  QList<QObject*> ?  thanks.

At the moment that is not directly possible. As of now, you could give all the objects in the list a common parent and then serialize/deserialize the parent object. The current serialization only handles the QObject tree structure. If you would like to add code for the list that would be great.  Recently aegeon added to the function addMappedData() to allow serializing QVariants that hold a list of QObject*, so that will likely help you in this regard.

I added a couple of convenience functions for QList<QObject*>. Basically they just loop and serialize/deserialize each QObject* as normal.


messages: PHP implementation

This is a PHP implementation of Cucumber Messages (with thanks to @aurelien-reeves)
Todo before merge

[x] README
[ ] Extract Makefile into default.mk templates
[ ] hook up with CI build
[ ] Add PHP to docker image

To make usable as a package

[ ] Create separate sub repo
[ ] Cucumber user (Cukebot?) register with Packagist.org and set up GitHub hooks

Nice! Looks great! 🤩

I have created a subrepo: https://github.com/cucumber/messages-php
It will be updated when that PR will be merge on main

@ciaranmcnulty I've worked on adding php templates to the monorepo and messages/php to the CI.
I let you take a look on the makefiles if they looks fine
Regarding the CI, we may have to install php as part of the build image actually, as the codegen is written in ruby, we need both php and ruby installed

@aurelien-reeves thanks for doing this!
Yes I see the issue. I could re-implement the file splitter in bash perhaps, to remove the need for PHP in the build script (the CS fixer could be removed)

@aurelien-reeves thanks for doing this!
Yes I see the issue. I could re-implement the file splitter in bash perhaps, to remove the need for PHP in the build script (the CS fixer could be removed)

We still need php to run the phpunit tests so I'll add it to the build image 🙂
For cs fixer and all the tools of that kind, it's up to you. At the moment you are the owner of the php implementation 😁

What's the split on other implementations between build + test? I would imagine we can use phpunit in the PHP image (and in future will want to with different PHP versions), but the code generation can happen in the main build image?

At the moment, the code generation actually happens on the developer computer and is pushed in the repo.
And yes, it is also built as part of the CI but only because of the target dependencies in the makefile.
Thus in the CI, the build and the tests are part of the same jobs too. Thus when it is needed, we use the cucumber-buid docker image which contains all development language we support.
This is not perfect, and this is done differently in polyglot repos. There is more decoupling between build and tests when it is needed. But as part of the monorepo, there is a single make command to prepare, build and test a package.
Does that answer your question? 😅

I have a commit ready to be pushed once the new build image is ready :D

Hi @ciaranmcnulty,
Thanks for your making your first contribution to Cucumber, and welcome to the Cucumber committers team! You can now push directly to this repo and all other repos under the cucumber organization! 🍾
In return for this generous offer we hope you will:

✅ Continue to use branches and pull requests. When someone on the core team approves a pull request (yours or someone else's), you're welcome to merge it yourself.
💚 Commit to setting a good example by following and upholding our code of conduct in your interactions with other collaborators and users.
💬 Join the community Slack channel to meet the rest of the team and make yourself at home.
ℹ Don't feel obliged to help, just do what you can if you have the time and the energy.
🙋 Ask if you need anything. We're looking for feedback about how to make the project more welcoming, so please tell us!

On behalf of the Cucumber core team,
Aslak Hellesøy
Creator of Cucumber


Unable to Start Call

when i try to call any number then it not contacting call and after 2-3 seconds receiving 'telnyx_rtc.bye' listener


feat: added column freeze and unfreeze functionality to table widget

Description
PRD: https://www.notion.so/appsmith/Ability-to-freeze-columns-dd118f7ed2e14e008ee305056b79874a?d=300f4968889244da9f737e1bfd8c06dc#2ddaf28e10a0475cb69f1af77b938d0b
This PR adds the following features to the table widget:

Freeze the columns to the left or right of the table.(Both canvas and page view mode).
Unfreeze the frozen columns. (Both canvas and page view mode).
Columns that are left frozen, will get unfrozen at a position after the last left frozen column. (Both canvas and page view mode).
Columns that are right frozen, will get unfrozen at a position before the first right frozen column. (Both canvas and page view mode).
Column order can be persisted in the Page view mode.
Users can also unfreeze the columns that are frozen by the developers.
Columns that are frozen cannot be reordered(Both canvas and page view mode)
Property pane changes (Columns property):

If the column is frozen to the left then that column should appear at top of the list.
If the column is frozen to the right then that column should appear at the bottom of the list.
The columns that are frozen cannot be moved or re-ordered in the list. They remain fixed in their position.

In-Page mode, If there is a change in frozen or unfrozen columns in multiple tables then the order of columns and frozen and unfrozen columns should get persisted on refresh i.e. changes should get persisted across refreshes.

Fixes #3265 #18230
Type of change

Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

Manual. Below are the cases that were tested manually:

Existing frozen columns should be frozen when server-side pagination is enabled.
Two applications having two different tables should persist their column order and frozen items.
Scroll bars are appearing as expected.
Edit mode functionalities are working as expected.
Hidden columns should appear before the first right frozen column but should be overlayed by the right frozen column in such a way that the column is hidden.
Custom columns that are added should appear as before the first right frozen column.

Jest: Added test for generateNewColumnOrderFromStickyValue
Cypress: Added cypress test: column_freeze_spec.js

Check column freeze and unfreeze mechanism in canavs mode

Column freeze and unfreeze testing via propertypane
Column freeze and unfreeze testing via dropdown

Check column freeze and unfreeze mechanism in page mode

Column freeze and unfreeze testing with 0 pre-frozen columns
Column freeze and unfreeze testing with multiple pre-frozen columns

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

For scenarios where relevant column order needs to be maintained:
@sbalaji1192 for the scenario where the developer updates the column order and deploys the app, I think the user's column order should be retained as compared to the column order that the developer has updated.
As of now, if the column is renamed via property pane then it gets reflected in the users app.
For the scenario where the column name is updated in the source data, is not handled yet. For this scenario I think whenever the table data changes we should remove the columnOrder of that widget from the local storage.

Observations :

Observations:

Undo action for a freezed column is not working (Freeze a column->Undo ) LOOM
Server side pagination faiils when we render more data on the page than the page size . LOOM
Fix multiple vertical scroll
Fix horizontal scroll when column is freezed. if a column is freezed, the horizontal scroll should appear from the unfreezed column
when you  unfreeze a column and then deploy the changes, the same is not reflecting in the deploy mode. LOOM
When you freeze any random column in-between . it is not working as expected in deploy mode . LOOM
Property pane issues
a) Overlapping columns in PP when any column is right frozen LOOM
b)The column is not getting pinned at the very end when you right-freeze it
c)) Losing the column names from the property pane LOOM
d) The pin icon is not reflecting on the PP LOOM
e) The cursor focus on column name change is behaving weirdly LOOM
when no result is coming on the table, the column freeze doesnt work (only one cell is frozen) LOOM
Mismatched icons when you hover on the cell dropdown. Also the dropdown icon seem misaligned LOOM
when you freeze to the right, and then make the columns editable, it introduces SAVE/DISCARD button which breaks the UI
When users make any changes in the deploy mode , and then developer makes some changes and re-deploy it, the local is not getting updated .
ADD NEW Row with server side pagination is haing trouble with the cursor focus in the input box LOOM
Make a right-frozen  column invisible, you will notice a weird gap on the table canvas LOOM
Improvements needed on first drop LOOM
@keyurparalkar

Some more observations :
15. NO BORDERS property is not getting applied to frozen columns LOOM
16. There seems to be a flicker in the column name cell when NO BORDERS is applied LOOM
@keyurparalkar

@kamakshibhat-appsmith, I have addressed all your previous callouts, except for the following points: 5, 6, and 11. Can you check these scenarios extensively and let us know?
Also, point 4 will be taken as an enhancement.

@keyurparalkar Observations:
Unable to scroll horizontally when cell wrapping is enabled.
Video
Unable to resize right frozen columns
Video
Undo action's behaviour is inconsistent
Video
The dialog box is moving outside the canvas
Video
The editable checkbox remains ticked on the property pane when a frozen column has been made uneditable
Video
On unfreezing a column, the property pane isn’t getting updated (pin icon)
Video
On freezing-> unfreezing column/s, it isnt getting reflected in deploy mode
Video
Grab cursor is not required on frozen columns headers since they cannot be reordered
Grab cursor is also not needed over frozen columns in the property pane
Vertical border is not intact over the right frozen columns on scrolling
Video

@keyurparalkar An observation regarding server side pagination:
When server side pagination is turned on, we're unable to re-order the columns via the headers. On re-ordering via the property pane first and then via the headers, it works
https://user-images.githubusercontent.com/109572422/212853454-39bbc2fd-5716-4d06-b5f7-3f41d57ed2e4.mov

/ok-to-test sha=aea9723

@laveena-en I have addressed all the callouts that you have raised. Here are some comments on the below callouts:

Unable to resize right frozen columns: As discussed this is not a bug

Migration issues:

Save/Discard columns aren’t frozen to the right by default on existing tables with editable columns: We are not going to freeze the Save/Discard column to the right for existing tables

UI is not reflecting the Save/Discard changes but the change is seen in the evaluated value and Gsheet: Unable to reproduce

When server side pagination is turned on, we're unable to re-order the columns via the headers. On re-ordering via the property pane first and then via the headers, it works: Unable to reproduce

/ok-to-test sha=6dd4485

/ok-to-test sha=48aad05

/ok-to-test sha=48aad05

/ok-to-test sha=48aad05

@keyurparalkar Some observations:

On making a row editable, the focus is not seen on the Save/Discard column in the property pane Video

Dev's actions aren’t overriding user's actions Video

Undo functionality isn’t consistent Video

Unable to re-order columns in some cases + design issue wrt the grey selection border Video

Tooltips are consistently getting retained, not sure if it's pertaining just to this specific PR. Can you please have a look? https://www.loom.com/share/d3271a44e6114e44816f4ae3318f8a6c

Borders are broken on several search scenarios in different ways:
Invalid search: https://www.loom.com/share/4f666230c7ef4a44bb25f14701d83ce4
Valid search: https://www.loom.com/share/e46b3abb333347d9958babbc7ac027c4
No results in specific page: https://www.loom.com/share/b3eb54bbaf9a42d597a403308185a735

Migration: Allow column freeze is not enabled by default for existing tables

/ok-to-test sha=92c7f4e

/ok-to-test sha=a893584

@keyurparalkar Some observations:

On making a row editable, the focus is not seen on the Save/Discard column in the property pane Video
Dev's actions aren’t overriding user's actions Video
Undo functionality isn’t consistent Video
Unable to re-order columns in some cases + design issue wrt the grey selection border Video
Tooltips are consistently getting retained, not sure if it's pertaining just to this specific PR. Can you please have a look? https://www.loom.com/share/d3271a44e6114e44816f4ae3318f8a6c
Borders are broken on several search scenarios in different ways:
Invalid search: https://www.loom.com/share/4f666230c7ef4a44bb25f14701d83ce4
Valid search: https://www.loom.com/share/e46b3abb333347d9958babbc7ac027c4
No results in specific page: https://www.loom.com/share/b3eb54bbaf9a42d597a403308185a735
Migration: Allow column freeze is not enabled by default for existing tables

Here are my comments:

For Point 2: this is an expected behavior since you didn't do any changes to the table widget therefore the configuration of the table is still retained in the deployed mode. Here are the scenarios where the deployed table configuration related to the frozen column is reset:

When there is a change in column order
When there is a change in the count of hidden columns
When there is a change in frozen column count.
Since in this case, none of the criteria are met therefore in the deployed mode the table's state is retained.

For point 5, It also occurs in PROD this PR should fix the issue
For point 7, this is intended we have set it to false post migration for existing tables

@keyurparalkar The callouts have been verified.
Found an issue with borders when we try to resize the when no results are found. Rest looks good to go
https://www.loom.com/share/749da189bfb44351a7e7bcb1b1e40e74

Tested and verified.

/ok-to-test sha=33ba1de

/ok-to-test sha=6f4942d

/ok-to-test sha=6f4942d

/ok-to-test sha=6ae9bf2

/ok-to-test sha=b3e21f5

/ok-to-test sha=b3e21f5

/ok-to-test sha=b3e21f5

/ok-to-test sha=b3e21f5

/ok-to-test sha=b3e21f5

/ok-to-test sha=ae2ce47

/ok-to-test sha=4fde51b

/ok-to-test sha=4fde51b

/ok-to-test sha=4fde51b

/ok-to-test sha=9f96e6c

/ok-to-test sha=0b5b255

/ok-to-test sha=bc3e931

/ok-to-test sha=bc3e931

/perf-test ref=rhito/fix-misc-perf-tests-selector


nodejs: Add 'build' and 'prune' lifecycle events

Equivalent of https://github.com/appsody/stacks/pull/841
Checklist:

[x] Read the Code of Conduct and Contributing Guidelines.

[x] Followed the commit message guidelines.

Updates to the collections

I added npm build and npm prune steps to the build process for the production image, to provide a point of customization in cases where the project needs to perform build actions (such as running the Angular or Typescript compiler).
The 'prune' step is required to remove any development dependencies, and/or perform any cleanup of artifacts generated during the build, which would otherwise bloat the final image.
Although there is an npm prune command, it does not behave the same way as install, test etc in that it does not invoke any scripts in package.json (none of prune, preprune, postprune are run).  The only way to run a script called prune is to run npm run prune (which is what I've gone for).  It is run with --production so that the user's script can invoke npm prune (possibly in addition to other actions), and this will have the effect of running npm prune --production, which removes any development-only dependencies.
I have added python to the production image as it is required to run node-gyp, used by some dependencies during their installation (such as node-rdkafka).  I also added openssl-devel as this is also required by node-rdkafka and is likely to be a fairly common requirement.  Both are already included in the node-express stack.
Related Issues:

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Framed Slabs don't show up in creative search

I don't know where they went! I'll go looking for them, they seem to be hiding from me.


Queries for gke cisv1.3.0

Checklist

[ ] Issue(s) linked

@saisirishreddy, thanks for helping; I would like to get some clarification for this PR; what is the purpose of these new queries? Are you planning to send PR for the new benchmark, i.e. GKE-CISv1.3.0. I don't see any existing query update except below control
control "gke_restrict_pod_traffic" {
  title = "Check that GKE clusters have a Network Policy installed"
  query = query.kubernetes_cluster_network_policy_installed

  tags = merge(local.policy_bundle_kubernetes_common_tags, {
    cft_scorecard_v1 = "true"
    severity         = "high"
  })
}

CC @bigdatasourav

@rajlearner17 , This PR is just to populate the queries for GKE-CISv1.3.0.
I have some work in progress on my fork, the idea is to have GKE-CISv1.3.0 compliance checks, similar to cis_v200.
Would you propose any approach, let me know if there are other dependencies..
CIS Google Kubernetes Engine (GKE) Benchmark v1.3.0 PDF.pdf

@saisirishreddy Thanks for attempting to bring CIS GKE 1.30
Any specific reason why you selected CIS GKE 1.3.0 over  CIS GKE 1.4.0?
While we initially were still deciding whether to bring such provider-specific Kubernetes compliance separately or bring in general CIS of Kubernetes, which can address all cloud providers. However, I understand that. Short-falls few provider-specific checks.
While you are proceeding with this, I would like to contact others to provide feedback so we are better covered with the right approach. The reason is once we do this for GCP, we may have an interest in Amazon (EKS) (1.3.0), Azure (AKS) (1.3.0), OCI (OKE) (1.3.0) etc. Better we get aligned with the expectation on this. You will hear from us on this thread.
CC @cbruno10 @johnsmyth
Cheers!

CIS GKE 1.4.0 would work too and can be used as latest reference. I already have my local queries with reference to CIS GKE 1.4.0.

Also I am only focusing on the cloud provider specific checks that can be performed without accessing the cluster itself like kubelet config.

Any check that can be performed from Google API's can be included.

Should that be made available to all users ..? I believe some users can get benefited, I also understand that users might expect the same parity for other Clouds (AWS, Azure etc) that Steampipe community supports.

While that is being discussed, would leaving the queries in the policy bundle without being referenced pose any problem..?

Whatever the approach, happy to contribute. thanks

Hey @saisirishreddy , thanks again for raising this PR!
Looking at GKE CIS v1.3.0 and v1.4.0, along with Azure AKS CIS v1.3.0 and AWS EKS CIS v1.3.0, it seems like all 3 CIS reports have a mix of controls that are checked/remediated either using kubectl, e.g., 4.2.1 Minimize the admission of privileged containers (Automated) or the GCP/Azure/AWS console/CLI tools, e.g., 5.6.6 Consider firewalling GKE worker nodes (Manual).
Some of the kubectl controls in GKE CIS v1.4.0 are also present in Kubernetes CIS v1.7.0, e.g., 4.6.2 Ensure that the seccomp profile is set to docker/default in your pod definitions (Manual) in GKE CIS v1.4.0 is in Kubernetes CIS v1.7.0 Benchmark: 5.7.2 Ensure that the seccomp profile is set to docker/default in your Pod definitions .
So one approach we could take is:

Create a separate mod for AKS, GKE, and EKS CIS reports
Each new CIS version will be a separate benchmark, e.g., GKE v1.3.0 and v1.4.0 will each have their own benchmark in the GKE CIS mod
These new mods can use the Kubernetes Compliance mods, along with AWS/Azure/GCP Compliance mods, as mod dependencies so they can reference existing controls or queries in those mods
For any queries or controls not in the mod dependencies, if they are generally good checks to include in those mods, we should add new queries and queries into the Kubernetes/AWS/Azure/GCP Compliance mods and reference them as mentioned above, instead of adding them into the AKS/EKS/GKE Compliance mods directly

@saisirishreddy @rajlearner17 Thoughts on the proposal above?

@cbruno10 Using mod dependencies is a great idea and a benefit of the Steampipe feature. However, I not have much idea as of now about the level of interdependence, such as

Cloud provider-specific CIS e.g. GKE CIS 1.x.x vs Steampipe provided hybrid Kubernetes, here I see a few commonalities mentioned by @cbruno10

Cloud provider-specific CIS e.g. GKE CIS 1.x.x  vs other Cloud provider CIS such as AWS EKS/Azure AKS, the standard common controls must be analyzed

Maybe we have to plan how to make a start, whether by analyzing all together and documenting the required changes first
or
starting with GKE, then checking what mod dependency factors are with Kubernetes compliance (available in Steampipe), and starting building from there for other providers.
Here is the reference to Mod Dependencies

@rajlearner17 I think for whatever CIS report we start with, we could go control by control and as we're adding each one, see if it's an existing control/query in the Kubernetes or cloud Compliance mod. We may end up with most controls being referenced or very few, but even if there are just a few I think it's beneficial to use mod dependencies where we can.

@saisirishreddy I've created https://github.com/turbot/steampipe-mod-gcp-compliance/issues/123 to continue the discussion since this PR was closed due to merging of the release/v0.20 branch and unfortunately can't be re-opened

Sure thank you, I agree that referencing to the Kubernetes mod where applicable helps along with the Corresponding Cloud queries. However I think handling the config files might be challenging as the access requirements are not the same.


Adding "pyvenv" breaks autocompletion for python

With an unmodified git clone, python autocompletion works fine. However because I'm using pipenv, I wanted to be able to switch virtual environments. So I created an init-local.el file into which I put (request-package 'pyvenv), to give me access to the pyvenv-workon command.
After restarting, when I visit any python module, I don't get autocompletion at all

Sorry to hear that, but I don't work with Python much these days, and because I'm incredibly busy in recent months I haven't time to reproduce your config and figure out what's going on.


Updating Database: Error with kraken2_add_taxID

Hi Nick,
I am still having trouble updating my database with custom MAGs. I run snakemake using the following command and config file:
config-update.yaml.txt
snakemake --use-conda --cores 30 --configfile config-update.yaml
I have attached the snakemake log. The issue is around "kraken2_add_taxID".
snakemake_log.txt
Firstly it says missing output files (see snipet from log below). But this file is actually present. It simply unzips the file and places in genome directory.
[Sat Jan 28 16:22:48 2023]
rule kraken2_add_taxID:
input: /workspace/pot/peterc/Equine/Struo2/MAGs/ERR6929713_bin.678.fna.gz
output: tmp/db_update_tmp/peterc/Struo2_112566273/db_update/genomes/MAG_1203_Nanosyncoccus.fna
log: /workspace/pot/peterc/Equine/Struo2/Output/logs/db_update/kraken2_add_taxID/MAG_1203_Nanosyncoccus.log
jobid: 459
benchmark: /workspace/pot/peterc/Equine/Struo2/Output/benchmarks/db_update/kraken2_add_taxID/MAG_1203_Nanosyncoccus.txt
reason: Missing output files: tmp/db_update_tmp/peterc/Struo2_112566273/db_update/genomes/MAG_1203_Nanosyncoccus.fna
wildcards: sample=MAG_1203_Nanosyncoccus
resources: tmpdir=/tmp, time=59, mem_gb_pt=6
Later it is unable to produce the done files as a result and it is doomed from the get go. I have no idea how to solve it so help is appreciated. I have attached all other relevant files which may help diagnose the problem.
names.dmp.txt
Sample_Table.txt
Many thanks
Kind regards,
P

What is in the log for the fail run jobs (no the snakemake log)? You are right in that the python script for that job just uncompresses the genome and adds the taxid to the sequence header(s). Is the python script failing (kraken2_rename_genome.py)?

The logs present in the directory - Struo2/Output/logs/db_update/kraken2_add_taxID are all completely empty. Where there is one log for each job/MAG I wanted to add to the database.
However, the file seqid2taxid.map is being generated correctly and has kraken taxids for each fasta header in each file. Also taxo.k2d.tmp is generated.

I re ran the code and this time it worked. I am not sure how as I did not do anything different. Or at least I can't remember making a change. Thanks for all the help and for making this tool.

Hi Nick,
Sorry to bother you again but I am encountering further problems with this. As per my last comment the database seemed to update successfully. However, I am unable to classify my reads using the database. See here the output from the build. Everything seems to have been succesful.
Creating sequence ID to taxonomy ID map (step 1)...
Sequence ID to taxonomy ID map complete. [2.070s]
Estimating required capacity (step 2)...
Estimated hash table requirement:<PHONE_NUMBER>32 bytes
Capacity estimation complete. [11m56.324s]
Building database files (step 3)...
Taxonomy parsed and converted.
CHT created with 18 bits reserved for taxid.
Completed processing of 7746034 sequences,<PHONE_NUMBER>62 bp
Writing data to disk...  complete.
Database files completed. [12h3m44.879s]
Database construction complete. [Total: 12h15m47.164s]
I have made several attempts to classify the reads some of which have returned the error:
Loading database information..... Killed
Other attempts have managed to load the database successfully and classify 50% - 90% of the reads but fails before finishing it results in a similar error -"Killed".
It seems to be related to this issue - [(https://github.com/DerrickWood/kraken2/issues/184)]
There must be a problem with the database.
Also without making any changes I tried to re-build the database but immediately I encountered the same errors as the first comment in this thread.
I am not sure how to proceed. Many thanks
P


AllSports News Assistant

I'm a multilingual Sports assistant providing info on clubs, teams, coaches, players, and athletes. I can also generate your sports articles and posts.
https://chat.openai.com/g/g-iDZ5WAesz-allsports-news

Please raise a pull request for the same


Support Simplified/Traditional Chinese language?

What resources do we need to support Chinese language?

TensorFlow SyntaxNet support multiple languages now
https://github.com/tensorflow/models/blob/master/syntaxnet/universal.md


Open player from fragment

Hi!
I tried to open player activity from fragment, not fragment transaction, standalone activity,  player shut down immediatly. When I open it from a simple activity, no problem, player working. What did I wrong, or what else can I do to repair?

Hi, hard to tell with so little information. But the player is just a View, therefore it works the same on Activities and Fragments.

The logcat doesn't help much. I suggest you look at how it's done in the sample app, you must be doing something wrong in the Fragment.


Closes issue #96: Self healing property of SF cache

Description: Handling self-healing of SF cache

Implemented review comments as part of last commit. Please check.


OutOfMemoryException in HelpText.AddLine

After upgrading to the latest prerelease version, I'm seeing some of my unit tests fail because of what appears to be an infinite loop in HelpText.AddLine.
Basically, it looks like the same value is being added to the StringBuilder in a loop, until the system runs out of memory.
Stack trace:
System.OutOfMemoryException : Insufficient memory to continue the execution of the program.
at System.Text.StringBuilder.ExpandByABlock(Int32 minBlockCharCount)
at System.Text.StringBuilder.Append(Char* value, Int32 valueCount)
at System.Text.StringBuilder.AppendHelper(String value)
at System.Text.StringBuilder.Append(String value)
at CommandLine.Text.HelpText.AddLine(StringBuilder builder, String value, Int32 maximumLength)
at CommandLine.Text.HelpText.DefaultParsingErrorsHandler[T](ParserResult`1 parserResult, HelpText current)
at CommandLine.Text.HelpText.AutoBuild[T](ParserResult`1 parserResult, Func`2 onError, Func`2 onExample, Boolean verbsIndex, Int32 maxDisplayWidth)
at CommandLine.Parser.<>c__DisplayClass17_0`1.<DisplayHelp>b__1(IEnumerable`1 _, TextWriter writer)
at CSharpx.MaybeExtensions.Do[T1,T2](Maybe`1 maybe, Action`2 action)
at CommandLine.ParserResultExtensions.WithNotParsed[T](ParserResult`1 result, Action`1 action)
at CommandLine.Parser.DisplayHelp[T](ParserResult`1 parserResult, TextWriter helpWriter, Int32 maxDisplayWidth)

Thanks for looking into this!


fix(docs): fix install command

cargo install uses release profile by default and --path --bin does not work in workspaces
ref https://github.com/rust-lang/cargo/issues/7124
Closes #1501

Codecov Report

Merging #1503 (e376eca) into main (44e1d13) will decrease coverage by 30.40%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             main    #1503       +/-   ##
===========================================
- Coverage   76.14%   45.75%   -30.40%
===========================================
  Files         358      358
  Lines       42706    42706
===========================================
- Hits        32520    19541    -12979
- Misses      10186    23165    +12979

Flag
Coverage Δ

integration-tests
19.36% <ø> (-2.49%)
:arrow_down:

unit-tests
37.70% <ø> (-32.92%)
:arrow_down:

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

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


Implement option to save last frame for opengl

Overview: What does this pull request change?

Implemented save_last_frame option for opengl

Motivation and Explanation: Why and how do your changes improve the library?

#1936
Implement option to save last frame as an image for opengl
Links to added or changed documentation pages

Further Information and Comments

Reviewer Checklist

[ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

Works for me on Windows, not really sure why the tests are failing?

Works for me on Windows, not really sure why the tests are failing?

Yea I am not sure, but as discussed I removed the test for now


update_status reply not visible

Hey, when I m commenting using update_status reply,
It is not visible to the user but it is visible for me.
Please help!

Is the account that you're using protected?
If not, can you provide a reproducible example (MCVE/SSCCE)?


mtls addition to istio dashboard broke e2e_dashboard test

Leads to issues:
--- FAIL: TestDashboards/Istio (0.06s)
    	dashboard_test.go:96: For Istio, checking 24 queries.
    	dashboard_test.go:118: Expected a metric value for 'round(sum(irate(istio_request_count{source_service=~"istio-ingress.*",source_version=~"unknown",destination_service=~"echosrv.*",destination_version=~"v1.*",connection_mtls="true"}[1m])), 0.001)', found no samples: model.Vector{}

Previously: this log was:
--- PASS: TestDashboards/Istio (0.09s)
    	dashboard_test.go:96: For Istio, checking 22 queries.

Fix is to remove connection_mtls=\"(true|false)" from query string (to allow for both auth and non-auth envs).
cc: @JimmyCYJ

@douglas-reid  does this mean istio dashboard is broken in 0.6.0? Since I updated, I cannot see any metrics on the istio dashboard but the mixer and pilot dashboards work fine.

@charleslieferando no. it means that a PR that went in during the last week broke the e2e tests that were added this last week as well.
The e2e_dashboard tests (and a series of recent fixes related to data quality, etc.) confirm working behavior of the dashboards moving forward.
Have you tried running from a recent daily (https://github.com/istio/istio/wiki/Daily-builds)?  If you are still having issues, please file a separate issue to track.


Build packages compatible with multiple NumPy version

Build using a older version of NumPy to create packages which are compatible with multiple NumPy versions.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Stack Overflow has a nice writeup on NumPy's backwards compatibility  This same build with an older NumPy trick is being used to build whl's for Python projects with make use of the NumPy C API.

That is interesting. Should we adopt this policy everywhere?

That is interesting. Should we adopt this policy everywhere?

If it works, yes!  More testing and a chat with some of the NumPy team at SciPy would probably help clarify a few things about the process.

Should point out that besides cutting down on the number of packages that need to be built, this technique also means that the release of a NumPy versions does not require new builds of the various downstream packages which has been a pain point in the past.

More testing

I guess that, with this policy, it would be nice if we could run the whole test suite to help catch any accidental breakage.

More testing and a chat with some of the NumPy team at SciPy would probably help clarify a few things about the process

I'll be at SciPy next week. Would you recommend waiting until then to merge this?
Another question that isn't relevant yet. If pandas decides to require a newer NumPy would we need to update the build matrix?

Another question that isn't relevant yet. If pandas decides to require a newer NumPy would we need to update the build matrix?

Nope. Only the recipe. That is the beauty of this approach.

I tested this numpy technique with bottleneck and numexpr. There were no issues importing or running the unit tests for these packages with all the combinations of Python and NumPy I tried.  No warnings or other oddities.
With these tests and having talked with a number of folks at SciPy about the approach, I feel confident that this approach is safe for future packaging.

If these recipes are to be re-used by others it would be nice to have the
oldest possible version.
On Jul 17, 2017 3:16 PM, "Isuru Fernando"<EMAIL_ADDRESS>wrote:
@isuruf commented on this pull request.
In recipe/meta.yaml
https://github.com/conda-forge/pandas-feedstock/pull/32#discussion_r127782888
:

run:
- python

numpy  x.x

numpy >=1.7  # [py27]

numpy >=1.9  # [py35]

numpy >=1.11  # [py36]

+1 to restrict everything to 1.10 or 1.11. We've dropped numpy <= 1.10 in
the old approach anyway
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/pandas-feedstock/pull/32#discussion_r127782888,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6BL7Sr9gSnKqRK0UmMtLdTrg277XEtks5sO6TPgaJpZM4ORuLJ
.


Allow Custom Widget To Handle Validation

Prerequisites

[x] I have read the documentation;
[x] In the case of a bug report, I understand that providing a SSCCE example is tremendously useful to the maintainers.

Description
I have a custom widget for dates.  I want to make sure users type / select a valid date, and if not, throw an error.  I want to do this on the widget level if possible, so it would be nice if widgets had a property to either throw an error, or allow onChange to be passed in an error perhaps?
Are there any solutions for this right now?
Version
Latest

Closing due to duplicate issue #697


GetAWSOptions support AWS credentials?

Can I load credentials from the GetAWSOptions() file?
Hi,
I want to set all AWS configuration variables in my appsettings.json file, since we can insert env. variables from our release definitions into that, which is the ultimate goal.
I saw this blog post today and it kinda works. Meaning I can load profile and region just fine. However, the Credentials of my options are always null. Is that intended?
Again, my appsettings.json looks something like:
{
  "AWS": {
    "Profile": "default",
    "Region": "us-east-1",
    "AccessKey": "__REPLACE_WITH_KEY__",
    "SecretKey": "__REPLACE_WITH_SECRET__",
    "SessionToken":"__REPLACE_WITH_TOKEN__"
  }
}

Is it possible to load these with the Configuration.GetAWSOptions function?
Related: #499 #680

We have not implemented that feature because we want to encourage the use of profiles instead of embedding credentials directly into appsettings.X.json file where they would accidentally get checked into source control.

Understood. Thanks for clarification..
Are there any good/best practices on how to get a profile file into a release? Because as you mentioned, just checking it in wouldn't really be an option...

By release do you mean being deployed to AWS or deployed on premise in an environment that doesn't have access to user profiles?

Yes, exactly. On-prem deployments (in our case with IIS)

What I would recommend is write a credentials file that is accessible to the IIS process and then use the ProfilesLocation property to point to that credentials file during your release builds.
{
  "AWS": {
    "Profile": "prod",
    "ProfilesLocation": "C:\\OnPremiseProfiles\\credential",
    "Region": "us-east-1"
  }
}

 "AWS": {
    "Profile": "prod",
    "ProfilesLocation": "C:\\OnPremiseProfiles\\credential",
    "Region": "us-east-1"
  }

Hi, does someone can help me? I have created my json file config (development) as follow:
{
  "AWS": {
    "Profile": "default",
    "ProfilesLocation": "C:\\Users\\myuser\\.aws\\credential",
    "Region": "sa-east-1"
  }
}

and then I tried this: var awsConfig = Configuration.GetAWSOptions(); but my awsConfig variable is always null.

@Jass91 Are you sure that you can get the values from your appsettings.Jason confit file? E.g. like:
configuration.GetValue<string>("AWS:region")

From what I know, GetAWSOptions only works for region and profile. I solved the problem by overriding the environment vars directly from the source code.

@Jass91 Are you sure that you can get the values from your appsettings.Jason confit file? E.g. like:
configuration.GetValue<string>("AWS:Region")

From what I know, GetAWSOptions only works for region and profile. I solved the problem by overriding the environment vars directly from the source code.

Thanks for your help and sorry, i wrote wrong, I mean, when a call GetAWSOptions, I have Region and Profile, but credencials object is always null.


Error in localized fields API documentation + suggestions

Current localization API documentation is here: http://mongoid.org/en/mongoid/docs/documents.html#localized_fields
product.description_translations
#=> { "description" => { "en" => "Marvelous!", "de" => "Fantastisch!" } }

product.description_translations = { "description" => { "en" => "Marvelous!", "de" => "Wunderbar!" }

The current documentation is incorrect. It should be:
product.description_translations #=> { "en" => "Marvelous!", "de" => "Fantastisch!" }
product.description_translations = { "en" => "Marvelous!", "de" => "Wunderbar!" }

Also two suggestions:

The language key should be a Symbol (not a string). (:en instead of 'en'). This would be more consistent with the Rails I18n API, and also as a general practice it's better to use symbol keys for hashes.

Would be nice to have #description_t as an alias for #description_translations

So  _translations getter returns HashWithIndifferentAccess, but setter accepts Hash with different types of keys, but doesn't work with them. So no any errors when I do like that
product.description_translations = { en:  "Marvelous!", de: "Wunderbar!" }

but product.description will return nil.
So maybe you mention in documentation that _translations setter needs Hash with String keys or fix that not obvious behaviour.


Unable to download fma_full.zip

Overview
The download of fma_full.zip stops before completion.
Steps to Reproduce
# From the README
curl -O https://os.unil.cloud.switch.ch/fma/fma_full.zip

which, after a while, gives something like this:
transfer closed with n bytes remaining to read

Any advice/help would be greatly appreciated :)

Is that still an issue? I expect many people downloaded it in the meantime.

It's working now. Thank you :)


Prefetch when route for getRouteProps component change

Is this a bug report?
Yes. https://github.com/nozzle/react-static/issues/254
Environment

react-static -v: 4.7.1
node -v: 8.9.0
yarn --version: 1.3.2

Steps to Reproduce

Create a new basic example with react-static create
Use the same component with the getRouteProps HOC for more than one route (like e.g. https://github.com/nozzle/react-static/issues/254)
Start the dev server and navigate between these routes that have the same component

Expected Behavior
Should get the route props when the route change
Actual Behavior
The loading spinner appears and Warning: getRouteProps could not find any props for route: /<your_route_with_the_same_component>. is shown in the console.
There is currently no logic to fetch the route props when the match changes for the same component. This results in loaded being set to true, but initialProps not being set for this new route, so the loading spinner is shown indefinitely.

Awesome :)

I ran into the same problem and tried to test this PR to no joy.
I did npm run build then npm link. Then, on my project's folder, I did npm link react-static.
I got a console error on Chrome saying _this5 is not defined.
How did you test it?

My setup was a bit silly.
I used react-static create to create a new basic example, removed react-static from node_modules and clone my fork of react-static instead and ran yarn build.


volumes don't seem to work the docker way

Looks like I don't have much luck with making volumes work in kitchen-docker.
Added a volume and container inspect shows:
    "Volumes": {
        "/var/lib/activemq": "/var/lib/docker/vfs/dir/20fb19056...."
    },
    "VolumesRW": {
        "/var/lib/activemq": true

I was expecting gem would create a local directory on docker host and attach that to the container, such as in:
    "Volumes": {
        "/var/lib/activemq": "/var/lib/activemq"

I wonder whether u could shed some light on how kitchen-docker gem deals with volumes.
Driver config below:
platforms:
  - name: ubuntu-12.04
    driver_config:
      platform: ubuntu
      require_chef_omnibus: false
      socket: tcp://my.docker.host:5000
      image: myorg/activemq:5.11.1
      use_cache: false
      use_sudo: false
      hostname: amq.my.docker.host
      instance_name: amq
      volume: /var/lib/activemq

I am not sure that is how docker volumes work? Testing with the docker command directly, if either mapped directories do not exist (on host or container) then it is created by docker process itself.
The gem appears to just passes through what you set in the kitchen config, as in -v [host dir or file]:[container dir or file]

Thanks a lot, it works when using your example above.


Gltf loader now shows which file is missing pre baked tangents

Objective

Gltf loader now shows which file is missing pre baked tangents
Fixes #11831

Solution

The file name is shown in the error message

What changed as a result of this PR?

Changed:

Gltf loader now shows which file is missing pre baked tangents

If this PR is a breaking change (relative to the last release of Bevy), describe how a user might need to migrate their code to support these changes

Simply adding new functionality is not a breaking change.

Fixing behavior that was definitely a bug, rather than a questionable design choice is not a breaking change.

@torsteingrindvik Would you want to follow your suggested wording for the warning or are you okay if it is worded like this and doesn't show the whole duration of the file load, only the building of the missing tangents?
Additonally I do not feel strong if I have used the correct mappings to errors when getting the filename, but I wouldn't want to unwrap.

Thank you!
The log message now states exactly which model is being generated tangents for, and tracy shows that my suspicion was correct: There is way too much time being spent in generating these.


Add Bullseye installer

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
16

Relevant Lines:
49

💛  - Coveralls


Fix new file bug in WriteFileWithOptions

This commit fixes a bug in WriteFileWithOptions
where sboms were failing to be written to new files.
Signed-off-by: Adolfo García Veytia (Puerco<EMAIL_ADDRESS>

Closing this as @eddiezane fixed it at the same time as me :)


[BUG] Disabled mapper resolver generation

(Note, this may be intended behavior in which case consider this a FR)
Describe the bug
When I have mappers and resolverGeneration: disabled I expect there to not be resolvers generated but there are.
The docs say

disabled: generates no resolvers. Use this if you want to use your own structures. Note: if custom scalars are detected and used, resolver main files are still generated.

To Reproduce

Have mappers
Set resolverGeneration: disabled
Run generate command
Observe that resolvers were generated for your mapped types

Expected behavior
I expect resolvers to not be generated
Versions

OS: MacOS
Package name and version: "@eddeee888/gcg-typescript-resolver-files": "^0.10.2" (but appears to be long standing behavior)

Additional context
Full config:
schema: '**/schema.graphql'
generates:
  '.':
    preset: '@eddeee888/gcg-typescript-resolver-files'
    presetConfig:
      mode: modules
      typeDefsFileMode: modules
      resolverGeneration: disabled
      typesPluginsConfig:
        federation: true
        useIndexSignature: true
        resolversNonOptionalTypename: true
      scalarsOverrides:
        ID:
          type: string

hooks: { afterAllFileWrite: ['prettier --write'] }

Why I want this:
I have existing resolvers which all work nicely. Now I'm layering in the types and I don't want to move them all. Mappers should make my life a lot easier. But I definitely don't want to move all my resolvers around.

Hi @marisbest2,
I see your point 👍 The naming is a bit confusing at the moment and I'll look to improve this soon.
resolverGeneration has evolved a bit. Like you expected, disabled should avoid generating resolver files (and it did in the past). However, it is currently behaving as "do not generate resolver files by default, but run static analysis to catch runtime error, especially if there's mappers".
To take full control i.e. disabling type wireup and static analysis, you can use externalResolvers to point to your own resolver implementation:
defineConfig({
  resolverGeneration: 'disabled',
  externalResolvers: {
    TypeA: './path/to/TypeAFile#TypeA',
    TypeB: './path/to/TypeBFile#TypeB',
    // other files you want to take full control of...
  },
}),

Note that you'd have to add all the files you don't want the server preset to run analysis here, for now. I'll look into improving these config in the near future so that they have better names, and better documented

Cool I'll give that a try.
I think I'd suggest "disabled" to mean "don't generate any resolvers" and then something else to mean "do the bare minimum". I guess that'd be a breaking change, so maybe keep "disabled" to mean what it means and add a "off" option which just completely skips that step?
Alternatively maybe a "types-only" mode?
Anyway thanks!

Yes, that's a great suggestion 👍
I'm working towards v1 and there's going to be breaking changes for of config naming and behaviour. This feedback will help with that 🙌

Closing this as discussion has finished and we have a workaround.


Deadlink in new windowing doc

https://github.com/MicrosoftDocs/windows-uwp/blob/docs/hub/apps/develop/title-bar.md has a link to WASDK windowing migration, and the link https://docs.microsoft.com/en-us/windows-app-sdk/migrate-to-windows-app-sdk/guides/windowing.md returns 400.

Thanks for letting us know about this. The link is fixed now.


Fix/diverses

Description

Motivation and Context

How Has This Been Tested?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My code follows the code style and structure of this project.
[ ] I have updated the documentation accordingly.

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


Switchboard crashes when opening Universal Access

Upon opening "Universal Access" from Switchboard, the application crashes.
Trace:
(io.elementary.switchboard:2560): GLib-GIO-ERROR **: 22:51:20.322: Settings schema 'io.elementary.desktop.wingpanel.a11y' is not installed
Trace/breakpoint trap (core dumped)

Fixed in e2b8d361653d1c87beeae87e669dc4809661b558


Make sure we're getting the value from an object and not string when getting styles from style object

I have been having this issue where setting width={1} on a component gives the the width 0%.
I have managed to track down the issue and it seems that when getting the styles from the styles object it tries to get the key 1 from the string "100%" which happens to be "0". Since "0" is a truthy value that is returned as the style setting. (See image below)

My proposed fix for this is to when reducing the style from the styles object check if a is an object and only then get they value of a[b] . If a is not an object and there is still path parameters left then there is no possible match for the full path so we should return null to use the fallback value instead.

Codecov Report

Merging #185 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #185   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           5      5
  Lines         203    203
=====================================
  Hits          203    203

Impacted Files
Coverage Δ

src/util.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Might be tricky to get this reproducible with a small isolated example but I'll give it a go

Are you attempting to use width with theme values?

Hi,
Sorry for not being very responsive with this. I've been busy with other things. Yes with={1} is used in conjunction with a general theme. The string 1000px is coming from the site theme.
I don't think applying my fix is destructive in any way, I don't see any instance where you'd intentionally want to do a[b] where a is not an Object or Array.

Can you provide a CodeSandbox or Gist of what your theme looks like?

I understand. I will try to dig out the code that was causing this when I have some time at work. We worked around it by setting width="100%" so I'll have to do some digging

I will close this PR as I haven't had time to look into establishing a repro case for the issue


Cannot read property 'defaults' of undefined

Summary:
When importing the below defined schema I get the this.defaults as undefined. How is this possible since this.defaults is instantiated with a value in the Dynamoose constructor?
Code sample:
Schema
// In our private package:
const createSchemaModel = (modelName = 'modelName', schema = {
...schema
}, options = {}) => dynamoose.model(modelName, schema, options);

// usage
const schemaName = createSchemaModel();

schemaName.scan().all()exec()

Current output and behavior:
        for (const key in this.defaults) {
                               ^

TypeError: Cannot read property 'defaults' of undefined

Environment:
Operating System: MacOS
Operating System Version: Mojave 10.14.5
Node.js version (node -v): v10.15.3
NPM version: (npm -v): 6.9.0
Dynamoose version: 1.7.3

Dynamoose Plugins:

[ ] Yes, I believe that one or multiple 3rd party Dynamoose plugins are effecting this issue
[ ] No, I believe this issue is independent of any 3rd party Dynamoose plugins I'm using
[  ] Unknown, I'm unsure if Dynamoose plugins are effecting this issue
[ x ] I am not using any Dynamoose plugins

Other information (if applicable):
Type (select 1):

[ x ] Bug report
[ ] Feature suggestion
[ ] Question
[ ] Other suggestion
[ ] Something not listed here

Other:

[ x] I have read through the Dynamoose documentation before posting this issue
[ x] I have searched through the GitHub issues (including closed issues) and pull requests to ensure this issue has not already been raised before
[x ] I have searched the internet and Stack Overflow to ensure this issue hasn't been raised or answered before
[ ] I have tested the code provided and am confident it doesn't work as intended
[ ] I have ensured that all of my plugins that I'm using with Dynamoose are listed above
[ ] I have filled out all fields above
[ ] I am running the latest version of Dynamoose

@RafaRochaS91 What line is that error being thrown on?

@fishcharlie at line 128 of Dynamoose.ts.
But in any case I've seen to have found that if I use the destructured import like:
import { model, Schema } from 'dynamoose';

It creates a scoping since it looses context -  this. If I import the default like so:
import dynamoose from 'dynamoose`;

This doesn't occur. So I guess having it as a class is making this scoping problems exist when importing just one of its methods.

@RafaRochaS91 Can you link me the file? It doesn't look like there is any file called Dynamoose.ts in our project...

@fishcharlie ../blob/1494f7cb08f64f56163f0ae891ea5fb316d0f22a/lib/Dynamoose.ts#L128. It's an empty line though.

@dolsem Line 129 then, this.defaults is undefined.

I am also experiencing this issue with the following:
import { model, Schema } from 'dynamoose';
import { User as IUser } from "../interfaces";

const userSchema = new Schema({
  ID: { type: String, hashKey: true },
  FirstName: { type: String },
  LastName: { type: String },
  Email: { type: String },
  Avatar: { type: String },
  Organizations: {
    type: "list",
    list: [
      {
        type: "map",
        map: {
          ID: { type: String, required: true }
        }
      }
    ]
  }
});

const tableName = (process.env.STAGE === "dev")? "DevUsers": "Users";
export const User = model<IUser, {}>(tableName, userSchema);

but not:
import * as dynamoose from "dynamoose";
import { User as IUser } from "../interfaces";

const userSchema = new dynamoose.Schema({
  ID: { type: String, hashKey: true },
  FirstName: { type: String },
  LastName: { type: String },
  Email: { type: String },
  Avatar: { type: String },
  Organizations: {
    type: "list",
    list: [
      {
        type: "map",
        map: {
          ID: { type: String, required: true }
        }
      }
    ]
  }
});

const tableName = (process.env.STAGE === "dev")? "DevUsers": "Users";
export const User = dynamoose.model<IUser, {}>(tableName, userSchema);


[Hacktoberfest]: Add "O’Reilly Software Architecture Conference" to the Conferences Section

🆕🐥☝ Beginners Only:
This issue is reserved for people who are new to Open Source. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝
To do:

Add O’Reilly Software Architecture Conference to the Conferences Section
See below for link to step-by-step tutorial
Go down to Conferences section - it starts at around line 173
Using the following template, put in the correct info for that conference (Search for it on the internet to find the correct details) underneath the last row in the table, ensuring there is still an empty row before the next table.

| [Conference Name](Website Address) | Conference Name or Organising Org | 10 | Description of the Conferences, found on their website |

Add your details in the contributors section at the bottom of the page using the same formatting as the last one

📋 Step by Step
Step-By-Step Tutorial
Remember to observe the Code of Conduct - by which we mean, in short - Be Kind, Be Positive, Be Helpful

l will work on this.  Thank you.

PR197


Temperature and Energy stuck at zero

Hi!
When I run the optimization algorithm, the table gets stuck like this:

I've seen a similar issue, but it was related to PyCharm and I use Emacs.
Changing the update method so that it simply prints *args and **kwargs simply prints 0 0.0 0.0 None None once. So it seems the code is stuck at the first iteration. The code keeps running even after half an hour or more, even though I used auto(minutes=0.2).
Further, adding some prints to my energy function shows that the energy function is being called over and over. Its value does change, and so do the state parameters.
Thanks!

Lowering the steps parameter solved this. The function I want to optimize takes too long using the default schedule.