Deployment of 1000 VMs (TC307 - TC310)

Trying to deploy 1000 VMs fails due to number of IPs limit, so it was decided to provision 4 nodes (2 CPUs, 64 GB RAM) with 256 VMs each: 256 MB,
When trying to use it with the planetary=true, the following error is thrown.
Provisioning on testnet
Related to the tickets:

TC307: https://app.testlodge.com/a/26076/projects/40893/runs/628815/run?selected=26682020
TC308: https://app.testlodge.com/a/26076/projects/40893/runs/628815/run?selected=26682021
TC309: https://app.testlodge.com/a/26076/projects/40893/runs/628815/run?selected=26682022
TC310: https://app.testlodge.com/a/26076/projects/40893/runs/628815/run?selected=26682023

ERROR1)
If the number of VMs is larger than 99, then the following error is thrown:
The deployment is either timing out or showing that there are not enogh egg_ips available

ERROR2)
When deploying less than 99 VMs:
Error: error waiting deployment: waiting for deployment 3237 timedout

  on main.tf line 23, in resource "grid_deployment" "d1":
  23: resource "grid_deployment" "d1" {

ERROR3)
If planetary is disabled, then each time it fails on timeout:
Error: error waiting deployment: waiting for deployment 3232 timedout
  on main.tf line 14, in resource "grid_network" "net1":
  14: resource "grid_network" "net1" {

ERROR4)
Also, when the deployment was unsuccessful and running terraform destroy --parallelism=1, it show that 1 resource exists and will be destroyed. But it seems that it's skipping the destruction of the network.
As when the destroy completes successfully and you adjust the parameters (ex.: number of nodes/ memory, etc.), when running terraform apply --parallelism=1, after some time trying, it throws the error that the network name already exists
so need to rename the network in the Terraform script to a new name.
SUMMARY)
But every deployment seems to fail either with the timeout or not enough ygg IPs

Can you send the exact error message you get? It should complain about insufficient public ips not ygg ips which is fixable by adding more public ips to the farm
This is an issue with terraform. It assumes deployments will take < 4 minutes to deploy. It should be modified to do a proper estimate depending on the number of resources in the deployment.
Same
Does the issue persist after 1 hour of destroying? And is it reproducible? if so, can you send the terraform.tfstate file between applying and destroying. Also, are you using the same network name across multiple terraform project? Because this means there will be a conflict if they share the same node


onChange and other on* handler didn't work

Hi Im trying to use your library and its great, but I have faced issues trying adding handlers when something happen on tree component.  Adding any of onChange onSelect onTreeExpand` or other arguments result in following error
I am not good in python, but seems like set handler to str type, which probably causes the following error

PS:
Actually I tried to add handlers to workaround the problem when having tree select with treeChekable set to false and clearing the value of select. It seems do not propagating the change to python so the return value is stale with previous selection

Hello Slavik,
I'm glad to hear that you're finding the extension useful!
Just to clarify, the onChange function and other similar functions are designed specifically for JavaScript functions that are executed when a value is changed. If you want to add Python functionality, you will need to incorporate it into your code and base it on the return value of the st_ant_tree function.
I have added an example for the onChange parameter to the demo:
https://flucas96-streamlit-tree-select-example-app-s0vkjx.streamlit.app/
Thank you for pointing out the problem with changes not being reflected in the return value. It seems to only happen when multiple selection is off. I will have a look into that.
Best  regards
Fabian

I was able to locate the error and fixed it.
Now clearing the select field will return None.
You can download the new version of the module here:
https://pypi.org/project/st-ant-tree/


Create scheduled security scan workflow

This should be ran daily. See https://github.com/securego/gosec/blob/master/.github/workflows/scan.yml or similar.
Can use the audit job from the ci/cd workflow.

Added scan workflow shall see what it does.

Scan works so this should be good now.


crash when adding base pair lines

Bad state: No element
stack trace:
Bad state: No element
at Object.wrapException (https://scadnano.org/main.dart.js:1257:17)
at Object.throwExpression (https://scadnano.org/main.dart.js:1271:15)
at _$Design.find_overlapping_domains_on_helix$1 (https://scadnano.org/main.dart.js:102878:13)
at _$Design._base_pairs$1 (https://scadnano.org/main.dart.js:102826:36)
at _$Design.get$base_pairs (https://scadnano.org/main.dart.js:102815:19)
at _$DesignMainBasePairLinesComponent._create_base_pair_lines_components$0 (https://scadnano.org/main.dart.js:121532:50)
at _$DesignMainBasePairLinesComponent.render$0 (https://scadnano.org/main.dart.js:121505:45)
at ReactDartInteropStatics2_handleRender_closure.call$0 (https://scadnano.org/main.dart.js:70914:17)
at _RootZone.run$1$1 (https://scadnano.org/main.dart.js:48823:18)
at StaticClosure.ReactDartInteropStatics2_handleRender (https://scadnano.org/main.dart.js:16244:28)

Can you upload the design you used, and the steps you took to make this error happen?
Thanks,
Dave

Closing as duplication of #858


Upgrade django to version 1.4.15

update requirements.txt
check what changes can break and if necessary fix it.

Solved in version 2.1.1


HHH-16020 - Fix for error that surfaced in the LegacyOracleLimitHandler

... due to the fix for HHH-16020
Signed-off-by: Jan Schatteman<EMAIL_ADDRESS>

@beikov This should fix the failing NativeQueryLimitOffsetTest.testPartialLimitOffsetOnNativeQuery() for Oracle 11, could you check what CI has to say about it?
I tested it locally against Oracle 11, and found that 2 tests of the LockTest were failing. After some debugging it seemed not related to this change, and when running the tests on main, these same 2 tests also fail, so I assume that these failures are unrelated.

I tested it locally against Oracle 11, and found that 2 tests of the LockTest were failing. After some debugging it seemed not related to this change

Yes, I've seen this as well.


gen_matrix is incorrect

The current implementation of gen_matrix, given below, is incorrect. The problem is in the case that the initial BUFLEN=504 bytes squeezed from the XOF are not enough. Then only a single extra block is squeezed from the XOF, but the whole buffer is used for rejection sampling.
Compare your Rust implementation:
fn gen_matrix(a: &mut [Polyvec], seed: &[u8], transposed: bool)
{
  let mut ctr;
  // 530 is expected number of required bytes
  const GEN_MATRIX_NBLOCKS: usize =
    (12*KYBER_N/8*(1 << 12)/KYBER_Q + XOF_BLOCKBYTES)/XOF_BLOCKBYTES;
  const BUFLEN: usize = GEN_MATRIX_NBLOCKS*XOF_BLOCKBYTES;
  let mut buf = [0u8; BUFLEN+2];
  let mut off: usize;
  let mut state = XofState::new();

  for i in 0..KYBER_K {
    for j in 0..KYBER_K {
      if transposed {
        xof_absorb(&mut state, seed, i as u8, j as u8);
      }
      else {
        xof_absorb(&mut state, seed, j as u8, i as u8);
      }
      xof_squeezeblocks(&mut buf, GEN_MATRIX_NBLOCKS, &mut state);
      ctr = rej_uniform(&mut a[i].vec[j].coeffs, KYBER_N, &buf, BUFLEN);

      while ctr < KYBER_N
      {
        off = BUFLEN % 3;
        for k in 0..off {
          buf[k] = buf[BUFLEN - off + k];
        }
        xof_squeezeblocks(&mut buf[off..], 1, &mut state);
        ctr += rej_uniform(&mut a[i].vec[j].coeffs[ctr..], KYBER_N - ctr, &buf, BUFLEN);
      }
    }
  }
}

To the reference implementation where buflen is correctly adjusted:
void gen_matrix(polyvec *a, const uint8_t seed[KYBER_SYMBYTES], int transposed)
{
  unsigned int ctr, i, j, k;
  unsigned int buflen, off;
  uint8_t buf[GEN_MATRIX_NBLOCKS*XOF_BLOCKBYTES+2];
  xof_state state;

  for(i=0;i<KYBER_K;i++) {
    for(j=0;j<KYBER_K;j++) {
      if(transposed)
        xof_absorb(&state, seed, i, j);
      else
        xof_absorb(&state, seed, j, i);

      xof_squeezeblocks(buf, GEN_MATRIX_NBLOCKS, &state);
      buflen = GEN_MATRIX_NBLOCKS*XOF_BLOCKBYTES;
      ctr = rej_uniform(a[i].vec[j].coeffs, KYBER_N, buf, buflen);

      while(ctr < KYBER_N) {
        off = buflen % 3;
        for(k = 0; k < off; k++)
          buf[k] = buf[buflen - off + k];
        xof_squeezeblocks(buf + off, 1, &state);
        buflen = off + XOF_BLOCKBYTES;
        ctr += rej_uniform(a[i].vec[j].coeffs + ctr, KYBER_N - ctr, buf, buflen);
      }
    }
  }
}

The issue for regular Kyber occurs with probability approximately 2^-105.

For 90s Kyber (which no one should use) you hit it with probability 2^-38.


Real time examples with ascii cinema

Can we offer some real time examples of dep in the wild?
For those interested, examples of using ascii cinema can be found here:
The playback

With Kubernetes kops

The source

With Kubernetes kops

Here's one, it's not super flashy but may be a good start:
https://asciinema.org/a/120874


Let's get a chat room!

This is awesome, saw it from daily.js email list!
I was digging around to see if I had to build it from scratch, and I'm glad I found this place! Bonus it's in my favorite languages, react and node.js.
We need an IRC or something! Where do you guys currently chat?

Hi,
Thank you, I'm pleased to know this tool can be useful to someone.
Unfortunately, I don't really chat, sorry.

So then this is a project about you, not it's users. gotcha.
"just another dev who doesn’t get the purpose of open source in society"
"move on; fork at will...."

That said: I want to see this project succeed, and you are it's captain. I beg you reconsider.


Unexpted behaviour: Hosts File Editor freezes when trying to add a new entry into a hosts file with 50k entries

Microsoft PowerToys version
0.75.1
Installation method
GitHub
Running as admin
Yes
Area(s) with issue?
Hosts File Editor
Steps to reproduce
Have a hosts file with 50k entries
Try to add a new entry
freezes for over a minute ( i force closed the application )
✔ Expected Behavior
Within less than 15ms the hosts file should be written to disk with the new entry.
❌ Actual Behavior
Unexpted behaviour: Freezes for minutes
Other Software
No response

Your host file is 50,000+ entries? Correct?  /needinfo
To be honest, i bet our tool would need far features to handle that many entries and be useful.

This was released wit v0.82.0.


Provider events are not being forwarded by wrapper

hre.network.provider is an EventEmitter. One way Hardhat uses this is to emit events when the network is reset or a snapshot is reverted. But when hardhat-tracer is used, any listener already set is "removed". This is easier to understand with an example.
Take this hardhat.config.js:
extendEnvironment(hre => {
  hre.network.provider.on("hardhatNetworkReset", () => console.log("reset"))
})

require("hardhat-tracer")

module.exports = {
  solidity: "0.8.24",
};

Here the extendEnvironment before loading hardhat-tracer is used to represent a plugin that registers a listener on the provider. I'm placing it before loading hardhat-tracer, but it actually doesn't matter if it's after it (because of the way Hardhat executes its initailization).
If you open a console with npx hardhat console and run await hre.network.provider.send("hardhat_reset"), you should see reset being logged, but it's not. If you comment out the hardhat-tracer require, then it will work as expected.
I'm not sure what's the right fix here, but I suspect wrapProvider should somehow re-register any listeners already set in the existing provider.

So, as far as I understand, BackwardsCompatibilityProviderAdapter extends EventEmitterWrapper, which helps as a wrapper that forwards new registered events to the underlying provider. But I don't think it exposes existing registered listeners. Perhaps we could update it to do that, but it might be a bit risky since that's a very core component.
Since this bug happens with a very specific combination of ethers v5, hardhat-tracer, and fixtures/reset, IMO a less risky workaround at the hardhat-tracer would be ideal.
I can help with figuring out how to do it. Off the top of my head, you would need to do something like:
// get existing listeners and remove them from the provider
let eventListeners = {}
for (const eventName of provider.eventNames()) {
  eventListeners[eventName] = []
  for (const listener of provider.listeners(eventName)) {
    eventListeners[eventName].push(listener)
  }
  provider.removeAllListeners(eventName)
}

// wrap the provider as you are doing today
hre.network.provider = wrapProvider(...)

// re-register the listeners
for (const [eventName, listeners] of Object.entries(eventListeners)) {
  for (const listener of listeners) {
    hre.network.provider.on(eventName, listener)
  }
}

(I haven't tested it though)

Tested my reproduction steps with v3.1.0 but the behavior is the same :confused:


OC-sdk sends different sender id's onNewMessage Event and onTyping Event.

It is by design that there's multiple sender ids.
In a chat, it usually contains three different users:

system
customer
agent

A message should always be coming from one of the three participants and a typing event should always be coming from the agent.
You can find the list of participants in the network traces with the /chat/threads/[threadId]/participants API.
A system user's responsibility is to send system messages in the chat. A system message will always contain the message tag system.


#225 added documentation for new triggers

Closing #225

@kronicz I pushed an update with a few tweaks:

Alphabetical sort order in the child listing
Don't n need to escape brackets in normal text
Added ` to create linebreak before input value tables
Removed bold "Note: " since it is already in a remark.

