Wamp scram prototype

See https://github.com/wamp-proto/wamp-proto/issues/135

Awesome! This looks quite good already. I am +1 on merging this soonish .. when the CI gets green;) So we can test it already early on and fix design gaps/issues as we eat our dog food;)

Okay, what it needs:

some refactoring and unit-tests on the basic argon/scram stuff (and also re-use some of it in crossbar impl)
doesn't support PBKDF2 at all
doesn't do anything at all about channel-binding (but, this maybe needs more spec work too?)
do we want channel-binding to be optional? (I guess it has to be, "because JS", right?)

Things to note (but I think these are fine):

all the config values (for crossbar and client end) use hex-encoded binary (but most of the actual protocol-traffic encodes blobs using base64). Hex is more-consistent with existing crossbar/client things.

What needs to be thought about:

I'm using "authextra" for everything (which is NOT what the spec says); do we change the code or the spec? authextra is "kind-of more for user-level extra stuff" so are we abusing this by using it like this?
do we want a more-explicit "post auth" tie-in for all authentication types? (Right now, I'm adding my own on-join handler that double-checks the server signature -- this works fine, but it's possible some other on-join handler will run first and you'll do some "real work" before the server-signature is checked)
argon2idparameters and knobs: one "cost" thing for both pbkdf2 + argon2i, or expose everything
is wamp-scram plus an algorithm identifier (of either argon2id-19 or pbkdf2) what we want to do? (same as my suggestion on the wamp-proto bug)
we're not quite following the SCRAM RFC here: "real" SCRAM says SHA1 always has to be supported (for example).
if we're "abusing" the RFC and using SHA256 anyway (which I think is fine) then maybe we want to consider using BLAKE2b instead? (Better/faster than SHA-3, has built-in support in Python3, not sure about Python2). This would be for all the HMAC calls and the SHA. Probably should discuss in the "wamp-proto" issue instead

Oh, library considerations: I used passlib for its saslprep util to process usernames according to the RFC (because in my venvs it was already installed) but it appears we don't currently depend on that. Do we want to?
argon2_cffi looks like "the" good argon2 library. Do we want to blindly/always depend on it, or do more like how we handle NaCl (import the argon2i library only if something tries to do SCRAM and fail then if its an import error)?

@meejah rgd the new dependencies: I assume these are MIT or sth? no problem then, I guess if we want to stick to our pretty fine grained approach of "extras" (https://github.com/crossbario/autobahn-python/blob/master/setup.py#L192), we could either put the deps into "encryption", or into a new extra "authentication"?

do we want channel-binding to be optional? (I guess it has to be, "because JS", right?)

yeah, at least JS from browsers cannot do that. no API. which is bad, because it means that any non-native authentication scheme cannot protect against the attacks that can be mounted when the authentication handshaking isn't tied to the underlying transport encryption .. I guess. maybe there is a different way of mitigating the same set of attacks, dunno.

is wamp-scram plus an algorithm identifier (of either argon2id-19 or pbkdf2) what we want to do? (same as my suggestion on the wamp-proto bug)

if we can get away with 3 parts separated with 2 x "-", that is no "-" in the parts themselves, the 3rd part can totally be the algorithm. this allows the client to express a preference (by supplying multiple wamp-scram schemes, with different algos, in order), as well as let the server chose from that list (under server preference). as the client will get challenged with the full scheme chosen by the server, this allows both side to effectively negotiate for the algo to be used under wamp-scram as well. sounds good!

we're not quite following the SCRAM RFC here: "real" SCRAM says SHA1 always has to be supported (for example).

so they really expect implementors to must support deprecated hashes? mmh. as this scheme (wamp-scram) is used by wamp implementations, we can very well tighten that up, I'd say. so we just require the hash to be used for wamp-scram to be from a tigher set.

argon2_cffi is MIT, passlib is BSD

I'm using "authextra" for everything (which is NOT what the spec says); do we change the code or the spec? authextra is "kind-of more for user-level extra stuff" so are we abusing this by using it like this?

yeah, this is abusing it;) it is meant for user stuff. mainly, to forward arbitrary data to a custom dynamic authenticator at the router side. so actually, these wamp-scram specific things should live on attributes of classes.

do we want a more-explicit "post auth" tie-in for all authentication types? (Right now, I'm adding my own on-join handler that double-checks the server signature -- this works fine, but it's possible some other on-join handler will run first and you'll do some "real work" before the server-signature is checked)

not sure, can't follow. the checking should be done (and completed) in the auth class hooked into the WAMP handshake (called from protocol/session). the full checking should be definitely done before the on-join handlers are even fired - just to be double safe .. yeah, might be that making sure the final checking is in the first added handler, but huh, a tricky side condition to make sure. but maybe I don't get what you point at here ..

The RFC says you can choose what hash to use for the HMAC, but "for interoperability" everything must support SHA1. I think in this case, it's fine to just not do that? (i.e. SHA256 only)

I should actually read the RFC .. long ago;) but in any case: these are already quite details, and the prototype looks already good! I think this is "working code" in the IETF sense. actually, half: the other bits obviously in crossbar.

Codecov Report

Merging #956 into master will decrease coverage by 0.19%.
The diff coverage is 18.64%.

@@           Coverage Diff            @@
##           master    #956     +/-   ##
========================================
- Coverage   61.99%   61.8%   -0.2%
========================================
  Files          71      71
  Lines       12671   12729     +58
  Branches     2023    2030      +7
========================================
+ Hits         7856    7867     +11
- Misses       4135    4182     +47
  Partials      680     680

Impacted Files
Coverage Δ

autobahn/wamp/protocol.py
54.13% <0%> (ø)
:arrow_up:

autobahn/wamp/auth.py
49.8% <18.96%> (-9.18%)
: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 604bc53...b24c93e. Read the comment docs.

To be clear too, this has just "wamp-scram-argon2id19" or whatever (depending on what colour the "name" bikeshed is painted) in this PR, not "wamp-scram-pbkdf2"

wamp-scram-argon2id19

sounds impressive;) like a borg drone ... merging!

wondering .. besides the use of SHA256, is there anything we should take back to the spec discussion https://github.com/wamp-proto/wamp-proto/issues/135 ?

I think the current draft-spec used SHA256 as well. We should decide on "wamp-scram-*" vs. "wamp-scram" and an "algorithm" param.
There's the "authextra" vs. not thing, but I'm currently making it work with explicit attributes in message.Welcome etc instead of authextra (so we could be clear on that in the 135 discussion).
The actual SCRAM RFC announces support for channel-binding via the algorithm name, too, by adding -plus on the end.  So probably we should say "all WAMP SCRAM authentication methods start with wamp-scram- and the rest of the string is the algorithm name"

If we do the above, we'd then have four SCRAM-type authentication methods:

wamp-scram-argon2id19
wamp-scram-argon2id19-plus
wamp-scram-pbkdf2
wamp-scram-pbkdf2-plus

I'm happy to see an early prototype, but I hope this doesn't blunt our efforts to reach consensus for the formal WAMP-SCRAM specification. Having said that, whatever practical issues you're come up against while implementing this early prototype would certainly be worth learning about.
@meejah

wamp-scram-argon2id19
wamp-scram-argon2id19-plus
wamp-scram-pbkdf2
wamp-scram-pbkdf2-plus

The "-plus" suffix thing was a carry-over from the SCRAM RFC, and I don't think it's really needed for WAMP-SCRAM. Channel binding is something that has to be requested by the client, and there's already a gs2_cbind_flag property that indicates such a request (with gs2_cbind_flag to be possibly renamed to channel_binding.
Also, FYI, we're leaning towards "SRP" over "SCRAM" for our project because it's more secure against evesdropping. I was going to write an SRP proposal soon. A lot of the things we're working out for the WAMP-SCRAM spec can be used for a WAMP-SRC spec.

The RFC says you can choose what hash to use for the HMAC, but "for interoperability" everything must support SHA1. I think in this case, it's fine to just not do that (i.e. SHA256 only) because we're not really writing "a SCRAM server that compiles with RFC5802"..?

RFC5802 is has the annotation "Updated by RFC7677", where RFC7677 defines the SCRAM mechanism that uses SHA-256 instead of the weaker SHA-1.
In RFC7677 section 4, we find:

See [RFC4270] and [RFC6194] for reasons to move from SHA-1 to a strong security mechanism like SHA-256.

So they are indeed encouraging to move away from SHA-1.
SCRAM and other SASL authentication mechanisms are used by email and XMPP servers, so it makes sense for them to impose SHA-1 as the "least common denominator" for interoperability with email/chat clients. But that's not the situation for WAMP, so I think it's fine that we enforce the stronger SHA-256 hash.
If we add SHA-1 as a possibility in our spec, we're going to get blasted by the security conscious folks who will say that SHA-1 is no longer considered that secure.

Oh, library considerations: I used passlib for its saslprep util to process usernames according to the RFC (because in my venvs it was already installed) but it appears we don't currently depend on that. Do we want to?

It's the availability of saslprep on browser-side Javascript that worries me more. I managed to find the reklatsmasters/saslprep Javascript library, and the author confirmed that it works on modern browsers.
We could loosen the normalization requirement to be only NFKC, but that would deviate from the SCRAM RFC.

but I'm currently making it work with explicit attributes in message.Welcome etc instead of authextra

mmh, sorry @meejah, maybe I was hinting wrong here. rethinking:
we can't change the structure of the WAMP message, that is https://github.com/crossbario/autobahn-python/blob/master/autobahn/wamp/message.py#L1057
we also cannot change (without breaking) the signature of onChallenge callback in the Autobahn session API https://github.com/crossbario/autobahn-python/blob/master/autobahn/wamp/protocol.py#L1122
currently, the one parameter to onChallenge is just the raw dict I think, whereas it probably should have been a proper object, eg of class ScramChallenge, CryptosignChallenge. maybe.
but for now I think it would be best to follow wamp-cryptosign https://github.com/crossbario/autobahn-python/blob/master/autobahn/wamp/auth.py#L140
looking over that code, I am wondering about https://github.com/crossbario/autobahn-python/blob/master/autobahn/wamp/auth.py#L294
I think this is what you asked about? this is somewhat unexpected to me here, the cryptosign code just returns directly https://github.com/crossbario/autobahn-python/blob/master/autobahn/wamp/auth.py#L182, not in the on-join event that follows.
Actually, shouldn't the authenticator classes also have a onWelcome hook? And only that is then supposed to check the "scram_server_signature", and then trigger the whole on-join chain etc.?

