Create Normilization Rule with New-CsVoiceNormalizationRule

Although normalization rules of a tenant dial plan can be added by using this cmdlet, it is recommended that you use the New-CsVoiceNormalizationRule (https://technet.microsoft.com/en-us/library/gg398240.aspx) cmdlet instead.
When I use the Get-CsVoiceNormalizationRule cmdlet, it does not return my existing Teams Voice Normalization Rules.  I am apprehensive to add normalization rules using the New-CsVoiceNormalizationRule cmdlet, knowing that manually added entries do not exist in the same scope.

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

ID: d6db6b98-1bab-a22a-2df5-a5c5fea5a6e6
Version Independent ID: 545fa8ce-0abe-4921-04ef-3cd1bf496f24
Content: Set-CsTenantDialPlan (skype)
Content Source: skype/skype-ps/skype/Set-CsTenantDialPlan.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

Hello @ryu-sirius
How are you? Hope you are doing good.
I can see that the sentence you copied from the article can be confusing as this article applies both to on-premises to online so I will try to come up with an improvement to it.
Please confirm me if you tried this instructions to list the rules associated to a tenant dial plan.
Thanks

I found the answer to my question in another document, shortly after posting this thread.
Use the -InMemory parameter to build the array item and add it via the New-CsTenantDialPlan command.
There is an example of this at:  https://docs.microsoft.com/en-us/microsoftteams/create-and-manage-dial-plans#using-a-powershell-script
Thank you for the response, @get-itips .

I found the answer to my question in another document, shortly after posting this thread.
Use the -InMemory parameter to build the array item and add it via the New-CsTenantDialPlan command.
There is an example of this at: https://docs.microsoft.com/en-us/microsoftteams/create-and-manage-dial-plans#using-a-powershell-script
Thank you for the response, @get-itips .

Yes, that is exactly the same article I referenced, thanks for returning and sharing your feedback!

@get-itips  Thank you very much for the contribution and sharing this explanation. @ryu-sirius Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Error -> Request Time-out

i got error Request Time-out when restart my server.
how to solve this error ?

Problem is in your code!

Problem is in your code!

I don't know where the problem is, because it happened when I restarted the server, after that it ran smoothly,
this is my code for start device :
  const sessionDir = `./sessions/${deviceNumber}`;
  const storePath = `./sessions/store/${deviceNumber}.json`;
  const qrFile = `./public/qr/${deviceNumber}.png`;
  console.log("Start Device => ", deviceNumber)

  const { state, saveCreds } = await useMultiFileAuthState(sessionDir)

  const options = {
    // printQRInTerminal: true,
    auth: state,
    logger: pino({ level: "silent" }),
    browser: [process.env.APP_NAME, 'Chrome', '1.0.0'],
    qrTimeout: 20000,
    keepAliveIntervalMs: 10000,
    // browser: Browsers.macOS("Safari"),
    // version,
  };

  const store = makeInMemoryStore({});
  store.readFromFile(storePath);

  deviceNumber = makeWASocket.default(options);

  store.readFromFile(storePath);
  setInterval(() => {
    store.writeToFile(storePath);
  }, 10_000);
  store.bind(deviceNumber.ev);

Problem is in your code!

I don't know where the problem is, because it happened when I restarted the server, after that it ran smoothly,
this is my code for start device :
  const sessionDir = `./sessions/${deviceNumber}`;
  const storePath = `./sessions/store/${deviceNumber}.json`;
  const qrFile = `./public/qr/${deviceNumber}.png`;
  console.log("Start Device => ", deviceNumber)

  const { state, saveCreds } = await useMultiFileAuthState(sessionDir)

  const options = {
    // printQRInTerminal: true,
    auth: state,
    logger: pino({ level: "silent" }),
    browser: [process.env.APP_NAME, 'Chrome', '1.0.0'],
    qrTimeout: 20000,
    keepAliveIntervalMs: 10000,
    // browser: Browsers.macOS("Safari"),
    // version,
  };

  const store = makeInMemoryStore({});
  store.readFromFile(storePath);

  deviceNumber = makeWASocket.default(options);

  store.readFromFile(storePath);
  setInterval(() => {
    store.writeToFile(storePath);
  }, 10_000);
  store.bind(deviceNumber.ev);

change your browser options.  start opening the docs before creating an issue


Domain activation is Failed -Removed CNames in cloud front - Now website is throwing 403 Error

App Id: du6spkvi4zbcz
Region: ap-south-1
Step: Domain activation
Status: Failed
Issue/question
As per the new documentation , i have removed CNAME's since im getting domain activation failed error

Error message

Now website is not accessible, getting 403 error.  Before removing CNAMES it was working fine.

Still domain activation is failed in Amplify

Additional information
Pls suggest. thanks in advance

did you delete the cnames in route 53 and in your cloudfront?

@goalsdoor just so I understand, are you migrating from an existing cloudfront distribution that you manage to Amplify Console?
Are you able to delete the custom domain, wait 15m and try again?

did you delete the cnames in route 53 and in your cloudfront?

I have deleted CNAME's only in Cloud front . did not remove in Route 53

did you delete the cnames in route 53 and in your cloudfront?

I have delete CNAME's only in cloudfront . Did not touch route 53

you need to remove them from route 53, well the old CNAMEs that pointed to your old cloudfront project

you need to remove them from route 53, well, the old CNAMEs that pointed to your old cloudfront project

Its gives me a warning. is this normal ? shall i proceed deleting?

yep, that's the normal, you can make this record again if you need

yep, that's the normal, you can make this record again if you need

Thank you. ill let you know the result in an hour :)

Hi.. My site is still down.. throwing same error

@goalsdoor just so I understand, are you migrating from an existing cloudfront distribution that you manage to Amplify Console?
Are you able to delete the custom domain, wait 15m and try again?

Hi, sorry i have missed to see your comment.. yes you are right

any updates ?

Did you retried to get the domain activation? With the cnames of your old cloudfront deleted, and with out the rule 53 cnames?
Because it's supposed that if you don't have any cnames (addresses) in your route 53 that point to that route (domain,  subdomain), you should have a 404 as response, because there's no one pointing to that page

Did you retried to get the domain activation? With the cnames of your old cloudfront deleted, and with out the rule 53 cnames?
Because it's supposed that if you don't have any cnames (addresses) in your route 53 that point to that route (domain,  subdomain), you should have a 404 as response, because there's no one pointing to that page

And you need to wait like 10mins not one hour, at least that's how much time I wait to see changes

Yes i tried activating the domain in AWS Amplify but its keep on failing, and my couldfront CNAME's are empty also i have deleted the CNAME record in route 53.

Its is Retry in progress status more than an hour and after that its getting failed
Please look into it

you also need to delete tose A routes that point to your cloudfront

Yes i tried activating the domain in AWS Amplify but its keep on failing, and my couldfront CNAME's are empty also i have deleted the CNAME record in route 53.

Its Retry in progress status more than an hour and after that its getting failed
Please look into it

Even After deleting A records , im getting THIS SITE CANT BE REACHED error :(

Issue Solved :

In the cloud front disable and delete your configuration. You do not need this
Delete your cloudfronts in you Route 53. You should have only NS and SOA types delete remaining stuffs
Delete the api your project using the command amplify remove api if you have any
Delete the amplify folder in your project
In the VS terminal , amplify int and followed by amplify add api if you have any and amplify push
Once your app is successful in amplify , it is automatically creating cloud front records in the Route 53. Now there will be of types CNAME, NS, SOA, A, A
I believe you do not need any cloud front configuration for Amplify.
It has started working for me . Thanks :)


JS engine refactor - graal upgrade - JS functions can be passed around safely

refer #1883 #2009
a lot of the attach / detach code has gone away and I find the build 10% faster so that's great news
and I hope this resolves the context errors that have given us a hard time

Great achievement! Is there a timeframe in mind for making a formal minor/major release launch?
Hard to find time these days but given I experienced some of the pains would like to give it a go and ask a few groups to try this out.

@joelpramos I'll try for this week after going over some of the open issues. yes I agree, this may be a breakthrough !


await on tween.finished not cleaning up properly when node is destroyed

Godot version
v4.1.2.stable.official [399c9dc39]
System information
Godot v4.1.2.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3090 (NVIDIA; <IP_ADDRESS>99) - AMD Ryzen Threadripper 3970X 32-Core Processor (64 Threads)
Issue description
When awaiting a tween.finished signal, a node can be destroyed before it finishes, and the parent await will hang forever.
This is an issue because if there is sequential logic in a game that is driven by tweens (i.e. a turn-based game), the outer game-loop would hang indefinitely. When there are a lot of event-driven systems, it is difficult to manage when something might be destroyed as well, so it would be very useful to have a robust recovery for coroutines that are destroyed before finishing regardless of what triggers their completion.
Steps to reproduce
Steps:

download repro project
run scene (f5)

Expected result:
it should print "before/after" coroutine statement
Actual result:
It only prints the "before" statement
Minimal reproduction project
coroutine-repro.zip

In case anyone else runs into a similar design constraint, I've made a simple class that essentially represents an "awaitable" action that can resume immediately or later (similar to JS Promises, without the return types).
extends RefCounted

## Waitable is just a coroutine blocker essentially, which represents ONE UNIQUE
## awaitable instance to be complete before resuming.
## Example: function that returns Waitable could mark it as complete immediately
## if there's nothing to do, or defer the completion until after several animations
## have finished.
class_name Wait

signal completed

var _is_complete: bool = false

## lifetime_dependency is the node that this depends on. If it dies, this will mark itself as completed
func _init(lifetime_dependency: Node) -> void:
	lifetime_dependency.tree_exiting.connect(complete)

## Coroutine function that returns immediately if the instance is already marked
## complete. Otherwise, awaits on the signal which can be triggered by something else.
func wait_for_completion():
	if _is_complete: return
	await completed

func complete():
	_is_complete = true
	completed.emit()

I believe this is expected behavior. This applies to all signals.
Code after await is usually based on the assumption that some criteria met. It's logically wrong to awake the coroutine as the signal is not actually emitted, meaning the criteria are not met, so it'll eventually break somewhere else.
I suggest changing your await into a tween_callback().

Thanks for the feedback @timothyqiu, I realize now that what I originally wanted doesn't generalize well 😅 I'm basically running into a separate architectural problem of awaiting recursive side-effects to finish before moving on with some action, and isn't really related to coroutine behavior. Closing this.


add probabilistic forecast container to data model