@kronicz the ScreenChooserType Enum is generated from source code and your changes will not survive the next build. You can identify this by looking for so.generated: true in the metadata at the top of the file.
The update should be done in the code. Might be there already and just need a fresh database build. @SuperOfficeDevNet ?
The trigger reference is good to merge once we sort the enum situation out.

@kronicz the ScreenChooserType Enum is generated from source code and your changes will not survive the next build. You can identify this by looking for so.generated: true in the metadata at the top of the file.
The update should be done in the code. Might be there already and just need a fresh database build. @SuperOfficeDevNet ?
The trigger reference is good to merge once we sort the enum situation out.

Could we perhaps just revert this related to Enum to be able to merge it? Not sure if something must be done in modelling if that is the source?

Hi @kronicz!
New events should be add to the CRMScript.NetServer.EventHandlerType file, not the screenchoosertype file.
These are two completely different things, are they not?


Menu listings

https://github.com/HerbertHe/for-editor-herb/blob/9f6a6d8c28f2356fdccfa0a01fffe10c159c66b2/src/components/toolbar_left.tsx#L47
When we click on lets say BOLD on mobile and the menu doesn't hide after the click. Unfortunately our text is under the menu and we cant quite see what we just did unless we click someone else. We can just set all those "*Hidden" to true.
Also it would be great if we can make our own groups and have the control of which buttons will be in them.
The ability to add our own custom buttons will be also useful (H5 and H6 for example are missing).

About BOLD, the version will fix this trouble and you can control the buttons too, and H5 and H6 will be provided. About custom button, it is hard to provide. If you have more features wanted, please let me know


Ruleset propagation and matching logic

cc @robskillington @cw9 @prateek @jeromefroe
This PR adds logic to handle ruleset propagation, including watching and processing ruleset updates, as well as rule key changes. It then uses the rules to matching against metric IDs to determine the applicable policies.
There are a few interfaces (namely BackendServer, Reporter, and Matcher) that don't have concrete implementations yet. Just want to get them out there to get some early feedback.
I'm going to work on adding concrete implementations for the matcher interface (e.g., caching), and hooking up the matcher to the reporter, which talks to the backend server that forwards metrics to the aggregation tier.

Changes Unknown when pulling c4c1c16f611f6409b4e0e81dc513999061432bb1 on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling c38a2af4165b3590461c61772d73ec57bcc1ba00 on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling f4fea6ca0dcc88aa23ec81015dbd7f2da0fee431 on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling 8155ee3656b7b283ace2baf27b0be2783a82e02f on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling 8155ee3656b7b283ace2baf27b0be2783a82e02f on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling dc6b92d32a1fd871e7cd64ccd1a91c8fab9dfd73 on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling e44d93ae31fdfd61c3caadf9054153c88605b618 on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling e44d93ae31fdfd61c3caadf9054153c88605b618 on xichen-ruleset-propagation into ** on master**.

Also another bigger question: how is this going to work at query time?  For each ID we are going to end up querying (for every ID in every query) do we need to run Match(...) for every single rule in the ruleset for that namespace?
Seems potentially very expensive.

Changes Unknown when pulling 626f6812b9ab7945f01b71f49010f09d4e0dc33e on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling 2d5238cb3f3ac93c18b1c2c6b34bb06dbd38d230 on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling fbc078ced34c2139b373b37cbe157537ff814d2f on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling 1b5a5ee92f8858bbb3d564107b3a210d790b2a7b on xichen-ruleset-propagation into ** on master**.

Changes Unknown when pulling fcb87d74d49412172b360efb55a96877137780ef on xichen-ruleset-propagation into ** on master**.

@robskillington @cw9 @jeromefroe this is ready for review again. For recent changes, take a look at https://github.com/m3db/m3collector/compare/fbc078c...fcb87d7. Thanks!

Changes Unknown when pulling 197ccd016bcbffa989e33933a92902a72935f83a on xichen-ruleset-propagation into ** on master**.


arch-riscv: Make RISC-V decodeInst overridable

The change will allow developers to implement and decode their non-standard instructions to the CPU models
Change-Id: I67f4abc71596f819c1265e325784f51c8e9bb359

I wonder if making this extremely hot function a virtual function will have any impact on performance? Have you run any tests to see? AtomicCPU boot would be a good test, I think.

Hi @powerjg,
I have run the RISC-V Atomic CPU boot tests in 1 secs by following commands 5 times:
time build/ALL/gem5.opt tests/gem5/riscv_boot_tests/configs/riscv_boot_exit_run.py --cpu atomic -n 1 -m classic -t<PHONE_NUMBER>000

Results with direct decodeInst:
real    11m24.390s
user    11m20.037s
sys     0m3.681s

real    11m38.016s
user    11m22.091s
sys     0m2.161s

real    11m48.920s
user    11m41.603s
sys     0m2.579s

real    11m39.425s
user    11m35.407s
sys     0m2.204s

real    11m32.109s
user    11m26.147s
sys     0m2.121s

Results with virtual decodeInst:
real    11m44.548s
user    11m41.755s
sys     0m2.112s

real    11m39.487s
user    11m35.354s
sys     0m1.901s

real    11m55.239s
user    11m51.416s
sys     0m2.014s

real    11m52.910s
user    11m48.215s
sys     0m1.972s

real    11m52.189s
user    11m47.508s
sys     0m2.053s

It's slightly slower if the decodeInst changed to virtual function. However, the decodeInst only called if the machine code is not in the cached instMap. There is no impact if the machine code is in instMap.
Thanks

Thanks for running the test! 1% doesn't seem like it's too much overhead.


currentLocation() is nil

self.sceneLocationView.currentLocation() is nil. Anyone else facing the same issue?

Same. Now I'm just retrieving the current location by myself.

The first current location is added when the render runs for the first time. Are you calling the function before the view appears?

Closing due to being old and stale.


Inspect / copy environment variables of pod

Hello,
Is there a way to look at the values of the environment variables on the pod being debugged and/or source them so that the debug container has the same environment?
Thanks,
Alex

I have imported environment variables of container into debug session using next command:
while IFS= read -rd '' var; do export "$var"; done </proc/1/environ

ah nice, thank you!


Incorrect error message

The code snippet:
        self._pins[AnalogPins.A6]._connect_device(
            PressureSensor(webot, 'finger pressure left'))

gives the error message:
./modules/sr/robot3/arduino.py:108:13: BWR001 Call is wrapped badly - 2 elements on the same line

But there is only one argument on the wrapped line.

The presence of an error is correct, though I agree the message could be clearer. The desired formatting is:
        self._pins[AnalogPins.A6]._connect_device(
            PressureSensor(webot, 'finger pressure left'),
        )