In a way, there are corresponding classes in Crossbar.io that also have two hooks (onHello, onAuthenticate) .. and the client authenticator classes here could have two hooks too (onChallenge, onWelcome). Essentially, instances of these two classes are then called during the authentication handshake - over the wire.

I can't remember, but reasons? SCRAM seemed like popular on the street (and wide use is good for shaking out issues) https://news.ycombinator.com/item?id=10339676.
here is a nice overview https://www.certsi.es/en/blog/password-based-authentication
However, then there are people that say SPAKE2+EE is more secure than SRP;) https://www.reddit.com/r/netsec/comments/7xhxd0/the_scram_authentication_protocol/
Or AugPAKE https://tools.ietf.org/html/rfc6628. or ..
and then why be confined to this narrow class of schemes where poor users are required to remember ideally random numbers to help a machine do its work securely? ;)

I can't remember, but reasons? SCRAM seemed like popular on the street (and wide use is good for shaking out issues .. eg SCRAM is a standard scheme used in SASL) https://news.ycombinator.com/item?id=10339676.

I'll put more details in https://github.com/wamp-proto/wamp-proto/issues/296 when I have the chance, but I think the main reason why SRP was avoided before was due to patent issues. This is no longer the case, as the relevant patents have expired.

Actually, shouldn't the authenticator classes also have a onWelcome hook? And only that is then supposed to check the "scram_server_signature", and then trigger the whole on-join chain etc.?

Yes, this is exactly what I was getting at -- I was thinking of adding a hook like above but hacked it in via "join" instead "because it's just a prototype" and we had that already. No other auth mechanism so far has something like this -- but I totally agree that "possibly running any other on-join handlers before we've confirmed the server" is bad.
@ecorm I find it easiest/best for myself to write prototype/PoC code while analyzing a spec, so .. don't worry I'm happy to make any changes to the code if we change the spec (in any case, the code doesn't actually exactly follow the spec, so .. ;). Also, I definitely have zero desire to use SHA1 for anything so I'm glad you read the RFCs more closely than I did :)

@oberstet okay, I'm confused about authextra: we currently do use it for e.g. wamp-cryptosign to send a pubkey it seems -- was that also "abusing" the spec?
Looking at just the "client_nonce" for wamp-scram, there's two options: add this to message.py in the Hello class (like, e.g., resume_token) -- this doesn't change the WAMP message, as all those things are looked up in Details anyway or just use authextra.
I think what you mean by "don't use authextra" is that the client_nonce should go into the Hello as a top-level attribute (i.e. added to __slots__, etc.). This is also how the current draft spec from ecorm is written, too (i.e. the extra auth things go into Details).

@meejah sorry for confusion! indeed, after relooking, I think we should discuss this more deeply and take the chance to come up with a sustainable solution.
So on the wire, a HELLO message looks like this:
[HELLO, Realm|uri, Details|dict]

The interesting stuff is in the Details, eg here is a client offering two authmethods:
[HELLO, "realm1", {
   "authid": "alice";
   "authrole": "user",
   "authmethods": ["foo", "bar"],
   "authextra": {
      "param1": 23,
      "param2": 666
   }
}]

All existing autmethods pack their knobs into authextra (which must be a dict - if present) - eg WAMP-cryptosign is looking for a pubkey attribute in authextra.
Following that approach, WAMP-SCRAM knobs that a client wants to announce to a router should also go as attributes into authextra dict in the details dict of the HELLO message.

Now, looking at the structure of the details in above example, it seems actually weird that there is an option to have a list of authmethods, but only one authextra for all these.
What if I wanted to announce that I am (as a client) willing to authenticate under 2 specific parameter sets of WAMP-SCRAM - and none else?
This isn't possible in the current message structure, as the knobs are shared for the full list of authmethods.
What we could do is allow authmethods to take a more complex structure, eg
[HELLO, "realm1", {
   "authmethods": [
      {
         "authmethod": "foo",
         "authid": "alice",
         "authrole": "user",
         "authextra": {
            "param1": 23,
            "param2": 666
         }
      },
      {
         "authmethod": "bar",
         "authid": "bob",
         "authrole": "guest",
         "authextra": {
            "param1": 42,
            "param3": "foo"
         }
      }
   ]
}]

The semantics could be: if there is a knob at the authmethod level, take that, if not take the knob at the (global) authextra, if none, take default.

@meejah pls see https://github.com/wamp-proto/wamp-proto/issues/301 for what I think could be a sustainable structure for authextra/authmethods

@oberstet

Actually, shouldn't the authenticator classes also have a onWelcome hook? And only that is then supposed to check the "scram_server_signature", and then trigger the whole on-join chain etc.?

So this would add a method to ISession like onWelcome (i.e. similar to onChallenge) and the Autobahn default implementation for Session would call out to authenticator.on_welcome or so...with I guess the argument being some kind of Welcomed (or similar?) object (like Challenge) so that we can add things in the future without wrecking the function signature? For now I think all it would need is "authmethod" and "authextra"...


utils.py: ignore empty host lists

Coverage decreased (-0.07%) to 81.479% when pulling b54b4d37af6830b30f39496f2f3b6baeea0590e4 on iksaif:master into ed0b453760f85271780d54112c027d8dcab630b6 on criteo:master.


Configure dependency analysis plugin without IP violations

(Isolated Projects dogfooding)
We use the dependency analysis plugin in our build, and we configure it only on the root project:
https://github.com/gradle/gradle/blob/7027ffa44b168afb77c8060cf772804de4201cec/build-logic/root-build/src/main/kotlin/gradlebuild.root-build.gradle.kts#L21
The plugin then auto-applies itself to all subprojects in the build. This is not an IP compatible behavior.
The plugin already has an option to avoid violations related to auto-application in subprojects:
https://github.com/autonomousapps/dependency-analysis-gradle-plugin/wiki/Customizing-plugin-behavior#controlling-the-projects-on-which-the-plugin-is-applied
We should disable auto-application and find an IP-safe way to apply the plugin.

(a) Use convention plugins
(b) Apply the plugin to all projects via https://github.com/gradle/gradle/issues/22514

We should also migrate to the just-released version of the plugin that potentially has fixes for the remaining IP violations
https://github.com/autonomousapps/dependency-analysis-gradle-plugin/blob/main/CHANGELOG.md#version-1310


Ionic 4 item sliding bug

Bug Report
Ionic Info
Ionic:

   ionic (Ionic CLI)          : 4.0.6 (/Users/imadbakir/.nvm/versions/node/v9.3.0/lib/node_modules/ionic)
   Ionic Framework            : @ionic/angular 4.0.0-beta.2
   @angular-devkit/core       : 0.7.3
   @angular-devkit/schematics : 0.7.3
   @angular/cli               : 6.1.3
   @ionic/ng-toolkit          : 1.0.6
   @ionic/schematics-angular  : 1.0.4

System:

   NodeJS : v9.3.0 (/Users/imadbakir/.nvm/versions/node/v9.3.0/bin/node)
   npm    : 5.5.1
   OS     : macOS High Sierra

Ionic sliding item causes the whole view to disappear even in the docs link
https://beta.ionicframework.com/docs/api/item-sliding
Steps to Reproduce
Steps to reproduce the behavior:
make a page with item sliding in it https://beta.ionicframework.com/docs/api/item-sliding

I am not able to reproduce this in the latest documentation. If you are still seeing this can you please create an issue on our ionic-docs repo? Thank you! https://github.com/ionic-team/ionic-docs/issues/new


How should i set the download path?

-p or --path
Run soundscrape -h to see a help on arguments.

Thanks @brachna !


[Issue]: Scalar input fields on GraphQL datasource converted to strings

Description
Hi Guys,
There still seems to be an issue with Scalar support. Specifically with passing scalars through to GraphQL backends.
When a GraphQL backend has an schema (schema.graphql) such as:
type Mutation {
  setValue (id: Int!, value: JSON!): Boolean
}

And I add it to Wundergraph as a GraphQL api using the following in wundergraph.config.ts:
const scalars = ["URL", "UUID", "BigInt", "JSON", "Timestamp", "Date", "DateTime", "UCUM"];
const schemaString = readFileSync('schema.graphql', 'utf-8');
const api = introspect.graphql({
    url: "http://localhost:8001",
    loadSchemaFromString: schemaString,
    customJSONScalars: scalars,
    headers: builder => builder.addClientRequestHeader("Authorization","Authorization")
});

And define an operation in Wundergraph as follows:
mutation setValue($id: Int!, $value: JSON!){
  updated: setValue(id:$id, value: $value)
}

Then I call it from the JSON-RPC interface,  I see the following in the log:

--- ClientRequest start ---

POST /operations/setValue HTTP/1.1
Host: <IP_ADDRESS>:9991
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.5
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 25
Dnt: 1
Origin: http://<IP_ADDRESS>:9991
Pragma: no-cache
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0

{
"id": 80, "value": 13
}

--- ClientRequest end ---

--- DebugTransport ---

Request:

POST / HTTP/1.1
Host: <IP_ADDRESS>:8001
Accept: application/json
Content-Type: application/json
X-Request-Id: 339497e1-84df-1728-b5b1-9a60f6dffa95

{"variables":{"id":80,"value":"13"},"query":"mutation($id: Int!, $value: JSON!){updated: setValue(id: $id, value: $value)}"}

Duration: 32905720 ms

Response:

HTTP/1.1 200 OK
Content-Length: 198
Content-Type: application/json
Date: Wed, 11 Oct 2023 23:42:33 GMT
Server: uvicorn

{"data":{"updated":null},"errors":[{"message":"Received String","locations":[{"line":1,"column":36}],"path":["updated"],"extensions":{"exception":null}}]}

--- DebugTransport

