Reasonable defaults for env

Correct me if this is the case already, but env configuration should be something only needed if we're indeed customizing. As it stands, disabling type checking in production or any other common uses along those lines should be default.
Libraries like React do this automatically and I believe Sanctuary should too.
Again, apologies if it does this already, in which case the documentation is unclear.

Are you suggesting that require ('sanctuary') should produce a Sanctuary module which does not perform type checking?

It should figure out whether is running in production and disable it, unless explicitly opted-in by the user creating its own env. React, Webpack and others has such sane defaults.

I'd rather have type checking on by default and have a production build of sanctuary-def with the type checking code removed (to save file size).

It should figure out whether is running in production and disable it, unless explicitly opted-in by the user creating its own env. React, Webpack and others has such sane defaults.

I don't consider that to be a default, since the value is context-dependent. I consider that to be magic. ;)
I remain happy with our response to sanctuary-js/sanctuary-def#6. I'm open to changing the default value of the checkTypes option from true to false, if there are compelling reasons to do so.

You might not realize these as authors, contributors or people who had been using this for a while, but I ought to say the barrier of entry to this library is really high, and not because of FP but because these kind of decisions and obvious omissions.
In the JS ecosystem (and others, but can't speak for all let's keep it simple) I would expect a library, any library, to give me extra warnings on development, and remove those if I'm running on production by default. NODE_ENV exists for a reason, what's really the argument against using that? A shared var? It's meant to be, babel uses it, your app uses it, webpack uses it.
Does it couple it to the browser, no it doesn't, most people are bundling and you can safe-check on process. I'm not really getting it.

It's how Webpack works, React, flow-runtime even, the latter is essentially type checking BTW.
Am I really tripping here? I don't see the magic. Type check on on development by .default, off on production by default. Or provide an entry with it disabled I can at least alias.
I've enough stuff to configure and I'm sure you do as well, reason (not ml) please. 😂

the barrier of entry to this library is really high

Once one reaches the point of needing S.create, one may be required to learn about sanctuary-def Type values. This could feel overwhelming. @Avaq has given considerable thought to how to make the set-up smoother. We would love to reduce friction in ways which do not compromise our values.
People trying Sanctuary for the first time should not hit the S.create barrier. I consider this a pleasant introduction to a library:
$ npm install sanctuary
$ node
> const S = require ('sanctuary')
undefined
> S.toUpper
toUpper :: String -> String
> S.toUpper ('foo')
'FOO'

NODE_ENV exists for a reason, what's really the argument against using that? A shared var?

Tying the behaviour of unrelated functionality to a shared environment variable is problematic, in my experience. Perhaps I want to test against the staging database so I update NODE_ENV, only to realize that log messages are now being sent to Papertrail rather than to my terminal. Flexibility is valuable.
If you would like Sanctuary's behaviour to depend on NODE_ENV, you could write a tiny wrapper to achieve this. When I worked at Plaid, we had a private plaid-sanctuary module similar to this:
var S = require('sanctuary');

module.exports = S.create({checkTypes: process.env.NODE_ENV !== 'production', env: S.env});

People trying Sanctuary for the first time should not hit the S.create barrier.

No, instead they'll hit the "my performance has been degraded by a factor of at least 2x" barrier.
Which, you'll have to agree is more intrusive to my app than the library assuming I use NODE_ENV as the rest of the JavaScript ecosystem does.

If you would like Sanctuary's behaviour to depend on NODE_ENV, you could write a tiny wrapper to achieve this.

The fact that people have to do this is what I've been trying to say it's plainly wrong.

@Avaq has given considerable thought to how to make the set-up smoother

That has always been in the face of your opinion about NODE_ENV, @davidchambers ;) I have to side with @blackxored on this one. I think using NODE_ENV in the definition of one of your default configuration vars is reasonable.

People trying Sanctuary for the first time should not hit the S.create barrier.

They will not, if we default the type checking to process.env.NODE_ENV !== 'production'. Assuming of course they are not playing with sanctuary in an environment they have explicitly set to "production".

Perhaps I want to test against the staging database so I update NODE_ENV, only to realize that log messages are now being sent to Papertrail rather than to my terminal.

There are two observations which invalidate part of this argument.

Whether type checking is enabled or disabled should not alter the behaviour of our code (unlike Papertrail usage).
I think it's the minority of users who would want to separate type checking behaviour from the NODE_ENV value. Those users are free to override the default NODE_ENV !== 'production'. I imagine you are already doing so in your own code anyway, because the current default value (true) is just as unwieldy to those users.

we had a private plaid-sanctuary module similar to this

Don't we all?

Well argued, folks. You have changed my mind. Have a look at #512 when you get a chance. :)

The default Sanctuary module now performs no type checking if process.env.NODE_ENV === 'production'.


Update to Confluence 6.13.4

Build tests out perfectly.
This completes issue #67.

Also worth noting is that I only updated to the latest in the 6.13 branch (which is the "Enterprise" branch).


Remove package configuration from the install script

The install script does package configuration which is not necessary any more.

cc @tamarrow

We're going to push to s3 on releases: one url for cli that takes to cosmos, and one for legacy dcos without cosmos


making-the-grades: what does task 3 teach over task 1?

