For GoQuorum as a reference, rlpx fails when run

Summary

I deployed to EKS with the following reference and rlpx fails to run
https://github.com/ConsenSys/quorum-kubernetes/tree/master/helm#for-goquorum
Do you have any idea how this phenomenon occurs?

Detail
$ helm install genesis ./charts/goquorum-genesis --namespace quorum --create-namespace --values ./values/genesis-goquorum.yml

$ helm install validator-1 ./charts/goquorum-node --namespace quorum --values ./values/validator.yml
$ helm install validator-2 ./charts/goquorum-node --namespace quorum --values ./values/validator.yml
$ helm install validator-3 ./charts/goquorum-node --namespace quorum --values ./values/validator.yml
$ helm install validator-4 ./charts/goquorum-node --namespace quorum --values ./values/validator.yml

$ helm install member-1 ./charts/goquorum-node --namespace quorum --values ./values/txnode.yml

$ kubectl get pods -n quorum
NAME                          READY   STATUS      RESTARTS   AGE
goquorum-genesis-init-gcg8c   0/1     Completed   0          14m
goquorum-node-member-1-0      2/2     Running     0          14m
goquorum-node-validator-1-0   1/1     Running     0          14m
goquorum-node-validator-2-0   1/1     Running     0          14m
goquorum-node-validator-3-0   1/1     Running     0          14m
goquorum-node-validator-4-0   1/1     Running     0          14m

$ kubectl logs -f -n quorum goquorum-node-validator-1-0
TRACE[05-31|13:35:25.091] Failed RLPx handshake                    addr=<IP_ADDRESS>:30303             conn=staticdial err=EOF
TRACE[05-31|13:35:27.240] Accepted connection                      addr=<IP_ADDRESS>:50378
TRACE[05-31|13:35:27.243] Failed RLPx handshake                    addr=<IP_ADDRESS>:50378              conn=inbound    err="ecies: invalid message"
TRACE[05-31|13:35:30.312] Accepted connection                      addr=<IP_ADDRESS>:44496
TRACE[05-31|13:35:30.312] Failed RLPx handshake                    addr=<IP_ADDRESS>:44496            conn=inbound    err="ecies: invalid message"
TRACE[05-31|13:35:42.519] Accepted connection                      addr=<IP_ADDRESS>:39674
TRACE[05-31|13:35:42.521] Failed RLPx handshake                    addr=<IP_ADDRESS>:39674             conn=inbound    err="ecies: invalid message"
DEBUG[05-31|13:35:45.076] Recalculated downloader QoS values       rtt=20s confidence=1.000 ttl=1m0s
TRACE[05-31|13:35:45.658] Accepted connection                      addr=<IP_ADDRESS>:59070
TRACE[05-31|13:35:45.658] Failed RLPx handshake                    addr=<IP_ADDRESS>:59070             conn=inbound    err="ecies: invalid message"

$ kubectl logs -f -n quorum goquorum-node-member-1-0  -c goquorum-node-member-1-quorum
TRACE[05-31|13:36:20.659] Starting p2p dial                        id=16bb45fe9b2195b8 ip=<IP_ADDRESS>   flag=staticdial
TRACE[05-31|13:36:20.659] Starting p2p dial                        id=6089c41177edcbee ip=<IP_ADDRESS> flag=staticdial
TRACE[05-31|13:36:20.659] Starting p2p dial                        id=3bd84aba8ac54091 ip=<IP_ADDRESS>  flag=staticdial
TRACE[05-31|13:36:20.662] Failed RLPx handshake                    addr=<IP_ADDRESS>:30303             conn=staticdial err=EOF
TRACE[05-31|13:36:20.662] Failed RLPx handshake                    addr=<IP_ADDRESS>:30303              conn=staticdial err=EOF
TRACE[05-31|13:36:20.664] Failed RLPx handshake                    addr=<IP_ADDRESS>:30303             conn=staticdial err=EOF
TRACE[05-31|13:36:20.664] Failed RLPx handshake                    addr=<IP_ADDRESS>:30303            conn=staticdial err=EOF

Environment

AWS EKS
k8s version 1.21

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.5", GitCommit:"5c99e2ac2ff9a3c549d9ca665e7bc05a3e18f07e", GitTreeState:"clean", BuildDate:"2021-12-16T08:38:33Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.9-eks-14c7a48", GitCommit:"717bfb2b8ceb809a42a6c0baabde59fae28637ef", GitTreeState:"clean", BuildDate:"2022-04-01T03:17:28Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}

$ helm version
version.BuildInfo{Version:"v3.7.2", GitCommit:"663a896f4a815053445eec4153677ddc24a0a361", GitTreeState:"clean", GoVersion:"go1.16.10"}

Related

https://github.com/ConsenSys/quorum/blob/873884dc9f4bd6e63af24f7d9e93bf8a4da91c1a/p2p/server.go#L967-L970
https://github.com/ConsenSys/quorum/blob/873884dc9f4bd6e63af24f7d9e93bf8a4da91c1a/p2p/rlpx/rlpx.go#L256
https://github.com/ConsenSys/quorum/blob/4eb2666a456e7cef30fa7fa3c095ab4420c14a81/crypto/ecies/ecies.go#L289

I have added the code that may be relevant.
Please check it！

I have resolved myself and will close the issue. My apologies.


Jetty upgrades to v11

In the next major version, we may want to upgrade the major version of Jetty HTTP server from v9 to v11. This upgrades affects only bolt-jetty module users. That being said, as long as the existing apps do not use any Jetty specific features, the upgrades won't bring any breaking changes.
Category (place an x in each of the [ ])

[ ] bolt (Bolt for Java)
[x] bolt-{sub modules} (Bolt for Java - optional modules)
[ ] slack-api-client (Slack API Clients)
[ ] slack-api-model (Slack API Data Models)
[ ] slack-api-*-kotlin-extension (Kotlin Extensions for Slack API Clients)
[ ] slack-app-backend (The primitive layer of Bolt for Java)

Requirements
Please make sure if this topic is specific to this SDK. For general questions/issues about Slack API platform or its server-side, could you submit questions at https://my.slack.com/help/requests/new instead. :bow:
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to the those rules.

We were going to upgrade Jetty to v11 in the next major version but after the discussion at https://github.com/slackapi/java-slack-sdk/issues/919#issuecomment-1022719317, we decided to add bolt-jakarta-jetty as a new module. Since v1.18, users can go with the new module if they want to switch to Jakarta EE Servlets.


Added option to not show datepicker on readonly field

This option fixes #1231. The default behavior is restored and displaying of the datepicker can be disabled for readonly inputs if a users wants it that way.
Not sure if the option name is a good name

@korun fixed the unused variable!


[Feature request] [Documentation]: Add classes for each variation in the end/beginning

Sorry if this is not the correct place to add a feature request.
Looking at the documentation, it's really hard to see which of the classes are part of the base component (they're the same in all variations) and which are specific to that variation. Take a look here: https://flowbite.com/docs/components/buttons/.
I'd like to propose that all classes that are part of the base component comes either first or last, making it much easier to understand what are the different classes.

Hey @arthurgeek,
Can you give me an example of how you would like to see the first example of buttons?
Thanks.

Sure!
 Ideally, within the variant specific, you could also follow an order (eg: bg-related classes first, text-related, border-related. I have not done this for all classes in the example above, but hope it's clear enough). Then, all the dark classes follow soon after.
This makes it much easier, at a glance, to see which classes are different for each variant.
While we're talking about button and it's variants, any reason the disabled variant uses color-specific classes (eg: it replaces the bg-blue-700 to bg-blue-400 instead of using: opacity-50 (or any other number) class?

It makes sense and it would definitely improve the readability of the components. If you feel like you're willing to invest your time into organizing the class orders in a particular way, I would be more than glad to approve your PR for that. Others could join in helping as well.
Before doing that, however, we should decide on the order of the classes. I recommend that we should start with the non-variant related classes (ie. bg-red-100 or text-gray-200), then follow up with the state variants (ie. hover, focus), and lastly use the dark version in the same order (dark with normal classes, then dark with state variants).
Does that make sense?
So for example the buttons would be something like:
<div class="flex flex-wrap">
  <button type="button" class="font-medium rounded-lg text-sm px-5 py-2.5 text-center mr-3 mb-3 text-white bg-blue-700 focus:ring-4 focus:ring-blue-300 hover:bg-blue-800 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800">Default</button>
  <button type="button" class="font-medium rounded-lg text-sm px-5 py-2.5 text-center mr-3 mb-3 text-gray-900 bg-white border border-gray-300 focus:ring-4 hover:bg-gray-100 dark:bg-gray-600 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-700 dark:focus:ring-gray-800">Light</button>
  <button type="button" class="font-medium rounded-lg text-sm px-5 py-2.5 text-center mr-3 mb-3 text-white bg-gray-800 focus:ring-4 focus:ring-gray-300 hover:bg-gray-900 dark:bg-gray-800 dark:hover:bg-gray-700 dark:focus:ring-gray-800 dark:border-gray-700">Dark</button>
</div>

It would be even more awesome if this would be somehow automated using a script.
Regarding your question about the disabled button, yes, it would be better to use the opacity. With the new TW v3.0 update, however, we could also just use bg-blue-700/50.
We've been looking into improving the code block from the documentation by also changing the primary color (which is blue) to one available from the color pallette's.


Add missing features to Ali-ccp data generator

This PR is addressing the first bullet of this ticket https://github.com/NVIDIA-Merlin/models/issues/359
it also updates the 03-Exploring-different-models.ipynb to use synthetic data.

I assume that we added metrics = model.evaluate for the unittests, which will be added soon.
I wonder, if we should collect the metrics for each model in separate variable?

metrics_dlrm
metrics_dcn
etc

Then the unittest will check that all models are trained/produce the correct evaluation metrices.
Can be added in the unittest PR

@bschifferer thanks for the comment. I was thinking the same, we can do that yes.


Fetch functions and mapping the data to types

Atm do each driver map it's result to string option list and the idea is that we later on should be able to take a record and map fields to the fields. This is the idea of Row.ml file.
Something we also need to think about when we talk about this is that if string option is the "correct" type or if we should rethink into returning something else and how could this if so be mapped to a type?
I did create a tiny function called map_to which idea was to take string option listand map it, however, I am not done with it yet.
The function looks like this:
let map_to (row : t) =
  List.fold_left
    (fun acc s ->
      match s with
      | Some v -> v :: acc
      | None -> acc)
    []
    row

TODO:

[ ] Map result to a type which each fetch function use
[ ] Implement more fetch functions
[ ] Implement a cursors for fetch_many

I also think that the function execute which connection have should return binary. Maybe it's easier to map data then?

i'd love to take a stab at this one 🙏🏼

@leostera Go ahead :D

What do you think about allowing users to be able to make data from the database to a type? I had an idea of having a type as param and make the function optional to use, allow the user to select what they want to do with the data @leostera

So far what I'm thinking looks like this:
type user = { name: string; age: int }
[@deriving deserializer]

let* conn = DbCaml.connect "..." in
let* cursor = DbCaml.execute conn "select name, age from users" in
let users = Seq.map (DbCaml.of_row conn deserialize_user) user in

which needs the conn object to include a way to point to a Driver's serde format. That way each driver can have its own deserializer for its own format, so that calling DbCaml.of_row conn when the connection was open with the Postgres driver would be equivalent to calling Postgres.deserialize_row

So far what I'm thinking looks like this:
type user = { name: string; age: int }
[@deriving deserializer]

let* conn = DbCaml.connect "..." in
let* cursor = DbCaml.execute conn "select name, age from users" in
let users = Seq.map (DbCaml.of_row conn deserialize_user) user in

which needs the conn object to include a way to point to a Driver's serde format. That way each driver can have its own deserializer for its own format, so that calling DbCaml.of_row conn when the connection was open with the Postgres driver would be equivalent to calling Postgres.deserialize_row

I +1 this, Looks amazing. I guess we could make the execute function return a serde type which would bubble up to the fetch functions(which currently is: fetch_one fetch_many exec).

so serde can deserialize from any source as long as the format supports it – so in this case the driver module would provide a format module that implements whatever wire protocol the database uses.
as an example:
(* file: postgres.ml *)
module Wire_ser = struct
  type state = { internal state of the parser }
  (* all of the serialization functions here *)
end

module Wire_de = struct
  type state = { internal state of the parser }
  (* all of the deserialization functions here *)
end

(* file: driver.ml *)
module type Intf : sig
  module Wire_ser : Serde.Serializer.Intf
  module Wire_de : Serde.Deserializer.Intf
  (* ore things every driver needs *)
end

let make driver state = Driver (driver, state)

(* file: conn.ml *)
let execute (Conn ((module C), state)) query =
  let* stream = C.execute state query in
  Stream.map (C.Wire_de.of_bytes) stream

In here the Wire_de module defines what kind of data C.execute should provide it, which is convenient because both of them come from the same module, so we can make sure they match up even if every driver uses a different input data type.

so serde can deserialize from any source as long as the format supports it – so in this case the driver module would provide a format module that implements whatever wire protocol the database uses.
as an example:
(* file: postgres.ml *)
module Wire_ser = struct
  type state = { internal state of the parser }
  (* all of the serialization functions here *)
end

module Wire_de = struct
  type state = { internal state of the parser }
  (* all of the deserialization functions here *)
end

(* file: driver.ml *)
module type Intf : sig
  module Wire_ser : Serde.Serializer.Intf
  module Wire_de : Serde.Deserializer.Intf
  (* ore things every driver needs *)
end

let make driver state = Driver (driver, state)

(* file: conn.ml *)
let execute (Conn ((module C), state)) query =
  let* stream = C.execute state query in
  Stream.map (C.Wire_de.of_bytes) stream

In here the Wire_de module defines what kind of data C.execute should provide it, which is convenient because both of them come from the same module, so we can make sure they match up even if every driver uses a different input data type.

Seems neat, I will play around with it :D I feel that this is the stuff we need next in the lib

Blocked: We wait until Serde.ml is ready to be used

I'm closing this issue in favor of #20


Fix typos

I fixed some typos in this PR.
This was a great read! Thanks.

Hi Anthony, thanks for the review and updates!


Allow for regex input

Would be neat not to have to write multiple lines for things like chaps when you could do something like (Ancient|Zamorak) chaps and capture them both.

It does support wildcards, you can input * in your list.
You could * chaps. It would give you all, but easier to manage than multiple lines.


Disjunctive Facets are Complicated

Simple Filter String
Using the API directly, I can create a filter like so "objectID: AAA OR objectID: BBB"
Algolia request log
{
  "params": "filters=(%22objectID%22:%22AAA%22%20OR%20%22objectID%22:%22BBB%22)"
}

Algolia response
A single result object with expected hits.
Complex Refinements
Using the library, it creates unnecessary multiple requests objects that don't return the same as the API like so
searcher.params.setFacet(withName: "objectID", disjunctive: true)
searcher.params.addFacetRefinement(name: "objectID", value: 1)
searcher.params.addFacetRefinement(name: "objectID", value: 2)

Algolia request log
{
  "requests": [
    {
      "params": "facetFilters=[[%22objectID:AAA%22,%22objectID:BBB%22]]",
      "indexName": "objects"
    },
    {
      "params": "analytics=false&attributesToHighlight=[]&attributesToRetrieve=[]&attributesToSnippet=[]&facetFilters=[]&facets=[%22objectID%22]",
      "indexName": "objects"
    }
  ]
}

Algolia response
An array of results that have unexpected hits.

After going through some of the source files, I found that a section of related code at Searcher.swift:417 has not been updated for 2 years! More importantly, I don't understand why it has to go through multiple requests objects if SearchParameter.swift@buildFiltersFromFacets was created at the same time, and it also provides the logic for generating simple " OR " filters. I can't identify a code path that would lead it to use this simpler logic.
I agree with this still open issue that there should be a way for us to manually set our own filters, especially with more complex use cases.
For now, I settled with a workaround by modifying Searcher.swift@startRequest. Note: This may not work for everyone, but it works for all of my use cases.
From
var operation: Operation
if state.disjunctiveFacets.isEmpty {
    // All facets are conjunctive; build regular filters combining numeric and facet refinements.
    // NOTE: Not strictly necessary since `Index.search(...)` calls `Query.build()`, but let's not rely on that.
    params.update()
    operation = index.search(params, requestOptions: nil, completionHandler: completionHandler)
} else {
    // Facet filters are built directly by the disjunctive faceting search helper method.
    params.updateFromNumerics() // this is really necessary (in contrast to the above)
    let refinements = params.buildFacetRefinements()
    operation = index.searchDisjunctiveFaceting(params, disjunctiveFacets: state.disjunctiveFacets, refinements: refinements, requestOptions: nil, completionHandler: completionHandler)
}

To
params.update()
operation = index.search(params, requestOptions: nil, completionHandler: completionHandler)

Hi @zgosalvez ,
Sorry for the late reply on this!
The reason why we do more than 1 request is described in details here. To give a quick summary, we do it because we need information about the number of facet counts for the disjunctive facet(s) in order to have the necessary information to build a refinement list showing how many hits would be added to the result set if it is selected.
So I guess what you're trying to say is that you don't need to display a refinement list, and so you don't want more than 1 request to happen, is that correct? If that's the case, then I feel it is a valid point that we need to address, maybe we should put it as a setting that you can turn on or off. I just opened up the discussion with people working on our API Clients (since this has been the default behaviour in our other API clients). I will keep this issue open for now until we resolve it.
Your workaround is basically removing all those extra calls to build the disjunctive refinement lists, which is what that "flag" or "setting" would do. So you can go ahead with that as it works for your use case.

Thank you for the explanation, @spinach. You are correct, I just want 1 request to happen, so I'm sticking with the workaround for now.
I think the simplest approach is to allow us to manually build the query - as easy as using the AlgoliaSearch API - while getting the benefits of using InstantSearch. It's basically just a JSON object.

Yep definitely good feedback, thanks again for this, we're currently discussing how to modify our API clients to fit those use cases.

The new version of InstantSearch can help with this issue. You can decide to turn off "multiple requests" even in the disjunctive case with this property found in the SingleIndexSearcher
  /// Flag defining if disjunctive faceting is enabled
  /// - Default value: true
  public var isDisjunctiveFacetingEnabled = true


add @flow comment to .js.flow style file

fix #2142
Attach // @flow comment to the sample code.

Thanks!
@facebook-github-bot shipit

Thanks for importing.


Documented Annotations are not visible

We have annotations in our project that define some security constraints. The annotation is even used with @NameBinding in order to enforce the constraints. The annotation is additionally annotated with the @Documented meta-annotation so the Javadoc would show it.
What we would want is that the swagger documentation would also make mention of this annotation. perhaps even listing the javadoc comment that is present on top of the annotation. JAX-RS analyzer is currently not handling such annotations. Perhaps this could be incorporated in a future release? Perhaps guarded by a switch if not everybody likes having such annotations mentioned.

Sounds interesting.
How do you think the Swagger output should look like? Are there appropriate Swagger properties for that? Or in other words: what kind of information should the annotation represent then? The thing is that it should reflect generally applicable information, so something that is not just a home-grown solution but can fit for all kind of purposes.

Well, I would suggest to use the vendor extension mechanism for that. For example, assume we have annotated a resource or a resource method with the documented annotation @GreatOperation(yell="WOW!") and also assume the annotation is written as:
/**
 * This is a great operation!
 */
@Documented
@Target({ TYPE, METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface GreatOperation{
  String yell() default "":
}

then in swagger you could have something like:
"/pet":{
  "post":{
    "summary":"Add a new pet to the store",
    "description":"",
    "operationId":"addPet",
    "x-annotation-great-operation": {
      "description":"This is a great operation!",
      "verbatim":"@GreatOperation(yell=\"WOW!\")"
    }
  }
}

Another option would be to follow the javadoc style and do something like this:
"/pet":{
  "post":{
    "summary":"@GreatOperation(yell=\"WOW!\")
Add a new pet to the store",
    "description":"",
    "operationId":"addPet",
  }
}

But in this last option the documentation for @GreatOperation is lost. You could also use both options.
what do you think? For me, with such vendor extensions in place I would write a function in swagger-ui to show the annotations in a table or so.

The later option is possible, the only problem I have with it is that it clutters the description summary pretty much. The original idea of the Analyzer was to provide a technology agnostic HTTP documentation that is easily generated from code. What benefit does the user have from reading @GreatOperation? What I could potentially see is something like inheriting just the JavaDoc from the @Documented annotation. So something like:
"/pet":{
  "post":{
    "summary":"Add a new pet to the store
This is a great operation!",
    "description":"",
    "operationId":"addPet",
  }
}

Then the (generally applicable) approach would be: Take the JavaDoc, if there is any @Documented annotation annotated to the method, take this JavaDoc as well. WDYT?
However, in my eyes this is a rather minor improvement, so please don't mind if I lay the priorities to other features. But maybe you would like to fork & contribute? :-)


Use dateutil.tz over pytz ?

Brought up at Astropy ALOHA 2024. cc @ejeschke @eteq
https://dateutil.readthedocs.io/en/stable/tz.html

Might have to drop some really old Python versions, but not sure.

Just looked and it seems like pytz is only needed in python version < 3.9, and I think that means it's not a big issue. There would need to be a change from pytz.timezone to zoninfo.ZoneInfo.

So should we bump minversions and be done with it?


Incorrect IP when using dns-resolver

Describe the bug
Gatus doesn't show the correct IP in conditions when dns-resolver overshadows existing domain name, although healthcheck is performed on the correct one.
What do you see?
Gatus returns incorrect IP:
✓ ~ [STATUS] == 200
X ~ [IP] (<IP_ADDRESS>) == any(:1, <IP_ADDRESS>)

What do you expect to see?

Observe that Gatus process connects correctly to <IP_ADDRESS> (5848 is a main gatus PID) :
strace -f -e trace=network -s 10000 -p 5848 2>&1 | grep 'connect' | grep '443'
[pid  5848] connect(7, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = -1 EINPROGRESS (Operation in progress)
[pid  5824] connect(7, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = -1 EINPROGRESS (Operation in progress)
...

Version
v5.13.1
Additional information
No response

Hmm.. This is because the IP from the [IP] placeholder is only retrieved if the placeholder is present in one of the conditions, and when it is present, it retrieves it using net.LookupIP, which completely bypasses the client.dns-resolver configuration.
https://github.com/TwiN/gatus/blob/01131755bc4a30596cef077d0928cdac95ce247b/config/endpoint/endpoint.go#L267-L269
https://github.com/TwiN/gatus/blob/01131755bc4a30596cef077d0928cdac95ce247b/config/endpoint/endpoint.go#L309-L316
From a UX perspective, I completely understand why you'd expect client.dns-resolver to be used for the DNS lookups though, so you bring a good point.
It shouldn't be too difficult to implement, given that the code for the resolver already exists, and that under the hood, net.LookupIP makes a call to DefaultResolver.LookupIPAddr.
https://github.com/TwiN/gatus/blob/01131755bc4a30596cef077d0928cdac95ce247b/client/config.go#L240-L260
We'd have to extract the piece of code that creates the resolver, and then we can reuse it to create a dialer that would work for both the HTTP client and the function used for resolving the IP.


multicorn/fsfdw/test.py: fixture 'tempdir' not found

Hi,
thanks for fixing the regression test failures spotted by the Debian build system in #112.
Unfortunately the tests still don't work:
====================================================== test session starts =======================================================
platform linux -- Python 3.4.4, pytest-2.8.5, py-1.4.31, pluggy-0.3.1
rootdir: /home/cbe/projects/postgresql/multicorn/Multicorn, inifile: setup.cfg
collected 7 items

multicorn/fsfdw/test.py EEEEEEE

============================================================= ERRORS =============================================================
_________________________________________________ ERROR at setup of test_parser __________________________________________________
file /home/cbe/projects/postgresql/multicorn/Multicorn/.pybuild/pythonX.Y_3.4/build/multicorn/fsfdw/test.py, line 47
  @with_tempdir
  def test_parser(tempdir):
        fixture 'tempdir' not found
        available fixtures: tmpdir, record_xml_property, pytestconfig, tmpdir_factory, capsys, cache, recwarn, capfd, monkeypatch
        use 'py.test --fixtures [testpath]' for help on them.

/home/cbe/projects/postgresql/multicorn/Multicorn/.pybuild/pythonX.Y_3.4/build/multicorn/fsfdw/test.py:47
________________________________________________ ERROR at setup of test_filenames ________________________________________________
file /home/cbe/projects/postgresql/multicorn/Multicorn/.pybuild/pythonX.Y_3.4/build/multicorn/fsfdw/test.py, line 90
  @with_tempdir
  def test_filenames(tempdir):
        fixture 'tempdir' not found
        available fixtures: tmpdir, record_xml_property, pytestconfig, tmpdir_factory, capsys, cache, recwarn, capfd, monkeypatch
        use 'py.test --fixtures [testpath]' for help on them.
... and a few more

I had tried to fix this using some sort of s/tempdir/tmpdir/, but then I ran into other problems with the rst test at the end of that file where "assert extract('third.rst') == meta_1" was failing, so I left the testsuite in the Debian package disabled for now.
The paste above is for git head; the full Debian build log for 1.2.4 is at https://buildd.debian.org/status/fetch.php?pkg=postgresql-multicorn&arch=arm64&ver=1.2.4-1&stamp=1450804326

The "real" test suite is the one launched by "make installcheck": pure python tests aren't really testing much, it would be best to test using make installcheck against a live running PostgreSQL installation.
How are you running tests for other PostgreSQL extensions in debian packages ?
I'm using nosetests to run the tests, which works fine with the tests written as is. To keep the compatibility between the two, I have a first fix which manually wraps the function (instead of using functools.wraps) to not expose an argument that py.test will try to magically convert to a fixture: 19315190b102b231c2fc14aa32437ad522c38c8f
The tests now works on both py.test and nose. I still have to correct some things so that the tests pass in python3 as well, but that should be easy.

The fix for python3 is there: b76a310799131fae7b95db932024a4854839c267


bump sentry

partially reverts #681
made me thinking, do we want sentry on debug build anyway?

I think it would be better to remove sentry from the debug build as you said, because when we experiment we can make the server crash and we don't want sentry to report those errors.
What do you think @qdequele?

so, closing?

No, edit your commit and just keep the part where you updated the depenciy, please :)


Adding NASA items to ignore-list-begins.csv

Adding a few known staging/dev, authentication and API endpoints to the list.
If it wouldn't adversely affect other agencies' domain naming patterns (it wouldn't for NASA), could also just blanket-ignore all URLs starting with 'alpha', 'beta', and/or 'auth'.

These look good.  Thanks, @abbybowman !!!


feat!(darwin): Remove permission check code

Removed runtime permission checking code to be consistent with #982.


carriage return (\r) interpreted as new return

When running gradlew and the program is using carriage returns (e.g. for progress bars), the carriage return will not jump to the begin of the line, but will jump to the next line.
Expected Behavior

Carriage return jumps to the beginning of the line and overrites, whatever is written there.
Current Behavior

Carriage return is jumping to the next line and therefore things like progress bars are not really possible
Context

Steps to Reproduce

Create a new gradle project (i use intellij to create it)
create a Main and add some code, that uses carriage return
Example:

public class Main {
    public static void main(String[] args) throws InterruptedException {
        for (int i = 0; i < 10; i++) {
            System.out.print(i + "\r");
            Thread.sleep(1000);
        }
    }
}

Run the Main function.

Your Environment

Java 11
gradle 6.5.1
ubuntu 18.04 LTS
Intellij 2020.2

I reproduced the issue here: https://youtrack.jetbrains.com/issue/IDEA-272229?replyTo=27-4982522

Can you try with --console plain?

Can you try with --console plain?

Nope, console type doesn't matter. Still investigating.


Wrong save on lost focus

VSCode Version: Code 1.8.1 (ee428b0eead68bf0fb99ab5fdc4439be227b6281, 2016-12-19T14:49:23.350Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

Bookmarks
alefragnani
0.10.1

vscode-color
anseki
0.2.2

path-intellisense
christian-kohler
1.2.0

gitignore
codezombiech
0.5.0

jshint
dbaeumer
0.10.15

EditorConfig
EditorConfig
0.3.4

tslint
eg2
0.7.1

vscode-npm-script
eg2
0.1.5

auto-rename-tag
formulahendry
0.0.9

docthis
joelday
0.3.6

net-core-project-manager
ksubedi
0.3.6

vscode-JS-CSS-HTML-formatter
lonefy
0.2.2

HTMLHint
mkaufman
0.3.3

prettify-json
mohsen1
0.0.3

csharp
ms-vscode
1.6.2

tsimporter
pmneo
1.2.13

vscode-icons
robertohuertasm
4.3.0

sass-indented
robinbentley
1.3.0

code-settings-sync
Shan
2.3.8

stylelint
shinnn
0.21.1

autoimport
steoates
1.2.2

change-case
wmaurer
1.0.0

html-css-class-completion
Zignd
1.0.3

Steps to Reproduce:

set  "files.autoSave": "onFocusChange" in your setting
open two files in split windows
make some modification on one file without saving
click on the second file in the second window
the code of the first file is save in place of the code in the second file

I think it's expected as focus change event is occurred on the first file so the content of first file is saved.

I'm not agree with you.
I think when the first window lost focus the new content MUST BE SAVE ON THE FIRST WINDOW.
The problem is that the content of the first window is save on the second window.
Sorry for insist but I do not meet the problem with webstorm.
Thank you and happy new year ☺
Jaufré Devosse
Envoyé par BlueMail
Le 30 déc. 2016 19:41, à 19:41, Peng Lyu<EMAIL_ADDRESS>a écrit:

I think it's expected as focus change event is occurred on the first
file so the content of first file is saved.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/Microsoft/vscode/issues/17932#issuecomment-269806724

@yuyuki sorry that I might misread the description you put it there. Are you saying the content of first window is saved into the second window? If so then it's a valid bug.

It's exactly that.
Thank you to understand and I wish you the best for next year
Jaufré Devosse
Envoyé par BlueMail
Le 30 déc. 2016 20:01, à 20:01, Peng Lyu<EMAIL_ADDRESS>a écrit:

@yuyuki sorry that I might misread the description you put it there.
Are you saying the content of first window is saved into the second
window? If so then it's a valid bug.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/Microsoft/vscode/issues/17932#issuecomment-269808974

Thank you for your patience and happy new year! I'd like to ask just one more question, when you open two files in split windows, are you editing the same file in two split windows or two different files in different windows?
Right now from what I tell, editing the same file in two split windows with onFocusChange is ruined but I don't run into any issue if I'm editing two different files in different windows. Hope you can help confirm.

@yuyuki thanks for the video, it shows how the problem goes great!
However I still can't reproduce this issue even with the same files you are using. Could you please disable all extensions and see if you can still reproduce this?

This issue was moved to Lonefy/vscode-JS-CSS-HTML-formatter#44

I just found that it's caused by vscode-JS-CSS-HTML-formatter


Allow launch of unpublished tools and workflows with valid token

Handles #1202
Will need to return with tests

Coverage decreased (-52.1%) to 16.126% when pulling 4b9f061cbc1f4d13b169568e5c0ef067211bedbb on feature/launch_unpublished into 86894e10e15a96e5c82f890bcab5f209f3cc47d2 on develop.


Set Index in Dataframe

Hi,
Thanks for your job!
Just a little suggestion for the use of setting index into the Dataframe, makes it easier (more beautifull) to get attributes :)
Here an exemple
a = dimap.AbstractedMetadata.dataframe
a = a[a.Name == "PASS"].Value.iat[0]

o = dimap.AbstractedMetadata.dataframe
o = o.set_index("Name")
o = o.at["PASS", "Value"]

print(a==o)
>>>True

Best,
Ari

Hi @AriJeannin!
Thank you for this suggestion. This looks like a good idea. I will look into this when I have the time.


Allow usage of UI components when importing with SPM

Is your feature request related to a problem? Please describe.
I'm unable to use the FeatureFlagsViewController or associated UI classes when importing the framework via SPM. It looks like all the classes in the UI folder are being excluded, from what I can tell in the package file.
Describe the solution you'd like
I'd like to be able to use the UI classes when importing via SPM.
Describe alternatives you've considered
Use Cocoapods to import.
Additional context
N/A

Hi @colinhumber thanks for flagging - when I initially added the Package.swift to the project iOS wasn't supported by SPM therefore UIKit was unavailable. iOS has been supported by SPM for a long time now so there's no reason why the view controller can't be made available - I'll look to change this.

@colinhumber Available now in 2.6.4 https://github.com/rwbutler/FeatureFlags/releases/tag/2.6.4


Update the "Contact us" links

Update the "Contact us" link in the docs header AND footer to open a new tab for the following link-
https://meetings-eu1.hubspot.com/oalaluf/meet-with-oren

I'm taking care of this Issue in PR #439.


HAProxy Auth Basic sample

Basic authentication sample for HAProxy Ingress

This change is

Coverage increased (+0.04%) to 46.358% when pulling 73c9197df623fce08db8260bec2d886347e6b80e on jcmoraisjr:jm-haproxy-auth-basic into 84acaec58e903a3328d02b6e64a4273c0d9b30e0 on kubernetes:master.

/lgtm

@jcmoraisjr thanks!


Update Samples to be usable with Eclipse directly

Updating Sample files to be able to add to Build Path and use directly in Eclipse.
Makes it easy to manage sample source code to test with driver changes and upcoming JDKs.
Also updated driver version used to 6.4.0.jre9

Codecov Report

Merging #679 into dev will increase coverage by 0.09%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev     #679      +/-   ##
============================================
+ Coverage     48.16%   48.25%   +0.09%
- Complexity     2575     2580       +5
============================================
  Files           113      113
  Lines         26587    26587
  Branches       4436     4436
============================================
+ Hits          12805    12829      +24
+ Misses        11644    11624      -20
+ Partials       2138     2134       -4

Flag
Coverage Δ
Complexity Δ

#JDBC42
48.21% <ø> (+0.16%)
2578 <ø> (+8)
:arrow_up:

#JDBC43
48.08% <ø> (-0.02%)
2574 <ø> (+1)

Impacted Files
Coverage Δ
Complexity Δ

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
55.06% <0%> (+0.23%)
0% <0%> (ø)
:arrow_down:

...m/microsoft/sqlserver/jdbc/SQLServerResultSet.java
33.14% <0%> (+0.27%)
245% <0%> (+2%)
:arrow_up:

...ncurrentlinkedhashmap/ConcurrentLinkedHashMap.java
39.61% <0%> (+0.42%)
44% <0%> (+1%)
:arrow_up:

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
61.57% <0%> (+0.65%)
89% <0%> (+1%)
:arrow_up:

...rc/main/java/com/microsoft/sqlserver/jdbc/DDC.java
45.63% <0%> (+0.67%)
107% <0%> (ø)
:arrow_down:

...om/microsoft/sqlserver/jdbc/ReaderInputStream.java
47.19% <0%> (+2.24%)
16% <0%> (ø)
:arrow_down:

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 2982983...2eeb916. Read the comment docs.


<node pkg="miro_teach_repeat"

Launch files have this node package name.
But now it's called "teach_repeat"
So we'll need to edit these launch files.

Just pushed a fix - let me know if you still have issues.
Many thanks by the way for reporting those bugs!


Generate shadowsocks url

I runned the docker files of v2ray method in my cloud server and they are running. But since I'm a beginner, I don't now how to generate an shadowsocks url (the ones looking like ss://.... ) for the clients to connect to. Can anyone help me with this? It would also be a good idea to make the dockers generate the shadowsocks url automatically.

Usually, the android and ios clients have an option to export/copy the config you've entered in them.
So first fill config parameters in the client app, check if the config works, then find the export/copy button:

But If you want to create the URL yourself, here is the format:
PASSCODE = Base64Encoder(aes-256:PASS)
URL = ss://PASSCODE@DOMAIN:443?plugin=v2ray-plugin;path=PATH;host=DOMAIN;tls

https://www.base64decode.org/
https://meyerweb.com/eric/tools/dencoder/

Almost every client software has the function of sharing server node by QR or link, pls try to find in the menu.
As the development of different platforms clients are by individual persons, they might not  share same forms of QR or link sometimes, for example the windows desktop V2rayng doesn't share same form with IOS Shadowrocket app, so if you want to share node with others, ask what they use.


Flatpak Localization

Right now we need translation to Spanish. kolibri-installer-gnome already has translation infrastructure in place and all of the code has Spanish translations. However, the desktop and metainfo files aren't translated, and we likely want to change those strings, anyways.

Needs copywritting: Adapt the store listings metainfo for the Endless Key flatpak#20

I started looking into how to make this translatable -- it looks like we have some previous localization efforts that are not being used or just outdated.

As it’s in the backlog, I’m going to steal this. PR ready (assuming I’ve found the right .desktop and .metainfo files): https://github.com/endlessm/endless-key-flatpak/pull/32
After applying this and running meson compile -C _build kolibri-gnome-update-po, the following Spanish .po file is generated, ready to be translated:
es_ES.po.txt


[SQL Server] It is necessary to write the schema name in select query, if the schema is not dbo

System information:

Operating system (distribution) and version Win10
DBeaver version 7.0.4 EA

Connection specification:

Database name and version SQL Server
Do you use tunnels or proxies (SSH, SOCKS, etc)? No

Describe the problem you're observing:
It is necessary to write the schema name in select query, if the schema is not dbo.
Steps:

Select a schema in SQL Editor (except dbo) with a table (table_name)
Write a simple query select * from table_name

Actual result:

Error message appears: "SQL Error [208] [S0002]: Invalid object name."
The query is not executed

It is not a bug.
SQL Server sees table only in default user schema (and in system schemas).
Generally this is true for all databases. And this is why "default" schemas exist.


Unable to autocommand ZenMode in init.lua (neovim 0.6.1)

Hi
I'd like to automatically start ZenMode everytime a markdown file is opened. To that end I wrote to my init.lua (neovim 0.6.1):
vim.cmd [[
au FileType markdown,mkd ZenMode
]]
When a markdown is opened the plugin starts but the buffer is limited to the first page, ie I am unable to scroll down the file.
How am I supposed to call ZenMode? How can I call it together with other plugins (like Pencil)?

Thanks for your help

Try using WinEnter instead:
autocmd VimEnter *.md :ZenMode

Or just make a file .config/nvim/after/ftplugin:
:ZenMode

If I create a file after/ftplugin/markdown.vim with ZenMode in it, it half works but crashes. ZenMode is on, but the window has not shrunk to the center correctly.
If I do this:
vim.api.nvim_create_autocmd('BufEnter', {
  pattern = { '*.md', '*.txt' },
  callback = function()
    vim.cmd 'setlocal wrap'
    vim.cmd 'ZenMode'
  end,
  group = init_group,
})

Then it seems to not work at all, but when I try to toggle ZenMode I get:
E5108: Error executing lua ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:209: Failed to switch to window 1000
stack traceback:
        [C]: in function 'nvim_set_current_win'
        ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:209: in function 'fix_hl'
        ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:157: in function 'create'
        ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:68: in function 'open'
        ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:76: in function 'toggle'

It seems to work with VimEnter :) Does this make sense to anyone, I would like to know why it works.

WinEnter gives:
E5108: Error executing lua ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:209: Failed to switch to window 1000
stack traceback:
        [C]: in function 'nvim_set_current_win'
        ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:209: in function 'fix_hl'
        ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:157: in function 'create'
        ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:68: in function 'open'
        ...site/pack/paqs/start/zen-mode.nvim/lua/zen-mode/view.lua:76: in function 'toggle'
        [string ":lua"]:1: in main chunk

VimEnter seemed to work then stopped, BufEnter does not work. What is going on here?

past vim.cmd('autocmd VimEnter *.md :ZenMode') in the .config/nvim/after/ftplugin/markdown.lua
worked for me

The layout will only be correct if I have this code in place:
vim.cmd('autocmd VimEnter *.md,*.txt :ZenMode')

vim.api.nvim_create_autocmd(
  { "VimEnter", "BufReadPost" },
  {
    pattern = { "*.md", "*.txt", },
    callback = function()
      local zen_mode = require("zen-mode")

      zen_mode.open()
    end
  }
)

It'll then work when:

Opening a file from the terminal (e.g. nvim README.md)
Opening a file within Neovim (e.g. :e README.md)

What I noticed:

If I remove vim.cmd('autocmd VimEnter *.md,*.txt :ZenMode'), one of the use cases above will no longer work.
If I remove "VimEnter" from nvim_create_autocmd, it will also no longer work.
Adding just 2 times vim.cmd('autocmd with VimEnter and BufReadPost also doesn't work.

Any idea why this could be the case?


adding custom headers to config file & environment variable

Codecov Report

Merging #7 (9f8c080) into main (3ca3b9d) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #7      +/-   ##
==========================================
+ Coverage   84.45%   84.47%   +0.01%
==========================================
  Files          39       39
  Lines        1666     1668       +2
==========================================
+ Hits         1407     1409       +2
  Misses        189      189
  Partials       70       70

Impacted Files
Coverage Δ

cmd/server/server.go
81.81% <100.00%> (+0.27%)
:arrow_up:

pkg/handlers/middlewares/cors.go
100.00% <100.00%> (ø)

pkg/utils/config/config.go
97.22% <100.00%> (+0.07%)
:arrow_up:

Continue to review full report at Codecov.

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


Feature Request: Option to disable the book on spawn

When including the mod with lots of other mods in packs there are a ton of books that are given on login. Its usually better If we're able to just provide an akashic tome or similar with the relevant books. To enable this for pack devs, an option to not grant the book on login would be appreciated.

oh ok, will add that. Tho we will remove the book in the future and replace it with a more interesting book.

for what version, btw?

This is on 1.21 for an indev FTB Pack presently, NeoForge 21.0.113

okay :+1:

Added in https://github.com/Thepigcat76/pagan-blessing/commit/302c3f3c8c8aaeea8afaea906a80376069b02706


Update DefinitionResolver.php

from issue
https://github.com/felixfbecker/php-language-server/issues/326

As I already said before, this is not the fix. The bug is that type gets set to null, not that a null value isn't handled.


Add some common,now support multiple framework!

Add multiple framework support!

netcoreapp3.1;
net45;
net452;
net462;
netstandard2.1;
net50

Hey, thank you for your PR. But code was reformatted you should use 2 spaces instead of 4.

I already have implemented DotNet Standard 2.0 support, so you can use that library with all supported by DotNet Standard platforms.

I already have implemented DotNet Standard 2.0 support, so you can use that library with all supported by DotNet Standard platforms.


Add pool simulation automation

This workflow is for now configured to run on every commit, and every 3 hours. The generated reports are published here: https://edgedb.github.io/edgedb-pool-simulation/
In the following steps, I'll do the following:

Adjust the simulation pressure based on detected host performance.
Run the simulation for longer time in this workflow (like simply time x 10) for a more reliable result.
Yield a QoS score (relative to host performance) for each simulation, and warn about a sudden score drop.
(final goal) Add more simulations, and optimize the pool for non-starving situations like connection garbage collection, reusability, rebalancing, etc.

I'd change the sorting to make sure that the latest simulation is on top of the table.
But I have a bigger question: how will we use this? Like if there's a regression, how will we discover it? It's not like someone would browse these results every day.

I'd change the sorting to make sure that the latest simulation is on top of the table.

Good catch! Done.

But I have a bigger question: how will we use this? Like if there's a regression, how will we discover it? It's not like someone would browse these results every day.

Just added QoS score logic, the CI should fail if the score is below 80; but I think it's okay not to block PR merges for now.

Maybe we should also require that the score should be bigger than the score of the naive algo. But I see at least one sim where they're kinda bound to be the same.

That would be Sim 6 which I haven't found a proper scoring rule. As I continue to work on the single-db scenario, it might be soon necessary to have one. So yeah, checking that we beat the naive pool in QoS makes sense to me.


Managed Private Endpoint for Synapses is crashing terraform plan after it's approval

Hello everyone, I already looked for some errors like this before but any solutions helped me. Basically, I have the following scenario:

Create a stg, assign rule "Storage Account Contributor" for my pipeline, and transform this stg into a data lake;
Create Synapses and create a spark pool;
Use null_resource for az-cli to assign Synapse to stg (Networking > Resource Instance);
Create manage private endpoint;
Use null_resource for az-cli command and approve private endpoint.

My error occurs after step 5 and is represented in session 'Debug Output/Panic Output'.
I already tested some tips that address this type of error in the community like role and network issues. I research about the possibility to use some Terraform resources to approve private endpoints or created this link stg/synapses automatically approved but I'm not able to find anything.
My Synapses work properly after those steps. I'm not able to run any plan or work with Terraform anymore after this process.
Terraform Version
1.4.6
AzureRM Provider Version
3.54.0
Affected Resource(s)/Data Source(s)
azurerm_storage_data_lake_gen2_filesystem; azurerm_synapse_managed_private_endpoint;
Terraform Configuration Files
resource "azurerm_storage_account" "storage_account_syn" {
name                     = "xxxsyn"
resource_group_name      = "rg_test_name"
location                 = "location"
account_kind             = "StorageV2"
account_tier             = "Standard"
account_replication_type = var.storage_type
is_hns_enabled           = true
tags                     = var.tags
routing {
choice                      = "MicrosoftRouting"
publish_microsoft_endpoints = true
publish_internet_endpoints  = false
}
network_rules {
bypass         = ["AzureServices"]
default_action = "Deny"
virtual_network_subnet_ids = [
  vnet1,
  vnet2,
  vnet3
]

 ip_rules = [
  "xxx.xxx.xx.xx"
 ]

}
lifecycle {
ignore_changes = [
network_rules[0].private_link_access
]
}
blob_properties {
delete_retention_policy {
days = var.delete_retention_policy_days_stg_syn
}
container_delete_retention_policy {
  days = var.delete_retention_policy_days_stg_syn
}

}
}
data "azurerm_client_config" "current" {}
resource "azurerm_role_assignment" "role_assignmen_syn_sac" {
scope                = var.stg_syn_id
role_definition_name = "Storage Account Contributor"
principal_id         = data.azurerm_client_config.current.object_id
depends_on = [
azurerm_storage_account.storage_account_syn
]
}
resource "time_sleep" "role_assignment_sleep" {
create_duration = "60s"
triggers = {
role_assignment = azurerm_role_assignment.role_assignmen_syn_sac.id
}
}
resource "azurerm_storage_data_lake_gen2_filesystem" "filesystem" {
name               = "xxxdlsgsyn"
storage_account_id = azurerm_storage_account.storage_account_syn.id
depends_on = [
azurerm_storage_account.storage_account_syn,
time_sleep.role_assignment_sleep
]
}
resource "azurerm_synapse_workspace" "synapse_workspace" {
name                                 = "testsyn"
resource_group_name                  = "test-rg-name"
location                             = "location"
storage_data_lake_gen2_filesystem_id = azurerm_storage_account.storage_account_syn.id
sql_administrator_login              = var.mssqlsrv_admin_user
sql_administrator_login_password     = var.mssqlsrv_admin_password
managed_virtual_network_enabled      = true
managed_resource_group_name          = "test-rg-syn-managed"
public_network_access_enabled        = true
tags                                 = var.tags
lifecycle {
ignore_changes = [
azure_devops_repo
]
}
identity {
type = "SystemAssigned"
}
}
resource "azurerm_synapse_spark_pool" "synapse_spark_pool" {
name                 = "SmallSpark"
synapse_workspace_id = azurerm_synapse_workspace.synapse_workspace.id
node_size_family     = "MemoryOptimized"
node_size            = "Small"
cache_size           = 50
spark_version        = 3.3
auto_scale {
max_node_count = 9
min_node_count = 3
}
auto_pause {
delay_in_minutes = 15
}
}
resource "null_resource" "add_resouce_instance_syn_stg_syn" {
triggers = {
run_when_synapse_created = azurerm_synapse_workspace.synapse_workspace.id
}
provisioner "local-exec" {
command = <<-EOT
az login --service-principal
--username ${var.service_connection_client_id}
--password ${var.service_connection_secret}
--tenant ${var.tenant_id}
--output "none"
az storage account network-rule add
--account-name "${var.stg_name}"
--resource-id "${azurerm_synapse_workspace.synapse_workspace.id}"
--tenant-id "${var.tenant_id}"
--resource-group "${var.rg_name}"
EOT
}
depends_on = [
azurerm_synapse_workspace.synapse_workspace
]
}
resource "azurerm_synapse_managed_private_endpoint" "synapse_managed_pep_syn" {
name                 = "TEST-MPEP"
synapse_workspace_id = azurerm_synapse_workspace.synapse_workspace.id
target_resource_id   = var.stg_syn_id
subresource_name     = "dfs"
depends_on = [
azurerm_synapse_workspace.synapse_workspace
]
}
resource "time_sleep" "wait_60_seconds" {
depends_on = [
azurerm_synapse_managed_private_endpoint.synapse_managed_pep_syn,
]
create_duration = "60s"
}
resource "null_resource" "approve_synapse_managed_pep_syn" {
depends_on = [
time_sleep.wait_60_seconds
]
provisioner "local-exec" {
command = <<-EOT
az login --service-principal
--username ${var.service_connection_client_id}
--password ${var.service_connection_secret}
--tenant ${var.tenant_id}
--output "none"
id=$(az network private-endpoint-connection list -g "${var.rg_name}"
-n "${var.stg_name}"
--type Microsoft.Storage/storageAccounts
--query "[?properties.privateLinkServiceConnectionState.status=='Pending'].{id:id}" --output tsv)
az network private-endpoint-connection approve --id $id
--type Microsoft.Storage/storageAccounts
--description "Auto-Approved by Terraform"
EOT
}
}
Debug Output/Panic Output
Error: retrieving File System "xxxsyn" in Storage Account "yyysyn": datalakestore.Client#GetProperties: Failure sending request: StatusCode=0 -- Original Error: context deadline exceeded
│
│   with azurerm_storage_data_lake_gen2_filesystem.filesystem,
│   on zzzz.tf line --, in resource "azurerm_storage_data_lake_gen2_filesystem" "filesystem":
│  279: resource "azurerm_storage_data_lake_gen2_filesystem" "filesystem" {
Expected Behaviour
Since I just apply an null-resource to run az-cli command for approving a private endpoint I'm expecting in the next plan the message 'Not to update'.

Hi @erthalmvp - can you indicate which Azure Data Labs are you using?

Using azurerm but not Azure Data Labs modules directly, so not within data labs modules scope. https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs


Set proofing language in nsb format to English

See this thread:
https://stackoverflow.com/questions/36967416/how-can-i-set-the-language-in-text-with-python-docx

On second thought, this is just Andrew's problem.


Update ingressnodefirewall_types.go

removed omitempty

- What this PR does and why is it needed

- Special notes for reviewers

- How to verify it

- Description for the changelog

premature PR


Moment shouldn't be required to set the initial date

I am using SingleDatePicker and wish to set the initial date. I have noticed that the date prop is required to be a moment instance. The project I am working on is using another Date library meaning that right now I have to add an entire library just to set the initial date in the picker.
Can we have the option to use at least an ISO string instead?
Happy to submit a PR for this.

The entirety of react-dates needs moment, so you do in fact need to add the entire library regardless.

The entirety of react-dates needs moment, so you do in fact need to add the entire library regardless.

Right, but I think this poses an unnecessary restriction. Would it be possible to expose a formatter API or perhaps allow the startDate and endDate props to accept something a bit more neutral like an ISO string as @LewisYearsley suggested, and then internally, react-dates would make the conversion to a moment Object?

We depend on moment for locale information as well; react-dates can't be used without moment.
When the Temporal proposal lands in the language, we'll switch to use that.

We depend on moment for locale information as well; react-dates can't be used without moment.
When the Temporal proposal lands in the language, we'll switch to use that.

Thanks for responding! I completely understand the dependency for moment. I wasn't suggesting removing it entirely. @LewisYearsley and I are referring to the required prop type momentPropTypes.momentObj for certain props as mentioned here: https://github.com/airbnb/react-dates#daterangepicker

But your point is that since the library at the moment... depends on moment, then it's already part of your build, and you might as well use it until the Temporal proposal becomes table. And this makes sense! 👍
Thanks for answering our concerns! @LewisYearsley, this can probably be closed for now?


Remove wrong statement in library comparison

In your table you mention, that the Evernote library is only supporting a retry strategy with the JobScheduler and AlarmManager API. That's not true, you can also reschedule jobs with the GCM API. There is no difference between the APIs.
Fixes #40

I signed it!

Just to clarify: you can select a retry strategy with the Evernote library?

Yes, like so:
public class DemoSyncJob extends Job {

    public static final String TAG = "job_demo_tag";

    public static void schedule() {
        new JobRequest.Builder(DemoSyncJob.TAG)
                .setExecutionWindow(3_000L, 4_000L)
                .setBackoffCriteria(5_000L, JobRequest.BackoffPolicy.LINEAR)
                .setBackoffCriteria(5_000L, JobRequest.BackoffPolicy.EXPONENTIAL)
                .build()
                .schedule();
    }

    @Override
    @NonNull
    protected Result onRunJob(final Params params) {
        return Result.RESCHEDULE;
    }
}

This works with all APIs.

Awesome!


Testing

There's more tests that I want to add, but this PR is getting pretty beefy, so I'll add more in a follow up PR.
This PR adds:

unit test for the ui
sets up cypress + storybook for integration tests
fixes a few small bugs found from tests
bundle size checker

small breaking change:
the imperative handle for addFile, now only accepts one argument. use:
ref.addFile({
  op: "example",
  x: 10,
  y: 15,
});

instead of:
ref.addFile({ op: "example" }, 10, 15);

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

This isn't a big deal but in Elyra we named the cypress directory tests, maybe we could do that here as well

This isn't a big deal but in Elyra we named the cypress directory tests, maybe we could do that here as well

@marthacryan I think using cypress as the folder name is more common

@marthacryan I think using cypress as the folder name is more common

Ok that's fine


interpreter added, and an example of using paddlefx to profile resnet

a typical use case of paddlefx is using it to profile an existing model, without copy/edit the original model codes.
this use case is shown in examples/fx_profiling.py

里面包含 的 torch  字符, torch 的链接需要被 清理掉吗?


Make @Truffle/Hdwallet-Provider Work For Harmony

Description
Currently we are unable to use @truffle/hdwallet-provider (https://www.npmjs.com/package/@truffle/hdwallet-provider) for harmony network. Somehow the network_id/chain_id is omitted when signing txs using Harmony's ETH compatible chain ids (https://docs.harmony.one/home/network/wallets/browser-extensions-wallets/metamask-wallet).
Context
The error is as shown below, when you run: truffle migrate --reset --network testnet
Starting migrations...

Network name:    'testnet'
Network id:<PHONE_NUMBER>
Block gas limit: 80000000 (0x4c4b400)

1_initial_migration.js
Deploying 'Migrations'
Error:  *** Deployment Failed ***
"Migrations" -- blockchain chain id:2, given 0: invalid chain id for signer.
at ./.nvm/versions/node/v10.17.0/lib/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:364:1
at process._tickCallback (internal/process/next_tick.js:68:7)

Truffle v5.1.33 (core: 5.1.33)
Node v10.21.0
the testnet entry in truffle-config.js is:
const HDWalletProvider = require('@truffle/hdwallet-provider');
...
testnet: {
provider: () => {
if (!privateKeyTest.trim()) {
throw new Error(
'Please enter a private key with funds, you can use the default one'
);
}
return new HDWalletProvider(
privateKeyTest,
'https://api.s0.b.hmny.io'
);
},
network_id:<PHONE_NUMBER>,
},

https://youtu.be/6JVJR1MC9qM (The video)


making errors clearer

Codecov Report

Merging #9 (8148ffe) into main (7cf2008) will increase coverage by 2.86%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
+ Coverage   87.80%   90.66%   +2.86%
==========================================
  Files          12       12
  Lines         205      225      +20
==========================================
+ Hits          180      204      +24
+ Misses         25       21       -4

Impacted Files
Coverage Δ

...trepion/intrepion-server/tests/api/health_check.rs
100.00% <ø> (ø)

...trepion-server/src/routes/programming_languages.rs
100.00% <100.00%> (+17.39%)
:arrow_up:

...ntrepion-server/tests/api/programming_languages.rs
100.00% <100.00%> (ø)

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 7cf2008...8148ffe. Read the comment docs.


doesnt work in production build

when i run npm run development, i can see the editor and all the controls, but when i run npm run production the editor controls are listed and there is no editor

Hi, @duncanokeyo
It looks like the css file is not loaded.
Um.. Is the css file also imported?

Hey man, nice work!!
I have a problem when I'm trying to use the pt_br (brazilian portuguese) language, in suneditor-react/misc/getLanguage.js was missing the case option.
case 'pt_br':           return require('suneditor/src/lang/pt_br');
But it still doesn't work, do you have some idea?
And investigating other files, I saw that in suneditor-react/dist/main.js there's not indicating to pt_br language.
Thanks, you're helping me a lot.


Bug in localStorage when editing table.data directly

I created a database with alasql and applied my desired testing data with it by mydb.tables.mytable.data perfectly. However, something strange exists when I try to store it with localStorage
providing the javascript here :
alasql('CREATE localStorage DATABASE IF NOT EXISTS lsdb');
alasql('ATTACH localStorage DATABASE lsdb AS db');
var db = alasql.Database('db');
db.exec('CREATE TABLE IF NOT EXISTS db_01 (foo STRING)');
db.tables.db_01.data = [{
  foo: "text_foo"
}];
document.getElementById('output').innerHTML += JSON.stringify(db.tables.db_01.data) + '
';
document.getElementById('output').innerHTML += localStorage.getItem('lsdb.db_01')+ '
';
document.getElementById('output').innerHTML += JSON.stringify(db.exec('SELECT * FROM db_01')) + '
';
document.getElementById('output').innerHTML += JSON.stringify(db.tables.db_01.data) + '
';

fiddle : alasql_localStorage_bug
Attached is a full HTML page to reproduce the problem, but with a extension .txt since github don't support HTML uploading
alasql_localStorage_bug.txt
EDIT: PS: currently I can only do things properly by creating a normal DATABASE and then save it to localStorage by JSON.stringify(db.tables.db_01.data)

Thanks for taking the time to identify this...

Any following action on this issue?

I have checked out codes in 92localstorage and found that the problem may be caused by the fact that the localStorage engine try to put and get data directly into and from localStorage, hence the traditional way to access all data in the table cannot be used.

This is awesome - thanks ! I will digg down into this next time I get some time :)

Well, sir, may I get your solved code then? I just found the last commit on develop branch is 12 days ago, did you push it?

@michaellee8 I know - i have had very little time.
Would it be possible for you to make a PR with yoru code? https://github.com/agershun/alasql/blob/develop/CONTRIBUTING.md

Nope - its not working yet...

try to provide a setData(data) and getData(data) for all tables, and specify its destination array for tables using localStorage to the localStorage entries directly

I like the idea of setData but dont really feel confident about the  getData that basically replaces "select * from XXXX"


should be return the  err directly ?

Discussed in https://github.com/containerd/containerd/discussions/7726

Originally posted by louishlz November 28, 2022
https://github.com/containerd/containerd/blob/24020812bb1a36b124ec6ac431001d9623e71ecd/container.go#L394
eg: the client can use errdefs.IsNotFound(err) statement!
eg:https://github.com/containerd/nerdctl/blob/main/cmd/nerdctl/rm.go#L165

invalid


[Feature]

Dear Agora Developer,
I am writing to request your assistance in implementing a real-time chat service that supports file sharing, video and audio transmission on the WebGL platform.
As you are aware, your Web SDK is a powerful tool that enables developers to create real-time communication applications across different platforms. However, I have been facing some challenges in implementing the required features on the WebGL platform.
I am particularly interested in integrating a real-time chat service that allows users to send and receive files, as well as transmit video and audio data seamlessly. I believe that this will greatly enhance the user experience and make our application more useful to our customers.
I would appreciate it if you could provide me with guidance on how to implement these features using your Web SDK. Additionally, if there are any resources or examples that could help me get started, I would be grateful if you could share them with me.
Thank you for your attention to this matter. I look forward to hearing from you soon.
Sincerely,
Titan Tran

Hi there, in general what you mentioned here will require the Signaling SDK for in-app communications. The Signaling (aka RTM) is not available for WebGL.  For file sharing, you need to find other solutions, including implementing your own libraries to do that.


user testing

find 3 members and see how they do with the UI
Nora, Lilia, Daryl, Rao
voter and secretary roles

script:
thank you for participating in user testing of the user experience using a voting application proposed to be used for the rchain annual member meeting. The object of this process is to identify issues to help us make the interface as self evident as possible. This session will be recorded and published on youtube as unlisted. A link to the video will be posted in a comment on github if you have no objection. Please turn your camera n if you are comfortable doing so in order for us to see your emotional reactions while using the interface. Do you have any questions before I start the recording?
We are recording. Thank you again  for participating in user testing of the user experience using a voting application proposed to be used for the rchain annual member meeting.  Please go to the url I have entered in the chat https://rv2020-m3.netlify.app/ballot.html and begin the voting process. Talk aloud about what you are thinking while figuring out what to do without asking for help unless you are really stuck.
wait until user reacts generally to the interface. then ask user to share screen
Ask for overall comments  and suggestions upon completion of voting

Nice work on the script... Is it fair to confirm that the tester has their gov REV address before asking them to vote? Or should that be part of the test?

eric:
it was not apparent that pick account would open metamask
i do not know why i am seeing code, not a good user interface feature
checking result should go on bottom, not expecting on top.
did not have any test rev, had to send some.
fairly straight forward.
should be able to get more info on vote choice
later comments:
get questions was a bit confusing. questions should automatically come up

If necessary people need to know how to get test rev
We should check there balance and get test rev if they need it.
for not we can go to
http://kc-strip.madmode.com:7070/docs#/default/faucet_testnet_faucet__address__get
but
curl -X GET "http://kc-strip.madmode.com:7070/testnet/faucet/111126V8eph94c8cQQLhRJ6D3zRbaaFPiyHRViR3kwaUUxpsktgxAE" -H  "accept: application/json"
currently gets a server error.

Should 'Get Questions' be renamed 'Get Ballot' ?
The text on the bottom (foot notes) should be on the very top, so people can read if they need to familiarize themselves.
The metamask piece may need to be specifically re-written with just the details needed for the voting?
The current first sentence (on the top) should be reworded accordingly once the bottom links are moved to the top.
There should be a listing of the steps the user needs to go through to complete the voting.

9rb are those notes from a user testing session? If you're reporting your own feedback, please just make issues. Let's keep this issue scoped to user testing by a trained observer.

yes, those are from my session with Jim that I just completed

We're seeing themes here...

Should 'Get Questions' be renamed 'Get Ballot' ?

much like #71

The text on the bottom (foot notes) should be on the very top
The current first sentence (on the top) should be reworded ...

like #70

The metamask piece may need to be specifically re-written ...

#68

There should be a listing of the steps the user needs to go through to complete the voting.

#63

lilia:
what do i do next? do I have to pick an account, long delay, which address?
metamask not in safari, need to run chrome or firefox
did not see checking result
are we done yet? feedback needed.
video https://youtu.be/kAtsYS6Z3NQ

Jim and all, here is my voting experience feedback:

when i started the voting process, i was working from Safari, my Metamask was running in Chrome, so needed to change from Safari to Chrome in order to continue with my voting (it depends on which system (Safari, Chrome, Windows etc) the member is using, it would be helpful to notify them before voting begins, it saves time, just a thought)
another thing it would be helpful is to have a simple demo or instructions with simple steps (this is for non techie members) on how to use the system for voting. as a non techie person, i would like to have something like this received via email for reference in case I get stuck somewhere while i'm in the process of voting.
will the member receive a URI link via email before voting begins so they can carefully verify it against official communications from the RChain secretary? (this was not clear to me)
after i submitted my vote, i had to scroll up the page in order to see the status of my vote. i would like to suggest to change the waiting results status location. maybe under the "Submit" button would be better? (just a thought)

Overall, i had a great voting experience, it was not so scary as I thought initially:)

darryl:
has no metamask.
use same 12 word key phrase as from myrchainwallet as for  coop voting ?!
has private key also
invalid seed phrase.
creating new account
https://status.rchain.coop/testnet/faucet/
carefully review address sent from secretary very confusing. [if verifying that really needed? do not prove anything.]
what does submit query mean
status at top scrolled off screen
no way i would have guessed (true, true,.... meant success
not self evident, need to go through it a few more times to practice before comfortable voting.
video https://youtu.be/59EuZYwCGvA

carefully review address sent from secretary very confusing. [if verifying that really needed? do not prove anything.]

yeah; that was goofy; gone as of ace85b7 deployed at https://rv2020-beta.netlify.app/

what does submit query mean

also goofy and gone in ace85b7

status at top scrolled off screen

I added a fixed area at the top... I guess the status should go there. TODO.

no way i would have guessed (true, true,.... meant success

IOU a new issue on that.

nora
(notes to be added...)
video https://youtu.be/ApKdcqE56s4

excellent work @jimscarver and company


Major Depepedency Updates

This is a list of dependencies that were not updated in https://github.com/thehubbleproject/hubble-contracts/pull/563 and that would be good to upgrade in the future. Feel free to add others as you run into them.
Larger updates in here should be split into new issues.
NodeJS
Update to latest LTS v14

We may want to add an engines entry to our package.json for LTS versions v10 - v14
We may want to add build matrix entries in Github Actions for v12, v14 that we only run on merges to master/releases

prettier
https://www.npmjs.com/package/prettier
Update to latest v2
@typechain/ethers-v5
https://www.npmjs.com/package/@typechain/ethers-v5
Update to latest v6
Delay updates
@openzeppelin/contracts
https://www.npmjs.com/package/@openzeppelin/contracts
Update to latest v4

Requires solidity v0.8
Note section How to upgrade from 3.x in https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.0.0 , includes upgrade script.

We could delay the upgrade of mcl-wasm, as hubble-contracts will not directly depend on mcl-wasm after #565.
We shouldn't upgrade Solidity to v0.8 right now. The contracts are audited, upgrading to Solidity v0.8 will bring breaking changes and unexpected behaviors.

Thanks for input @ChihChengLiang , removed mcl-wasm in favor of https://github.com/thehubbleproject/hubble-contracts/issues/565 and moved Solidity update to a delayed section.
I will likely break more of this up next week.

Split this up into multiple issues so work is better broken up.

OpenZepplin/Solidity v0.8 https://github.com/thehubbleproject/hubble-contracts/issues/566
NodeJS v14 https://github.com/thehubbleproject/hubble-contracts/issues/567
Prettier v2 https://github.com/thehubbleproject/hubble-contracts/issues/568


Does wearing glasses have an effect on the depth information in the eye?

| Camera Model                       | D415 |
Issue Description
I obtained some facial data, but some people are wearing glasses and the rim of the glasses has depth information, but I am not very clear whether it will affect the expression changes in the eye area。

Hi @nevynwong  The links below provide information about the possible impact on facial scans of wearing glasses / sunglasses, or depth-sensing reflective glass surfaces in general.
https://support.intelrealsense.com/hc/en-us/community/posts/1500001030982/comments/1500000889522
https://github.com/IntelRealSense/librealsense/issues/7570#issuecomment-708390636
https://support.intelrealsense.com/hc/en-us/community/posts/360049209254-SR300-depth-detection-method-and-night-performance

Hi @nevynwong  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


Using Profiler class, from the utils package, instead of System.currentTimeMillis()

Class ClusterServiceServletImpl was using System.currentTimeMillis() in order to measure a method execution time . We have a Profiler class, under the com.cloud.utils package, so I'm trying to make the use of that class consistent.
The PR is split in 2 commits: one for the formatting changes; and the other for applying the Profiler usage.

this is not just more consistent but also more accurate timing as the time calculation is not done in a string concatenation.
LGTM


EU validation tools and invalid xades signature format

HI!

However it is likely users will not have an encyclopaedic knowledge of XAdES. So the other aspect is to allow less expert users provide a minimum amount of information and ...

I'm a user of this type ;) . We are learning about certifications but is a new world for us! It's hard! Thanks for your package, makes life easier for users like us.
I've found a great validator for ades signatures from EU
https://ec.europa.eu/cefdigital/DSS/webapp-demo/validation
If I upload your test xml http://www.xbrlquery.com/xades/hashes for nba with signature.xml the validator says that the signature format is: XADES-BASELINE-B

But if I upload my xml signed  (with deferred option= false) with my certificates, it says that the signature hasn't a xades format (XML-NOT-ETSI) Reason: The structure of the signature is not valid!

What is happening? Can you help me?

I'll try my best to provide helpful information but I think I'm someone who is blind leading the blind.  In a moment I will refer to 'OCSP' which is a protocol certificate authorities can use to confirm to a client (such as a browser of a XAdES checker) that a certificate is valid.
Validators
I can't really comment on how the EU validator works.  As I mention in the README I use the validator created by ETSI who are the ESO that created the specification.  My recommendation is that you follow the link in the README and ask for a username and password.  The wonderful thing about the ETSI validator is that it provides element by element validation of the signature.
You will see in the README a link to a response by  Juan Carlos Cruellas to my question about the versions of the specification.  This repository is managed by staff within ETSI who are responsible for the specification and related tools.  They may be able to help with information about the checker you are using (they may have created it).
Response to my signature
So, to the responses you have received.  The first one looks OK in the sense that the checker has identified the signature is an XAdES baseline form.  The failure is also correct.  The signature you used from my site stores both the certificate used by me and the certificate of the issuing CA.  However, the issuing CA is also me but there is no OCSP responder for the CA at the moment. This means when a validator tries to verify the certificate chain it will fail because my CA will not respond to confirm the root certificate is currently valid.  As a result, the signature can be validated but the certificate chain verification problem means the signature status is indeterminate. Remember, any CA might fail to respond correctly because of an network error and this is why, I think, the status is reported as 'indeterminate' not 'error'.  They will expect a validator to try again later and then make their own judgment call about the safety of the signature.
By the way, this is why the 'C' and 'A' forms described by the specification exist.  For a signature to be rock solid it should also include a timestamp and information such as a valid OCSP response from a CA that the signing certificate was valid at one point.  This OCSP response should also be timestamped.  This way, when a signature is verified in the future, long after the certificate expired, a verifier will be able to review the timestamps and OCSP responses to confirm the signing certificate was valid at the time the signature was created.  As mentioned in the README the code provides theoretical support for these 'C' and 'A' forms but it is completely untested at the moment.
Response to your signature
Your example is failing for a different reason.  As you can see at the end of the screenshot, the checker confirms the signature is valid.  However, the certificate you have used is not good enough for it.  Depending upon the policy being used, an XAdES signature may need to be created using a certificate generated by a Secure Signature Generation Device.  This is the reference to QSCD (Qualified Electronic Signature Creation Device).  Sounds ominous but its really just a web site though it could be something else.
The problem QSCD is trying to solve is to answer the question: how do you know the person creating the signature has the necessary authority to create the signature?  I could sign the Microsoft year end financials (reported to the SEC using an XML-based format called XBRL) using my own certificate but it would mean nothing.  So ETSI and the other ESOs have come up with the idea that certificates used to create signatures must have been created by an appropriate QCSD if the policy demands it.
It seems that EU checker does demand that for a signature to be valid, the signing certificate must have been created by a QSCD.  As your certificate is not from a QSCD this part of the signature verification fails.
A QSCD is just a site owned and managed by a company that is on a list of valid companies.  To get on the list, companies must agree to abide by a set of rules defined in an EU directive and agree to have their operations audited on request.  These companies are expected to undertake background checks on individuals requesting a certificate to verify they are who they say they are.  For example, in order for an auditor to be able to sign the financials for a Netherlands company, their certificate must have been generated by a QSCD recognised by the NL government which has verified the auditor is a member of the Netherlands institute of chartered accountants.

I've a solution. Is about how the public key is stored in the xml.
I use a .p12 key to sign
        openssl_pkcs12_read(
            file_get_contents($sign_certificate),
            $certData,
            $sign_certificate_password
        );

     XAdES::signDocument(
            new InputResourceInfo(
                $path_xml, // The source document
                ResourceInfo::file, // The source is a url
                $file['dirname'], // The location to save the signed document
                $file['filename'].'_sign', // The name of the file to save the signed document in,
                null,
                false
            ),
            new CertificateResourceInfo( $certData['cert'], ResourceInfo::string ),
            new KeyResourceInfo( $certData['pkey'], ResourceInfo::string ),

My xml signed look like this
<ds:KeyInfo><ds:X509Data><ds:X509Certificate>-----BEGIN CERTIFICATE-----
MIIIhzCCB2+gAwIBAgIQElPSyUiEif1gsNsmOSEY/jANBgkqhkiG9w0BAQsFADBN
MQswCQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNFUkVT
...
...
...
qd/n2u37sco1W6n8MA3NodDKKLpob+hJskY4
-----END CERTIFICATE-----
</ds:X509Certificate></ds:X509Data></ds:KeyInfo>

If I delete manually in the xml '-----BEGIN CERTIFICATE-----', '-----END CERTIFICATE-----' and delete all the breaklines (having the certificate in a single line) the validator show me that the xml have now Xades format

I've tried to delete the strings and the breaklines before sent to the signDocument function, but I got an exception
"message":"Unable to find the file
MIIIhzCCB2+gAwIBAgIQElPSyUiEif1gsNsmOSEY/jANBgkqhkiG9w0BAQsFADBN
MQswCQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNFUkVT ...
....
raUCwSqXFBsqmFbTVht+qnmwQmguJvjlOEO6bJhsOw5062+u/d67vdT1z7Dx+dcR
qd/n2u37sco1W6n8MA3NodDKKLpob+hJskY4

","error_trace":"#0 /home/vagrant/laravel/vendor/lyquidity/requester/src/OCSP/CertificateLoader.php(46): lyquidity\\Asn1\\Exception\\Asn1DecodingException::create()
#1 /home/vagrant/laravel/vendor/lyquidity/xml-signer/src/XAdES.php(880): lyquidity\\OCSP\\CertificateLoader->fromFile()
#2 /home/vagrant/laravel/vendor/lyquidity/xml-signer/src/XAdES.php(380): lyquidity\\xmldsig\\XAdES->createQualifyingProperties()
#3 /home/vagrant/laravel/vendor/lyquidity/xml-signer/src/XAdES.php(142): lyquidity\\xmldsig\\XAdES->signXAdESFile()

Thanks for your comment! I'm writing the last comment at the same time.
I will request a user/password to try too!
About the QSCD I´m waiting for a new company private key provided by a company, I will ask if is signed with a QSCD

You need to let the signer know it is being passed a certificate in a PEM format (with the ----BEGIN CERTIFICATE----) stuff.  By default when a string resource info type is used its assumed the string is just the base64 encoding (like after your manual change).  To let the signer know the format of the certificate is PEM 'or' this flag with the string flag:
new CertificateResourceInfo( $certData['cert'], ResourceInfo::string | ResourceInfo::pem )

When a file is used, a PEM type is assumed so the pem flag is implicit.
Your question lets me know its time to add more information about some of these features of the code base.

PS  Technically, the same is true of the resource info for the private key.  However since this is never stored and the openssl function s know how to handle a key in any format, its not important.  A reason for including the pem flag in the key resource info is to let future developers know.

Using new CertificateResourceInfo( $certData['cert'], ResourceInfo::pem ) get the following error:
"message":"The resource supplied representing the certificate to be recorded in the signature is not valid.","error_trace":"#0 /home/vagrant/laravel/vendor/lyquidity/xml-signer/src/XAdES.php(142): lyquidity\\xmldsig\\XAdES->signXAdESFile()

The  $certData['cert'] value is a string :
"-----BEGIN CERTIFICATE-----\nMIIIhzCCB2+gAwIBAgIQElPSyUiEif1gsNsmOSEY/jANBgkqhkiG9w0BAQsFADBN\nMQs ... hJskY4\n-----END CERTIFICATE-----\n"

The issue is that you have gone from ResourceInfo::string to ResourceInfo::pem  These values need to be 'or'd together as I show in the previous post. If you leave out  ResourceInfo::string the signer will assume you are providing a path to a file.  However you are providing a PEM so when the signer tries to read the file it fails and reports an error.  Again, you need to use:
new CertificateResourceInfo( $certData['cert'], ResourceInfo::string | ResourceInfo::pem )

By using ResourceInfo::string | ResourceInfo::pem you are declaring that the resource is a string which contains a certificate in a PEM format.

OK! I didn't understand you, sorry!
It's works! Excellent!!
Another time, thanks for your help and your time! Now, we are try to timestamp the document
Thank you again @bseddon

If you try to create a timestamp using the default timestamp authority you may need to provide a certificate bundle.  The TSA request may fail if you do not provide one.  The easiest way to provide a bundle is to set a global to the path to your bundle:
global $certificateBundlePath;
$certificateBundlePath = "...path to my bundle file...";

I will use


Speed and efficiency

Is there a way we can increase the speed of scanning for this plugin, or are we really limited by the Cameras and their firmware in their phones?
For example, Android phones seem to focus in intervals to try catch focus of the QR Code etc.
Are there some clever things we can such as trying to read a QR Code/Barcode when blurry and sharpen it to get enough detail to recognize it? All in real time?
Also how old is the Zxing library we are using? Is it worth updating it?

Scan took 8s or so, this is considered very slow in my opinion.
Imagine the users have to scan tons of products with such speed.
It shame ZBar has impressive speed and faster than this plugin. I would prefer to use this plugin instead if only it's faster since the options and result callbacks are neat.
But speed comes to first priority, so i had to choose ZBar until this issue solved.

For me, scanning speed is random, sometimes it takes forever, sometimes it's done in second.
It seems to me that text and graphic near bar code is interfering with scanning.
Also, returned value is sometimes inaccurate. In my case I'm scanning ITF code, and value should always be 16 numbers, but sometimes the length is shorter.
For comparison, I used app Barcode Scanners from Google Play and it's always fast and accurate.

any update on this?

Same problem here, slow on Android, fast on iOS.. working with this on Android is not done for now...


speed of page loading

I notice yesterday and  today that page loading is slightly slower than usual. I see the "fotter" message  for a second or so before the page loads. Of course this could be my increasingly bad connection....

I think it's probably at your end.  I haven't changed anything that could make a difference.  shift-reload might be a little slower because the documentation has added to the size a bit.

yeah its really rubbish this week, will phone Virgin media shortly (again)


[Rust Planner] Reduce image size by using binutils, and copying built binary

Summary
Reduce image size by

Replace gcc with binutils in the Runtime image. I'll confess to not fully
understanding why this works:

gcc is needed in the DevPackages for the Build Stage. Replacing it with binutils yields the "Linker 'cc' not found" error.
but either gcc or binutils work for RuntimePackages in the StartStage. Why?

Copy just the specific built binary to the Runtime image.

How was it tested?
Using the basic testdata/rust/rust-stable-hello-world project:

before, size of image = 320MB
after, size of image = 114MB

Current dependencies on/for this PR:

main

PR #132   👈

This comment was auto-generated by Graphite.

Tests are failing due to this getFileNames logic in devbox_test, which I don't quite understand the motivation for: https://github.com/jetpack-io/devbox/blame/26e7e8297aa5e4e31f9926328d98fbf62fc375a2/devbox_test.go#L58-L64


More descriptive query string parse errors

As the API becomes richer, it would be good to get a descriptive error message when the query string fails to parse, rather than merely "Invalid query string in GET" or "Invalid query string in POST". This would require changing to using Result rather than Option in params.rs, but would otherwise not be a far-reaching change.

Fixed by https://github.com/GaloisInc/myxine/pull/50.


perf: ⚡ utilize disk cache for groups/all

Disk based cache implementation for #77

closing for now will reopen in future


VS2019 v16.9.0 - needed update tools\thirdparty...\thirdparty.lib

If not recompile have ERROR C1047 and link fatal error LNK1257 like:
Windows: Windows NT 6.1.7601.0
WindowsSDK: 19041 (16.9.31004.209)
VisualStudio: VisualStudio / 16.9.0 + 31025.194
Building ... 3.0.8395.3868 (ae3164e) [master]
[00:00] Building ProcessHacker (x32) ...
[ERROR] (1) LINK: fatal error C1047: The object or library file ".\Phlib.lib" was created in a different version of the compiler than other objects, for example, ".\About.obj"; all objects and libraries will be rebuilt using the same compiler version [.\ProcessHacker.vcxproj] LINK: fatal error LNK1257: Failed to generate code [.\ProcessHacker.vcxproj]
I recomple all tools/thirdparty/.../thirdparty.lib and build success w/o Terminator plug-in - needed path  (diff)
---  ./TerminatorPlugin/kph2data.c	  Git 0ad3cac4b
+++  ./TerminatorPlugin/kph2data.c        working copy
@@ -233,10 +233,24 @@
 {
     ULONG majorVersion, minorVersion, servicePack, buildNumber;

-    majorVersion = PhOsVersion.dwMajorVersion;
-    minorVersion = PhOsVersion.dwMinorVersion;
-    servicePack = PhOsVersion.wServicePackMajor;
-    buildNumber = PhOsVersion.dwBuildNumber;
+    RTL_OSVERSIONINFOEXW versionInfo;
+    majorVersion;
+    minorVersion;
+    servicePack;
+    buildNumber;
+
+    memset(&versionInfo, 0, sizeof(RTL_OSVERSIONINFOEXW));
+    versionInfo.dwOSVersionInfoSize = sizeof(RTL_OSVERSIONINFOEXW);
+
+    if (!NT_SUCCESS(RtlGetVersion(&versionInfo)))
+    {
+        return STATUS_NOT_SUPPORTED;
+    }
+
+    majorVersion = versionInfo.dwMajorVersion;
+    minorVersion = versionInfo.dwMinorVersion;
+    servicePack = versionInfo.wServicePackMajor;
+    buildNumber = versionInfo.dwBuildNumber;

     memset(&Package->StructData, -1, sizeof(KPH_DYN_STRUCT_DATA));

or plugin is build failure....

The terminator plugin is archived and does not exist in this repository.

Ok! Then I'll kick him out, although the guys ask him. But for me personally, it came in handy three times over the years ...


Getting Cannot find module 'chevrotain' error when running unit test using jest

Greetings,
Recently I converted my react project to ESM. Everything works fine until it comes to unit testing. I am using chevrotain latest version ^11.0.0 in my project. While running unit test using jest I am getting the following error:
$ npm run test tokens.test.ts

<EMAIL_ADDRESS>test
jest --coverage "tokens.test.ts"

FAIL  src/tokens.test.ts
● Test suite failed to run
Cannot find module 'chevrotain' from 'src/tokens.ts'

Require stack:
  src/tokens.ts
  src/tokens.test.ts

> 1 | import {createToken, CustomPatternMatcherReturn, IToken} from 'chevrotain';
    | ^
  2 | import {NF} from './Constants';
  3 |
  4 | export const DSEP = '//';

  at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
  at Object.<anonymous> (src/tokens.ts:1:1)
  at Object.<anonymous> (src/tokens.test.ts:5:1)

The test runs fine when using the older version (^10.0.0) of chevrotain. I think the issue is related to the latest version of chevrotain as no other modules have this issue.

@Jayakrishnan-MS Are you sure that jest is running the code as ESM? The import in line 2 doesn't look like an ESM import:
import {NF} from './Constants';

ESM requires to add the file extension to the import, unlike CJS which just appends it if it's missing. That would also explain why Chevrotain 10 was working, which delivered a CJS package.

Yeah, you are right. Jest is running the code in CJS  even though my project is in ESM. So the error occurred since Chevrotain 11 is ESM-only and jest tries to run it in CJS. So I guess the workaround is to enable ESM support in Jest by running Node.js with the --experimental-vm-modules like this:
{
"scripts": {
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
}
}
But this will affect my other imports. So I'll stick on with the Chevrotain 10 in my project.
Thanks for the suggestion!!

I couldn't make jest work with 11.  Downgrading to 10.5 for now

Looks like Jest support for ESM relies on experimental APIs

https://jestjs.io/docs/ecmascript-modules

Same here, downgrading to 10.5 to make it work.
If you find a fix, please let us know :pray:

yes, downgrading to 10.5.0 works fine, but with 11.0.3 tests failing

You could probably bundle Chevrotain as a commonJS module in your project's postinstall script
and consume it via the bundled version to work around ESM compatibility issues.


Num lock should always be enabled!

It's horrible every time I go to the numeric keypad and the Num Lock is disabled. Numeric keyboards should always be enabled. It would be really cool if there was a resource to lock the Num Lock key.

Duplicate of #1196