As you can see, I pass value as an Int to the JSON-RPC interface, but when it is passed to my backend from Wundergraph, it is converted to a string.
This should not be happening. Wundergraph should not be converting JSON inputs to strings to pass to the backends.
The desired outcome is the input entered at the Wundergraph JSON-RPC interface is passed as-is to the GraphQL backend.
Please also test with the GET requests - First with a URL decode on the parameters.
Reproduction
Please see above.
Using "@wundergraph/sdk": "^0.179.1" and node v18.12.1 (npm v9.6.2)

Thanks for opening this issue @greemo
JSON type fields are always parsed into a string, so 13 would become "13", this is the default behavior of WG. On your server "13" would be decoded (eg JSON.parse("13") again to 13.
You can make the types more specific by using replaceCustomScalarTypeFields
https://docs.wundergraph.com/docs/guides/extend-json-fields-with-more-specific-types#step-2-extending-the-graph-ql-schema-with-our-custom-type
Does this answer your question?

Hi @Pagebakers, thanks for the quick response.
Why is parsing JSON into strings the default behaviour? This is effectively changing the interface of the backing service, meaning scalars cannot be used by any graphql server behind wundergraph.
This severely limits the functionality of graphql.
Is there a way to disable this behaviour?

If your schema is as followed, we have no way of knowing which format you are expecting.
With customJSONScalars the value input now accepts any valid JSON encodable value, that is then encoded into a JSON string. eg JSON.stringify(13) becomes "13".
type Mutation {
  setValue (id: Int!, value: JSON!): Boolean
}

In your server your custom JSON scalar would then parse the JSON value.
Assuming it runs on Node.js:
JSON.parse("13") becomes 13.
And it should all work as expected.

Interesting. I'm having the same issue. When I define it as a JSON array (i.e. [JSON]), then the entire object is stringified:
["{"key":"realm","value":"something"}","{"key":"$filter","value":"(UniqueName eq 'CR3640')"}"]
Is this expected behavior too?

@Pagebakers thanks again for the time spent responding.
I understand Wundergraph at the moment forwards a JSON string. I understand how to unpack JSON strings, however I'm expecting a raw JSON value as specified by the GraphQL spec whenever scalars are used.
The GraphQL spec allows raw JSON values and by doing stringification, you make Wundergraph incompatible with all the GraphQL APIs that rely on receiving a raw JSON value.

If your schema is as followed, we have no way of knowing which format you are expecting.

You know the format is JSON. That's all you need. The reason Scalars exist is so formatted JSON can be passed around without intermediates needing to know the format. It is great that users can inform Wundergraph of the structure if the schema of the scalar is known in advance, but often the schema is not known in advance. That's why JSON exists. In this case, Wundergraph should not need to know what format is expected, just pass the JSON directly through.
If a field is a scalar, and not defined in the replaceCustomScalarTypeFields entry, just pass the value through.

I'm not sure what you mean with JSON string and raw JSON value, those seem to be the same things right?
WunderGraph passing the JSON scalar value back to the GraphQL API as a JSON string (this is RAW JSON) which seems correct to me?
Coming back to the number example. 13 is not a valid JSON value but "13" is.

Hi @Pagebakers,
By JSON String, I mean something surrounded by " characters. By raw JSON values, I mean anything that is valid JSON.
Raw JSON values are obviously strings at the HTTP level as a HTTP string does not require a " character.
Maybe an example is helpful:
13 is valid json, and is a JSON integer, not a JSON string. https://www.json.org/json-en.html, https://jsonlint.com/
"13" is also valid JSON, but is a JSON string.  It is not a JSON object. It is a stringified JSON object.

Hi @Pagebakers, did my last comment help with understanding the problem?

Hi @Pagebakers, @StarpTech hope you guys had a great vacation over new year. Any chance of looking over this issue?
If there's any more info I can help with, please let me know.

Hey, this is still a valid issue. Please don't close


docs: add docs for v1.1.1

Fixes #N/A
Description
Adds in docs changes needed for v1.1.1 based on changes in https://github.com/aws/karpenter-provider-aws/pull/7519/files
How was this change tested?
Does this change impact docs?

[x] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[ ] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

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

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
5774

Relevant Lines:
8866

💛  - Coveralls

Do we know why the deploy previews failed?


Update ts-typings to match latest API additions

adds prop.object
makes prop.object and prop.array generic for better type inference
adds new object type of attribute within prop definition

Approved, but I almost feel this is a bugfix rather than a feature.

Well it depends :) but let's make it a "bugfix" this time


[Baiji-8]Translate serialization.md

What is the purpose of the change
Translate serialization.md
Brief changelog
Translate serialization.md
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Test your code locally by running docsite start, and make sure it works as expected.
[ ] Make sure no files under build directory is added.
[ ] If this contribution is large, please follow the Software Donation Guide.

Well done.


[F-Req] Ability to run on dedicated servers

First of all awesome work, a well deserved star.
I personally use ngrok on a dedicated server.
I would like to be able to run a dedicated server with this mod.
The link ,I suppose would be printed in the logs after the server started.
OTHERWISE
The link would be pasted in a file in the base folder of the server or some other folder maybe in config( as people also have configured domains).
Then another program or a human could check the file if it contains a link or dummy text.

Thanks for the suggestion. I'll look into this. I have two ideas in my mind right now:

Implementing custom commands into this mod (so you can use the mod in a server environment), or,
Implement custom commands in a separate server-side mod

But rest assured, I'll be working on this feature!


search feature

from available search feature, 4 method is not yet implemented

[ ] character
[ ] people
[ ] clubs
[ ] users

merged #12


Go to new tab and go back remove the mark as unread line

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

Action Performed:

Open the app
Access a report
Mark a message as unread
Open a new tab
Go back to the app
Notice the "New" mark has been cleared

Expected Result:
The "New" mark remains visible
Actual Result:
The "New" mark disappear
Workaround:
unknown
Platforms:

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

[ ] Android / Chrome
[ ] MacOS / Chrome / Safari

Version Number: 1.2.66-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/217103835-9b0fe813-ca8c-4894-a7d0-35ca4cf86ecd.mp4
https://user-images.githubusercontent.com/43996225/217103882-1f35b93b-a64b-4dc1-b3f0-9363bb0c24d1.mp4
Expensify/Expensify Issue URL:
Issue reported by: @Tienifr
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1675657680795329
View all open jobs on GitHub

