[base,ottf,opentitanlib,test] Impl spi device ottf RX console

This PR has three commits that:

Implement a new spi_device Rx console by using the SPI device flash mode feature.
Update the opentitanlib SPI console module (added in#17817) to support OTTF spi_device console by using SPI device flash mode feature instead of the removed generic mode .
Add a test for the new OTTF spi_device console.

This PR addresses #21726 partially.  The TX (input) direction will be added in another PR.

Looks like you have some build errors. Trying seeing what they are locally by running: bazel build //sw/host/opentitanlib

Looks like you have some build errors. Trying seeing what they are locally by running: bazel build //sw/host/opentitanlib

Thanks for the instructions. Those build errors have been addressed in the new commits. Not sure why those errors didn't appear when I ran the newly added test for OTTF spi_device console though.
The spi_host_config_test failed in the most recent CI pipeline, but this test seems to be unrelated to the commits included in this PR.
https://dev.azure.com/lowrisc/opentitan/_build/results?buildId=158355&view=logs&j=d6ba1a9c-e7a8-5acf-e6fb-86a516d856bf&t=e16cc888-fc04-5078-0841-ecafa9afe0ed&l=559
I also tried to run this test locally
bazel test --test_output=streamed //sw/device/tests:spi_host_config_test_fpga_cw340_sival_rom_ext
and the result was passed.

Thanks for the changes.
After a discussion with @jwnrt @HU90m, we came up with a suggestion for the protocol that we believe would simplify the implementation and be more robust, by leveraging the spi_flash features to control the data flow.

The device would always write the header to the beginning of the buffer.
The Host must read the status register to check the busy bit is cleared before issuing a kSpiDeviceFlashOpReadNormal command.
After reading, the host must issue a kSpiDeviceFlashOpSectorErase to signal to the device that the frame has been read via the busy bit.
The device must check that the busy bit is set before writing a new frame to the buffer.
The device writes a new frame to the buffer and clear the busy bit.

Does that make sense?
One downside thought is that we could have a deadlock in the device if the host does not poll the device. But that can be sorted with a timeout.

One downside thought is that we could have a deadlock in the device if the host does not poll the device. But that can be sorted with a timeout.

Minor nit: I don't think it would be a deadlock, it would just be blocked on the host doing its own thing

Thanks for the changes.
After a discussion with @jwnrt @HU90m, we came up with a suggestion for the protocol that we believe would simplify the implementation and be more robust, by leveraging the spi_flash features to control the data flow.

The device would always write the header to the beginning of the buffer.
The Host must read the status register to check the busy bit is cleared before issuing a kSpiDeviceFlashOpReadNormal command.
After reading, the host must issue a kSpiDeviceFlashOpSectorErase to signal to the device that the frame has been read via the busy bit.
The device must check that the busy bit is set before writing a new frame to the buffer.
The device writes a new frame to the buffer and clear the busy bit.

Does that make sense?
One downside thought is that we could have a deadlock in the device if the host does not poll the device. But that can be sorted with a timeout.

What is the benefit of

Thanks for the changes.
After a discussion with @jwnrt @HU90m, we came up with a suggestion for the protocol that we believe would simplify the implementation and be more robust, by leveraging the spi_flash features to control the data flow.

The device would always write the header to the beginning of the buffer.
The Host must read the status register to check the busy bit is cleared before issuing a kSpiDeviceFlashOpReadNormal command.
After reading, the host must issue a kSpiDeviceFlashOpSectorErase to signal to the device that the frame has been read via the busy bit.
The device must check that the busy bit is set before writing a new frame to the buffer.
The device writes a new frame to the buffer and clear the busy bit.

Does that make sense?
One downside thought is that we could have a deadlock in the device if the host does not poll the device. But that can be sorted with a timeout.

This seems like it would lower the potential throughput always having to align the frame header at the beginning of the buffer no?
Let's get this merged before making any further improvements to it. It is blocking critical provisioning work.

This seems like it would lower the potential throughput always having to align the frame header at the beginning of the buffer no?

You mean because the current implementation can queue up multiple frames in the circular buffer without having to wait for the host to read them out?

Yes

If we're sending lots of small frames, then no. If it's large amounts of data filling the buffer then it should be the same.

I'm fine to merge as it is, and we can experiment other protocols later.

Looks like the test that was failing was a flaky test that provided no additional value to the test scenario it was exercising so I added a commit to this PR that should fix the issue and get this to pass CI.

Thanks for the changes.
After a discussion with @jwnrt @HU90m, we came up with a suggestion for the protocol that we believe would simplify the implementation and be more robust, by leveraging the spi_flash features to control the data flow.

The device would always write the header to the beginning of the buffer.
The Host must read the status register to check the busy bit is cleared before issuing a kSpiDeviceFlashOpReadNormal command.
After reading, the host must issue a kSpiDeviceFlashOpSectorErase to signal to the device that the frame has been read via the busy bit.
The device must check that the busy bit is set before writing a new frame to the buffer.
The device writes a new frame to the buffer and clear the busy bit.

Does that make sense?
One downside thought is that we could have a deadlock in the device if the host does not poll the device. But that can be sorted with a timeout.

Thanks for your thoughtful suggestions! Before creating this PR, I did experiment with a similar approach where the host issued an upload command to signal the device that the frame has been read. In this protocol, each data chunk transfer is a blocking operation, even if there is free space in the read buffer to accommodate the next chunk.
While the proposed protocol in this PR utilizes the LAST_READ_ADDR to coordinate Device and Host activities, so the device is able to push data chunks into the read buffer non-blocking and only block when there is insufficient space to accommodate the next chunk.
To illustrate this potential advantage, I conducted a simple experiment by logging a test message This is a SPI device OTTF console test.  on the device side with varying iterations. While not a rigorous evaluation, the results suggest a throughput improvement with the non-blocking approach.

Iterations
blocking (seconds)
non-blocking (seconds)
ratio

50
0.381s
0.215s
1.77

100
0.737s
0.426s
1.73

500
3.735s
2.241s
1.67

1000
7.496s
4.512s
1.66

5000
37.598s
22.478s
1.67

I acknowledge that the suggested protocol offers implementation simplicity. It seems there's a trade-off here between potential throughput performance and implementation simplicity/robustness.


ProxySettings: Long ProxyServerExceptions result in an error

Details of the scenario you tried and the problem that is occurring
Using a very "long" ProxyServerExceptions list will lead to an error while trying to apply the configuration. The reason is that the length of the ProxyServerExceptions string currently can't exceed 255 characters as it's converted to a byte.
Verbose logs showing the problem
I'm only including the relevant part.
VERBOSE: [AD]:                            [[ProxySettings]Longbypass] Test-TargetResource: Checking the computer proxy settings to ensure 'Present'.
VERBOSE: [AD]:                            [[ProxySettings]Longbypass] Test-TargetResource: Checking that the computer proxy settings 'DefaultConnectionSettings' are in the desired state.
VERBOSE: [AD]:                            [[ProxySettings]Longbypass] Test-ProxySettings: The proxy setting 'ProxyServerExceptions' value 'b1.com;*.web2.com;*.web3.com;*.web4.com;*.' does not match the desired value '*.example1.com;*.example2.com;*.example3.
com;*.example4.com;*.example5.com;*.example6.com;*.example7.com;*.example8.com;*.example9.com;*.example10.com;*.example11.com;*.example12.com;*.example13.com;*.example14.com;*.example15.com;*.example16.com;*.example17.com'.
VERBOSE: [AD]:                            [[ProxySettings]Longbypass] Test-TargetResource: Computer proxy settings 'DefaultConnectionSettings' are not in the desired state.
VERBOSE: [AD]:                            [[ProxySettings]Longbypass] Test-TargetResource: Checking that the computer proxy settings 'SavedLegacySettings' are in the desired state.
VERBOSE: [AD]:                            [[ProxySettings]Longbypass] Test-ProxySettings: The proxy setting 'ProxyServerExceptions' value 'b1.com;*.web2.com;*.web3.com;*.web4.com;*.' does not match the desired value '*.example1.com;*.example2.com;*.example3.
com;*.example4.com;*.example5.com;*.example6.com;*.example7.com;*.example8.com;*.example9.com;*.example10.com;*.example11.com;*.example12.com;*.example13.com;*.example14.com;*.example15.com;*.example16.com;*.example17.com'.
VERBOSE: [AD]:                            [[ProxySettings]Longbypass] Test-TargetResource: Computer proxy settings 'SavedLegacySettings' are not in the desired state.
VERBOSE: [AD]: LCM:  [ End    Test     ]  [[ProxySettings]Longbypass]  in 0.2190 seconds.
VERBOSE: [AD]: LCM:  [ Start  Set      ]  [[ProxySettings]Longbypass]
VERBOSE: [AD]:                            [[ProxySettings]Longbypass] Set-TargetResource: Applying the computer proxy settings to ensure 'Present'.
VERBOSE: [AD]:                            [[ProxySettings]Longbypass] Set-TargetResource: Enabling computer proxy settings.
Cannot convert value "262" to type "System.Byte". Error: "Value was either too large or too small for an unsigned byte."
    + CategoryInfo          : InvalidArgument: (:) [], CimException
    + FullyQualifiedErrorId : InvalidCastIConvertible
    + PSComputerName        : localhost

Suggested solution to the issue
The responsible line within the ProxySettings DSC resource directly uses the string length. If this exceeds 255 it can't be converted to a byte.
https://github.com/PowerShell/NetworkingDsc/blob/e714098d02654dfa8a3aed6b44430c68cea9fdbf/Modules/NetworkingDsc/DSCResources/MSFT_ProxySettings/MSFT_ProxySettings.psm1#L655
As far as I can tell those 4 bytes can be used to indicate the length but as it is little endian hex you need to convert it to hex and reverse the order for each pair. The following would only be a patch for the write, I didn't check the read but it likely needs to be adjusted as well.
There probably is a better solution to do the conversion.
655c655,662
<         $proxySettings += @($ProxyServerExceptionsString.Length, 0x0, 0x0, 0x0)
---
> 	  $hex = '{0:x8}' -f $ProxyServerExceptionsString.Length
>         $ProxyServerExceptionsStringLength = @()
>         $ProxyServerExceptionsStringLength += @("0x"+($hex[6..7] -join ''))
>         $ProxyServerExceptionsStringLength += @("0x"+($hex[4..5] -join ''))
>         $ProxyServerExceptionsStringLength += @("0x"+($hex[2..3] -join ''))
>         $ProxyServerExceptionsStringLength += @("0x"+($hex[0..1] -join ''))
>
>         $proxySettings += [Byte[]][Int[]]$ProxyServerExceptionsStringLength

The DSC configuration that is used to reproduce the issue (as detailed as possible)
Using a value of 17 generates a ProxyServerExceptions list that results in a string that's 262 character long. Using a value of 16 results in a string that's 246 characters long.
Configuration LongProxyExample
{
    $bypass = 1..17 | %{ "*.example$_.com" }
    Import-DSCResource -ModuleName NetworkingDsc

    Node localhost
    {
        ProxySettings Longbypass
        {
            IsSingleInstance       = 'Yes'
            ProxyServerExceptions  = $bypass
        }
    }
}

The operating system the target node is running
OsName               : Microsoft Windows Server 2016 Standard
OsOperatingSystemSKU : StandardServerEdition
OsArchitecture       : 64-bit
WindowsBuildLabEx    : 14393.1794.amd64fre.rs1_release.171008-1615
OsLanguage           : en-US
OsMuiLanguages       : {en-US}

Version and build of PowerShell the target node is running
Name                           Value
----                           -----
PSVersion                      5.1.14393.1884
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.1884
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

Version of the DSC module that was used ('dev' if using current dev branch)
<IP_ADDRESS>

Great catch and thanks for raising this @Seth401 - looks like this one shouldn't be too tough to fix. Happy to take PRs from the community - but otherwise I'll try and get to it as soon as I can (got a few other repos I'm looking after).


Support for discovering GCP global forwarding rules targets

Currently cloudprober can only discover forwarding rules that are tied to a region (https://github.com/cloudprober/cloudprober/blob/master/targets/gce/proto/config.proto#L53-L63). I need to probe targets that are configured as global forwarding rules. For that cloudprober needs the ability to discover global forwarding rules.

I tried to put together a pull request to implement this (https://github.com/cloudprober/cloudprober/pull/107). Please let me know if that aligns with how cloudprober is supposed to work.

@muntakimsadik, sorry for the delay, and thanks for the PR. Merged it.


Files management

A little milestone for files management.
Note that there is not yet any interface for uploading files and add files into directories.
The REST api support it now but may need more work to cooperate with the Front-end

Coverage increased (+5.3%) to 87.38% when pulling 8f1f952fc0a01e90681b14274f9c986f6136ff53 on files-management into 32bb0dce031b8e1412aedd2c65da7af277e30ceb on master.


First drafted client cmdlets from Hackathon 221

[x] Have you signed the Contributor License Agreement?
[x] Are you working against an Issue?

Closes #674
This is the first set of PowerShell cmdlets drafted during the 2021 Hackathon at Microsoft to explore PowerShell syntax for the Windows Package Manager. This is a very early draft and is subject to substantial change. Notes and historical context are in the README.md.
Microsoft Reviewers: Open in CodeFlow

I messed up my branch. I created a new Draft PR https://github.com/microsoft/winget-cli/pull/1760


Fix codegen on a simple branching testcase

I thought I'd look into codegen. Consider the following test of a simple branch, where compilers were asked to generate the best code:
int five(int a) {
        return a > 5 ? 8 : a;
}

LLVM generates:
0000000000000000 <five>:
   0:	83 ff 06             	cmp    $0x6,%edi
   3:	b8 05 00 00 00       	mov    $0x5,%eax
   8:	0f 4c c7             	cmovl  %edi,%eax
   b:	c3                   	retq

GCC generates:
0000000000000000 <five>:
   0:	89 f8                	mov    %edi,%eax
   2:	83 ff 06             	cmp    $0x6,%edi
   5:	ba 08 00 00 00       	mov    $0x8,%edx
   a:	0f 4d c2             	cmovge %edx,%eax
   d:	c3                   	retq

And Cranelift generates (via clang-compiled wasm):
Disassembly of 22 bytes:
   0:	55                   	push	rbp
   1:	48 89 e5             	mov	rbp, rsp
   4:	b8 08 00 00 00       	mov	eax, 8
   9:	83 ff 05             	cmp	edi, 5
   c:	7f 04                	jg	0x12
   e:	89 f8                	mov	eax, edi
  10:	eb 02                	jmp	0x14
  12:	eb fc                	jmp	0x10
  14:	5d                   	pop	rbp
  15:	c3                   	ret

There are some obvious things to fix up:

[ ] Constructing/destructing stack frames can be skipped if the stack is unused.
[x] 0xc jumps conditionally to 0x12, which is an unconditional jump to 0x10, which is an unconditional jump to 0x14, which is an unconditional jump to the end of the function.
[ ] Simple branches can be folded into cmov on x86. In this case we have cmp..jg..mov..jmp which is exactly what a cmov does.

Is this still a problem with the new x64 backend?

I'm not sure if this would use cmov today (it should if the CLIF uses a select op) but the branches should be reasonable (like llvm and gcc) now due to MachBuffer's simplification pass.

The first item is covered by #1148.


Partially revert "build(deps): bump cachix/install-nix-action from 26 to 27"

Description of changes
This partially reverts https://github.com/NixOS/nixpkgs/pull/313109 because it's causing failures on master: https://github.com/NixOS/nixpkgs/actions/runs/10061768002/job/27812623186?pr=329433
I/O error:  Failed to get the definition info for attribute acl: In /home/runner/work/nixpkgs/nixpkgs/pkgs/stdenv/linux/default.nix, attribute parent node is not an attribute path node<EMAIL_ADDRESS>
The reason is because the pkgs/by-name check doesn't work for newer Nix versions yet, see https://github.com/NixOS/nixpkgs-check-by-name/issues/78
It's not enough to look at CI when updating GitHub workflows that trigger on pull_request_target, because they use the workflow file from the base branch, not the PR branch. Ping @Artturin @mweinelt

[x] Tested that this makes it work: https://github.com/infinisil/nixpkgs/pull/2

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

Reapplying this in https://github.com/NixOS/nixpkgs/pull/330297


Error when tags have prefix

When tags have prefixes like nc:rpc-reply, parsing fails.

Hey, if you're looking for updates your best to fork and update, it's a pretty small library that was also originally a fork of an older library, as there is no official support for node.
The library is no longer in use on my end, so will no longer be getting updates.


Reupdating pool names, imageurl and description for all 3 pools

I have fixed it sir, thank you for assisting me

the PR seems messed up due to the merge conflicts, could you take a look again?

I think I'll delete my repo, fork and create new PR again


error: conflicting types for ‘SSL_SESSION_get_master_key

I'm using Debian 11, python 3.9 and I just updated everything.
sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install -y git unzip build-essential libssl-dev libdb++-dev libboost-all-dev libqrencode-dev libminiupnpc-dev libgmp-dev libevent-dev autogen automake  libtool libcurl4-openssl-dev
git clone https://github.com/carsenk/denarius
cd denarius
git checkout master
git pull
cd src
make -f makefile.unix
make -f makefile.unix error-ed out with the following: (this is just a partial list)
In file included from tor/tortls.c:52:
tor/tortls.h:140:15: error: conflicting types for ‘SSL_SESSION_get_master_key’
140 | STATIC size_t SSL_SESSION_get_master_key(SSL_SESSION *s, uint8_t *out,
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from tor/tortls.c:40:
/usr/include/openssl/ssl.h:2007:15: note: previous declaration of ‘SSL_SESSION_get_master_key’ was here
2007 | __owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *sess,
tor/tortls.c: In function ‘tor_tls_client_is_using_v2_ciphers’:
tor/tortls.c:1511:20: error: invalid use of incomplete typedef ‘SSL_SESSION’ {aka ‘struct ssl_session_st’}
1511 |   ciphers = session->ciphers;
|                    ^~
tor/tortls.c: At top level:
tor/tortls.c:2405:1: error: conflicting types for ‘SSL_get_client_random’
2405 | SSL_get_client_random(SSL *s, uint8_t *out, size_t len)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from tor/tortls.c:40:
/usr/include/openssl/ssl.h:2003:15: note: previous declaration of ‘SSL_get_client_random’ was here
2003 | __owur size_t SSL_get_client_random(const SSL *ssl, unsigned char *out,
|               ^~~~~~~~~~~~~~~~~~~~~
In file included from tor/tortls.c:27:
tor/tortls.c: In function ‘SSL_get_client_random’:
tor/tortls.c:2410:15: error: invalid use of incomplete typedef ‘SSL’ {aka ‘struct ssl_st’}
2410 |   tor_assert(s->s3);
|               ^~
tor/tortls.c:2424:16: error: invalid use of incomplete typedef ‘SSL’ {aka ‘struct ssl_st’}
2424 |   memcpy(out, s->s3->server_random, len);
|                ^~
tor/tortls.c: In function ‘SSL_SESSION_get_master_key’:
tor/tortls.c:2435:13: error: invalid use of incomplete typedef ‘SSL_SESSION’ {aka ‘struct ssl_session_st’}
2435 |     return s->master_key_length;
|             ^~
In file included from tor/tortls.c:27:
tor/tortls.c:2436:30: error: invalid use of incomplete typedef ‘SSL_SESSION’ {aka ‘struct ssl_session_st’}
2436 |   tor_assert(len == (size_t)s->master_key_length);
|                              ^~
tor/torcompat.h:196:51: note: in definition of macro ‘PREDICT_UNLIKELY’
196 | #define PREDICT_UNLIKELY(exp) __builtin_expect(!!(exp), 0)
|                                                   ^~~
tor/tortls.c:2436:3: note: in expansion of macro ‘tor_assert’
2436 |   tor_assert(len == (size_t)s->master_key_length);
|   ^~~~~~~~~~
tor/tortls.c:2438:16: error: invalid use of incomplete typedef ‘SSL_SESSION’ {aka ‘struct ssl_session_st’}
2438 |   memcpy(out, s->master_key, len);
|                ^~
make: *** [makefile.unix:465: obj/tortls.o] Error 1
It appears that the majority of the issues is syntac.

Major changes to OpenSSL with Denarius lately, latest development branch is secp256k1, you will need the dep libsecp256k1, OpenSSL is being removed in favor of secp256k1. You will also need to add the flag USE_NATIVETOR=- when compiling the QT until native tor (which uses OpenSSL is removed)

Try this, you were close, guides will be updated eventually.
sudo apt-get update -y && sudo apt-get upgrade -y

sudo apt-get install -y git unzip build-essential libssl-dev libdb++-dev libboost-all-dev libqrencode-dev libminiupnpc-dev libgmp-dev libevent-dev autogen automake libtool libcurl4-openssl-dev libsecp256k1-dev

git clone https://github.com/carsenk/denarius

cd denarius

git checkout secp256k1

git pull

cd src

make -f makefile.arm

An example for ubuntu 20.04 QT, which should work on Debian 11, for anyone else coming across this issue.
https://denarius.wiki/wallet/compile/#ubuntu-2004-qt-secp256k1-branch
sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install -y git unzip build-essential libdb++-dev libboost-all-dev libqrencode-dev libminiupnpc-dev libevent-dev autogen automake  libtool libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools qt5-default zlib1g-dev jq libcurl4-openssl-dev libgmp-dev libsecp256k1-dev

git clone https://github.com/carsenk/denarius
cd denarius
git checkout secp256k1
qmake "USE_UPNP=1" "USE_QRCODE=1" "USE_NATIVETOR=-" denarius-qt.pro
make
./Denarius


[Suggestion] Removing user data fetching at authentication middleware

We can pass userId & roles in the JWT. If the user data is needed then we can fetch it in controller or maybe a different middleware.
https://github.com/Real-Dev-Squad/website-backend/blob/6dd78c1245086fa1dcd3f64ee46d64cc58d535f6/middlewares/authenticate.js#L82

Discussed with Ankush. Roles in JWT is a overhead to maintain.

So how are we moving forward for this.
Are we keeping as it is or going to change to store only roles and userid in the jwt token

On discussion we concluded that those details shouldn't be stored in JWT.
We are going with -

Removing userId from JWT
Adding caching layer to backend (perhaps redis)


aur-repo: output format for -l

Before https://github.com/AladW/aurutils/commit/640dbd38d69fbb85ad5c998866dcc858533ebe6d, it was pkgname\tpkgver to allow easy combination with aur-vercmp-devel:
aur repo --list | cut -f1 | grep -E "$AURVCS"

This is however not consistent with the output from pacman -Sl resp. aur-repo -S. Thoughts?

aur repo --list | cut -d' ' -f1 | grep -E "$AURVCS"

wouldn't be too complicated, or am I missing something?

I'm for consistency 👍

Wasn't the question about using space vs. tab as separator?

in this case adding repo name to the output isn't really beneficial, don't you think? there's nothing to disambiguate, it's always a content of one repo

Wouldn't that rather make the --pacman flag unnecessary? Besides, pacman -Sl <repo> does the same, as far as I can see...


Updated the README with extra details

What was done:
I just updated to readme with some extra details to test out the new branch ruleset.

Thank you Ryan


Pinning vscode to the taksbar changes it's colour from orange to blue 1.17

VSCode Version: Code 1.17.0 (be377c0faf7574a59f84940f593a6849f12e4de7, 2017-10-04T23:44:50.318Z)
OS Version: Windows_NT ia32 10.0.15063
Extensions:

Extension
Author (truncated)
Version

plsql
cas
0.0.3

githistory
don
0.2.3

python
don
0.7.0

ctags
hcy
0.2.6

mssql
ms-
1.2.0

vscode-docker
Pet
0.0.18

vscode-icons
rob
7.14.0

Steps to Reproduce:

Load vscode
Pin vscode to task bar

Reproduces without extensions: Yes/No

No issues here on Windows 10.
To be honest, I hate this color change, every time I am looking for a blue icon.
IMHO, this is the worst idea ever...

On Windows 7 (and probably on other versions too) follow these steps:

go to %userprofile%\AppData\Local
delete IconCache.db file
in Task manager kill explorer.exe process
in Task manager start a new explorer.exe process (through File > New task (Run))

Windows 10, same problem.

https://github.com/Microsoft/vscode/issues/33685


how to make custom response in v2? seems it does not get to error handler

  const initOptions = {
    allowOtherQueryParameters: true, // 2
    handleBadRequest: false,
    handleBadResponse: false, // 3
    handleNotFound: true,
    handleMethodNotAllowed: true
  }

if there is some OpenAPI error in request it does not get to error catching middleware (next normal middleware is called):
  // add error catching middleware
  app.use((err, req, res, next) => {

seems like (utils2.js)
function handleRequestError(opts, error, res, next) {
needs
next(error);
instead of
next();

Sorry on the slow response here. I'll be a little slow on replying throughout this week.
As you've already discovered, by setting the handleBadRequest option to false you allow it to call the next middleware even if the request had errors. You can tell if the request had errors because the openapi property will not be set on the request object.
What isn't helpful here is that you can't easily see what the client error was.
Here are a few potential fixes that I could implement off the top of my head:

Set up another option called ignoreRequestErrors that defaults to true. If you set this to false then it will call next(error) when there is a problem with the request.
Add a property to the request object called error (maybe?) that contains the error details.

Option 1 seems to be more in line with keeping with common patterns. What are your thoughts? Do you have any other ideas for how this might be fixed?
Thanks for the issue.

What isn't helpful here is that you can't easily see what the client error was.
Yep :)
I think both options would be useful and rather easy to implement.
For me option 2 seems also useful - we can handle the results of validation and decide what to do next - based on application settings ("write warning with error details and continue" in development mode or "answer with error" in production mode for example in single "next" middleware).

I like the idea of adding both. I'm not sure if I'll be able to get to this today, but I should be able to by tomorrow. I'll let you know when I've made the update.

Thanks! No need to hurry :)

I've made the changes and published to NPM, but I have not yet updated the docs.
There is an option now called ignoreRequestErrors that defaults to true. If there is a problem with the request then a property named clientError gets added to the request object.
Thanks for the issue and the patience.


do not remove hosts entry for already running vm

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Removing hosts
==> default: Checking if box 'debian/jessie64' is up to date...
==> default: VirtualBox VM is already running.

when doing vagrant up, and the machine is already running, vagrant-hostsupdater should not remove the hosts entry.

@hlb-schmidt this should be fixed.  Try running vagrant plugin update vagrant-hostsupdater to update the plugin.
Feel free to reopen if there is still an issue after updating.


Image Labeler Fails with Gifs?

The image_label example assumes that decode_gif (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/label_image/main.cc#L105) will return a 3-d tensor ([height, width, channels]) in the same way that decode_jpeg or decode_png would. However decode_dif returns a 4-d shape ([frames, height, width, channels], https://www.tensorflow.org/api_docs/python/tf/image/decode_gif). This will cause ResizeBilinear to fail.
This could be fixed by pulling the first frame from the gif, or by choosing to not expand dimensions on the gif (and classifying each frame).

I think you typically just decode a single channel by passing the channel argument to the tf.image.decode_* functions?

Since only the single frame gif will be used in this label_image, frames should be 1. So we can use Squeeze() to remove it. See my PR, https://github.com/tensorflow/tensorflow/pull/9877

Automatically closing due to lack of recent activity. Since this issue is old at this point, please reopen the issue if it still occurs when tried with the latest version of Tensorflow. Thank you.


feat: add hgctl dashboard controller subcommand to open higress controller debug web ui

Ⅰ. Describe what this PR did
add hgctl dashboard controller subcommand to open higress controller debug web ui
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #564 (5b051db) into main (792b9b0) will decrease coverage by 0.16%.
Report is 3 commits behind head on main.
The diff coverage is 0.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #564      +/-   ##
==========================================
- Coverage   37.40%   37.24%   -0.16%
==========================================
  Files          65       65
  Lines        9176     9215      +39
==========================================
  Hits         3432     3432
- Misses       5478     5517      +39
  Partials      266      266

Files Changed
Coverage Δ

pkg/cmd/hgctl/dashboard.go
0.00% <0.00%> (ø)

... and 1 file with indirect coverage changes


fix: blocking no async function into backup feature

Fix for issue : https://github.com/rstrouse/ESPSomfy-RTS/issues/401
Changing the backup method to a non-blocking asynchronous method

Thx!


Display shuttle fares properly

Summary of changes
Asana Ticket: Fare Calculator Accordion | Shuttle Fare (free)
Display shuttle fares properly
In the summary, the Monthly Pass is called "Shuttle: None".
Include a row for the shuttle fare in the accordion section.
Use "None" in recommended and reduced columns.
Display fare name as "Shuttle".

Before getting review, please check the following:

[x] Does frontend functionality render and work correctly in IE?
[x] Have we load-tested any new pages or internal API endpoints that will receive significant traffic?
[x] Are interactive elements accessible to screen readers?
[x] Have you checked for tech debt you can address in the area you're working in?
[x] If this change involves routes, does it work correctly with pertinent "unusual" routes such as the combined Green Line, Silver Line, Foxboro commuter rail, and single-direction bus routes like the 170?
[x] Are the changes organized into self-contained commits with descriptive and well-formatted commit messages?

In the shuttle only case where we show a shuttle:
CURRENT

Instead of base: [blank]; Reduced: n/a; Valid On [blank]
Show "None" for Base, Reduced. And a blank for valid on or remove the column entirely.
Also, I think we have n/a as a value for a few other cases (like when something gets no reduced fares, or no reduced commuter rail passes), but it seems like "None" is more clear and universal.

@ingridpierre Added "None" to both columns. This addresses other conditions "n/a" used to appear as well.

👍 lgtm!


Border-width if base font-size 14px

If we have font-size 14px then border-width in controls not viewed.
Border-width = 0.0625rem

It makes us dependent on the font size of 16 pixels

Duplicate of #18166.


Can't filter urls. The ".com" causes the filter to not work

Describe the bug
If you try to filter URLs, it always returns empty data
To Reproduce
Steps to reproduce the behavior:

Create table with URL column
Run supabase.<tablename>.select("*").eq("url", url).execute()

Expected behavior
It should properly return the rows.
Additional context
If you remove the ".com" it works perfectly.

Duplicate of #161 ; I'll try looking into this over this weekend 😄


Assets path must be relative

Resources located in assets must be referenced using a relative path

Assets are loaded from relative URLs


Add bulk profiles for each plate

In this PR, I include a new step in the processing CellProfiler morphology outputs where the single cells are aggregated using the 'median' operation by well. These bulk profiles are then annotated, normalized, and feature selected.
I would really like advice on how the dictionary looks and works, as I am noticing that it is getting pretty crowded with the new bulk paths. Any new ideas would be appreciated!

Awesome! Thank you both @MikeLippincott and @MattsonCam for the reviews!
I will be merging now!


Switch reference_time to be NULL when not needed

Leaving some notes for later.  I started to address this but it was more involved that I wanted to tackle right now.
The reference_time in existing files can be set to NULL and kept as timestamp with the following.
res = duckdb.query(
    f"""
    COPY (
        SELECT location_id, value_time, value, measurement_unit, variable_name, configuration, 1::timestamp AS reference_time
        FROM read_parquet('{src}')
    ) TO '{dest}' (FORMAT PARQUET);
    """)
print(res)

The issue with having NULLs in the reference_time column is that in the SQL for the spearman_corr we rank the values in a CTE and then join them back to the original joined values.  When joining back we join based on all the fields that could make a timeseries unique including the reference_time.  However, joining based on NULL values does not work, so having NULL values does not work.  There is a way to address this.

I've added code to


Multiple iframe resizers on parent page

Greetings,
I work for a company that provides social media widgets. Our content loads inside an iframe on our client websites, and we use iframe resizer to help manage the iframe during its lifetime on the page. The problem we just ran into is that some clients are also using iframe resizer, and it's a tossup whether their version or ours will load first and handle messages from the iframe.
Is this something you've run into before, and is there anything low-maintenance we can do to address this? Anything like namespacing our iframe resizer and having the contentwindow in our iframe target that instead of just any listening iframe resizer? I didn't see any parameters in the configuration options for doing such a thing, and that was just the first idea that came to mind.
I wanted to ensure there wasn't a better handle to handle this situation before diving in too deeply myself.
Thanks!
Sean

In theory, both versions should receive the message, but only the one that has the iFrame registered with it should process it. The other one should just ignore it. If you or your client is running a version prior to v2.8.6 then you'll likely run into some issues, as this deconflicting is relatively new feature.

My suggestion would be to get your client to upgrade to either 2.8.10 or 3.4.0 and try again. I'd be interested to know the outcome either way, as this is not something I've really looked into much.

We'll upgrade our instance first and see how things work out. Though I'm curious how the contentwindow code registers with an iframe resizer instance in the first place. Does it prefer the same version, or is there some other logic?

The message format is the same all the way back to version one. In cases where it doesn't get a value for a newer option, it just inserts the default value.

The other option in your case is to change the value for msgId in both JS files. This will completely deconflict things for you, but at the expense of creating your own fork of the project.

That sounds promising - we're giving that a try now.
Sounds also like it would be a handy feature. Is that something you've considered doing? Exposing the message ID as a configuration option for the iframe resizer, and maybe looking for a certain property on the window object for the contentwindow? I'd be happy to put together a pull request for that if you think there's value outside of our use case.

So we changed msgId in both iframe resizer and contentwindow, but we're still getting an error:

That's not because you have two copies on the page. Looks like you've redefined document somewhere. This is the code that error relates to, it's in the first function that runs when you make the call, and just looks for iFrames on the page.
Array.prototype.forEach.call(
	document.querySelectorAll( target || 'iframe' ),
	init.bind(undefined, options)
);

The client is using a service called murm that also has the iframe resizer embedded. Their JS file can be found here:
https://www.murm.io/sdk/murm.js
If you look on line 513, you'll see the same function you linked to, except it looks like this:
        return function iFrameResizeF(options,selecter){
            processOptions(options);
            Array.prototype.forEach.call( document.querySelectorAll( selecter || 'iframe' ), init );
        };

So there's a selecter [sic] argument that is being passed in as the iframe HTMLElement itself, as opposed to a string CSS selector. It seems like your original advice to have the client update their iframe resizer instance is the best option, but I was surprised to see that the function that's breaking is within the iframe resizer. Can you help me understand what's going on with this? What is selecter originally intended to be, and how could it receive an iframe HTMLElement directly instead of a CSS selector string?

Looks like they have a very old version. The full function in the latest release is.
return function iFrameResizeF(options,target){
	iFrames = []; //Only return iFrames past in on this call

	switch (typeof(target)){
	case 'undefined':
	case 'string':
		Array.prototype.forEach.call(
			document.querySelectorAll( target || 'iframe' ),
			init.bind(undefined, options)
		);
		break;
	case 'object':
		init(options,target);
		break;
	default:
		throw new TypeError('Unexpected data type ('+typeof(target)+')');
	}

	return iFrames;
};

This allows you to pass either a dom element, or a css selector to choose which iFrames to apply this code to. The older version, only supported CSS selectors. Looks like they are using an old version, but reading the latest documentation!

Looks like they have v2.6.0.

Your advice is right on. We created a local copy of the client's web page and updated the third party's code to the latest iframe resizer, and the problem went away without any further modifications. So, we're reaching out to the third party and also our client to get this issue fixed the right way (without workarounds).
Thanks again for a great library!


[sw, dif_uart] DIF_HW_USAGE_REVIEWED complete

As part of the DIF S2 signoff, we ensure that the peripheral is being used correctly by the DIF. This review happened with Eunchan Kim, Silvestrs Timofejevs, Sam Elliott and Garret Kelly.
We have identified the following TODOs:

[x] uart.TIMEOUT_CTRL is required (uart.OVRD and uart.VAL is not required). For some background, please see:
https://github.com/lowRISC/opentitan/issues/2292

[x] Should document the RX and TX FIFO reset semantics. Specifically that if a byte is in transit, the RX, TX FIFO reset will not cancel the operation (#4728). For some background please see:
https://github.com/lowRISC/opentitan/issues/2812

FIFO size is hardcoded in the DIF, but it is fine as it is not expected to change (even with different parameterisation).

Semantics of send and receive byte functions were deemed good.

Static assert in the code should not be a problem, as it is unlikely that it would ever exceed 28 bits (requires very high clock frequency).

[ ] Bitwise operators where applicable should be changed to use the bitfield library.

[x] RX and TX FIFO reset is duplicated in the reset and configuration functions. The consensus is to keep it in the reset function, but remove from the configure function (#4728).

[x] RX and TX FIFO reset functions must write 1' and then 0. Should add 0write following the1` write in the reset function and FIFO reset API functions (#4728).

Can you include the DIF implementation changes in this PR as well?

For clarification: this PR doesn't need to migrate to the bitfield library, but the FIFO reset changes, the TIMEOUT_CTRL stuff, and the updates to documentation should be in this PR.

Can you include the DIF implementation changes in this PR as well?

Yup, that is the idea, I forgot to mention it in the description.

@silvestrst, how about adding another reviewer?

@silvestrst, how about adding another reviewer?


Fix typo

Changed %uproot% to %approot%

@kwill-MSFT : Thanks for your contribution to the Azure documentation! The author, @genlin, has been notified to review your proposed change.

@kwill-MSFT， thanks for pointing out the typo.
#sign-off


fix(curriculum): Improve Array Sort Challenge

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

While reviewing #35746, I noticed that the Array Sort challenge doesn't mention anything about the details of how a regular compare function callback works, when one is provided to .sort(). I feel like this information is critical to implementing any sort function, especially if you don't want the default Unicode value based ordering during the sort.
This PR moves the details about the compare function that @RandellDawson added to the Hints section for the challenge, to the challenge itself.

@Manish-Giri Maybe need a rebase?

@RandellDawson Done.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


Update README timestamp

The project root README.md timestamp is outdated.

This was for demonstration only.


Add new Swagger definition to comply with Azure-CLI SDK requirements

ARM (Control Plane) API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!

[ ] New resource provider.
[ ] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix OpenAPI spec quality issues in S360.
[ ] Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
[X] Other, please clarify:

Discovered a Bug during Azure CLI CodeGen, and need to correct the regex pattern

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[X] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[X] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Hi @msyyc  @tadelesh, Could you help approve the python SDK breaking change?

Since typespec suppressions are not supported https://github.com/Azure/azure-sdk-tools/issues/8862, I will add approval label for python directly.


ChildProcess needs to be an EventEmitter

Big Kudos to you for undertaking this ambitious project -- I'm quite excited about the possibilities.
While taking things for a test drive, I discovered that I wasn't able to get IPC working between child and parent processes - owing to the current definition of ChildProcess.scala.
( For context note this : "Each of the methods returns a ChildProcess instance. These objects implement the Node.js EventEmitter API, allowing the parent process to register listener functions that are called when certain events occur during the life cycle of the child process." )
I made this change locally and built/published:
diff --git a/src/main/scala/io/scalajs/nodejs/child_process/ChildProcess.scala b/src/main/scala/io/scalajs/nodejs/child_process/ChildProcess.scala
index 5be52bf..359c3bc 100644
--- a/src/main/scala/io/scalajs/nodejs/child_process/ChildProcess.scala
+++ b/src/main/scala/io/scalajs/nodejs/child_process/ChildProcess.scala
@@ -3,6 +3,7 @@ package child_process

 import io.scalajs.RawOptions
 import io.scalajs.nodejs.buffer.Buffer
+import io.scalajs.nodejs.events.IEventEmitter

 import scala.scalajs.js
 import scala.scalajs.js.annotation.JSImport
@@ -15,7 +16,7 @@ import scala.scalajs.js.|
   * @author<EMAIL_ADDRESS>   */
 @js.native
-trait ChildProcess extends js.Object {
+trait ChildProcess extends js.Object with IEventEmitter {

... and this now works:
import io.scalajs.nodejs.child_process.ChildProcess
val p = ChildProcess.fork("./test.js")
p.on("message", (message: String) => {
  println("Message", message)
})

If you want me to submit a PR, please grant me access to the repo.

I'll get a fix out ASAP.

great thx 👍

Fixed, v0.4.0


fix: No delimiter found with cmdheight=0

With cmdheight=0 substitute command has no output, then
            redir => temp[i]
            " use very non-magic
            exe ":silent! :". first. ",". last. 's/\V' . i . "/&/nge"

do nothing

oh thanks. This is ugly, but oh well


Fix race condition during shutdown of Network/Client/Dispatcher

fixes #133
What was wrong?
We have long running processes in the NetworkAPI that interact with the DispatcherAPI.  During shutdown, the dispatcher is shut down first, which means that sometimes the network API tries to interact with the dispatcher API when it has already started closing channels.
How was it fixed?
Somewhat hacky, but effective is to detect this within the external facing dispatcher API and if the error occurs and we are in the process of shutting down, we introduce a small sleep.  Since we're in the process of shutting down, in normal situations the sleep will be interrupted by a cancellation, and no error will occur.
Cute Animal Picture

Maybe a future version of async_service could allow you to declare your dependencies and it'll use that information to make sure that shutdown happens in the correct order.

You can almost do this today.  If it is just tasks (and not child services) you can structure the scheduling of the tasks in the hierarchy you want them cancelled (so that dependent tasks are scheduled from within the tasks that they depend on).
class MyService:
    async def run(self):
        self.manager.run_task(self._master_task)

    async def _master_task(self):
        send, receive = trio.open_memory_channel(0)
        self.manager.run_task(self._child_task, send)

        async with receive:
            async for thing in receive:
                 ...  # do stuff with the things

    async def _child_task(self, send):
        async with send:
            ...  # send things over the channel

In this example, we want to make sure we never try to send things over the channel when the receiving side has already been closed.  So we structure the tasks so that the receiving side is the parent of the task responsible for sending, ensuring that the task that sends will always be shut down before the task that receives.
But you can't really do this across service boundaries.  In this case, we'd need a way to push a task down into the task DAG across the service boundaries.  Interesting idea...


Monitor mode's CPU percentage (crazy reading)

See below:

I need some more context.

Is it running on Windows?
Do you get the same reads with Docker CLI?
Does it always happen?

Thanks!

Hey @moncho
If it happens again I'll let you know, I'm on Ubuntu 16.04 FYI :)

Cool, thanks.
I haven't seen anything obviously wrong in the code, but I will give it a more careful look at same point before closing the issue.


No city

Subject: No city
Description:
search for host
https://couchers.org/messages/chats/90579
https://couchers.org/user/marty92
https://couchers.org/messages/chats/90578
https://couchers.org/user/lyle
Results:
both hosts do not have a city
both hosts are in glasgow
Backend version: develop-6691cefd
Frontend version: develop-6691cefd
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Page: https://couchers.org/contact
User: calicia (13391)

not a bug


RawMaterialButton elevation stopped working

Previosly RawMaterialButton elevation had an effect but from some version i have noticed that has stopped working.
Flutter version: 3.0.3
Flutter doctor:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.3, on macOS 12.4 21F79 darwin-x64, locale en-CH)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] VS Code (version 1.69.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

code for repro
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'package:senio_assist/infrastructure/constants/custom_colors.dart';
import 'package:senio_assist/infrastructure/services/logging_service.dart';
import 'package:senio_assist/shared_widgets/button.dart';

class SenioRoundButton extends StatelessWidget {
  final _loggingService = GetIt.instance<LoggingService>();

  final IconData? icon;
  final SenioButtonColor? color;
  final double radius;
  final double elevation;
  final double iconSize;
  final Widget? child;
  final String? trackingKey;
  final void Function()? onPressed;

  SenioRoundButton({
    Key? key,
    this.icon,
    this.color,
    this.onPressed,
    this.radius = 36,
    this.elevation = 2,
    this.iconSize = 15,
    this.child,
    this.trackingKey,
  }) : super(key: key);

  get _buttonColor {
    switch (color) {
      case SenioButtonColor.grey:
        return CustomColors.pageGrey100;
      case SenioButtonColor.cherry:
        return CustomColors.imperialRed;
      default:
        return CustomColors.carePurple;
    }
  }

  get _buttonGradientColors {
    switch (color) {
      case SenioButtonColor.grey:
        return [CustomColors.pageGrey100, Colors.white];
      case SenioButtonColor.cherry:
        return [CustomColors.imperialRed, CustomColors.careRedLight];
      default:
        return [CustomColors.careDeep, CustomColors.carePurple];
    }
  }

  @override
  Widget build(BuildContext context) {
    return RawMaterialButton(
      onPressed: onPressed != null
          ? () {
              _loggingService.addUserAction('Button pressed > ${trackingKey ?? 'Widget child'}');
              onPressed!();
            }
          : null,
      materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
      constraints: BoxConstraints(minWidth: radius, maxWidth: radius, minHeight: radius, maxHeight: radius),
      elevation: elevation,
      fillColor: _buttonColor,
      child: Ink(
          decoration: BoxDecoration(
            borderRadius: BorderRadius.circular(radius),
            gradient: LinearGradient(
              colors: _buttonGradientColors,
              begin: Alignment.topCenter,
              end: Alignment.bottomCenter,
            ),
          ),
          child: Container(
              alignment: Alignment.center,
              child: child ??
                  Icon(icon, size: iconSize, color: color == SenioButtonColor.grey ? Colors.grey[500] : Colors.white))),
      shape: const CircleBorder(),
    );
  }
}

I can set elevation even 10 or 60 it has 0 effect.

Hi @vytautas-pranskunas-
I cannot reproduce an elevation issue with RawMaterialButton on the stable 3.0.3 or master channel using a minimal code sample.

Code Sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key, this.dark = false, this.useMaterial3 = false})
      : super(key: key);

  final bool dark;
  final bool useMaterial3;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      themeMode: dark ? ThemeMode.dark : ThemeMode.light,
      theme: ThemeData(
        useMaterial3: useMaterial3,
        brightness: Brightness.light,
        colorSchemeSeed: const Color(0xff6750a4),
      ),
      darkTheme: ThemeData(
        useMaterial3: useMaterial3,
        brightness: Brightness.dark,
        colorSchemeSeed: const Color(0xff6750a4),
      ),
      home: const Example(),
    );
  }
}

class Example extends StatelessWidget {
  const Example({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Sample'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: <Widget>[
            RawMaterialButton(
              onPressed: () {},
              child: const Text('RawMaterialButton'),
              fillColor: Colors.red,
            ),
            RawMaterialButton(
              onPressed: () {},
              elevation: 10,
              child: const Text('RawMaterialButton'),
              fillColor: Colors.red,
            ),
            RawMaterialButton(
              onPressed: () {},
              elevation: 20,
              child: const Text('RawMaterialButton'),
              fillColor: Colors.red,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {},
        child: const Icon(Icons.add),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel unknown, 3.0.3, on macOS 13.0 22A5311f darwin-arm, locale
    en-GB)
    • Flutter version 3.0.3 at /Users/tahatesser/Code/flutter
    • Upstream repository unknown
    • Framework revision 676cefaaff (6 weeks ago), 2022-06-22 11:34:49 -0700
    • Engine revision ffe7b86a1e
    • Dart version 2.17.5
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version
    32.1.0-rc1)
    • Android SDK at /Users/tahatesser/Code/android-sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_SDK_ROOT = /Users/tahatesser/Code/android-sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0)
    • Xcode at /Applications/Xcode-beta.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.69.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.46.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.0 22A5311f darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 103.0.5060.134

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

The code you provided seems to be a production code. Please try the minimal provided here.

Strange, because for me it is not working. But if it works we can close thi sissue i can live without it :(


Combined pr

terraform plan ..
No changes. Your infrastructure matches the configuration.
Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
╷
│ Warning: Argument is deprecated
│
│   with module.vpc.aws_eip.gw,
│   on modules/vpc/main.tf line 51, in resource "aws_eip" "gw":
│   51:   vpc              = true
│
│ use domain attribute instead
╵
Releasing state lock. This may take a few moments...


Flunet update - testing snapshot update

Hey @Marigold - I'm just experimenting with updating the snapshot here for these two datasets as it's something we will hopefully be able to automate soon.
I ran python snapshots/who/latest/fluid.py --skip-upload and python snapshots/who/latest/flunet.py --skip-upload. Do I need to run it without the --skip-upload to get the CI to pass?

@spoonerf you have to run it without --skip-upload flag to upload it to S3 (where CI can then download it from). To be honest, that flag is pretty useless and just confusing.
That CI failure with "Warning: Checkout failed! exit status 128 (Attempt 1/3 Retrying in -1.334129189s)" is a bit weird. It could either be that github is down or that your commits in this PR are a bit messy (there are 34 commits for just 2 lines of code). Could you try applying your changes to the current master branch? (for instance by running git checkout master then git reset --hard origin/master then git checkout -b flunet-update and then creating PR)

Ah I see - that's a good GH tip, thanks!
That would be great if we could set up a CRON job - I think a daily update would be ideal, if that's not too much?

Sounds good, I've created an issue https://github.com/owid/etl/issues/900 and will work on it next week.


Manage lock overrides using the config variables instead of the endpoint

This also allows the device lock override methods to work on open-balena
Resolves: #203
Connects-to: https://github.com/balena-io/balena-sdk/pull/1072
Change-type: minor
Signed-off-by: Trong Nghia Nguyen<EMAIL_ADDRESS>

@thgreasi, can I have a review for this PR please?


Paragraphs not rendered correctly in markdown

When publishing content the description text is mushed into a block of text.
I think this is something that was introduce in the latest version: 0.25.0
Two screenshots says more than two thousand words.
Editor:

Preview:

We use https://github.com/RIP21/react-simplemde-editor for this component. This issue should be opened there.

We are using a custom markdown render not the one from simpleMDE

@btzr-io This is for the markdown preview, not for actually viewing the markdown on the file page

@seanyesmunt Yes, we use the same component on preview and on file page...

@seanyesmunt If you check the description on file-page, you can see the same bug :upside_down_face:

Ah you are right @btzr-io. Thanks for re-opening this issue.
@m160 Sorry about that!
@btzr-io Do you think we can solve this with css? Or will a change need to be made to the markdown renderer?

FIxed with #1939


[Feature request] Can’t pass headers in AzureOpenAI connections

Describe the bug
I can’t seem to be able to pass headers while creating AzureOpenAI connections. Headers are needed in cases of Azure OpenAI instances placed behind Azure API Management.
How To Reproduce the bug
Steps to reproduce the behavior, how frequent can you experience the bug:

Try passing in an header which you can do while creating the OpenAI client

Expected behavior
We should be able to pass in headers in the connection settings as well. OpenAI 1.x library requires you pass it when the client is being initialized. Example as below;
# Setting the auth headers
auth_headers = {
    ‘Ocp-Apim-Subscription-Key’: my_apim_sub_key,
    ‘Authorization’: f’Bearer {my_jwt_token}’
}

# Setting the Azure OpenAI client
azure_openai_client = AzureOpenAI(
   api_key = ‘null’,
   api_version = ‘2023-07-01-preview’,
   azure_endpoint = my_special_url,
   default_headers = auth_headers
)

# Calling Azure OpenAI
openai_response = azure_openai_client.chat.completions.create(
    model = ‘gpt-35-turbo-16k’,
    messages = my_messages
)

Running Information(please complete the following information):

Promptflow Package Version using pf -v: [e.g. 0.0.102309906]
Operating System: [e.g. Ubuntu 20.04, Windows 11]
Python Version using python --version: [e.g. python==3.10.12]

Additional context
Add any other context about the problem here.

Keeping an eye on this issue since I'm seeing similar struggles on a project I'm working on. I've tried to bypass around by using a custom connection, but I think my configuration setup is wrong. If there's any advice on that end, I'm open ears!

is your custom connection set up working? would you be able to share what you did on this thread? I have been unable to make it work.

Do you two have custom config to send headers to a flow input, let alone a connection?

Did anyone figure out a workaround?

Hi Promptflow team, or any promptflow users, did any one figure out a solution on this? Thanks.


Component Accessibility Status: Table on Accessibility tab

Acceptance Criteria

Build a custom component that can be leveraged on every component's accessibility tab's page.

Can be based off this exploration I have open https://github.com/carbon-design-system/carbon-website/pull/3735/files


Wrap libcurl calls

Fix #159
It seems like we are using libcurl functions quite everywhere in the code base, so I don't think we can drop libcurl dependency.
I'm opening the PR as a draft to have first feedbacks and discuss if this is how we want to do stuff.

@wolfv I am wondering if the powerloader user can choose the SSL backend when using the Context or is it something supposed to be handled internally?

@wolfv I am wondering if the powerloader user can choose the SSL backend when using the Context or is it something supposed to be handled internally?

We discussed this in a recent PR and the decision is purely based on which OS is being used, so it's fine if it's decided by powerloader. Basically we want to move that code from the mamba integration PR back to powerloader, probably just keeping the function deciding and calling it as the default value in the context options.

Just to clarify, this SSL backend setting is only relevant for the case where we have a statically linked binary (micromamba). In other cases, the curl default works fine since ca-certificates are properly installed. In the micromamba case we're forced to use the system one.
It is useful to be able to select the SSL backend, because it also controls which certificate store is used (e.g. keychain on macOS or the Windows certificate store on Windows). Users in corporate environments often have some self-signed certificates that they use to access the internet via some proxy.

So IMO being able to choose the backend with the Context, but leaving it nullopt by default is the way to go.

Ok! But then If we want to not expose ssl_backend_t enum, we would need to use some kind of equivalent enum related to the platform but independent from curl and which would be converted to the current curl enum within powerloader.


Don't obtain cert if one already exists

If I spawn a LE stack, it gets a certificate and stores it in the certificate store. If I then remove the stack and recreate it with the same settings, it will 'Found existing certificate 'cake' in Rancher' but still go out and grab a fresh one from LetsEncrypt.
For production usage, this isn't safe. I never want to pull a new certificate unnecessarily unless the previous one is about to expire (or maybe if I enable that functionality and in sandbox mode). If it's a worry about populating the local volume/directory with the certificate, we should pull the present one from the Certificate Store and save it.

Looking at this a bit more, I'm dumb ;)
What I'm effectively asking here is some persistence out-of-band for LE user credentials so they can be utilized in the future by this LE service. As it stands, the LE user created is lost when the data volume associated with this service goes away, which happens whenever the stack is torn down, the host dies, etc..
Once those LE user credentials are gone, we lose total control of the certificate which we've registered and stored in the Certificate Store. Therefore, the present actions by this service on fresh start are in-fact sane: We shouldn't deem an already existent certificate acceptable if we can't control it i.e. revoke it, renew it, etc..
I guess at the end of the day, I think one or more of the following solutions would help ease the pain here.

Integrations with external storage services like S3 for storing keys etc..
Additional private fields in Certificate Store entries for saving other private information i.e. the LE User Key
Utilizing other secure K/V backends like Vault etc.. I think there's some work in this realm possibly related to secrets-bridge

I'd love to hear others input on this and thoughts already had on handling these problems.


Add minimumCollateralPercentage to ProtocolParameters.

Issue Number
ADP-1166
Summary
This PR:

adds a minimumCollateralPercentage field to the ProtocolParameters type, and exposes this parameter in the API.
adds a minimumCollateralPercentage field to the CoinSelection.SelectionConstraints type, and populates it in Wallet.selectAssets.

Notes
This PR does not use our internal Percentage type, since:

the Percentage type has a maxBound that corresponds to 100%, but the minimumCollateralPercentage protocol parameter has no such upper bound.
the Percentage type makes it possible to encode fractions of a percent, but the minimumCollateralPercentage protocol parameter only allows whole percentage points (it's a natural number).

bors r+


entropy: fix C++ compiler warnings

Move includes to outside of the extern "C" statements to fix C linkage
issue.
| /include/misc/util.h:53:1: error: template with C linkage
|  template < class T, size_t N >
|  ^~~~~~~~
Signed-off-by: Greg S. Woods<EMAIL_ADDRESS>

Do you mind submitting a bug/issue for this.


Managing nested http client requests

Hi all,
I am working on an Angular project that uses Autorest to map api libraries (C#) in typescript.
Sorry if I ask something strange but I am a total newbie of this world.
We have a menu to navigate through different pages and usually each page on load starts making api calls to load data.
PROBLEM
When we change page we want to stop previous pending requests.
We found out that you have an AbortSignal property in your request object so we are trying to extend the BaseRequestPolicy to link every request to a common AbortService and then trigger Abort on Route changed endEvent.
Our Policy:
export class AbortRequestPolicy extends BaseRequestPolicy {

  static abortPolicy(abortService: AbortService): RequestPolicyFactory {
    return {
      create: (nextPolicy: RequestPolicy, options: RequestPolicyOptions) => {
        return new AbortRequestPolicy(nextPolicy, options, abortService);
      }
    };
  }

  constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions, private abortService: AbortService) {
    super(nextPolicy, options);

  }

  async sendRequest(request: WebResource): Promise<HttpOperationResponse> {
    //console.log('[AbortPolicy]Dentro sendRequest');
    request.abortSignal = this.abortService?.signal;
    const response = await this._nextPolicy.sendRequest(request);

    return response;
  }

}

QUESTION
Is this the right way to do it or do you some better suggestions?
For example I found this way to manage piped observables:
https://www.learnrxjs.io/learn-rxjs/operators/transformation/switchmap
Could I use this?
Thanks in advance

@fvassura Let me try to understand your scenario.  The generated methods also take the abortSignal via options bag.  So you don't want to pass your signal to each individual API calls, and instead want to centralize it by using this request policy to add the signal for all the requests?
I think this is a valid use case of request policies. Adding our abortSignal expert @chradek: Chris do you have any insights?

For example I found this way to manage piped observables:
https://www.learnrxjs.io/learn-rxjs/operators/transformation/switchmap
Could I use this?

I am afraid that I cannot comment on it as I am familiar with rxjs.

Ok, we started using "centralized" abortSignal that we destroy and recreate on routeNavigationStart of a new page and it seems to work.
If you don't have better suggestions we will continue this way.
Thanks

@fvassura glad to hear that it works.  I am closing this issue.  Feel free to contact us for further questions or feedback.


Question: Translation of MemberExpression

Could anybody explain me the next code from SqlServerStringLengthTranslator:
https://github.com/aspnet/EntityFrameworkCore/blob/92b902d81c56ad2235c70a5d92f2d7523c4e01a3/src/EFCore.SqlServer/Query/ExpressionTranslators/Internal/SqlServerStringLengthTranslator.cs#L20-L23

When "memberExpression.Expression" may be null?

Why it checkes a "memberExpression.Expression.Type", but not "memberExpression.Member.DeclaringType"?

Thanks.

MemberExpression.Expression is null for static members. The Expression property is instance on which member is called.
It checks for inner Expression's type to be string rather than declaring type because it would have been translated before coming to this code path. If for some reason the SqlExpression on server is not of type string, we don't want to apply the code (when value converter is in effect probably).


(2/2 optimize charts) Dont animate charts if not on top

Caveat: This means that if you have a side panel open, the graphs in the background will not be updating
Before

After

This is awesome, @kennyt!

Very nice @kennyt, :shipit:


Code cleanup

:+1:   Good job. . . @hippich .   Huge changed files are the proofs of my dirty code.      :)

Release another day.  The changed code is   a little more than expected

This was prerequisite to start working on canUpdate part for me. i am going to work off your current develop to implement it.

Looking forward to that feature  .  :yum:


Add Unit Tests for Router Resources

Leftover from #287.

Closing this as the resource module already has 100% coverage


Can't install from nuget due to Microsoft.Extensions.DependencyInjection.Abstractions dependency in net471

Hi There,
Is there any way to install dotless in net471.
I am getting below error.

Could not install package 'Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.7.1', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author

Same here - .NET Framework 4.0-4.7.2 should not reference this assembly because this in turn (via the dependency tree) tries to pull in .NET Standard 2.0 which you should not do in a .NET Framework project.
A "core" library's dependency injection features should be optional or abstracted away into another library - if I just want to call Less.Compile(...), I should be able to do that without installing extra dependencies.

same here. agree with csijake.
can anyone take a look?

@gjulivan Full Framework projects can reference netstandard2.0 projects - it is part of the point, and you shouldn't need to re-invent the wheel e.g. for dependency injection when there is a standard library out there to do so.
If you want minimal additional libraries, force the version of Microsoft.Extensions.DependencyInjection.Abstractions up to 6.0.0
using
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />

as that has an explicit set of dependencies for net461 which will only bring in what is necessary.


"exec $shell" won't reload your pyenv settings correctly most of time

Using exec $shell to reload shell is recommended in readme, however, it won't work most of time.
bash for example, "exec bash" will start a non-login shell, which only read information from .bashrc. you have to start a login shell to read information from .bash_profile by using exec bash -l.
suggest using source ._start_up_file to load pyenv settings in the readme.

PR welcome


Channel Permissions don't sync.

Hello, I have the bot setup to post new tickets in a category on the main server that doesn't allow people to  see it, but whenever the bot creates a new channel for a ticket it's open to everyone. Is it possible to set it up so that it doesn't?
It also says it has its permissions synced from the category, but that isn't true.

Are they able to see the channel as well as the message modmail says when this occurs? Channel creation can be weird on discord and sometimes channel names get leaked to the client.
Note that it is very much recommended to create a guild just for modmail operations, so that unforseen issues like this aren't as big of a deal.

Yes. They can see only the new ticket though, no old channels.
-------- Original message --------
From: Hunter<EMAIL_ADDRESS>Date: 2/2/18 8:59 AM (GMT+03:00)
To: Dragory/modmailbot<EMAIL_ADDRESS>Cc: OmarWazzan<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Dragory/modmailbot] Channel Permissions don't sync. (#49)
Are they able to see the channel as well as the message modmail says when this occurs? Channel creation can be weird on discord and sometimes channel names get leaked to the client.
Note that it is very much recommended to create a guild just for modmail operations, so that unforseen issues like this aren't as big of a deal.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Dragory/modmailbot/issues/49#issuecomment-362494577, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ASn2mb-nkXBH0k1vHLEiUq_a-la3WVVsks5tQqRXgaJpZM4RtWgS.

Can you try on the new version of the bot that was released today? I tried to replicate this issue on it, but all permissions seem to be inherited.

I tried to upgrade, and ran into the error. I started another thread.

@OmarWazzan were you able to get updated?  Did it resolve this issue?

Closing this issue for inactivity. Feel free to open a new issue if you still need help.


Feature: Refactor roi align rotated forward

Thanks for your contribution and we appreciate it a lot. :rocket::rocket:
1. Motivation
Please describe your motivation and the goal you want to achieve through this pull request.
2. Modification
Please briefly describe what modification is made in this pull request, and indicate where to make the modification.
Are new test cases added? If so, please post the corresponding generator-PR link here.
3. Test Report
If you want to know how to do operator testing, you can see GTest-User-Guide-zh.
3.1 Modification Details

4次gather，每次gather一个点 可以修改为一个gather 4个点，看看是否有性能优化

坐标计算部分向量化实现下

4次gather，每次gather一个点 可以修改为一次gather 4个点，看看是否有性能优化

对于数据量较小的情况性能提升明显，10 % ~ 20 %

LGTM


Support security attributes on Windows

These changes allow for setting security attributes of named pipes on Windows. The changes are quite significant, but they allow the Endpoint struct to be movable now but they also require changes in jsonrpc_ipc_server crate. A PR for those changes are up as well.
A bit of background why this is required - our use case of using this crate is to have two different processes which are ran at different privilege levels communicate with each other, the server end has to set the appropriate security attributes of the pipe, otherwise the client has to be ran with elevated privileges.

I've updated the code to add some safe wrapping for the security attributes.

Fantastic!
Give me some time to review, a lot of code added

So one thing we should in general avoid is forcing user to write platform-dependant code (like what we see atm in jsonrpc)

Ok there is still room for improvement, but we'll get there
Thanks!


Timeout error appears without even 10 seconds passing

I'm at commit: 78abe792f681c2ffd0b3cb813002feadba300a36
Renpy is latest stable (Ren'Py <IP_ADDRESS>61702)
I'm in linux.
When I activate the warp functionality (Alt+Shift+E) on a line of code, it opens Ren'py and successfully connects to the server running in vscode.
However, after connecting and while still connected, the:

Timed out trying to connect to Ren'Py window. Is the socket client running?

Appears.
The logs from the autorun.py script:
renpy warp script started
connected to renpy warp socket server

Any idea what is really happening here? How can it connect successfully but cause the timeout?

Could you provide both the logs from the output menu please? Enable debug logging as well

The logs with trace active.
The path to renpy is censored for privacy reasons.
2024-07-24 10:22:29.652 [info] launch_renpy: {"file":"/path/to/renpy/testingVN/game/scripts/script-main.rpy","line":53}
2024-07-24 10:22:29.655 [debug] game root: /path/to/renpy/testingVN
2024-07-24 10:22:29.655 [info] opening new ren'py window
2024-07-24 10:22:29.655 [debug] status bar state: {"starting_processes":1,"running_processes":0,"is_follow_cursor":false}
2024-07-24 10:22:29.656 [debug] raw sdk path: /path/to/renpy/
2024-07-24 10:22:29.763 [debug] check rpe: ["/path/to/renpy/testingVN/game/renpy_warp_1.8.1254_8258a2c5bf.rpe"]
2024-07-24 10:22:30.273 [info] uninstalled rpes: ["/path/to/renpy/testingVN/game/renpy_warp_1.8.1254_8258a2c5bf.rpe"]
2024-07-24 10:22:30.291 [info] wrote rpe to /path/to/renpy/testingVN/game/renpy_warp_1.8.1254_8258a2c5bf.rpe
2024-07-24 10:22:30.300 [info] socket server listening on :40112
2024-07-24 10:22:30.318 [info] executing subshell: WARP_ENABLED='1' WARP_WS_PORT='40112' RENPY_EDIT_PY='/path/to/renpy/launcher/Visual Studio Code (System).edit.py' /path/to/renpy/renpy.sh '/path/to/renpy/testingVN' --warp scripts/script.rpy:54
2024-07-24 10:22:30.320 [info] created process 1853
2024-07-24 10:22:30.320 [debug] status bar state: {"starting_processes":1,"running_processes":1,"is_follow_cursor":false}
2024-07-24 10:22:30.320 [info] waiting for process to connect to socket
2024-07-24 10:22:30.320 [info] waiting for socket connection from renpy window...
2024-07-24 10:22:30.323 [error] timed out waiting for socket
2024-07-24 10:22:30.323 [debug] status bar state: {"starting_processes":0,"running_processes":1,"is_follow_cursor":false}
2024-07-24 10:22:30.856 [debug] child pids for 1853: []

I'm struggling to reproduce this. What's strange to me is that it seems to time out almost immediately, to judge from the timestamp. It's supposed to wait for a while until throwing that error message but you get it very quickly.

I think I should add more debugging logs. Where can I add them to give more information? I can see where it writes the "timed out waiting for socket" and the message for the UI but I'm struggling a bit to spot the exact way everything interconnects.
Maybe the type of the exception can help? It seems like it never tries to get the type of the exception.

I would start to look in https://github.com/furudean/vscode-renpy-warp/blob/main/src/lib/socket.ts
I think I agree that the logs are a bit lacking here, especially after this promise resolves. It's possible the server shuts down or some error is thrown and we're simply not catching it after the fact. This can probably be done with additional event listeners.

socket.on('error') or something similar

Problem of lack of visibility is here:

This exception is never logged or recorded. It's just suppressed.
With that, the issue is explained. It's looking for the pid of dash in the ppid hierarchy but it's not there. It's not there because flatpak-spawn doesn't fork and exec, instead it sends a dbus message for a delegate program outside the sandbox to do that in its stead.
I believe the pid check is designed to make sure the correct window is connected to the correct editor and it is definitely a nice system to do that.
As a workaround, I ask for permission to change             additional_headers={"pid": str(os.getpid())}, so it gets the pid by default but allowed an env var to override it.
I think that would be the least intrusive way. Opinions?

I think it can be even simpler. Instead of using the pid, we could generate a random ID and pass it to the process via an environment variable. The new process can phone back home with this and say "I'm this process you started". This will avoid having to dig through process trees and the like. It will probably be a bit faster as well.

Yeah, sounds like a good possibility.
I'll try that locally and then do a PR. Another possibility could be messing with environment.txt but when I see how it's implemented... I'm not as interested. Your option with the NONCE is much better sounding.
I'll try that and then I can make a PR.

It's easy to pass environment variables the process, in fact, we already do it here
https://github.com/furudean/vscode-renpy-warp/blob/e57b592ec2f33e889fe3978c56fa7dc31e5c0e99/src/lib/launch.ts#L171-L177

Never mind, I got distracted with my own values for when I design these kinds of programs. It's just that I always want to make whatever I do interoperable as well as viable with other competing addons/extensions/mods, etc...
So you don't stay guessing, in this case, your extension ends up monopolize or require being the one starting renpy, otherwise, it won't run at all, even if just because the client doesn't know how to connect to the server. I have some ideas how it might be done otherwise but I'd need to test them first.
Back in topic, for the current architecture, it's just adding one entry in that add_env function call.

I don't dislike the idea about having the editor be able to "pick up" running processes once the RPE is installed, though it's a fair bit more technical and a pretty significant rewrite, so it sounds like a new issue.


Does the query item works well for all dimension size embeddings?

Hi , first of all a big thanks for Vectra 🥺!
Now context for the question is that , i tried vectra with general embeddings from openai embedding model like text-embedding-3-small and its dimension is 1536 and the result from the query are really good!!
Now i tried to switching to other embedding model with dimension 768, now this time results from the query weren't of good quality.
As i see , the queryItems uses cosine similarity. So does it affects the results🤔.
Or there's any better way to get better results from varying dimension embedding.

Thanks! There are a ton of alternatives to Vectra these days but it's still pretty good at what it does.
As for your question, it's likely going to depend on the quality of the embeddings used... The ability to specify the dimensions of your embeddings is a feature I recently added so I haven't used it a lot yet. I'm using it with nomic-embed-text-v1.5 via llama.cpp to get my embedding size down to 128 dimensions and the results seem ok from my testing. But my testing has been very adhoc...
Cosine similarity is the algorithm used to do the matching and is independent of the actual embeddings used. You're quality results are going to be driven largely by the embeddings model you use and the number of dimensions you ask for.  There's a feature I could add called re-ranking which would help improve the results across the board but it would involve adding a keyword index into the mix which both complicates things and somewhat goes against the spirit of Vectra (simple, lightning fast, and free.)


[core] Upgrade issues-helper to v2

[x] I have followed (at least) the PR section of the contributing guide.

Tested in https://github.com/mui-org/material-ui-x/pull/1962. It keeps working.


support time_weighted functions

PR checklist:

Did you run ClangFormat ?
Did you separate headers to a different section in existing community code base ?
Did you surround proton: starts/ends for new code in existing community code base ?

Please write user-readable short description of the changes:
close #866

New function
_time_weighted(x, timestamp) / _time_weighted(x, timestamp, end_time)
Current only support avg_time_weighted and median_time_weighted
Arguments

x — values to be calculated. [integer, float, decimal]
timestamp — time when each data is collected. [date, date32, datetime, datetime64]
end_time — time used to calculate final value [should be the same datatype as timestamp]
Can be omit, if is omitted than the last value won't be calculated.


Add upconv_7 model support

See: https://github.com/DeadSix27/waifu2x-converter-cpp/issues/24#issuecomment-327324009
For more information

Any progress on this? Like, for example, using HIP to convert compile CUDA of OpenCL?

Sadly no, not my expertise and so far no one contacted me on this, but I will update it once someone does show interest in adding support.

I have no idea what is the Spatial Full Convolution do .... I have no experience with CNN, so.. if someone give me hints, it will be help. (I try to learning CNN now, but it will take long time maybe)

I read many documents and i tried to implement deconvolution (transposed convolution) but it is too hard and I have no idea why it does not work.... someone may continue work with upconv branch...

I will implement upconv_7 using cv::dnn with caffemodel,
torch7 model is not working on cv::dnn

my upconv_7 implementation with caffemodel is no available on upconv_caffe branch.

replaced by #235


test(removecomponent.test): add RemoveComponentTests to improve test …

I picked up the issue-500.
This PR will improve RemoveComponent test coverage. Please let me know if you have any feedback.
Thank you

Codacy recommendation is to use toHaveLength() instead. But I found this is not the case. toHaveLength() looks for length property before comparing according to Jest documentation. It seems returning object from the function doesn't have length property. Please let me know if you have another recommendation. Thanks

I think I used the method in a wrong way. Now all checks pass. Please review my PR. Thank you!

@ad1992 I would appreciate if you could review my PR.

Thank you! It is my pleasure to contribute.


[PE-D][Tester D] The sequence diagram for the Dual-parser setup has a missing return arrow

Missing return arrow for LogicManager's activation bar. It's not strictly necessary, but I think it's better for the sake of consistency throughout the diagram.

Labels: type.DocumentationBug severity.Low
original: maertan/ped#13


Notary COSE profile support

We currently support SCITT's default profile which is specified in https://ietf-scitt.github.io/draft-birkholz-scitt-architecture/draft-birkholz-scitt-architecture.html#name-envelope-and-claim-format. While the spec currently doesn't account for supporting other COSE profiles it seems natural to do that, especially ones that are related to software supply chains.
This issue tracks adding support for Notary's COSE profile as specified in https://github.com/notaryproject/notaryproject/blob/main/specs/signature-envelope-cose.md.
Extending Notary's spec to align with efforts like https://github.com/thomas-fossati/draft-fossati-cose-profile are out of scope in this issue and will be tracked separately.

Done in #73


Add py.typed for mypy compatibility

Is your feature request related to a problem? Please describe.
Although the entire library is typed, when importing it into other projects as a third-party dependency mypy cannot analyse it because it needs the py.typed file adding (see PEP-561).
Describe the solution you'd like
Add an empty py.typed file in the top-level of the directory, as well as adding it to the package_data in setup.py as indicated in the PEP.
Describe alternatives you've considered
Alternative option would be to go through and add .pyi type stubs for each of the .py files, which would be entirely redundant when all the information is already in the .py files already.
EDIT:
In doing this, it would be lovely to use the @overload decorator (docs) to encode the different call signatures of functions. Although, this would be a bit more work, it would remove a lot of the errors that things like mypy raise when you're using e.g. the non-vectorised version of a function and the return type is a union of the vectorised and non-vectorised forms.

Hey @GEbb4, yeah I agree these are both good ideas. I hadn't realized that the py.typed filed was required before, and I was worried when I first saw this issue that it would require making stub files (as I greatly prefer the inline type annotations), so that looks easy to fix. I think I can add mypy checking to the github tests fairly quickly as another enabling component to this, I assume there are many errors will be hard/annoying to fix but I can take my time at fixing them.

well, talk about a quick turn around but I think there maybe some fundamental issues with how spiceypy is implemented that will make it very difficult to pass mypy checks. Firstly, there appear to be some missing bits around ctypes and mypy that can't be fixed but more critically the way I have written each wrapper function to override the function parameters when casting them to ctypes fails the "Incompatible types in assignment" check. Mypy treats parameters as static types. Fixing this would require refactoring each wrapper function to not override the parameters by creating new variables with new names. This would be really time consuming without an automated approach and I think it would be non trivial to implement.
I still think that this is possible to do, but I think this will need to remain "on the back-burner" as a non critical feature addition. Additional help to resolve these issues would speed this along.


Simplify parcel merge routine call

Remove subroutine input argument. We do not need to pass the parcel container.

Indeed. The way we call merging is now similar to splitting. Cleaner.


Update index.md

Add details about $ionicConfigProvider.views.forwardCache(true); since it's not apparent on this page that this is available.

thanks


[FEATURE] Docker/Container Support for Deployment without an AWS account (e.g., Azure)

Describe the feature
Currently, Threat Composer is designed to run within AWS environments. This limitation restricts its usability for teams and organizations that operate in multi-cloud environments or primarily use services outside of AWS, such as Azure.
Use Case
The adoption of containerized applications is growing, and providing a Docker version of Threat Composer could significantly increase its accessibility and utility. A containerized approach would also align with modern DevOps practices, making it easier for development and operations teams to integrate Threat Composer into their CI/CD pipelines.
Proposed Solution
A Docker container version of Threat Composer. This containerized version would allow users to deploy Threat Composer in various environments, including Azure App Service, without significant modifications. It would greatly enhance the flexibility and adaptability of Threat Composer for diverse IT ecosystems.
Other Information
No response
Acknowledgements

[ ] I may be able to implement this feature request
[ ] This feature might incur a breaking change

@greckko Thanks for raising the feature request. We have added it into our backlog and are researching together with a previous PR #49


Exposed API Key

https://github.com/UW-Madison-Lee-Lab/LanguageInterfacedFineTuning/blob/afed08d7544540e94249de33b844b1cf2bd2d22e/regression/realdata/run_real.py#L13
Howdy,
Do not expose your API key in your source code.
Instead, consider storing it an environment variable, or using a key management service, or even software such as Vault.
Then be sure to rotate your API key after it is safely stored, or else it may still be recoverable in your commit history.
Also, see Openai's best practices page for api keys for more details:
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety

Dear Nahatx,
Thank you so much for bringing this to our attention. We have removed all OpenAI keys from our code and replaced them with placeholders instructing users to insert their own keys. Rest assured, all previous keys have been invalidated and are no longer in use.
We appreciate your vigilance and your guidance on best practices. We'll certainly bear these in mind moving forward.
Best regards,
Yuchen Zeng on behalf of all authors


Delay Preprocessor execution

we are avoiding unintended keycloak roles to be created during create/update actions. hence a precheck to verify user roles is done.


Does it support mobile web ?

As I tested on android mobile web, touch doesn't work, but may I ask does it completely full support for mobile web ?

Touch doesn't work at all, no matter the browser you are using (see issue https://github.com/aochagavia/rocket_wasm/issues/8). Feel free to open a PR, though!


NO-JIRA: test/e2e: reduce logging on guest cluster infra cleanup

Failure to cleanup guest cluster infra results in a text wall like this printed 300 times
    fixture.go:146: WARNING: found 3 remaining resources for guest cluster
    fixture.go:153: Resource: arn:aws:s3:::example-d8np5-image-registry-us-east-1-ygkekqlmmunhddndvtxvegr, tags: kubernetes.io/cluster/example-d8np5=owned,Name=example-d8np5-image-registry,expirationDate=2024-06-18T16:18+00:00, service: s3
    fixture.go:153: Resource: arn:aws:ec2:us-east-1:820196288204:volume/vol-07c291ad3babf77de, tags: kubernetes.io/cluster/example-d8np5=owned,expirationDate=2024-06-18T16:18+00:00, service: ec2
    fixture.go:153: Resource: arn:aws:ec2:us-east-1:820196288204:volume/vol-08ab1327876ed5fa9, tags: kubernetes.io/cluster/example-d8np5=owned,expirationDate=2024-06-18T16:18+00:00, service: ec2

This only outputs logging once for resources that could not be cleaned at the end after the timeout has been reached (failure case).

/lgtm

/retest-required

    util.go:1491: Waiting for guest client to become available
    util.go:138: Waiting for hostedcluster kubeconfig to be published. Namespace: e2e-clusters-hz2dt, name: example-btscd
    util.go:174:
        couldn't get kubeconfig
        Unexpected error:
            <*fmt.wrapError | 0xc001439960>:
            kubeconfig didn't become available: context deadline exceeded
            {
                msg: "kubeconfig didn't become available: context deadline exceeded",
                err: <context.deadlineExceededError>{},
            }

/retest
/hold canecl

/hold cancel

/retitle HOSTEDCP-1777: test/e2e: reduce logging on guest cluster infra cleanup

/jira refresh


feat: Sound Browser dialog

Closes #25
Currently, filter uses a standard QLineEdit because I am not entirely sure what to use for that.

New image after allowing the dialog to be resized. I ended up moving the preview sounds button as it was just easier to move it than try and fix it's resizing.


Rename settings object

Quick update to PR, resolving some comments

I think you can just go ahead and merge this if you feel so inclined!

@moradology thanks, I've been totally pinned with project work for weeks. Much appreciated


Revert "k8s: Updated LastUpdated after waiting for endpoint status"

This reverts commit 8f0383c5d893f81d011291406406de3024620eb0.
Fixes: 8f0383c5d893 ("k8s: Updated LastUpdated after waiting for endpoint status")
Signed-off-by: André Martins<EMAIL_ADDRESS>

This change is

test-me-please