The second element being referred to is the closing parenthesis.


[WIP][fix][#3229] unable to transfer to link url on ad

Coverage increased (+6.8%) to 73.041% when pulling 5dd5b1c92221e21aa65f00a4d6805e401dcf3147 on sunny4381:fixes/ss-3229 into 82fe9f4d566c618634dc3f982e5944d4feb0ef57 on shirasagi:master.

Coverage increased (+6.8%) to 73.041% when pulling 5dd5b1c92221e21aa65f00a4d6805e401dcf3147 on sunny4381:fixes/ss-3229 into 82fe9f4d566c618634dc3f982e5944d4feb0ef57 on shirasagi:master.

Coverage increased (+6.8%) to 73.041% when pulling 5dd5b1c92221e21aa65f00a4d6805e401dcf3147 on sunny4381:fixes/ss-3229 into 82fe9f4d566c618634dc3f982e5944d4feb0ef57 on shirasagi:master.


Mypy in nox fails to run

Bug Description
Running mypy with nox -s mypy is throwing an error. I've tried several things to get it to run, but so far no luck. While this should be fixed, I don't consider it critical because the exact same thing can be done by running mypy directly.
nox > Running session mypy
nox > Re-using existing virtual environment at .nox/mypy.
nox > python -m pip install -r requirements.txt
nox > Error: python is not installed into the virtualenv, it is located at /Users/paul/development/python/fides/.venv/bin/python. Pass external=True into run() to explicitly allow this.
nox > Session mypy failed.

mypy and nox versions
pip freeze | rg "mypy|nox"
mypy==0.971
mypy-extensions==0.4.3
nox==2022.8.7

Steps to Reproduce

Run nox -s mypy

Expected behavior
mypy should run without erroring
Screenshots
If applicable, add screenshots to help explain your problem.
Environment

Version: unified fides
OS: macos
Python Version: 3.9.14
Docker Version: N/A

Additional context
All the other nox commands I tried worked without this error (pylint, isort, black).

I found I can resolve this issue by removing the nox cache so closing.
rm -r .nox


[BUG] Unable to use DefaultAzureCredential in the local environment over the VPN

Describe the bug
When internet connection is over the VPN the DefaultAzureCredential fails to iterate credential chain when it tries to get credentials via ManagedIdentityClient.
Expected behavior
DefaultAzureCredential should skip ManagedIdentityClient if it's not available or not reachable. And for the local environment it should fallback to other methods e.g. AzureCliCredential
Actual behavior (include Exception or Stack Trace)
ImdsManagedIdentitySource tests connectivity to host <IP_ADDRESS> for port 80, and over the VPN it's available, something like this:
nc -zv <IP_ADDRESS> 80
Connection to <IP_ADDRESS> port 80 [tcp/http] succeeded!

Under the VPN this address/port apparently used by VPN service itself.
When ManagedIdentityClient tries to get actual data from the http://<IP_ADDRESS>/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net it fails.
e.g.
curl -H Metadata:true "http://<IP_ADDRESS>/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net"
curl: (56) Recv failure: Connection reset by peer

Unhandled exception. Azure.Identity.AuthenticationFailedException: ManagedIdentityCredential authentication failed: Retry failed after 4 tries. Retry settings can be adjusted in ClientOptions.Retry. (An error occurred while sending the request.) (An error occurred while sending the request.) (An error occurred while sending the request.) (An error occurred while sending the request.)
 ---> System.AggregateException: Retry failed after 4 tries. Retry settings can be adjusted in ClientOptions.Retry. (An error occurred while sending the request.) (An error occurred while sending the request.) (An error occurred while sending the request.) (An error occurred while sending the request.)
 ---> Azure.RequestFailedException: An error occurred while sending the request.
 ---> System.Net.Http.HttpRequestException: An error occurred while sending the request.
 ---> System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
 ---> System.Net.Sockets.SocketException (54): Connection reset by peer
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.FillAsync(Boolean async)
   at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(Boolean async, Boolean foldedHeadersAllowed)
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   at Azure.Core.Pipeline.ResponseBodyPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RedirectPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Identity.ManagedIdentitySource.AuthenticateAsync(Boolean async, TokenRequestContext context, CancellationToken cancellationToken)
   at Azure.Identity.ManagedIdentityClient.AuthenticateAsync(Boolean async, TokenRequestContext context, CancellationToken cancellationToken)
   at Azure.Identity.ManagedIdentityCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
 ---> (Inner Exception #1) Azure.RequestFailedException: An error occurred while sending the request.
 ---> System.Net.Http.HttpRequestException: An error occurred while sending the request.
 ---> System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
 ---> System.Net.Sockets.SocketException (54): Connection reset by peer
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.FillAsync(Boolean async)
   at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(Boolean async, Boolean foldedHeadersAllowed)
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   at Azure.Core.Pipeline.ResponseBodyPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RedirectPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)<---

 ---> (Inner Exception #2) Azure.RequestFailedException: An error occurred while sending the request.
 ---> System.Net.Http.HttpRequestException: An error occurred while sending the request.
 ---> System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
 ---> System.Net.Sockets.SocketException (54): Connection reset by peer
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.FillAsync(Boolean async)
   at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(Boolean async, Boolean foldedHeadersAllowed)
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   at Azure.Core.Pipeline.ResponseBodyPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RedirectPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)<---

 ---> (Inner Exception #3) Azure.RequestFailedException: An error occurred while sending the request.
 ---> System.Net.Http.HttpRequestException: An error occurred while sending the request.
 ---> System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
 ---> System.Net.Sockets.SocketException (54): Connection reset by peer
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.FillAsync(Boolean async)
   at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(Boolean async, Boolean foldedHeadersAllowed)
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   at Azure.Core.Pipeline.ResponseBodyPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RedirectPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)<---

   --- End of inner exception stack trace ---
   at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex)
   at Azure.Identity.ManagedIdentityCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.ManagedIdentityCredential.GetTokenAsync(TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.DefaultAzureCredential.GetTokenFromSourcesAsync(TokenCredential[] sources, TokenRequestContext requestContext, Boolean async, CancellationToken cancellationToken)
   at Azure.Identity.DefaultAzureCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex)
   at Azure.Identity.DefaultAzureCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.DefaultAzureCredential.GetTokenAsync(TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.AuthenticateRequestAsync(HttpMessage message, Boolean async)
   at Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.ProcessCoreAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RedirectPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.HttpPipeline.SendRequestAsync(Request request, CancellationToken cancellationToken)
   at Azure.Security.KeyVault.KeyVaultPipeline.SendRequestAsync(Request request, CancellationToken cancellationToken)
   at Azure.Security.KeyVault.KeyVaultPipeline.GetPageAsync[T](Uri firstPageUri, String nextLink, Func`1 itemFactory, String operationName, CancellationToken cancellationToken)
   at Azure.Core.PageResponseEnumerator.FuncAsyncPageable`1.AsPages(String continuationToken, Nullable`1 pageSizeHint)+MoveNext()
   at Azure.Core.PageResponseEnumerator.FuncAsyncPageable`1.AsPages(String continuationToken, Nullable`1 pageSizeHint)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Azure.AsyncPageable`1.GetAsyncEnumerator(CancellationToken cancellationToken)+MoveNext()
   at Azure.AsyncPageable`1.GetAsyncEnumerator(CancellationToken cancellationToken)+MoveNext()
   at Azure.AsyncPageable`1.GetAsyncEnumerator(CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Azure.Extensions.AspNetCore.Configuration.Secrets.AzureKeyVaultConfigurationProvider.LoadAsync()
   at Azure.Extensions.AspNetCore.Configuration.Secrets.AzureKeyVaultConfigurationProvider.LoadAsync()
   at Azure.Extensions.AspNetCore.Configuration.Secrets.AzureKeyVaultConfigurationProvider.Load()
   at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)
   at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
   at AkvTest.Program.Main(String[] args) in /Users/ipcholko/Documents/__RND/__akv-test/AkvTest/Program.cs:line 15
   at AkvTest.Program.<Main>(String[] args)

To Reproduce
Consider following code:
using System;
using System.Threading.Tasks;
using Azure.Identity;
using Microsoft.Extensions.Configuration;

namespace AkvTest
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var builder = new ConfigurationBuilder();
            builder.AddAzureKeyVault(new Uri("https://some-kv.vault.azure.net/"), new DefaultAzureCredential());

            IConfiguration configuration = builder.Build();
            Console.WriteLine($"ConnectionString: {configuration["SomeSecret"]}");
        }
    }
}

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.2.1" />
    <PackageReference Include="Azure.Identity" Version="1.4.1" />
    <PackageReference Include="Microsoft.Extensions.Configuration" Version="5.0.0" />
  </ItemGroup>

</Project>

Simulate service for the host <IP_ADDRESS> port 80 which resets connection.

Thank you for your feedback.  Tagging and routing to the team members best able to assist.

Hi @Igor-Pchelko -
In the latest pre-release version of Azure.Identity, there is an environment variable setting (AZURE_POD_IDENTITY_AUTHORITY_HOST) that is intended for configuration of a pod identity endpoint. However, you could try using it to configure some other non-routable endpoint address which is not being used by your VPN. Could you try configuring this as a workaround?

Hi @christothes,
I think AZURE_POD_IDENTITY_AUTHORITY_HOST should work. But I'm using latest Azure.Identity nuget version 1.4.1, which doesn't have this implementation yet, the s_imdsEndpoint is hardcoded:
    internal class ImdsManagedIdentitySource : ManagedIdentitySource
    {
        // IMDS constants. Docs for IMDS are available here https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-use-vm-token#get-a-token-using-http
        private static readonly Uri s_imdsEndpoint = new Uri("http://<IP_ADDRESS>/metadata/identity/oauth2/token");

I can confirm with 1.5.0-beta.4 the workaround works:
export AZURE_POD_IDENTITY_AUTHORITY_HOST=<IP_ADDRESS>


architecture design

detailDiagramOfProject.pdf

allOptions_dueDiligence.pdf

Added additional diagram to offer all reasonable options to meet project goal.  The Stake holders deserve to know all their choices in solving the issue of ordering test, remotely.

This issue is no longer valid.  The project has taken a new turn.


Cannot bridge two nodes

I tried to bridge two nodes but I get the following error:
bmcustodio :: ~/emqttd ❯ bin/emqttd_ctl bridges start<EMAIL_ADDRESS>"#"
bin/emqttd_ctl: 226: bin/emqttd_ctl: [[: not found
error: {{undef,[{emqttd_mqueue,mqueue,[],[]},
                {emqttd_bridge,init,1,
                               [{file,"src/emqttd_bridge.erl"},{line,50}]},
                {gen_server,init_it,6,[{file,"gen_server.erl"},{line,328}]},
                {proc_lib,init_p_do_apply,3,
                          [{file,"proc_lib.erl"},{line,239}]}]},
        {child,undefined,
               {bridge,'emqttd@n1.dev.local',<<"#">>},
               {emqttd_bridge,start_link,
                              ['emqttd@n1.dev.local',<<"#">>,
                               [{max_queue_len,10000},
                                {ping_down_interval,1}]]},
               transient,10000,worker,
               [emqttd_bridge]}}

Am I doing something wrong? I could cluster the two nodes (they do see each other) but cannot bridge them for some reason. I'm using 0.9.1.

@bmcustodio, fixed in 0.9.3 and update Wiki: https://github.com/emqtt/emqttd/wiki/Bridge.
Any suggestions on bridge design will be welcome:)

0.9.3 released, and the issue fixed.


Error on the example script prevents activation of the swap file after second reboot

Hello,
I tried the instructions posted on this page on a RHEL 7.7 image with cloud-init and found out that the example script is not working ( the swap file wasn't activated after a second server reboot ).
This is the original script:
#!/bin/sh
if [ ! -f '/mnt/swapfile' ]; then
fallocate --length 2GiB /mnt/swapfile    --> Here, set the swapsize as necessary.
chmod 600 /mnt/swapfile
mkswap /mnt/swapfile
swapon /mnt/swapfile
swapon -a ; fi

The problem with it is that after creating the swap file during the first reboot, on the second the file still exists but then it's not activated.
A better way to handle this is to use a short-circuit approach to create the swap file and to try to activate it every time the script runs as in the example below:
cat << EOF > /var/lib/cloud/scripts/per-boot/create_swapfile.sh
#!/bin/sh

# Setup the size of the swap file in Gigabytes
SWAP_GBSIZE="2"

# Setup the path for the swap file, and make sure it's located on the resource disk
SWAP_FILE="/mnt/resource/swapfile"

# Check if the swap file doesnt exists, then creates a new swapfile
[ ! -f \$SWAP_FILE ] && {
  fallocate --length \${SWAP_GBSIZE}GiB \$SWAP_FILE
  chmod 600 \$SWAP_FILE
  mkswap \$SWAP_FILE
}

# Activate the swap file every time this script is executed by cloud-init during the server boot
swapon \$SWAP_FILE
swapon -a

EOF

Also, the example below has two duplicated lines ( the ResourceDisk.EnableSwap property ).
# vi /etc/waagent.conf
#Mount point for the resource disk
ResourceDisk.MountPoint=/mnt

#Create and use swapfile on resource disk.
ResourceDisk.EnableSwap=n

# Create and use swapfile on resource disk.
ResourceDisk.EnableSwap=n

#Size of the swapfile.
ResourceDisk.SwapSizeMB=0

Rather that instructing administrators to change the file manually, the same can be accomplished using a single command line:
sed -r -i.azbackup \
  -e "/ResourceDisk.EnableSwap=/ s|=.*$|=n|" \
  -e "/ResourceDisk.MountPoint=/ s|=.*$|=/mnt/resource|" \
  -e "/ResourceDisk.SwapSizeMB=/ s|=.*$|=0|" \
  /etc/waagent.conf

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

ID: 01ee0e4f-fb6a-2a3f-b30e-e2bf4c0b383c
Version Independent ID: 6f0185df-55bd-c07b-8380-93b9e9428638
Content: Swap file is not re-created after a Linux VM restarts - Virtual Machines
Content Source: support/azure/virtual-machines/swap-file-not-recreated-linux-vm-restart.md
Service: virtual-machines
GitHub Login: @genlin
Microsoft Alias: genli

@carlosporter Thanks for the suggestion. I will

@carlosporter, We have updated the script:
https://docs.microsoft.com/en-us/troubleshoot/azure/virtual-machines/swap-file-not-recreated-linux-vm-restart
I will process to close this issue. Feel free to let me know there is still a problem.

@carlosporter, We have updated the script:
https://docs.microsoft.com/en-us/troubleshoot/azure/virtual-machines/swap-file-not-recreated-linux-vm-restart
Let me know if there is still a problem or issue.


CSS Gradients Preview: No preview when language mode is set to PostCSS

Hi, I'm using PostCSS Intellisense and Highlighting (and was previously using PostCSS Language Support which unfortunately does not show color previews).
One of the steps in using this extension is setting the file association to postcss: "files.associations": { "*.css": "postcss" }.
Unfortunately it looks like the CSS Gradients Preview extension only works when the language mode is CSS (or at least, it doesn't appear to work with PostCSS). I haven't tested CSSTools Design Tokens but it might have the same problem.

That's unfortunate. I use nesting-rules from postcss-preset-env as well as a few other PostCSS plugins, so if I use native css then VSCode can't parse it. Actually it looks like PostCSS Intellisense and Highlighting doesn't require the files.associations thing, it just sets the language mode to PostCSS regardless, but either way the gradient preview extension doesn't trigger.

I unfortunately run into the same issue for the Design Tokens-extension. :(

Yes, still working as intended.
PostCSS is not a language.
If I were to add this I would get endless bug reports of people running into issues.
I don't have the capacity to handle any of that :/
The only good setup is Sass, Less, CSS,...
These plugins are designed for CSS.


feat: adding skeleton effect to user page

Related Issue

Closes: #2008
Description
Adding skeleton effect according to the user page components.

Screenshots
https://github.com/priyankarpal/ProjectsHut/assets/104740281/577b8716-ca18-443e-a1f4-c534940a708a

Hey @priyankarpal, Let me know if you want any changes.
Additionally, I want to consolidate the code for loading cards into a single file by incorporating ProjectLoading.tsx within the Loading.tsx file. Something like this:

And will use them in this way:

Let me know if you like this suggestion.

@s2sharpit yeah we need to make a single file for skeleton effect.


chore: release notes for 7.1.1

Adds quick release notes for 7.1.1.

This PR duplicates #14263, which has all the same info plus another commit I added. Closing in favor of that one. It's still open, so we can make any further changes there.


Parameterized support for duration and until in wait task.

Pull Request type

[X] Bugfix

Changes in this PR
Parameterized input support for wait task. Removed the static constraint from the wait task while saving workflow definition.

Hi @aravindanr  Please review.


Provide grammars and LSP

As far as I understand, there’s currently no support for editors other than typst.app. Some things that could improve this situation:

Providing a TextMate grammar, which is not very powerful, but supported by a wide range of editors and tooling.
Providing a TreeSitter grammar, which is supported primarily by Neovim and allows for advanced editor integration.
Providing a full-fledged LSP, which is supported by basically everyone and allows for all sorts of IDE-like features.

I'm working on number 2.

TextMate grammar can be found here

2. Providing a TreeSitter grammar, which is supported primarily by Neovim and allows for advanced editor integration.

Also supported by Emacs, Helix, and a couple of other editors :)

Just found that typst.app compiles files locally.
Does this mean we can have a VS Code extension that not only

works in VS Code for the Web, but also
compiles document in almost real-time through WebAssembly?

And if it's true, I finally can use <github.dev> to write my paper without downloading anything, and collaborate with others.
That is fantastic.

We've got an LSP at nvarner/typst-lsp and an (admittedly a bit outdated) TextMate grammar here. @SeniorMars can you share a link to your WIP Tree Sitter grammar? Once we collected that here, we'll close this issue, any further issues shall be filed on the respective projects.

There's also @frozolotl's grammar here: https://github.com/frozolotl/tree-sitter-typst

@reknih, the tree-sitter grammar from @SeniorMars can be found here: https://github.com/SeniorMars/tree-sitter-typst

As there are multiple grammars and a third-party LSP, I'm going to close this.

Are there plans on blessing some solutions as official-ish (while keeping them community-maintained)? Right now there’s a naming problem: for example, nixpkgs currently includes typst-lsp, which may be not ideal if another project with that name emerges. Blessing one typst-lsp and one tree-sitter-typst as official would resolve the issue “what to include by default” and “what gets priority while reserving names”.

I think its a little early for that, but I can imagine that in the medium term. Also depends on what the maintainers of these projects want and plan.

I agree. While my grammar right now has more stars - it is nowhere complete, I think we should wait until they become feature-proof.

I am writing a TreeSitter grammar that took me several months to come by, but it is not finished. Nonetheless, it seems more advanced than the two evoked earlier.
https://gitlab.com/uben0/tree-sitter-typst

I am writing a TreeSitter grammar that took me several months to come by, yet, it is not finished.
Nonetheless, it seems more advanced than the two evoked earlier, as it parses correctly more tricky cases.
https://gitlab.com/uben0/tree-sitter-typst
It seems the repository is set to private.

As mentioned in the README, two issues remain, and I need help resolving them. I am looking at you @SeniorMars 👀
Sincerely, it seems like the TreeSitter tool is not meant for that kind of language. It feels like this idea of having optional ; to terminate an inline expression is terrible design. Having it mandatory would solve everything.
Difficult cases:
#a._ b _

Here I'm not sure what the issue would be iih.

#if a {} elseeee {}

This one should be solved by providing word: https://github.com/frozolotl/tree-sitter-typst/blob/master/grammar.js#L29

#{
   2
   + 2
}

In my grammar, I haven't implemented binary operators yet, but I believe this should just be a case of only allowing trivia that isn't a newline. For instance, here I differ between trivia that allow newlines and those that do not.

@frozolotl Thanks for the feedback! I'll test the possible fixes and keep this response updated.
By the way, #a._ b _ is valid code (it compiles without error) and should have the following tree:
(source_file
    (ident)
    (text)
    (emphasis
        (text)))

@frozolotl Can I use parts of your code in the grammar I am writing ? I'm thinking about the regex for XID_Continue without _. If yes, do you have conditions?

@frozolotl Can I use parts of your code in the grammar I am writing ? I'm thinking about the regex for XID_Continue without _. If yes, do you have conditions?

You are allowed to use all the code in frozolotl/tree-sitter-typst under the condition given in the LICENSE.
The license shouldn't be difficult to read and GitHub does provide a summary at the top, though that one is not legally binding.
I would prefer that we kept this conversation and other ones not related to this issue somewhere else, though. So, if you want to discuss my tree-sitter grammar, you should do that there. Alternatively, you can contact me on via email, via matrix, or on discord (@frozolotl, or the typst discord).


Method that return parent

In one of my test scenario I need to get parent of element, something like:
wrapper.find(selector).parent().hasClass('disabled')
What do you think about adding parent method to wrapper ?

I would prefer to keep the API small. This would require adding a parent property to the Wrapper class.
I'd like hear what other people think 🙂

I agree @eddyerburgh.  Initial thoughts are that this would add a fair amount of complexity and create some ambiguity on whether it is the parent vue component or parent html node.

I'm closing this as we don't intend to implement this at the moment

Is there any recommended workaround to access the parent?

@anorborg Here's my workaround, fwiw:

TL;DR: the Wrapper instance exposes an element property, which is a regular ol' JavaScript DOM Element. You can use that to get to a parent, sibiling, etc.

Use case
I have a event calendar component that is a week or month calendar, and I'm testing that the event fixture from the tests and the link to go to the route for just that calendar day match. The markup looks like this:

{{ day.date.format('DD') }}

 {{ // stuff }}

          <router-link :to="detailPath(day.date)" class="router-link" />

I want to find the .event element (there's only one event in this test), then go back up to its parent so I can get to .event's sibiling, the <router-link />, and make sure that the link's url matches the event time. Yada yada, real-world use case.
  it('has links to the detail view', async function() {
    const wrapper = await mount(EventCalendar, { localVue, store, router })
    const eventWrapper = wrapper.find('.event') // this returns a Wrapper instance
    // parentElement is the
, then you can use querySelector to find the sibling, so
    // detailLink is also an Element instance
    const detailLink = eventWrapper.element.parentElement.querySelector('.router-link')
    expect(detailLink.getAttribute('href')).toMatch(`/detail/${testEvent.date')}`)
  })

@lusarz Depending on your needs, you could use:
wrapper.find().element.parentElement

But if you need the wrapper object of the parent element, it might be possible by using the querySelector, by adding css properties to your HTML elements.


Unable to get email to send

Hello,
I am unable to get email to send unless I am in the ruby console and calling send_verification_email, or you subscribe from the main page. Any time a new Issue is posted/updated or Maintenance is posted/updated, emails are never sent regardless if the subscriber was entered manually from admin or subscribed from the front end. I can see in the log that the job is played in the delayed jobs table, but the table is always empty. I followed #256  which led me to using systemd to start procodile on boot, which still did not resolve the issue. Not certain how the verification emails are able to be sent, but no other. I am using nginx per your guide to use 80/443 with a wildcard cert, if that makes any difference.

We're having the same exact problem. I can force verification emails without issue, but issue notifications simply fall off the face of the earth.
Our setup has been running for over a year without issues, we just now has this issue occur randomly without any changes to the system.
Has anyone found a workaround?

I'm also having this issue. I use Phusion Passenger to run the local webserver (due to its integration with cPanel/WHM/Apache meaning that it will handle booting as needed), did anyone find a way to fix this after configuring the environment variables as required?

Unfortunately we haven't found a solution yet (at the moment we have restored to bulk-emailing manually, not fun).
However we have noticed that initial new issue messages are being sent successfully, only issue update emails aren't sent.
I've spent quite some time digging around our system but haven't noticed any changes or issues that would have provoked this issue. I'm no Ruby developer by any means so my troubleshooting abilities have been limited.


Adding ci postmerge tests, moving some xtensa tests there.

This creates a set of post-merge tests that run from tests_post.yml in order to move long running but infrequently failing tests out of the premerge queue and speed up ci operations. On failure an issue will be created pointing to the failing test and the PR, so we are still catching errors.
Xtensa tests were split into xtensa_premerge.yml and xtensa_postmerge.yml. run_xtensa.yml still runs both nightly or on manual dispatch.
Note that because I don't have access to the TFLM_BOT_TOKEN from my fork, I wasn't able to test these changes. Barring a typo they should work, as all the real meat and potatoes is exactly the same just shuffled between files.
This functionality was moved out of https://github.com/tensorflow/tflite-micro/pull/1746 to make both PRs cleaner and more orthogonal.
The following changes need to be made to the branch protection rules for this PR:
REMOVE      Tests Entry Point / call-xtensa / Hifimini Unit Tests (presubmit)
REMOVE      Tests Entry Point / call-xtensa / Fusion F1 Unit Tests (presubmit)
REMOVE      Tests Entry Point / call-xtensa / Hifi5 Unit Tests (presubmit)
REMOVE      Tests Entry Point / call-xtensa / Vision P6 Build (presubmit)
ADD              Tests Entry Point / call-xtensa-presubmit / Vision P6 Build (presubmit)
ADD              Tests Entry Point / call-xtensa-presubmit / Hifi5 Unit Tests (presubmit)
ADD              Tests Entry Point / call-xtensa-presubmit / Hifi3z Unit Tests (presubmit)
BUG=https://issuetracker.google.com/issues/266654467

Going to merge ignoring the branch protection rules since those will need to be updated and will then test everything on a new PR.


Visual formating bug

AS-1.1.5
F-11.315
DnD5e-3.1.2
No other modules
Certain selections within the interface cause the left window to fully expand. One example with SRD is the path of the berserker subclass.

I've noticed it in a few other places but this one I can recreate without issue.

Looks like it is corrected by expanding the window a bit, not sure if this is intentional.

So the window is reactive. I'm not sure why Path of the Berserker triggers it – I'll look into it – but also note that the right hand panel isn't gone, it's just below the fold. So if you scroll down you can still get to the content.


podAntiAffinity example does not work

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What version of the Traefik's Helm Chart are you using?
10.1.1
What version of Traefik are you using?
2.4.9
What did you do?
Attempted to use predefined anti-affinity block given as an example in values.yaml
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchExpressions:
        - key: app
          operator: In
          values:
          - {{ template "traefik.name" . }}
      topologyKey: failure-domain.beta.kubernetes.io/zone

What did you see instead?
Helm fails on {{ template "traefik.name" }} with error message Error: failed to parse values.yaml: error converting YAML to JSON: yaml: invalid map key: map[interface {}]interface {}{"template \"traefik.name\" .":interface {}(nil)}
What is your environment & configuration?
Kubernetes 1.20
Helm v3.6.0
Additional Information
I'm attempting to add pod anti-affinity to the deployment, while not using hostnetwork. Goal is to get pods scheduled on different nodes to increase availability.
I would like to be able to set the selectors for the affinity rules without having to hardcode any values.
I don't use helm often, but from what I've gathered through some quick google searches, Helm does not like it when trying to use variables in the values.yaml file.
Basically, how can one add podAntiAffinity rules that dynamically fill in the   app.kubernetes.io/instance and/or app.kubernetes.io/name selectors?

Indeed. Also, the label matched app would not be set either (should be app.kubernetes.io/name).
Though your error would suggest we can not re-use variables generated in templates/_helpers.tpl, setting values.
One way to get it working would be to set arbitrary labels:
deployment:
  podLabels:
    foo: bar

Then use that label setting your anti-affinity:
affinity:
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchExpressions:
        - key: foo
          operator: In
          values:
          - bar
      topologyKey: failure-domain.beta.kubernetes.io/zone

I'm trying to avoid hardcoding labels like this as it might cause issues with our deployment tools. While the release name can easily be configured through our tools, overriding those specific labels is a lot less convenient. If no other options are possible, this is indeed how I will handle the labels.
I'm not very familiar with Helm, but would something akin to the following be possible?
values.yaml:
podAntiAffinity:
  # mutually exclusive with affinity
  enabled: true # default false
affinity: {} # mutually exclusive with podAntiAffinity

_podtemplate.tpl
affinity:
{{- if .Values.podAntiAffinity.enabled }}
  podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
      - podAffinityTerm:
        - labelSelector:
            matchLabels:
              - app.kubernetes.io/name: {{ template "traefik.name" . }}
              - helm.sh/chart: {{ template "traefik.chart" . }}
              - app.kubernetes.io/managed-by: {{ .Release.Service }}
              - app.kubernetes.io/instance: {{ .Release.Name }}
          topologyKey: kubernetes.io/hostname
        weight: 100
  {{- else }}
    {{- with .Values.affinity }}
      {{- toYaml . | nindent 8 }}
    {{- end }}
{{ end -}}

Basically: if podAntiAffinity.enabled, create a podAntiAffinity rule matching the default labels. If it is not enabled, add affinity rules as defined in the affinity field.
By introducing a new podAntiAffinity field instead of modifying the existing affinity field, existing users of the affinity field should be unaffected.
If this would be possible, perhaps podAntiAffinity could have a field to specify whether the podAntiAffinity should be preferredDuringScheduling or requiredDuringScheduling.
As I don't use Helm often, I have no idea if this is feasible, let alone a proper solution.

Maybe, though the tolopogyKey for the initial rule may not always be kubernetes.io/hostname -- in some cloud-hosted cluster, you would probably rely on something like a zone -- maybe add another variable for this
As you point out: being able to switch from preferred to required affinities could make sense as well
And keeping a case with .Values.affinity: once again, we may wonder which labels could be used, without "hardcoding labels". Then we're not really fixing anything, rather addressing a specific case while introducing complexity -- which, to be honest, remains the most common use case for affinities.
Sure the current sample is broken, though I'm not convinced it's a reason to fix templates that would otherwise work.
The current Chart would not lock you into any scenario: you could set antiAffinities OR affinities, OR both. Preferred, or required affinities, or both.
If you don't want to add podLabels, knowing that you are applying the official Charts, then we could assume your {{ Release.name }} to be traefik in all cases ...
Thus, another take on it would be to set your affinities rule with:
affinity:
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchExpressions:
        - key: app.kubernetes.io/instance
          operator: In
          values:
          - traefik
      topologyKey: kubernetes.io/hostname

I took a look at how the Keycloak helm chart handles this.
They process the affinity field as a string instead of a map, the following is their default value for affinity:
# Pod affinity
affinity: |
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchLabels:
            {{- include "keycloak.selectorLabels" . | nindent 10 }}
          matchExpressions:
            - key: app.kubernetes.io/component
              operator: NotIn
              values:
                - test
        topologyKey: kubernetes.io/hostname
    preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 100
        podAffinityTerm:
          labelSelector:
            matchLabels:
              {{- include "keycloak.selectorLabels" . | nindent 12 }}
            matchExpressions:
              - key: app.kubernetes.io/component
                operator: NotIn
                values:
                  - test
          topologyKey: failure-domain.beta.kubernetes.io/zone

It seems that by taking the value of 'affinity' as a string and processing it through the tpl function (https://github.com/codecentric/helm-charts/blob/master/charts/keycloak/templates/statefulset.yaml#L166-L169) one can use {{ include }} in the affinity rules.
For completion's sake, keycloak.selectorLabels is defined in their _helpers.tpl:
{{/*
Common labels
*/}}
{{- define "keycloak.labels" -}}
helm.sh/chart: {{ include "keycloak.chart" . }}
{{ include "keycloak.selectorLabels" . }}
app.kubernetes.io/version: {{ .Values.image.tag | default .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "keycloak.selectorLabels" -}}
app.kubernetes.io/name: {{ include "keycloak.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

With Keycloak's approach, if you change the release name, the selector labels for the affinity rules get adjusted accordingly. Furthermore, people who desire high availability simply have to change the number of replicas, and the default affinity rules will do a decent job of spreading out the pods. People with more specific needs can still adjust affinity rules accordingly.
Providing a similar approach for the current traefik chart would be a breaking change (affinity changes from map to string), so I'm guessing you aren't keen on switching to a similar approach.
Therefore, would there be a way for me to override the way affinity is handled now? E.g. could I override the affinity rules generated for the Traefik deployment by using this chart as a subchart somehow? I'm more accustomed to Kustomize than Helm, so I'm not quite sure what can and can't be changed through templates etc.


You did not install all folders

Please provide us with the following information:

OS?

Linux (Ubuntu 15.10 --- 4.2.0-42-generic).

Versions.

Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
angular-cli: 1.0.0-beta.17
node: 6.3.1
os: linux x64

Repro steps.

npm install -g angular-cli
ng new mi-nuevo-proyecto-angular2

The log given by the failure.

Attached file log of install of AngularCLI(I tried with sudo without sudo)
npm-debug.pdf

Mention any other details that might be useful.

when I give in ng new, do not believe me complete files and folders(only 3 folder of 6)

Thanks! We'll be in touch soon.

This may seem like a silly question, but does it work when you run ng serve?
It looks like you already have everything you need (there are only those two folders, plus node_modules 😃 ).

Thanks for you response,
I am studying a book of angular2, and according to the book this is the folder structure (see picture):

when run ng serve gives this result(bundle is now VALID)

+1

Your book is outdated.  That is the old folder structure.

Yes, the book is outdated.
There have been some special config files merely for the use of SystemJS. Since the CLI now uses Webpack, those were gone, and so went the config folder. The few remaining configuration files live in the root (angular-cli.json, karma.conf.js, protractor.conf.js).
The public folder is now an assets property in angular-cli.json. It's an array of strings. Each string can match files that will copied to the output folder (dist by default) as-is (for example *.config files get copied to dist/{filename}.config). If the string matches a folder name (assets for example), the folder itself will be copied with the same name (for example to dist/assets).
The typings folder was for a tool that has the same name that loads TypeScript definition files for JavaScript libraries (the files that provide autocomplete for non-TypeScript libraries). Now in TypeScript 2, there's a new way to load those definitions, which is loading them as NPM packages under the name @types (similar to how Angular 2 packages are under @angular), which TypeScript understands and loads by itself without other tools.
The green output ending with no errors means it's working fine (warnings are OK, you might see them in production build output, another long story). For example, if you get that after ng serve, your site should be ready for you at http://localhost:4200.

OK, thanks.


Added failover capabilities via config file

I made an integration test, RqliteFailoverTest, which uses a local installation of rqlite (specified in a config file, but we could require that Rqlite be on the path).
In the test, the client is loaded with a config file which specifies the hostnames and ports of the available nodes. After checking that we've connected to the leader, the test kills the leader node and the client connects to the new leader by cycling through the config list.
In order to avoid duplicating my retry method, I created a GenericRequest and GenericResponse abstract class and interface.
I set the default retry timeout period to 8 seconds, but it can also be configured in the client code.  I haven't had any failures with that time period but I did have some when the timeout period was 6 seconds.

Thanks for your contribution -- can you resolve the merge conflicts? I cannot merge the PR until you do so.

Done!


Bug fix: move library script to VM's /tmp/

this is a hot fix https://github.com/RackHD/RackHD/pull/508/
because any script in packer ( either in packer provision or ansible) runs inside the created VM,
so the shell library file should be copied to VM first, before invoking it.
@changev @cgx027 @anhou @yyscamper

:+1: fixed an impatient critical issue!


[Enhancement] Adds option to periodically update time segment

This implements #1190
Hey @romkatv,
porting your code was easy. Thank you! I do have some questions though.

You mentioned big git repos which would take time. I don't think this is the case on next. Please correct my if you think I'm wrong. PROMPT gets evaluated every time you redraw the prompt. On master PROMPT is something like %f%b%k$(__p9k_build_left_prompt), on next it is __p9k_unsafe_PROMPT. This variable get filled in the precmd hook which is not called on prompt-reset. This was done to fix #1119 another problem but come is very handy.
Any ideas for how to test this?
I ran into some issues. Which lead to the notice in the README and a default delay of 60 seconds.
The issues are with going through the history and tab completion/suggestions. Example for weirdness:
This is how it should look:

This is what happens:

I even had a segfault once doing this. I can reproduce the segfault by ls <tab><arrow-keys-especially-up>
Changing keybinds
You mentioned that zle-keymap-select was a rude practice in #1190(?) Would you say the same about an option that would do this?

renew-prompt-accept-line() {
    zle .reset-prompt
    zle accept-line
}
zle -N renew-prompt-accept-line
bindkey "^M" renew-prompt-accept-line
ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=renew-prompt-accept-line

@romkatv wtf? How did you comment before I even created the PR...
Well, I think I answer your question in 1

[...] This was done to fix #1119 another problem but come is very handy.

Interesting. So does it mean background_jobs broke? Just checked -- yes, it is broken in next. I opened https://github.com/bhilburn/powerlevel9k/issues/1196.

Any ideas for how to test this?

None.

I ran into some issues...

Ha-ha, this is funny. I mailed https://www.zsh.org/mla/workers//2019/msg00161.html. ZSH seems kinda buggy. This is the 4th bug I've bumped into and I haven't been using ZSH even for a month.

Changing keybinds
You mentioned that zle-keymap-select was a rude practice in #1190(?) Would you say the same about an option that would do this?

renew-prompt-accept-line() {
    zle .reset-prompt
    zle accept-line
}
zle -N renew-prompt-accept-line
bindkey "^M" renew-prompt-accept-line
ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=renew-prompt-accept-line

Is this related? I'd say this code is fine in .zshrc and not fine anywhere else. If your plugin thinks it's OK to override renew-prompt-accept-line, it should be OK for other plugins too. And it obviously won't work.  Great post on this topic, highly recommended: https://devblogs.microsoft.com/oldnewthing/?p=35413.

Interesting. So does it mean background_jobs broke? Just checked -- yes, it is broken in next. I opened #1196.

Good catch! Interestingly I did run into trouble with background jobs but did not notice at the time.

I ran into some issues...

Ha-ha, this is funny. I mailed https://www.zsh.org/mla/workers//2019/msg00161.html. ZSH seems kinda buggy. This is the 4th bug I've bumped into and I haven't been using ZSH even for a month.

😆

Is this related? I'd say this code is fine in .zshrc and not fine anywhere else. If your plugin thinks it's OK to override renew-prompt-accept-line, it should be OK for other plugins too. And it obviously won't work. Great post on this topic, highly recommended: https://devblogs.microsoft.com/oldnewthing/?p=35413.

Actually, this is straight from my .zshrc I don't think I have overridden renew-prompt-accept-line since I named it. I should have gone with the p9k naming conventions in my example. But it does override the keybind for ^M (Enter) from accept-line to the new function. Better example:
__p9k_renew-prompt-accept-line() {
    zle .reset-prompt
    zle accept-line
}
zle -N __p9k_renew-prompt-accept-line
bindkey "^M" __p9k_renew-prompt-accept-line
ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=__p9k_renew-prompt-accept-line

So I'm not asking for overriding the function but overriding the keybind.

Is this related? I'd say this code is fine in .zshrc and not fine anywhere else. If your plugin thinks it's OK to override renew-prompt-accept-line, it should be OK for other plugins too. And it obviously won't work. Great post on this topic, highly recommended: https://devblogs.microsoft.com/oldnewthing/?p=35413.

I don't quite get what you are playing at. If I'd change a bindkey setting twice it will simply be overridden there is no conflict or logical problem besides the fact that you might not want to to be overridden.
Just to clarify: I'd offer this as an option, not by default.

I'm not sure where the example with key binding is coming from. My comment was abut TMOUT. The user isn't explicitly asking TMOUT to be hogged, they just want thge clock to tick. Many plugins would like to claim TMOUT for themselves to implemented this and that but it's not cool because there is only one TMOUT. Likewise with zle overrides. The user isn't asking for zle-keymap-select to be overridden, they just want vi mode in their prompt. If you claim zle-keymap-select to implement vi_mode segment, then the user cannot use any other plugin that also wants to hook into zle-keymap-select.
This is a minor point. I suggest we drop this subject to save time for something more important.

This is a minor point. I suggest we drop this subject to save time for something more important.

Agreed. We are arguing about different things.
I still like the feature, but since it is a bit hacky and buggy, I'd like to have another option. I'll implement __p9k_renew-prompt-accept-line to see if it is feasible to achieve something similar.


wrangler generate template support main branch

Instead of default to the master branch we should check for the main branch first or allow the user to provide the branch's name

Hi @xtuc
I've made a pull request for that a couple of month ago, still waiting for it to be acknowledge though.
https://github.com/cloudflare/wrangler/pull/1653
Happy to take feedbacks in and help move this forward, that's actually an issue for a template I've made and use for some of my projects.

Hi @xtuc
I've made a pull request for that a couple of month ago, still waiting for it to be acknowledge though.
https://github.com/cloudflare/wrangler/pull/1653
Happy to take feedbacks in and help move this forward, that's actually an issue for a template I've made and use for some of my projects.

Hi,
I'm hitting this while following the docs for durable objects which is using https://github.com/cloudflare/durable-objects-template
$ wrangler generate rate-limit-actions https://github.com/cloudflare/durable-objects-template
🔧   Creating project called `rate-limit-actions`...
Error: ⛔   Git Error: failed to find branch `master`
Error: tried running command:
/Users/jleschner/Library/Caches/.wrangler/cargo-generate-0.5.0/cargo-generate generate --git https://github.com/cloudflare/durable-objects-template --name rate-limit-actions --force
exited with exit code: 1

see https://discord.com/channels/595317990191398933/799437470004412476/828395478244524082

Github actually lets you determine the primary branch automatically, there's no need to hard-code main or master. The latest version of cargo-generate does this automatically:
$ cargo generate --git https://github.com/cloudflare/websocket-template --name websocket
⚠   Unable to load config file: /home/jnelson/.local/lib/cargo/cargo-generate.toml
🔧   Generating template ...
[ 1/14]   Done: .github/workflows/deploy.yml
[ 2/14]   Done: .github/workflows
[ 3/14]   Done: .github
[ 4/14]   Done: .gitignore
[ 5/14]   Done: .prettierrc
[ 6/14]   Done: CODE_OF_CONDUCT.md
[ 7/14]   Done: LICENSE_APACHE
[ 8/14]   Done: LICENSE_MIT
[ 9/14]   Done: README.md
[10/14]   Done: index.js
[11/14]   Done: package-lock.json
[12/14]   Done: package.json
[13/14]   Done: template.js
[14/14]   Done: wrangler.toml
🔧   Moving generated files into: `/home/jnelson/src/wrangler/websocket`...
✨   Done! New project created /home/jnelson/src/wrangler/websocket

So we just need to update it from 0.5 to 0.11.

I am facing the same issue. Can you merge the PR ASAP.

Thanks for suggesting this feature! Wrangler v1 is now deprecated and support is only being provided for critical updates or security concerns. As such, we are closing this issue.
New versions of Wrangler are maintained in the workers-sdk repo. If this is a feature you’d like to see in wrangler v2+, please feel free to report it in the workers-sdk repo. For more info about wrangler v1 deprecation, please check out our blog post.


Trait implementation of Option not working

trait Encode {
    fn encode();
}

impl<T: Encode> Encode for Option<T> {
    fn encode() {
        T::encode();
    }
}

Open this code snippet in the playground

This is related to https://github.com/hacspec/hax/issues/616. The problem here is that encode is translated as a field in a record: we rather need encode to be a top-level function, so that the standard recursivity mechanism kicks in.

This appears to work with this workaround:
https://hax-playground.cryspen.com/#fstar/ce1554f401/gist=9e17801a8e0c2937e4116b8ac9993d15
Should be done automatically by:
https://github.com/hacspec/hax/issues/789

Closing in favor of #789.


Add Vector3::begin, Vector3::end so we can use std::sort

Original report (archived issue) by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).

If we add a few functions like begin and end to the Vector classes, I think we would use std::sort.

I'm asking for permission to work on this enhancement.
I plan to make an iterator not just begin() and end()

Help is appreciated, looking forward to a pull request!

@chapulina
when installing ignition cmake from source i ran cmake .. -DCMAKE_INSTALL_PREFIX=~/igncmake
but when during ign-math setup I ran sudo apt -y install \   $(sort -u $(find . -iname 'packages-'$SYSTEM_VERSION'.apt' -o -iname 'packages.apt') | tr '\n' ' ')
to give me ERROR: can't  find directory of libignition-cmake2-dev
any help? I'm stuck for a day!!

try following these instructions to install ignition dependencies:

https://ignitionrobotics.org/docs/fortress/install_ubuntu


Add porter CLI to arkade

Signed-off-by: Engin Diri<EMAIL_ADDRESS>Description
Add Porter CLI to arkade
Motivation and Context

Fixes #457

[x] I have raised an issue to propose this change (required)

How Has This Been Tested?

$ docker container run --rm -v $(pwd):/workspace -ti golang:1.16.6-alpine sh
# cd /workspace
# go build
# ./arkade get nova

Are you a GitHub Sponsor (Yes/No?)

[ ] Yes
[x] No

Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

[ ] I have tested this on arm, or have added code to prevent deployment

@dirien you were right, one of these PRs needed a quick rebase, could you do the honours?

@alexellis : done :)

Approved, thank you @dirien 👍


heirarchical azure app config keys cannot be entered in azure application settings

[Enter feedback here]
I am using a heirarchical key in my application which uses colons between each level, as documented on this page.
In the azure portal when I try to add the application key (Keys:ApplicationInsights:InstrumentationKey) to my appservice application settings, I get the error:
App setting names can only contain letters, numbers (0-9), periods ("."), and underscores ("_")

If heirarchical keys is no longer an accepted practice, this page should be updated to reflect that - or updated to indicate where it is or is not possible to use them in Azure. Or get the product group to allow for this recommended practice.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: fd741e34-bc0f-bd07-8a0c-21b3edebc5e2
Version Independent ID: 75195feb-9af3-504a-3212-a4044769586b
Content: Understand Azure App Configuration key-value store
Content Source: articles/azure-app-configuration/concept-key-value.md
Service: azure-app-configuration
GitHub Login: @maud-lv
Microsoft Alias: malev

@housten
Thanks for your feedback! We will investigate and update as appropriate.

Hi @housten, thank you for your message. I tried reproducing the error and didn't get the same result. Could you let me know if this is what you were trying to do, or if I'm not looking in the right place? I selected Configuration explorer > Create.

I wasn't sure exactly where that documentation page was setting the key.
I was trying to config an application setting on my app
service configuration.
[image: image.png]
I followed the learn more link now and I see that it has to do with the
fact that my application is on Linux and the Linux syntax in the Azure GUI
is different...
https://learn.microsoft.com/en-gb/azure/app-service/configure-common?tabs=portal
It might be worth pointing that out in your documentation too.
On Wed, Sep 20, 2023 at 10:29 AM Maud @.***> wrote:

Hi @housten https://github.com/housten, thank you for your message. I
tried reproducing the error and didn't get the same result. Could you let
me know if this is what you were trying to do, or if I'm not looking in the
right place? I selected Configuration explorer > Create.
[image: screenshot of a key-value pair on the Azure platform]
https://user-images.githubusercontent.com/18214541/269215575-2a988cb8-8568-429c-9b9e-937ec49b3ee2.png
—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/114902#issuecomment-1727225765,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADRXBSGYL56LCPS2REK4643X3KSN7ANCNFSM6AAAAAA453BUWI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thank you @housten. Since everything works and you found the correct article explaining how to configure an app from the App Service configuration pane I'll close this issue. The article "Understand Azure App Configuration key-value store" was referring to using "Azure App Configuration". I will also discuss with the team how to avoid confusion.

#please-close


error in h5 file check

Description
What steps will reproduce the problem?

What is the expected output? What do you see instead?
Please provide any additional information below
File "h5py_objects.pyx", line 200, in h5py._objects.ObjectID.dealloc
KeyError: Traceback (most recent call last):
File "h5py_objects.pyx", line 200, in h5py._objects.ObjectID.dealloc
KeyError: 0
Exception ignored in: 'h5py._objects.ObjectID.dealloc'
Traceback (most recent call last):
File "h5py_objects.pyx", line 200, in h5py._objects.ObjectID.dealloc
KeyError: 0
0
Exception ignored in: 'h5py._objects.ObjectID.dealloc'
Traceback (most recent call last):
File "h5py_objects.pyx", line 200, in h5py._objects.ObjectID.dealloc
KeyError: 0
Traceback (most recent call last):
File "c:\users\chen.admin\miniconda2\envs\tensorflow\lib\site-packages\spyder\widgets\variableexplorer\collectionseditor.py", line 859, in keyPressEvent
self.copy()
File "c:\users\chen.admin\miniconda2\envs\tensorflow\lib\site-packages\spyder\widgets\variableexplorer\collectionseditor.py", line 1082, in copy
obj = self.delegate.get_value(idx)
File "c:\users\chen.admin\miniconda2\envs\tensorflow\lib\site-packages\spyder\widgets\variableexplorer\collectionseditor.py", line 1365, in get_value
return self.get_value_func(name)
File "c:\users\chen.admin\miniconda2\envs\tensorflow\lib\site-packages\spyder\widgets\variableexplorer\namespacebrowser.py", lin

Thanks for reporting. The error message is incomplete; please copy and paste the entire thing here so we can properly diagnose the error; also, please describe step by step how you got this error. Without that, we won't be able to fix it, and so we'll have to close this issue in a week (7 days) from now. Thanks.

Closed due to lack of response.


Arcball update

changed arcball behavior:
-screen coordinates adjustment changed
-added changeable radius of the virtual sphere (normally circle
inscribed in rectangular screen is taken as ball). This allows (IMO)
easier rolling.
-sphere mapping changed according to the following article :
https://www.opengl.org/wiki/Object_Mouse_Trackball
(sphere when pointer is inside circle, hyperboloid otherwise)

Lets try it thanks Dave and David

Hi David,
I'm using your ArcBall class in openGLControl and not in SheneControl. My project is a 3D CAD.
I would like to extrate the rotation angles x,y, z, after ArcBall rotation, so that I can save the Views.
Do you have any idea of how to do that?
I image I have to use the ModelView matrix gl.GetDouble(OpenGL.GL_MODELVIEW_MATRIX, mv);
Is there any utility function or method to get these values?
Or do you have any document tio help me in this?
Thank you very much.


Fix login issues with email

Add user_id to AuthRes so that frontend doesn't have to do an extra query to get the user right after logging in.
Ought to fix #1279

Backend checklist

[ ] Formatted my code by running isort . && black . in app/backend
[ ] Added tests for any new code or added a regression test if fixing a bug
[ ] All tests pass
[ ] Run the backend locally and it works
[ ] Added migrations if there are any database changes, rebased onto develop if necessary for linear migration history

Frontend checklist

[ ] Formatted my code with yarn format && yarn lint --fix
[ ] There are no warnings from yarn lint
[ ] There are no console warnings when running the app
[ ] Added any new components to storybook
[ ] Added tests where relevant
[ ] All tests pass
[ ] Clicked around my changes running locally and it works
[ ] Checked Desktop, Mobile and Tablet screen sizes

How does this fix the problem? And how was frontend showing the wrong message?

It was calling API.GetUser as soon as the user had logged in: but it was using username from the login input which was really the user's email. GetUser no longer supports getting users by email (even the current user), so this was failing.
I saw that it was doing two requests when logging in because the frontend wants the user id in its state, so I thought it would be better to just return it in one request.

How does this fix the problem?

There's a semi-recent (?) change to the API that stops you from getting a user using an email and when the user logs in with username/email and password, in the frontend it was using the email to get the current user as soon as they are authenticated and so triggering the "cannot find this user" error message from the backend

Lol looks like we were typing that at around the same time and Aapeli beats me to it 😄


chore: 🤖 update lumberjack base config to angular v11

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
The example application is using angular v10 and the workspace is following the matching configuration.
Issue Number: N/A
What is the new behavior?
The workspace and the application are now in the Angular v11 form.
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

No changes to TypeScript configurations of library projects?

I will double check.


Please add support for the new raw-window-handle crate

Recently the gamedev-wg has been trying to make it easier for windowing libs and graphical libs to agree on a protocol for communication. This has resulted in the raw-window-handle crate, where the window offers up its OS window handle thingy to the graphical lib upon request and then the graphical lib is able to do its startup.

This would affect each backend.
It's a strict superset of the winit feature, so this can be released as a 0.3.1
Instead of having the winit feature allow for the pub fn create_surface(&self, window: &winit::window::Window) -> Surface method, you simply unconditionally have a pub fn create_surface(&self, has_handle: &impl raw_window_handle::HasRawWindowHandle) -> Surface method. Then you call for the raw window handle, match on it, and then re-dispatch to the correct actual method just like before.
After this the winit feature can eventually be removed in 0.4

Tracking issue where this crate was discussed and crated if you have any questions: https://github.com/rust-gamedev/wg/issues/26

If I'm not mistaken #2915 also refers to this, this has more info though! 👍

Ah! indeed, missed it because it was so long ago and ossipal just published the crate a bit ago so i figured there wasn't an older issue farther back.

To remove winit feature in 0.4 raw-window-handle would need to support web platform.

I started looking at this the other night (focusing on the Vulkan backend first), but it looks like Android support will be needed in raw-window-handle (already raised here).
I will do some more work and open a draft PR at some point this week.


Common ROS message types don't work between crates

I've been using this library a fair amount the last few weeks and I've found that I have to have a crate that is nothing more than a rosmsg_include otherwise the message types are incompatible between crates. That is to say, anything like the following will not work:
/// ROS Crate A
rosmsg_include(std_msgs/Float64);

/// ROS Crate B
rosmsg_include(std_msgs/Float64);

/// Binary crate
fn main() {
    let val = crate_a::std_msgs::Float64::default();
    let moved: crate_b::std_msgs::Float64 = val; // Won't compile
}

This is problematic for trying to produce ROS crates that are project agnostic, as every crate will have to independently create the standard ROS types and they won't be compatible.

A potential solution to this would be to have a common definition for all of these types that the ROS+Rust community can start utilizing. I know you've been against making assumptions about the format of the messages but, because Cargo builds dependencies from source, it would be possible to utilize a build script and rosmsg list to generate the messages. This wouldn't assume anything about the user's ROS install other than it has that command.

Ideally, of course, ROS would have crates generated in their build system, which is something I considered, but the work of integrating that feels overwhelming, and once it's out there you're locked from making breaking changes until the next ROS release! But, with that solution we are locked out of using crates.io, and if I'd have to choose one or the other, I'd prefer the latter.
That being said, I am aware of that issue, and I've spent hours trying to figure out a proper solution for this. The inherent nature of crates makes this really hard.
In my usage of this library so far, I've encapsulated the message implementations to libraries that use them. For example, the work in progress actionlib implementation just has its own structures that can be casted to the message type, like this.

Btw, your rosmsg list idea is really good and has a lot of merit. I never even thought about the fact that ROS allows you to just list all the messages that exist overall!!
This could work similarly to how bindgen crates work.
There could be a single crate, that depends on rosrust - let's call it rosrust-messages. All it does is run a build.rs script that reads rosmsg list on the machine, and generates a rosmsg_include!(...) with all the messages as the contents of its lib.rs file.
Since crates.io only stores the source, not the actual build result, every time this crate is depended upon it will correctly build, right?

Ideally, of course, ROS would have crates generated in their build system, which is something I considered, but the work of integrating that feels overwhelming, and once it's out there you're locked from making breaking changes until the next ROS release! But, with that solution we are locked out of using crates.io, and if I'd have to choose one or the other, I'd prefer the latter.

I hadn't thought about that issue. That really is getting stuck between a rock and a hard place.

In my usage of this library so far, I've encapsulated the message implementations to libraries that use them. For example, the work in progress actionlib implementation just has its own structures that can be casted to the message type, like this.

That works as long as there is a clear owner of the type but issues will start happening once/if people start trying to share crates. Right now, if I were to try and bring your actionlib implementation into my project, I would have to manually write a function to convert between crate::std_msgs::String to actionlib::msgs::std_msgs::String.

There could be a single crate, that depends on rosrust - let's call it rosrust-messages. All it does is run a build.rs script that reads rosmsg list on the machine, and generates a rosmsg_include!(...) with all the messages as the contents of its lib.rs file.
Since crates.io only stores the source, not the actual build result, every time this crate is depended upon it will correctly build, right?

Every time it is depended upon, it will build all of the messages available on the user's system, yes. If all the required messages are present, it will build correctly, yes. It will make things more unreliable since the Cargo.lock won't fully preserve the dependencies but I think the Rust community has decided that is acceptable (via Bindgen).
One thing to consider is what to do when rosmsg list isn't available. It could be as simple as documenting that the command must exist and, as long as the build script still respects the message search path, that will be fine by me. Alternatively (additionally?) there could be a set of message definitions that are "backup" definitions, such as std_msgs+sensor_msgs+geometry_msgs, that get used if the build script isn't able to find any messages.

It's a tradeoff. Either have ROS installed, or manually create a ROSRUST_MESSAGE_TYPES or whatever named environment variable that will contain what you would have wanted rosmsg list to print if it existed.
Having ROS installed is a default for most users, and while a big focus of rosrust is not making it a requirement, making a tradeoff of "ok, then tell me yourself if you don't want ROS on your build machine" seems acceptable to me.
We could also have the library scour all provided paths for .msg and .srv files if rosmsg list doesn't exist.

Implementing this is on my docket, but I might not get to it for a bit.
ROSRUST_MESSAGE_TYPES should be a list of messages and, if present, should override the rosmsg list, right?

That's the idea, yes. That allows you to not have ROS installed and still depend on crates that depend on rosrust-messages. There is a lot to consider though with this crate, regarding triggers of rebuilds. I've made some considerations, and generally have a good idea of what needs to be done for the crate to interact nicely with the compiler. But, I'll have to do some looking into how some factors of build scripts actually work (regarding triggers on updates).

There is a lot to consider though with this crate, regarding triggers of rebuilds.

Ironically, this is very easy to do with the environment variable. I am not sure what the best approach for the "regular" way would be. The rerun-if-changed=PATH would work well if the user has sourced devel/setup.sh but that isn't always the case (e.g., the first time the project is built).
Maybe it needs to attempt to discover messages in child directories manually? That would make ROSRUST_MESSAGE_TYPES unnecessary.

All the triggers seem to work nicely, and I've added support for a comma separated list of message types to be provided in the discussed env variable.
I'll look a bit more into it, but the current WIP seems to work nicely. I'll transition as much of the code as possible to it, and see what the results end up being.

I've removed support for the env variable. Instead we just crawl for all messages in the path manually.

What's the status of this? I'm not using ROS much these days but now that Corrosion exists, I think this is the last missing piece for a ROS+Rust workflow.

I believe this was solved with the introduction of rosrust_msg and I should have closed it a while ago.


Fixed a warning during first start

XRTK - Mixed Reality Toolkit Change Request
Overview
Fixed a warning when forcing the asset database to refresh during reload. This may or may not fix the first time startup crash we're seeing but worth a test.
Target of the change:
Is this enhancement for:

Core (core framework, interfaces and definitions)

Changes:
Brief list of the targeted features that are being changed.

Fixes: Don't force refresh of asset database during startup, per warning from Unity Editor.

Doesn't fix the crash but doesn't cause any other errors