Should be comprised of a set of standard forecast containers

@alorenzo175 @lboeman I thought you said on Monday that the probabilistic forecast data model had been implemented across the stack, but I don't see it in datamodel.py. Looks like we'll also need to add functions to api.py.

At the moment, Probabilistic forecasts have only been implemented in the API and Dashboard but not yet in core. I'll add an issue for the api.py addition.


Add Longest Running Jobs into job service report

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/6351/
Test PASSed.

How big would the entire job info set be? Could we just send the entire thing over and do filtering on the client side? This would make it much easier to implement other filters or if the client wanted the last N jobs instead of just 10.

The bound is rather large here. It's up to 10000 jobs each with up to
(currently) N tasks where currently N is the number of workers (but that's
not going to be the case very soon). Once we download all the parameter
information for all of these, it could theoretically be 100s of MBs.
On Thu, Oct 24, 2019 at 11:20 AM Calvin Jia<EMAIL_ADDRESS>wrote:

How big would the entire job info set be? Could we just send the entire
thing over and do filtering on the client side? This would make it much
easier to implement other filters or if the client wanted the last N jobs
instead of just 10.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Alluxio/alluxio/pull/10235?email_source=notifications&email_token=AAC4S6L3K2MFHYZDLUTGSGLQQHRQDA5CNFSM4JEMR6T2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECF65SQ#issuecomment-546041546,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC4S6MUSL7UQNUPIGXT2G3QQHRQDANCNFSM4JEMR6TQ
.

Would it be okay if we don't send the task infos?

toString of Jobconfig is also very large because that may contain all of
the parameters of the tasks.
On Thu, Oct 24, 2019 at 1:21 PM Calvin Jia<EMAIL_ADDRESS>wrote:

Would it be okay if we don't send the task infos?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Alluxio/alluxio/pull/10235?email_source=notifications&email_token=AAC4S6M6LFWFBPHBSZEAAMLQQH7VXA5CNFSM4JEMR6T2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECGJ56I#issuecomment-546086649,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC4S6OQCPQBVKBWKGNFM7LQQH7VXANCNFSM4JEMR6TQ
.

What I may do is make an alternative JobInfo object for Summary that drops
all of the large datas. I may need to do this anyways because the job's
ListCommand has the same problem.
On Thu, Oct 24, 2019 at 2:11 PM Bradley Yoo<EMAIL_ADDRESS>wrote:

toString of Jobconfig is also very large because that may contain all of
the parameters of the tasks.
On Thu, Oct 24, 2019 at 1:21 PM Calvin Jia<EMAIL_ADDRESS>wrote:

Would it be okay if we don't send the task infos?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Alluxio/alluxio/pull/10235?email_source=notifications&email_token=AAC4S6M6LFWFBPHBSZEAAMLQQH7VXA5CNFSM4JEMR6T2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECGJ56I#issuecomment-546086649,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC4S6OQCPQBVKBWKGNFM7LQQH7VXANCNFSM4JEMR6TQ
.

@calvinjia: The biggest reason I want this is for debugging never ending jobs. I could keep cherry-picking this into various builds but I don't know if we want to keep doing that.

alluxio-bot, merge this please.


Create Centos7 branch

Moved from Ansibleref
Will need several changes:

[ ] Packaged Varnish is v4, so need to update vcl etc.
[ ] Packaged Nginx includes SPDY support, so consider updating vhost configs with SPDY
[ ] Packaged PHP is 5.4.x, so support for alternatives will need to be added
[ ] Mailcatcher install from Centos 6.x Ansibleref doesn't seem to work on 7, so consider MailHog cf. #1
[ ] Update Ansibleref my.cnf to work with MariaDB 10.x

@joesb has some working setups from JAC, hopefully we will get those as a basis for us here :)


Include/exclude precedence works inconsistently for non-ripgrep search and with folder-oriented globs

You get different (less correct) results for non-ripgrep search. It will be more difficult to get it right. If this can't be resolved, it should wait for a later release.

Reverted in https://github.com/Microsoft/vscode/commit/3d272922a7aba1918ba1ec9935f2a3dfeef31623 and previous 3 commits. Will leave this open for August, but I'm not sure that it's worth the effort, overall.

I think this isn't worth the effort and just makes the include/excludes harder to understand.


problem in token endpoint with self signed certificates

I am testing mod_auth_openidc in my local machine. I keep getting this error when retrieving the token
[auth_openidc:error] [pid 468628:tid 2900] [client <IP_ADDRESS>:52791] oidc_util_http_call: curl_easy_perform() failed on: https://localhost/auth/oidc/token (SSL certificate problem: self signed certificate)
[auth_openidc:warn] [pid 468628:tid 2900] [client <IP_ADDRESS>:52791] oidc_proto_token_endpoint_request: error when calling the token endpoint (https://localhost/auth/v3/oidc/token)
Not sure if it is a real issue or some extra flag I need to set in http.conf
I am using mod_ssl and the following configs in the http.conf for mod_auth_openidc
  OIDCClientID mnWfbpfbOroRlOg1qlv49eN5jBMa
OIDCClientSecret V1H9N67jSwiw0SvEl3eTzTgHH84a
OIDCCryptoPassphrase Somepass
OIDCRedirectURI http://localhost/oidc/redirect_uri
OIDCProviderAuthorizationEndpoint https://localhost/auth/oidc/auth
OIDCProviderTokenEndpoint  https://localhost/auth/oidc/token

OIDCProviderIssuer localhost/auth/oidc/auth
<Location "/oidc/">
    AuthType openid-connect
    Require valid-user
</Location>

That's because your OpenID Connect provider runs on localhost with a self-signed certificate. You'll need to disable SSL validation to make that work with:
OIDCSSLValidateServer Off

Of course you should not use this in production.

Thank you that was the flag I was looking for.
One issue I noticed is that when going to the tokenendpoint above it is not passing the clientID and the clientSecret. I added the flag OIDCResponseType "code token" and other combinations but none seems to work.

By default it passes the client_id and client_secret in the HTTP Basic Authorization header since that is what the spec demands. If you want to have the credentials presented as part of the post parameters you'll need to specify:
OIDCProviderTokenEndpointAuth client_secret_post

Thank you again setting that flag worked.
Yet another question: It seems the module doesnt support HmacSHA256 encryption for the JWT token (although the JWT spec says it should). Or maybe I am wrong here?

HmacSHA256 is supported where the Content Encryption Key is encrypted using RSAES-PKCS1-V1_5 or AES Key Wrap. mod_auth_openidc supports the minimal required set of encryption capabilities as defined in the JWT spec:

Support for encrypted JWTs is OPTIONAL. If an implementation provides encryption capabilities,
of the encryption algorithms specified in [JWA], only RSAES-PKCS1-V1_5 with 2048 bit keys
(RSA1_5), AES Key Wrap with 128 and 256 bit keys (A128KW and A256KW), and the composite
authenticated encryption algorithm using AES CBC and HMAC SHA-2 (A128CBC-HS256 and
A256CBC-HS512) MUST be implemented by conforming implementations.

Thank you. I did encrypt it with AESKW 256. Then I built the JWT token in the json form ("." separate each
base64urlencode)
base64urlencode({"typ":"JWT","alg":"A256KW"}).
base64UrlEncode({"iss":"auth.test.com","sub":"UserIDHere","aud":"xyz.audience.test.com","iat":"1426271710","exp":1426272310}).
base64urlEncode([-12, 93, -79, 50, -97, -89, 124, 100, -78...])
after a few seconds apache crashes. In the logs I see
[auth_openidc:error] [pid 1007240:tid 2308] [client <IP_ADDRESS>:49399] oidc_util_decode_json_and_check_error: JSON parsing returned an error: '[' or '{' expected near '<'

I don't see encryption happening; it would be better to use an existing library for construction encrypted JWTs rather than constructing it yourself. You seem to produce a JWT that syntactically is a signed JWT (since it has 3 elements) but signals encryption in the header.

I thought about using a lib but it seemed so easy to do it myself. I am following the example in section 3.1 of http://openid.net/specs/draft-jones-json-web-token-07.html almost to the letter
The array [-12,93, -79...] above is the byte version of the AESKW256 encrypted key. Probably I have some bug in this last step.

The example that you refer to is a signed JWT, not an encrypted JWT and it uses {"alg":"HS256"}. Besides that, that link is to an old and expired version of the draft. The latest - to-be-standardized - version is here: http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html

Does openidc support this signed format? I am imagining it cant because it would have to know which algorithm encoded the signature part of the token.

Yes it does, see: https://github.com/pingidentity/mod_auth_openidc/blob/master/test/test.c#L156

Thank you so much.
openidc now logs these errors when it gets the token
[auth_openidc:error] [pid 1047372:tid 2904] [client <IP_ADDRESS>:56059] oidc_proto_validate_nonce: id_token JSON payload did not contain a "nonce" string: [src\jose\apr_jwt.c:206: apr_jwt_get_string]: mandatory JSON key "nonce" could not be found\n
My payload/claims is simply
{"iss":"auth.test.com","sub":"UserIDHere","aud":"xyz.audience.test.com","iat":"1426271710","exp":1426272310}
do I need to add the nonce key? Where do I get it from? (it is not in the headers/post)

a nonce is sent in the authentication requests that mod_auth_openidc sends to OPs; by spec the OP is required to include the nonce as part of the id_token that is produced and sent back to the RP; the nonce allows for correlation of the session at the RP and the id_token produced by the OP, see: http://www.thread-safe.com/2011/08/openid-connect-nonce.html
so you can get the nonce value from the query parameters in the authorization request that mod_auth_openidc sends out

Thank you again. Apache recieves the token and now I would like to send it to some endpoint were some processing could be done and will then login the user. I thought that was the purpose of OIDCProviderUserInfoEndpoint? Despite me having OIDCProviderUserInfoEndpoint https://localhost/auth/oidc/login it redirects to localhost/oidc/ (the <Location location).

I need to use several different providers say
localhost/oidc/p1
localhost/oidc/p2
It seems the way to specify the proper urls is through OIDCMetadataDir. What goes in a file located in that directory?
Is it a series of
OIDCRedirectURI for p1
OIDCProviderTokenEndpoint for p1
...
OIDCRedirectURI for p2
OIDCProviderTokenEndpoint for p2?

See: https://github.com/pingidentity/mod_auth_openidc#openid-connect-sso-with-multiple-openid-connect-providers
there are 3 types of files in there; the ones ending with .provider are regular OpenID Connect OP metadata as described in http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
please use the mailing list for<EMAIL_ADDRESS>for asking questions; the Issues section is for bugs and feature requests

Thanks Hans. I put a question on the mailing list on how to handle multiple providers coming from different urls.


Consider if its possible to model routing for pedestrian areas

It was pointed out to me (thanks @IrenaItova!) that the pedestrian network we generate didn't include the following pedestrian 'area'
https://www.openstreetmap.org/way/614403840#map=19/53.55885/-2.32512

I looked at our custom pedestrian query and determined that this is most likely because the area is tagged with 'area=yes' in addition to being 'highway=pedestrian'.
Our custom pedestrian query filters out such areas (["area"!~"yes"]), being based on the network types defined as defaults in Osmnx (i.e. https://github.com/gboeing/osmnx/blob/main/osmnx/downloader.py#L67 )
So, it makes me wonder, what if we removed that filter?
Presumably there's a reason such areas would be/have been filtered out, but I'll leave this issue here for us to think about if this change could improve modelling for pedestrian accessibility (any thoughts @gboeing?)

Yes OSMnx by default ignores ways with area=yes in its built-in filters. This can be customized as needed by the user.
The reasoning behind ignoring these ways is that they don't correspond well to a graph-theoretic representation of the network. That is, these ways represent boundaries of a polygon. However, OSMnx graphs expect ways to represent links between intersections/dead-ends. If you don't filter out area=yes ways, you can model them in your graph, but it'll be a bit odd because you cannot route "through" these areas, only "around" them on their polygonal boundary ways.

Thanks @gboeing , I knew there would be a reason!
Something to think about for our project some time when we have more time perhaps.  I've thought of this before in the context of public open space --- often (not always) people can/would walk through these, and it could be nice to model that assumption (although it would sometimes be wrong) by inserting new edges across to represent their potential for being traversed.    I never ended up looking too far into that because the assumption seemed a bit off (eg many public open spaces are fenced at least on some sides).  But maybe it could be safer to implement pseudo-paths cutting through areas tagged with pedestrian=highway?  Maybe i'll think about that for later in the year, or at least evaluate implications of removing the area!=yes filter
Thanks @gboeing and @IrenaItova!

As per above discussion, this may be possible in theory; in practice, I don't think we have capacity to think through the implications of any changes.   I think retaining the current usage as per default in OSMnx based on Geoff's reasoning is reasonable for now.  I will close this issue, as it is not likely to be resolved in short/medium term.


Can you add a function to buy your own equipment after death?

Please forgive me for making a pull request here. This was inspired by the originrealms server and I thought it would make the plugin more interesting!

Not planned


Validate dates in the MainScreen's date field.

Currently, no validation is performed.

Resolved with commits cd86bce and 1873d06.


Close figures in sections

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (fe087e7) 100.00% compared to head (62a2a3a) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #199   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           67        67
  Lines         1598      1598
  Branches       160       160
=========================================
  Hits          1598      1598

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Create countly plugin for selecting push notification targets by country code

As part of ooni/probe#1055 we determined that we need to understand if it's possible to extend countly community edition functionality to support sending push notifications by country code.
The database view of countly appears to already include country information which is derived from GeoIP, so we should be able to query this in order to filter the targets of push notifications.

The docs for countly are here: https://support.count.ly/hc/en-us/articles/360036862392-Introduction.
Also related to ooni/probe#1057.

The plugin has been created and is in a working state. There are a few rough edges like duplicate countries shown in the dropdown which needs to be addressed.

We now have a working prototype of this here: https://github.com/ooni/countly-push-to-country.
It seems like it's possible to do this using the countly plugin API.
We will document some follow up next steps for this to deploy it in production.


Verify not working if the certificate annotation is present and there is no bundle annotation

Description
Both certificate and bundle are optional parameters when signing with cosign. If the certificate annotation is present and there is no bundle annotation, verification fails with the following error:
2022-09-29T14:56:46.298309Z  INFO sigstore::cosign::signature_layers: Skipping OCI layer because of error error=SigstoreRekorBundleNotFoundError
Image verification failed: No Signature Layer passed verification

This will happen when providing a certificate when signing with cosign using a keypair and without enabling COSIGN_EXPERIMENTAL
How to reproduce it?
raulcabm/sigstore-test:1 was signed with cosign and pkcs11. dev.cosignproject.cosign/signature and dev.sigstore.cosign/certificate annotations are present, which is a valid scenario.
crane manifest $(cosign triangulate  raulcabm/sigstore-test:1) | jq
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.oci.image.manifest.v1+json",
  "config": {
    "mediaType": "application/vnd.oci.image.config.v1+json",
    "size": 248,
    "digest": "sha256:2d4f0c0130a23ca7ab0aa545aadb91674ba7eef0bb38ebada113b047d6508bad"
  },
  "layers": [
    {
      "mediaType": "application/vnd.dev.cosign.simplesigning.v1+json",
      "size": 254,
      "digest": "sha256:25fa425dace3302722778703a6b4387251af7c3a8513827f05010c0d0785d9f4",
      "annotations": {
        "dev.cosignproject.cosign/signature": "brAE3zRaN0Tcj7P9dcSe0yghHl0ToOqUMm8T2ll8uJLBJGmskDuyRtbZTNy8oNvHL6vvLpmX4SL29o+YGBk4GB+q8EPigvKLVgh3qD8u+7EiWltcDJyj8V/Re6LPdei6BDx5QtvHK4Dfq13Hc3JPlor7vOZkBvfr3LY3t/r9V2G+tE3ge8kvEj1XGPjhiJ5vYezuLZ0pxq1nqp18s+zzYLjTov6JqWflEltmQnZQAoNjfjGEH/4GAbpVZm3AyiBWfgmGqhsV0cdQzroJ6ruPRapIzlKJtg11n+KhtLsEViZE9BoA046E89XKWudKV7VJkcBz4wWlXhhDrQrVuaaqxw==",
        "dev.sigstore.cosign/certificate": "-----BEGIN CERTIFICATE-----\nMIIDETCCAfkCFAqyt8DGE5KXNAOHhfLMbY4bzTIIMA0GCSqGSIb3DQEBCwUAMEUx\nCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl\ncm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjIwOTI5MTM1OTE4WhcNMzIwOTMwMTM1\nOTE4WjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UE\nCgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEA0LWSY//4shTayWKm8U0AOIN6sKh1Umh8eGIT31Wr4ULdWQjz\nraG0bd/tm1zUQjm8DIvzobIKPoZvKZxfN7cBiqCgHhCVwYKjs/4fIWq66dSHLRGD\nw1I6yEKpX+Fq8ZcmyhOmLIyfyh0p0BkRVjoOb0nQNPrNr1pIYd0uCn+GnQAL2dJZ\nAmhx+J5UEb0XF/3PMD7U8rNHj8Ah3NZnrosK51X5c05n8eIJUyEo/IMgmhbiylzO\nYM61yCSehZITCNSBKwEMpt3BENfaO4wGwBwQmou+Yjptdv4UvejrCCkApFmnyj6P\n/ko1Bl/MCF85IGrolKUX6NCGB6AgBSQp0GLYLwIDAQABMA0GCSqGSIb3DQEBCwUA\nA4IBAQAf1WTO1PnkRO1ZxOSLsU0UEXPp4oXQgU4nhC/mWf3Arn89KxB8LJawXKnc\nNWJQLIWGCwPPWMad0LK8yVUT0ZBFMVvOf5il9crmptpkkqLCilvi8mfLqR666pFk\nuFi28IMfz396qu5gSwd4lkJ7oaf9IyivibH+Zo/toXOyPFuaTKlPhS2q8hBtbDl1\nvbgIsC7dGFMQz59XPkqdWjoKsmUbpztIc709zOsvuOcmIwxGEpUc7rtWpdnwTK5f\nmjyRSrvnLQOJnlYBt6qqXTdz56r6rfs0eBi549IPIQ0fyurfzat+xG3TpAeT/f+K\nie75PIN1Zt+t59D6rGb4YPa+qSS6\n-----END CERTIFICATE-----\n"
      }
    }
  ]
}

Verification with cosign is successful, however sigstore-rs returns the SigstoreRekorBundleNotFoundError error. This can be tested with:
cargo run --example verify -- \
  --rekor-pub-key ~/.sigstore/root/targets/rekor.pub \
  --fulcio-cert fulcio.crt.pem  \
  -k pubkey.pem raulcabm/sigstore-test:1

Version
v0.4.0
This issue was raised in https://github.com/kubewarden/verify-image-signatures/issues/20#issuecomment-1256573774

Assigned to @raulcabello, who is already looking into that

We are always trying to verify that the certificate in the dev.sigstore.cosign/certificate annotation was issued by fulcio inside the from_certificate method. For that we need a bundle, and if the bundle is not found the error SigstoreRekorBundleNotFoundError is returned.
It is possible that this certificate annotation was not issued by fulcio. This certificate can be added when signing with cosign without the COSIGN_EXPERIMENTAL mode.
We can add a flag similar to COSIGN_EXPERIMENTAL to verify certificates with fulcio and rekor. If this flag is not enabled, fulcio validation for the certificate will not be performed. In cosign this validation is performed just if COSIGN_EXPERIMENTAL is enabled. If COSIGN_EXPERIMENTAL is not enabled co.RekorClient is nil
What do you think about this approach?


Combustion Turbines and Mixtures Non-researchable

Mod source
Factorio Mod Portal
Operating system

=Windows 10

What kind of issue is this?

[ ] Compatibility
[ ] Locale (names, descriptions, unknown keys)
[ ] Graphical
[ ] Crash
[X] Progression
[ ] Balance
[ ] Pypostprocessing failure
[X] Other

What is the problem?
I started a new Pyanodon playthrough after a year or so away and found that the Combustion Turbines and Mixtures are non-researchable.
Steps to reproduce

Thought it was other mods messing with it, so I started a new game with only Pyanodon mods still and they were still missing.
Started with just Pyanodon Coal Processing, they were there.
I kept adding more Pyanodon mod addons, was still researchable up till Pyanodon Alien Life.
When Pyanodon Alternative Energy Was added they no longer show up in the tech tree.

Additional context
No response
Log file
No response

We deleted those features. They made power production too easy and 1-dimensional. If you would like these features re-added please see the following mod. https://mods.factorio.com/mod/py_liquidfuel?from=search


deque64.extend-left-deque

deque64.extend-left/right-deque should be implemented which will extend a double-ended queue from one of its sides using another deque.

Did that a long time ago, forgot the issue.


Update site to use new Code of Conduct

Following the approval of the new Typelevel Code of Conduct, this PR updates the site to use that new Code of Conduct and link to the Enforcement Procedures in the governance repo.
Also we remove older Code of Conduct material to avoid confusion.

Perhaps of note, this will break the https://typelevel.org/conduct/ link, but I am not sure how important that is.
That page currently does not render well, and it displays a deprecated CoC.
Redirects in jekyll land do not seem straightforward without plugins, so I don't really want to go down that route personally.

Will there be a blog post too?

Will there be a blog post too?

Yes.

Blog post added. It's mostly the description for the original PR which already had lots of good detail.


Fix deadlock on rewrite of opHistory when history limit is reached

It is possible for opHistory.Rewrite to be called from
opHistory.historyUpdatePath. This is problematic, because both methods
grab a lock, and Mutexes in Go are not reentrant. This change pulls out
the logic in Rewrite into opHistory.rewriteLocked, and retains the
public facing method.

Thanks!


spaCy Tokenization Details

Hi, in the README.md it says:

A tokenized version of the supporting passage, using spaCy. Each token is a tuple of the token string and token character offset. The maximum number of tokens is 800.

I'm wondering if you guys can provide the script used for tokenization (ideally) or describe more specific details about how the tokenization is done. For example:

Is the model en_core_web_sm, en_core_web_md, or en_core_web_lg?
What are the custom arguments passed to the Tokenizer? I assume token_match=lambda t: t in ('[PAR]', '[TLE]', '[DOC]') for example.
I believe I found some problem with tokenization in the data provided. If you look at line 5 of HotpotQA.jsonl, the [SEP] token is split up, which should not be in my opinion ([PAR], [TLE], [DOC] are not split up):

>>> sed '5q;d' HotpotQA.jsonl | jq '.context_tokens[2:7]'
[
  [
    "Ethanol",
    12
  ],
  [
    "[",
    20
  ],
  [
    "SEP",
    21
  ],
  [
    "]",
    24
  ],
  [
    "Ethanol",
    26
  ]
]

Hi, thanks for reporting!
The spacy model is en_core_web_sm.
The code for tokenizing looks like this:
def get_tokenizer(whitespace=False):
    """Load spacy tokenizer with special tokenization cases."""
    en = spacy.load('en', disable=['entity', 'tagger', 'parser'])
    if whitespace:
        tok = Tokenizer(en.vocab,
                        prefix_search=lambda _: None,
                        suffix_search=lambda _: None,
                        infix_finditer=lambda _: iter([]))
    else:
        tok = en.tokenizer
        for sep in SEPARATORS:
            tok.add_special_case(sep, [{spacy.attrs.ORTH: sep}])
    return tok

Indeed,  there is a bug as [SEP] is not in SEPARATORS as you have seen. This is related to it being a special case for HotpotQA --- see #21 .
As it is late (and this has little effect on final performance), we won't fix it for now, but may issue a fixed version after the submission deadline for future work. [SEP] isn't used in the other datasets, so don't worry about doing custom hot-fixes for that.


[BUG]: [NaturalSpeech2] AttributeError: 'JsonHParams' object has no attribute 'diffusion_type'

Describe the bug
The official config ns2.json does not have diffusion.diffusion_type attribute. Meanwhile, in models/tts/naturalspeech2/ns2.py, it is required.

How To Reproduce
Steps to reproduce the behavior:

Config/File changes: None
Run command: bash egs/tts/NaturalSpeech2/run_inference.sh --text "[The text you want to generate]"
See error:

Traceback (most recent call last):
  File "/tools/Amphion/bins/tts/inference.py", line 169, in <module>
    main()
  File "/tools/Amphion/bins/tts/inference.py", line 162, in main
    inferencer = build_inference(args, cfg)
  File "/tools/Amphion/bins/tts/inference.py", line 29, in build_inference
    inference = inference_class(args, cfg)
  File "/tools/Amphion/models/tts/naturalspeech2/ns2_inference.py", line 29, in __init__
    self.model = self.build_model()
  File "/tools/Amphion/models/tts/naturalspeech2/ns2_inference.py", line 37, in build_model
    model = NaturalSpeech2(self.cfg.model)
  File "/tools/Amphion/models/tts/naturalspeech2/ns2.py", line 31, in __init__
    if cfg.diffusion.diffusion_type == "diffusion":
AttributeError: 'JsonHParams' object has no attribute 'diffusion_type'

Expected behavior
Simply add
"diffusion_type": "diffusion"

into the ns2.json config will solve the problem.

Set config to egs/tts/NaturalSpeech2/exp_config.json solves this error. It was my mistake.


Refactoring in VS code

Fixed issue #5
Below is the content of "settings.json":
{
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
},
"isort.args":["--profile", "black"],
"black-formatter.args": ["--line-length", "80"],
}