To me it looks like task 3 is just a variation of task 1 (as in: the student doesn't really learn anything new. If this is true, consider removing one of the two tasks.

The same goes for task 5 BTW.

I think you are right. Let's scrap those and hope the lessons stick with only one iteration of "how to access elements". That will slim down the whole thing and make it more digestible.


Clean up and finish up minishell together!!!!!

copy everything over to src, and remove comments.
document all the functions
go through all the code, remove what isn't being used.
push and evaluate!! we should be so proud of ourselves, best minishell <333333

pushed to 42repo! fingers crossed!🤞


Play 2.8.3 release

The play-java-websocket sample is broken. The issue is on the production code (not on the test or the websocket client).


No NTT required in Matrix-multiplication in SEAL-demo?

Hi there,
I read the SEAL-demo about Matrix Multiplication. It seems that if we use batched encoder, then we can get matrix multiplication result  just by slot-wise multiplication, rotation, and slot-wise addition. In this way, the polynomials multiplication is not required. If so, NTT is also required. Is my understanding right?
Could I make sure that we don't need polynomial multiplication and NTT for the Matrix Multiplication?
Any response would be appreciated. Thanks in advance.

@qianlou In HE schemes that implemented in SEAL, the ciphertext is a pair of polynomial. For this reason, homomorphic multiplication and rotation include operations between polynomials. And those operations require the NTT process for efficient computation.
If you are talking about homomorphic NTT which is used in the "bootstrapping" process, it is not required in homomorphic matrix multiplication.

Thanks for your reply. But I am still confused about how to implement the matrix multiplication Seal-demo as follows, my question is how to implement the element-wise multiplication between ciphertext matrixa and ciphertext matrixb which both include a pair of polynomials?
Matrix Multiplication demo
The following describes how matrix multiplication is implemented in this demo. We use the technique described by Halevi and Shoup in Algorithms for HElib (2014). We note that there are multiple ways of
performing matrix multiplication, with different trade-offs and different complexities. The technique we use here is suitable for this application, but may not be generalizable to other problems.
The basic principle that we use is that for a matrix-vector product such as
[ a b c ] [ A ]
[ d e f ] [ B ]
[ g h i ] [ C ]

we form “generalized diagonals” of the matrix and write them as rows of a new matrix
cyclicDiagsMatrix = [ a e i ]
                    [ b f g ]
                    [ c d h ]

We encrypt the rows of cyclicDiagsMatrix into separate ciphertexts and send them to the server as matrixa.
We also encrypt the column vector as a single ciphertext (A, B, C go in the BatchEncoder slots); this is sent as matrixb.
On the server, we compute element-wise products of the row ciphertexts of matrixa with rotations of matrixb:
[ a e i ] * [ A B C ] = [ aA eB iC ]
[ b f g ] * [ B C A ] = [ bB fC gA ]
[ c d h ] * [ C A B ] = [ cC dA hB ]

Finally we sum these together:
[ aA eB iC ] + [ bB fC gA ] + [ cC dA hB ] = [ aA+bB+cC eB+fC+dA iC+gA+hB ]

The result is now in one single ciphertext in the BatchEncoder slots. We send this back as the result; indeed, it
contains the result of the matrix-vector product.

how to implement the element-wise multiplication between ciphertext matrixa and ciphertext matrixb which both include a pair of polynomials?
You don't need to implement that. Microsoft SEAL's API for ciphertext multiplication performs element-wise multiplication on the underlying vectors.

We encrypt the rows of cyclicDiagsMatrix into separate ciphertexts
This encryption transforms each vector (a human-readable message) into two polynomials (a gibberish-looking ciphertext).

[ a e i ] * [ A B C ] = [ aA eB iC ]
Encrypt [a e i 0 0 ... 0] into a ciphertext C_in_0 and [A B C 0 0 ... 0] into a ciphertext C_in_1. Calling SEAL API evaluator.multiply(C_in_0, C_in_1, C_out) computes the element-wise multiplication on vectors. The decryption of C_out should be [ aA eB iC  0 0 ... 0].

You may want to check SEAL/native/examples to get a better understanding of programming with SEAL. And make sure that you read code comments along with running examples.

@WeiDaiWD Thanks very much for your reply. Your answers help me a lot. Could I ask if my following understanding is right or not? For BFV, if the scalar encoder is used, then one slot of ciphertext is used to encrypt one integer, and the remaining (N-1) slots will be occupied by noise, where N is the polynomial degree. Then we can perform multiply() or add() on this ciphertext; if the batching encoder is used, then multiple slots of ciphertext are used to encrypt many integers ( a vector), respectively.  Then when we still perform multiply() or add() function based on batching encoder, the slot-wise addition for add(), and slot-wise multiplication for multiply() will be performed in the underlying? But it seems right for add(), but not right for multiply(). According to my observation, polynomials multiplication between ciphertexts is performed, not the coefficients-wise (slot-wise) multiplication. This makes me confusing why the ciphertexts are performed polynomials multiplication but the underlying is actually running element-wise (slot-wise) multiplications for plaintext vector? I guess the reason why I don't understand is that I don't know the CRT-based batching algorithm. Is it like a reverse process of RNS or DFT? Could you give me suggestions on how to study it so that I can approach this solution?

We encrypt the rows of cyclicDiagsMatrix into separate ciphertexts

The motivation of encrypting the rows of cyclicDiagsMatrix instead of the regular rows is to reduce the number of rotation and is not to reduce the number of multiplication. Is my understanding right?

For BFV, if the scalar encoder is used, then one slot of ciphertext is used to encrypt one integer, and the remaining (N-1) slots will be occupied by noise, where N is the polynomial degree.

In the current SEAL there is no object/method called "scalar encoder". In SEAL manual v2.3.1, "scalar encoder" simply means no encoding, then there is no concept of "slots", there is only 1 message slot, where the message can be an (N-1)-degree polynomial whose coefficients are integers modulo the plaintext modulus. When this polynomial message has degree 0, i.e., only has a constant term, it is what you called "scalar encoder". When you multiply such a ciphertext with another using batch encoder, you get scalar multiplication of a vector and an integer. But this method is not recommended.
A better solution: to achieve the scalar multiplication of (a_0, a_1, ..., a_{n-1}) and b, you may use batch encoder to create a vector (b, b, ..., b).
Also not recommended: integer encoder or fractional encoder.

This makes me confusing why the ciphertexts are performed polynomials multiplication but the underlying is actually running element-wise (slot-wise) multiplications for plaintext vector? I guess the reason why I don't understand is that I don't know the CRT-based batching algorithm. Is it like a reverse process of RNS or DFT? Could you give me suggestions on how to study it so that I can approach this solution?

The rest of your statement regards how coefficient-wise operations on vectors are preserved by polynomial operations. A vector of integers modulo the plaintext modulus is the message. After batch encoding, we get an (N-1) degree polynomial whose coefficients are integers modulo the plaintext modulus, which is a plaintext. Batch encoder utilizes an automorphism between the message and the plaintext space to preserve arithmetic operations. The plaintext is then encrypted to a ciphertext which is an (N-1) degree polynomial whose coefficients are integers modulo the ciphertext modulus. This is achieved by constructing an homomorphism between the plaintext and ciphertext spaces. These morphisms are transitive, which means that operations on one of the three spaces are transitive to the other two spaces. Rotation of slots, for example, is done by utilizing an automorphism on the ciphertext space, which is transitive to the plaintext and message (vector) space. SEAL manual v2.3.1 is out-dated but still captures a good explanation of encoding algorithms, see "7.4 CRT Batching".
RNS (CRT for integers) and DFT should not be involved in this discussion, since they are purely introduced to accelerate some operations. CRT can be applied on any algebraic structure, like polynomials, and creates an isomorphism for batch encoder. I won't confuse you with CKKS encoder for now, which actually uses DFT instead of CRT to construct encoding.

The motivation of encrypting the rows of cyclicDiagsMatrix instead of the regular rows is to reduce the number of rotation and is not to reduce the number of multiplication. Is my understanding right?

Yes, you are right.

I have a similar question after reading the code. I wonder why there is inverse_ntt_negacyclic_harvey() operation at the end of BatchEncoder::encode()? Could you please explain the rationale?


Wrong .net core version reference

at [.NET Core 3.1 runtime](https://dotnet.microsoft.com/download/dotnet) it should reference to .NET Core 6.x because that's the version Azure Functions expects currently for debugging. If you only install .Net Core 3.1 it will not work.

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

ID: 609d607f-c87d-ab47-6e57-45ffd493f19c
Version Independent ID: 28ed3b0d-68e9-0e75-de06-fc3e73acbf4c
Content: Create a PowerShell function using Visual Studio Code - Azure Functions
Content Source: articles/azure-functions/create-first-function-vs-code-powershell.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

Thank you for your feedback! We will review and update as appropriate.

Hello @erwinkramer  - Thanks for sharing this feedback and helping us drive improvements toward the MS Docs! I've proposed a PR that updates the runtime version guidance to .NET v7 instead, which is consistent with: https://github.com/Azure/azure-functions-powershell-worker#prereqs

We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


ETIMEDOUT <IP_ADDRESS>:443 at TCPConnectWrap.afterConnect

Issue Summary
A summary of the issue and the environment in which it occurs. If suitable, include the steps required to reproduce the bug. Please feel free to include screenshots, screencasts, code examples.
I have been getting time out errors on occasion on my production server. I cannot reproduce the same issue all the time.

{ Error: connect ETIMEDOUT <IP_ADDRESS>:443 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1104:14) errno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect',
address: '<IP_ADDRESS>', port: 443 } [bugsnag] Reported an unhandled rejection… Error: Error: connect ETIMEDOUT <IP_ADDRESS>:443 at SendGrid.send.then.catch.e (/home/leoqiu/foodnome-api/build/src/utils/emailHelpers.js:143:11)

Steps to Reproduce
Here is the code I am using on the node server. It works as usual during development and staging. The ufw rules are the same.
export const sendVerifyMail = (to: string, token: string) =>
  SendGrid.send({
    to,
    from: { email: '..' },
    subject: 'Verify you..',
    dynamic_template_data: {
      header: 'Verify your account',
      text:
        'Please use the button below to continue the process.',
      c2a_link: `${serverAddress}/api/user-account/verify?token=${token}`,
      c2a_button: 'Verify'
    },
    template_id: 'd-0f6411434fbc4896bf389e3945affd5d'
  } as any)
    .then(d => d)
    .catch(e => {
      console.log(e);
      throw new Error(e);
    });

Technical details:

sendgrid-nodejs Version: master (latest commit: [commit number])
Node.js Version: 10

how did you solved this?

I have the same issue in production and it happens from time to time.


Problems booting up local MXD

Hello,
In the past, we successfully deployed the MXD locally for testing purposes according to the instructions.
However, when we tried again today we encountered problems with being able to start the MXD, the error occurs at the terraform apply cmd within step 2.

/cc: @MoritzDieckmann

Hi @tmberthold
thanks for raising this, from a quick look it seems that the MXD by default tracks the latest tractusx-edc images, which means it uses the latest published from the main branch after a successful build.
This means that the latest images available are the one with the upgrade to EDC 0.4.1 which removes the /v2 endpoints and make the seed job fails, since it still relies on that APIs.
We should probably pin a specific version in MXD.
In the meantime you can change the used version in the file mxd/modules/connector/values.yaml
Thanks

I faced similar issues and as I knew this was working before I took some time and debugged the issue with git bisect.
Even though a solution is already provided, if you want to have it working from the git command line, the last good revision I could identify was fa91ff17223db89c0da08ac036a26e2640d5ace5.
git bisect result:
56c8bac3a8552027a2acd72819e180d05bcc0dfb is the first bad commit
commit 56c8bac3a8552027a2acd72819e180d05bcc0dfb
Author: Paul Latzelsperger<EMAIL_ADDRESS>Date:   Wed Aug 9 14:00:13 2023 +0200

    automatically seed via a K8S Job

 mxd/modules/connector/ingress.tf     |   4 +-
 mxd/modules/connector/nodeport.tf    |  19 ++
 mxd/modules/connector/outputs.tf     |  10 +
 mxd/outputs.tf                       |  16 +-
 mxd/postman/mxd-management-apis.json | 321 +++++++++++---------------------
 mxd/postman/mxd-seed.json            | 349 +++++++++++++++++++++++++++++++++++
 mxd/seed_data.tf                     |  75 ++++++++
 7 files changed, 572 insertions(+), 222 deletions(-)
 create mode 100644 mxd/modules/connector/nodeport.tf
 create mode 100644 mxd/postman/mxd-seed.json
 create mode 100644 mxd/seed_data.tf

As @wolf4ood suggested, short term fix is to use controlplane.image.tag = 0.5.1 and dataplane.image.tag =0.5.1.
We have raised an isssue #153 and soon we will be migrating to /v3/assets.

As @wolf4ood suggested, short term fix is to use controlplane.image.tag = 0.5.1 and dataplane.image.tag =0.5.1 in mxd/modules/connector/values.yaml. We have raised an isssue #153 and soon we will be migrating to /v3/assets.

Thank you very much. Will try to use the version 0.5.1

Hi,
just was testing changing the two entries controlplane.image.tag = 0.5.1 and dataplane.image.tag =0.5.1 in mxd/modules/connector/values.yaml. but now I am facing new issues,
module.bob-connector.helm_release.connector: Creating...
module.alice-connector.helm_release.connector: Creating...
│ Error: ---> error converting YAML to JSON: yaml: line 37: did not find expected key #
│ #  Copyright (c) 2023 Contributors to the Eclipse Foundation
│ #
│ #  See the NOTICE file(s) distributed with this work for additional
│ #  information regarding copyright ownership.
│ #
│ #  This program and the accompanying materials are made available under the
│ #  terms of the Apache License, Version 2.0 which is available at
│ #  https://www.apache.org/licenses/LICENSE-2.0
│ #
│ #  Unless required by applicable law or agreed to in writing, software
│ #  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
│ #  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
│ #  License for the specific language governing permissions and limitations
│ #  under the License.
│ #
│ #  SPDX-License-Identifier: Apache-2.0
│ #
│ ---
│
│ ################################
│ # EDC ControlPlane + DataPlane #
│ ################################
│ participant:
│   id: "test-participant"
│ controlplane:
│   debug:
│     enabled: true
│     port: 1044
│   service:
│     type: NodePort
│   endpoints:
│     management:
│       authKey: password
│   image:
│     pullPolicy: Never
│       #    tag: "latest"

I will recheck my entries and continue testing ..

Issues is solved, the correct entry is:
               controlplane:
                  debug:
                    enabled: true
                    port: 1044
                  service:
                    type: NodePort
                  endpoints:
                    management:
                      authKey: password
                  image:
                    pullPolicy: Never
                    tag: "0.5.1"
                      #    tag: "latest"
.
.
.

              dataplane:
                  debug:
                    enabled: true
                    port: 1044
                  image:
                    pullPolicy: Never
                    tag: "0.5.1"
                      #tag: "latest"

I propose to generaly configure the MXD using the latest released version instead of latest version.
Thank you
Johannes


Publish docker image

Hi!
Can you publish the docker image on dockerhub?

It's now up here: https://hub.docker.com/r/kellybrazil/jc-restapi


Implement ConvertMetrics for prometheus-client crate as feature

This issue is about implementation of support for prometheus-client crate (the official prometheus client) and add it as a feature like the support feature for prometheus crate.

Closed by #8


Documentation on how to use it

Need some documentation on

where to add custom metric logic
how to use it this custom api server
how to deploy this api sever to the kubernetes cluster and how to aggregate it with k8s api server

A start to finish example of a typical install would be very welcome.  At the moment I'm left bewildered as to how to get going with custom metrics.

A start to finish example of a typical install would be very welcome. At the moment I'm left bewildered as to how to get going with custom metrics.

If you're not a developer, this repository isn't for you -- you'll want to check out one of the implementation repositories, listed here: https://github.com/kubernetes/metrics/blob/master/IMPLEMENTATIONS.md#custom-metrics-api
If you are a developer looking to get started deploying custom metrics against your own metrics solution, check out https://github.com/directxman12/k8s-prometheus-adapter as an example implementation, with a start-to-end walkthrough for deploying as well.

Something interesting here https://github.com/stevemcquaid/custom-metrics-apiserver/tree/dev
cc @stevemcquaid
Maybe we can join efforts on this.

@diegows I'd be willing to help here. That repo is a rough effort at exactly the same goal. Bare bones example custom metrics api server.

If you're willing to write up a tutorial on how to develop using this library, I'd be happy to merge it.

Hi,
Thanks for creating this repository.
I tried using it but ran into similar issues as mentioned earlier in this thread.
So I built an aggregated API server that supports a custom subresource using sample-apiserver as the base. Hopefully it will help anyone looking for a simple example of building an aggregated API server with custom subresources.
It is here:
https://github.com/cloud-ark/kubeprovenance
And here is our blog post explaining various approaches that we tried when building this server:
https://medium.com/@cloudark/our-journey-in-building-a-kubernetes-aggregated-api-server-29a4f9c1de22

@devdattakulkarni this repo is mostly intended for use with custom metrics.  It sounds like you'd like to make use of some of the custom API setup that we do, but not in the way that we use it.  You're welcome to use this as an example, but it doesn't sound like this library is the right fit for what you're trying to do.

@DirectXMan12 You are right -- we are not looking to build custom-metrics api.
This repo helped us though in understanding how things fit together. Thanks for creating it!


Bump version to 0.0.29

Sorry @fishbotics, I forgot to bump the version number in the latest PR so that we can do a release.

(I just need do bother you the merge, for actually doing the release I should have the right permissions).

@fishbotics friendly ping : )


