Implement CI for building each microservice using CircleCI

https://github.com/airavata-courses/CloudElves/commit/58cfb7300e42e3cc983503c6e5266cf7853b80aa
https://github.com/airavata-courses/CloudElves/commit/235e1d98163991ec6cf4fbae553ebcf7e63141b5
https://github.com/airavata-courses/CloudElves/commit/70ceaa98cca08bf2d505ae19f43b5a01e622c58b
https://github.com/airavata-courses/CloudElves/commit/bf0f5d291024a564ac50820b4908d1ffd0ffb662
https://github.com/airavata-courses/CloudElves/commit/80d050bb7d4feee69fa875c33b0bc08d500ba60a


Create masks for Multi-class segmentation model

@qubvel : So, I've been using binary segmentation model for a while now, and it has been working fine for me. But, I'm not sure how do I get through creating a multiclass segmentation mask. I've got binary masks for every class separately, so should I create just one numpy array to stack them on top of each other and create a multi channel array, or should I annotate each mask as a separate class "0,1,2.." and merge them in one single channel array.

should I create just one numpy array to stack them on top of each other and create a multi channel array
I ran into the same question originally, yes.
This is the semantic segmentation form of one-hot encoding. Each channel within the 'image' represents a class, and within that channel the index is labelled with a 0 or 1 to denote. I store all my masks as numpy arrays and if you need to view them, simply use np.argmax(mask, axis = 2) with whatever display function you use.
Depending on how you make your masks, the to_categorical() function in Keras may or may not be useful to you when it comes to passing your mask to the model during training.
Here's an image that illustrates conceptually what's going on:

@kjodha what is the tool that you use for annotation of images?

@kjodha what is the tool that you use for annotation of images?

@SreenijaK I'm not using any tool to annotate the images, I already have a database of annotated images.

should I create just one numpy array to stack them on top of each other and create a multi channel array
I ran into the same question originally, yes.
This is the semantic segmentation form of one-hot encoding. Each channel within the 'image' represents a class, and within that channel the index is labelled with a 0 or 1 to denote. I store all my masks as numpy arrays and if you need to view them, simply use np.argmax(mask, axis = 2) with whatever display function you use.
Depending on how you make your masks, the to_categorical() function in Keras may or may not be useful to you when it comes to passing your mask to the model during training.
Here's an image that illustrates conceptually what's going on:

@JordanMakesMaps Thank you for your response. I was able to train a model successfully for multiple classes with one hot encoded masks stacked on top of each other as shown in the image you provided. Closing the issue.

@JordanMakesMaps Is there a simple way to merge these output multichannel array back to a single channel array as 0,1,2,3... for each class?

@kjodha
np.argmax(mask, axis = 2)
This will give a you a single channel image, where each index has the class category value that was classified as.


A generic error occurred in GDI+

I run FlashCap.WindowsForms app on Visual Studio 2022 and see only exceptions that thrown when the image is restored from the stream:
System.Runtime.InteropServices.ExternalException (0x80004005): A generic error occurred in GDI+.
at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)
at System.Drawing.Image.FromStream(Stream stream)
at FlashCap.WindowsForms.MainForm.OnPixelBufferArrived(PixelBufferScope bufferScope) in C:\repos\temp\FlashCap-main\samples\FlashCap.WindowsForms\MainForm.cs:line 89
at FlashCap.FrameProcessors.DelegatedQueuingProcessor.ThreadEntry() in C:\repos\temp\FlashCap-main\FlashCap.Core\FrameProcessors\QueuingProcessor.cs:line 159
May be I am doing something wrong?
PS: FlashCap.Avalonia works fine

Sorry for the late reply.
I checked in the environment at hand and the problem did not occur. However, in the following line:
// Decode image data to a bitmap:
var bitmap = Image.FromStream(stream);

is executed on the worker thread called back. Perhaps there is a problem there. For example,
    private void OnPixelBufferArrived(PixelBufferScope bufferScope)
    {
        // Force copy before transitive to UI thread context.
        byte[] image = bufferScope.Buffer.CopyImage();

        // `bitmap` is copied, so we can release pixel buffer now.
        bufferScope.ReleaseNow();

        // Switch to UI thread.
        this.synchContext.Post(_ =>
        {
            // Convert to Stream (using FlashCap.Utilities)
            using (var stream = image.AsStream())
            {
                // Decode image data to a bitmap:
                var bitmap = Image.FromStre am(stream);

                // HACK: on .NET Core, will be leaked (or delayed GC?)
                //   So we could release manually before updates.
                var oldImage = this.BackgroundImage;
                if (oldImage != null)
                {
                    this.BackgroundImage = null;
                    oldImage.Dispose();
                }

                // Update a bitmap.
                this.BackgroundImage = bitmap;
            }
        }, null);
    }

then Image.FromStream(stream) will be executed in the UI thread, which may solve the problem. However, since more bitmaps are copied, frame dropping is more likely to occur.

Close this issue. If there is a problem, open again.


Allow for concurrent orthanc-anon processing

What happened?

The api call for orthanc-anon to import from raw doesn't seem to block, so there are multiple requests to CMOVE all concurrently
There is only ever one CMOVE at a time, so it appears like the CMOVE is a blocking operation
This then can cause orhtanc-anon to crash

Relevant log output (optional)
No response
What did you expect? (optional)

Hopefully downloading the zip archive directly from orthanc-raw will not be blocking so that may solve this, if not then I expect the plugin listed in #507 will resolve this
We should also limit the number of concurrent studies de-identified at once. Republishing the same message to a new queue that orthanc-anon plugin reads could be a good option, then we don't use the API at all but instead read in from that and use the same max in flight?

#523 moved the processing in orthanc-anon into background threads using a ThreadPoolExecutor with the number of workers set to PIXL_MAX_MESSAGES_IN_FLIGHT. So hopefully we're not blocking the main thread anymore, and the ThreadPoolExecutor will handle the queuing to ensure only 5 studies are de-identified at any time.
But let's leave the issue open in case we're still having these problems.


f7-list with template not working properly

Hii
If I write the following code
<template>
   <f7-list>
<f7-list-item>
    <f7-label>Password</f7-label>
    <f7-input type="text" placeholder="Enter Password" ></f7-input>
         </f7-list-item>
   </f7-list>
</template>

then it works fine.
But if I put the f7-list-item part in a separate file (template) and call like the following
<template>
   <f7-list>
     <Password></Password>
   </f7-list>
</template>
<script>
import Password from "./Password.vue";
export default {
  components: {
   Password
  }
}
</script>

//Password.vue
<template>
<f7-list-item>
    <f7-label>Password</f7-label>
    <f7-input type="text" placeholder="Enter Password" ></f7-input>
         </f7-list-item>
</template>

then it shows a dot in front of list item. I think the f7-list part is rendered without waiting for the f7-list-item( Password). Please look into it whether it could be resolved
Thanks in advance!

Duplicate #401


Nuxtjs 3 + vanilla extract build error