Hi @sk-tigeranalytics
PR is ready. Kindly approve it.
Regards,
Nikita

Confirm merging


Broken Amounts on a tx with multiple swaps

I use version 1.1.0
To reproduce try TX
https://etherscan.io/tx/0x4293ec6511d3d9fba510f3638135f5bdf64205b9328c8165190dbd37d191d0a2
The decoded input will be ->
{
  'commands': b
  '\x08\x00',
  'inputs': [
    (<Function
    V2_SWAP_EXACT_IN(address,
    uint256,
    uint256,
    address
    [],
    bool)>,
    {
      'recipient': '0x0000000000000000000000000000000000000002',
      'amountIn':<PHONE_NUMBER>0206173218298377997,
      'amountOutMin': 0,
      'path': [
        '0xaaeE1A9723aaDB7afA2810263653A34bA2C21C7a',
        '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'
      ],
      'payerIsSender': True
    },
    {
      'revert_on_fail': True
    }
    ),
    (<Function
    V3_SWAP_EXACT_IN(address,
    uint256,
    uint256,
    bytes,
    bool)>,
    {
      'recipient': '0x0000000000000000000000000000000000000001',
      'amountIn':<PHONE_NUMBER>8658097711785492504343953926634992332820282019728792003956564819968,
      'amountOutMin':<PHONE_NUMBER>3,
      'path': b
      "\xc0*\xaa9\xb2#\xfe\x8d\n\x0e\\O'\xea\xd9\x08<ul\xc2\x00\x01\xf4\xa0\xb8i\x91\xc6!\x8b6\xc1\xd1\x9dJ.\x9e\xb0\xce6\x06\xebH",
      'payerIsSender': False
    },
    {
      'revert_on_fail': True
    }
    )
  ],
  'deadline':<PHONE_NUMBER>
}

Hello @tnet-ag !
I'm closing this issue as duplicate of #10, #14, #31, but feel free to re-open it with more details if you think the issue is different.
Thank you for your interest in this lib! :)

@Elnaril
Thanks for the Links
Very helpful!
Maybe a potential feature for the future to provide a option parameter like "use_finalized_amounts"
In the Background the library fetches then the logs and updates the amounts.

@tnet-ag
Thank you for your suggestion.
I never added support for logs as they are more related to other contracts (V2 and V3 pools for swaps, token contracts for transfers, WETH for wrap/unwrap, ...) than the UR one. But that could make sense within the context of scope expansion, and if enough users are interested in it.


Publish helm charts

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Is your feature request related to a problem? Please describe.
The docs state that the install of CVAT through helm charts should start from the repository. Having published helm charts enables the easier use and distribution of the charts, and using them in automation tooling.
As an example, using the charts with terraform is currently near to impossible, as one would have to either include CVAT as a submodule (and submodules are a hassle to maintain...), pulling the complete CVAT repo each time an automation runs, just to check if the helm chart has an update.
Describe the solution you'd like
There are many ways to publish helm charts; easiest way might be to use Github pages as the project already uses Github and has Github actions already in place. The marketplace has plenty of tooling which deploys helm charts to GH pages.
Describe alternatives you've considered
No response
Additional context
No response

We deploy CVAT with Terraform via the chart, and I just use a null_resource to do the clone:
resource "null_resource" "git_clone" {
  triggers = {
    cvat_clone_trigger = var.cvat_ref
    force_clone_trigger = var.force_clone ? timestamp() : 0
  }
  provisioner "local-exec" {
    command = "if [ ! -d ${local.git_clone_path} ]; then mkdir -p ${local.git_clone_path} && git clone https://github.com/opencv/cvat.git ${local.git_clone_path}; fi && cd ${local.git_clone_path} && git checkout ${var.cvat_ref} && helm dependency update helm-chart"
  }
}

It's not perfect and can end up in a weird state if you're not careful, but it works fairly well. I agree that a published chart would be preferable, though.

Agreed; a published chart is better, I was just trying to provide a workaround for anyone who comes along looking for how to use the chart with Terraform (I personally really don't like submodules).
FWIW the null_resource doesn't pull every time, only when you either set force_clone to true (since timestamp() updates the resource on each run) or change cvat_ref (we pin to specific refs, so it was a natural fit for us). Every other time you run, nothing is changing in state, so it doesn't do the clone. The only problem with that is if you use ephemeral builders, but it feels like using cache in that case makes more sense than re-cloning anyway.


KOGITO-6535: Kogito Dev Service not pulling latest version of TrustyServicePostgres image

See https://issues.redhat.com/browse/KOGITO-6535
This change minimises the potential for the addon using a stale version of Trusty Service whilst also removing the need to maintain a specific version number. It follows the change made by @cristianonicolai on for the Process extension here.
IMO, consistency within our own codebase is important.
Many thanks for submitting your Pull Request :heart:!
Please make sure that your PR meets the following requirements:

[x] You have read the contributors guide
[x] Your code is properly formatted according to this configuration
[x] Pull Request title is properly formatted: KOGITO-XYZ Subject
[x] Pull Request title contains the target branch if not targeting main: [0.9.x] KOGITO-XYZ Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains link to any dependent or related Pull Request
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket

How to replicate CI configuration locally?

Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.
build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.

How to retest this PR or trigger a specific build:

Run all builds
Please add comment: Jenkins retest this

Run (or rerun) specific test(s)
Please add comment: Jenkins (re)run [kogito-runtimes|optaplanner|kogito-apps|kogito-examples|optaplanner-quickstarts|optaweb-employee-rostering|optaweb-vehicle-routing] tests

Quarkus LTS checks
Please add comment: Jenkins run LTS

Run (or rerun) LTS specific test(s)
Please add comment: Jenkins (re)run [kogito-runtimes|optaplanner|kogito-apps|kogito-examples|optaplanner-quickstarts|optaweb-employee-rostering|optaweb-vehicle-routing] LTS

Native checks
Please add comment: Jenkins run native

Run (or rerun) native specific test(s)
Please add comment: Jenkins (re)run [kogito-runtimes|optaplanner|kogito-apps|kogito-examples|optaplanner-quickstarts|optaweb-employee-rostering|optaweb-vehicle-routing] native

Full Kogito testing (with cloud images and operator BDD testing)
Please add comment: Jenkins run BDD
This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...

@r00ta FYI.. assuming this is merged, as appears will happen with the identical Process extension change, there will be no need to amend your CI maintencance scripts to handle the version in the {{tracing-decision}} addon.

The (build) kogito-examples check has failed. Please check the logs.

The (build) kogito-apps check has failed. Please check the logs.

The (build) kogito-examples check has failed. Please check the logs.

The (build) kogito-apps check has failed. Please check the logs.

I have one concern regarding this. People usually do not develop with the latest SNAPSHOT. I think they are usually advised to use some community release (something with "*Final" version) of Kogito as it is much more stable than SNAPSHOT version. But if we hard code the "latest" version then the service will always run with the latest image, which may be incompatible with the older community release version. I would suggest to keep this value in some placeholder. This placeholder may have value "latest" on the main branch. But I think it needs to be set to a specific version for each community release.

You are right @jiripetrlik even with this fix; "older" extensions would still be hard-coded to use the latest Trusty Service meaning they could fail to run correctly if newer, incompatible, versions of Trusty Service are published. I will restore the properties file usage.

The (build) kogito-examples check has failed. Please check the logs.

Jenkins run kogito-examples tests

Jenkins run kogito-examples tests


Fixed compatible GNUPG_VERSION for alpine 3.18

Fixes #118.
For some reason I can't locally build the docker image, but the error is in a totally unrelated part of the code. I'm not sure if building it locally requires some additional setup.

Thanks for making the PR. Could you test maxisam/mgob:dev.288 ?

I've tested it. It seems to work as expected.

here is the new release https://github.com/maxisam/mgob/releases/tag/2.0.22


Pool state updated within policy function

Congrats on the work, everyone - this looks very good and will be super useful to the TE and Balancer communities.
I'd like to suggest an improvement: IIUC, the combination of the object oriented nature of your architecture plus the current logic defined in p_action_decoder is causing the pools state to be updated within the policy function and not the state update function.
eg
https://github.com/TokenEngineeringCommunity/BalancerPools_Model/blob/9489bb040f90c546b925de1c86b35364a08df6dd/model/parts/system_policies.py#L103-L107
...
https://github.com/TokenEngineeringCommunity/BalancerPools_Model/blob/9489bb040f90c546b925de1c86b35364a08df6dd/model/parts/system_policies.py#L126-L127
I verified this initial impression by commenting out this line and observing that the simulation returned the same results:
https://github.com/TokenEngineeringCommunity/BalancerPools_Model/blob/9489bb040f90c546b925de1c86b35364a08df6dd/model/partial_state_update_block.py#L17
The implication is that all state update functions within the partial state update block read the updated pool state instead of the state at the previous substep as would be expected. Which doesn't break anything for this particular model because all other state variables are essentially metrics.
It might seem like a nitpick, but the separation of policy functions and state update functions and the purposes of each one is an issue we frequently face when introducing cadCAD concepts. cadCAD's flexibility enables us to do basically anything as long as we know what we're doing, but standardizing this sort of thing is IMO key to increasing the library's user base. More importantly, future versions might count on this best practice being the norm and introduce what would be breaking changes from this model's perspective.
My suggestion would be to split the current p_action_decoder into:

a policy function that reads from action_df and  returns action metadata
a state update function that actually performs the updates

This would in turn require including a second partial state update block for computing metrics like the spot price

Not a nitpick - I've always felt that cadCAD should be stricter about some things. What things exactly, while not restricting flexibility too much? I have no idea. I think a good place to start thinking would be some form of standardization to allow cadCAD models to plug into other cadCAD models @markusbkoch


Expose X-Forwarded-Port and X-Forwarded-Proto

Worked with @krancour to try and get these exposed to our end application. Got our AWS ELB setup and configured correctly, the router doesn't pass these two along if present.
Any chance we could get them exposed?

I'll be lookong into this.  Sometimes these things aren't as simple as we'd hope, but I can see where an application may want those headers.


Create Compiled Arlon CLI for MacOS, Windows and Linux and the Build Infrastructure

To make Arlon easier to use we need to create an automated build system that can publish the Arlon CLI for Mac, Windows and Linux.
The end goal is to make using Arlon much easier, with a complied CLI users can download and go.
Users of any desktop OS should be able to download the CLI and use it.

[ ] Allow users to install using brew
[ ] Allow users to install using APT
[ ] Investigate using https://chocolatey.org for Windows

It may be easier to just publish binaries without package system integration. The only downside with that is it won't have a built-in upgrade feature.

I just noticed that issue #61 is about a self-update system. Perhaps a standalone binary combined with that feature would solve the lack of integration with native package manager.

I can look into this (tagging and releasing binaries).
In addition, GoReleaser has support for

@cruizen can you adjust the effort estimate, and also break this into estimates for each of the OSes.


memmap embeddings and labels

This will write embeddings to a memmap'ed file and labels to a single pickle'd file. This will make it easier to iterate over them quickly when learning the downstream predictor.
A few gotchas come up:

The label format is inconsistent and weird between scenes and timestamps. Also scene labels are multiclass (one label) not lists. This isn't flexible. #124 I mean maybe this is okay tho, because for multiclass we want to return a tensor that is a single long and for multilabel we want to return a one hot tensor. (We can't have variable length rows in a tensor.)
Once the files are memmap'ed it's slow to partition the examples into train and validation. I think luigi should split upstream into train and validation set for consistency. #94

@jorshi We could just write it once to the memmap'ed file and not to the individual files. Shouldn't be too hard.
https://github.com/neuralaudio/hear-eval-kit/issues/128


Fixed typo (coulmn)

Docs Build status updates of commit 9da7f5a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

officedocs-dev-excel-pia/xml/Microsoft.Office.Interop.Excel/PivotTable.xml
:white_check_mark:Succeeded

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


0.6.3+: dehydrated does not call any defined exit_hook when -c is used

There is a bug in all versions of dehydrated from 0.9.3 onward which prevents any exit_hook defined in the script configured with HOOK= when dehydrated is being run with -c.
Doing some tracing, the bug seemed to appear just after the 0.6.2 release but before the 0.6.3 release; but I can't point it down to a specific commit as I'm not familiar with the code at this time.  Perhaps a commenter will be able to provide the exact commit?
In any case, this bug is a regression on the previous behavior of 0.6.2 and contrary to the dehydrated documentation.
Hopefully this issue report will prevent others from taring their hair out wondering what went wrong with a dehydrated upgrade, as I have been doing! :D
I hope someone on the dehydrated team can look at this urgently, given it's impact on administrators abilities to cleanly restart services after new certificates have been issued.
Thanks for the good work! :)
[Edit: corrected version numbers - it's not 0.9.3+, it's 0.6.3+ - sorry about that!]

I am entirely unable to replicate this issue at all, using dehydrated 0.6.5, and both by using HOOK=

Hey - thanks for the reply.
As you weren't able to reproduce this I dug a little deeper and have figured out the problem.
It's party due to my hook script, and party due to dehydrated....
My hook script (for the deploy_cert hook) was returning with an error code of 1, due to the last command in the function failing (it was possible for it to fail by design) - this resulted in the function returning a non-zero value by accident.  That bit was my bad :)
But the second part of the problem lies within dehydrated.  When the hook script is called, set -e is in effect by the looks of it, so a non-zero exit code from that script causes dehydrated to stop dead in its tracks.  I can reproduce this behavior with other functions within the hook script - the non-zero return code just stops dehydrated on the spot, with no error or indication why it has failed.
My suggested fix is to make it explicit in the example hook script that you MUST return a zero value from your functions, and document it on the website.  Otherwise the fixes are in the dehydrated code itself - turn off set -e around the calls to the hook scripts and add some proper error handling, to tell the user what is going on.  IMO, dehydrated should not just stop with no error because of a user supplied hook script - there should be proper error checking... it's normal practice to validate user data, why not user code? :)
Anyway, hope that helps!

I added lots of error messages for failed hook scripts, this issue should be resolved by that.


upgrade srsRAN to 21_10.

Not ready yet; needs changes for drb.conf.

virtual UEs working, now need to test SDRs.


How to wait until page freezes in protractor?

We have got following logic on frontend - so when new page is loaded, screen is auto scrolling to specific section and I have a script which clicks on the specific element at that time. Hence, while this movement is occurring following error is appearing due to the fact that selenium is clicking on wrong element:
"Element is not clickable at point (x, y). Other element would receive the click..."
I have added plain sleep, but this solution is not a good one. So does any one know how to wait until page freezes - when auto scrolling is finished?

It depends on how you added the scroll; if your scroll action/library contains setTimeout, it will not work, otherwise it should work out of the box if ignoreSynchronization isn't set.
That being said, using a click/coordinates to identify an element is never a good idea, as it requires you to change the coordinate every time you make a small change to your app.

I think this is obsolete.


[WebUI] Refactor keyboard listening logic; Add keyword-based AE

Towards fixing #49
When initial abbreviation expansion fails:

Let's suppose you want to say "I feel a little groggy", but the option isn't provided, even though it is actually available in the example in the screenshot above. You can click the letter that corresponds to the "g" or simply type "g" with the keyboard.

The screenshot above shows when you have typed out the word "groggy". Then you can type Space or Enter to trigger AE again, this time with keyword.

This will narrow down the AE options and bring up the desired phrase, as shown in the example above.
Also in this PR:

Refactor logic for listening to external keypresses into ExternalEventsComponent.registerKeypressListener(). Other components, such as AbbreviationComponent call this method to register custom keypress-driven logic such as AE. This teases out component-specific logic out from ExternalEventsComponent.

cc @antonkast-google Please review the PR. Thanks.


On windows icons are not in front of filename

with atom 1.8.0 and seti icons 1.3.1 I get this on windows :

icons are not align with filename.

Hmm, not sure if that would be Windows specific. What theme are you using?