Triggered auto assignment to @anmurali (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

I was OOO yesterday and just caught up on more pressing overdue issues today. Will get to this tomorrow.

https://user-images.githubusercontent.com/14225673/217920451-15f0867b-e8e6-4496-91b1-8d971ce92b58.mov
https://user-images.githubusercontent.com/14225673/217920467-5a346ae9-1e5d-48a7-9783-8133f29a139a.mov

@kavimuru - I am not able to reproduce. Can you check out my videos and reopen with comments if you're still seeing it?


dnote not recognized as an internal or external command

Hi! At first I am relatively new to using the CLI.
I'm using windows 10.
I change the directory to the folder where the .exe is and type the name of the .exe file and hit enter
My problem is, i can't use any commands, even though it looks like I should be able to.

The error says:  "dnote" is not recognized as an internal or external command.."
I tried it in different terminals (Git, Powershell, CMD) also running it as administrator but nothing seems to work.

Guten Tag, @grmnn - I came across this too. It's not an issue with the app, but more a consequence that the binary doesn't come with an installer. You need to rename the download to dnote.exe and then do one of the following:

move the .exe into a directory which is already included in your system path; or
add the .exe's directory to your system path

You can find your current system path by typing echo %path% in cmd.exe, or $env:path in PowerShell.

It works now, thanks!


Pulling from remote failed

[I'm supposed to describe steps to replicate my issue here and if I don't do that, I understand that my issue will be probably ignored.]

Brackets 1.4.0-16380 (win), Git 1.9.5.msysgit.1 & Brackets-Git 0.14.32
Pulling from remote failed
Error:       0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x68570000, RegionSize 0x4D0000, State 0x10000
D:\Program Files (x86)\Git\bin\ssh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

call: git fetch --progress origin
Error:       0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x68570000, RegionSize 0x4D0000, State 0x10000
D:\Program Files (x86)\Git\bin\ssh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
    at Object.exports.toError (file:///C:/Users/sensui/AppData/Roaming/Brackets/extensions/user/zaggino.brackets-git/src/ErrorHandler.js:162:19)
    at NodeConnection.<anonymous> (file:///C:/Users/sensui/AppData/Roaming/Brackets/extensions/user/zaggino.brackets-git/src/Cli.js:185:44)
    at j (file:///D:/Program%20F

google Couldn't reserve space for cygwin's heap


[v3] frame processors with ios 17❓

Question
what is the current suggestion for publishing and developing plugins for v3 that are also ios only?
What I tried
today i made vision-camera-plugin-animal-pose public.
highlights from putting it together:

overcame issues working at all with swift by rewriting to objective-c
learned a lot specifically related to ios 17, which made for an arduous experience in xcode with beta versions of apple's tooling
adopted skia for drawing with great success and joy, though could bare for better performance

at the end of the day, the core ml for the plugin is an apple plugin, which means android compatibility on a 1:1 basis is impossible. is it plausible to go forward as a full plugin while remaining ios only? is it best to make an, even if not identical implementation, android version?
VisionCamera Version
3
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar questions in the issues page as well as in the discussions page and found none.

Hey, this should work and is plausible to add, yes.


fix default behaviour on clicking navbar logo

Fixes #80.
I have replaced the router Link with an anchor tag forcing the page to hard reload clearing all the states and restoring the original view.
Hers is a sample video showing the current behavior.
https://user-images.githubusercontent.com/55888723/157175974-1cb40847-a952-4da2-b76a-7980bd70eeb7.mp4

@ayushsatyam146, I noticed an unusual behaviour upon clicking the navbar logo, if the user has toggled on the select multiple option and then clicks on the navbar logo, the functionality of select multiple gets reversed.
This is not a change being produced by your PR but it will be really great if you can fix it while you are working on the navbar logo
https://user-images.githubusercontent.com/54861487/158449244-9082c058-ccfd-4425-b2e8-b20bb0bb1be6.mp4

@vinayaksh42 Fixed the issue mentioned by you. Attaching a video showing current behavior.
Please review
https://user-images.githubusercontent.com/55888723/159058659-1013188b-3d06-4cb8-a1e0-5b96399130bf.mp4
Also, build checks for new PRs including this one are failing due to one of my previous PR #101. I have added the fixes in a new PR #114. You may review that first so that build checks pass for all valid PRs


Allow manually fixing recognized lines

Whether to debug/highlight how the line-recognition is going, or to manually fix it, may be good to allow the user to draw/move lines.
Originally posted by @shreevatsa in https://github.com/shreevatsa/ambuda/issues/33#issuecomment-1435908185

Drawing a rectangle over an image: https://stackoverflow.com/a/9397174

I think I have a better idea: What we need first is a UI to visualize the response from Google OCR (the four different ways to get the text out). Creating this as #35

I had thought #37 mostly removed the need for it, but this is still needed sometimes / rarely: see how two lines have been interleaved here (page 131 of the test PDF):

Still, it's needed in very few cases (at least for this book), so this one can remain on the backlog for now.

Page rotation seems to make the issue worse / this feature necessary:


folder not opening

Type: Bug
sir/madam
i would like to inform to you i am unable to open new folder when i try to open folder.
VS Code version: Code 1.84.2 (1a5daa3a0231a0fbba4f14db7ec463cf99d7768e, 2023-11-09T10:51:52.184Z)
OS version: Windows_NT x64 10.0.22621
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz (4 x 2394)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
7.91GB (3.05GB free)

Process Argv
--crash-reporter-id 9812ee54-08c3-47f1-b6ed-549db8cccf53

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

laravel-goto-view
cod
1.3.11

laravel5-snippets
one
1.17.0

LiveServer
rit
5.7.9

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
py29gd2263:30880072
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
282f8724:30602487
89544117:30613380
showlangstatbar:30737416
pythonfmttext:30731395
fixshowwlkth:30771522
showindicator:30805244
pythongtdpath:30769146
i26e3531:30792625
pythonnosmt12:30797651
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30869155
dsvsc013:30795093
dsvsc014:30804076
dsvsc015:30845448
pythontestfixtcf:30871695
pythonregdiag2cf:30871583
pyreplss1:30886140
pythonmypyd1:30879173
pythoncet0:30885854
pythontbext0:30879054
accentitlementst:30887150
dsvsc016cf:30886111
dsvsc017:30886112
dsvsc018cf:30886115
aa_t_chat:30882232

/confirmPlease

Please diagnose the root cause of the issue by running the command F1 > Help: Troubleshoot Issue and following the instructions. Once you have done that, please update the issue with the results.
Happy Coding!

I have followed your instructions which is opening popup box and it's
asking first one I can't reproduce and second one I can reproduce and third
one stop so please let me know what should I do?
On Mon, Nov 20, 2023, 12:04 PM VSCode Triage Bot @.***>
wrote:

Please diagnose the root cause of the issue by running the command F1 >
Help: Troubleshoot Issue and following the instructions. Once you have
done that, please update the issue with the results.
Happy Coding!
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/198649#issuecomment-1818307923,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVIUDINMZRNMOWUARCPF4YTYFL2YFAVCNFSM6AAAAAA7SKZ3CSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJYGMYDOOJSGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

If you follow the dialogs it should tell you at the end what is causing the issue

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Selenium exercises completed

I don't see any files here, did you remember to add them before committing?

Re-added and committed changed


/deliveryservices/{{ID}}/safe returns incorrect response for the requested API version

I'm submitting a ...

bug report

Traffic Control components affected ...

Traffic Ops

Current behavior:
Making a PUT request to /deliveryservices/{{ID}}/safe will return a different structure from a request made to /deliveryservices for the same API version. As these are not the same endpoint, there's technically no reason they need to return the same structural representation for the same Delivery Service at the same API version, but based on the way the /deliveryservices/{{ID}}/safe endpoint is documented, and my own strong desire to see the two endpoints use a consistent representation, I've decided to label this a bug.
The various API versions requested for /deliveryservices/{{ID}}/safe compared to the API version of /deliveryservices that would yield the same structure as /deliveryservices/{{ID}}/safe are given below:

/deliveryservices/{{ID}}/safe version
/deliveryservices version

4.0
3.1

3.1
3.1

3.0
3.1

2.0
3.1

1.5
3.1

1.4
1.4

1.3
1.3

1.2
1.2

1.1
1.1

Expected behavior:
The structure of a response from /deliveryservices/{{ID}}/safe should be the same as that of a response from /deliveryservices for the same API version. In other words, instead of the behavior described by the above table, what I'd expect to see is something more like:

/deliveryservices/{{ID}}/safe version
/deliveryservices version

4.0
4.0

3.1
3.1

3.0
3.0

2.0
2.0

1.5
1.5

1.4
1.4

1.3
1.3

1.2
1.2

1.1
1.1

Minimal reproduction of the problem with instructions:
Make requests to /deliveryservices/{{ID}}/safe, note the presence or absence of fields introduced or removed in various API versions of /deliveryservices and their presence or absence from /deliveryservices/{{ID}}/safe.

Actually, this has to be a regression. The released 1.5, 2.0, and 3.0 APIs could not possibly have been returning data that didn't exist in the database until 3.1.


How to change default font

Hi. Thanks for your support.
Can you tell me how to change default font?
I defined a new font in css files and attached the webfont files but didn't work.
best regards.

Did you work out how to do this?

Closing due to inactivity

Inactivity because you never replied....

Sorry about that. I don't always have the time to put into this. Are you still experiencing the issue?


Does GridShell use SIMD instructions ?

Hello @invpe ,
I stumbled upon that article this morning:
https://bitbanksoftware.blogspot.com/2024/01/surprise-esp32-s3-has-few-simd.html
Could GridShell make use of those SIMD instructions ?
Best regards,
Samuel

Interesting finding, definitely it CAN use in the future, thanks for sharing :+1:
In it's current shape, GridShell is using a scripting (interpreted) language to execute tasks. This isn't super efficient as you know but is very simple to implement for proof of concept purposes. When planning to expand further - with enough support, the currently used solution could be dropped for other specially crafted language that would support and squeeze all the juice from these small micro controllers.


Remove Subsribe Section Each Post

Hello Eddie,
How i can remove this section (subcribe section) ???

Hi,
Here is how:
https://github.com/eddiesigner/liebling/wiki/How-to-enable-subscribers
Paste the following code in the Site Header block:

Cheers,

In the latest version the Newsletter form is removed if you disable memberships in the Ghost Admin.


Need repeating outputs

I am working on setting up my Echo with my PI, I have some issues. However I will work thought them. the one I cannot figure out in my head, is how to repeat an output depending on the input. I am attempting to control a color change pool light with this set up. the light changes color with multiple power cycles (IE switch one: red, switch on/ off / on: green....and so on and so forth) i plan on having the power fed from a relay controlled by the one of the GPIO pins similar to how i did my Christmas light show. I just cannot figure out how when i tel my Echo i want the pool light Green, that it will automatically cycle the power on, off, on. does anyone have any recommendations?

GO HERE      http://www.touchapptech.com/
ASK DAVE


Drilldown callback

Great job!   Nicolas just added drilldown support to his built-in table.  Would you be willing to add this feature to subtotal as well?  Thanks.

Thanks for your feedback. Could you please point me to an example to understand how this works.

Here's the example Nicolas provided on his site.  Just click on any value to trigger the callback that would handle the drilldown.  I believe he checked in the handler around 12/25.
http://nicolas.kruchten.com/pivottable/examples/mps_prepop.html

Here's some background:
http://github.com/nicolaskruchten/pivottable/issues/33

Thanks. Just thinking if we should treat the click event on a sub-total cell different from a value cell? Any thoughts?

I think they should be treated the same way, passing in the filters behind the selected cell.  They're all subtotals to me.  That's why I like the drill-down.

@dave-killough I have committed the feature to master branch.
The syntax is slightly different from the original PivotTable.js package. Added an example of event handling to examples/260_event_handlers.html. Let me know if you have any thoughts on this.
Please check and provide your feedback.

Feature released. Closing the issue. Please report as a new issue if any...

Thank you very much - I will check this out when I get back to it.
On Thu, Jan 5, 2017 at 9:07 AM, Nagarajan Chinnasamy <
<EMAIL_ADDRESS>wrote:

Closed #21
https://github.com/nagarajanchinnasamy/pivottable-subtotal-renderer/issues/21
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nagarajanchinnasamy/pivottable-subtotal-renderer/issues/21#event-912678894,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXn6KvT7Gm--4BDKFakUXMavYjpYRhRsks5rPPkIgaJpZM4LVj3R
.


Add json api to add generic, prebuilt JSON span to a document

@ahsonkhan for eyes.
Imagine we have a span which already contains valid JSON that we want to add to a document. We currently can only add per element. It would be nice to have an api to append something already built up. Especially useful in IoT where we might have some "envelope" for a JSON payload and we just want to let the user build up their "value" and append it in our JSON envelope.
Something like the following where the "value" could be any of the three:
{
  "component": {
    "name": "my_component",
    "value": 45
  }
}

{
  "component": {
    "name": "my_component",
    "value": "my_value"
  }
}

{
  "component": {
    "name": "my_component",
    "value": {
       "foo": 45,
        "bar": "example",
    }
  }
}

The API for us would be simplified with the following:
az_result pnp_helper_create_reported_property(
    az_span component_name,
    az_span property_name,
    az_span property_json_value);

instead of needing a separate API for each type (double, int, string, object, etc).

We are also hitting issue when we are trying to write complex object using the json writer.


Update goai_path.go

Codecov Report

Merging #2029 (f7e1938) into master (6f7cd96) will decrease coverage by 0.00%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master    #2029      +/-   ##
==========================================
- Coverage   76.50%   76.49%   -0.01%
==========================================
  Files         516      516
  Lines       46712    46715       +3
==========================================
+ Hits        35735    35736       +1
- Misses       9005     9006       +1
- Partials     1972     1973       +1

Flag
Coverage Δ

go-1.15-386
76.41% <50.00%> (+0.01%)
:arrow_up:

go-1.15-amd64
76.42% <50.00%> (+<0.01%)
:arrow_up:

go-1.16-386
76.43% <50.00%> (+0.01%)
:arrow_up:

go-1.16-amd64
76.40% <50.00%> (-0.02%)
:arrow_down:

go-1.17-386
76.47% <50.00%> (+0.01%)
:arrow_up:

go-1.17-amd64
76.45% <50.00%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

net/goai/goai_path.go
66.53% <50.00%> (-0.39%)
:arrow_down:

os/gcron/gcron_schedule_fix.go
87.50% <0.00%> (-12.50%)
:arrow_down:

contrib/registry/polaris/polaris_watcher.go
73.21% <0.00%> (+5.35%)
: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 6f7cd96...f7e1938. Read the comment docs.


Support action parameter values of type types in P4Runtime

Currently, P4RT only supports bits, booleans, newtype, and serializable enums (source). We should also support parameters of type types.

P4Runtime currently supports user-defined types for match fields, action parameters and controller metadata (for packet IO); see for example https://github.com/p4lang/p4runtime/blob/master/proto/p4/config/v1/p4info.proto#L232.
Looking at the compiler code you are pointing to, it seems that the compiler already supports this case as well:
            if (!paramType->is<IR::Type_Bits>() && !paramType->is<IR::Type_Boolean>()
                && !paramType->is<IR::Type_Newtype>() &&
                !paramType->is<IR::Type_SerEnum>()) {
                ::error("Action parameter %1% has a type which is not "
                        "bit<>, int<>, bool, type or serializable enum", actionParam);
                continue;
            }
            int w = getTypeWidth(paramType, typeMap);
            if (w < 0)
                return;
            param->set_bitwidth(w);
            cstring type_name = getTypeName(paramType, typeMap);
            if (type_name) {
                auto namedType = param->mutable_type_name();
                namedType->set_name(type_name);
            }

Notice the !paramType->is<IR::Type_Newtype>() in the if clause, as well as the end of the code snippet, which takes care of setting the appropriate P4Info field.
Did you try generating the P4Info for a P4 program using a user-defined type as an action parameter? Did it not work? If not, it seems that it should be a compiler issue, not a P4Runtime issue.

Oh, you are actually right, this should already work as expected. I just used an old version of the compiler and didn't parse the code correctly. IR::Type_Newtype corresponds to the type keyword (source).

A bit of history: For a little while before the type keyword was added to P4_16, there were proposals and sample code that used the keyword newtype, and the internal compiler implementation was done before the keyword was changed to type, IIRC.


Support for running KalDB in a docker container

Resolves #469

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

LGTM! It would be better to check with @vthacker before merging to make sure this change doesn't break the existing deploy pipeline.


This is not an issue. Just a question. Is it really Super Tiny Compiler???


ripgrep: Add installCheckPhase

Motivation for this change
Convert test removed in dd63561bcbe5f7b86063c7c6e80fca5af487d801
to an installCheckPhase
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[X] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 113621 run on x86_64-linux 1

7 packages built:

bat-extras.batgrep
code-server
haskellPackages.neuron
neuron-notes
ripgrep
ripgrep-all
spacevim

The following issues got detected with the above build packages.
Please fix at least the ones listed with your changed packages:

bat-extras.batgrep:

Unused argument: callPackage.
Near pkgs/tools/misc/bat-extras/default.nix:1:16:
  |
1 | { lib, stdenv, callPackage, fetchFromGitHub, bash, makeWrapper, bat
  |                ^

code-server:

configurePhase should probably contain runHook preConfigure and runHook postConfigure.
Near pkgs/servers/code-server/default.nix:131:3:
    |
131 |   configurePhase = ''
    |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md
buildPhase should probably contain runHook preBuild and runHook postBuild.
Near pkgs/servers/code-server/default.nix:153:3:
    |
153 |   buildPhase = ''
    |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/servers/code-server/default.nix:200:3:
    |
200 |   installPhase = ''
    |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md

ripgrep:

Unused argument: nixosTests.
Near pkgs/tools/text/ripgrep/default.nix:2:3:
  |
2 | , nixosTests
  |   ^

spacevim:

buildPhase should probably contain runHook preBuild and runHook postBuild.
Near pkgs/applications/editors/spacevim/default.nix:27:3:
   |
27 |   buildPhase = ''
   |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/applications/editors/spacevim/default.nix:34:3:
   |
34 |   installPhase = ''
   |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md
Please add a comment on the line above, explaining the purpose of this patch.
Near pkgs/applications/editors/spacevim/default.nix:32:15:
   |
32 |   patches = [ ./helptags.patch ];
   |               ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-patch-comment.md

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 113621 run on x86_64-darwin 1

7 packages built:

bat-extras.batgrep
code-server
haskellPackages.neuron
neuron-notes
ripgrep
ripgrep-all
spacevim

The following issues got detected with the above build packages.
Please fix at least the ones listed with your changed packages:

bat-extras.batgrep:

Unused argument: callPackage.
Near pkgs/tools/misc/bat-extras/default.nix:1:16:
  |
1 | { lib, stdenv, callPackage, fetchFromGitHub, bash, makeWrapper, bat
  |                ^

code-server:

configurePhase should probably contain runHook preConfigure and runHook postConfigure.
Near pkgs/servers/code-server/default.nix:131:3:
    |
131 |   configurePhase = ''
    |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md
buildPhase should probably contain runHook preBuild and runHook postBuild.
Near pkgs/servers/code-server/default.nix:153:3:
    |
153 |   buildPhase = ''
    |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/servers/code-server/default.nix:200:3:
    |
200 |   installPhase = ''
    |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md

ripgrep:

Unused argument: nixosTests.
Near pkgs/tools/text/ripgrep/default.nix:2:3:
  |
2 | , nixosTests
  |   ^

spacevim:

buildPhase should probably contain runHook preBuild and runHook postBuild.
Near pkgs/applications/editors/spacevim/default.nix:27:3:
   |
27 |   buildPhase = ''
   |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/applications/editors/spacevim/default.nix:34:3:
   |
34 |   installPhase = ''
   |   ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-phase-hooks.md
Please add a comment on the line above, explaining the purpose of this patch.
Near pkgs/applications/editors/spacevim/default.nix:32:15:
   |
32 |   patches = [ ./helptags.patch ];
   |               ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/missing-patch-comment.md


The results for MeCo and MeCo_opt on NATS-Bench-201 SSS

Hi, thank your for the great work!
Regarding the results for MeCo and MeCo_opt with on NATS-Bench-201 SSS, I have tried to reproduce the results and have a few questions:

Reproduce NAS-Bench-201 SSS

Despite the code in correlation/NAS_Bench_201.py provides with the option for SSS search space, I do not manage to run SSS search space.
Which API that you use for SSS search space? The current API in your code (i.e. nas_201_bench) seems not to support SSS.
I have tried to use a common API to compute MeCo. The results look comparable to the results in the paper expect for the CIFAR100 (highlighted in red). May I ask for your suggestion for this?

The implementation for MeCo_opt

The idea for MeCo_opt is interesting.
It seems that the current public source code does not include MeCo_opt.
I have tried to implement it by following the description in the paper (n=8 and adding channel weight).
Unfortunately, the results are not reproducible (highlighted in green).
May I ask for the MeCo_opt source code and some suggestions for the MeCo_opt reproduction?

Thank you for your time. Looking forward to your response.

I’m sorry for replying so late. We also use the common API to compute MeCo. We update and rerun the code and the results for sss are provided in ./correlation/result now.

If you have any more questions, feel free to email me.


Line width

Is there is any way to add line width to be wider?

You mean the indent line?
You can set it to any character you want with :help g:indent_blankline_char
This one should be thicker than the default ┃
require("indent_blankline").setup { char = "┃" }

I think the issue is when you maybe add padding to the rows in the terminal, you can end up with indentation lines that don’t connect to one another.

I think the issue is when you maybe add padding to the rows in the terminal, you can end up with indentation lines that don’t connect to one another.

That depends on the terminal. Kitty for example handles this correctly.

@karimlevallois  you can try using the unicode version for this. [ ▏] . It should connect through the rows


add Converter class

and use this to convert to the general (currently csv) format, instead of writing a bunch of format2seq functions
this would go hand-in-hand with what I described in #99
A user would write:
scribe = Transcriber(format='audacity-txt')
aud_txt_annots = scribe.from_file('example.audacity.txt')
annots = aud_txt_annots.convert(format='generic')

and then under the hood each aud_txt_annot would use a Converter along with the format attrs classes
might make more sense to have a convert function that attrs classes could use as well as a Converter class. The Converter.convert method would accept a list of annotations in any format and convert them to the target format.

thinking about this more
how about a decorator?
@converter(from='aud-txt', to='generic')
def aud_txt2generic(aud_txt):
    for onset, offset, label in aud_txt:

I'm thinking of a pytest-like idiom.
I think this would require crowsetta to be "stateful" though.
The idea is each format would have convert_to(format='name') methods
The reason for using a decorator would be to avoid introspecting the function name when figuring out whether a certain format is able to convert itself to some other format; each conversion function would instead get registered by the decorator and then when a user calls annotation_in_format.convert_to(format='other format') they would either get a new annotation in the other format or an error saying "no converter registered"

I think the right way to do this is with a to_generic method on each format class that can be chained, as described in #105
not sure we need to add a separate class


Relaunching an app before OnInitializeAsync is completed causes NullReferenceException

Add this in the blank project app.xaml.cs-file in the current source:
public override async Task OnInitializeAsync(IActivatedEventArgs args)
{
    System.Diagnostics.Debug.WriteLine("*** Starts OnInitializeAsync...");

    await Task.Delay(30 * 1000);

    System.Diagnostics.Debug.WriteLine("*** OnInitializeAsync is completed.");

    await base.OnInitializeAsync(args);
}

Now launch the application from Visual Studio. Then before the 30 seconds timeout is completed launch the application again via the start menu. This will create a NullReferenceException.
This is because then the application is relaunched InternalLaunchAsync is called which calls CallOnStartAsync which then calls OnStartAsync which wants to use NavigationService that is null in that moment.
Yes, this is a really evil case :-). But this has caused me problems when running my app on the phone, which takes about 2 seconds two start. I have noticed that sometime I launch my app by mistake and goes back two start screen before it’s booted. And then when I launch it later it’s crashes.

I’ve modified InternalLaunchAsync locally like this:
private bool InternalLaunchAsyncIsRunning = false;

private async Task InternalLaunchAsync(ILaunchActivatedEventArgs e)
{
	while (InternalLaunchAsyncIsRunning)
		await Task.Delay(100);

	InternalLaunchAsyncIsRunning = true;

	try
	{
		DebugWrite($"Previous:{e.PreviousExecutionState.ToString()}");

		//...original implementation...//
	}
	finally
	{
		InternalLaunchAsyncIsRunning = false;
	}
}

This is very ugly! I’m almost embarrassed :-) But it seems so solve my problem.
I have tested this in my app in various ways and it seems to works well. In one case I started my app and then interrupted the launch. Then I launched it again with a secondary tile and interrupted the launch a second time. Then I launched it a third time with a different secondary tile and it launched the appropriate page. And when I navigated back the expected pages (based on the previous launches) was loaded.

Okay @pekspro, I am testing this now. We'll see if it can be handled.

I’m still having problem with this. Currently I have been able to reproduce this on a phone without a debugger attached with preview 1.1.12.preview-160922.
When this happens CurrentStateHistory has these values:
BeforeLaunch
BeforeInit
BeforeLaunch
BeforeInit

Now I know how to reproduce this on a PC. First I modified OnInitializeAsync in the blank project app.xaml.cs-file:
    private bool OnInitializeAsyncRunning = false;
    public override async Task OnInitializeAsync(IActivatedEventArgs args)
    {
        if(OnInitializeAsyncRunning)
        {
            DebugWrite("*** OnInitializeAsync already running!");
            throw new Exception("OnInitializeAsync already running!");
        }

        OnInitializeAsyncRunning = true;

        DebugWrite("*** Starts OnInitializeAsync...");

        await Task.Delay(30 * 1000);

        DebugWrite("*** OnInitializeAsync is completed.");

        await base.OnInitializeAsync(args);

        OnInitializeAsyncRunning = false;
    }

Then I start the application in the debugger. Right after this I resume the application. Next step was to start the application from the start menu which will cause the application due the Exception in OnInitializeAsync. The log looks like this:
09:46:56.7435930 Template10 BootStrapper..ctor base.Constructor
09:46:57.2860123 Template10 BootStrapper.OnWindowCreated
09:46:57.3550641 Template10 WindowWrapper.Static Constructor
09:46:57.4881590 Template10 BootStrapper.Loaded
09:46:57.5507041 Template10 DispatcherWrapper.Constructor
09:46:57.6392664 Template10 BootStrapper.OnLaunched
09:46:57.6622827 Template10 BootStrapper.CurrentState CurrenstState changed to BeforeLaunch
09:46:57.6833016 Template10 BootStrapper.InternalLaunchAsync Previous:NotRunning
09:46:57.7013144 Template10 BootStrapper.InitializeFrameAsync IActivatedEventArgs:Launch
09:46:57.7437698 Template10 BootStrapper.CallShowSplashScreen
09:46:57.8203327 Template10 BootStrapper.ActivateWindow source:SplashScreen
09:46:57.8373444 Template10 BootStrapper.CallOnInitializeAsync
09:46:57.8513543 Template10 BootStrapper.CurrentState CurrenstState changed to BeforeInit
09:46:57.8673697 Template10 BootStrapper.OnInitializeAsync *** Starts OnInitializeAsync...
09:47:02.9275442 Template10 BootStrapper.AutoSuspendAllFramesAsync autoExtendExecutionSession: True
09:47:02.9525434 Template10 BootStrapper.SuspendAllFramesAsync
09:47:02.9795642 Template10 BootStrapper.OnSuspendingAsync Virtual SuspendingEventArgs:Windows.ApplicationModel.SuspendingOperation prelaunchActivated:False
09:47:08.5039936 Template10 BootStrapper.Resuming
09:47:08.5300156 Template10 BootStrapper.OnResuming Virtual, previousExecutionState:Suspended
09:47:08.5490291 Template10 BootStrapper.OnLaunched
09:47:08.5650401 Template10 BootStrapper.CurrentState CurrenstState changed to BeforeLaunch
09:47:08.5850543 Template10 BootStrapper.InternalLaunchAsync Previous:Suspended
09:47:08.6040710 Template10 BootStrapper.InitializeFrameAsync IActivatedEventArgs:Launch
09:47:08.6208624 Template10 BootStrapper.CallShowSplashScreen
09:47:08.6378749 Template10 BootStrapper.ActivateWindow source:SplashScreen
09:47:08.6528851 Template10 BootStrapper.CallOnInitializeAsync
09:47:08.7129294 Template10 BootStrapper.CurrentState CurrenstState changed to BeforeInit
09:47:12.8449383 Template10 BootStrapper.OnInitializeAsync *** OnInitializeAsync already running!
09:47:12.9303687 Template10 BootStrapper.OnResuming Virtual, previousExecutionState:Terminated
09:47:12.9488954 Template10 BootStrapper.DetermineStartCause IActivatedEventArgs:Launch

So it’s not the same problem with NullReferenceException as originally reported. But having concurrent calls to OnInitializeAsync should be avoided I think :-).

@JerryNixon, can we please reopen this issue?

Ah, I see.

Looks like line 559 should be await CallOnInitializeAsync(false, e); instead of await CallOnInitializeAsync(true, e);. OnInitialize should not be repeated. I can't quite recall why that option was ever created. Remind me if you see why. Otherwise I think this resolves it.

I don’t like to say this, but there is still an issues with this. I tried again with my test code above and:

Launched the application in Visual Studio
Suspended the application still in boot
Started the application from the start menu
Suspended the again application still in boot
Started the application from the start menu
The application will now be stuck and just showing the custom splash screen.

The problem seems to be that the custom splash screen is launched twice in this scenario. I tried to do a hack that makes sure that the splash screen is only launched once and that seems to solve this issue.

What does "Suspended the application still in boot" mean?

It means: I suspended the application while the application still was booting, or in either words it was still executing the delay of 30 seconds in OnInitializeAsync.

I found on Lumia 930 that there is problem with activation of suspendended app. Maybe it is connected with your issue @pekspro. App starts normally, but when I exit from app using Back buton (several times) and relaunch app - MainPage does dot appear and only empty screen is visible. The problem is not present when the app is terminated before relaunching. On emulator everything is ok...

Resolved


[Tests] Fix POW/POS integration test

Implement a fast coins date time provider thats more in line with the node's provider.
This PR ONLY fixes the POW/POS integration tests. I'm still looking into the others.

That looks pretty good, thanks mate.


build: use @storybook-vue/nuxt

Thanks for the info, I've removed both. The error persists, though.

This is not a priority anymore as I configured storybook manually


Spanish translation for Feature and Rule synonym keywords

Summary
Translated keywords
Motivation and Context
Translations missing
How Has This Been Tested?
It hasn't
Types of changes

[X] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist:

[X] The change has been ported to Java.
[X] The change has been ported to Ruby.
[X] The change has been ported to JavaScript.
[X] The change has been ported to Go.
[X] The change has been ported to .NET.
[ ] I've added tests for my code.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have updated the CHANGELOG accordingly.

Muchas gracias!
I'm not sure it is a good idea to have two synonyms where one is a substring of the other. Do we really need both Necesidad del negocio and Necesidad? And both Regla de negocio and Regla?

Muchas gracias!
I'm not sure it is a good idea to have two synonyms where one is a substring of the other. Do we really need both Necesidad del negocio and Necesidad? And both Regla de negocio and Regla?

Hi!
In Spanish it isn't as descriptive as we would like to have just Regla, so we can start working with Cucumber 6 rules.
And, we can't just replace it, that's why.
What would you think if I take just one for Necesidad del negocio and Necesidad, and we keep both for Rules?

@aslakhellesoy I've made the change and all checks have passed! :D


Gcp pubsub source

Description
Continuation of the great work of @magnalite and following advice of @guilload
This PR, fix the compilation/formatting issues of the previous PR and put the code behind a flag gcp-pubsub
Also renamed everywhere pubsub by gcp-pubsub or GcpPubSub to reduce confusion with other pubsub system.
How was this PR tested?
I didnt test it. It will be added in step 3
Next Item
step 2: focus on supporting at-least-once delivery semantics for now and improve the current implementation as you suggested
step 3: add unit and integration tests for this source
step 4: test at scale (I can help with that and do so on our GCP account)
step 5: opportunistically support exactly-once delivery semantics

Merged! Awesome job @magnalite and @AyWa. It's really great to land large features from OSS contributors.
@AyWa, as a next step, I would welcome a PR that adds some tests before adding more new functionalities to the source (parallelism, ack on truncate).

@AyWa @magnalite Ping me on Discord if you want some swag :)


Add Service principal support as auth. types

for the following connectors: ADLS gen1, Web, SP online, Azure SQL database, Dataverse

@bezhan-msft - can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Doug has emailed a question to the contributor for clarification. One connector may not support Service Principal.

#sign-off

#sign-off


Partial edges

Hi Mike,
I've got the partial edges working. Rather than include separate boolean fields the "nose edge extension" and "tail edge extension" fields in the input *.json file are optional, defaulting to full wrap edges if they are not specified. I've put the optional partial edges in the ski-def.json but left board-def.json as it was.
I messed up the branching process a bit - still getting the hang of git - hopefully the changes are easy to merge in though.
Also I note there is a bug causing /r/r/n line breaks instead of /r/n in my G-Code output. I think this is unrelated to my changes and must be a function of compiling on windows but despite trying I can't work out how to fix it. Alternatively it could possibly be related to doing the clone from github onto  a windows machine where /r/n line ending are standard. Any suggestions or fixes for this bug much appreciated!

great work fellas!!!!!

I'll look this over in the next few days. Glancing at the sample output, I'd say you've done it though. Very nice work man!!
I will say that I'm not a fan of special values to control things. Like in the overview it says "999 = full wrap". I think you can use the presence of those variables in the config to state whether the nose and tail are full or partial or not. You can probably do it individually actually...

@RegMeasures, so I was excited and I looked thru it. Looks great. I like the technique you used to get the offsetting in just a few short steps. Very nice. I left you a few comments. Mainly, I think we should extend this so the presence of zero, one, or both extension options in the config gets you full wrap for ones not specified, and partial for ones which are specified. Then they can do any combination they wish. Minor tweak to an assert to allow that. The Boost.Optional will clean up the code around that nicely, too. Then, there's an issue with squares vs. trapezoids which you'll wanna fix. For my powder boards I do a 3cm taper, and I'm guessing when you check out the comment and try one of those you'll see that parts of the edge are missing.
Thanks for doing this!!!
Oh, and don't worry about the odd line endings, I believe it is a Windows issue. When I take your pull I'll just not merge in the sample output, and I'll re-generate it myself when I make a new release with your changes in it. I've seen that issue too, and I've never dug into why :)

@splitn2 if you wanna see @RegMeasures's new output, check it out here: https://rawgit.com/RegMeasures/MonkeyCAM/partial-edges/Sample-output/Sample-ski-overview.html You can see the partial edge in the base program near the end ;)

sweet !!!! Nice work Reg and Mike, love that partial edge work. Thanks for both of you getting enthusiastic , its a great temptation for Mike to have a look at what is going on here I am sure he can't help himself when someone dangles the carrot in front of him!!!! Seriously though this is very generous of both of you to put your time in to this , I get the benefits for doing bugger all I am sorry I cannot code to save myself.....

Not a biggie but what would it take to match the edge groove rabbet with the partial edge length? Otherwise this is awesome!!! Great time saver and also we can hand craft any tip and tail shapes and also renew skis and boards tips and tails a tad with the belt sander from time to time when they get tatty!!!

@splitn2 re: your comment about the Edge Groove rabbet:
Given that the partial edges are generally going to be at least the full length of the effective edge, and the core is replaced by nose/tail spacers beyond the effective edge anyway I don't understand why this would make any difference? I guess I just don't quite understand what you're getting at here? (Probably because my understanding of the construction process is still pretty basic).

@RegMeasures I understand your question and thanks for your efforts on this its awesome. The rabbet for the edges is machined as a "bottom of core" process early on, still its after the sidewall slots are rebated in and sidewalls attached. With a partial edge ideally the rabbet would also be in that partial edge region only over the sidewalls and not beyond the partial edge, otherwise the tip and tail of the core (incl the tip/tail spacer material if its being used) may get very thin and will effectively leave more of a void for resin in the tip and tail where we need impact strength. @mikemag whats your view on this?

Thanks @splitn2 I think I get it now - I'd misunderstood exactly what the purpose of the Edge Rabbet was. I agree that I should restrict it to the length of the partial edges. I'll try and get onto this at some point in the next few days.
Perhaps we can have a catch up this weekend sometime? The weather forecast looks rubbish so I'll be around...

Sounds good @RegMeasures , I'm not quite sure about this weekend but get in touch please, yes it would be good to go through the ski/board construction process with you too so we're all in sync and I can show you edge rabbet and all that stuff. Generally the MonkeyCAM output files work in very well with my current board building methods which is why I am so keen to use and enhance it, its very much setup for enabling efficient builds........

Honestly I wouldn't worry about adjusting the edge rabbet. It is trimmed away past the hips to make room for the nose/tail spacer anyway :)

@mikemag you're dead right , I should have thought of that!!!!

Looks good. Merged after regenerating the sample output.


button is used instead of link

Steps to reproduce:

notice 404 page and compare with figma

Actual result:  button is used instead of link
Expected result:
if current behaviour ( button) is correct, then implement the hover effect over it. it does not have.
(or else if its incorrect, add the link as shown in figma)

Reported by: Vinod<EMAIL_ADDRESS>Source URL: https://wf-b.stg.prezzee.com/en-us/whatever?marker=true
Issue details: Open in Marker.io
Device typedesktopBrowserChrome <IP_ADDRESS>Screen Size1366 x 768OSWindows 10 (10.0.0)Viewport Size1366 x 641Pixel Ratio@1x

intended - to unify the system | 404 layout was designed as a ref

🤖 Marker.io bot - This issue was marked as ✅ Resolved in Marker.io


[MINOR][SQL][TEST] Moving tests to related suites

What changes were proposed in this pull request?
Tests from QueryCompilationErrorsSuite were moved to DDLSuite and JDBCTableCatalogSuite.
Why are the changes needed?
We should move tests to related test suites in order to improve testing.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Corresponding Suites succeed.
Was this patch authored or co-authored using generative AI tooling?
No.

+1, LGTM. Merging to master.
Thank you, @mihailom-db and @cloud-fan for review.


Feature Request

Dear ST-GAN authors:
Estimated date to release SUNCG implementation?

We're aiming to release the code/data for SUNCG in about two weeks. Sorry for the wait!


Rewrite URLs in JSON files

we could expose a feature like this:

   ModPagespeedJsonRewriteValue Image URL_S

With this specified, we would assume any JSON name/value pair with name==URL_S
would have a value that was a rewritable image.  Or we could specify it
differently

   ModPagespeedJsonRewritePattern Image *.jpg,*.png,**.gif

which would do something more like what you suggested.

To anyone else listening: would this be a valuable feature?

The first arg of both of these would be "Image", "Script", or "Stylesheet", but
probably "Image" would be most common.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 25 Mar 2014 at 12:56

Any update on this ? that would be very interesting as more and more websites are turning into applications requesting JSON (That may eventually contains links to images).
Thank.

I don't believe we have any plans to work on this at the moment. As jmarantz originally suggested, it would absolutely need to be opt-in because re-writing URLs in JSON sounds pretty risky.
In the meantime, In-Place Resource Optimization can improve the content of links in the JSON, though you won't get the benefits that require URL re-writing:
https://developers.google.com/speed/pagespeed/module/system#ipro

Yes of course that something quite risky that should not be enabled by default.
A good way should be to have some configuration parameters like restricting the JSON fields that can be rewritten and of course the path :)
I'm gonna take a look at the inplace one.
Thanks

A great concrete problem description for this plus a hacky way that may accomplish this was discussed over at https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/mod-pagespeed-discuss/6ThbvfJ4UnY/YMUCdOZJBQAJ


Refactor public/private interface

There are a lot of hoisted functions that I'd rather not use.
I think we can just throw them on the prototype with underscore prefixes.  We do this in both polymer and hapi core all the time.  Utility functions should go in an internals type of object, a la hapi.

Closed by https://github.com/yarn-co/cors-light/commit/9aafb8f22592dea8d7407e74f85af04d7306010c


Hide command #326

I have started implementing feature from #326.
So far I have key binding that sends hide request but that is not reflected on GUI until refresh.
TODO

[x] Hide request
[x] Configuration [Key bind to x]
[x] GUI [Maybe done?]
[x] Unhide [Maybe needed?]
[x] Tests [Help needed]
[ ] Documentation

BTW
I do not know Python so take a close look at my code...

So, tests have passed. What is left is documentation and making decision if you want to use space or x

Can we expect this to be merged? :)