Feature request: Limit amount of commands a user can use per [x] minutes

Is your feature request related to a problem? Please describe.
Currently a user can spam as many commands as they want which may cause the bot to be slower for other users.
Describe the solution you'd like
Throttle the amount of commands a user can request within a certain amount of time.
One idea suggested by @EggyRepublic was to store the commands each user's requests inside a queue or similar data structure. A queue is first-in, first-out so the oldest requested command will be processed first, and the most recent will be at the bottom of the queue. We can then have a dictionary of these queues so that we can differentiate them for each user.
Feel free to comment other suggestions!

A possible solution would be to add the following decorator to all commands:
cooldown(1, t, type=discord.ext.commands.BucketType.user)

where t is the the minimum # of seconds between command uses. If one tries to use the command again before t seconds have passed, a CommandOnCooldown exception will be raised. t should be changed as needed for a particular command; it may need to be longer for more intensive commands such as those involving web scraping.


Day381

Resolves #768.

Pull Request Test Coverage Report for Build 1469

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

Totals

Change from base Build 1459:
0.0%

Covered Lines:
5

Relevant Lines:
5

💛  - Coveralls


Sign up feature for users to create an account and register

Sign up feature for users to create an account and register instead of using default details like
email<EMAIL_ADDRESS>password: guestpass

Hi,
Is this issue still open?


Move imports in darksky component

Breaking Change:

Description:
Moved imports from functions to top-level as requested in #27284
Related issue (if applicable): #27284
Pull request with documentation for home-assistant.io (if applicable): n/a
Example entry for configuration.yaml (if applicable): n/a
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Duplicate of #27504

Ops, didn't see that there was already an open PR for this.
Well, this one comes with working unit tests :)


Bump vendor (norman)

@maxkorp does the update correlate to any open github ticket? or is it more like architectural changes. Let me know if it's safe to merge, or you are doing testing. Asking as I need to get types commit to rancher, that is on top of this refactoring commit :) so this pr has to be merged first


Change filtering to treat base Contents directory the same as its subdirectories

In working through a number of issues trying to get electron-builder to sign/notarize my application (which is packaged as a DMG installer), I ran into issues with text files in the Contents directory.  I was hopeful when I found the -ignore option (surfaced in electron-builder as signIgnore).  Unfortunately, what I found was:

Files in the root MyApp.app/Contents directory cannot be filtered (i.e., the ignore() function is never called for them).
Files in the subdirectories of MyApp.app/Contents are already being filtered (e.g., the ignore() function is never called for  MyApp.app/Contents/tools/weblogic-deploy/LICENSE.txt but code signing is skipping the file automatically).

I don't understand the the rationale for this seemingly inconsistent behavior.  You can see more details at https://github.com/electron-userland/electron-builder/issues/6085.

Zsign technical support:
Apple signature tool iPA supporting ios15 and ios16
Support the removal of dylib dynamic library
Support Windows Mobile mac
It can help solve the problems that IOS cannot be installed and verified
https://urlzs.com/44zCx

any update on this?


Api 2.0 update

@etrain @shivaram
issue #167

The API link in _layouts/default.html needs to change, but otherwise this looks good. Thanks @tomerk!

Okay @etrain how's it look now?


(PDB-908) Improve debugging info of in-process launched PDB

This patch dynamically creates a temp logback and temp log file that an
in-process launched PuppetDB instances uses. Previously when an error
occurred in that Jetty instance, it was difficult to determine the
problem. Sometimes errors were lost, others were difficult to sort
through since it wrote to the same System.err that the test thread was
running in. This patch writes all in-process PuppetDB log information to
an actually file, which is scraped and dumped into the test thread's
console, make it much easier to diagnose errors

One easy way to test this out (and pretty typical of problems that would really hang me up when creating integration tests) is to go to this (line)[https://github.com/puppetlabs/puppetdb/blob/master/test/puppetlabs/puppetdb/cli/import_export_roundtrip_test.clj#L104] and do something like dissoc :name (a required catalog field). The test will fail (block-on-node will say it didn't find anything) but you should also see a dump of the PuppetDB log from the in-process launched Jetty thread.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/496/

In the commmit message, perhaps s/actually/actual/.

@rbrw I think you've got some good feedback here, but I can't figure out which line(s) of code the comments are associated with. I think you clicked on "Commits" and added them there, rather than the "Files changed".

OK, hopefully that puts the comments in the right places.

@rbrw Good catch on the squashed docstring. It was a messy merge, must of missed that one. I made the switch from System/out to System/err. I think the end result will be the same, as it's intended for a REPL/console invocation usage (which should have both streams going to the same place). After I switched it, I check CIDER (still goes to the REPL window) and I checked the command line invocation and it looks good there too.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/535/

@pljenkinsro retest this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/536/

+100 this is awesome


generics and inheritance issue

(tested with SDK-1.12.0 on analyzer and dart2js)
I expected the following code gives some warnings/hints about incompatibility of methods but there is no issue from the analyzer:
class A<T> {
  m1(Object o) => null;
  T m2() => null;
}
class B<T> implements A<T> {
  m1(T o) => null;
  Object m2() => "";
}

I think B does not implement A.m1 and A.m2. This is even clearer with the following code that has no warning but fails at runtime with the given error put in comments:
main() {
  final b = new B<int>();
  final a = b as A<int>;

  // runtime error: type 'String' is not a subtype of type 'int' of 'o'.
  a.m1("string");

  // runtime error: type 'String' is not a subtype of type 'int' of 'o'
  int o = a.m2();
  print(o);
}

FWIW in Java an equivalent code produces errors at compile time:
interface A<T> {
    void m1(Object o);
    T m2();
}
class B<T> implements A<T> { // The return type is incompatible with A<T>.m2()
    void m1(T o){}; // The method m1(T) of type B<T> has the same erasure as m1(Object) of type A<T> but does not override it
    Object m2(){return null;}  // The return type is incompatible with A<T>.m2()
}

In strong mode this invalid override is a compile-time error.


WAL-408

Codecov Report

Merging #91 (d28cb7b) into develop (ba38097) will increase coverage by 2.00%.
The diff coverage is 46.40%.

:exclamation: Current head d28cb7b differs from pull request most recent head c219dfd. Consider uploading reports for the commit c219dfd to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##           develop      #91      +/-   ##
===========================================
+ Coverage    45.89%   47.89%   +2.00%
===========================================
  Files           65       68       +3
  Lines         2412     2662     +250
  Branches       539      602      +63
===========================================
+ Hits          1107     1275     +168
- Misses        1305     1387      +82

Impacted Files
Coverage Δ

...ckages/contact-manager/src/agent/ContactManager.ts
0.00% <0.00%> (ø)

...re/src/migrations/internal-migrations-ormconfig.ts
0.00% <0.00%> (ø)

packages/did-utils/src/didFunctions.ts
0.00% <0.00%> (ø)

packages/did-utils/src/x509-utils.ts
0.00% <0.00%> (ø)

...onic-seed-manager/src/agent/MnemonicSeedManager.ts
90.78% <ø> (ø)

packages/ssi-sdk-core/src/utils/database.ts
0.00% <0.00%> (ø)

...kages/vc-handler-ld-local/src/ld-context-loader.ts
100.00% <ø> (ø)

...andler-ld-local/src/suites/JsonWebSignature2020.ts
10.71% <0.00%> (ø)

...igrations/postgres/1659463079428-CreateContacts.ts
3.12% <3.12%> (ø)

...uth-siop-op-authenticator/src/session/OpSession.ts
6.31% <5.43%> (+1.00%)
:arrow_up:

... and 27 more

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Codecov Report

Merging #91 (d171890) into develop (ba38097) will increase coverage by 2.00%.
The diff coverage is 45.86%.

:exclamation: Current head d171890 differs from pull request most recent head d852f98. Consider uploading reports for the commit d852f98 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##           develop      #91      +/-   ##
===========================================
+ Coverage    45.89%   47.89%   +2.00%
===========================================
  Files           65       68       +3
  Lines         2412     2662     +250
  Branches       539      602      +63
===========================================
+ Hits          1107     1275     +168
- Misses        1305     1387      +82

Impacted Files
Coverage Δ

...ckages/contact-manager/src/agent/ContactManager.ts
0.00% <0.00%> (ø)

...re/src/migrations/internal-migrations-ormconfig.ts
0.00% <0.00%> (ø)

packages/did-utils/src/didFunctions.ts
0.00% <0.00%> (ø)

packages/did-utils/src/x509-utils.ts
0.00% <0.00%> (ø)

...onic-seed-manager/src/agent/MnemonicSeedManager.ts
90.78% <ø> (ø)

packages/ssi-sdk-core/src/utils/database.ts
0.00% <0.00%> (ø)

...kages/vc-handler-ld-local/src/ld-context-loader.ts
100.00% <ø> (ø)

...andler-ld-local/src/suites/JsonWebSignature2020.ts
10.71% <0.00%> (ø)

...igrations/postgres/1659463079428-CreateContacts.ts
3.12% <3.12%> (ø)

...uth-siop-op-authenticator/src/session/OpSession.ts
6.31% <5.43%> (+1.00%)
:arrow_up:

... and 27 more

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Please be aware that develop had some merges, so you will need to rebase/merge


Adding mixer policy remote helm charts (#9161)

This commit adds the ability to optionally select running
mixer policy pods on the remote cluster using the istio-remote
helm charts.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: ijsnellf
If they are not already assigned, you can assign the PR to them by writing /assign @ijsnellf in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

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

Hi @asomya. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

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

/ok-to-test

@asomya: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth-mcp.sh
769d6dd47eeac3af471e0accbf73424f9e74c853
link
/test e2e-mixer-no_auth-mcp

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

@asomya: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth-mcp.sh
769d6dd47eeac3af471e0accbf73424f9e74c853
link
/test e2e-mixer-no_auth-mcp

prow/istio-pilot-multicluster-e2e.sh
769d6dd47eeac3af471e0accbf73424f9e74c853
link
/test istio-pilot-multicluster-e2e

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

@asomya: PR needs rebase.

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

@asomya: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth-mcp.sh
769d6dd47eeac3af471e0accbf73424f9e74c853
link
/test e2e-mixer-no_auth-mcp

prow/istio-pilot-multicluster-e2e.sh
769d6dd47eeac3af471e0accbf73424f9e74c853
link
/test istio-pilot-multicluster-e2e

prow/istio-presubmit.sh
41c807f37cdff8f7539988993f3ecfac57bec977
link
/test istio-presubmit

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

@asomya: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth-mcp.sh
769d6dd47eeac3af471e0accbf73424f9e74c853
link
/test e2e-mixer-no_auth-mcp

prow/istio-pilot-multicluster-e2e.sh
769d6dd47eeac3af471e0accbf73424f9e74c853
link
/test istio-pilot-multicluster-e2e

prow/istio-presubmit.sh
41c807f37cdff8f7539988993f3ecfac57bec977
link
/test istio-presubmit

prow/istio-integ-k8s-tests.sh
41c807f37cdff8f7539988993f3ecfac57bec977
link
/test istio-integ-k8s-tests

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

why would someone do that?  if you do need to run mixer policy on remote cluster, would not it be better to use federated mesh?   https://preliminary.istio.io/docs/setup/kubernetes/multicluster-install/gateways/


#24 Fix choosing partition on a single-partitioned topic

Shouldnt we avoid this if we are planning to merge https://github.com/spicavigo/kafka-rust/pull/23

yes, i think #23 is a better choice. closing this one.


Improve InfoStation tab handling when there are many tabs

Extended from this Constellation suggestion: https://github.com/Cosmic-Chatter/Constellation/issues/2
With the default text size, only 9 tabs are visible in the horizontal orientation. In the vertical orientation, tabs stack in multiple rows after 4.
Two cases should be handled:

Vertical orientation: App creator selects between multiple tab rows and horizontal tab scrolling
Horizontal orientation: Tabs scroll vertically

The user can now change the size of tab buttons and the list can be scrolled as needed. Changes in https://github.com/Cosmic-Chatter/Exhibitera/commit/a49a7d59b86c3833fa0493f763dbdf57ad6df76c


SAK-44432 - Added missing init method to the MembershipManagerImpl bean

This was caused by #8611
It worked before because the initialization wasn't in the init() method. Earle moved it inside init(), but init() was never being called due to XML config.


Specifying sort order using param

Is it possible to specify sort order using params? I would like to change the sort order of the query based on some flags and I tried using params but it did not work, not sure if there is something extra I need to do to make it work.

@dmitry-a-morozov - are you still working on this project?

Hey sorry for slow replies, just quite busy.   We encountered a similar kind of issue doing query building where you want very flexible SQL based on query inputs (more complicated than your example) and ended up concluding in our case it was beyond what we could reasonably expect from a type provider. In our case the parameters were polymorphic, so it effectively didn't have a fixed type signature.   Changing sort order is a baby version of that - you're not changing the output but are using input to make SQL polymorphic (you want to change order by asc|desc right?).   Not sure if that would even work at the ADO.Net level as a parameter.

Thanks for the reply.
You are correct it doesn't even work with ADO.NET, so we ended up using Dapper with custom sql per sort order.

Yeah - once you start building a general query engine you need to fully control SQL generation and can end up with polymorphic return types, so something like dapper / dynamic SQL generation is the way to go.


How to Import Variables at Local Test Scope

I would like to be able to import variables into the local scope of a test case. This is to prevent other test cases from accidentally using variables imported by a different test. Is this possible?
Currently "import variables" imports the variables inside the suite scope
*** Test Cases ***
Test1
    # var1.py has the variable 'var' defined
    import variables  /home/var1.py
    log  ${var}

Test2
   # I would like to this fail
    log  ${var}

This isn't possible. If you only have few variables, you can easily create a keyword that returns the needed values:
${var1}    ${var2} =    Keyword


[doc] add quick words on connect.sh

Add small input in the README of the script you show me.
Hope it could help someone.

good idea. Thanks @gaelL

Update with prefix informations.
My english is bad so I'm open if something is not well explained.


caption tag is removed

If you create a table like this using ng-scrolling-table, the caption tag is removed in the rendered HTML:

My Table

Stuff
Things

{{junk.stuff}}
{{junk.things}}

Refer to this tryit: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_caption_default_css

The reason for this is we are copying just the THEAD and TBODY elements into the generated tables.  We should probably copy any elements prior to THEAD into the top table and any between or after into the table surrounding the TBODY.

THEAD, CAPTION and TFOOT are now supported


Allow empty/blank passwords

This PR adds support for making the "password" optional for connecting to an IRC server. If the password is not provided, the server will not issue a EmptyPasswordError, but will instead issue a InvalidPasswordError if the base64 decoded password is < 60 bytes

Can you explain the reasoning for this a little better? What can't you currently do?

ditto @enmand


Add multistage builds to cut Docker image size

Optimizations

Cut appconfigservice to 98.9MB from 216MB
Cut auth-middleware-test-svc to 71.6MB from 935MB
Cut authservice to 91.8MB from 228MB
Cut eventservice to 141MB from 212MB
Cut loggingservice to 94MB from 211MB
Cut profileservice to 97.4MB from 215MB
Reorginized Dockerfile lines to maximize shared layers between containers

Security changes

All containers now run as a non-root user

api-doc runs as nginx user instead of root
the rest run as user nobody

Eliminates all unnecessary development tools used to build
Python packages

Based on the email conversations, I'm closing this PR as it might be better to continue the work on reducing the docker image size later. Thanks, @ddriddle.


Remote sensor local api question

I'm looking to get a Venstar sensor (ACC-TSENWIFIMini) and want to keep it from talking to the "cloud". Does anyone know if the Venstar wifi sensors have a local api, similar to the thermostats?
Personally I would want to use HomeAssistant to manage the sensor values and update the thermostats myself as my IOT devices are not able to connect to the internet instead of relying on Venstar Skyport.
Thanks for any info!

I don't have one of the wifi sensors, mine is a wired remote sensor.  If it just talks directly to the venstar, in theory it wouldn't be an issue.  But maybe someone who owns one would know?  I thought I heard someone else say once they did make remote non-wired ones that report into the main thermostat unit, perhaps these are those?

Those sensors don't talk to the cloud at all, they only broadcast/multicast their data to anything on the same network (VLAN) as the Wi-Fi SSID they connect to – which needs to include your thermostat. Once the thermostat has the data, you can get it with the thermostat's /query/sensors endpoint (or this python module).
A while back I began to reverse engineer the protocol to try sending data from existing temperature sensors in a format the thermostat would understand. I was only able to nail down part of the protocol, so I decided to just use Venstar's sensors. I contacted Venstar about the protocol they use for the sensors and they would not release any information about it.
The sensors broadcast their data to the local network (<IP_ADDRESS>) and multicast to the all hosts group (<IP_ADDRESS>) on UDP port 5001. There is only one message and it includes everything about the sensors – MAC address, name, sensor id, sensor type, temperature, battery, and firmware version. Temperature is in degrees celsius at half degree steps, ranging from -40°C (0x00) to 87.5°C (0xFF). Temperature increases at a rate no faster than 1.5°/update and decreases at 0.5°/update. Updates are sent every minute for mini Wi-Fi sensors set to "remote", every two minutes for the original Wi-Fi sensors set to "remote", and every 15 seconds for "supply" and "return". I can provide my breakdown of the message format, if you're interesting in trying to decode the update messages.
If all you want to do is get the Venstar sensor data in Home Assistant, I have a working component for Home Assistant (that I never got around to writing tests/docs for) which includes sensors and I believe @garbled1 is working on updating the official component, possibly to include support for sensors.

To follow up, yes, I'm currently working on getting the remote sensors pulled into official HA.  Given that doug just confirmed these are the same as what he has, once my venstar_sensor PR is merged, HA will support them.  (I will add support for the batteries in a future PR, don't want to muck with the existing one)

Oh cool! Thanks for the info. I was under the impression that you had to use Skyport to "pair" a sensor to a thermostat, but maybe that is just a convenience thing for if you are using Skyport.
I'll get one ordered and would be happy to test the integration out.

A while back I began to reverse engineer the protocol to try sending data from existing temperature sensors in a format the thermostat would understand. I was only able to nail down part of the protocol,

That's too bad.  I wondered how hard it would be to make an ESPHome device that would tell my Venstar the outdoor temperature.

Completely off topic, but can you connect to skyport to update the API/firmware on your device, and then disconnect from it?  My base units have never spoken to the cloud.. but..  now I want these sensors...

@doug-hoffman Would you be willing to start a new thread with your protocol dumps?  I'm halfway decent at reverse engineering these things.. I'm curious how hard it would be.
Given it's a UDB broadcast, sounds like it wouldn't be ESPHome, but just raw arduino code to spam onto the wire..  but still in the realm of ESP-able.

make an ESPHome device that would tell my Venstar the outdoor temperature.

If you intended on doing so for purposes other than display, don't bother. At least on the color touch, it won't let you use the Wi-Fi sensors set to "outdoor" for control purposes (like heat pump or aux heat lockout).

can you connect to skyport to update the API/firmware on your device, and then disconnect from it?

That shouldn't be a problem. On the color touch, you can load them on an SD card with the desktop app and avoid the cloud entirely. Not familiar with others models.

Would you be willing to start a new thread with your protocol dumps?

Here: #34


Sending to multiple numbers?

Is there any reason this can't be set up to send to multiple numbers?
Curious if it would be a simple thing or require some source code edits.
Thanks in advance!

Sorry for the late answer. It would require some source code edits.

If anyone needs something similar, you can achieve it buy updating options_with_handler.go file like this;
diff --git a/options_with_handler.go b/options_with_handler.go
index 3225beb..6454dcc 100644
--- a/options_with_handler.go
+++ b/options_with_handler.go
@@ -89,12 +89,14 @@ func sendMessage(o *options, alert []byte) {
                if err == nil {
                        body = "\"" + body + "\"" + " alert starts at " + parsedStartsAt.Format(time.RFC1123)
                }
-
-               message, err := twilio.NewMessage(c, o.Sender, o.Receiver, twilio.Body(body))
-               if err != nil {
-                       log.Error(err)
-               } else {
-                       log.Infof("Message %s", message.Status)
+               receivers := strings.Split(o.Receiver, ",")
+               for _, receiver := range receivers {
+                       message, err := twilio.NewMessage(c, o.Sender, receiver, twilio.Body(body))
+                       if err != nil {
+                               log.Error(err)
+                       } else {
+                               log.Infof("Message %s", message.Status)
+                       }
                }
        } else {
                log.Error("Bad format")


Add migration altering id identity

Django 4.1 breaks AutoField which is IntegerField without auto increment on PostgreSQL.
The migration applies change to Django versions >= 4.1 on PostgreSQL databases.

@beachmachine is there any known timeline for this MR to be included in a future release?

Seems to be fixed in https://docs.djangoproject.com/en/4.1/releases/4.1.1/


public_url/clone address missing

Describe the bug
The cloning url (public_url) is missing from every view and the 'c' (copy) command is copying nothing.
To Reproduce
On my machine, steps to reproduce:

Install soft-serve 0.7.3 arm64 deb from repo.charm.sh using apt
Add SOFT_SERVE_INITIAL_ADMIN_KEYS to /etc/soft-serve.conf (this is probably irrelevant step)
Enable and start service using systemd with provided /lib/systemd/system/soft-serve.service file
Push some repo(s) in
ssh into the soft-serve TUI, with or without the admin key

Screenshots

Environment (please complete the following information):

OS: Armbian (23.11.1)
Terminal alacritty/tty
Version 0.7.3

Additional information
It doesn't seem to matter which value public_url is set to. I tried with internal ip, external ip, localhost and 'git.example.com'. I've changed them all (ssh, git, http) with no results. I also have external port 22 routed to internal port 23231 with iptables, but surely that is not a part of the problem. Problem is present also when using ssh from localhost (using port 23231).
Systemctl output
Dec 07 16:11:04 odroidc2 systemd[1]: Started soft-serve.service - Soft Serve git server 🍦.
Dec 07 16:11:04 odroidc2 soft[8605]: 2023-12-07 16:11:04 server: Starting Git daemon addr=:9418
Dec 07 16:11:04 odroidc2 soft[8605]: 2023-12-07 16:11:04 server: Starting HTTP server addr=:23232
Dec 07 16:11:04 odroidc2 soft[8605]: 2023-12-07 16:11:04 server: Starting Stats server addr=localhost:23233
Dec 07 16:11:04 odroidc2 soft[8605]: 2023-12-07 16:11:04 server: Starting SSH server addr=:23231

Did I miss something?

Hi @omenius, thanks for reporting this. It was fixed in 0a38578ae6ad and is now released in v0.7.4


[EPIC] Rec-cloud requested features

Features:

CSV loader accepts Reader/InputStream instead of File.
Scripting.runScript accepts Reader/InputStream instead of file name.
ExecutionContext / 'rec' module should only shared by every scripting instance instead of static/global.
Add Resource interface which provides Source directly.

[x] CSV loader accepts Reader/InputStream instead of File.
[ ] Scripting.runScript accepts Reader/InputStream instead of file name.
[x] ExecutionContext / 'rec' module should only shared by every scripting instance instead of static/global.
[ ] Add Resource interface which provides Source directly.


Slow request

Hello,
I have some strange behaviour with the library. The execution time of a simple request such as
MATCH (n:NODE_LABEL) RETURN count(n)
is super fast using the browser console but when using libneo4j client the request is taking forever.
I tried the same command using the python official package and it is as fast as the browser command.
Where do you think is the bottleneck in the library ?

Hi @ludovic-pl!
I suspect it’s not a problem in the library, as that specific query would be sent as a whole and returns only a single value. There’s not much for the library to do.
Let’s confirm that though. Can you run the query again using -vvv, which will enable trace logging, and send the output?
Chris

Use:
echo "MATCH (n:NODE_LABEL) RETURN count(n)" | \
        neo4j-client -vvv -u neo4j -P localhost

Or similar.

Hello @cleishm ,
I run your command as you ask and there is the output:
DEBUG [connection]: attempting connection to <IP_ADDRESS> [7687] TRACE [connection]: opened socket to <IP_ADDRESS> [7687] (fd=4) TRACE [connection]: initialiting TLS (fd=4) DEBUG [tls]: server cert fingerprint: 0d1dc9cab6b5d554eab5c41449dcc793f067d930a48ea7a09dace4a83359d28a223eed4fa1111f40637224a0f424a5fb42e9d27ce5c47f7821bbc9cfff7271c8 DEBUG [tls]: TLS certificate verification failed: self signed certificate INFO  [connection]: connected (0x56115bf96350) to <IP_ADDRESS>:7687 DEBUG [connection]: connection 0x56115bf96350 using protocol version 1 Password:  TRACE [connection]: enqu INIT{"libneo4j-client/2.2.0", {scheme: basic, principal: "neo4j", credentials: ****}} (0x56115bf96bc0) in 0x56115bf96350 DEBUG [connection]: sent INIT (0x56115bf96bc0) in 0x56115bf96350 DEBUG [connection]: rcvd SUCCESS in response to INIT (0x56115bf96bc0) TRACE [connection]: SUCCESS in 0x56115bf96350 (response to INIT): {server:"Neo4j/3.4.0"} TRACE [connection]: enqu RUN{"MATCH (n:Entry) RETURN count(n) ", {}} (0x56115bf96ca0) in 0x56115bf96350 TRACE [connection]: enqu PULL_ALL (0x56115bf96d80) in 0x56115bf96350 DEBUG [connection]: sent RUN (0x56115bf96ca0) in 0x56115bf96350 DEBUG [connection]: sent PULL_ALL (0x56115bf96d80) in 0x56115bf96350 DEBUG [connection]: rcvd SUCCESS in response to RUN (0x56115bf96ca0) TRACE [results]: SUCCESS in 0x56115bf96350 (response to RUN): {result_available_after:0,fields:["count(n)"]} "count(n)" DEBUG [connection]: rcvd RECORD in response to PULL_ALL (0x56115bf96d80) 28052 DEBUG [connection]: rcvd SUCCESS in response to PULL_ALL (0x56115bf96d80) TRACE [results]: SUCCESS in 0x56115bf96350 (response to PULL_ALL): {result_consumed_after:0,type:"r"} INFO  [connection]: disconnected 0x56115bf96350
When i run the command as you ask, the request end nearly instantly, but when i run it interactively, it take forever.

Hello @cleishm sorry to bother you with this issue, but do you have some idea on how i can help you to resolve this problem ?
When I use the API in C++ I have also slow execution time. But when i try the same kind of request (same request with the same parameters) using the python API, i don't have this kind of slowness.

Hi @ludovic-pl! Any progress on building an environment (e.g. docker image?) where we can reproduce your issue?

I am unable to reproduce this issue, despite trying a few different things. I'm closing it now.
If you can reproduce the error in a way that can be replicated, I'll happily re-open it.


Added OrderByInput to reproduce connection-bug with filter in @connection

To reproduce bug:

Apply a filter/sort with refetch (click on on of the sort buttons)
then click loadMore()

@kennetvu Hey, so I've been trying to reproduce using your PR and by adding a test case, but things work for me. I can inspect the Apollo cache and see the data being appended to the right connection object, and I'm also not hitting any invariants. I've pushed my changes to your branch, but would be good if you can screen share and show me what happens on your end


Implement RawHostUI functionality

To fully support the range of all PowerShell Cmdlets, we need to properly implement RawHostUi : PSHostRawUserInterface.
This would enable Cls/clear-host, and other interactive-with-host scenarios, such as @Izybkr 's https://github.com/lzybkr/PSReadLine
P1

[ ] FlushInputBuffer
[ ] ReadKey / KeyAvailable

P2

[ ] Foreground/Background color
[ ] Buffer Contents
[ ] Window Size and Position (?)
[ ] Cursor Size and Position

@gwojan Also requested features that require this!

Updated this to reflect some linked bugs.

In the same area as #287

Reopening to track the P2 RawHostUI items; in Future milestone.  The P1 items were completed in May milestone.


Investigate/Add RxJava support

We have a custom UriNotifier mechanism that allows users of DatabaseDao to automatically notify Uris based on table writes, which means that users can use standard Android ContentObservers to listen for changes. However, it sounds like there's some interest in an RxJava-based approach for listening to DB changes a la SQLBrite.
In looking at SQLBrite's code, their implementation is really similar to how we accumulate a Set to notify during transactions, so this is probably pretty doable.

John

Yay, RxJava support would be a great addition! :+1:

Great!!!

+1

Just a quick note--I've implemented a version of RxJava support on our 2.0 dev branch, and opened the pull request here: https://github.com/yahoo/squidb/pull/77. If anyone who's interested in this feature wants to give feedback on the proposed API it would be welcome!

The PR has been merged into our dev_2.0 branch; it'll be launched as an addon component when SquiDB 2.0 launches. I'll leave this issue open until then, but feel free to check out the branch and play with it!

SquiDB 2.0 has launched so the squidb-reactive module for basic RxJava support is now available as an optional add-on! See this wiki page for details.


Destroy standard

@ixje Done.

@ixje Can I add your name and email on Author?

No need. You authored it, I just gave some feedback.

@AnnaShaleva All done.

@vncoelho @roman-khimov All done.

@roman-khimov Done

@cschuchardt88 @Jim8y @shargon @roman-khimov @AnnaShaleva  All done.


Refactor / enhance the data simulation

Having a good API for simulating data would be very useful when using the library. This allows for the rapid testing and comparison of different methods on different scenarios.
That would also allow harmonize the code used in different publications.
I have a preference for a class template,
DataSimulator()
   def __init__(p, SNR, correlation,random_state ... ):
      ...
   def sample(n_samples) --> (X, y, support)
      "support being the important variables used to generate y = f(X)"

Why do we need a class ? What state is encoded by the class ?
(just asking to better understand)

+1 for harmonization.


Need to remove indirect dependency on Blaze

Looks like softwarerero:accounts-t9n has a dependency on Blaze.  Without it installed, I get this...
Uncaught ReferenceError: UI is not defined     softwarerero_accounts-t9n.js?hash=96cfc39…:34
https://github.com/softwarerero/meteor-accounts-t9n/blob/master/package.js#L24

oh noo, I have to push this upstream to T9n, I don't want to fork the translations.

I found in your package.js have followed line
api.imply('softwarerero:accounts-t9n@0.0.20');
maybe this line causes the ReferenceError.
beacuse in T9n version 0.0.20 is using UI.registerHelper('t9n', .......) to register itself

Alright, thx, I'm curious how we can overcome this without loosing the benefits of lots of existing translations.

This release seem to work much better without blaze-html-templates:
https://github.com/studiointeract/accounts-ui/releases/tag/release-1.1.7


Respect --continue-on-failure for --trace-directory

Previously we were continuing unconditonally, now we abort the run on the first failure unless --continue-on-failure is passed. There is probably a way of doing this that doesn't print a backtrace, but this minimal change using error achives the desired semantics for me:
# Test end
QCVEngine: Failure. Exiting...
CallStack (from HasCallStack):
  error, called at src/QuickCheckVEngine/Main.hs:324:115 in main:Main

Fixes: https://github.com/CTSRD-CHERI/QuickCheckVEngine/issues/22

Correct fix in https://github.com/CTSRD-CHERI/QuickCheckVEngine/commit/95077dd91477dde4e287c47bc5f76a87191f67fc


raidboss: Refactor ability vs abilityFull

Per discussion on #4142, this matches "option B".
Should probably be a follow up PR to make linting check for @deprecated and error out, along with related cleanup?

Thank you!!


sidebar_ui: Fix flickering of invite users button when showing sidebar.

Followup from https://github.com/zulip/zulip/pull/29342#issuecomment-2021155711

I don't see a flicker, but I also don't see it on CZO, so @timabbott , you many need to test yourself.

This approach seems like it could work, and it definitely fixes the most visible case of it but I still can reproduce flickering if I click the toggle really fast. Can you as well? I think this does fix like 95% of the problem, so might not be worth much time to debug further, but probably is worth half an hour?

I can't see any flickering in dev with the few users its has. Not sure how to test dev setup with a lot of users but I think the alternatives here are either optimizing rendering for buddy list or showing a loading indicator there untill the full list is ready to be displayed which seems worse than just a flicker.

OK let's just merge this and we can revisit if it feels worth it after seeing it in active use.


JS SDK Post GA Epic

### Tasks
- [ ] https://github.com/microsoft/teams-ai/issues/954
- [ ] https://github.com/microsoft/teams-ai/issues/958
- [ ] https://github.com/microsoft/teams-ai/issues/1017
- [ ] https://github.com/microsoft/teams-ai/issues/829
- [ ] https://github.com/microsoft/teams-ai/issues/914
- [ ] https://github.com/microsoft/teams-ai/issues/1137
- [ ] https://github.com/microsoft/teams-ai/issues/1085
- [ ] https://github.com/microsoft/teams-ai/issues/1086
- [ ] https://github.com/microsoft/teams-ai/issues/54
- [ ] https://github.com/microsoft/teams-ai/issues/1009
- [ ] https://github.com/microsoft/teams-ai/issues/454
- [ ] https://github.com/microsoft/teams-ai/issues/801
- [ ] https://github.com/microsoft/teams-ai/issues/1087
- [ ] https://github.com/microsoft/teams-ai/issues/1136

Closing as Build is complete


Having Problems setting up the .json file

Hi,
sorry this is the first thing I'm trying in this way. I have made it till opening the nano /Users.. etc. But then when typing in the Content of the json file I just cant figure out what to press/type to save the file. In my instruction it says to write ^X and then Y and then Enter. But if I do this, nothing happens.
Is "^" a shortcut for sth?
Thanks for your help! Really appreciate that!

It's CRTL X and CTRL Y

great thanks for the quick help.  Worked all good.
But another question: whats the username and the pin? Where do I get them from? Sorry really lost here.

Leave them the way they are.


Probability Plot Best Fit Line

Purpose
To update the method of finding the best fit line for the probability plot.

complete 🌵


Add required ending slash for request URLs

Sync with original repo and fix another errors with ending slash in URLs.

Thank you!


Search editor shouldn't ask to save on close

Testing #85965

Close search editor
It asks whether to save

I thought you had a way to make the editor "saveable" but not ask whether to save? It is kind of annoying and makes the search editor feel "heavier"

We previously explicitly exempted the search editor from the Save on Close prompt but @kieferrm felt strongly about us not doing that.


External component has thrown an exception. - GH to Speckle Floors

Speckle Stream: https://speckle.xyz/streams/43d7583f20
I was trying to create Speckle Floors from Rhino Curves using Grasshopper connector. But I can't receive them in Rhino or Revit. In Revit, it creates levels but throws an exception without generating any floor:

External component has thrown an exception.

Weird thing is, it receives them in Grasshopper.

@AlanRynne

Hey @bimgeek I think the linked stream is another one! If you can share the ones with the floors I'll debug right away :)

Hey @bimgeek I think the linked stream is another one! If you can share the ones with the floors I'll debug right away :)

Added you as a collaborator @teocomi

I'm getting a different error than you, maybe @AlanRynne knows something about it?

Oh that is a famous Revit exception. Sadly, not all NURBS curves are made equal for Revit; and closed nurbs curves are not supported AFAIK.
The common solution is to split them into 2 non-closed nurbs curves, although that may not give the same exact outline (but would be pretty close).


[BUG] bloxstrap saying error 401 unauthorized

Acknowledgement of preliminary instructions

[x] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
I have installed a roblox cheat and it says to change the channel inside of behavior to zbeta and when I type this in it shows “Failed to fetch information! (HTTP 401 - unauthorized)” any fix?

The channels are locked down, therefore you cannot use them
Why are you even hacking anyway?

lmao

Least obvious cheat user (they just directly mention they're using a cheat)


auto mode key error and HVAC_MODE_* constants are deprecated as of Home Assistant 2022.5

using config 1680.json this file includes the /heat/auto/temp data
my guess is that something is sending the key as HVACMode.AUTO: 'auto' and not as auto
also SmartIR is using the deprecated HVAC_MODE_'s and no the new enums that might change or be removed soon
Home Assistant version
2023.7.1
SmartIR version
1.17.7
Logger: custom_components.smartir.climate
Source: custom_components/smartir/climate.py:383
Integration: SmartIR ([documentation](https://github.com/smartHomeHub/SmartIR))
First occurred: 9 July 2023 at 3:15:00 am (12 occurrences)
Last logged: 5:15:00 am

<HVACMode.AUTO: 'auto'>
Traceback (most recent call last):
  File "/config/custom_components/smartir/climate.py", line 383, in send_command
    self._commands[operation_mode][fan_mode][target_temperature])
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: <HVACMode.AUTO: 'auto'>

seems one of my automations was trying to set the item as 'Auto' when it only knows off,heat,cool


Map does display in Edge

Noticed that the slippy map works in Chrome but not Edge.

Thanks for the bug report @jharpster!  I'll add a test on Edge and IE 11 before pushing this to the Office store.


How to use css assets?

Can not figure out how I can include css file from assets to the template.
Tried with
doctype html
html(lang="en")
  style
    !{{#asset styles.css @encoding=utf8}}
  head
  body

And with
doctype html
html(lang="en")
  style
    | {#asset styles.css @encoding=utf8}
  head
  body

How is it supposed to do this?

hi! here is an example, unfortunately, the asset insertion does not work good by default with space-sensitive engine like Pug, so the solution is to use a helper to remove the lines, after that you see it works.


Merge 12-03 updates to live

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Language/Concepts/Getting-Started/deftype-statements.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/appactivate-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/as-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/beep-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/binary-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/byref-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/byval-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/call-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/chdir-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/chdrive-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/close-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/const-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/date-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/date-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/declare-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/deletesetting-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/dim-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/doloop-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/else-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/end-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/enum-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/erase-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/error-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/error-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/event-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/exit-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/filecopy-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/for-eachnext-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/for-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/fornext-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/friend-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/function-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/get-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/get-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/gosubreturn-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/goto-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/ifthenelse-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/implements-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/input-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/input-past-end-of-file-error-62.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/inputstatement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/is-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/kill-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/len-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/let-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/let-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/line-inputstatement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/load-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/lock-keyword.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/lock-unlock-statements.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.