I use Atom Dark theme. The one included with Atom.

This does indeed happen with Atom Dark, but not with One Dark (the new default theme).

Published a fix in a new release, v1.3.2. Let me know if it doesn't solve this issue.

Great, works for me!


[HOTFIX] Handle Lazy loading with inverted index for ColumnarVectorWrapperDirectWithInvertedIndex

when the lazy loading with an inverted index,
getBlockDataType() was not implemented for ColumnarVectorWrapperDirectWithInvertedIndex.
So, Added implementation.
Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed? NA

[ ] Any backward compatibility impacted? NA

[ ] Document update required? NA

[ ] Testing done
yes.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA. NA

@kumarvishal09 : please reveiw

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1108/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1319/

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9373/

@ravipesala : please review

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1129/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1340/

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9393/

LGTM

LGTM


Tooltester Backup

Feature Request
Desired behaviour
Back up tooltester logs on the first Jenkins Master before Jenkins Master V2 takes over
┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Fix Versions: Dockstore 1.7
┆Issue Number: DOCK-597

Or to persist between release (shutdowns)

@garyluu think this was mis-assigned, think you're well underway and can close this if appropriate


[SQL] Make Strategies a public developer API

Test build #28317 has started for   PR 4920 at commit cbc35c0.

This patch merges cleanly.

lgtm

Test build #28317 has finished for   PR 4920 at commit cbc35c0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/28317/
Test PASSed.


[FLINK-15852][cli] Prioritize ExecutorCLI over YarnSessionCLI for activeCLI

What is the purpose of the change
This PR changes the order in which the CliFrontend selects the active CLI command.
Currently in Flink there are 3 custom command lines, the DefaultCLI, the FlinkYarnSessionCli and the ExecutorCLI and when the user submits his/her CLI command, the CliFrontend selects which one to use (i.e. which one is active) for further processing based on criteria specific to each custom command line.
The FlinkYarnSessionCli is chosen if there is a file called .yarn-properties-USERNAME  (among other criteria) in a specific directory. This file can be written transparently to the user, if he/she used the CLI previously to launch a yarn session cluster.
The ExecutorCLI is activated if and only if there is an explicit -e flag specified by the user.
Given that currently Flink first checks if the yarn cli is active and, if not, it only then checks the ExecutorCLI, if this "magic" file exists from a previous run, there is no way for the user to use the ExecutorCLI without deleting the "properties" file, which may be useful in the future.
Given that in the case of the ExecutorCLI, an explicit action is required by the user to activate it, while this is not the case for the yarn cli, this PR aims at changing the order in which the cli's are checked for being activated or not.
Brief change log
Changes the order of loading the clis in the CliFrontend.loadCustomCommandLines().
Verifying this change
Added the FlinkYarnSessionCliTest.testExecutorCLIisPrioritised()
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thanks @TisonKun for the review! I will integrate the comments and merge :)


CompositedTransformFollower responds to taps even when showWhenUnlinked is false

Steps to Reproduce
If we have a CompositedTransformFollower that follows a CompositedTransformTarget, and we scroll the target out of the screen, the layer link between them gets broken. This results in the follower showing at the top left of the screen.
We can hide the follower by setting showWhenUnlinked to false, but it still responds to taps of the user.
To reproduce this, I created this small app:
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage();

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  LayerLink _layerLink = LayerLink();
  FocusNode _focusNode = FocusNode();

  @override
  void initState() {
    super.initState();

    _focusNode.addListener(() {
      if (_focusNode.hasFocus) {
        Overlay.of(context).insert(OverlayEntry(
          builder: (context) =>
            Positioned(
              width: 200.0,
              child: CompositedTransformFollower(
                link: this._layerLink,
                child: Material(
                  elevation: 4.0,
                  child: RaisedButton(
                      onPressed: () {
                        print('I was pressed');
                      }
                  ),
                ),
              ),
            )
        ));
      }
    });
  }

  @override
  Widget build(BuildContext context) {
     return new Scaffold(
       body: ListView(
         padding: EdgeInsets.all(20.0),
         children: <Widget>[
           SizedBox(height: 200.0,),
           CompositedTransformTarget(
             link: this._layerLink,
             child: TextField(
               focusNode: this._focusNode,
             ),
           ),
           SizedBox(height: 700.0,)
         ],
       )
    );
  }
}

If you focus the TextField, the button shows, then if you scroll the TextField out of the screen, you can see the button stays at the top left of the screen. If you tap the button, it prints to the console "I was pressed".
Now, set the showWhenUnlinked to false and repeat the procedure. Even though the button won't be showing anymore, it will still respond to taps.
Logs

[✓] Flutter (Channel beta, v0.6.0, on Linux, locale en_US.UTF-8)
    • Flutter version 0.6.0 at /home/aalhamali/flutter
    • Framework revision 9299c02cf7 (2 weeks ago), 2018-08-16 00:35:12 +0200
    • Engine revision e3687f70c7
    • Dart version 2.1.0-dev.0.0.flutter-be6309690f

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.1)
    • Android SDK at /home/aalhamali/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.1
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 3.1)
    • Android Studio at /opt/android-studio
    • Flutter plugin version 26.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] Connected devices (1 available)
    • Android SDK built for x86 64 • emulator-5554 • android-x64 • Android 9 (API 28) (emulator)

• No issues found!

how about manually hiding CompositedTransformFollower when showWhenUnlinked is false ??

You mean when the follower is unlinked from the target? Is there an efficient way to listen to that?

did you find a solution? does the issue still exist with current flutter stable?

does the issue still exist with current flutter stable?

yes, the issue is still there
my 'flutter doctor -v'
'''
[✓] Flutter (Channel master, v1.10.15-pre.351, on Linux, locale en_US.UTF-8)
• Flutter version 1.10.15-pre.351 at /home/abed/.local/flutter
• Framework revision 8e0799a657 (31 hours ago), 2019-10-30 23:33:38 -0700
• Engine revision b16eab6aff
• Dart version 2.6.0 (build 2.6.0-dev.8.2 d50c158d42)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /home/abed/Android/Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /usr/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~18.04.1-b10)
• All Android licenses accepted.
[✓] Chrome - develop for the web
• Chrome at google-chrome
[✓] Linux toolchain - develop for Linux desktop
• clang++ 6.0.0
• GNU Make 4.1
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/setup/#android-setup for detailed instructions).
[✓] IntelliJ IDEA Community Edition (version 2019.2)
• IntelliJ at /opt/idea-IC
• Flutter plugin version 40.2.4
• Dart plugin version 192.7402
[✓] VS Code (version 1.39.2)
• VS Code at /usr/share/code
• Flutter extension version 3.5.1
[✓] Connected device (4 available)
• Android SDK built for x86 • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
• Linux                     • Linux         • linux-x64      • Linux
• Chrome                    • chrome        • web-javascript • Google Chrome 78.0.3904.70
• Web Server                • web-server    • web-javascript • Flutter Tools
! Doctor found issues in 1 category.
'''


MINOR: update / add documentations stream-state-metrics

This change update the documentation for the all-latency-max, range-latency-avg, range-latency-max and add the documentation for prefix-scan.
It specifies that the execution time of the all operation is in fact the time the iterator is in use.

Thanks for the PR @sebastienviale! Merged to trunk and cherry-picked to 3.8 branch.


Repository directory path

Is there as way to get the path of the repository was cloned or opened with PlainOpen or PlainClone? There does seem to have a public field or method that can retrieve that.

I realize that this is outside the context of the repository object itself, just like how the .git directory does not contain this information so feel free to close.

Hey @calvn,
Some *Repository instances are not backed by file storage, so there isn't any explicit convenience in the API for this. If you can assume that the repository was created with PlainOpen or PlainClone we can rely on some type coercions to obtain the data you're looking for. Because this is based on type coercions, there is no guarantee this code would continue to work if underlying implementation details of the gopkg.in/src-d/go-git.v4 or gopkg.in/src-d/go-billy.v3 libraries were to change.
package main

import (
	"errors"
	"fmt"
	"os"
	"path/filepath"

	"gopkg.in/src-d/go-billy.v3/helper/chroot"
	"gopkg.in/src-d/go-git.v4"
	. "gopkg.in/src-d/go-git.v4/_examples"
	"gopkg.in/src-d/go-git.v4/storage/filesystem"
)

// Open an existing repository in a specific folder.
func main() {
	CheckArgs("<path>")
	path := os.Args[1]

	// We instance a new repository targeting the given path (the .git folder)
	r, err := git.PlainOpen(path)
	CheckIfError(err)

	p, err := root(r)
	CheckIfError(err)

	// Clean up the path
	if !filepath.IsAbs(p) {
		pwd, err := os.Getwd()
		CheckIfError(err)
		p = filepath.Join(pwd, p)
	}

	fmt.Println(filepath.Clean(p))
}

func root(r *git.Repository) (string, error) {
	// Try to grab the repository Storer
	s, ok := r.Storer.(*filesystem.Storage)
	if !ok {
		return "", errors.New("Repository storage is not filesystem.Storage")
	}

	// Try to get the underlying billy.Filesystem
	fs, ok := s.Filesystem().(*chroot.ChrootHelper)
	if !ok {
		return "", errors.New("Filesystem is not chroot.ChrootHelper")
	}

	return fs.Root(), nil
}


Why you make a lib thats ovewrite all css

Why you make a lib that overwrites all CSS
Fix your lib to be more cooperative with other libs

Duplicate issue that we are aware of and will address

Very boring issue, Materialize styles almost always require a !important to be overridden.


Support generation of codes without resetting

Sometimes it would be nice to generate colour codes without requiring the text to be coloured be passed as arguments (i.e. avoid the auto reset sometimes. This could I guess be flagged as "yachalk can do this, but caveat emptor")
This PR allows generation of colour codes by simply calling the Builder class with no arguments:
white_on_red = chalk.light_white.bg_red()
reset = chalk.reset()

print(white_on_red + 'CRIT' + reset)

That's a really bad example, but this allows the usage of yachalk when trying to dynamically colour output from the python logging module with the usage of some custom format expansion arguments. yachalk has a better selection of colour names compared to other colouring packages, which is why I want to add this to yachalk, instead of using an alternative.
An example of how I'd use this feature is like so:
clvl = chalk.green() # this is a simple example, actual usage selects the correct colour for the logging level
cend = chalk.reset()
fmt = f'%(asctime)s %(name)s [{clvl}%(levelname)s{cend}]: %(message)s'
formatter = logging.Formatter(fmt=fmt, datefmt='%Y-%m-%d %H:%M:%S')