Fixed the docs and some other minor things, added a unit test, and merged the branch. Thanks for being patient!

Great! Thanks! :)


Add new function std.algorithm.iteration : cumulativeSum

To complement the addition of cumulativeFold (#3972), this function is a specialization for accurate summation. It uses Kahan summation algorithm where the given range has floating point elements, or the given seed is a floating point value.
Please review in detail as this is my first PR for a new function. I checked out the documentation and unittests of both cumulativeFold and sum for ideas on how to proceed with this function's docs & unittests but it is quite possible I have missed things.

Current coverage is 89.39% (diff: 94.54%)

Merging #4881 into master will increase coverage by <.01%

@@             master      #4881   diff @@
==========================================
  Files           124        124
  Lines         76608      76663    +55
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          68476      68530    +54
- Misses         8132       8133     +1
  Partials          0          0

Powered by Codecov. Last update 8e10b4b...08ed80b

Pinging @andralex : is it possible to get this PR reviewed or discussed?

@e-y-e was there traction in the forums?

No, I only mentioned it as an aside in the forums (https://forum.dlang.org/post/xvlvallwfxovoxvesccl@forum.dlang.org).

Obviously 2.072 has been and gone now, but I still think this is a valuable function for phobos as it fills in a logical gap:

X
Not specialized for accurate summation
Specialized for accurate summation

Provides no intermediate results
fold
sum

Provides intermediate results
cumulativeFold
cumulativeSum

I was surprised not to find it, I would certainly have a use case for it and would be glad if it was in phobos.

@e-y-e would be great to start a dedicated thread in the forum discussing motivation and applications. Thanks!

Ok can do, thanks for your time

I think std.algorithm should not get new numeric code. First we need DMD to support pragma's for floating point control, then we need to merge mir.sum to Phobos and think what additional API like comulativeSum can be added.

If I am reading that bug report correctly, does this mean that the Kahan summation algorithm is not doing what it is supposed to under DMD? Looking at mir.sum I think you are right that it should be merged in some form or another (like many mir projects :) ).

If I am reading that bug report correctly, does this mean that the Kahan summation algorithm is not doing what it is supposed to under DMD?

Yes

@andralex here is the forum post I made last week (be aware there are typos/mistakes in the post so read the follow up replies if confused<EMAIL_ADDRESS>Not much activity really but no objections it seems.
I also tweaked some of the unittests so that I am satisfied with them. I could add more documented unittest examples such as the ones mentioned in the linked post if it is necessary.

Auto-merge toggled on

Thanks everyone! :)

? How we merge the PR with decision block label?

@9il Didn't know that was a thing? Andrei approved it, looks correct to me, I thought that should undo the block.
I see your complaints, but I don't see any reason why the Kahan summation algorithm is incorrect, looks identical to the wikipedia article. Your issue seems to stem from DMD generating incorrect code, which should be fixed of course, and then the correct thing will happen, right?
In other words, because DMD has issues with adding floats, this doesn't mean we should banish floating point math. We should just fix the issues.

@9il I hadn't seen your comment, sorry. So At any rate, since we have sum here, it stands to reason that cumulativeSum belongs here as well.
We have one release cycle to get this right, so no worries that it's merged already. @9il could you please make sure you take this home? Does your mir.sum package offer a competing feature? What setup do you recommend?

We have one release cycle to get this right, so no worries that it's merged already. @9il could you please make sure you take this home? Does your mir.sum package offer a competing feature? What setup do you recommend?

Issues with this PR:

Kahan summation does not tested properly (thanks to approxEqual).
Kahan summation does not work with current DMD (https://github.com/dlang/dmd/pull/6247 was not merged yet !)
It does not cover complex numbers (both std and native).
It does not cover user defined types with FloatingPoint-like behavior (for Quaternion for example)
KBN should be used for floating point and complex numbers instead of Kahan. It is faster and not less precise then Kahan.
Precise summation or an ability to add it into current API in the future it is not presented.
the string lambda should be used instead of (a, b) => a + b to reduce template bloat.

comulativeSum should be reverted and sum should be deprecated. After https://github.com/dlang/dmd/pull/6247 be merger, we can add std.experimental.numeric.sum from mir.sum, which has OutputRange API for summation. An output range is more flexible for numeric algorithms, it covers comulativeSum functionality. If we really need comulativeSum sum it can be added too (20 LOC).

@9il alrighty, thanks for the 'splanations. I've merged dlang/dmd#6247 so that changes the landscape but just by a little bit.
I'll give you authority on this, feel free to undo this (no hard feelings @e-y-e and thanks for the work). Please do not deprecate existing sum, but you may of course improve its implementation and/or reduce it to an alias in another package.
If we have some functionality for cumulative sum there's no need for a convenience wrapper, it's not frequently needed.
Sounds good?

Yes, thanks

No problem, I have no attachment to this code (especially if it's wrong) ;). It would have been nice if this was discussed before the PR was merged but here we are, and those are good reasons.


What is the CSharpHypothesis for?

Hi. I am trying to transfer your model to my Java dataset. It is not a easy work because of the difference between the grammar of C# and Java. I have already produced the ASDLTree with Field class modified.
Now I have difficulty in understanding the CSharpHypothesis class.
-What is its function?
-Why does the SubstitutionSystem use Hypothesis intead of CSharpHypothesis?
It will be a great help if you could answer these questions.

Hi,
CSharpHypothesis is a subclass of asdl.hypothesis.Hypothesis; it's used by Graph2Tree's transition system (https://github.com/neulab/incremental_tree_edit/blob/master/asdl/lang/csharp/csharp_transition.py#L136).
SubstitutionSystem is using the class of tree.hypothesis.Hypothesis, which is designed for Graph2Edits.
Wish that answers your question!


[Feature request]: see the dependency graph of an issue

Some issues can have a lot of dependencies which also have dependencies. So and having a graph can help to know what to work on.
This is an example of how it looks on Bugzilla which has this feature:
https://bugs.koha-community.org/bugzilla3/showdependencygraph.cgi?id=15522
Note that it's clickable, the issue has a color according their status and hovering shows it's name.
Image version:

Maniphest bug tracker has a really nice graph!
https://dev.getsol.us/T7794

Some parts of ui and code of git graah could be re-use to achieve something similar. Ex: https://gitea.com/alpinelinux/aports/graph


CSS fixes and improvements for sitewide mobile issues/shortcomings

✔ Edit Profile: Country input on is too wide on 320px phone
✔ Choose file for profile picture has an odd hidden and too wide input
✔ /playlists are unneccessarily narrow compared to /home and /user
✔ user/playlists are unneccessarily narrow compared to /home and /user
✔ browse artists too narrow and only 1 column
✔ /user/history columns collapse awkardly
✔ /user/comments columns collapse awkardly
✔ User Profile, Admin> Spam User, Delete User collapse poorly
✔ Edit/Playlist Heading has extra padding
✔ Edit/Playlist Title, Year, Links should have their own lines
✔ Edit/Playlist Private message wraps akwardly
✔ Edit/Playlist Delete playlist and save playlist
✔ MinnesotaCoffeeTable as a long artist name needs to link break on tiny /playlists view
Iterate through the changes in this PR. Why did you implement them this way?
I mostly just added mobile rules to address a local list of mobile audits. I don't expect any would be controversial.
Was anything tried that didn't work? Anything that reviewers should pay attention to or difficult or tricky that should be explained? Does anything special need to happen for deployment?
Most every line of CSS code was added within a #{$mobile} rule so I expect no universal changes or breakages.
"Ready For Review" checklist

[x] PR title accurately summarizes changes

Before code review and after additional commits during review.

[ ] Update title and description to account for additional changes
[ ] All tests green
[ ] Booted up the branch locally, exercised any new code
[ ] Percy changes are purposeful or explained
[ ] Css changes are happy on mobile (via Percy is ok)

@sudara This PR addresses just these issues at the top. It represents one 2 hour session of work and the most linear simple improvements from my recent mobile audit.

📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱 📱


docs: Edit file name License-depencies.md > dependencies-license.md

Description

Edit File name License-depencies.md > dependencies-license.md

Related Issue (Optional)

Issue # (e.g., #123)

Changes

Change 1
Change 2

Screenshots (Optional)

Additional Comments (Optional)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Transparancy , ddraw issues black borders, legend  of mir 3

Hi, thank you for all your hard work firstly, and i hope you can help me since a windows 10 update i get black boarders  around the ui, like the transparency  has broken in the game
If i turn on DdrawFixByteAlignment      = 0  - turns off  it fixes the black borders  but all the background ui disappears and it makes everything see-through

I hope you can help!
https://drive.google.com/file/d/1VC-Ls4iwfPYR91yVJktJRMpPP4sgJrBs/view?usp=drivesdk
This is the game if you need to test anything

hi, same problem on windows 11

Quoting myself from the README:
For various reasons, the below cases are not supported:

Games that require an internet connection
...


CSS challenges - pass/fail related to attribute order

Describe your problem and how to reproduce it:
Deliberately tried to break the test by adding superfluous CSS attributes. Requested addition was "padding:1.5em", and the tests are:
Your red-box class should have a padding property.
Your red-box class should give elements 1.5em of padding.
I added CSS attributes in the following order:
font-family:"Bauhaus 93";
font-size:3em;
padding:1.5em;
color:papayawhip;

This passed the first test but failed the second.
Next I removed the "font-size" attribute.
font-family:"Bauhaus 93";
padding:1.5em;
color:papayawhip;

and retested with the same result.
Finally I restored the font-size attribute but reordered with the "padding" attribute first:
padding:1.5em;
font-family:"Bauhaus 93";
font-size:3em;
color:papayawhip;

This passed both tests.
CSS is supposed to be rendered independent of attribute order, so all three attempts should have passed.
Link to the page with the problem:
CSS challenge:https://learn.freecodecamp.org/responsive-web-design/basic-css/understand-absolute-versus-relative-units
Browser and operating system:

Browser Name: Avant Ultimate using Firefox/Gecko engine
Browser Version: Firefox <IP_ADDRESS>08
Operating System: Windows 10 Professional

@MattDBA1 Most of the challenges are testing for a very specific thing.  In this case, the tests are not expecting you to add anything else other than the padding: 1.5em;  The tests are not expecting the extra font-type or font-size properties in the red-box class definition.
You might check out the beta site for the same challenge to see if you experience similar problems.  Many of the challenges have been changed to be more flexible ("real-life) than the current production.  The changes you see on the beta site will soon be moved to production.
Let us know if you still experience any of these issues on the beta site for this challenge.  If so, then we will look into fixing them.
Thank you.

Hi @RandellDawson ! I checked out this issue and it happens both in the beta website as well as in the current one. It seems like the test case was requiring the padding to be a third argument. I tried to fix the issue and I created a PR for the English version.


GRAPHICS CREATION FAILED

Using
Ubuntu 22.04.2 LTS
Kernel 5.19.0-43 generic
Running Wayland not X
Core i5 3rd Gen with Intel HD Graphics (no dedicated GPU)
Running Sniffnet gives Graphics Adapter not Found ERROR

The first set of Errors suggests that your system is not using UTF-8 encoded locales. You can check this by running the locale command and you should be able to see the language code in every setting has a .UTF-8 suffix. Otherwise, you can reconfigure it manually:
sudo dpkg-reconfigure locales

Regarding the last error, are you running Sniffnet with escalated privileges (e.g. root)?

HERE IT IS !!

@ParkerStones I asked the question because you don't need to run it with escalated privileges and sometimes when you do (and in that case, you need to also pass the environment variables using sudo -E), that can cause the Graphics issue on Wayland, although, that's often reported on Nvidia chips.
So if you run the program with a non-root user and still get the same Graphics error, that usually would be an issue with your graphic driver.

@ParkerStones I asked the question because you don't need to run it with escalated privileges and sometimes when you do (and in that case, you need to also pass the environment variables using sudo -E), that can cause the Graphics issue on Wayland, although, that's often reported on Nvidia chips.
So if you run the program with a non-root user and still get the same Graphics error, that usually would be an issue with your graphic driver.

Oh !!........so that means until that driver bug is patched for my hardware it will be impossible for me to use the program!!........
SED
i want to use this tool 🥲......

@ParkerStones Sorry, I don't know more about this, but I believe you can search for a solution on the web or temporarily switch to Xorg.

We can try giving you an alternative version using another graphical renderer.
I will come back to you soon. @ParkerStones

@ParkerStones
Here you are:
Sniffnet_LinuxDEB_amd64.deb.zip
Let me know if it solves the issue 🤞

@ParkerStones Sorry, I don't know more about this, but I believe you can search for a solution on the web or temporarily
switch to Xorg.

@4r7if3x Nope Not Working on Xorg Either
SEE HERE

@ParkerStones
Here you are:
Sniffnet_LinuxDEB_amd64.deb.zip
Let me know if it solves the issue crossed_fingers

Its WORKING SIR
Thank You..........

also Thanks @4r7if3x for your valuable support too hermano !!

AMAZINGGG 🎉🎉
Happy use of Sniffnet!


Fixes #55 | Smart agents cache cleanup

Renamed Consul config fields and add explicit test for getServicesUsingProviderWithRetriesOnAgentFailure

nice! :+1: