Different use case

Currently kotsu is tailored towards benchmarking in cases where 'validations' (which may include fitting of models) are relatively inexpensive, and can be run serially in a single process.
In a lot of ML settings validations may be expensive and computation may need to be distributed
(e.g. running a set of 'validations' on a single model in a single 'job', distributing jobs across a cluster of CPUs/GPUs).
I don't know whether this setting is in scope but just had the thought so wanted to open this up in case it's something we want to think about.

I envisaged that for heavy compute power stuff, i.e. needing distributed, or a bigger server/GPU for certain models or certain validations or something, then the python thread running kotsu should "dispatch" a request/trigger to something else. We do this in other projects, i.e. where we use airflow workers for running dags, but the tasks dispatch to some big cloud compute/cluster to churn through the stuff and then the airflow work receives the response back from the server.
The only bit which doesn't work for this is storing artifacts during model/validation runs. I guess if we got models that beasty, then we'd probs be using cloud bucket for storing stuff anyways, and I think kotsu being about to take tentaclio style URLS (s3://bucket/somefile.jazz) was already in the thinking for future feature.
Would those ideas solve the use case you reckon? Would be sick to try it on such a use case if you have one already to see how it goes - obvs I can help out.

Been having a think about this. A few thoughts:

On have the actual kotsu loop/code do distribution

I kinda think this is a no go, as I can't imagine a way of implementing it that wouldn't put a significant constraint with how validation code worked.
Possible something like run taking a dispatch_func param, which when is not None, it would run copies of the dispatch_func for each val-model combo

I wasn't actually thinking about parallelising the run of val-model combos by run, I was actually thinking about parallelising the running of training and prediction on folds (assumes that the val uses folds), which would be a lot easier as one could implement whatever they want within their validation func. So each val-model combo is sequentially ran still, but each val-model is a lot faster by using distributed compute or somet.

Is this at all what you were thinking of? Or do you models need distributed compute even just to train a single one at a time?

Yea for reals, that's something I was thinking about after writing message also. Since thinking about it some more, I think the following could be a simple(ish?) way of achieving this.
That "this" is: parallel/distributed running of the validation-model combinations.
(Note, this is distinct from the parallel/distributed running of the fold-model combinations that we were talking about above.)
Solution: implement, directly into kotsu, by extending run.run, to take a param n_threads (or something similar), and then run.run would map the validation-model combos to those threads. It would then up to the kotsu user to implement dispatching a job to some other compute thing to run that validation-model combo and wait to receive the result back. Note, that this would use multithreading, as it is assumed each thread is dispatching jobs not crunching jobs themselves.
Remarks:

For long running validation-model combos (which is pretty much presumed for the use case we are talking about), this idea seems pretty bait, as each thread is going to have to keep some kind of connection to the compute thing the entire time that the job is running, and we are talking about any kind of connection lose solutions or recording of what validation-model jobs have been started. Doesn't sound like it would work great as is.
Could be that this is all indicating that kotsu is a lightweight framework for lightweight modelling only? I'm defs not certain on that, nor (so far) want it to go that direction, just thought it worth raising the idea explicitly.
I think we already discussed implementing something to enable multiprocessing (not threading), for when running run.run say with small-ish models or on big machines and wanting to make use of lots of CPUs etc.

Agree maintaining a connection and waiting to receive the result back is probably not viable. Is the reason this is required because we assume validations return metrics in memory?
Guess there might be a slight modification that could support it still. e.g. suppose each validation instead just needs to write a single-line metrics csv as well as any other outputs to some results directory. Then we provide some other aggregate_results util function which needs to be run manually when all the jobs are completed to get an in memory df.
Could this then fit into the kind of solution you're suggesting? Just to try to picture what this would involve for the user, would the idea in the kind of situation you're imagining be they'd need to write a validation which was in fact a dispatcher? I guess in the cluster setting the thing that seems quite tricky is that you typically would be submitting a bash script which would contain a list of commands (e.g. activate your environment, run some script). So I think (?) the user would typically need to write a separate script which ran the validation for a particular model, validation combo.
I guess what that makes me think is that if kotsu provided a command line interface (e.g. kotsu update <registry_name> <model_id> <validation_id>) then maybe this could be kind of simpler to achieve.
I'm also not sure if this translates to other distributed compute settings (or if I've explained how I'm understanding it properly)
Also, FYI I came across a repository with a quite interesting-looking implementation of this kind of workflow, designed for cluster environments, where they abstract away the job submission via a Submitter class: their 'run' function https://github.com/debbiemarkslab/EVcouplings/blob/5de7bab3b5202848ace2e16ff2b1cda5c8edfda6/evcouplings/utils/app.py#L453,  and base cluster submitter https://github.com/debbiemarkslab/EVcouplings/blob/5de7bab3b5202848ace2e16ff2b1cda5c8edfda6/evcouplings/utils/batch.py#L227

Agree maintaining a connection and waiting to receive the result back is probably not viable. Is the reason this is required because we assume validations return metrics in memory?

Was thinking less about it as required and more just as it could be a was of implementing dispatching and receiving results (but one we both think is not so good to try). And yea it seemed a natural first thought as the rest of kotsu works on receiving results directly back from the return value of the validation function.

Guess there might be a slight modification that could support it still. e.g. suppose each validation instead just needs to write a single-line metrics csv as well as any other outputs to some results directory. Then we provide some other aggregate_results util function which needs to be run manually when all the jobs are completed to get an in memory df.

Yea was also thinking this. Could well be a simple(ish/enough?) solution for it.

Could this then fit into the kind of solution you're suggesting? Just to try to picture what this would involve for the user, would the idea in the kind of situation you're imagining be they'd need to write a validation which was in fact a dispatcher? I guess in the cluster setting the thing that seems quite tricky is that you typically would be submitting a bash script which would contain a list of commands (e.g. activate your environment, run some script). So I think (?) the user would typically need to write a separate script which ran the validation for a particular model, validation combo.

Yes, I was imagining that the user would need to write the dispatch code within their validation. I think I'm imagining this because the premise of kotsu was that it was just a python package and didn't constrain users with regards to compute systems/anything else - it could be that this is a mistake, and that it could still be good and useful if we tied it to (some) certain cluster compute systems but still left the validation and model entities completely unrestricted. My feeling is that the light weight-ness and generality is what makes me like kotsu. @ali-tny you got any thoughts on this?

I guess what that makes me think is that if kotsu provided a command line interface (e.g. kotsu update <benchmark_name> <model_id> <validation_id>) then maybe this could be simpler to achieve. (In my case I can't even programatically submit jobs, but if I had this kind of command line interface it'd be easy to run a pair of registries - i.e. a benchmark - by converting the benchmark into a text file containing the lists of model and validation ids and then submitting a job which read a single model, validation pair from this file and executed the corresponding command. This would also require some convention for defining benchmarks - poss similar to the sktime one - in modules in users repositories for kotsu to read, which may or may not be a good idea.)

I guess a CLI is always just a __main__ or import click away or something, so I don't think that should be a big discerning difference in functionality.
I can't quiet figure how you're figuring this dispatch version working. A main missing question I have is, how should the code get on the server to actually run the validation-model pair? (That question applies to my own and earlier ideas on this also.)

I'm not sure at all whether any of this translates to other distributed compute settings (or if I've explained how I'm understanding it properly)
Also, FYI I came across a repository with a quite interesting-looking implementation of this kind of workflow, designed for cluster environments, where they abstract away the job submission via a Submitter class. In this repo each job is run by calling evcouplings_runcfg <config_file>, so this is the command that all the submitters are responsible for dispatching.

Nice this looks interesting.

* [their 'run' function](https://github.com/debbiemarkslab/EVcouplings/blob/5de7bab3b5202848ace2e16ff2b1cda5c8edfda6/evcouplings/utils/app.py#L453)

* [base cluster submitter class](https://github.com/debbiemarkslab/EVcouplings/blob/5de7bab3b5202848ace2e16ff2b1cda5c8edfda6/evcouplings/utils/batch.py#L227)

From a glance at this is looks nice. So ye, I guess we could tie kotsu (with an abstract class beforehand) to one/some of https://slurm.schedmd.com/overview.html etc.? Or could one submit the kotsu.run(...) as a job onto the cluster and leverage all the cluster compute that way? i.e. have it reading and writing results from a cloud file.


Add a tier2 site config for AWS AMIs

Summary
This is to add AWS as a tier2 supported platform. The two images are Rock8 and Ubuntu24.04.
Testing
I have custom built two running EC2 instances following these steps. However, Intel has had problems on both, and would like others in review to give it a test and provide feedback.
Applications affected
None. These are just platforms that can be used for development.
Systems affected
None. These are to support Rocky8 and Ubuntu24.04 EC2 instances.
Dependencies
PR #1419
Issue(s) addressed
https://github.com/JCSDA/spack-stack/issues/1379
Checklist

[x] This PR addresses one issue/problem/enhancement, or has a very good reason for not doing so.
[x] These changes have been tested on the affected systems and applications.
[x] All dependency PRs/issues have been resolved and this PR can be merged.

@climbfuji I saw, fixing that now.

Marking this ready so when the blocking PR is fixed, this can be checked officially.


⚠ ClamAV has degraded performance

In 6982233, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 71 ms

Resolved: ClamAV performance has improved in e7dd727.


Auth Frontend: Document flows in the frontend

How will a plugin as part of the app request for access tokens with specific scopes
How will independent Plugin development (using plugin:serve to only do development on your plugin) would look like with this auth solution

Fixed by #1217


Vectorized file writes

Adds a class which takes a std::vector<std::span<std::byte>>>& and writes the contents of each span in a vectorized fashion to the filesystem. Includes some system-dependent code because of course it does.
Also adds benchmarking code so that we can test streaming performance before and after this change.

It looks like there's a lot of duplicated code between ChunkIndexBuffer & ShardIndexBuffer. Could they be combined?

Actually they don't belong there. Those are artifacts from something I was trying but discarded.


 I suggest we introduce it into our workflow. This would entail:

[ ] run ruff on the existing codebase and fix all errors
[ ] create a github action that runs ruff automatically on PRs and branches

good idea from my perspective.
I put it on the agenda of next week and will test it until then

decided in JFX to introduce ruff
also as action in GitHub https://github.com/ChartBoost/ruff-action

there should be a dev-setup documentation #204


Add gutter margin for :last-child

We're have one element containing 2 span-columns(). We want to change their visual order, keeping the HTML structure as it is. The first element has float: right; making the last/second show left of the first element.
We're using omega() to remove the margin-right of the first element. The issue is that the visually first element gets the :last-child selector setting it's margin-right to 0. What's the best way of restoring/setting that margin?

Hi @tillkruss, have you tried using shift to perform the reordering?
Also mentioned in this issue https://github.com/thoughtbot/neat/issues/313

That's how we solved it in the end. Thank you!


Import Issues caused by sys.path.append()

In the import statements in some modules, like SSM.py for example, the following style is used:
import os
import sys
sys.path.append('../')
from datasets import MegaScaleDataset, ddgBenchDataset, FireProtDataset, Mutation
from protein_mpnn_utils import loss_smoothed, tied_featurize
from train_thermompnn import TransferModelPL
from model_utils import featurize
from thermompnn_benchmarking import compute_centrality, ProteinMPNNBaseline, get_trained_model, ALPHABET

A downside to this approach is that if a someone wants to import a function from SSM.py into a module isn't located in the same directory as SSM.py (the most common situation) it will cause a import error because datasets and the other modules cannot be found.
I would propose using the following relative import syntax:
import os
import sys
from ..datasets import MegaScaleDataset, ddgBenchDataset, FireProtDataset, Mutation
from ..protein_mpnn_utils import loss_smoothed, tied_featurize
from ..train_thermompnn import TransferModelPL
from ..model_utils import featurize
from .thermompnn_benchmarking import compute_centrality, ProteinMPNNBaseline, get_trained_model, ALPHABET

It is described here: https://docs.python.org/3/reference/import.html#package-relative-imports
I think this is a good change.
It would improve the usability and readability of the code, and would incur no negative side effects.
I would be happy to create a Pull Request with this fix if you are open to the change.
Please let me know your thoughts.
-Austin

Hi Austin,
Sorry for the delayed response. Thanks for this helpful suggestion! I am definitely open to this change. I don't have the time to update the code at the moment, but if you still want to create a Pull Request, I can review and merge it to add this improvement.
Thanks,
Henry


[SPARK-33483][INFRA][TESTS] Fix rat exclusion patterns and add a LICENSE

What changes were proposed in this pull request?
This PR fixes the RAT exclusion rule which was originated from SPARK-1144 (Apache Spark 1.0)
Why are the changes needed?
This prevents the situation like https://github.com/apache/spark/pull/30415.
Currently, it missed catalog directory due to .log rule.
$ dev/check-license
Could not find Apache license headers in the following files:
 !????? /Users/dongjoon/APACHE/spark-merge/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/MetadataColumn.java
 !????? /Users/dongjoon/APACHE/spark-merge/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/SupportsMetadataColumns.java

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the CI with the new rule.

cc @rdblue , @HyukjinKwon , @viirya

Test build #131314 has started for PR 30418 at commit b7aa6f9.

cc @ScrapCodes for SPARK-1144, too

nice find @dongjoon-hyun !

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35916/

Thanks. @viirya , @HyukjinKwon , @sunchao .
I updated more according to @viirya 's comment.

Test build #131316 has started for PR 30418 at commit 45658f0.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35916/

Merged build finished. Test FAILed.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35920/

@dongjoon-hyun Thanks for fixing this. My bad, this bug have existed for years.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35920/

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/SparkPullRequestBuilder-K8s/35920/
Test PASSed.

Test build #131314 has finished for PR 30418 at commit b7aa6f9.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #131323 has started for PR 30418 at commit 45658f0.

Test build #131316 has finished for PR 30418 at commit 45658f0.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35927/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35927/

Merged build finished. Test FAILed.

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

Thank you, @HyukjinKwon , @viirya , @ScrapCodes , @sunchao .
Merged to master.

Test build #131323 has finished for PR 30418 at commit 45658f0.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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


chore(changelog): Update CHANGELOG for v0.5.0

Releasing 0.5.0 .

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


getScale support

Any chance you can add the getScale method to the visNetworkService?

not in the near future. Currently having not much time to implement it, any PR is welcome

i see. i'll check if i can do a PR on it

hi! i did a PR for this + the addNodeMode() here: https://github.com/hypery2k/ngx-vis/pull/129

Thanks for your PR


fix(zeabur): Add zeabur to autodetectableProviders

🔗 Linked issue
#1942
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme, or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Currently, nitro will not auto switching to zeabur preset when there is an environment variable ZEABUR=1.
This PR fixes this issue.
📝 Checklist

[x] I have linked an issue or discussion.

Before

After


[Layout] Support for responsive values

Support for responsive values
Add responsive behavior to the layout components following the different breakpoints defined in the system in order to provide different gutter, margin, or padding for the different responsiveSizes.
The implementation can follow the model:
vertical={{ mobileSmall: 'small', mobileMedium: 'medium', tablet: 'large', desktop: 'xlarge' }}
Reference: https://seek-oss.github.io/braid-design-system/components/Bleed#design-considerations

The naming used in the responsiveSizes can overlap with the naming variables used in other properties of the elements, the proposal for new names is:

Name
px
rem

mobileSmall
320
20

mobile
480
30

tablet
720
45

desktop
1056
66

wide
1440
90


RMB make mono repo

all rmb related code to this repo (apart from v client)
make roadmap that only server used is RUST, obsolete others

only now we have this repo, everything else is unused and archived


Document behavior of some function cases

I recently saw this pattern in a package using PowerSystems.
gens = deepcopy([g for g in get_components(ThermalStandard, sys)])

What happens with gens?

This is certainly not a good idea unless the user understands the internals. If the generators are not attached to a system then they need to change the name and change the UUID (set_name! and IS.assign_new_uuid!). If they are attached to a system then many things will not work correctly. The user will never be able to retrieve the copied generators from the system.
We should add code to ensure that duplicate UUIDs are never added to a system. We currently only check for duplicate names. We would have to add new tracking.
Based on the implementation of Base.deepcopy It might be possible to block the function if the component is attached to a system.

@daniel-thom @jd-lara  this still a relevant issue that needs to be documented, or can it be closed?


add: competence_assesment.ipynb to project1_task-management.

This competence_assesment.ipynb file contains a notebook to show the second proposed solution of skill metrics problem.

move file competence_assesment.ipynb to main branch with folde playground in 'dev' branch is deleted.


Recent Refactoring to Long Running Operations

👋
I've seen this recent PR which changes the way that Long Running Operations are handled, such that it effectively removes the polling support from the SDK and instead pushed that onto consumers of the SDK.
Within Terraform, we rely pretty heavily on the automatic polling available within the Go SDK - as such I'm concerned that removing these methods will lead to a considerable increase in code (and thus complexity) for us - when currently this is one of the major benefits of using the Go SDK over when we used to use the Riviera SDK.
As such - are there any plans around to expose a polling method available within the SDK to preserve the current behaviour? I can certainly see the desire for the SDK to return the current state - however polling until the resource is ready is also a really handy function of the SDK at this point :)
Thanks!

This was something I was thinking about last week.  Adding a method to the future that waits until completion would be pretty trivial, @tombuildsstuff would this work for you?

@jhendrixMSFT yep, that would be great 👍

This has been added in go-autorest v9.4.0.


Null value in nutrients under intervention

Null values are found in foodcarbohydrate, foodfat, foodprotein, foodsodium, energy intake, weight, bmi, under intervention, in some specific years. I'm not sure if it's an issue. For example,
Under policy scenario 1
Female
Null values in 2037, 2039, 2040
Male
Null values in 2030, 2036, 2050, 2051, 2055
Under policy scenario 2
Female
Null values in 2030, 2036, 2037, 2040, 2043
Male
Null values in 2028, 2029, 2051

Is this from the same simulation as #277?

Also, could you give a bit of info about where these NaN are appearing? Are they in the output csv file, or the json file?
Could you upload the file these appear?

All are based on the same simulation. NaN appeared in output csv files. It can be found in this sharefolder.
https://imperiallondon-my.sharepoint.com/:f:/r/personal/jjo11_ic_ac_uk/Documents/CHEPI/research/franco/Health-GPS_SHARED/Health-GPS_INDIA/Visualization?csf=1&web=1&e=RQOLaa
For example, in HealthGPS_Result_S1.csv, lines 3630, 6056, 6461, etc.

Okay. I suggest we make a minimal example which produces these NaN results. Small a population and runtime as possible, with no other cruft to distract us. Can talk about it tomorrow.

No NaN in France example results.

Great, thanks. Need to figure out if it's still happening with India data now.

No NaN in results with India/France inputs and India diseases data.

Ah fantastic, thanks. Can this issue be considered resolved now? Or is there some other permutation of data which is problematic?

Shall we wait until we get results using the new KH model? There might be problems there.

I got "nan" in simulation results using KH model. @jamesturner246
Results can be found here.
https://imperiallondon-my.sharepoint.com/:f:/r/personal/jzhu5_ic_ac_uk/Documents/Project/RSTL_India/Visualization/[Iteration18-India-fulllist](https://imperiallondon-my.sharepoint.com/:f:/r/personal/jzhu5_ic_ac_uk/Documents/Project/RSTL_India/Visualization/Iteration18-India-fulllist?csf=1&web=1&e=r5M0R9)?csf=1&web=1&e=r5M0R9

Great, thanks. link is dead. Assume it's still uploading?

Thanks @jzhu20. That's better. I'll investigate.

Done in https://github.com/imperialCHEPI/healthgps/pull/353 and https://github.com/imperialCHEPI/healthgps/pull/356.


Limit file upload size

Hi,
I'm looking to restrict size of the file for file upload and so far I could not find a way to do that. It looks like it is not possible to specify via swagger specification (maxLength applies only to strings) and I couldn't find any configuration parameters for this that I could pass to middleware either. I know that swagger-express-mw uses multer under the cover and I saw some suggestions on how to replace multer with a different version. This approach would probably work but it doesn't feel right to introduce an extra dependency just for the sake getting access to the configuration. Could you provide any suggestions?
Thanks,
-Dmitri

There is a solution for this problem?


Better error messaging, is Panic for command not found the right thing?

Should goon really panic when the command it was mean to run is not found?  The panic confused me when I was looking at my logs and I don't see the:
panic: exec: "someprogram": executable file not found in $PATH

Here is what I get instead:
panic: write |1: broken pipe

goroutine 3 [running]:
runtime.panic(0xa4ba0, 0xc21001e400)
	/usr/local/Cellar/go/1.2.2/libexec/src/pkg/runtime/panic.c:266 +0xb6
log.(*Logger).Panicf(0xc21001f190, 0xde260, 0x3, 0x40fe38, 0x1, ...)
	/usr/local/Cellar/go/1.2.2/libexec/src/pkg/log/log.go:200 +0xbd
main.fatal_if(0xc2840, 0xc2100385d0)
	/Users/alco/extra/goworkspace/src/goon/util.go:38 +0x17e
main.inLoop2(0x257388, 0xc2100384b0, 0xc210020140, 0x257310, 0xc210000000, ...)
	/Users/alco/extra/goworkspace/src/goon/io.go:100 +0x5ce
created by main.wrapStdin2
	/Users/alco/extra/goworkspace/src/goon/io.go:25 +0x15a

goroutine 1 [chan receive]:
main.proto_2_0(0x7fff5fbf0101, 0xe3fc0, 0x3, 0xde7a0, 0x1, ...)
	/Users/alco/extra/goworkspace/src/goon/proto_2_0.go:58 +0x3a3
main.main()
	/Users/alco/extra/goworkspace/src/goon/main.go:51 +0x3b6

Thanks!

This has to be improved. Thanks for the report!


Added Mojio oAuth

New MojioCarConnect  oAuth plugin

Per the rules of the repository you'll have to make a pull request with the development branch, not the master.
Best,

BTW you are creating the provider but it's not importing the module on oauth.js file.

how can I import to oauth.js file???


update composer.json: because of codeship.com limitations into #605

Current coverage is 100% (diff: 100%)

Merging #620 into master will not change coverage

@@           master   #620   diff @@
====================================
  Files          29     29
  Lines         439    473    +34
  Methods       111    130    +19
  Messages        0      0
  Branches        0      0
====================================
+ Hits          439    473    +34
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update 9c5141d...fbd1a93

https://github.com/eugene-matvejev/battleship-game-api/pull/621


[1.12.0-rc2] Can not connect remote docker instance to running swarm cluster (rpc error: code = 4 desc = context deadline exceeded)

Output of docker version:
Client (laptop, OSX)
$> docker version
Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 20:35:33 2016
 OS/Arch:      darwin/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   a7119de
 Built:        Fri Jun 17 22:09:20 2016
 OS/Arch:      linux/amd64
 Experimental: true

Server:
Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd-unsupported
 Built:        Fri Jun 17 21:21:56 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd-unsupported
 Built:        Fri Jun 17 21:21:56 2016
 OS/Arch:      linux/amd64

Output of docker info:
Client:
Containers: 78
 Running: 0
 Paused: 0
 Stopped: 78
Images: 51
Server Version: 1.12.0-rc2
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 344
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: overlay bridge null host
Swarm: inactive
Runtimes: default
Default Runtime: default
Security Options: seccomp
Kernel Version: 4.4.13-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.954 GiB
Name: moby
ID: AX3N:B5KC:6TY6:V5UW:5MAH:JSD3:PXBN:HC3H:GF3L:GC7L:Z35R:KAIW
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 33
 Goroutines: 95
 System Time: 2016-06-20T22:09:37.819574454Z
 EventsListeners: 1
No Proxy: *.local, 169.254/16
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8

Server (swarm cluster):
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.0-rc2
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: overlay host null bridge
Swarm: inactive
Runtimes: default
Default Runtime: default
Security Options: apparmor seccomp
Kernel Version: 4.4.0-24-generic
Operating System: Ubuntu 16.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 991.1 MiB
Name: docker1
ID: LOR7:TUJW:PXCF:SGKX:L5LU:GQCT:UTRN:G72M:JU32:I24J:JN3R:BN34
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
Configuration is a group of 4 swarm nodes running ubuntu 16.04. My 'client' is the Docker for Mac beta running on a different network (home).
From the swarm node leader:
docker swarm inspect
[
    {
        "ID": "bp450a0g3jbapw0wdsmhkrv3s",
        "Version": {
            "Index": 55
        },
        "CreatedAt": "2016-06-20T20:22:10.831316894Z",
        "UpdatedAt": "2016-06-20T20:43:20.317168481Z",
        "Spec": {
            "Name": "default",
            "AcceptancePolicy": {
                "Policies": [
                    {
                        "Role": "worker",
                        "Autoaccept": true
                    },
                    {
                        "Role": "manager",
                        "Autoaccept": false
                    }
                ]
            },
            "Orchestration": {
                "TaskHistoryRetentionLimit": 10
            },
            "Raft": {
                "SnapshotInterval": 10000,
                "LogEntriesForSlowFollowers": 500,
                "HeartbeatTick": 1,
                "ElectionTick": 3
            },
            "Dispatcher": {
                "HeartbeatPeriod":<PHONE_NUMBER>
            },
            "CAConfig": {
                "NodeCertExpiry":<PHONE_NUMBER>000000
            }
        }
    }
]

4 nodes total talking on a private network:
ID                         NAME     MEMBERSHIP  STATUS   AVAILABILITY  MANAGER STATUS
09y7cdu03xmuwhta0ykvd72gb  docker4  Accepted    Ready    Active        Reachable
1jkzrkblwbdig3l5u29997n00  docker1  Accepted    Ready    Active        Leader
41znz1ntskwvvvea8up52wu0m  docker2  Accepted    Ready    Active        Reachable
5bt1bcak4tuzm9a39a7ou9upz  docker3  Accepted    Ready    Active

Steps to reproduce the issue:

Configure swarm 1.12 as above - the cluster has four total nodes using a private eth1 network to connect to one another.
Now, using the docker for mac beta, perform a docker swarm join --manager publicIP:2377 you should see the following on the leader:

ID                         NAME     MEMBERSHIP  STATUS   AVAILABILITY  MANAGER STATUS
09y7cdu03xmuwhta0ykvd72gb  docker4  Accepted    Ready    Active        Reachable
1jkzrkblwbdig3l5u29997n00  docker1  Accepted    Ready    Active        Leader
41znz1ntskwvvvea8up52wu0m  docker2  Accepted    Ready    Active        Reachable
5bt1bcak4tuzm9a39a7ou9upz  docker3  Accepted    Ready    Active
ai6cie5sw35rucks3kfeojdw8           Pending     Unknown  Active

you can then run docker node accept ai6cie5sw35rucks3kfeojdw8 and we can see the node (the laptop) approved:
Node ai6cie5sw35rucks3kfeojdw8 accepted in the swarm.

Type docker node ls on the leader:

ID                         NAME     MEMBERSHIP  STATUS   AVAILABILITY  MANAGER STATUS
09y7cdu03xmuwhta0ykvd72gb  docker4  Accepted    Ready    Active        Reachable
11ghb0yx7ir8ada8wyptmnu0r           Pending     Unknown  Active
1jkzrkblwbdig3l5u29997n00  docker1  Accepted    Ready    Active        Leader
41znz1ntskwvvvea8up52wu0m  docker2  Accepted    Ready    Active        Reachable
5bt1bcak4tuzm9a39a7ou9upz  docker3  Accepted    Ready    Active
ai6cie5sw35rucks3kfeojdw8  moby     Accepted    Ready    Active        Unreachable

You can see it's in 'unreachable' state.

Swap back to the client (laptop):

$> docker node ls
Error response from daemon: rpc error: code = 4 desc = context deadline exceeded

Describe the results you received:
the Swarm cluster goes into an odd state throwing:
Error response from daemon: rpc error: code = 4 desc = context deadline exceeded

Additionally, I can not demote / rm on the leader:
root@docker1:~# docker node demote ai6cie5sw35rucks3kfeojdw8
Manager ai6cie5sw35rucks3kfeojdw8 demoted in the swarm.
root@docker1:~# docker node rm ai6cie5sw35rucks3kfeojdw8
Error response from daemon: rpc error: code = 9 desc = node ai6cie5sw35rucks3kfeojdw8 is not down and can't be removed

in order to get out of that state you must run this on the client, then do the rm from the leader
docker swarm leave --force

Describe the results you expected:
I expected the client on my remote laptop to be able to join as a manager to be able to deploy services / run cluster administration commands (it seems 'manager' mode is the only way to do this). The documentation doesn't make it clear if you can connect the docker client on one network / system remotely to the full swarm cluster without joining as a master.
Additional information you deem important (e.g. issue happens only occasionally):
If you join the client as a default worker in a fresh cluster with only 1 manager, and then promote the remote client, all managers will begin throwing Error response from daemon: rpc error: code = 4 desc = context deadline exceeded effectively going offline. See issue https://github.com/docker/docker/issues/23784

I have the same issue when promote the node with docker 1.12-rc2:
[vagrant@centos01 ~]$ docker node promote centos02
Error response from daemon: rpc error: code = 4 desc = context deadline exceeded
[vagrant@centos01 ~]$ docker node promote centos03
Error response from daemon: rpc error: code = 4 desc = context deadline exceeded
[vagrant@centos01 ~]$ docker node ls
ID                           NAME      MEMBERSHIP  STATUS  AVAILABILITY  MANAGER STATUS  LEADER
8i07v3mx5ogdz1z68iide3yrn    centos03  Accepted    Ready   Active
cioe124z1315ucs5rwd8n2mdv *  centos01  Accepted    Ready   Active        Reachable       Yes
dfsp35af3tvt1ztf6ffcehtko    centos02  Accepted    Ready   Active        Unreachable

log:
...
un 20 10:47:39 centos01 dockerd[2511]: time="2016-06-20T10:47:39.835138541-04:00" level=error msg="Error trying v2 registry: context canceled"
Jun 20 10:47:39 centos01 dockerd[2511]: time="2016-06-20T10:47:39.835189275-04:00" level=error msg="Not continuing with pull after error: context canceled"
Jun 20 10:47:39 centos01 dockerd[2511]: time="2016-06-20T10:47:39.835229668-04:00" level=error msg="fatal task error" error="context canceled" module=taskmanager task.id=2d6vttb3oaxav9ea28nyclhnm
Jun 20 10:47:39 centos01 dockerd[2511]: time="2016-06-20T10:47:39.835257222-04:00" level=error msg="container status unavailable" error="context canceled" module=taskmanager task.id=2d6vttb3oaxav9ea28nyclhnm
Jun 20 10:47:39 centos01 dockerd[2511]: time="2016-06-20T10:47:39.836652306-04:00" level=warning msg="task updates not yet supported" module=taskmanager task.id=2d6vttb3oaxav9ea28nyclhnm
Jun 20 10:47:39 centos01 dockerd[2511]: time="2016-06-20T10:47:39.887494900-04:00" level=warning msg="task updates not yet supported" module=taskmanager task.id=2d6vttb3oaxav9ea28nyclhnm
Jun 20 11:07:30 centos01 dockerd[2511]: time="2016-06-20T11:07:30.211748038-04:00" level=error msg="Error updating node 8i07v3mx5ogdz1z68iide3yrn: rpc error: code = 4 desc = context deadline exceeded"
Jun 20 11:07:30 centos01 dockerd[2511]: time="2016-06-20T11:07:30.213148405-04:00" level=error msg="Handler for POST /v1.24/nodes/8i07v3mx5ogdz1z68iide3yrn/update returned error: rpc error: code = 4 desc = context deadline exceeded"
...

@jnoller This seems to be very similar to #23784, starting a manager that can't be connected back. If that's the case then lets close this and continue discussion in #23784.

Closing as dupe of #23784 feel free to object in comments to have us reevaluate.


ERRINFO_DECRYPT_FAILED (0x00001192) and close the application

Hi!! I compiled FreeRDP from master branch.
When I connect to my Windows Server 2003 I can use the rdpclient for a while, but after some minutes/seconds ("randmonly") my computer close the connection...
lucho@pcluis:~$ xfreerdp --version
This is FreeRDP version 1.2.0-beta1 (git n/a)

Here is what I run:
xfreerdp /clipboard /t:'PC Testing' /u:administrador /sec-rdp /f /toggle-fullscreen /drive:transferencia,/home/lucho/Público/Transferencia -glyph-cache /v:<IP_ADDRESS> /p:xxxxxxxxx
Here is the log:
[18:00:53:691] [5514:5518] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpdr
[18:00:53:691] [5514:5518] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpsnd
[18:00:53:691] [5514:5518] [INFO][com.freerdp.client.common.cmdline] - loading channel cliprdr
[18:00:53:705] [5514:5518] [INFO][com.freerdp.core] - FIPS Compliant encryption level.
[18:00:53:753] [5514:5519] [INFO][com.freerdp.channels.rdprd.client] - Loading device service drive (static)
[18:00:54:955] [5514:5519] [INFO][com.freerdp.channels.rdprd.client] - registered device #1: transferencia (type=8 id=1)
[18:00:58:748] [5514:5518] [ERROR][com.freerdp.core] - ERRINFO_DECRYPT_FAILED (0x00001192):(a) Decryption using Standard RDP Security mechanisms (section 5.3.6) failed.
(b) Session key creation using Standard RDP Security mechanisms (section 5.3.5) failed.
[18:00:58:748] [5514:5518] [ERROR][com.freerdp.client.x11] - Failed to check FreeRDP file descriptor
Here is a tcpdump log to see who is sending the last package:
lucho@pcluis:~$ sudo tcpdump -lni eth0 host <IP_ADDRESS> and port 3389 and 'tcp[13] & 1 == 1'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
18:00:53.685033 IP <IP_ADDRESS>.33006 > <IP_ADDRESS>.3389: Flags [F.], seq 305757313, ack<PHONE_NUMBER>, win 229, options [nop,nop,TS val 3156675 ecr 113953270], length 0
18:00:53.686743 IP <IP_ADDRESS>.33007 > <IP_ADDRESS>.3389: Flags [F.], seq 203160576, ack<PHONE_NUMBER>, win 229, options [nop,nop,TS val 3156676 ecr 113953270], length 0

Many thanks!! Freerdp is a great tool! I'm very happy with it, but this issue is making my work harder...
(sorry if my english is is not good)

Is this still an issue (or is it a client issue at all?)

@akallabeth This issue is actually as old as FreeRDP itself. Many customers reported it to me and I've seen it happen myself from time to time. Unfortunately it's not easily reproducible and I haven't yet found a way to reproduce it on demand.
The last customer report mentioning this issue was in November of 2017, probably because Server 2003/XP is finally on its way out...
Anyway, you should be able to reproduce it when working for many hours inside a 2003 session. Sometimes I've seen it happen a few seconds after connecting, sometimes it takes hours to show up.

@lemonmojo read somewhere that it may be a fastpath related bug, and -fast-path works around those buggy server implementations. so can anyone confirm this?

@akallabeth Yes, I'm pretty certain it's a server side issue. However, I have never seen it using MS's own clients. To be honest, at this point, in 2018 I don't care much. ;-)

Also see https://github.com/FreeRDP/FreeRDP/issues/433.

Same issue with Windows 2008 SP2 32 bit sessions. With latest freerdp2-x11_2.0.0~git201805221422-0+remmina201805230936.re90184c.d29dd283~ubuntu17.10.1_armhf on Armbian.
device service drive [USB] (static)
[11:02:50:934] [31221:31227] [INFO][com.freerdp.channels.rdpdr.client] - registered device #1: USB (type=8 id=1)
[12:32:46:986] [31221:31222] [INFO][com.freerdp.core] - ERRINFO_DECRYPT_FAILED (0x00001192):(a) Decryption using Standard RDP Security mechanisms (section 5.3.6) failed.
(b) Session key creation using Standard RDP Security mechanisms (section 5.3.5) failed.

This error occurs in a random, sometimes several times a day.
Is there any known solution?

Is there any known solution?

It looks like running session with -fast-path parameter solves this problem in my case. 1,5days of stable working now.

POSSIBLE SOLUTION Oddly enough "Disabled Fast-Path" is so far working for me over the past 30 minutes.

I meet this issue too, it occurs in a random, sometimes several times an hour. My RDP Server is Win7 Ultimate SP1, 64bit.  Sometimes server send this pdu(ERRINFO_DECRYPT_FAILED, 0x00001192) before disconnection, sometimes server just cut connection directly without any notification.  I don't t think the  parameter -fast-path can slove this issue in my case.

@apath001 Could you post your command line? This issue is only affecting very old RDP protocol methods, so you seem to have an interesting one ;)

@akallabeth My FreeRDP is an old version  (12/2014). Is it the reason? Newer version has sloved this issue?  and I use FreeRDP in RemoteApp mode:  /v:server ip /u:username /p:password /bpp:32 /app:"||appname". My RDP Server is Win7 Ultimate SP1, 64bit.

@apath001 then I'd try the current nightlies. Adding /rfx for windows 7 could also help (as well as /gfx:avc444 or /gfx for builds without h264)


Ugc environments

Documentation for UGC environments

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/adding-new-home-environments.md
:white_check_mark:Succeeded
View

mixed-reality-docs/images/FantasyLand.jpg
:white_check_mark:Succeeded
View

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.


Demo not working

Demo at http://akserg.github.io/ng2-webpack-demo/#/dnd is not working for me :(
With Chrome 49

Log from console, please.

@akserg
For more info: I can drag the items, but I when I drop them  on the target zone nothing happens...
service.ts:99TypeError: Cannot read property 'next' of undefined(…)
service.ts:100!!! Suggestion: Seems you forget add <ng2-slim-loading-bar></ng2-slim-loading-bar> into your html?
lang.ts:404Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.

I use Chrome 50 on Mac:

and all work fine.
Bear in mind the fact that first two topics on example page do not show any feedback about the drop event:

Simple Drag-and-Drop
`Restricted Drag-and-Drop with zones.'

Try the Transfer custom data in Drag-and-Drop and following topics, and let me know if they are not working for you?

Updated to chrome 50 (on Debian jessie )  and now it works.
Weird thing, with Chrome 49, it dosen't work at all, not Transfer custom data in Drag-and-Drop neither Drag-and-Drop - Shopping basket

Yep.
Look at the following link Drag and Drop on Google Drive Not working with Chrome Browser. Seems that was a bug in Chrome 49. 👎


Parenthesis and IsEmpty(), Count(), IsTemporary(), ...

Describe the bug
IsEmpty(), Count() and IsTemporary() are inserted by intelisense without parenthesis:

To Reproduce
Type "Rec.IsTemp" and use Intelisense to insert the complete call.
Expected behavior
The procedures IsEmpty, Count and IsTemporary (maybe more) are documented as methods and not as properties (Online and in VS Code). Why should this procedures used different?
And from the logic perspective IsEmpty and Count are no properties, because the system has to ask the sql server.
Versions:
AL Language v6.1.381323

GuiAllowed too

Thanks for reporting the issue, we will track the progress in #6365 as they report the same issue.

apparently intentional: https://github.com/microsoft/AL/issues/6908#issuecomment-1028644117


Inline code has black background and red text

But the demo shows black background and white text, not sure if this is just happening to me

Sorry for the late reply. Could u provide a screenshot of this problem? I tested with the latest Logseq, and everything works fine.


Use variable declared as const as literal type

It would be nice to be able to use a variable declared as const as a literal type in a type annotation.
TypeScript Version:  2.0.0
Code
export const INCREMENT = 'INCREMENT';
export const DECREMENT = 'DECREMENT'
export const ADD = 'ADD';

type Action =
      { type: INCREMENT }
    | { type: DECREMENT };

Expected behavior:
No error, type Action is { type: 'INCREMENT' } | { type: 'DECREMENT' }.
Actual behavior:
Error: Cannot find name INCREMENT

Ok,
export const INCREMENT : 'INCREMENT' = 'INCREMENT';
export const DECREMENT : 'DECREMENT' = 'DECREMENT';

type Action =
      { type: typeof INCREMENT }
    | { type: typeof DECREMENT };

seems to work, but why is const INCREMENT = 'INCREMENT'; of type string and not of type INCREMENT?

This is fixed in 2.1 by #10676.


Boolean parameters: map '' to true and fail for unknown values

Boolean parameters can only be set to 'true' or 'false'. The empty string is also mapped to 'true' so that -Pmybool is the same as -Pmybool=true. All other values will lead to an error during build configuration.
Resolves #42

@jjohannes feel free to merge!


Consistent use of name "mc" everywhere

Thanks for your help.

...built and published to Hub.

:+1:
Thanks for the top notch images!


help

I do not see the conversations that I started
If you could help me I would appreciate it very much

same here dude, you're not alone. many are experiencing the same problem as you. hopefully they clear it up soon. refer to #235


Release 0.08 JavaScript error in main.js

Socket exception error after clicking "Login" via HTC on the new 0.08 release.
Everything works for me on 0.07.

same http://imgur.com/hHpxoOX

I also got the same message while loggin via PTC. Google login was a blank white map with nothing load.

Nothing is loading on the new 0.08 version, but works fine on 0.07.

ZW

Sent from my iPhone

On Jul 21, 2016, at 3:00 PM, Ruined1<EMAIL_ADDRESS>wrote:
same http://imgur.com/hHpxoOX
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I just pulled this release down, there are some bugs I didn't catch in Windows. I'll publish it again once they are fixed.

I was also running into issues with Mac OS on this release.  Also, how do we check the version number.  It looks like it reports 1.2.7 regardless of the release


refactor edk2

fixes issue #92
Refactor EDK2 to give more flexibility ???
I am actually not sure about this. The idea was to open up the possibility of building Intel FSP, but I think that this PR is not that great. Some feedback would be nice.

move defconfig_path from common into specific since it is not required
for edk2 builds (it is actually a hack)
edk2: read defconfig_path file only if provided and only if exists
a lot of code in edk2 was just commented out since it might be used
later for simplification of usage by the end user

Obsolete - code changes moved to new branch and PR #95


Need system installer for Coding Pack for Java

CS teachers wanting to migrate from Eclipse to VS Code as our preferred IDE are running into trouble deploying to our lab PCs because the Coding Pack for Java is a per-user install.  You already offer a system installer for the standalone VS Code setup, but could you make a similar variant available for the Coding Pack for Java?

The Coding Pack for Java is done by the Java extension team, please file this enhancement request against the Java extension https://github.com/microsoft/vscode-java-pack/issues/new/choose.


Make buildAuthnRequest() and buildLogoutRequest() methods protected in DefaultSAML2SSOManager

There is a requirement to override some attributes in the outbound SAML request, based on some dynamic contextual parameters.
For example, update the issuer of the outbound SAML request to some value read from the service provider configuration.
We can extend the default Identity Server functionality to support this by extending DefaultSAML2SSOManager (org.wso2.carbon.identity.application.authenticator.samlsso.manager) and configuring the new class in repository/conf/application-authentication.xml under the authenticator name.
But - some important methods in the DefaultSAML2SSOManager class is private - and extending this class will result in lot of code duplication.
Can we make buildAuthnRequest() and buildLogoutRequest() methods protected - so we can extend the new functionality by overriding those methods?

Adding the location of DefaultSAML2SSOManager.java for ease of reference.
https://github.com/wso2-extensions/identity-outbound-auth-samlsso/blob/5.1.x/components/org.wso2.carbon.identity.application.authenticator.samlsso/src/main/java/org/wso2/carbon/identity/application/authenticator/samlsso/manager/DefaultSAML2SSOManager.java


Make QirFullStateExecutable constructor public again

In #807, I made the constructor for QirFullStateExecutable internal, which was a mistake because it needs to be called by the Azure Quantum service.

#825 does the same thing


need better way for message_send and audit_message_send checks like json or something

solved by using .env-template and .gitignore


exempi: Update version to 2.6.5

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

exempi: Update version to 2.6.5
Change Log

-SPECS-EXTENDED/exempi/exempi.signatures.json
-SPECS-EXTENDED/exempi/exempi.spec
-cgmanifest.json
Does this affect the toolchain?

NO
Associated issues

#xxxx

Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-YYYY-XXXX

Test Methodology

Pipeline build id: xxxx

Buddy build results also look good.


Cant install pod

[!] CocoaPods could not find compatible versions for pod "PhoneNumberKit/PhoneNumberKitCore":
In Podfile:
PhoneNumberKit (from https://github.com/marmelroy/PhoneNumberKit) was resolved to 3.5.10, which depends on
PhoneNumberKit/PhoneNumberKitCore (= 3.5.10)
flutter_libphonenumber_ios (from `.symlinks/plugins/flutter_libphonenumber_ios/ios`) was resolved to 1.1.0, which depends on
  PhoneNumberKit/PhoneNumberKitCore (= 3.5.9)

Specs satisfying the PhoneNumberKit/PhoneNumberKitCore (= 3.5.10), PhoneNumberKit/PhoneNumberKitCore (= 3.5.9) dependency were found, but they required a higher minimum deployment target.

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.7.10, on macOS 13.3.1 22E772610a darwin-arm64, locale en-VN)
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.3)
[✓] VS Code (version 1.78.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability
! Doctor found issues in 1 category.

Nice find - someone else reported a bug on it here: https://github.com/marmelroy/PhoneNumberKit/issues/643
It seems to have broken because we're depending on 3.5.9 and they pushed 3.5.10 overnight. I just published version 2.1.3 with the updated dependency so it works again.
You might have to pod update after adding the latest pub version.

Doh! No I didn't and that indeed solved it. Sorry for the churn. Thanks!

@acoutts-nydig do you have any guidance on how to use both flutter_libphonenumber and phone_number in the same app? They seen to depend on different versions of PhoneNumberKitCore...  Thank you

No unfortunately you’ll have to pick one or the other or try and force the app to use one version of the pod. Maybe you can add the pod to your podfile to override it

@rbarzel did you add the podfile entry as well from the readme?

where can I find the podfile entry from readme that u mentioned? I only found this flutter pub run melos bootstrap.


UI redesign

Here is the redesign, please review it and tell me if any fixes are needed 😊
Completes: #17
Screenshot:

Note: I think the 2 images not loading has to do with the fact this screenshot was taken while running on localhost.

Thank you so much, this is looking really awesome!
2 questions:

On my 13.6" Macbook I don't get the full content into my screen, I need to scroll. Can you try to play a little bit with the paddings, e.g. between boxes and header, the box titles to the box top or within the table lines, to support smaller screens?
In mobile view the grey boxes reach to the border of the display (see screenshot for Galaxy S21 dimensions). Could you give them a small border (as it is currently)? Would look a little better IMHO

Looking at the screenshot again I just saw that it's not 100% centered, I can also scroll left and right, so I fear the mobile view is not fully working yet

Hi again @nebocoder,
I already merged (and released) this change to keep the potential conflicts for the next changes as low as possible :)
I will create tickets for the mentioned topics, if you have time to help it would be much appreciated, especially for the issue with the mobile view.
Again: Thanks a lot!

Hello @error401de, I will gladly fix the mobile view issues and try to improve padding to fit more content on larger screens.

Thanks @nebocoder ! I created #20 and #21 as follow ups :) I think I can only assign if you leave a short comment in it :)


Supply additional task info as argument when calling error handler

Closes: https://github.com/Shopify/maintenance_tasks/issues/309
This PR changes the call to the defined error handler to pass along an additional task_context argument. This arg is a hash containing some additional information about the Task and the corresponding run.
An example of how users can leverage this info has been added to the README: if they integrate with Bugsnag, the simplest thing to do would just be to add a tab containing the details of the Task's context when notifying.
We might want to think a bit more about what information it makes sense to expose. Assuming that most users are using Sidekiq for their queuing backend, a lot of the information pertaining to the job is exposed through the job_context (as shown in the original issue) - job_id, cursor, job_class, etc... I thought it might make sense to expose started_at and ended_at (although enqueued_at is available from the job context). Alternatively, we could expose as much information about the Task as possible (include job_id, cursor, time_running, etc...) under the assumption that not everyone will use Sidekiq and have access to all this additional information to augment their error notifier.
cc @timgladwell

Thanks @adrianna-chang-shopify!
Would it also be possible to include some kind of detail about the specific entity being processed when the error occurred? I'm thinking that would make it easier to track down and identify the cause of the error.

Hey @timgladwell , that should be doable! I'll make the adjustment to this PR

@etiennebarrie I've made the following changes:

Modified https://github.com/Shopify/maintenance_tasks/pull/321/commits/6f246d07e468bc941ae9feccf24515d14a4eea24 to change the order of the arguments to error_handler.call, and to add the arity check
Added https://github.com/Shopify/maintenance_tasks/pull/321/commits/8f72aeda327141205c84698824570ef4d2ff86eb to introduce a deprecation warning for the old error handler signature. I think it's worth having people move over to this new expected API to eventually be able to remove that extra arity check in TaskJob.
Added https://github.com/Shopify/maintenance_tasks/pull/321/commits/15b44440481ec08073b8701ce963967b321a815d to accomplish what @timgladwell requested. I opted to set it as an ivar on the TaskJob instance so we can pass it as part of the task_context, but I've been debating whether this is something we'd actually like to expose in the UI as well (and consequently persist to the @run.) I think it could bring a lot of value in terms of helping users figure out why something happened with their Task, but does involve a schema change... WDYT?

Fair enough, I'm okay to go with a block! 👍  I thought maybe it would be less confusing to enforce an error handler with a specific signature to ensure consistency and to make users aware of all the possible info that comes in when an error triggers a callback, but I think documenting the different use cases in the README is sufficient.
I'll get this updated!


Should use CocoaPods

@neonichu should send in a PR instead of making issues :stuck_out_tongue_winking_eye:

I wanted to use CocoaPods but I wasn't sure how to get ReactiveCocoa's swift-1.2 branch to work with it?

We should figure that out - @ashfurrow might already know.

@a2 pod "ReactiveCocoa", "3.0.0-alpha.1"

@DanielTomlinson I have to install CocoaPods on my new laptop. Hold on :stuck_out_tongue_winking_eye:

@DanielTomlinson Yeah it looks like they're on par now. I'll update all that now :smile:

🎉


update error message for mixed-integer problems

Fixes #1706.

Propagated to 1.1.20.

Propagated to 1.2.1.


Basic LazDecompressor support

There seems to be a bit of overhead in using this, maybe there's a way to optimize it more. Also, there should be a better way of error handling via wasm-pack.

@tmontaigu thanks for the suggestions, I cleaned up the code as you suggested and it looks much better now. I also cleaned up error handling (more) properly. Instead of panicking, the expect_throw method will throw a javascript error message. Let me know your thoughts!

Much better indeed


Investigate pgAdmin Initialization with Database Connection in Local Development Setup

In our local development setup, we aim to streamline the initialization of pgAdmin while ensuring it connects seamlessly to the database. Currently, when pgAdmin is initialized for the first time, it lacks preconfigured connections to our PostgreSQL database. The goal is to implement a mechanism that automates the creation of connection details, including secrets, and injects them into pgAdmin's configuration.

Solution, defined servers.json and pointed with PGADMIN_SERVER_JSON_FILE to it - pgAdmin automatically initializes on that. The only thing the user has to do then is to enter the PostgreSQL Admin User secret, when opening the connection.


Nd4j example crash (hstack)

Issue Description
@Test
void testSampleCrash() {
    INDArray rowVector1 = Nd4j.create(new double[]{1,2,3});
    INDArray rowVector2 = Nd4j.create(new double[]{4,5,6});

    INDArray vStack = Nd4j.vstack(rowVector1, rowVector2);      //Vertical stack:   [1,3]+[1,3] to [2,3]
    INDArray hStack = Nd4j.hstack(rowVector1, rowVector2);      //Horizontal stack: [1,3]+[1,3] to [1,6]
    System.out.println("\n\n\nCreating INDArrays from other INDArrays, using hstack and vstack:");
    System.out.println("vStack:\n" + vStack);
    System.out.println("hStack:\n" + hStack);
}

crashes with:
Error at [D:/jenkins/ws/dl4j-master-windows-x86_64-cpu/libnd4j/include/ops/declarable/generic/transforms/concat.cpp:147:0]:
CONCAT op: input axis must be in range [0, 0], but got 1 instead!

org.nd4j.linalg.exception.ND4JIllegalStateException: Op name concat failed to execute. You can't execute non-inplace CustomOp without outputs being specified

at
org.nd4j.linalg.cpu.nativecpu.ops.NativeOpExecutioner.exec(NativeOpExecutioner.java:1679)
at org.nd4j.linalg.factory.Nd4j.exec(Nd4j.java:6606)
at org.nd4j.linalg.cpu.nativecpu.CpuNDArrayFactory.concat(CpuNDArrayFactory.java:557)
at org.nd4j.linalg.factory.Nd4j.concat(Nd4j.java:4917)

Process finished with exit code -1

Version Information
Beta5 examples ab_beta5  branch.
same result on SkymindIO sunday build. of nd4j.

Platform information (OS, etc)
Win10.

Good catch, this is a validation issue, for invalid input
Nd4j.create(new double[]{1,2,3}) that's a [3] array, not a [1,3] as it used to be in earlier versions of ND4J.


Button long press rarely indicated in Bluetooth notifications

The Bluetooth LE button service has two characteristics, one representing the state of button A and the other, Button B. A value of 0 means not pressed, 1 means pressed and 2 means "long press".
See https://lancaster-university.github.io/microbit-docs/resources/bluetooth/bluetooth_profile.html
The way long press works on micro:bit V1, you press a button and this generates a notification with value==1 and keep holding for at least 2 seconds and this causes a second notification to be sent, this time with a value of 2.
In around 20 tests, I only saw a value of 2 (long press) transmitted in the button's characteristic value notification once. The other times, despite holding the button down for over 2 seconds, I only ever saw a single notification, with a value of 1.
@microbit-mark FYI
This code used for testing: https://github.com/bittysoftware/bitty_blue_device_code/blob/master/microbit/makecode/animal_magic/bitty_blue_animal_magic.js

Thanks @bluetooth-mdw I have created https://github.com/lancaster-university/codal-microbit-v2/issues/53

@bluetooth-mdw The fix to https://github.com/lancaster-university/codal-microbit-v2/issues/53 was merged in v0.2.25.

@martinwork Thanks for letting me know :-)

Sorry @bluetooth-mdw, a bit late, I know. I was checking through issues to tidy up... I can't close this. Would you like to close and reopen if it proves to be a problem still?

Is v0.2.25 in use through makecode beta? I've never known how to check what version of the microbit C/C++ framework is in use from makecode. If it is, this is a very easy change for me to test.

Is v0.2.25 in use through makecode beta?
MakeCode beta is now on v0.2.28. Live is v0.2.25.
I've never known how to check what version of the microbit C/C++ framework is in use from makecode.
Me neither, until recently when someone made a video of the process...
MakeCode beta has both DAL and CODAL versions in the About dialogue now.
For older versions... Click the "makecode.microbit.org version" in the About dialogue, then the github tag short commit number, then Browse files, open pxtarget.json, and find "codalTarget".

Thanks, that's a very handy tip!
And... I just tested and can confirm that this is indeed fixed so I shall close.
All the best, Martin.


refactor: Component's lifecycle futures moved into LifecycleManager

Description
Small refactor (which was proposed a long time ago) that moves Component's properties ._loadCompleter and ._mountCompleter into the _LifecycleManager class without changing the user-facing API. The purpose of the move is to de-clutter the Component's namespace.
Checklist

[x] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[x] I have read the Contributor Guide and followed the process outlined for submitting PRs.
[-] I have updated/added tests for ALL new/updated/fixed functionality.
[-] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[-] I have updated/added relevant examples in examples.

Breaking Change

[-] Yes, this is a breaking change.
[x] No, this is not a breaking change.

Related Issues
Closes #1426

The idea here is that both loadCompleter and mountCompleter are futures that are (1) rarely needed by the user, (2) even when used, are only valid for a very brief period of time - few milliseconds at the beginning of the component's lifecycle. By moving these into the LifecycleManager class, we ensure that:

the size of the Component class is now smaller;
debugging is now easier because there are fewer properties in the Component class in a debug window.

Given that Component is the base class for ALL other components, I believe it's best to keep the class as lean as possible.

the size of the Component class is now smaller;

That isn't true, they completers were already optional, so the footprint don't change, unless you are mentioned size as in line numbers, but if so, that difference is minimal and not worth having the attribute on a place and the logic in another.

debugging is now easier because there are fewer properties in the Component class in a debug window.

Same as I mentioned above, IMO that difference is minimal and not worth having the attribute on a place and the logic in another.

That isn't true, they completers were already optional, so the footprint don't change

Even if a variable is null, it still takes up some space inside the class, since that null pointer needs to be stored somewhere.

not worth having the attribute on a place and the logic in another.

The LifecycleManager is a Component's appendix; it's specifically designed to hold optional/temporary parts of the Component that can be discarded once there is no need for them anymore. This is exactly what loadCompleter and mountCompleter are. For these fields, the LifecycleManager is a more natural place than the main Component.

For these fields, the LifecycleManager is a more natural place than the main Component.

This is agree! But for me, none of these are worth the drawback of having the fields on a class, while they are managed on a different place.
If we can find a way to move the logic of loaded and mounted to the LifecycleManager, while keep the API without a breaking change, I am onboard. Otherwise I prefer to keep the field and the logic together.

If we can find a way to move the logic of loaded and mounted to the LifecycleManager, while keep the API without a breaking change, I am onboard. Otherwise I prefer to keep the field and the logic together.

Hmm, I see your point. I'll try to think of something that can be done along these lines.


Path.getBounds() returns an empty rectangle first time it is called

When calling Path.getBounds() on a new path for the first time, the returned rectangle is empty, ie. width/height is zero.
A solution is to use Path.computeTightBounds() instead, but this can be more expensive and does not cache its results.
I haven't found any issues about this in the Skia bug tracker, but we need to investigate and see if there is anything related to the caching used by getBounds() that results in the above behavior.

A solution that I used was:
return path.getBounds() || path.computeTightBounds()

Related?: https://bugs.chromium.org/p/skia/issues/detail?id=546&q=getBounds()&can=1


request-a-copy email: non ASCII characters are encoded as HTML character entity references

Bug Description
Currently, non ASCII characters, e.g. German umlauts, are encoded as HTML character entity references (instead of UTF-8) in  the body of a request-a-copy email. Since the mail header Content-Type is set to text/plain; charset=UTF-8 mail clients may display non ASCII characters inappropriately.
Example input in request-a-copy form:

Payload of request-a-copy email:

Rendered output in mail client (in this case Thunderbird)

Expected behavior
Do not use HTML character entity references. As the email body is UTF-8 encoded, switch to UTF-8 encoding instead.

additional note: the request-a-copy form input is even encoded in HTML character entity references at the database level
dspace=# select request_message from requestitem where requestitem_id = 10;
 request_message
-----------------
 🙋             +
 ü         +
 ß
(1 row)

This does sound like a bug.  I'm not sure how this form differs from other forms we use (in Submission UI, or similar). But, ideally it should either not encode UTF-8 to HTML characters... or, if that proves complex, the backend should decode the HTML entities back to UTF-8.
In any case, this is unexpected behavior. I'll pull this over to the 7.6.x maintenance board in search of a volunteer.


Send job_run_uuid to status report telemetry

This change generates a job_run_uuid in the init Action, and then exports it as an environment variable to propagate it across steps. When any status report is created, the value is read from the environment variable and then sent to our internal telemetry API. This will allow us to join status reports from various steps to one another without using multiple fields.
The PR also tests the telemetry fields in statusReportBase are assigned appropriately and the proper type (eg. string for the job_run_uuid).
[GitHub internal only]: I validated against this branch, with a logging statement, on this job. Note that in a single attempt, the job_run_uuid logged is the same across steps, and in each attempt it is unique.
Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.
[x] Confirm the changelog has been updated if necessary.

I realized we hadn't gotten back to this PR, and resolved a merge conflict with main. @adityasharad could you please re-review? Thank you!


wrong object name in message log

error:
2017-05-15 18:23:59,745: radical.entk.SingleClusterEnvironment: MainProcess                     : MainThread     : ERROR   : Fatal error during execution: .

This should be resolved in devel now


"Go to symbol" is not showing results unless full type name used (ish)

vscode extension version 1.1.0
Given the code below the "Go to workspace symbol" doesn't behave as expected. The following searches yield non-optimal results:

ServiceLookup - no results. Expect to see ISomeServiceLookup and SomeServiceLookup as result.
SomeService - only SomeServiceLookup listed
ssl - no results. Expect to see ISomeServiceLookup and SomeServiceLookup as result.

For comparison - the "Go to file" works in all of the above cases.
namespace Test
{
    public interface ISomeServiceLookup {  }
    public class SomeServiceLookup : ISomeServiceLookup { }
}

dotnet --info
.NET Command Line Tools (2.1.2)
Product Information:
Version:            2.1.2
Commit SHA-1 hash:<PHONE_NUMBER>
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.16299
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\2.1.2\
Microsoft .NET Core Shared Framework Host
Version  : 2.0.3
Build    : a9190d4a75f4a982ae4b4fa8d1a24526566c69df
VSCode Version : 1.19.0
C# Extension Version : 1.13.1
I am getting the expected results in the first two cases @ivanz Could you try updating the extension and checking?
@rchande For the third point do we expect to see ISomeServiceLookup and SomeServiceLookup on searching ssl ?

I am getting the expected results in the first two cases.

we added substring lookups only recently https://github.com/OmniSharp/omnisharp-roslyn/pull/990 - this shipped in 1.13.0 of the extension https://github.com/OmniSharp/omnisharp-vscode/releases/tag/v1.13.0

@filipw What is the expected behavior in the ssl case ?


Added missing CSS loader solving #15

Q
A

Bug fix?
yes

New feature?
no

New sample?
no

Related issues?
fixes #15

What's in this Pull Request?
Added missing CSS loader solving #15

@waldekmastykarz,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

thx Waldek, appreciated.


add powered by Hugo, digitalcraftsman in footer

I'd like to give a shoutout to Hugo and @digitalcraftsman and the upstream creators in my usage of the theme. Could you add something like that to the footer properly designed? I'd love that.
Thanks for the great work.

As hugo-agency-theme is mostly in maintainance mode and no new features will be added.
We created Syna as a more flexible iteration of this theme.
Syna does support adding a customized footer fragment to implement this.


change ibm-ubiquity-db to configurable

get ibm ubiquity db name from ubiquity Pod env setting.
k8s side of thing -> https://github.com/IBM/ubiquity-k8s/pull/167
Signed-off-by: feihuang<EMAIL_ADDRESS>

This change is

Coverage increased (+10.9%) to 65.666% when pulling ed0e728686b4b3ca3b73969b14380d257a245239 on fix/UB-945_Ubiquity_For_DS8k_P3 into c94b05f968d11d7b349b83def81d3bc1a87c297a on dev.

Review status: 0 of 2 files reviewed at latest revision, 1 unresolved discussion.

database/volume.go, line 26 at r1 (raw file):

var VolumeNameSuffix = os.Getenv(keyPsqlDbPVName)
//const VolumeNameSuffix = "ibm-ubiquity-db"

You should apply here a critical fix:
We need to set a default value in case KeyPsqlDBPVname is not defined, in order to support customer that didn't upgrade the yml file.
So please if env is empty, then set it to VolumeNameSuffix. So uncomment the const and use it as default
In addition make sure we don't have other ibm-ubiquity-db in the code that we forgot to change.
thanks

Comments from Reviewable

Review status: 0 of 2 files reviewed at latest revision, 2 unresolved discussions.

database/volume.go, line 26 at r1 (raw file):
Previously, shay-berman wrote…
You should apply here a critical fix:
We need to set a default value in case KeyPsqlDBPVname is not defined, in order to support customer that didn't upgrade the yml file.
So please if env is empty, then set it to VolumeNameSuffix. So uncomment the const and use it as default
In addition make sure we don't have other ibm-ubiquity-db in the code that we forgot to change.
thanks

ok good I saw your fix for that.
now its ok. thanks

database/volume.go, line 36 at r2 (raw file):

}

func getDBVolumeName(dbPVNameENVKey string) string {

If posible move this function to utils, and call it getEnv(envName, defaultValue) and make it generic.

Comments from Reviewable

@shay-berman  move func to get dbname from ENV to IBM/ubiquity/utils/utils

Review status: 0 of 3 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

database/volume.go, line 36 at r2 (raw file):
Previously, shay-berman wrote…
If posible move this function to utils, and call it getEnv(envName, defaultValue) and make it generic.

move this     function to Ubiquity/Utils/utils, and make it generic

Comments from Reviewable

Review status: 0 of 3 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

Comments from Reviewable


haxelib install setup problem, openfl command, no sudo

Just installed OpenFL using haxelib ("option 2").
I ran the haxelib command as me, not as root.
I have haxelib set up to install libraries into ~/haxelib.
I'm on Debian (Testing).
Near the end of the install haxelib run openfl setup process I'm asked:
Do you want to install the "openfl" command? [y/n/a] ? y
[sudo] password for john:

but I don't use sudo, and I just want the openfl command installed into my ~/bin.
The message then says:
{snip}
sudo: 3 incorrect password attempts

To finish setup, we recommend you either...

 a) Manually add an alias called "openfl" to run "haxelib run openfl"
 b) Run the following commands:

sudo cp "/home/john/haxelib/lime/7,7,0/templates/bin/lime.sh" /usr/local/bin/lime
sudo chmod 755 /usr/local/bin/lime
sudo cp "/home/john/haxelib/openfl/8,9,6/assets/templates/bin/openfl.sh" /usr/local/bin/openfl
sudo chmod 755 /usr/local/bin/openfl

I'm fine with adding an alias to my ~/.bashrc:
alias openfl="haxelib run openfl"

Do I need to also add an alias for the lime command?
Should I run haxelib run openfl setup again but this time say "no" to that offer?
The setup process should be able to handle my case of a local user installing locally, no?
Thanks!

Sorry if this sounds like a support request --- the main reason I put it here is:

The setup process should be able to handle my case of a local user installing locally, no?

Anyhow, I think it would be more informative to the user if this
Do you want to install the "openfl" command? [y/n/a] ?

were changed to something like one of these:
Do you want to install the "openfl" command into /usr/local? [y/n/a] ?
Do you want to install the "openfl" command (requires sudo)? [y/n/a] ?


Fix bug that COUNT(DISTINCT) on StringView panics

Which issue does this PR close?

Closes #11767
Rationale for this change
It is a typo

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

Thank you @XiangpengHao -- I ahve some tests written for this that I will push to this branch

Do you @alamb  have any thoughts on why clickbench query 5 won't previously panic?
SELECT COUNT(DISTINCT "SearchPhrase") FROM hits;

I find only when we count two disctincts will go to this path, for example:
SELECT COUNT(DISTINCT "HitColor"), COUNT(DISTINCT "BrowserCountry") FROM hits;

This make me suspect that Q5 is being casted to Utf8, which explains why it is slower with string view... looking at it, let me know if you have any ideas..

Is rewritten to a group by without distinct here

I see, that makes sense

This was largely needed before we had implemented native distinct accumulators. But I wonder if we should re-evaluate now that we have fast string accumulators 🤔

I ran a simple test and found that this optimization rule indeed improves performance


Expose Akka's Executor stats

Akka's Dispatcher is a Java Executor. We should be able to expose its current state at least similarly to what Slick is doing.

It appears that Slick has a custom wrapper around the raw executor. And this wrapper is collecting and serving metrics.
I'm not sure the same thing is possible without a custom wrapper. And it's a lot to ask from the end user to put this custom executor in their app.
We can get some data using Thread.getAllStackTraces in a hacky way, but it also feels pretty bad.


GDScript thumbnails in FileSystem-view are not updated correctly

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Windows 10. Godot 3 nightly build, December 8.
I used the white theme for a while, but switched back to the darker one (new default). However, all of my old GDScript-file thumbnails are still white.
The newly created GDScript file thumbnails are dark, but do not seem to reflect the current theme exactly (background is completely black - when it should be somewhat dark blue, and the text color is off too: the default older yellowish theme(?)).
This is of course not such a big issue... but the mish-mash of white/black thumbnails still makes it harder to separate GDScript files.
Some time ago, there was a temp dir within C:/Users/Me/AppData/Roaming/Godot. I used it in the past to manually purge these outdated thumbnails. However it seems to have moved to somewhere else?

Some time ago, there was a temp dir within C:/Users/Me/AppData/Roaming/Godot. I used it in the past to manually purge these outdated thumbnails. However it seems to have moved to somewhere else?

It was moved to %TEMP%\Godot.

This is how thumbnails generate right now (3.1):

I guess it's acceptable.


This page is a little...sparse

Other than the note to "use the Viva Connections desktop model", there's nothing else on this page. I read this as "create a new Teams app package with the Viva Connections desktop script, but use the URL for your app". Is that what is meant to be communicated with this page?

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

ID: 8ef9b82d-5475-c5fa-ac7a-7005558e06f1
Version Independent ID: 1d9d4923-c44f-b00b-a553-60c73ed8b8e6
Content: Embedding modern SharePoint pages in Microsoft Teams as personal apps (preview)
Content Source: docs/features/embed-pages-to-teams.md
Product: sharepoint
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

That was intentional as this page was referenced in numerous blog posts, videos and other locations before the Viva Connections was announced. Intention is simply to drive people to the right location where the latest guidance for embedding SharePoint portals to Teams is located.


Fix invalid cast exception when sending delay activities through cloud adapter

Fixes #7880
Description
The cloud adapter tried to cast a delay activity's value to int. Because the value is an object, all numbers are boxed and therefore cannot be unboxed and cast to a different numeric type using a normal cast operation. We need to use Convert.ToInt32 instead.
The problem was also present in the test adapter so I've fixed it there too. The problem was not present in the Bot Framework HTTP adapter, but for the sake of completeness I've included a test for it anyway. The problem was present in the allow-null-ID test adapter and I fixed it there because I saw that it's supposed to mimic the other adapters, but I didn't include a test for it because it's not part of a public library.
Specific Changes

Change (int) to Convert.ToInt32 in the cloud adapter, the test adapter, and the allow-null-ID test adapter
Clean up some using statements
Add delay tests

Testing

CloudAdapterTests.CloudAdapterDelay
BotFrameworkHttpAdapterTests.Delay
TestAdapterTests.TestAdapter_Delay

Pull Request Test Coverage Report for Build 248374

0 of 0   changed or added relevant lines in 0 files are covered.
21 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.06%) to 78.765%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Builder/CloudAdapterBase.cs
21
69.3%

Totals

Change from base Build 247127:
-0.06%

Covered Lines:
17530

Relevant Lines:
22256

💛  - Coveralls

@johnataylor
@carlosscastro
@Virtual-Josh
@microsoft/botframework-sdk
Please review so this can be merged


Better default component structure

We should nicely group default scaffolded components.
global/* --> contains only custom elements
other components, should be outside of global and optionally/ideally have their own sub-folder, like "Site"
Then, let's have SiteMessages, SiteBreadCrumbs etc. all below Site.

This got done now.


change for module from scss to node-sass

To keep it consistent with the webpack build it would be better to also take node-sass

Yes it seems that would be more convenient too, right now you have to install sass as a separate step.

Thank you for your expertise and the review! I'm going to merge it therefore.


with on(:click) react event can't access standard DOM methods

`
class Sample
include React::Component
define_state(:comments){
["foo", "bar"]
}
def handle_that(e)
p e.target.data('index') <----this not working
end
def render
div {
self.comments.each_with_index do |comment, index|
p("data-index" => index.to_s) { comment }.on(:click) { |e| handle_that(e) }
end
}
end
end
`
p e in handle_that returns Ract::Event object, p e.target returns Native paragraph object, but any other methods on p.target return "" or undefined, is it possible to access that target html, data attrs and so on? opal-browser and everything else is ok (using with rails).

my bad, everything is ok(( Native(#{e}) does everything

This issue was moved to reactrb/reactrb#50


Set command module:migrate-rollback to run modules in reverse order

Based on Issue #214 opened on 29 Sep by astroanu

☺☺


Support for GnuPG 2.2 + Private Keys Files

Hi
Apologies in advance for creating a duplicate of the GNUPG 2.2.X file format support (https://github.com/bcgit/bc-java/issues/794). But I need a definitive answer, sooner than later, if possible. So I thought raising it as a new issue, would hopefully gather more attention. 🙏
I have some two modules, that were developed back in 2014/2015, that does OpenPGP signing/encryption and decryption/verification using Bouncy Castle. It all works fine. I now have a client, that wants these modules to work with the latest GnuPG. However, I see that GnuPG changed the format of the files with their 2.2.1 release on 19th September 2017 see this archived news release link (https://lists.gnu.org/archive/html/info-gnu/2017-09/msg00010.html). With more detail in this link (https://gnupg.org/faq/whats-new-in-2.1.html).
With release 2.2 , private/secret keys are no longer in the secring.gpg file, they are now stored as separate files in a sub-directory named private-keys-v1.d. Public keys are no longer in the pubring.gpg file, they are now stored in a Keybox file named pubring.kbx.
Looking at the latest Bouncy Castle PGP code/javadoc, there doesn't appear to be any support at all for the private/secret keys stored in the private-keys-v1.d directory. There appears to be some support for the public key Keybox file, but I'm unsure whether that is integrated enough to do encryption and signature verification operations.
Does anyone know, if I'm wrong with my above statement. And that Bouncy Castle can work with the new 2.2 private/secret keys private-keys-v1.d directory . And if so, is there any example code.
Or do I need to migrate off Bouncy Castle and either write my own library from scratch (which will take a lot of effort) or use a paid library like IPWorks OpenPGP from /nsoftware (https://www.nsoftware.com/ipworks/pgp/).
Regards
Pat

FYI. I ended up writing code that worked off an exported secret key file. It wasn't ideal, but it works. The code was non-trivial in what it had to do to parse the exported secret key file.

@Patrick-Harms  - I also have a need for this. I have emailed BC team a couple of times.  To them it might be easy so I didn't get a usable response.  This is a HUGE need.  It's surprising the BC, which has been a core of my teams, and many other teams toolbox for a long time,  has not yet recognized the need to do this for the community.  We also need exactly what you are asking for.

@Patrick-Harms  - is it that the secret keys just cannot be placed in the kbx file?  I thought they could.  We were having an issue of reading them out of there as the BC API doesn't support it.

@bodhi-one , yes it is a surprise, that there is no high level BC API code to read the secret keys from the GNUPG 2.2.X file format, which stores them as separate files in a sub-directory named private-keys-v1.d .
The public keys are in the .kbx file. The public key access was sort of straight forward from the BC API. I used the org.bouncycastle.gpg.keybox.bc.BcKeyBox object to parse the read in keybox file (I used a BufferedInputStream object wrapped around a FileInputStream object). Parsing the various BLOB objects that it was formatted as, see the org.bouncycastle.gpg.keybox package. First the FIRST_BLOB object, and then the OPEN_PGP_BLOB objects. From the OPEN_PGP_BLOB object, I was able to create the org.bouncycastle.openpgp.PGPPublicKeyRing object.
The secret key, as my application normally only has one key, I exported it using the  gpg --export-secret-keys command with the --armor option, to create an ASCII Base64 encoded file. Then in my application, I used the Bouncy Castle org.bouncycastle.openpgp.jcajce.JcaPGPObjectFactory object to parse the Base64 decoded bytes from the read in exported key file, into an org.bouncycastle.openpgp.PGPSecretKeyRing object. With that retrieved, the code was then easy.

On a related note, reading keys from private-keys-v1.d is possible with SExprParser, but it does not work for ed25519 keys (that are becoming de facto standard and default these days). For example jgit does that https://github.com/eclipse-mirrors/org.eclipse.jgit/blob/master/org.eclipse.jgit.gpg.bc/src/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgKeyLocator.java but fails badly if private key is ed25519.

any news on this topIc?

any news on this topIc?

I have emailed bc team twice asking for this.  Apparently they don't think it's important and/or necessary.  Even in the days of jams and kek/dek, we still need pgo into the long term future to exchange data with customers.

any news on this topIc?

Our work around is to keep a rhel 7 container around and keep using pre-kbx gpg. It's a kludge but it works.

I understand backward compatibility and this issue is not about to remove it. This issue is about to add a step forward.


[Docs] update config doc

update some config docs.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.29 out of 30 committers have signed the CLA.:white_check_mark: mzr1996:white_check_mark: PeterH0323:white_check_mark: yingfhu:white_check_mark: timothylimyl:white_check_mark: Ezra-Yu:white_check_mark: twmht:white_check_mark: JiayuXu0:white_check_mark: techmonsterwang:white_check_mark: a-mos:white_check_mark: zzc98:white_check_mark: hukkai:white_check_mark: daquexian:white_check_mark: Crescent-Saturn:white_check_mark: okotaku:white_check_mark: tonysy:white_check_mark: wangruohui:white_check_mark: Fei-Wang:white_check_mark: tpoisonooo:white_check_mark: jlim262:white_check_mark: pallgeuer:white_check_mark: 790475019:white_check_mark: liu-mengyang:white_check_mark: nijkah:white_check_mark: xiaoyuan0203:white_check_mark: wangjiangben-hw:white_check_mark: ganghe74:white_check_mark: Qiza-lyhm:white_check_mark: unseenme:white_check_mark: Magnus1cheng:x:<PHONE_NUMBER>You have signed the CLA already but the status is still pending? Let us recheck it.


Opentherm endpoint on hub v2 on new-ish firmwares

Hi,
It looks like opentherm endpoint has moved on hub v2 on later firmwares ( 4.32.47 or newer) and is now located at /data/v2/openTherm/ instead of /data/v2/opentherm/ .
I'm not sure if new endpoint also works on v1 (i don't have v1 connected anymore).

The diagnostic file given by a Hub V1 and a Hub V2 are the same for the OpenTherm as the 2 screen shots show
Hub V1

Hub V2

Current endpoint just gives 404 on my hub.

The diagnostic file given by a Hub V1 and a Hub V2 are the same for the OpenTherm as the 2 screen shots show Hub V1
Hub V2

If you don't have opentherm connected, the api will not read the endpoint, so will show empty in the diagnostic output.  Seems Hub v1 is still at the data/v2/opentherm endpoint.  @jacekowski , I will look if I can amend the endpoint if a v2 hub and firmware > 4.32.47.  Could you provide me a text output of the returned data so I can check it is the same and will therefore work.

@jacekowski, so I think I have fixed this in v1.5.16 of the api.  Would you be able to amend the version of the api in your manifest.json found in config/custom_components/wiser/manifest.json and see if it resolves it (you will need to restart HA for it to update).  This will be officially released in the next integration update which will bring you back inline.

It doesn't work. Seems like it is using old endpoint.
my diagnostics (shortened to show relevant bits only) is showing the following:
  "integration_manifest": {
    "domain": "wiser",
    "name": "Drayton Wiser Integration for Home Assistant",
    "dependencies": [
      "http",
      "websocket_api",
      "frontend",
      "lovelace"
    ],
    "requirements": [
      "aioWiserHeatAPI==1.5.16"
    ],
  },
  "data": {
    "Domain": {
      "System": {
        "BoilerSettings": {
          "ControlType": "HeatSourceType_OpenTherm",
          "FuelType": "Gas",
          "CycleRate": "CPH_6",
          "OnOffHysteresis": 5
        },
        "ActiveSystemVersion": "4.36.33-9ad5712",
        "HardwareGeneration": 2,

It looks like the issue is with version.py, because my current version is "4.36.33-9ad5712", it fails >= check because 33 is smaller than 47

Yes. Was doing late last night and realised when I saw your note I had locked this up.  Will fix today and do a 1.5.17 release.  Sorry.

I've modified my docker image to fix version detection and it works with my fix, so that is the only issue with the change.
On another hand, any chance additional values from that endpoint could be made available (i'm not sure if it is just v2 thing), that is burner statistics and pump statistics

On another hand, any chance additional values from that endpoint could be made available (i'm not sure if it is just v2 thing), that is burner statistics and pump statistics

You'll have to provide me the data.  Unless you mean the extended diagnostics, in which case, I have added into the api for v1.5.17 and will add some sensors to the integration in an upcoming release.

Commit in dev branch covers everything.

Great.  Will close.  v1.5.17 is now official release in v3.4.9 of the integration.