There's extra code that I use that also performs substitutions on the %(message)s argument passed to the logger object, using a selection of predefined colour shortcodes, with an implicit {cend} appended to reset all, but that's a little out of scope for here.

First of all, thanks for the contribution!
The problem with this approach is that it is a breaking change in terms of varargs behavior. Currently the semantics of varargs are identical irrespective of the arity. For instance, the following works consistently:

This change would break such code, and would result in the surprising behavior that print(chalk.blue(*some_data)) can suddenly have an undesired side effect, requiring an extra work-around to make it consistent again.
The idea also goes against the general design idea of never producing any string that results in a state modification, i.e., the invariant is that the returned strings can be considered "stateless" in terms of ANSI escape codes.
A few ideas:

If you need to do really low stuff, you could import the codes from yachalk.ansi. It wasn't really meant to be used externally, and thus, isn't very ergonomic though:

Perhaps you could explain your use case in more detail -- there may be another solution entirely?

the use case is more or less the last paragraph in the PR.. I want a way to be able to colour sections of a log message without having to resort to cumbersome string parsing looking for a start and end tag to colour the enclosed text.
In a more generic way, being able to post-process a string passed to a helper module to encode colour codes, without first requiring the import of yachalk (not even needing to know about it). As it stands you cannot encode colour after string construction, only during. (I think... ?)
Back to my current use, I can't process the log message argument as an f-string without using eval, which is problematic of course. Even if I do, running an eval like this would break:
longtext = 'Something with "quotes" contained within'
message = f'a log message with a coloured variable: {{chalk.blue("{longtext}")}}'
logger.info(message)

formatter within log handler:
        record.msg = eval('f"""' + record.msg + '"""')

This approach is evil, messy, and insecure to boot... the simpler approach I'd like is to be able to do some simple token replacement in the log formatter. yachalk may not be the right tool for my purposes here, and that's ok. I still think it might be a useful ability for yachalk to have, where a user could bypass the auto-reset. While this approach doesn't work cleanly due to varargs as you rightly point out - perhaps an extra style modifier that sets a flag to return with no reset codes?
class ChalkBuilder:
    def __init__(self, mode: ColorMode, codes: List[Code]):
        self._reset = True
        ....
....
    def __call__(self, *args: object, sep: str = " ") -> str:
        ....
        return all_on + s + ('', all_off)[self._reset]   # this is just an in-elegent one-line way of showing what I mean...
....
    @property
    def nr(self) -> "ChalkBuilder":
        self._reset = False
        return self

Thanks for the tip on yachalk.ansi. I'd looked at that, and decided it was as you say, not ergonomic enough for my needs.
Thank you for the constructive discussion!

While the approach in this PR doesn't work cleanly due to varargs as you rightly point out - perhaps an extra style modifier that sets a flag to return with no reset codes?

Actually, I just tried this, and I kinda like it:

I probably still don't understand your use case well enough. I would simply postpone wrapping the string to colorize it. For instance:
import logging

from yachalk import chalk

def _colorize(level: int, x: object) -> str:
    colorizer = {
        logging.DEBUG: chalk.gray,
        logging.INFO: lambda x: x,
        logging.WARNING: chalk.yellow,
        logging.ERROR: chalk.red,
        logging.CRITICAL: chalk.red_bright,
    }
    return colorizer[level](x)

class CustomFormatter(logging.Formatter):
    def format(self, record):
        record.levelname = _colorize(record.levelno, record.levelname)
        return super().format(record)

handler = logging.StreamHandler()
handler.setFormatter(
    CustomFormatter(fmt="%(asctime)s %(name)s [%(levelname)s]: %(message)s")
)
logging.basicConfig(level=logging.INFO, handlers=[handler])

logging.info("Hello world")
logging.warning("Some warning")
logging.error("Some error")

The nr solution doesn't feel super clean because:

The name is a bit cryptic and not self-explanatory to most users.
It adds state to the builder that isn't needed.
It brakes API parity with the factory (there is a test that makes sure that both have exactly the same member, which will be broken now I guess).
It still violates the invariant of the approach.

In general you really don't want to think in "start token" and "end token". For instance when you wrap an already colored log message string into a coloring instruction based on "start token" and "end token" you end up with invalidly reset color behavior as all token based libraries suffer from. Chalk is designed to wrap strings to properly take care of that. Similarly for a logging library you typically want the feature to repeat the start token on every line. Otherwise when you parse logs e.g. through less -r colored multilines would be broken.

Actually it looks like what you're interested in is rather an untyped markup solution, right? So perhaps a rich logger may be better suited for your use case?
Yachalk isn't meant as markup. It's focus is on IDE-friendly auto-completion and 100% type-check correctness (any misuse detected at type checking time), which is basically the opposite of an untyped markup solution (misuse only detected at runtime, and it is always questionable if wrong color/style name should result in no-ops or error).

Actually it looks like what you're interested in is rather an untyped markup solution, right? So perhaps a rich logger may be better suited for your use case?

Exactly - it's less about the colouring of fmt for logging, and more about the colouring of the content of record.message, which can't be done without post processing, or directly before passing the message to the log functions. I was wanting to avoid the latter here.
Rich Logger looks like a good alternative actually, thank you for the pointer!

Yachalk isn't meant as markup. It's focus is on IDE-friendly auto-completion and 100% type-check correctness (any misuse detected at type checking time), which is basically the opposite of an untyped markup solution (misuse only detected at runtime, and it is always questionable if wrong color/style name should result in no-ops or error).

Yep, understood - fair call. I'm closing this PR.


Migrate localstore from swarm to bee

Task
Localstore is the chunk storage implementation in the swarm project that needs to me migrated to the bee project. It depends on the shed package which currently uses leveldb to store data. It is agreed that badgerdb should be used instead, but in order to have clear trace of the changes and for easier code reviews, a multiple pull requests are beneficial. It is fine to have swarm and ethereum as dependencies between PRs, even if it does not look very nice, but it contributes to the clarity in the process.

[ ] 1. A PR that would include swarm shed package as it is.
[ ] 2. A PR that changes StructField to use encoding/json instead ethereum's rlp for encoding, to remove a dependency on ethereum codebase
[ ] 3. A PR that replaces shed ethereum's metrics with bee metrics, to remove a dependency on ethereum codebase
[ ] 4. A PR that replaces shed log library with bee logging library, to remove a dependency on swarm codebase
[ ] 5. A PR that replaces leveldb with badgerdb
[ ] 6. A PR that contains the localstore from swarm
[ ] 7. A PR that replaces localstore ethereum's metrics with bee metrics, to remove a dependency on ethereum codebase
[ ] 8. A PR that replaces localstore log library with bee logging library, to remove a dependency on swarm codebase
[ ] 9. A PR that removes explicit localstore migrations, but leaves the functionality to add new migrations
[ ] 10. A PR that migrates only needed swarm ethersphere/swarm/chunk package types to bee and replacing them in localstore
[ ] 11. A PR that replaces swarm shed with bee shed in localstore, and any references to leveldb that are left in localstore

Acceptance criterea
The goal would be to have localstore migrated to bee with the same exported api without any dependencies to swarm or ethereum projects.

@janos can you shed some light on PR 9


Not show used password

Not showing password when login fails.

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/77


CLI commands which used to work now give "Route does not exist" errors

CLI commands i used to build an IDz Generative AI plugin cease to work.
For examples see: https://github.ibm.com/jflicke/Generative-AI-for-IBM-Developer-for-Z/issues/2
Even command:
genai generate config --reset
Route does not exist
Are there some recommended settings to aid in debugging?
Installed CLI using 'sudo' and -g on Apple M1 Max
Built an Eclipse plugin that used the node js that was installed
Unsure if relevant:
Later updated node and npm to newer version
re-installed CLI again using 'sudo' and -g on Apple M1 Max
Other users of my plugin report the same issue:
https://github.ibm.com/jflicke/Generative-AI-for-IBM-Developer-for-Z/issues/2

It appears the API route has changed, but the Cli does not accept a valid route:
https://bam.res.ibm.com/docs/api-reference#versioning
For example, the latesat valid route is:
https://bam-api.res.ibm.com/v2/path?version=2024-04-15
But the CLI or API does not seem to work with that value
jflicke@Jeremys-MacBook-Pro ~ % genai config
Endpoint (https://bam-api.res.ibm.com/v2/path): https://bam-api.res.ibm.com/v2/path?version=2024-04-15
API Key (pak-...):

jflicke@Jeremys-MacBook-Pro ~ % genai generate config --reset
Invalid version, accepted format is YYYY-MM-DD

https://github.com/IBM/ibm-generative-ai-cli/issues/40

The same error happened on Windows as well.

Hi @jwflicker,
the error you are getting - Invalid version, accepted format is YYYY-MM-DD is caused by an incorrect Endpoint in your configuration.  The endpoint should only be  https://bam-api.res.ibm.com - the version is handled by the CLI.

Hello @jwflicker, please make sure you're using CLI v2.
I am guessing you're still running on v1 since you have the genai generate config --reset command in it. The CLI v1 uses SDK v1 which calls /v1 REST API endpoints that no longer exist, hence the Route does not exist error.
@David-Kristek correctly pointed you that you should only set the endpoint, date versioning is handled by the SDK (and therefore CLI).


Speed up fromUUIDs

I believe this supercedes #7971?

aw jeez I didn't even see that PR

This looks like a better way to determine the ids of cache misses. Parsing the UUID would probably break one way or antoher in v11.

Does any caller rely on the returned results being in the same order as the ids that come in?
Other than that I'll defer to in3luki's judgement, I have no idea what is good here.

I'm not aware of anything that depends on the order of the passed UUIDs.


add self attention layer for perceiver

Codecov Report

Merging #986 (239531b) into main (ce45a25) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #986      +/-   ##
==========================================
+ Coverage   67.92%   67.95%   +0.03%
==========================================
  Files         207      208       +1
  Lines        9350     9360      +10
  Branches     1548     1549       +1
==========================================
+ Hits         6351     6361      +10
  Misses       2549     2549
  Partials      450      450

Impacted Files
Coverage Δ

towhee/models/perceiver/SelfAttention.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

/lgtm


fix export command wrong file path use project dir instead of root dir

Currently %kernel.root_dir% is used as path for exporting files with the command sw:importexport:export which causes saving the files to the wrong path: vendor/shopware/shopware. With this change %kernel.project_dir% is used as export path.
Tested Environment:

PHP 8.0.30
DB: 10.3.39-MariaDB
Shopware with Composer: 5.7.16

@mitelg %kernel.project_dir% seems wrong in the docker container that is used for testing, the path should be /shopware but is /shopware/custom/plugins/SwagImportExport.
This Problem may only occur on composer based installations.

hey @kayaArvatis
sorry for the late response, I was on vacation :christmas_tree:
first: thanks for your contribution :+1:
to fix the test, you also need to adjust the helper trait for the command tests: https://github.com/shopware5/SwagImportExport/blob/main/Tests/Helper/CommandTestCaseTrait.php#L64
otherwise your change looks good

Hi @mitelg
I have fixed the tests seems now ok :)