Describe the bug
Nuxt 3 beta has been released and I was trying to use vanilla-extrat with it. I installed the vite plugin and added it to the nuxt.config.ts file. After running yarn dev I get this error:
some_folder/node_modules/@vanilla-extract/css/fileScope/dist/vanilla-extract-css-fileScope.esm.js:1
import outdent from 'outdent';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:988:16)
    at Module._compile (internal/modules/cjs/loader.js:1036:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12)
    at ModuleWrap.<anonymous> (internal/modules/esm/translators.js:199:29)
    at ModuleJob.run (internal/modules/esm/module_job.js:170:25)
    at async Loader.import (internal/modules/esm/loader.js:178:24)
    at async __instantiateModule__ (file://some_folder/.nuxt/dist/server/server.mjs:2319:3)

Let me know if there is any more information I can give you.
Link to reproduction
https://codesandbox.io/s/nuxt3-vanilla-extract-cpfce
System Info
Output of npx envinfo --system --npmPackages @vanilla-extract/css,@vanilla-extract/webpack-plugin,@vanilla-extract/esbuild-plugin,@vanilla-extract/vite-plugin,@vanilla-extract/sprinkles,webpack,esbuild,vite --binaries --browsers:
  System:
    OS: Linux 5.11 Ubuntu 21.04 (Hirsute Hippo)
    CPU: (6) x64 Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz
    Memory: 3.24 GB / 15.57 GB
    Container: Yes
    Shell: 5.1.4 - /bin/bash
  Binaries:
    Node: 14.17.6 - /tmp/fnm_multishells/1605_1634115304080/bin/node
    Yarn: 1.22.11 - /tmp/fnm_multishells/1605_1634115304080/bin/yarn
    npm: 6.14.15 - /tmp/fnm_multishells/1605_1634115304080/bin/npm
  Browsers:
    Chrome: 94.0.4606.81
    Firefox: 93.0
  npmPackages:
    @vanilla-extract/css: ^1.6.2 => 1.6.2
    @vanilla-extract/vite-plugin: ^2.1.3 => 2.1.3

I have a similar issue when I try to integrate vanilla extract. I get a slightly different error even when I try to add the plugin with what's above ☝🏼.
Error: couldn't find parent package.json with a name field. Anyone has any fix for this as yet?

I have a similar issue when I try to integrate vanilla extract. I get a slightly different error even when I try to add the plugin with what's above ☝🏼. Error: couldn't find parent package.json with a name field. Anyone has any fix for this as yet?

@leithonenglish This error can be resolved by adding "name": "my-app" (or whatever name you choose) to your project's package.json. Vanilla Extract looks for the package name to prepend to the virtual modules it creates.

That works perfectly but now when I try to import any of the styles, for example,
app.css.ts
import { style } from "@vanilla-extract/css";

export const wrapperStyle = style({
  background: `red`,
});

app.vue
<script lang="ts" setup>
import { wrapperStyle } from "./app.css";
</script>
<template>
  <div :class="wrapperStyle">Hey there</div>
</template>

I get the following warning (node:43589) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension. and the server never loads the page.
I tried getting info from here https://v3.nuxtjs.org/guide/going-further/esm/ but still not sure what I am missing

No updates on this?

I get the following warning (node:43589) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension. and the server never loads the page.

I think I'm facing the same issue with SvelteKit. Someone commented that Node does not like .esm.js and it should be eg. vanilla-extract-css.mjs.

Renaming the file to end with .mjs seems to work for me. Here's another one suggesting fixing the extension.

Okay, my error seems to be fixed by updating to Vite 4.0.3 released 5 hours ago, heh. I guess it was this one.
Anyway, .mjs should be used over .esm.js and css-what should be upgraded to v6 so it is ESM, not CJS.

I just tested this and don't seem to get any errors. If nobody has anything to add here, I'd close this issue.


more than one library with package name 'com.google.android.gms'

When some other packages include cordova-google-play-services as cordova-admob or cordova-plugin-analytics is not possibile add the phonegap-plugin-push because during the build process I've this issue:
:processDebugResources FAILED
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':processDebugResources'.

Error: more than one library with package name 'com.google.android.gms'

BUT other plugins that use cordova-google-play-services  can live together without problem (es. cordova-admob and cordova-plugin-analytics). Why phonegap-plugin-push not?
I'm using cordova version 6.0.0

@alecapu specifically which plugin(s) are you having problems with in conjunction with this one?

cordova-plugin-analytics

@alecapu which one? URL please.

cordova plugin add cordova-plugin-analytics
or
cordova plugin add https://github.com/appfeel/analytics-google.git

@alecapu yeah, that plugin is not up to date. It should be using gradle to include the Google Play Services package but instead it includes the cordova-google-play-services plugin as a dependency and that plugin includes the play services jar. So all of that is bad news. The plugin should be updated to use gradle and in fact there is a PR open to do just that https://github.com/appfeel/analytics-google/pull/11. You should bug the team at appfeel to merge that PR.
Alternatively, switch to another plugin that provides the same functionality but uses gradle:
https://github.com/danwilson/google-analytics-plugin
https://github.com/cmackay/google-analytics-plugin

Thank you very much

That's a good candidate to be added to https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md#common-errors, @macdonst

@fredgalvao will do

This is kinda off topic:
@macdonst Something strange happened involving these last commits, I had made some improvements to the description on https://github.com/phonegap/phonegap-plugin-push/commit/8f06ed15da6342011b3cbb64560e340ca7c0d7e2 as you pushed it, as a new commit: https://github.com/phonegap/phonegap-plugin-push/commit/931fd43a0ed5f1130bb5327529b0dd4123e910e5.  I can't see a way to fix it quickly, nor do I fully understand what happened.

@macdonst Can you help me understand what happened with that commit I mentioned?

@fredgalvao I probably did a force push at one point an overwrote it. Can you re-submit your changes?

@macdonst Done: https://github.com/phonegap/phonegap-plugin-push/commit/868021357ceeeb1a77f023eea618ac7ef279e92d


fix(deps): update kubernetes packages to v0.31.4

This PR contains the following updates:

Package
Type
Update
Change

k8s.io/api
require
patch
v0.31.3 -> v0.31.4

k8s.io/apiextensions-apiserver
require
patch
v0.31.3 -> v0.31.4

k8s.io/apimachinery
require
patch
v0.31.3 -> v0.31.4

k8s.io/cli-runtime
require
patch
v0.31.3 -> v0.31.4

k8s.io/client-go
require
patch
v0.31.3 -> v0.31.4

k8s.io/kubectl
require
patch
v0.31.3 -> v0.31.4

Release Notes

kubernetes/api (k8s.io/api)
v0.31.4
Compare Source

kubernetes/apiextensions-apiserver (k8s.io/apiextensions-apiserver)
v0.31.4
Compare Source

kubernetes/apimachinery (k8s.io/apimachinery)
v0.31.4
Compare Source

kubernetes/cli-runtime (k8s.io/cli-runtime)
v0.31.4
Compare Source

kubernetes/client-go (k8s.io/client-go)
v0.31.4
Compare Source

kubernetes/kubectl (k8s.io/kubectl)
v0.31.4
Compare Source

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

ℹ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

2 additional dependencies were updated

Details:

Package
Change

k8s.io/apiserver
v0.31.3 -> v0.31.4

k8s.io/component-base
v0.31.3 -> v0.31.4


Expose tlsConfig so tat it can be set via NewBot

Fixes #12

gonna fix the conflicts I myself caused.

Done.

@mvdan Instead of #14, can you give a look at #9? That should fix this issue, and add more improvements to the configuration options.

Oh, hadn't seen that one. Sure.


Docker-machine aliases

Useful aliases for docker-machine. Inspired by docker-compose/docker-compose.plugin.zsh.

Could someone merge or close this one?


Added ability to Provide Custome Service Annotations for zeebe-gateway

What?
I have added the ability for zeebe-gateway service to have its own custom annotations.
Why?
Having ONLY common annotations is not enough. For example if we want to expose each service with a custom domain name

 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.Michele Fenech Adami seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@Zelldon I've done what I could but I am not sure how to go about creating the tests? Is there an example of another annotation which I can use as reference.
Also I see one of the integrations tests is failing? Is that something which my PR broke?

Hey @michelefa1988 thanks for that !
Yes there is already one for the global annotations here https://github.com/camunda/camunda-cloud-helm/blob/main/charts/ccsm-helm/test/zeebe-gateway/service_test.go#L52-L68 you can then just adjust the variable setting to
something like zeebe-gateway.service.annotations https://github.com/camunda/camunda-cloud-helm/blob/main/charts/ccsm-helm/test/zeebe-gateway/service_test.go#L56
Regarding the integration tests, I think the issue here is that for external contributors the secrets are not available. I might disable them for PR's then, and only run them on main.

@Zelldon  I think I managed to run the tests locally but they are still failing locally, I have no clue why). In case you notice anything wrong please let me know

@Zelldon  Good Morning, I think all should be ok now. Tests should pass  and helm chart will work

@Zelldon what version will include this change? Is there an aloha version or something I can use?

@michelefa1988 is out now https://github.com/camunda/camunda-cloud-helm/releases/tag/ccsm-helm-0.0.22


fixing errors on pusher.py

added to config -
verify and cert parameter,
remove dc='main' - replaced to dc=dc.

Thanks!


Improve Contributor's section to correctly display data contributors.

As a user of the Data Browser I would like to be able to clearly see all the contributors of the dataset.
This can be achieved by:

Including all project.contributors.name in the list of Contributors
Hiding names of wranglers/curators from the list of Contributors. This can be done by hiding any name that matches project.contributors.project_role.ontology_label = data curator

Currently, the Browser shows this, which is confusing:

I would advocate for including project role in the display and keeping the HCA wrangler/other curator in the list so it is clear what role they played in this

I would appreciate having this fixed as soon as possible, as I have to send the link to the contributors, and they are very likely to share it.

@lauraclarke I believe the initial agreement was on having this information available upon downloading the project's files. I am not sure what value displaying the name of the wrangler/curator on the Browser brings to the Atlas at the stage of searching the datasets. Would it matter for a data user who wrangled a particular dataset?

This is about people getting appropriate credit for their work.
If the project role can be listed (and I feel it should be) then there is no reason not to display anyone listed as a curator as it is clear the role they played in the project getting into the DCP.

@lauraclarke I believe that with the new layout of the Project page listing the roles should be possible.
I am all for giving appropriate credit for one's work.

My feedback for the layout (new or old) is that unless you use superscript numbers/symbols to associate institution to person there is no way of telling who is from where. It would be nice for those links to be explicit
Otherwise, I like the update

Thanks @zperova
Can you tell me what is confusing about the current display? This currently displays all of the contributors listed in the contributors list that we get down from Azul.
Looking at the code for the contributors list:

We exclude any contributors where correspondingContributor == true (as they are listed in the "Contact" section.

We exclude any contributors where the projectRole is "human cell atlas wrangler" as about a year or more ago it was felt that we did not want to add HCA folks as contributors as they are not contributors to the original project but only the ingest into the HCA DCP and so we would be confusing folks by adding HCA staff to the contributors section.

Now, if we clearly display the role "Human Cell Atlas Wrangler" that could clear up the above concern.
We could also have a separate section for "HCA Ingest Contributors" to further clarify if the HCA Staff member was part of the original research or part of the project ingest.
I will split this into three tickets then:

Show project role #732
Include HCA contributors on the project page #733
Associate contributors with their institute #731

Ok then, @zperova are you ok with closing this now that we have the other 3 tickets?
Cheers and thanks for looking into this.
Dave

Hey, guys, I added my comment on ticket 733.

@NoopDog yes, thank you. Happy to have this closed now.


Fix record formatting in 1.58

Which issue does this PR close?
Closes #1177
Rationale for this change
Fixes failing tests
What changes are included in this PR?
There appears to have been a change in the debug formatting of floats in 1.58 that causes the debug output to change - in particular it prints in scientific notation where previously it did not. I can't find explicit mention of this in the release notes, but have confirmed it locally.
I've replicated the behavior tested by the tests, but I'm not entirely sure this is exactly what it would have previously output for all cases. The debug outputs are not stable.
Are there any user-facing changes?
No

Codecov Report

Merging #1178 (2069358) into master (231cf78) will increase coverage by 0.07%.
The diff coverage is 92.30%.

@@            Coverage Diff             @@
##           master    #1178      +/-   ##
==========================================
+ Coverage   82.59%   82.66%   +0.07%
==========================================
  Files         173      173
  Lines       50919    50902      -17
==========================================
+ Hits        42055    42077      +22
+ Misses       8864     8825      -39

Impacted Files
Coverage Δ

arrow/src/buffer/immutable.rs
98.92% <ø> (ø)

parquet/src/schema/printer.rs
72.47% <50.00%> (ø)

arrow/src/compute/kernels/arithmetic.rs
90.86% <73.33%> (+5.29%)
:arrow_up:

arrow/src/util/test_util.rs
92.04% <100.00%> (ø)

parquet/src/arrow/levels.rs
84.28% <100.00%> (+1.40%)
:arrow_up:

parquet/src/record/api.rs
91.65% <100.00%> (+0.04%)
:arrow_up:

parquet_derive/src/parquet_field.rs
65.98% <0.00%> (-0.23%)
:arrow_down:

arrow/src/array/builder.rs
86.62% <0.00%> (+0.11%)
:arrow_up:

arrow/src/array/transform/mod.rs
85.56% <0.00%> (+0.13%)
:arrow_up:

arrow/src/datatypes/datatype.rs
66.80% <0.00%> (+0.42%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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

Thanks @tustvold


Feat/0.0.1 beta.5

 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.3 out of 4 committers have signed the CLA.:white_check_mark: xuezier:white_check_mark: msyysm1211:white_check_mark: WinterLaker:x: kuanglukuanglu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Minor improvements

Minor but improvement still, thank you ! Just one thing to leave the possibility of an empty password and I'll merge.

@robinmoisson Updated! 😁

Perfect !


Private DNS + ACME

Can we also use private DNS? This way no internal infrastructure would leak to the outside.

[ ] Let's encrypt with private DNS?
[ ] Do we manage an internal zone ourselves?
[ ] How do we propagate internal DNS of our customers to our machines?

We would prefer to use a public hosted zone because of the complications of propagating internal DNS of our customers to our machines.
There's no simple solution for this that I'm aware of and it does require doing DNS updates in 2 steps:

update the private hosted zone on Route53 (A record);
update a Giant Swarm private DNS server (A record);

We would also have to deal with doing the update from the customer's infrastructure to ours.
An alternative would be to forward DNS requests to the customer's DNS server through the VPN we are going to have in place. The issue here is that we have a single VPN and we need to ensure that specific queries for a domain end up to the correct customer's DNS server.

We deployed two MCs (thunder & thor) configured with private DNS and a private ACME endpoint.
At the moment it's not possible to use Let's Encrypt with private DNS because the domain validation is only done over public DNS (you need to show that you own the domain). A mix of public and private DNS would be needed. We decided to not support such a configuration.


[SPARK-19994][SQL] Wrong outputOrdering for right/full outer smj

What changes were proposed in this pull request?
For right outer join, values of the left key will be filled with nulls if it can't match the value of the right key, so nullOrdering of the left key can't be guaranteed. We should output right key order instead of left key order.
For full outer join, neither left key nor right key guarantees nullOrdering. We should not output any ordering.
In tests, besides adding three test cases for left/right/full outer sort merge join, this patch also reorganizes code in PlannerSuite by putting together tests for Sort, and also extracts common logic in Sort tests into a method.
How was this patch tested?
Corresponding test cases are added.

Test build #74731 has started for PR 17331 at commit 8dc2c04.

cc @cloud-fan @hvanhovell

Test build #74731 has finished for PR 17331 at commit 8dc2c04.

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

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

Merged build finished. Test PASSed.

The bug was introduced when we merge SortMergeJoin and SortMergerOuterJoin
https://github.com/apache/spark/pull/11743/files#diff-b669f8cf35f1d2d786582f4d8c49ed14

Test build #74809 has started for PR 17331 at commit e4c41dc.

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/74809/
Test FAILed.

retest this please

Test build #74817 has started for PR 17331 at commit e4c41dc.

Test build #74817 has finished for PR 17331 at commit e4c41dc.

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

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

Merged build finished. Test FAILed.

retest this please

Test build #74835 has started for PR 17331 at commit e4c41dc.

Test build #74835 has finished for PR 17331 at commit e4c41dc.

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

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/74835/
Test PASSed.

thanks, merging to master/2.1/2.0!

It seems this breaks the build in 2.0 https://amplab.cs.berkeley.edu/jenkins/job/spark-branch-2.0-compile-maven-hadoop-2.7/lastBuild/console
[error] /home/jenkins/workspace/SparkPullRequestBuilder/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/SortMergeJoinExec.scala:87: not found: type InnerLike
[error]     case _: InnerLike | LeftExistence(_) => requiredOrders(leftKeys)
[error]

@HyukjinKwon branch2.0 doesn't have InnerLike, I'll fix this.

@wzhfy Thank you so much.


timing issue with sending comands

Hey man, really appreciate all this work, great job!
Been trying to get this to work with a Teensy 4.1 and an EVE4 display.
I've gotten pretty far but have noticed that ultimately I can only get the LVGL to run without crashing when I have the LV_LOG_LEVEL_TRACE set for logging.
My guess is the printing to the console is causing enough of a delay to keep things moving, but obviously there's a small issue buried somewhere.
One change that moved things along was to add a EVE_execute_cmd() after the inital EVE_end_cmd_burst() in the flush callback function. This seems to indicate that reading from the REG_CMD_DL maybe isn't possible until the cmd_burst has finished, which makes sense.
Obviously this could also be an issue with the Teensy 4.1 driver and perhaps how it's handling the SPI transactions, possibly not waiting until the DMA has completed transfer yet.
Any thoughts on this would be appreciated, thanks again for all the effort here, drawing looks so much smoother on the test cases I've run so far!

Maybe a helpful update... and apologies if you don't want this here, maybe an issue in the lvgl library instead?
I found that by removing sytem performance monitor, I was able to get things running without the LV_LOG_LEVEL_TRACE condition. Still having some other hiccups, but maybe there's something there to look at...

Also.. an obvious fix was turning off EVE_DMA for the SPI transactions in the EVE_cpp_target.cpp file... would be nice to use DMA.. but for the time being I'll see if things work the normal way for now, still seems like there's a chip select missing somewhere though

Thank you very much for considering my work, it has taken me many hours to make it work properly. I'll take a look at what you mentioned.
Again, thank you for your interest. Please wait a bit for the new version, and we will correct the necessary details.


defineModel does not trigger update for nested values

Vue version
3.4.33
Link to minimal reproduction
https://stackblitz.com/edit/vuejs-issues11420?file=src%2Fcomponents%2FMyComponent.vue,src%2FApp.vue,package.json&terminal=dev
Steps to reproduce

Open the Stackblitz
Click on "Set value"
Check the console
See nothing is logged (no watchEffect is triggered)

What is expected?
That nested values are properly updated when using defineModel
What is actually happening?
No update is triggered
System Info
Stackblitz

Any additional comments?
In the Vue playground, things work as expected 🤔 See this playground

In the playground, it only updates because the browser is iterating over the array when you log it to the console.
Not updating would be expected in normal code.

@LinusBorg Oh of course 🙈

Not updating would be expected in normal code, in my opinion, because the watchEffect doesn't depend on/track the array items.

I was under the assumption that nested reactivity works here as well (so if I e.g. watch the whole array, or even an object, then it would report when deeply nested values change.
How to achieve this behavior then? 🤔

Yep, that would be the way to go.

Alright! Thanks for the insight and the quick response 🙏


Actions firing twice? rrf/clearIntents and rrf/focus

I am assuming that this is not a bug and likely this is just a question but since I couldn't find documentation for rrf/clearIntents, I thought I'd ask here.
Inside of my componentDidMount lifecycle method, I make a call to a focus function that is in mapDispatchToProps().
focus: model => dispatch(actions.focus(model))
This works, but it seems to fire the focus event twice. I have a console.log inside of the componetDidMount method which only fires once. In my logs I see the following:
ComponentDidMount Fired!
action rrf/focus @ 23:06:01.897
action rrf/clearIntents @ 23:06:01.903
action rrf/focus @ 23:06:01.914
action rrf/clearIntents @ 23:06:01.922

The first focus action and the second focus action are nearly identical except that the second focus action has silent: true as a property.
The first clearIntents has intents: { type: "validate" } while the second has intents: { type: "rrf/focus", model: "rrf.addTask.name", value: undefined }
Is this expected behavior or is some misconfiguration causing the nearly duplicate actions to fire?

Oh, interesting. Can you create a CodePen?

Here's a very simple attempt at recreating what I do in my app, but its not quite the same and I'll have to think a little more on how to recreate it on code pen.
https://codepen.io/anon/pen/WEKYoB?editors=0010
I'm not sure which part is interesting to you. The clearIntents part or the focus part. I can't get the double clearIntents thing to happen but might be able to dig into it later if you can give me some idea of what exactly clearIntents is doing? The double focus part is firing but it looks like that might be normal?


Alk slitasje

Please review this half finished indicator called slitasje.

After the last commit the chaper renders locally. The final export stages are not yet coded. This is awaiting eaTools development.


[BUG] Examples do not compile

Problem
Self descriptive
Versions
Rust: 1.72
Piccolo: Both 0.1.0 and 0.1.1
Reasons
Iterpreter example
Changes in API. No reset method for Thread and more
Compiled example
The trait bounds are not satisfied

I believe that is because of the disconnect between cargo and the WIP version on github?

This is also partially my fault for not tagging the last release so that it would be easy to see that release in github. I'll close this when I release a new version on crates.io and properly tag it.

Great. Thanks a lot!


Adding site schedule to Init, AsXML, and CreateFromXML

Description
Schedules were not being parsed from API responses into the SiteConfiguration.  This caused calls to SaveSite to remove any existing schedules.  This commit stores the schedule elements into the SiteConfiguration, and dumps them back in when AsXML is called.
Note:  The Schedule XML elements remain as XML elements, they are not parsed into a dictionary attribute or anything.  This commit won't help much on creating or modifying schedules via the lib, but it makes it so that SaveSiteConfiguration doesn't destroy existing schedules.
Motivation and Context
I want to be able to update assets within the site without removing scan schedules.
How Has This Been Tested?
Created a scan schedule, used the library to modify the asset list, ensured that the previous schedules were not removed.
Types of changes
Bug Fix

Closing this in favor of #20 as discussed in #17


Add test case for rdar://64265821

rdar://64265821 [SR-12985] appears to have been fixed already. Let’s add a test case for it.

@swift-ci Please smoke test


Extract some code to function

/build-and-push-container

/build-and-push-container

/build-and-push-container

/build-and-push-container

/build-and-push-container

/build-and-push-container

/lgtm

/hold

/lgtm

/lgtm

/lgtm

/hold

/lgtm

/hold

/verified

/check-can-be-merged

/check-can-merge

/hold cancel
/verified cancel

/tox

/retest tox

/verified

/verified


Post-rebase git hook not triggered

vscode@ade7130aff68:/workspaces/challenge-registry$ git fetch upstream
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (1/1), 572 bytes | 572.00 KiB/s, done.
From https://github.com/Sage-Bionetworks/challenge-registry
   4a9a0f3..80fe0ca  main       -> upstream/main

vscode@ade7130aff68:/workspaces/challenge-registry$ git rebase upstream/main
Successfully rebased and updated refs/heads/main.

Added to Sprint 22.10. Get a final answer regarding the behavior of post-rebase hooks.

Rebasing currently does trigger yarn install --immutable.
The git hook post-checkout is called when rebasing.
The git hook post-rewrite is not called in my "simple" example.

The reason post-rewrite is not called may be because my rebase are fast-forward merge that do not involve rewrites. See this comment:

You are not rewriting any commits; you are fast-forwarding; so basically your branch just points to another commit. None of the commits are rewritten.

I was able to trigger the post-rewrite hook after resolving a rebase that had a conflict.
Conclusion
I need to keep the post-rewrite hook in case a conflict arise in one of the files that define package version.


Update download count in README.md

The package has now been downloaded more than 3 million times! :tada:

Fair enough. I just wasn't sure whether you were alright with pushing changes directly to main, even for something small like this :)

Yes, if it’s small uncontroversial things like this, no PR is needed. Just please check the diff first to make sure no unrelated changes have creeped in.


Error on raspberry pi

Hi there!
We received a bug report from a user trying to use the Angular CLI on a Raspberry Pi (which he uses for development): https://github.com/angular/angular-cli/issues/8548
From the error log, this seems like a Protractor or WebDriver issue:
pi@bm-rasp-2:~/Documents/some-project $ ng e2e
** NG Live Development Server is listening on localhost:49152, open your browser on http://localhost:49152/ **
Date: 2017-11-19T12:30:49.031Z
Hash: 56daaa30edebcfdf01d8
Time: 45818ms
chunk {inline} inline.bundle.js, inline.bundle.js.map (inline) 5.83 kB [entry] [rendered]
chunk {main} main.bundle.js, main.bundle.js.map (main) 8.47 kB [initial] [rendered]
chunk {polyfills} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 199 kB [initial] [rendered]
chunk {styles} styles.bundle.js, styles.bundle.js.map (styles) 11.3 kB [initial] [rendered]
chunk {vendor} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.61 MB [initial] [rendered]
(node:11165) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.

webpack: Compiled successfully.
[12:30:49] I/file_manager - creating folder /home/pi/Documents/some-project/node_modules/protractor/node_modules/webdriver-manager/selenium
[12:30:55] I/update - chromedriver: unzipping chromedriver_2.33.zip
[12:30:57] I/update - chromedriver: setting permissions to 0755 for /home/pi/Documents/some-project/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.33
[12:30:57] I/launcher - Running 1 instances of WebDriver
[12:30:57] I/direct - Using ChromeDriver directly...
[12:30:57] E/launcher - Server terminated early with status 2
[12:30:57] E/launcher - Error: Server terminated early with status 2
at earlyTermination.catch.e (/home/pi/Documents/some-project/node_modules/selenium-webdriver/remote/index.js:252:52)
at
at process._tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.createSession()
at Function.createSession (/home/pi/Documents/some-project/node_modules/selenium-webdriver/lib/webdriver.js:777:24)
at Function.createSession (/home/pi/Documents/some-project/node_modules/selenium-webdriver/chrome.js:709:29)
at Direct.getNewDriver (/home/pi/Documents/some-project/node_modules/protractor/lib/driverProviders/direct.ts:90:25)
at Runner.createBrowser (/home/pi/Documents/some-project/node_modules/protractor/lib/runner.ts:225:39)
at q.then.then (/home/pi/Documents/some-project/node_modules/protractor/lib/runner.ts:391:27)
at _fulfilled (/home/pi/Documents/some-project/node_modules/protractor/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/home/pi/Documents/some-project/node_modules/protractor/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/home/pi/Documents/some-project/node_modules/protractor/node_modules/q/q.js:796:13)
at /home/pi/Documents/some-project/node_modules/protractor/node_modules/q/q.js:556:49
at runSingle (/home/pi/Documents/some-project/node_modules/protractor/node_modules/q/q.js:137:13)
at flush (/home/pi/Documents/some-project/node_modules/protractor/node_modules/q/q.js:125:13)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
[12:30:57] E/launcher - Process exited with error code 199

Do you have official support for ARM processors? Do you recognize this log?
Cheers
hans

Closing all issues created by me that are older than 2 years as cleanup.


flutter doctor should consider symlink

Steps to reproduce
When using puro(GitHub) to manage flutter versions, I ran into an issue.
It uses symlink so that if you have different environments (different names) that are all the same Flutter/Dart version, it symlinks them to the same version to make sure you only have one version installed on the machine to reduce used space.
If you add one Flutter environment from it to the path, and also one Dart SDK, here is the output when running flutter doctor -v:
[!] Flutter (Channel stable, 3.24.3, on Microsoft Windows [Version 10.0.22631.4169], locale pt-BR)
    • Flutter version 3.24.3 on channel stable at C:\Users\felip_0vh5fa6\.puro\envs\stable\flutter
    ! Warning: `dart` on your path resolves to
      C:\Users\felip_0vh5fa6\.puro\shared\caches\fdf38910bad4a775c86b6c9a77b4856c3c26c8cd\dart-sdk\bin\dart.exe, which is
      not inside your current Flutter SDK checkout at C:\Users\felip_0vh5fa6\.puro\envs\stable\flutter. Consider adding
      C:\Users\felip_0vh5fa6\.puro\envs\stable\flutter\bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (9 days ago), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to
      perform update checks and upgrades.

### Everything else is fine, focus on the above

! Doctor found issues in 1 category.

Expected results
Since that Flutter environment I called stable is actually symlinking to that dart.exe it should not show that warning.

cc @pingbird

The current check does consider symlinks of the flutter sdk itself, but not of the directory that the binary sits in (in your case, the cache dir is a symlink to .puro\shared\caches\fdf38910bad4a775c86b6c9a77b4856c3c26c8cd)
https://github.com/flutter/flutter/blob/ec28b057f24314a01e3fe14ddd6db1556d18c09d/packages/flutter_tools/lib/src/doctor.dart#L637

Yes that would be it. Thanks, missed it!


Rnn variable seq lengths

Is it possible to use GatherElements to shift the sequences instead of implementing custom operators?

Can you comment somewhere in the code a summary of how the shifting algorithm works?

Can you comment somewhere in the code a summary of how the shifting algorithm works?

I will add some comments. Thanks


Offline behaviour (TransactionMessageAttempts / TransactionMessageRetryInterval / Queueing)

Hi!
Is the OCPP offline behaviour (considering the configuration parameters TransactionMessageAttempts and TransactionMessageRetryInterval and queueing of messages) already supported in the library?
Best regards!

Did you ever resolve this question?
It is related to my question #119 about handling loss of connection to the server

Did you ever resolve this question?
It is related to my question #119 about handling loss of connection to the server


libc: add CRC-8-ROHC support

Summary
libc: add CRC-8-ROHC support
Impact
none
Testing
sim

[Experimental Bot, please feedback here]
This PR appears incomplete based on the provided NuttX requirements.
Here's why:

Summary:

Lacks a clear explanation of why CRC-8-ROHC support is being added. What problem does it solve? What is its use case?
"libc: add CRC-8-ROHC support" is more of a title than a summary.

Impact:

While marking all as "none" might be accurate, it's best to provide brief justifications. For instance, "Impact on the user: None, as this is a new function added to libc and doesn't modify existing behavior."

Testing:

"sim" is too vague. Specify the simulator used (e.g., qemu-system-riscv32).
Crucially, the testing logs sections are empty. You must provide logs demonstrating the functionality before and after your change. This is essential for reviewers to understand what changed and verify its correctness.

To improve this PR:

Expand the Summary:  Explain the rationale behind adding CRC-8-ROHC.
Elaborate on Impact (even if "none"):  Briefly justify why each impact category is marked as "none."
Provide Detailed Testing Information:

Specify the exact simulator used.
Include actual testing logs showing the behavior before and after your code change.

Addressing these points will make your PR much stronger and increase the chances of it being reviewed and merged quickly.


difference between Run() and Start()

I try to run my program in win10.
When I invoke Run(), logs will be written in my file.
However, if I invoke Start(), logs won't be written in my file.
I think both function will run properly except the logs.
I wonder what happens?
These two functions look similar.

Some docs could find from source code
Run()
// Run should be called shortly after the program entry point.
// After Interface.Stop has finished running, Run will stop blocking.
// After Run stops blocking, the program must exit shortly after.
Run() error

Start()
// Start signals to the OS service manager the given service should start.
Start() error

The results I tested on Windows 10 are as follows:
I configured the service name as bthserv (a Windows system service, related to Bluetooth).
When Run () is called, func (p * program) Start (s service.Service) error will be called, and the service already in the system has not been started.
However, calling Start () will start the service already installed on the system and func (p * program) Start (s service.Service) error is not called.


Drop colors not working on exported themes

Describe the bug
Drop colors not working on exported themes
Expected

Exported

Should have been done with #16


feat: FakeData support recursive type

original FakeData() will cause stack overflow when it handling recursive type:
type BinaryTreeNode struct {
	Val   int
	Left  *BinaryTreeNode
	Right *BinaryTreeNode
}

func TestFakeData_RecursiveType(t *testing.T) {
	toJSON := func(val interface{}) string {
		data, _ := json.MarshalIndent(val, "", "  ")
		return string(data)
	}
	node1 := BinaryTreeNode{}
	if err := FakeData(&node1); err != nil {
		t.Errorf("%+v", err)
		t.FailNow()
	}
	t.Log("binary tree node:", toJSON(node1))
}

runtime: goroutine stack exceeds<PHONE_NUMBER>-byte limit
...
fatal error: stack overflow

Hi @wolf-joe
Can we utilize this proposal #160?
I'm thinking to re-use the capability to support this.
Let me know if it's possible, so I can merge that PR
cc @unkeep to assist

Hi @wolf-joe
Can we utilize this proposal #160? I'm thinking to re-use the capability to support this -- re: options
Let me know if it's possible, so I can merge that PR cc @unkeep to assist

you mean we can set recursionMaxDepth by option?

Actually, this is a critical, can not be an option

But I'm curious if it's possible to set the recursionMaxDepth by using option?

custom recursionMaxDepth is attractive idea for me, const value cannot handle every case. I will try another version base #160 this weekend, you can merge #160 if you want.

closing this because of this #168


mylivetracker emulator tk102 error

I use mylivetracker to test Traccar in local network
i choose emulator tk102
I try many port
I have tried ports 5006,5002,5001,5036,5022 without any luck
2015-04-09 19:51:18 DEBUG: [5013 <- <IP_ADDRESS>] - HEX:<PHONE_NUMBER>393138353131382c2c4750524d432c3138353131382e362c412c333335382e383331362c4e2c30303635332e313632352c572c322e382c3139372e34302c3039303431352c302e302c452c412a32432c462c696d65693a3335323931333036393137343133322c30362c2c463a332e3734562c302c3132322c
Any ideas on which port I should be using?
Thank you,

It is Xexun protocol. Please try port 5006.

Strange it's right ..
.
but I tried it before without success (maybe because before i checked all protocol false excepte tk102 with port 5006 )
.
Now it's ok .
.
thanks for your fast reply


update lv and other section

update due to FA workshop notes, specifically change the multiple factors example, some of the notation in pca, and wording elsewhere.

updated

updated other section


fix(swiper): reset initialized flag on disconnectedCallback

resolves https://github.com/nolimits4web/swiper/issues/6473
This PR updates the disconnectedCallback function to set this.initialized = false. That way the initialize function will not return early when it is called from connectedCallback.
I could not find where the E2E are in master. I see there are Cypress E2E tests in the v8 branch: https://github.com/nolimits4web/swiper/tree/v8/cypress/e2e/modules But it looks like they were moved/removed for v9. Happy to write a test if someone could point me in the direction of the tests.

Merged, thank you!


Fix: New commit in mfem-uberenv that point to working commit in spack

This is a hotfix.

LGTM

Merge asap to get Gitlab CI to work again.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

Merged in next for testing...


ipptool doesn't support sending out-of-band values in requests in tests, but should

We encountered an error when trying to create an ipptool .test file that contained the following directive for the request:
ATTR no-value finishings-col fakeval
# or
ATTR no-value finishings-col

The ipptool tool currently doesn't support this, but it should, so that these out-of-band values that are legitimate can be sent in requests for testing purposes.

[master aff4019] Add support for out-of-band attributes (Issue #37)

Syntax is:
ATTR out-of-band-tag attribute-name

and:
MEMBER out-of-band-tag member-name


Update dependencies

update Gradle to 7.1.1
update Kotlin to 1.6.10
update all libraries in library module and sample app module
update targetSdk and compileSdk to 32
replace jcenter with mavenCentral

It seems ok, will merge it.


Wrap return value of archive_write_data_block(3)

archive_write_data_block(3) might depending on the version of libarchive on success return 0 or the number of bytes written. archive_write_data_block however always expects 0 on success. See man:archive_write_data(3)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 3 (66.67%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.4%) to 85.536%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/lib.rs
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
1.4%

Covered Lines:
343

Relevant Lines:
401

💛  - Coveralls


Use HAProxy instead of Nginx for VHOSTs

The suggestion is to use HAProxy instead of Nginx as the reverse proxy for publicly facing domains.
Rationale
As I understand it, Dokku's plugin nginx-vhost uses Nginx to handle two things:

Mapping (sub)domain names to docker container ports
Configuration of SSL Termination

Some buildpacks build containers that include their own Nginx (for instance 1, 2, 3, 4), and having two Nginx proxies like this causes confusion, difficulties in troubleshooting and the necessity to duplicate some nginx configuration directives on the dokku host (for instance via https://github.com/neam/dokku-nginx-vhosts-custom-configuration#background)
This is not an issue with Heroku since it already performs this reverse proxying at the network layer (possibly already using HAProxy).
Example HAProxy configuration

Mapping (sub)domain names to docker container ports example configuration: http://serverfault.com/questions/105824/how-to-divert-traffic-based-on-hostname-using-haproxy/126799#126799
Configuration of SSL Termination: https://serversforhackers.com/haproxy-ssl-termation-pass-through/ (Personally, I prefer to configure SSL at the network layer via Cloudflare DNS)

But we do have Docker :) We can use either https://github.com/tutumcloud/tutum-docker-clusterproxy which supports virtual host mapping configured using environment variables or https://github.com/tnolet/haproxy-rest that can be configured by a RESTful API.

@motin I'd prefer a docker-based solution (since that's where we want to go anyhow), so the first one seems decent (though not great, given it's config). The second seems useful, though seems like a lot of extra stuff we may not need/want to setup.
Would you be willing to prototype a haproxy-vhosts plugin?

I'm going to close this. While I think it could be useful to have a proxy layer, it would be more difficult to allow people to customize their haproxy installs, so we'd be dropping some features in favor of a potentially more difficult to interface with service.
I'm still +1 on having a proxy layer of some sort, but think that it should not be in dokku core.

Please consider re-opening, I think there is a misunderstanding.
Why would people want to customize the haproxy installs? Nobody customizes their routing layer at heroku... It simply works and is out of the way. In contrast the Nginx used by Dokku is out of the way requiring a high level of expertise to be able to debug and workaround why file uploads, websockets and request/response headers are not working as expected.
Thus, using haproxy would make it much easier for people to customize their nginx configuration since there will only be one layer of nginx installations to customize.
If closing this, we should instead propose that people leave nginx out of their docker images and instead use buildpacks that only exposes for instance php-fpm. That would be more dockeresque (since only one public process per image has a public port), but that would make Dokku incompatible with most of the current Heroku buildpacks.

The only repo you listed that uses nginx with cause is the static one. CHH isn't maintained anymore afaik, and the official PHP buildpack should cover the use cases by Scalingo.
That said, here are a few warts we'd need to cover to use haproxy:

Custom domains
Adding SSL support (1.5 isn't in the Trusty 14.04 apt repos)

While I personally would like to use haproxy - perhaps in it's own docker container somehow - I don't see myself working on this. I also haven't personally seen any pain points with our current nginx setup - it's quite simple and easy to extend/hack upon. Are there places where the current setup falls on it's face for you?
As I asked before, are you willing to prototype a haproxy-vhosts plugin? If so, then we can move forward with potentially replacing nginx or offering haproxy as an alternative.

Re-opening. Let me know if you get around to a haproxy plugin, could be quite cool :)

The official Heroku PHP buildpack offers Nginx as well: https://github.com/heroku/heroku-buildpack-php - hopefully with cause.

While I personally would like to use haproxy - perhaps in it's own docker container somehow - I don't see myself working on this.

No pressure :)

I also haven't personally seen any pain points with our current nginx setup - it's quite simple and easy to extend/hack upon.

Easy if you know Nginx well. And most of the times, customizing the Dokku nginx layer requires root access to the Dokku host - which rhymes badly with the PaaS concept.

Are there places where the current setup falls on it's face for you?

Websockets, Configuring large file upload limits, Set up prerender.io nginx config, Request/Response header debugging (try setting up a memcache/redir/varnish cache with proxying based on headers and cache hit/miss), and more. Basically only simple HTTP proxying works without issues.

As I asked before, are you willing to prototype a haproxy-vhosts plugin? If so, then we can move forward with potentially replacing nginx or offering haproxy as an alternative.

Maybe, but first I will familiarize myself with Tutum and how applications can be deployed to production there. I am pursuing a workflow where Dokku is used to build the docker images, after which they are deployed to Tutum.

I have thought about this and to my understanding, Dokku is probably not the right platform for more complex use-cases where custom Nginx configuration is important. It took ages for Dokku to accept the PR that allows plugins to safely include configuration files without overwriting the whole nginx configuration over and over again, and as you say, most don’t even run into issues that requires custom Nginx configuration.
Furthermore, the use of HAProxy via a container is probably not relevant before the refactoring of Dokku to be 100% containerized is done. The power of Dokku is the simplicity of git-to-push simple web apps, not having complete control over your stack.
Instead, I'll be using Docker Stack (https://github.com/neam/docker-stack/), a pure Docker-based solution where it is trivial to adapt your php/nginx configuration on a per-app basis, versioned together with your application source code. Adding HAProxy to a Docker Stack is trivial as well, and deployment can be done on Tutum for high availability and unlimited scalability :)
Thanks for introducing me to Docker workflows, Dokku, and a special thanks to you @josegonzalez and the other new maintainers for putting Dokku on track again after the hiatus :)

beautiful post @motin

A few things:

I use Haproxy and Nginx interchangeably, and find setting up nginx much easier, though Haproxy more powerful. I'm able to do quite a few things, at scale, on both platforms.
Our target audience is the single-server user, who is likely to not have real issues with using Nginx. If they do, then nginx is certainly capable of performing those tasks, they just have to do a bit more work.
As of 0.6.0, you can implement your own proxy implementation to replace nginx-vhosts. I still think that having nginx is a better default than haproxy, but this allows users to do whatever they wish.
Dokku is certainly never going to solve all problems, and our users are free to go off on their own and maintain their own infrastructure. I'm happy to see that you've solved your problem in a way you are comfortable with.
Finally, commenting on issues that are a year+ old isn't really useful to anyone involved, and I'd much prefer users open up new issues if the problem is relevant.


Fix test-network path in simple-go

Updating credentials path pointing to
$FPC_PATH/samples/deployment/test-network.
Minor updates on test-network README.
Adding output to update-contection.sh to tell the user that something
happend.

Signed-off-by: Marcus Brandenburger<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #578
Special notes for your reviewer:
Does this PR introduce a user-facing changes and/or breaks backward compatability?:

@munapower This PR should fix your issue with the simple-go application. I also added some clarifications to the readme based on you feedback on RocketChat.
Can you please check that this PR resolves your issue? Thanks!

Closing as @munapower already has a fix for this.


ldap: Make sure an email isn't restricted for realm before registering it.

Followup of PR #11774.

@HarshitOnGitHub Thanks for working on this!
You can make the commit message a bit more concise here (and then maybe explain the acme/zulip changes):
ldap: Ensure email is valid for realm before registering.

I like that commit message update.  I also tweaked this to call validate_email_for_realm, mostly as safety against future refactoring.  Merged as a6e523f9e4310e8be67fafcac4a7955233192575, thanks @HarshitOnGitHub!


CF-xarray latitude handling

Pull Request Checklist:

[x] This PR addresses an already opened issue (for bug fixes / features)

This PR fixes #1179

[ ] Tests for the changes have been added (for bug fixes / features)

[ ] (If applicable) Documentation has been added / updated (for bug fixes / features)

[x] HISTORY.rst has been updated (with summary of main changes)

[x] Link to issue (:issue:number) and pull request (:pull:number) has been added

[x] The relevant author information has been added to AUTHORS.rst and .zenodo.json

What kind of change does this PR introduce?

Adds cf-xarray-based accessor functions for latitude and longitude
Implements these accessors for many agroclimatic indices that use lat and/or lon
Adds the option to send "north" or "south" for lat to cool_night_index
Cleans up a few bad docstrings

Does this PR introduce a breaking change?
Yes. The call signature for cool_night_index has been affected.
Other information:

@aulemahal It looks as though one of our upstream dependencies (the newest xarray@main? I can't reproduce a passing test for some reason) treats time-averaged data differently.
The failing test is due to the fact that latitude_temperature_index performs a temporal aggregation on the supplied tas file, and drops lots of variable metadata that cf_xarray relies on (for X and Y but not Z, oddly).
I'm not sure if this is a bug or a feature. Is this worth reporting upstream?
Before:
netcdf tas_Amon_CanESM2_rcp85_r1i1p1_200701-200712 {
dimensions:
        time = UNLIMITED ; // (12 currently)
        bnds = 2 ;
        lat = 64 ;
        lon = 128 ;
variables:
        double time(time) ;
                time:_FillValue = NaN ;
                time:bounds = "time_bnds" ;
                time:axis = "T" ;
                time:long_name = "time" ;
                time:standard_name = "time" ;
                time:units = "days since 1850-01-01" ;
                time:calendar = "365_day" ;
        double time_bnds(time, bnds) ;
                time_bnds:_FillValue = NaN ;
                time_bnds:coordinates = "height" ;
        double lat(lat) ;
                lat:_FillValue = NaN ;
                lat:bounds = "lat_bnds" ;
                lat:units = "degrees_north" ;
                lat:axis = "Y" ;
                lat:long_name = "latitude" ;
                lat:standard_name = "latitude" ;
        double lat_bnds(lat, bnds) ;
                lat_bnds:_FillValue = NaN ;
                lat_bnds:coordinates = "height" ;
        double lon(lon) ;
                lon:_FillValue = NaN ;
                lon:bounds = "lon_bnds" ;
                lon:units = "degrees_east" ;
                lon:axis = "X" ;
                lon:long_name = "longitude" ;
                lon:standard_name = "longitude" ;
        double lon_bnds(lon, bnds) ;
                lon_bnds:_FillValue = NaN ;
                lon_bnds:coordinates = "height" ;
        double height ;
                height:_FillValue = NaN ;
                height:units = "m" ;
                height:axis = "Z" ;
                height:positive = "up" ;
                height:long_name = "height" ;
                height:standard_name = "height" ;
        float tas(time, lat, lon) ;
                tas:_FillValue = 1.e+20f ;
                tas:standard_name = "air_temperature" ;
                tas:long_name = "Near-Surface Air Temperature" ;
                tas:units = "K" ;
                tas:original_name = "ST" ;
                tas:cell_methods = "time: mean (interval: 15 minutes)" ;
                tas:cell_measures = "area: areacella" ;
                tas:history = "2011-03-10T05:13:26Z altered by CMOR: Treated scalar dimension: \'height\'. 2011-03-10T05:13:26Z altered by CMOR: replaced missing value flag (1e+38) with standard missing value (1e+20)." ;
                tas:associated_files = "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_CanESM2_rcp85_r0i0p0.nc areacella: areacella_fx_CanESM2_rcp85_r0i0p0.nc" ;
                tas:coordinates = "height" ;
                tas:missing_value = 1.e+20f ;

After:
netcdf test_cf_lat_new {
dimensions:
        lat = 64 ;
        lon = 128 ;
        time = 11 ;
variables:
        double lat(lat) ;
                lat:_FillValue = NaN ;
        double lon(lon) ;
                lon:_FillValue = NaN ;
        double height ;
                height:_FillValue = NaN ;
                height:units = "m" ;
                height:axis = "Z" ;
                height:positive = "up" ;
                height:long_name = "height" ;
                height:standard_name = "height" ;
        int64 time(time) ;
                time:units = "days since 2007-01-01 00:00:00.000000" ;
                time:calendar = "noleap" ;
        float tas(time, lat, lon) ;
                tas:_FillValue = NaNf ;
                tas:coordinates = "height" ;

This is weird indeed! I wouldn't expect a resample on time to remove any information about the (untouched!) spatial dimensions...
It may be worth reporting upstream!
I agree with your fixes though. The indicator already manages the "keep_attrs" mechanism, so your changes shouldn't impact it's behaviour.

See: https://github.com/pydata/xarray/issues/7012

@christian-stepanek
If you're interested in verifying that this fix addresses your needs, please let us know. I believe the new behaviour should address the problems you were having. Best!

@christian-stepanek
If you're interested in verifying that this fix addresses your needs, please let us know. I believe the new behaviour should address the problems you were having. Best!

Sorry for coming back late. I downloaded the updated master branch as of today and can confirm that cool night index now successfully identifies latitudes by itself from the data set handed to the function. There is no more error message or warning if only tasmin is given as an argument to that function:
>>> df_tasmin = xr.open_dataset(filename).data_vars["t2min"]
>>> cool_night_index=xc.indices.cool_night_index(tasmin=df_tasmin)
>>>

Thanks a lot!!!


List Detail Full Player bug

Triggering the ListDetail view by pressing the "..." on the FullPlayer results in an error:

fixed by #769


Make invalid and missing error messages the same

In order to avoid username enumeration attacks on Signon, make all error
messages on the login screen the same.
The keys were gotten from:
https://github.com/plataformatec/devise/blob/4acb5043249d6fb5636d9f066aafcb0a11ba2765/config/locales/en.yml#L12-L15
but we had previously only overridden one of them.

:+1:

:+1: EFG already does something similar.

Thanks @boffbowsh!


Renaming

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (cfa39d5) 100.00% compared to head (94a0349) 100.00%.

:exclamation: Current head 94a0349 differs from pull request most recent head 3876c60. Consider uploading reports for the commit 3876c60 to get more accurate results

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #58   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            5         5
  Lines          130       130
  Branches         9         9
=========================================
  Hits           130       130

Impacted Files
Coverage Δ

src/hya/imports.py
100.00% <ø> (ø)

src/hya/registry.py
100.00% <ø> (ø)

src/hya/__init__.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Hardware back not working after displaying ads

Ionic version:  (check one with "x")
(For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x ] 3.x
[ ] 4.x
I'm submitting a ...  (check one with "x")
[ x] bug report
[ ] feature request
Current behavior:
After registering the hardware back then if ads are displayed, pressing the hardware back exits the app and does not bind to the normal behaviour
Expected behavior:
Hardware back should execute the registered fuctions
Steps to reproduce:

Create a new app with any template add.
Add the admob-free plugin
Register hardwarback to log something(Not to exit).
Display ads.
Press hardware back

Related code:
In the constructor of app.component.ts register the back handler
        platform.registerBackButtonAction(() => {
        console.log("Back Pressed");
      });

Display banner ads or interstitals then without pressing anything in the app press the back button.
The app will exit. We are not exiting the app in our handler.
APP REPO HERE.
A related issue can be seen here.
Ionic Info:
cli packages: (C:\Users\prantikv\AppData\Roaming\npm\node_modules)

    @ionic/cli-utils  : 1.12.0
    ionic (Ionic CLI) : 3.12.0

global packages:

    cordova (Cordova CLI) : 7.0.1

local packages:

    @ionic/app-scripts : 3.0.0
    Cordova Platforms  : android 6.0.0
    Ionic Framework    : ionic-angular 3.7.1

System:

    Android SDK Tools : 25.2.5
    Node              : v6.11.3
    npm               : 5.4.2
    OS                : Windows 10

Misc:

    backend : pro

This is not an issue with Ionic Framework as clarified in this issue . This clearly means the plugin is at fault.
Kindly solve this issue at the earliest.

@ratson This may be relating to this issue here.

@prantikv You repo does not showing any ads and the back button works as expected. Here is the repo I am testing.

This issue is not related to Ionic. Facing issue with latest version (0.14)


fix repeated tagged-to-i deopt

the comp_pivot variables were occasionally being used before being initialized.
the tagged-to-i operation would bail because of NaN being introduced when they
were used.
To test this, I modified the "simple.js" example to work as follows:
var ndarray = require("ndarray")
var ndsort = require("../sort.js")
var unpack = require("ndarray-unpack")

var N = 100000;
var NX = 3;
var NY = 100;
var arrays = [];
//Create an array
for (var z = 0; z < N; ++z) {
  var x = ndarray(new Float32Array(NY * NX), [NY, NX])

  for(var i=0; i<NY; ++i) {
    for(var j=0; j<NX; ++j) {
      x.set(i,j, Math.random())
    }
  }

  arrays.push(x);
}

//Sort x

for(var i = 0; i < N; ++i) {
  ndsort(arrays[i])
}

The remaining deopts appear to happen due to a combination of OSR and branching preventing full type collection. I roughly backported this patch to v0.10 node to diagnose this. You can apply my patch to a checkout of node v0.10 branch to get that info out of --code-comments.
Also, merry :christmas_tree:!

Wow!  I forgot I had this thing still open.  Thank you so much for this!


Expansion asserts

Let's discuss these asserts that Lukas recently commented on in a commit message:
    // TODO: Why can we make these assertions?
    assert!(forward_targets.len() + backward_targets.len() != 0);
    assert!(forward_index.is_some() || backward_index.is_some());

Both of these seem to me logically valid.
The first says that if the forward limit has no nontrivial cones, and the backward limit has no nontrivial cones, we can't expand.
The second exists because of the following phenomenon, which complicates the expansion code. When you expand, you do so with respect to a certain chosen vertex. Most of the time, this vertex will have a cone approaching it from below, and from above; the indices of these cones are stored in forward_index and backward_index. In some rare scenarios one of these cones can be absent, because the rewrite is identity-like in that neighbourhood; for example, imagine a half-braid, where two wires approach and overlap each other, and remain overlapped. However it should be impossible for both cones to be absent, since in that case the diagram is locally identity-like, and there is no vertex to expand.

We discussed this, these have been replaced with errors so we'll discover soon enough if it causes an issue.


Added explanation about the set +H

It's definitely not obvious to the casual reader. Thanks for pointing this out.

👍


Code cleanup: Use configurationBuilder or builder as name of parameters of type IConfigurationBuilder

cc @divega

:shipit:


: End-to-end numpyro-based sampling of cosmology and initial conditions on LSST footprint

Here is a detailed description of what we want to do:

Technical point: Gaussian shells, jitted jax, numpyro-based
realistic LSST photo-z distribution (fixed)
realistic LSST noise and footprint (LSST Y10 - Y1)
data generated from the forward model
sampling in two steps:

fixed latent variables, sampling cosmology
joint sampling of cosmology and latent variables

nside 1024,  l ~ O(2000)
simulated shear + IA

Technical things that need to be solved:

[ ] Building a baseline model (@AZhou00 will open a PR)
[ ] Slow jitting of the forward (maybe we need to jit the SHT)
[ ] Adding survey realism (@nataliaporqueres  will prototype a forward model with footprint+noise, etc.)


Error: Can't load icon.

On a fresh install of both Windows 10, and the Virtual desktop enhancer, whenever it loads, or I reload the settings, a small box pops up with the following text:
virtual-desktop-enhancer.exe
Error: Can't load icon.
Specifically: icons/+.ico
Line # 521: Menu,Tray,Icon,icons/+ico
The current thread will exit.
and then an OK button, which when pressed kills the process...

I've just encountered this on my first try as well (fresh Windows 10 Home x64, fresh install of virtual-desktop-enhancer.exe, first run: same error dialog).
Where is the "trouble shooting" guide?  My searches aren't finding it.

OK, I figured this out.  TL;DR: you need everything in the zip, not just the *.exe.
When I saw the zip's contents, I thought it was the whole github project contents (I didn't look closely).  When I read the Installation Instructions and they said "...you can run it just by executing virtual-desktop-enhancer.exe...", I assumed too much and though I could just move the *.exe to a separate folder (instead of leaving it in the Downloads subfolder).
After reading about changing the settings and realized I missed the settings.ini, and then looking at icon packs and realizing I left that folder behing, I then checked the libraries folder and realized I skipped dependencies.
So I moved the entire folder and restarted the program and now the error is gone and I presume everything will work fine.
I've re-read the instructions and nothing in there really suggested I needed only the *.exe, so that is on me.
I don't know if this is what is stopping @Callindril as well.


UX spec for Home Screen and Navigation

What and why
As an OFF team member I want a specification of the UX to know what Home Screen and Navigation we are aiming for
Acceptance criteria

A set of docs and images describing the UX
Eng, product and UX approved

How are we going to demo

A walkthrough

Note

We are aiming to do user testing on the ux and may need to make changes that will be modelled as separate issues

fixed.


fix bug where old users could see broken presence indicators on new users

Fixes #24.
See the first example in the publish-relations performance notes.
The problem is that this callback can be called with the board.members variable unset, for example when a board's modifiedAt field is changed. This can cause the presences cursor to no longer work.

I'ved added a commit that additionally fixes #15.

@xet7 do you have any thoughts on this? I've tested it a bunch locally and it looks good. I'd like to get this merged soon and ship the bugfix to our users.

@dwrensha
I'll test it soon and then merge it if it looks Ok.

@dwrensha
Ok this works, thanks!


Not able to generate images

Is there some configuration changes that are required?

Link: https://openxlab.org.cn/apps/detail/WillowBreeze/InternLM-XComposer

We provide the Gradio demo scripts for previous models, you can build the radio demo on your own machine.


Zipkin exporter

Hello,
I just want to provide some more info about Zipkin exporter because it's in a grey area right now for the web browser support.
In the ZipkinExporterService, it's is stated that ZipkinExporter isn't operationnal for the moment in web application. which isn't 100% true.
The Opentelemetry Zipkin exporter is based on few node.js global modules such as http and https which should make the library incompatible with the browser. Nevertheless, webpack provides some polyfills that makes it possible to run the Zipkin exporter in the browser.
By default, Angular's webpack configuration turns off node polyfills (node: false) but it's possible to extend the webpack configuration to turn it on thus making Zipkin exporter work.
To do so, some simple steps are required:

Install the npm package @angular-builders/custom-webpack
Change the project build builder in angular.json (projects..architect.build.builder)

-- "builder": "@angular-devkit/build-angular:browser",
++ "builder": "@angular-builders/custom-webpack:browser",

Add a customWebpackConfig in the project build options in angular.json (projects..architect.build.options):

++  "customWebpackConfig": {
++    "path": "./webpack.config-extension.js"
++  },
    "aot": true,
    "progress": true,
    "extractCss": true,
    "outputPath": "dist",
  ...

(Optional) Change the project serve builder in angular.json (projects..architect.serve.builder)

-- "builder": "@angular-devkit/build-angular:dev-server",
++ "builder": "@angular-builders/custom-webpack:dev-server",

Add webpack.config-extension.js at the same level than angular.json

module.exports = {
  node: {
    global: true
  }
}

With this manipulation, the module @opentelemetry/exporter-zipkin can be used in Angular (and, by extension, in the browser).
It is important to note that I don't know the possible side-effects of allowing node globals in the webpack configuration and the impact on the Angular app.

Hi,
Thanks for that!
I started a branch with your suggestion => https://github.com/jufab/opentelemetry-angular-interceptor/tree/zipkin_webpack
It works
But this modification is possible only on the application, not on the library. So if i insert that, this library will be not compatible with a default angular application (ng new)
I prefer to wait for a zipkin "browser" compatible.
I conserve this branch for the moment  ;)

This is indeed purely informative, it's a good way to "pre-test" the zipkin exporter and for users to have some pieces of information on how to setup the zipkin exporter with an angular project.
I totally understand and agree with you, it's best to wait for the official browser support.

FYI, Zipkin is officially supported in browser now: https://github.com/open-telemetry/opentelemetry-js/pull/1399#event-3726270877

Thanks.
I just wait the next release ;)


Custom Item name not being used.

What is your Quests version / build number (do not say "latest")?
Quests-4.8.2.jar
Describe the problem and how to replicate it.
For one of my quests, I require the player to craft a custom item named "Coal Prestige Core" and the quest understands and only accepts the custom item, but it tells the player to craft a Coal Block. Is there a way to get it to show the Custom Item name instead? Below is the config for the entire stage. I used the ingame quest editor to add the item and it displays correctly. It just tells the player to craft a Coal Block though.
    '5':
      items-to-craft:
      - ==: org.bukkit.inventory.ItemStack
        v: 3337
        type: COAL_BLOCK
        meta:
          ==: ItemMeta
          meta-type: UNSPECIFIC
          display-name: '{"extra":[{"bold":true,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"dark_gray","text":"Coal
            Prestige Core"}],"text":""}'
          enchants:
            DURABILITY: 1
          repair-cost: 1

Any console errors to share?
No console errors

If applicable, can you provide an example quest from quests.yml?
This is the entire quest config, but the only issue is with the name showing as coal block for stage 5 in stead of Coal Prestige Core.

  custom1:
    name: Coal Rank
    ask-message: Challenge objectives!
    finish-message: Well done!
    npc-giver-uuid: 593a3e48-d429-49b2-b719-ff262c9dd507
    requirements:
      money: 50000
      permissions:
      - prefix.0.&7&l[Member]
    stages:
      ordered:
        '1':
          break-block-durability: []
          items-to-craft:
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: STONE_SWORD
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: STONE_PICKAXE
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: STONE_AXE
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: STONE_SHOVEL
          start-message: You'll want something better than the starter tools to begin.
        '2':
          mobs-to-kill:
          - Cow
          mob-amounts:
          - 16
          start-message: Kill a few cows to make some food and armor.
        '3':
          items-to-craft:
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: LEATHER_HELMET
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: LEATHER_CHESTPLATE
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: LEATHER_LEGGINGS
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: LEATHER_BOOTS
          items-to-smelt:
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: COOKED_BEEF
            amount: 16
          start-message: Time to make that armor and food for the journey ahead.
        '4':
          break-block-names:
          - COAL_ORE
          break-block-amounts:
          - 256
          break-block-durability:
          - 0
          start-message: I know it's a lot of coal. You'll thank me for it later.
        '5':
          items-to-craft:
          - ==: org.bukkit.inventory.ItemStack
            v: 3337
            type: COAL_BLOCK
            meta:
              ==: ItemMeta
              meta-type: UNSPECIFIC
              display-name: '{"extra":[{"bold":true,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"dark_gray","text":"Coal
                Prestige Core"}],"text":""}'
              enchants:
                DURABILITY: 1
              repair-cost: 1
    rewards:
      commands:
      - lp user <player> parent set default
      - lp user <player> parent set coal
    planner:
      override: false
    options:
      allow-commands: true
      allow-quitting: true
      ignore-silk-touch: true
      use-parties-plugin: true
      share-progress-level: 1
      same-quest-only: true
      share-distance: 0.0
      handle-offline-players: false
      ignore-block-replace: true

Thanks for the report. Just to be certain, are you using a Jenkins build (https://ci.codemc.io/job/PikaMug/job/Quests/) or the current release?

I

Thanks for the report. Just to be certain, are you using a Jenkins build (https://ci.codemc.io/job/PikaMug/job/Quests/) or the current release?

I don't know what a Jenkins build is. I downloaded the current release from Spigot if that answers your question.

[20:40:44] [Craft Scheduler Thread - 142/WARN]: me.blackvein.quests.exceptions.QuestFormatException: Requirement quests has invalid quest ID Добыча материалов, see quest of ID custom13
[20:40:44] [Craft Scheduler Thread - 142/WARN]:         at me.blackvein.quests.Quests.loadQuestRequirements(Quests.java:2431)
[20:40:44] [Craft Scheduler Thread - 142/WARN]:         at me.blackvein.quests.Quests.loadQuests(Quests.java:1970)
[20:40:44] [Craft Scheduler Thread - 142/WARN]:         at me.blackvein.quests.Quests.lambda$reload$4(Quests.java:1903)
[20:40:44] [Craft Scheduler Thread - 142/WARN]:         at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftTask.run(CraftTask.java:82)
[20:40:44] [Craft Scheduler Thread - 142/WARN]:         at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
[20:40:44] [Craft Scheduler Thread - 142/WARN]:         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[20:40:44] [Craft Scheduler Thread - 142/WARN]:         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[20:40:44] [Craft Scheduler Thread - 142/WARN]:         at java.base/java.lang.Thread.run(Thread.java:1589)

@Triple3Aaron Jenkins builds are development releases. Please try https://ci.codemc.io/job/PikaMug/job/Quests/420/ and let us know if the issue appears resolved.


Adding support for escaped parentheses in Route Paths

Our app has slightly different urls than most, but they are still valid to all browsers. We use parentheses to surround our entity ids. ex: #/Order(1).
First time pull request ever, let me know what I can do/fix.
Here's the gist of what I would like written in one of the tests:
describe('and a param is parentheses escaped with additional param', function () {
    const pattern = '/comments\\(:id\\)/:mode'

    it('returns the correct path when param is supplied', function () {
        expect(formatPattern(pattern, { id:'123', mode: 'edit' })).toEqual('/comments(123)/edit')
    })
})

My inclination is to not merge this - we could only release this for 1.1.x anyway, and hopefully by then we will have merged https://github.com/rackt/react-router/issues/2286.

@Zoxive You okay with that? I just think we get a lot more by factoring out the pattern matching.

@taion Yes as long as something equivalent is on the roadmap I'm happy.

Keep an eye on https://github.com/itajaja/url-matcher, then, and consider PRing to there. I think it's heading in a pretty good direction. Going to close this PR for now.

I have the same problem with an app right now. I need URLs that contain round brackets - a hacky workaround is to use the '*' but I'd love to see a proper implementation. What was wrong again with this PR?


Regression in 0.70.0 with exact objects

Hello dear flow maintainers!
I discovered something that seems like a bug; I am able to assign an object with more keys than it should have to an exact type. (Flow try link)
type A = {a: 1};
const a: A = {a: 1, b: 2};   // Works with no error, expected

const b: $Exact<A> = {...a}; // Works with no error, unexpected?

This bug is first present in 0.70.0. I think it may have been introduced in 1916b7d392feb254eb6ecdf392ad9c93651dd070[0]
[0] https://github.com/facebook/flow/commit/1916b7d392feb254eb6ecdf392ad9c93651dd070#diff-3bbc1792ef10ae5965c3bf2776988e14R2284

This is fixed a while ago.


API nomenclature improvements

Hi,
While working through porting Mirror project to MLAPI, I noticed MLAPI is a bit too verbose and we can improve the API by making more concise and adding a couple of APIs.
I understand that MAPI does not use Weaver, therefore, it's more verbose but good naming can help us a lot throughout the development.
Here is the reason behind for the current API change requests.

I think API doesn't always have to be grammatically correct, as long as it's consistent and the meaning is clear. Grammatically correct naming can often be a bit too long and it often makes the editing difficult as a function with many arguments can make the text wrap around to the next line.

Having said that here are my proposals.
Regarding Invoke* APIs,

Invoke*Rpc means just calling Rpc and the meaning will not change by just call it without Invoke in front of it.
"OnEveryone" can be shortened by "All"
"OnEveryoneExcept" can be shortened by just "Except" as it will always be called on everyone and that there is no conflict.

So, the new proposed changes are the following.

InvokeClientRpcOnEveryone(...)   ->  RpcClientAll(...)
InvokeClientRpcOnEveryonExecpt(...)   ->  RpcClientExcept(...)
InvokeClientRpc(...) -> RpcClient(...)
InvokeServerRpc(...) -> RpcServer(...)

Regarding pass-through RPC,
Right now, you have to look at [ClientRPC] to know if it's pass-through call or not. It's a bit hard to remember by just looking at the function all.
Also, ClientRPC can either be called from Client(passthrough) and Server. So, having the pass-through attribute in the spec is semantically wrong if you want to call it from the server.
Therefore, I request to add the following new APIs to the pass-through RPC version. We just change Rpc* to Rptc* (short for RemotePassThroughCall)

InvokeClientRpcOnEveryone   ->  RptcClientAll
InvokeClientRpcOnEveryonExecpt   ->  RptcClientExcept

Lastly, while going to the code, the word "Network" sometimes called "Networked", "Networking", or "Network" for no clear reasons. I guess NetworedBehaviour is more grammatically correct but the word Network is more common in programming. Mixing the words makes it a bit hard to remember. I propose to consolidate Networking*, Networked* to just Network*
for example,

NetworkedBehaviour -> NetworkBehaviour
NetwokingManager -> NetworkManager

Thanks.

I am a fan of the two first suggestions. The last part, of NetworkedBehaviour and NetworkingManager was originally chosen for two reasons:

Its more correct in my eyes.
It doesnt conflict with UNET

Hi,  I'm glad that you liked my first two suggestions.
My suggestion will make the invoker a lot shorter. Users will just have to remember when they see, Rpc*, it's invoking a Rpc.  ^^
Yeah, regarding Rptc, I thought about adding Passthrough as an argument, but it will confuse the function overloader as you already have many overloaded functions. And also I have thought about adding them to the function name itself, such as RpcClientAll_Passthrough but it wasn't pretty.
If you want to keep it short and make it less confusing, we can name it PRpc or Prpc. But either way, invoking Rpc is at the heart of MLAPI and people will not get confused and having its own Passthrough API makes more sense than relying on Attributes Parameters.
Yeah, I mentioned that Networked*, or Networking* may be more correct grammatically but Network* is more common in programming terms in my opinion. I guess it's not really that important to change them but I prefer having them consolidated so that it's consistent at least. I also think keeping the name the same as Unet is a good thing because it makes the porting easier. Again, it's not that important compared to making APIs concise.
Cheers!

Do we even need a own API for passthrough? MLAPI will know its to be passed through by reading its targets. It could however be a bit more clear to have its own Invoke call.
The Passthrough attribute has to stay however. It’s for security reasons. Otherwise you have to manually enforce disabling passthrough for all rpcs making their contexts insecure by default.
NetworkingManager is fair to change to NetworkManager.
NetworkedBehaviour and NetworkedObject does not make sense though in my oppinion. Their name currently describe what they are. We would loose that by replacing it with Network.

One of the (most)difficulties in programming multiplayer for me is to remember what context am I in. Am I a server, or a client? Is this a server callback or client callback? Reading from the code sometimes it's not clear and you will often have to run the simulation to figure out the context.  Or you are assuming the wrong context that often leads to bugs.
Having the API to clarify the context will make network programming a lot easier. When you are calling from my suggested Passthrough API, it means, "I'm calling from the client" and it's very clear.
Right now, I have to look at the Attributes to figure out if it's a passthrough call and what's even worse is that there is nothing that prevents the server to call the same function. When the server calls it, it's no longer works as passthrough but just a normal ClientRpc.
I guess my point is this. Multiplayer programming is hard and it can get really confusing. If we can make the context clear, it can help the multiplayer programming much easier. I think it's more desirable than having one swiss-army knife that does many things in one shape. Swissarmy is more desirable in Singleplayer, but I can't say the same thing in Multiplayer because it can get really confusing.
Yeah, I have to think about security but here is what I think. Passthrough call should not be used at all if you are concerned about security.  I guess we will use the passthrough call for two purposes. 1. Something we don't care about security such as sending animation parameters. 2. Quick prototyping, and later it should be replaced it with normal Rpcs.
Cheers!

This issue has been closed because a number of the aspects have been addressed. Additional change requests, as well as conceptual new feature requests should be filed in new issues.


[ERROR] [edge,stack] [message: stack deployment failed] [error: "edge_StackGatewayDEV2" is not a valid project name

BUG REPORT INFORMATION
Description
Deploying a stack to an edge group creates an error:
2022/10/07 15:46:37 [ERROR] [edge,stack] [message: stack deployment failed] [error: "edge_StackGatewayDEV2" is not a valid project name
Steps to reproduce the issue:

Have some edge devices configured
Create an edge group with the required edge devices
Create a new stack (I have seen other reports that using _ or - would create this issue but my base name does not have it.
Hit update stack

Any other info e.g. Why do you consider this to be a bug? What did you expect to happen instead?
The upper mentionned stack name is StackGatewayDEV2. Portainer try to use "edge_" before it and it fails.
It may be a Docker engine change that portainer does not take account of.
Technical details:

Portainer version: 2.15.1
Target Docker version (the host/cluster you manage): 20.10.18
Platform (windows/linux): Linux
Command used to start Portainer (docker run -p 9443:9443 portainer/portainer):

+1 running 2.15.1 also, docker 20.10.17, linux/ubuntu
Just went to redeploy an existing stack after making a couple changes to some lines and this same error happened

+1 running 2.15.1 also, docker 20.10.17, linux/ubuntu
Just went to redeploy an existing stack after making a couple changes to some lines and this same error happened

Have been able to resolve by destroying the old stack and creating new :)

@bensmithy123
Thank you for the updates.  I am glad to hear this has been resolved and you are able to move forward.
Thanks!

@tarmacx might still be having issues? Apologies for hijacking the threat and making it appear resolved!

No I still get the same error.
I also have an othe rissue that may be related ? I upgraded from 2.12 and my edges devices are not showing un the "Edge Devices" section. But they do show in "Environments"

Can someone try to give me at least a starting point to explore further a solution to this ?

@tarmacx
We are working on reproducing this issue.  I will update you as I learn more.
Thanks!

@tarmacx
docker compose does not like CAPS in the name. Does this happen when you use all lower case for your stack name.
Docker Swarm stacks do not have this issue.
I'll log something internally to have these stack names normalised.
We do append edge_ to the stack name.

I did not have this issue before upgrading:

+1 running 2.15.1 also, docker 20.10.17, linux/ubuntu
Just went to redeploy an existing stack after making a couple changes to some lines and this same error happened

Have been able to resolve by destroying the old stack and creating new :)

How did you destroy the stack ?
I got that :

Thanks

Portainer as of 2.18.0 should now prevent you from creating an Edge Stack with invalid characters.


⚠ Bofrost.at has degraded performance

In 3c7a049, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1781 ms

Resolved: Bofrost.at performance has improved in 009572f after 17 minutes.