thanks for your contribution @kayaArvatis 👍🎉💙
I just released version 4.1.4 with your fix


Simplify Gizmo creation

Currently we need this code to create a gizmo:
const gizmoLayer = new pc.Layer({
    name: 'Gizmo',
    clearDepthBuffer: true,
    opaqueSortMode: pc.SORTMODE_NONE,
    transparentSortMode: pc.SORTMODE_NONE
});
const layers = app.scene.layers;
layers.push(gizmoLayer);
camera.camera.layers = camera.camera.layers.concat(gizmoLayer.id);

// create gizmo
const gizmo = new pc.TranslateGizmo(app, camera.camera, gizmoLayer);
gizmo.attach([box]);

The upper/big block of code is just... complicated boilerplate code that no one can remember (at least not me). The last two lines do what a person really wants from a gizmo.
Ideally I would like the required code for adding a gizmo to be short like this:
const gizmo = new pc.TranslateGizmo(app, camera.camera);
gizmo.attach(box); // Accept non-arrays, just like e.g. `HTMLElement#append`

It would be nice if the gizmo system ensures creation of the layer if it doesn't exist yet?
Considering we are also running into issues like #6949 it's nice to not make everyone refactor layer code if it happens to need a change. The gizmo system would just do what is needed for certain updates.

I have to say, I did think the same the first time I played with the Gizmo API. Let's get some thoughts from Chief Gizmo Architect @kpal81xd...

I would suggest for the constructor to take an optional layer argument:
new TranslateGizmo(app, camera.camera, layer = null);

and if this is not provided, the gizmo should use the existing Immediate layer. If the user needs to have it in a separate layer, they can create one using the Editor GUI for example and avoid layer creation using the script.

So the first version of the api included the layer creation itself however we felt like it is clearer for the user to provide and setup their own layer in case of a particular behavior.
Including the layer also comes with complications of layer insertion being dependent on when the gizmo is created along with potential naming conflicts.
One solution might be allowing for gizmo creation with an optional parameter for settinga custom layer?

Also, if you have to provide CameraComponent, you can get an app from it instead of explicitly providing it. Less arguments - better.

So the first version of the api included the layer creation itself however we felt like it is clearer for the user to provide and setup their own layer in case of a particular behavior.

I would just like it configurable but still opinionated enough to basically never really needing to configure it besides in cases which are clearly "non-defaultish".

and if this is not provided, the gizmo should use the existing Immediate layer. If the user needs to have it in a separate layer, they can create one using the Editor GUI for example and avoid layer creation using the script.

I believe putting it by default on Immediate is contra productive - it would depth test and be drawn e.g. under a box that is supposed to be "movable"? People may not find that gizmo.

Playing devil's advocate again, give it a rest...
Same story as with the Gizmo Attach issue, other Gizmo implementations are just simple and straight-forward to use, but we need to collect half-baked idiosyncrasies again.


Refactored and simplify network listeners

What does this PR do?
Simplified the logic to listens to UDP and TCP ports and removing NetworkListener abstraction and renaming/refactoring AbstractNetworkListener
Motivation
Simplification

Let's wait for the merge of the other PR, and rebase this PR on master


Refactor the React-based Boxed Expression Component to be able to delete the GWT-based one

The new, React-based Boxed Expression Editor needed some refactoring before we could aim for deleting the old, GWT-based Boxed Expression Editor.

Live prototype: https://tiagobento.github.io/prototypes/bee/
Working branch: https://github.com/tiagobento/kie-tools/tree/bee-reisizing-perf

This refactor has the goal of making it easier to evolve the component, making room for new features.
Things to improve on this refactoring:

State management
Selection mechanism
Resizing mechanism
Context menu mechanism
Performance improvements
Integration with the DMN Editor
Integration with the DMN Runner

KNOWN ISSUES
Issues that are currently identified on Boxed Expression Editor, and should be fixed. Most of them are bugs and do not prevent users from authoring expressions, though.

General:

[ ] Console error:

DevTools failed to load source map: Could not load content for chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/browser-polyfill.js.map: System error: net::ERR_FILE_NOT_FOUND

[ ] Console error:

Failed to decode downloaded font: http://localhost:3015/6f75249988833dd9f4297c9781ad35ff.ttf
localhost/:1 OTS parsing error: invalid sfntVersion:<PHONE_NUMBER>

Resizing:

[x] (Done) Java function type weird behavior when resizing
[x] (Done) DecisionTable/Relation delete columns resizing bug.
[ ] (WIP) Resizing table columns when the container is already at minWidth.
[ ] PMML Functions can break resizing when the document/model names are are too long.

Input:

[ ] Support readonly mode.
[ ] FEEL Input onBlur not working. Typing a value and clicking outside does not save the typed value.
[ ] Context Menu shouldn't be allowed on every cell. Fix it.
[ ] Allow pasting arbitrary data on cells that contain literal expressions.
[ ] Can't edit by start typing after pressing backspace on a cell, without pressing Enter.
[ ] Context Menu broken on DT top-level headers. Column index is broken. E.g. Add to the right/left.
[ ] Additional row context menu broken. Shouldn't have Delete nor Insert below
[ ] SELECTION Cut/paste/reset should not be available for header cells on Context Menu.
[ ] Logic type selector should never render outside the screen. Same for context menu.
[ ] Closing HitPolicySelector without pressing Esc (e.g. clicking outside) breaks keyboard shortcuts like Backspace, Ctrl+C etc.

UX:

[ ] Pasting expressions error handling.
[ ] Add resizer handles to all column headers.
[ ] Arrow-right on upper headers goes beyond the limit. Limit is correct using headerGroups.
[ ] Navigate, with keyboard, to headers on multiple levels.
[ ] Dead keys (e.g. ˜ˆ´¨) are not triggering edit mode correctly on table cells.
[ ] HitPolicySelector should not close the Popover when selecting values on the Selects.
[ ] Add row/column buttons disappearing when in upper/left positions, after clicked.
[ ] Resizing columns triggers selection. Sometimes at the right-side, but always at top or bottom.

The same problem happens when editing text inside a cell. See https://issues.redhat.com/browse/KOGITO-7823

[ ] Editing long text inside cells should grow the cell to allow more space for editing it. See https://issues.redhat.com/browse/KOGITO-7822
[ ] FEEL expressions highlight is wrong. E.g. "anything" -> "in" is blue, rest is black.
[ ] Decision table input columns should not have a "Name", but an "Expression". The input should be a FeelInput, not a plain text input.
[ ] Invocation expression function name should not be a plain text input. It should have autocompletion features.

UI:

[ ] Fix rowSpan on DecisionTable input and annotations sections.
[ ] Truncate expression name on root expressions.
[ ] Fix icons positions on expression header menu.
[ ] Ctrl+ and Ctrl- zoom problems. Zoom in and out.
[ ] Decision table top-level header with long name not playing well with sub-headers.

Create a DecisionTable.
Delete one output column.
Rename the expression to long long long long long long long long long long long.
The widths are broken.

Enhancements:

[ ] HitPolicySelector no caps, description for all. Etc.
[ ] Add icons to FunctionKind selector.
[ ] Add explanation to FunctionKind selector.
[ ] Add explanation to all expression types, right at the Select expression menu.
[ ] Add empty state to parameters on Function expressions.

On DMN Editor:

[ ] CSS differences.
[ ] Keyboard shortcuts are not working.
[ ] Resizing Literal Expressions is not having an effect after switching back to the old editor.

On DMN Runner:

[x] Context Menu is appearing too far from the clicked place.
[ ] Keyboard shortcuts are not working.
[ ] Input cells are losing focus after input.
[ ] Resizing columns is not being persisted.

Just fixed Context Menus both on DMN Editor and DMN Runner. Found out that Keyboard Shortcuts work well if we stop using useElementsThatStopKeyboardEventsPropagation. Of course that implies pressing D while on the Boxed Expression Editor, for example, will create a Decision node, which is not ideal. Working on a fix for it now.

Removing @patternfly/react-table fixed the issue where the zoom is too large.

Set the React-based Boxed Expression Component as the default choice: It is still possible to switch to the old one
https://user-images.githubusercontent.com/16005046/216011003-8cc0e95a-a5f3-4044-b67b-7495c43c22d2.mov

**Undo-Redo Restored **
https://user-images.githubusercontent.com/16005046/216094697-c678f55c-9eec-4b09-a8c4-fce19a563eb5.mov
I modified the involved API name (notifyUserChange() -> createUndoCommand) and I wrote a comment that better clarifies its usage. Feel free to modify them.
Testing Undo Redo, I found a couple of minor bugs we need to address, I'll update the above list accordingly.


I can create/update/delete an annotation layer without permission

Superset v.1.5.2
A user without permission (read/write on annatation) can create/update/delete an annotation layer

User has only the permission 'menu access on Annotation Layers'

He access to 'Annotation Layers'

He can create an annotation without write permission

An Error message is present but the annotation layer is created

Creation functionnality should be enabled only with 'can write on Annotation' permission.
Annotation Layers should be displayed only with 'can read on Annotation' permission.
Best regards

This version of Superset is no longer supported. If anyone is still encountering this in current versions (3.x) please open a new Issue or a PR to address the problem.


Whitelisting of d= domains in AS.

Implements inline & file based domain whitelisting.  Just rejects messages atm, although I understand we might not be running with that idea ultimately.

I haven't made any changes to this diff yet.  I noted as much in the ARC facebook group.

I've fixed all of the issues asside from moving the checkwhitelist function.  Any thoughts on that would be appreciated.
Also, currently, we're still simply rejecting message which dont pass.  I figure I'll put the additional logic into another PR, just to keep things simple.