Check for variance changes

I just learned about variance in Rust, and was struck by its potential to cause unintended API breakages.
Does this tool check for changes in a type's variance over its lifetime and type parameters?
For example, a generic struct of the form TheStruct<T> can go from being "covariant in T" to being "invariant in T" simply because a hidden field was added to the struct. Same with lifetime parameters: AnotherStruct<'a> can go from being "covariant in 'a" to being "invariant in 'a".
From https://doc.rust-lang.org/reference/subtyping.html:

The variance of other struct, enum, and union types is decided by looking at the variance of the types of their fields.

Variance is an aspect of a type's API that is not immediately obvious, yet it has the potential to break existing code when it changes.
Here's an example where crate_1_0_0::TheStruct is covariant in T, which allows the function cast_return_value_1_0_0 to compile successfully. But in crate_1_0_1, TheStruct now has a Mutex field which causes TheStruct to become invariant in T, and as a result, cast_return_value_1_0_1 no longer compiles.
mod crate_1_0_0 {
    pub struct TheStruct<T> {
        inner: T,
    }
    impl<T> TheStruct<T> {
        pub fn new(inner: T) -> Self {
            Self { inner }
        }
        pub fn into_inner(self) -> T {
            self.inner
        }
    }
}

mod crate_1_0_1 {
    pub struct TheStruct<T> {
        inner: std::sync::Mutex<T>,
    }
    impl<T> TheStruct<T> {
        pub fn new(inner: T) -> Self {
            Self {
                inner: std::sync::Mutex::new(inner),
            }
        }
        pub fn into_inner(self) -> T {
            self.inner.into_inner().unwrap()
        }
    }
}

// Compiles successfully
fn cast_return_value_1_0_0<'a>(
    x: crate_1_0_0::TheStruct<&'a str>,
    y: crate_1_0_0::TheStruct<&'static str>,
) -> crate_1_0_0::TheStruct<&'a str> {
    println!("Discarding: {}", x.into_inner());
    y
}

// Does not compile
fn cast_return_value_1_0_1<'a>(
    x: crate_1_0_1::TheStruct<&'a str>,
    y: crate_1_0_1::TheStruct<&'static str>,
) -> crate_1_0_1::TheStruct<&'a str> {
    println!("Discarding: {}", x.into_inner());
    y
}

fn main() {
    let s = String::from("Short-lived string");
    let struct_short_lived = crate_1_0_0::TheStruct::new(s.as_str());
    let struct_static = crate_1_0_0::TheStruct::new("Static string");
    let one = cast_return_value_1_0_0(struct_short_lived, struct_static);
    println!("Remaining: {}", one.into_inner());

    let s = String::from("Short-lived string");
    let struct_short_lived = crate_1_0_1::TheStruct::new(s.as_str());
    let struct_static = crate_1_0_1::TheStruct::new("Static string");
    let one = cast_return_value_1_0_1(struct_short_lived, struct_static);
    println!("Remaining: {}", one.into_inner());
}

This prints:
error: lifetime may not live long enough
  --> src/main.rs:46:5
   |
41 | fn cast_return_value_1_0_1<'a>(
   |                            -- lifetime `'a` defined here
...
46 |     y
   |     ^ returning this value requires that `'a` must outlive `'static`
   |
   = note: requirement occurs because of the type `crate_1_0_1::TheStruct<&str>`, which makes the generic argument `&str` invariant
   = note: the struct `crate_1_0_1::TheStruct<T>` is invariant over the parameter `T`
   = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance

In practice, one easy way to depend on a type's variance is when using self_cell or yoke to make self-referential types. These crates require the "dependent" type to be covariant in its lifetime parameter. So if your dependent type is struct Dependent<'a> { parsed_object: object::read::File<'a>, }, you're now at the mercy of the object::read::File type and your code will break if the object::File type changes to be no longer covariant in its lifetime parameter.


I cant use native audio in my server

I can't use native audio on my server but I also cant use 2d or 3d because when I use them I can hear the whole server all the time, so what can I do?

?


Seek in write mode [io.UnsupportedOperation: seek]

with smart_open.open('s3://...', 'wb') as fout:     fout.seek(0)
I can seek in read mode but not write. It works with primitive open.
I am getting io.UnsupportedOperation: seek

I'm not sure if it's possible to support this with boto3 (the library we use for connecting to S3) or even S3 in general.
The stream abstraction that smart_open offers is just that: an abstraction. Under the covers, smart_open performs a multi-part file upload. From what I understand, it isn't possible to change arbitrary parts of an existing object on S3: you'd have to overwrite it completely.
Please let me know if I'm wrong (or if you'd like to take this up as a PR).


docker daemon does not guarantee content digests consistent with a registry

https://github.com/pivotal/image-relocation/pull/18 relied on the docker daemon providing content digests consistent with those from a registry. However, it appears this isn't guaranteed. So the current behaviour just happens to work but could fail in future.

Fixed by https://github.com/pivotal/image-relocation/pull/21 (which reverts https://github.com/pivotal/image-relocation/pull/18).


Tasks getting killed on Jasmin due to stratify being called from esmvalcore.preprocessor._regrid.extract_levels() preprocessor

On jasmin, jobs are being killed when the following code runs:
import iris
from esmvalcore.preprocessor._regrid import extract_levels

fn = "/badc/cmip6/data/CMIP6/CMIP/MOHC/UKESM1-0-LL/historical/r2i1p1f2/Omon/po4/gn/v20190708/po4_Omon_UKESM1-0-LL_historical_r2i1p1f2_gn_200001-201412.nc"

cube= iris.load_cube(fn)
c2 = extract_levels(cube, scheme='nearest', levels = [0.1 ,])

This occurs with several versions of esmvalcore (2.8.0, 2.8.1, 2.9.0).
The error occurs for all four schemes and a range of level values (0.0, 0.1, 0.5)
c2 = extract_levels(cube, scheme='nearest', levels = [0.1 ,]) # killled
c2 = extract_levels(cube, scheme='nearest', levels = [0.5 ,])# killled
c2 = extract_levels(cube, scheme='linear', levels = [0.5 ,]) # killled
c2 = extract_levels(cube, scheme='nearest_extrapolate', levels = [0.5 ,]) # killled
c2 = extract_levels(cube, scheme='linear_extrapolate', levels = [0.5 ,])# killled

In all cases, the error occurs here: https://github.com/ESMValGroup/ESMValCore/blob/1101d36e3f343ec823842ea7c3f4b941ee942a89/esmvalcore/preprocessor/_regrid.py#L870
    # Now perform the actual vertical interpolation.
    new_data = stratify.interpolate(levels,
                                    src_levels_broadcast,
                                    cube.core_data(),
                                    axis=z_axis,
                                    interpolation=interpolation,
                                    extrapolation=extrapolation)

Stratify (version '0.3.0') is a c/python interface wrapper and it previously caused trouble. It is not lazy so it may try to load 120GB files into memory and other issues like that. My previous solution to this problem was the write my own preprocessor:
https://github.com/ESMValGroup/ESMValCore/issues/1039
https://github.com/ESMValGroup/ESMValCore/pull/1048
Which has been abandoned, but I'm tempted to bring it back. (The deadline for this piece of work is 24th july!)
This is an extension of the discussion here: https://github.com/ESMValGroup/ESMValTool/issues/3239

stratify is lazy since v0.3.0 and the extract_levels preprocessor is lazy in the ESMValCore development branch and release candidate ESMValCore v2.9.0rc1. The iris function broadcast_to_shape is now lazy (https://github.com/SciTools/iris/pull/5359), but it is not yet in a released version of iris.
You could try installing iris from source (clone the repository and run pip install .) or wait for the upcoming iris 3.6.1 release.

Okay, that's not the problem either!
Just loading the data is enough for it to get killed!
import iris
# from esmvalcore.preprocessor._regrid import extract_levels
from esmvalcore.preprocessor._volume import extract_surface

fn = "/badc/cmip6/data/CMIP6/CMIP/MOHC/UKESM1-0-LL/historical/r2i1p1f2/Omon/po4/gn/v20190708/po4_Omon_UKESM1-0-LL_historical_r2i1p1f2_gn_200001-201412.nc"
print('load cube:', fn)
cube= iris.load_cube(fn)

print(cube)
print(cube.data[:,0,:,:])

Also results in Killed. It's not @bjlittle's stratify's fault.
Just loading this data file breaks.

See also https://github.com/ESMValGroup/ESMValCore/issues/2114

This works, thanks! .... but this returns a dask array, which is not what I want. I just want to extract the surface layer of a cube, returning a cube (convert 4D -> 3D, or 3D -> 2D). extract_layer is unable to do that for these files either!

Also, I should say that I've tried moving the preprocessor order around and I had the same problem with regrid as well. I think that likely also realises the data, @bouweandela.

iris=3.6.1 is now available on conda-forge and it gets pulled in our environment, so if you can try regenerating the env and use it, see if that fixes your issue @ledm :beer:

Just to confirm my email @valeriupredoi, updating to iris=3.6.1  does not solve this issue.
Method:
mamba install iris=3.6.1

in ESMValCore:
pip install --editable '.[develop]'

Then in an interactive python script:
>>> import iris
>>> iris.__version__
'3.6.1'
>>> import esmvalcore
>>> esmvalcore.__version__
'2.9.0.dev0+gb12682d2a.d20230627'
>>> import stratify
>>> stratify.__version__
'0.3.0'

Okay, so more investigation: watching top while running the script at the start of this issue results in a huge spike in MEM usage. The file itself is only 2GB, but I've seen up to 8GB using top. Memory being several times larger that the file suggests a memory issue in iris/stratify.
This is probably why re-ordering the preprocessors failed me earlier.  I had assumed that if I extracted a smaller region first, then the surface layer, it would mean that less memory would be needed (this didn't work!). A memory leak means that it doesn't really matter how small a region you make it, as it will leak and break anyway.

@ledm here's what I found out: the script you gave me ie
import iris
from esmvalcore.preprocessor._regrid import extract_levels

fn = "/badc/cmip6/data/CMIP6/CMIP/MOHC/UKESM1-0-LL/historical/r2i1p1f2/Omon/po4/gn/v20190708/po4_Omon_UKESM1-0-LL_historical_r2i1p1f2_gn_200001-201412.nc"

cube= iris.load_cube(fn)
c2 = extract_levels(cube, scheme='nearest', levels = [0.1 ,])

needs 13G of memory RES (resident) to run to completion; this with:
esmvalcore                2.9.0rc1           pyh39db41b_0    conda-forge/label/esmvalcore_rc
esmvaltool                2.9.0.dev41+gda7f3dbe6          pypi_0    pypi
iris                      3.6.1              pyha770c72_0    conda-forge
python-stratify           0.3.0           py311h1f0f07a_0    conda-forge

and the file in question is indeed 2GB but do remember that's a compressed netCDF4 file, usually with a 40% compression factor. So that means that extract_levels loads the entire data into memory roughly 3 times. @bouweandela says extract levels is not lazy so it's very clear how not lazy it is - why the footprint is so bad ie about 3x larger than the actual file size in memory is beyond me. Sorry I misinterpreted thinking new iris will solve this, obv not. But the question is - why is sci3 killing your job when it only needs 13G of mem? Unless that job was different, I see no reason why. Now, I believe stratify is lazy now, so we can go about and make the extract levels lazy, in fact we should do that, but in the meantime, try running on a node that may not kick you out :grin:

sci2 did the trick for me. We now know where the problem lies, so fixing should follow 😁

Okay, so reverted to ESMValTool 2.8, and iris 3.4. I'm still running out of memory, but at least it's breaking properly, instead of just getting killed:
numpy.core._exceptions._ArrayMemoryError: Unable to allocate 8.76 GiB for an array with shape<PHONE_NUMBER>,) and data type float64

Calling this a big W.

Okay, so reverted to ESMValTool 2.8, and iris 3.4. I'm still running out of memory, but at least it's breaking properly, instead of just getting killed:
numpy.core._exceptions._ArrayMemoryError: Unable to allocate 8.76 GiB for an array with shape<PHONE_NUMBER>,) and data type float64

Calling this a big W.

Correction. This was on sci2. On sci3, it just got killed the normal way. No idea whats going on. Starting to think it's a jasmin thing. Will try sci6 next.

Continuing with this, here's a minimal testing recipe.
https://github.com/ESMValGroup/ESMValTool/blob/AscensionIslandMarineProtectedArea/esmvaltool/recipes/ai_mpa/recipe_ocean_ai_mpa_o2_testing.yml
On JASMIN.sci1 this fails for me. If I comment out either recipe, it runs fine.
The fact that it works with one dataset but fails with two makes me think that perhaps something isn't being properly closed after it's finished? Or its trying to run two things at once, even when max_parallel_tasks: 1 in my config-user file.

Continuing with this, here's a minimal testing recipe.
https://github.com/ESMValGroup/ESMValTool/blob/AscensionIslandMarineProtectedArea/esmvaltool/recipes/ai_mpa/recipe_ocean_ai_mpa_o2_testing.yml

@ledm The recipe now runs with the ESMValCore main branch (and soon to be released v2.11.0). Even though regridding is not lazy, this isn't such a problem as the data has already been reduced in size a lot by computing the climate statistics and vertical level extraction before regridding.

With https://github.com/ESMValGroup/ESMValCore/pull/2457 merged regridding is now automatically lazy for data with 2D lat/lon coordinates as well.


The ability to define multiple functions in a single project/assembly is not directly addressed

While there are some implicit clues that you can define multiple functions in a single project (the layout diagram, for example), it isn't explicitly called out, and no examples are given.
It would be great if there were some simple statement that explicitly mentions that it is possible, and what restrictions there may be (must be in separate classes or not? must be in separate source files or not?). I am guessing is all it takes is adding the attributes, and there are no requirements on specific scoping.
I'm also not clear what entities in an functions project deployed to an app service has an identity for purposes such as authenticating key vault (each function entry point, the project, or are all functions deployed to the same app service running under a common identity for auth purposes?

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

ID: 7a4532b8-8c27-ca15-edc6-85fc38cab341
Version Independent ID: e06de78b-9271-25a4-439d-2a024f31693e
Content: Azure Functions C# developer reference
Content Source: articles/azure-functions/functions-dotnet-class-library.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

Hello @Paul-Dempsey, Thank you for your feedback! We will review and update as appropriate.

Hello @Paul-Dempsey. Sorry for the delay in my response. Regarding the first part of your question, in this Azure functions developer guide you can find the required information for running and configuring multiple functions within a function app. You can define multiple sub-folders in your root project folder which contains code for a separate function app. This document regarding how to manage your function app can also be helpful. Regarding some restrictions for multiple functions within a function app, please refer to this issue here.
According to my understanding for the second part of your question, from the security overview of for the function app you can have system-assigned identity or user-assigned identity to authenticate against AAD protected resources like Azure Key Vault. Please let me know if the information provided above does not help resolve the issue, I will be glad to continue with our discussion.

Hello @Paul-Dempsey, Just following up here to see if my comment above was helpful in resolving the issue faced. Please let me know if any additional help is required.

Hello @Paul-Dempsey, Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


Floating Label Persistence

Is there a way to have floating label persist even without a value in the input?

Unfortunately, it's impossible currently.

Got it, I have a mountain of work, but will try to circle around with a PR. Thanks for this repository!!


arauan, confirmational

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[a,c]

/trunk merge


New explorer: clicking on a file first shows blue focus outline

I feel like this is different behavior from before:

close all editors
click on a file in the explorer

=> :bug: first you see the focus outline in the tree and then the element is selected
=> I do not recall ever seeing the focus outline before when just clicking into an item
Not sure if this is a general tree/list issue or specific to the explorer.
//cc @joaomoreno

I can reproduce this with fresh user data dir vscode.
I can reproduce for all trees (also watch).
So it seems like the tree takes focus for a moment and only then forwards to focus to the element. Forwarding to @joaomoreno since it feels like a tree issue

This is definitely new. The tree gets DOM focus on mouse down. The tree element gets selected on mouse up.
I don't find this terrible, so I propose to just close this.

It looks ugly, so I propose to fix it by restoring how it used to be.

Let's close this and roll with the current setup for a while.


chore: fix linter warnings

Fixing linter warnings.
Please @AdriSolid check specially the changes on userViewportFeatures. Also there is still 1 warning in the Lin 75. useCallback. Please have a look at it locally.

I'm gonna split out the ci & test part, while we decide and test the other block

Thx for the fix

Please approve it, and I'll merge it


Allow java extensions for source files

Closes #83

Refactor GroovycWrapperTest to no longer compare sizes of expected vs expected results

@JiahuiJiang any more comments? :)

+1 after a minor comment


Feature/add custom api base url support

This PR introduces option to use custom Particle Cloud base URL while using the app. This enables internal teams to setup Particle devices against staging or local cloud instances.

This was reviewed and approved by @jensck in google hangouts.


Fix spelling-error in comment

This is a major contribution which I stumbled upon trying to get the dataCallback awesomeness working.

thanks!

The iff was intentional. :( Means if and only if.

@mattrobenolt sorry about that, someone told me about that abbreviation during the day and I forgot to get back here with a comment. I think it would be beneficial if that was written out - I never heard about iff before :)


More samples needed

Samples needed to upload, download, create and delete files. I can't find any API document. It seems to me I'll better call python from my CPP application until more CPP samples are available. I've used Azure storage and they have more samples and API documentation.

Thanks for filing the issue, but we deprecated this repository, so closing.


[Question] Energy throughput

Does the Interface of a CM have a maximum energy throughput?

as far as I'm aware, yes. See here: https://github.com/thraaawn/CompactMachines/blob/f44ef145f65638ede10f3e0e8f7ae585c955a322/src/main/java/org/dave/CompactMachines/integration/redstoneflux/FluxSharedStorage.java#L17

By default 10000 RF/t. You can change that in the configuration.

I have looked into the configuration file and I am not seeing an option to change the throughput.

Oups, my bad. You are right. I thought I added that long time ago, but apparently I didn't.

I just had another idea for the configuration: Could you make the player be able to on one hand configure an absolute maximum of throughput in the config file and on the other hand let him configure the amount of energy between zero and the config setting by inserting a certain Thermal Dynamics Flux Duct into the interface's slot if the  above mentioned mod is installed.

For now only config file configuration. Implemented in 3f6c8e28395e9c11d31ec1239437ccb4de5bb146.


[Feature]: Support v2-to-v3 transformation for DynamoDB Document client

Self-service

[x] I'd be willing to implement this feature

Input code
import AWS from "aws-sdk";

const documentClient = new AWS.DynamoDB.DocumentClient(
  { region: "us-east-1" }
);

Expected Output
import { DynamoDBDocument } from "@aws-sdk/lib-dynamodb";
import { DynamoDB } from "@aws-sdk/client-dynamodb";

const documentClient = DynamoDBDocument.from(
  new DynamoDB({ region: "us-east-1" })
);

Additional context
No response

Example test added in PR https://github.com/trivikr/aws-sdk-js-codemod/pull/50

DynamoDB DocumentClient is used in mui/material-ui
https://github.com/mui/material-ui/blob/612db95ec47fdd9e30f9cb33b99df3af5a972542/packages/feedback/index.js#L7


Problem on iterating ArrayList

λ ~/venv/ python -V
Python 2.7.9
λ ~/venv/ cat test.py
import jpype
jpype.startJVM(jpype.getDefaultJVMPath())

arr = jpype.java.util.ArrayList()
l = [i for i in arr]
λ ~/venv/source jpype0.5.7/bin/activate
(jpype0.5.7)λ ~/venv/ python test.py
(jpype0.5.7)λ ~/venv/ deactivate
λ ~/venv/source jpype0.6.0/bin/activate
(jpype0.6.0)λ ~/venv/ python test.py
Traceback (most recent call last):
  File "test.py", line 5, in <module>
    l = [i for i in arr]
  File "/home/dwshin/venv/jpype0.6.0/local/lib/python2.7/site-packages/jpype/_jcollection.py", line 32, in __next__
    return next(self.iterator)
RuntimeError: No matching overloads found. at native/common/jp_method.cpp:121

Same (or at least very similar) issue here, using JPype 0.6. Preparing an example would take a while, but I am essentially trying to iterate a Java iterable object. Code worked with earlier versions of JPype.
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-44-647246ea3fd7> in <module>()
----> 1 for bpm in Sequence.getAllNodesOfType('BPM'):
      2     print bpm.getPosition()

/home/ylevinse/.local/lib/python2.7/site-packages/jpype/_jcollection.pyc in __next__(self)
     30
     31     def __next__(self):
---> 32         return next(self.iterator)
     33
     34     # Compatibility name

RuntimeError: No matching overloads found. at native/common/jp_method.cpp:121


[FEATURE] Sort Index Dropdown

Is your feature request related to a problem?
On domains with a large number of indexes, it may be difficult to find a specific index since the indices list is not sorted, simply displayed what is returned from the backend.

What solution would you like?
Sort the index array before displaying them. This should be a simple change here.
What alternatives have you considered?
Combing through large dropdown menus is the only other option, but is inconvenient for users.
Do you have any additional context?
The ML Playground has a similar fix implemented.

For this, please use ComboBox with singleSelection={{ asPlainText: true }} instead of Select. This will also make the index list searchable.

@ashwin-pc -> would this be a good candidate to utilize the new data source component?

@kgcreative yes, the new component should solve this issue

Hi @ashwin-pc, would the DataSources component replace the ComboBox entirely, or would it be used in addition to the ComboBox. I got the ComboBox without the DataSources working now, so I'm just a little unsure what the DataSources component would be doing exactly. Thanks!

The current implementation is a combo box. @shanilpa is working on the future iteration of the datasource selector. He is the best person to ask this question to :)

For now let's align on combo box as an incremental improvement. We can consider the data source component once the future iteration is a bit more defined


Webfonts not being loaded in on mobile

Not sure what, if anything, can be done about this, but when I pull up the middleman server page on my phone it isn't displaying embedded webfonts. I know that it's not a problem with the phone or my code because when I deployed to my test server the fonts loaded in just fine.
Middleman server:

Deployed:

Are you using a web fonts API? Is your IP whitelisted with them?

Actually for some reason it decided to work now :/
Closing the issue


Documentation Backend

To be able to use digger productively as a large company as we are, we need a better documentation about the backend:

how is the architecture?
what kind of data is sent to the backend?
is the connection secure ( auth z , auth n, encryption)?
is there a way to setup the backend on-premise / in the own (AWS) cloud account? how?

Thanks so much for reporting @frank-bee !
Great and super helpful points, we need to improve docs

architecture: basically we have a minimal orchestrator backend and a CLI wrapper on top of Terraform. Some more details here: https://diggerdev.notion.site/Why-digger-introduces-an-orchestrator-3d28029d53a3473d9c9e5f54f3b52d91
data sent to backend: nothing sensitive, no secrets, not even Terraform code. That's all handled in the CI workers. Telemetry also anonymized: https://github.com/diggerhq/digger/blob/develop/pkg/usage/usage.go
setting up backend on-prem: yes, docs are severely lacking though atm. Will get back to you on this asap

setting up backend on-prem: yes, docs are severely lacking though atm. Will get back to you on this asap

Any update on this?


full_join does not support cartesian

See example:
paramgrid <- sdf_register(sdf_import(data.frame(gridcell = (1:n_paramgrid)), sc, repartition=n_paramgrid), "paramgrid");
iters <- sdf_register(sdf_import(data.frame(iter = (1:n_iter)), sc, repartition=n_iter), "iters");
paramgrid %>% full_join(iters)

the final statement should produce the cartesian product of all rows in paramgrid and all rows in iter; today it fails with an error bc the by= parameter is not set.

Unsupported by dplyr, opened https://github.com/tidyverse/dplyr/issues/2924, proposing PR as well.

I'm going to close this one since we can track this in dplyr now tidyverse/dplyr#2924, PR proposed: https://github.com/tidyverse/dbplyr/pull/24.


LeoLM is in the category of general LLM (llama example)?

Could we use the llama example to run other extended llama model like LeoLM?

Yes if it's a standard llama2 model, it should work out of the box with the llama example. I've just merged some changes to add support for it for the quantized model, you can easily try it out with:
cargo run --example quantized --release  -- --prompt " " --which 7b-leo

@LaurentMazare thank you.


[DevSecOps] GitLab & Jenkins CI/CD on Amazon EKS 🎯🚀🌥

PART 1. Provisioning Amazon S3, VPC, EFS, EKS cluster using Terraform or CDK Infrastructure as Code IaC 👌💪

[x] 1.1. VPC

[x] 1.2. Amazon S3

[x] 1.3. EFS

[x] 1.4. VPC Endpoints

[x] 1.4.1. VPC Endpoint: vpc.add_s3_endpoint("VPC Endpoints for S3")
[ ] 1.4.2. Interface VPC Endpoints in Amazon EFS

[x] 1.5. EKS cluster:

[x] 1.5.1. Classic Node Group
[ ] 1.5.2. Managed Node Group

[ ] 1.6. Building for Cost Optimization and Resilience for EKS with Spot Instances

[x] 1.6.1. Node Terminate Handler
[ ] 1.6.2. EC2 Spot Instances

[x] 1.7.1. NLB / ACM / Route53

[x] 1.7.2. ALB / ACM / Route53

PART 2. DevSecOps on Amazon EKS

[x] 2.1. Metric Server: HPA & CA Auto-Scaling

[x] 2.2. CloudWatch >> Container Insights

[x] 2.3. EKS Cluster includes both EKS Managed Node Group & EKS Classic Node Group - shared the same NLB: Gitlab on EKS and [Jenkins on EKS](http://jenkins.aws.job4u.io

[ ] GitLab Runner registration: Amazon EKS cluster using Helm chart.

[ ] Gitlab: normal + Classic-NG + Private Subnet
[ ] Gitlab-Runner: spot + Classic-NG + Private Subnet
[ ] Vue.js: spot + Managed-NG + Public Subnet

[ ] Jenkins: using Helm chart.

[ ] EKS Managed Node Group

[ ] 8.1.1. GitLab Repository > *-ondemand
[ ] 8.2.1. Jenkins Master > *-ondemand

[ ] EKS Classic Node Group

[ ] 8.1.2. GitLab-Runner: *-spot
[ ] 8.2.2. Jenkins Agents: *-spot

PART 3. GitLab CI/CD on Amazon EKS as DevOps CI/CD Pipeline

[ ] .gitlab-ci.yml

[ ] Tells the GitLab Runner what to do
[ ] Defines stages of the pipeline – build, compile, test, deploy

[ ] Docker image to run the pipeline stages

[ ] Using sample Node.js image with a demo application
[ ] Using sample Go image with a demo application
[ ] Using sample Vue.js image with a demo application

References

[ ] https://docs.gitlab.com/runner/install/kubernetes.html

[ ] https://docs.gitlab.com/ee/ci/quick_start/

[ ] https://docs.gitlab.com/ee/ci/yaml/

[ ] 1. An EKS cluster created

[ ] 2. Gitlab Runner registration: Amazon EKS cluster using helm chart

[ ] 2. .gitlab-ci.yml

[ ] Tells the GitLab Runner what to do
[ ] Defines stages of the pipeline – build, compile, test, deploy

[ ] Docker image to run the pipeline stages

[ ] Using sample Java SpringBoot image with a demo application
[ ] Using sample .NET Core image with a demo application

References

[ ] https://docs.gitlab.com/runner/install/kubernetes.html
[ ] https://docs.gitlab.com/ee/ci/quick_start/
[ ] https://docs.gitlab.com/ee/ci/yaml/

As an Organization looking to innovate and secure your Software Development initiatives, all paths lead to DevSecOps.

Infrastructure as Code using Terraform or CDK: treat Infrastructure the same way Developer treats the Code with all best practices and tests. AWS provides DevOps focused way of creating and maintaining infrastructure.

Continuous Deployment: core concept of a DevOps strategy. Its primary goal is to enable the automated deployment of production-ready application code.

Automation: focuses on setup, configuration, deployment, and support of infrastructure and applications.

Monitoring: communication and collaboration is fundamental in a DevOps strategy. To facilitate this, feedback is critical.

Security: focus on security is still of paramount importance. Infrastructure and company assets need to be protected, and when issues arises, they need to be rapidly and effectively addressed.

Closed


Unable to authenticate to private Container Registry after using docker-credential-gcr on Container-Optimized OS 65-10323.97.0 stable

Hello,
After execution of docker-credential-gcr configure-docker with output as follows:
/home/<MY_USER>/.docker/config.json configured to use this credential helper for GCR registries.
When trying docker pull command (docker pull gcr.io/project/image)  I get
Error response from daemon: repository gcr.io/project/image not found: does not exist or no pull access
When I check the container registry image is ready and build.
Here is the content of config.json
{
"auths": {},
"credHelpers": {
"asia.gcr.io": "gcr",
"eu.gcr.io": "gcr",
"gcr.io": "gcr",
"staging-k8s.gcr.io": "gcr",
"us.gcr.io": "gcr"
}
}

This sounds similar to this issue: https://stackoverflow.com/questions/51236449/unable-to-pull-image-from-private-gcr-from-container-optimized-compute-engine

Here are my steps:

Creating new VM instance in google cloud console with  Container-Optimized OS 65-10323.97.0 stable image.
Connect to it by ssh
execute docker-credential-gcr configure-docker without sudo
run docker pull- copied the pull command from the image in my private container registry (without sudo)

I then removed and created a new machine and tried to get authentication with the advanced method which is listed in official GCP docs https://cloud.google.com/container-optimized-os/docs/how-to/run-container-instance#accessing_private_google_container_registry ,again when running docker pull (without sudo) - not found: does not exist or no pull access (docker pull command is copied from the image ,so as to illuminate chance of typo mistake)
I also tried running docker-credential-gcr gcr-login and then run docker pull (without sudo) ,also without any success.
@jonjohnsonjr - before opening the issue ,I found this one and tried to execute the steps ,but again without any success.

When running in a VM, docker-credential-gcr will use the credentials associated with the instance's service account (usually {project<EMAIL_ADDRESS>This service account needs to be granted the Storage Object Viewer role on the GCS bucket where images are hosted: https://cloud.google.com/container-registry/docs/access-control
Additionally, the VM needs to grant the service account at least Read Only for the Storage Cloud API access scope: https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes

Optionally, you could also configure the credential helper to use the credentials created during  docker-credential-gcr gcr-login using the following command:
docker-credential-gcr config --token-source="store"

Just tested that , now it is downloading the image. Thank you man ! Appreciate it.

@dekkagaijin should the default service account need to be granted these roles? I can only get this to work on a container optimized OS by doing a docker-credential-gcr gcr-login first which isn't described in the COS documentation.


Fix and add tests for box paths relative to an imported package

Done.
Travis doesn't appear to have triggered again though, does it not respond to force-push?

Trying again since it's been several hours, from what I'd seen if GitHub doesn't send the notification close/reopen can trigger a build.
If it doesn't trigger might have to start a new one instead.


fix: remove hardcoded color for upgrade button

Description
Current version of the upgrade button uses a hardcoded value for Orange color which doesnt change on changing the branding color, this PR resolves that issue and uses the branding color.
PR fixes following issue(s)
Fixes https://github.com/appsmithorg/cloud-services/issues/1388
Media

Type of change

Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[x] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test


[DOCS] Add the LinkFree CLI step in README

Description
Add LinkFree CLI option to create your JSON file in `To Add Your Profile in the README. Something like creating an option for manual and CLI.
The addition should also include the command and the explanation of how to create the file through CLI
npx linkfree-cli

Hello can I be assigned to this?

Hello can I be assigned to this?

Sure, feel free to work on it! 🙂

Hello maintainers can you assigned me to this issue, I have already progressed a lot & pushed it into my forked repo.

It will be really helpful for the beginners to add their profile in the LinkFree project by reading the Readme.MD file.
waiting for your reply.

Hey, @Saha-7 this issue is already assigned to @HondaChan14. Please look for some other issues.

No worries if he has already has it sent. I have no issues with letting him take this :)

No worries if he has already has it sent. I have no issues with letting him take this :)

You can work on it. No worries. Will be waiting for your PR. If you have any issue let us know!

Hey @Pradumnasaraf can you please assign this to me?

Hey @HondaChan14 are you still working on the issue?

@Pradumnasaraf If he is not working on this issue, then I am available immediately.

Hey @Pradumnasaraf can you please assign this to me?

Hey, @VG-1 you can go ahead.
@Saha-7 try finding some other issues as requested 1st.

Is this being worked on still?

This is a duplicate and someone is already assigned, you can look for other issues


ENT-9351: Test and fix for cfbs build on modules added by URL

First commit adds a test which reproduces the issue, second commit (thanks @craigcomstock) fixes the issue, as can be seen from CI status checkmark.


feat(core): add new cap shared

Which issue does this PR close?

Closes #5327
Rationale for this change
See https://github.com/apache/opendal/pull/5324#issuecomment-2480461643

What changes are included in this PR?
Introduce a new capability shared, indicates whether shared access is supported for a service.

Are there any user-facing changes?

Add new capability shared

Please also wait #5324 to pass the CI

Great!
The PR is ready to get reviewed now.


Sidecar filename pattern defined with user option basename_with_ext

Added user documentation for feature #15
Ideally this should be defined in script-opts/chapter_make_read.conf but the README promises more info in the script file itself, but there is no info on chapter_make_read.conf either.
Please further update how to add user options to this .conf file. Thanks!

Forgot to update the readme file, thanks.


Overlay doesn't cover full player when PodVideoPlayer has padding around

As title says, overlay is smaller than the video player when there's padding.

To replicate :
Use the sample app, play a video from a vimeo id (this is the only one I tried but I think it happens on all of them) and add padding around PodVideoPlayer:
@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Vimeo Player')),
      body: SafeArea(
        child: Center(
          child: ListView(
            shrinkWrap: true,
            children: [
              Padding(
                padding: const EdgeInsets.all(35),
                child: PodVideoPlayer(
                  controller: controller,
                  alwaysShowProgressBar: false,
                ),
              ),
            ],
          ),
        ),
      ),
    );
}`

Update: seems to be an aspect ratio problem, if you play around with "frameAspectRatio" you can make it match the player. In my case I set it to 16/8.8. "matchVideoAspectRatioToFrame" set to true doesn't seem to work either

Thanks for the update 🤗
Yeah, use Aspect ratio if possible instead of wrapping it with padding or other constraints widgets.
This matchVideoAspectRatioToFrame Initially takes the aspect ratio from the video's metadata and matches it with the frame


The Invincible Birds Strike Back (GitHub Issues II)

After the previous pull request, I have noticed that there are invincible birds again. In order to maintain the master branch as fully functional, I will revert to the latest commit. This issue can be reproduced by moving the character to the lowest possible position, and then fire swords out constantly. The birds also spawn very far away from the visible user interface, and results in the killing of birds that have not yet shown up. We must fix this issue as soon as possible.

For reference:

Previous PR was #7, moved SKNode initialization to the static file FlappySlicer/GameScene.sks
Invincible birds is a known and existing issue, which apparently wasn't permanently fixed properly.
I've (probably) fixed the issue in #15.


Spell suggest provider

I use z= a lot on badly spelled words to suggest a list of possible corrections, you usually want the first one but sometimes you want something else. When you hit z= your entire screen is replaced by a huge list of possible items, this is kind of jarring if you're in the flow of things.
I think a provider that works like z= (spellings for the word under the cursor) within vim-clap would be a good fit for the UI / UX.
spellsuggest({word} [, {max} [, {capital}]]) will be more than good enough for this provider since it returns a list of possible works. The provider will just have to pull the word from under the cursor and replace it if one is selected.
Other considerations
spellbadword() could be used to jump to a poorly spelled word as the provider is invoked but maybe this is overkill. A user could compose that function call with vim-clap if they wanted to anyway.

I'm not going to get around to this for a while, rather than clogging up the issues I'll close this one.
I gave it some more thought and I don't think it's a good fit for clap anyway. Most of the time the spell correction will all be very similar other than a few characters inside the word.
So you're mostly going to want the first result but sometimes a sparse result, say, the 12th suggestion. The best way to pick these is with a number rather than fuzzy text filtering, order is highly important in spell suggestions. I think z= with order maintained using numbers to select makes sense.


runtime/cgo: scheduler blocked with goroutines

Hi there,

I have a quite big app, while my code works and is very fast in production, when I ran
my benchmark suite results 1000x worse. So I'm not sure if I'm doing something wrong or
is a know problem.

 Use another CGO binding: image magick - Same results - Both libraries are thread safe.
2. Use runtime.Gosched() (tried to put it in different places) - Same
3. Use runtime.LockOSThread() (tried to put it in different places) - Same
4. Add a time.Sleep(10*time.Milliseconds) - the commented line
<<<<<<<<< I get back good results!
5. Test on linux (ubuntu lts 12) - Same and pretty much same pprof
6. Remove CGO and use a native call - Very fast.
7. Avoid channels just `go func()` - Very fast!
8. Set GOMAXPROCS 1 - Very fast!
9. Remove the db connection just use a slice - Same
10. Use buffered channels - Worse

To explain more about point 4. it seems that if we add few milliseconds between each
request

        for i := 0; iter.Scan(&url) && i < 1e4; i++ { // Scan takes around 8ms
                time.Sleep(10 * time.Millisecond)
                urls <- url
        }

 the scheduler can handle everything better, that's why in production I wasn't able to see the issue, so here a benchmark with timings:

Without Sleep:

resize speed mean: 327.630885ms, min: 100.150452ms, max: 462.495835ms, 99%: 429.954171ms
Total: 6250 samples
    6188  99.0%  99.0%     6191  99.1% runtime.cgocall
      21   0.3%  99.3%       21   0.3% runtime.usleep
       7   0.1%  99.5%        7   0.1% retake
       7   0.1%  99.6%        7   0.1% runtime.rtsigprocmask
       4   0.1%  99.6%        4   0.1% syscall.Syscall
       3   0.0%  99.7%        3   0.0% runtime.epollwait
       3   0.0%  99.7%        3   0.0% runtime.futex
       2   0.0%  99.8%        2   0.0% ExternalCode
       2   0.0%  99.8%        2   0.0% runtime.memclr
       1   0.0%  99.8%        2   0.0% exitsyscallfast
       1   0.0%  99.8%     6192  99.1% github.com/daddye/vips.Resize
       1   0.0%  99.8%        1   0.0% github.com/gocql/gocql.(*frame).readBytes
       1   0.0%  99.9%        1   0.0% runqgrab
       1   0.0%  99.9%        1   0.0% runtime.atomicload64
       1   0.0%  99.9%        1   0.0% runtime.cas
       1   0.0%  99.9%        1   0.0% runtime.entersyscall
       1   0.0%  99.9%        1   0.0% runtime.fastrand1
       1   0.0%  99.9%        1   0.0% runtime.noteclear
       1   0.0% 100.0%        1   0.0% runtime.purgecachedstats
       1   0.0% 100.0%        1   0.0% runtime.unlock

With a Sleep of 10ms:

resize speed mean: 28.551381ms, min: 4.666236ms, max: 61.589934ms, 99%: 52.274779ms
Total: 1265 samples
    1101  87.0%  87.0%     1105  87.4% runtime.cgocall
      40   3.2%  90.2%       40   3.2% runtime.usleep
      40   3.2%  93.4%       41   3.2% syscall.Syscall
      23   1.8%  95.2%       23   1.8% runtime.futex
       7   0.6%  95.7%        7   0.6% runtime.epollwait
       4   0.3%  96.0%        4   0.3% runtime.MSpan_Sweep
       3   0.2%  96.3%        3   0.2% ExternalCode
       3   0.2%  96.5%        3   0.2% findrunnable
       3   0.2%  96.8%        3   0.2% runtime.markscan
       3   0.2%  97.0%        3   0.2% runtime.rtsigprocmask
       2   0.2%  97.2%        2   0.2% pidleget
       2   0.2%  97.3%        2   0.2% runtime.atomicload
       2   0.2%  97.5%        3   0.2% runtime.entersyscall
       2   0.2%  97.6%        2   0.2% runtime.fastrand1
       2   0.2%  97.8%        2   0.2% runtime.gogo
       2   0.2%  97.9%        2   0.2% runtime.memmove
       2   0.2%  98.1%        2   0.2% sysmon
       1   0.1%  98.2%        1   0.1% MHeap_AllocLocked
       1   0.1%  98.3%        1   0.1% addstackroots
       1   0.1%  98.3%       16   1.3% bufio.(*Reader).Read

Adding a cumulative with the sleep version:

Total: 1279 samples
       0   0.0%   0.0%     1190  93.0% runtime.gosched0
       1   0.1%   0.1%     1149  89.8% main.func·003
       0   0.0%   0.1%     1116  87.3% github.com/triggit/feeds/processor.ResizeVips
       1   0.1%   0.2%     1114  87.1% github.com/daddye/vips.Resize
    1111  86.9%  87.0%     1111  86.9% runtime.cgocall
       0   0.0%  87.0%      488  38.2% github.com/daddye/vips._Cfunc_vips_jpegsave_custom
       0   0.0%  87.0%      267  20.9% github.com/daddye/vips._Cfunc_vips_affine_interpolator
       0   0.0%  87.0%      233  18.2% github.com/daddye/vips._Cfunc_vips_embed_extend
       0   0.0%  87.0%       82   6.4% System
      38   3.0%  90.0%       40   3.1% syscall.Syscall
      34   2.7%  92.7%       34   2.7% runtime.usleep
      27   2.1%  94.8%       27   2.1% runtime.futex
       0   0.0%  94.8%       26   2.0% io/ioutil.WriteFile
       0   0.0%  94.8%       25   2.0% github.com/daddye/vips._Cfunc_im_close
       0   0.0%  94.8%       25   2.0% github.com/daddye/vips._Cfunc_vips_image_new
       0   0.0%  94.8%       21   1.6% github.com/daddye/vips._Cfunc_vips_jpegload_buffer_seq
       0   0.0%  94.8%       21   1.6% github.com/gocql/gocql.(*Conn).recv
       0   0.0%  94.8%       21   1.6% github.com/gocql/gocql.(*Conn).serve
       1   0.1%  94.8%       19   1.5% bufio.(*Reader).Read
       0   0.0%  94.8%       19   1.5% github.com/daddye/vips._Cfunc_vips_copy_0

We can see that:

With a sleep:

1   0.1%   0.2%     1114  87.1% github.com/daddye/vips.Resize

Without a sleep:

1   0.0%  99.8%     6192  99.1% github.com/daddye/vips.Resize

So finally:

The version without sleep took (just for the C function call): 327.630885ms
With a sleep: 28.551381ms

Thanks so much
Davide

Assigning to Dmitriy to see if there's anything to do here or else close.

I don't see anything actionable here.
Using buffered channel and setting GOMAXPROCS to a higher value should solve the performance issue.


Integrate autointent

Description
Integration with the Automated Intent Resolving. Neither data type uses NoTransform due to a bug we found in the TFIDF transformation.
Currently we need to do a name conversion between the data type due to some weird issues when we change the name of the intents. Issue has been documented in Clickup.

closing this one as I have rebased the branch to resolve the conflict and merged it into development branch from a new PR. The merge here does not rerun the tests, which is not ideal.


The postion of select is always sticky when scroll the container box or body

NextUI Version
2.2.2
Describe the bug
https://github.com/user-attachments/assets/9affae39-9e75-4cc8-8a05-3d92dd3e1730
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue

Expected behavior

Screenshots or Videos
Uploading 20240719_221631.MP4…
Operating System Version
windows linux, mac
Browser
Chrome

Please use the latest version. The select should be closed when scrolling.

@wingkwong
The issue still exists with the last version
https://codesandbox.io/p/devbox/nextui-select-sticky-issue-3514-p439fj

@yairopro I cloned your sandbox to my local to run and didn't see the issue. The select should be closed when scrolling outside.
3514-demo.webm


Call initialize_devlink_ports only when a device has been created

gVisor doesn't support netdevsim and NETLINK_GENERIC.
Without this fix, sys-executor always fails:
E openat(AT_FDCWD, /sys/bus/netdevsim/new_device, ...)
X openat(AT_FDCWD, /sys/bus/netdevsim/new_device, ...) = 0x0 errno=2
E socket(AF_NETLINK, SOCK_RAW|0x0, NETLINK_GENERIC)
X socket(AF_NETLINK, SOCK_RAW|0x0, NETLINK_GENERIC) = 0x0 errno=93
E write(0x2 host:[3], "socket(AF_NETLINK) failed\n", 0x1a)
X write(0x2 host:[3], ..., 0x1a) = 0x1a (2.767µs)
E write(0x2 host:[3], " (errno 93)\n", 0xc)
X write(0x2 host:[3], ..., 0xc) = 0xc (2.729µs)
E exit_group(0x43)
X exit_group(0x43) = 0x0 (900ns)
Cc: @jpirko
Fixes: f350e2dc1f59 ("executor: rename devlink port netdevices to defined names")

CI failed with some code formatting issues:
https://travis-ci.org/google/syzkaller/jobs/616984562?utm_medium=notification&utm_source=github_status

CI failed with some code formatting issues: https://travis-ci.org/google/syzkaller/jobs/616984562?utm_medium=notification&utm_source=github_status
Fixed.

Codecov Report

Merging #1516 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1516   +/-   ##
=======================================
  Coverage   56.27%   56.27%
=======================================
  Files         142      142
  Lines       26417    26417
=======================================
  Hits        14865    14865
  Misses      10843    10843
  Partials      709      709

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 f746151...78b0662. Read the comment docs.


Add imperial / metric switch

This would affect:

Distances in meters → feet, km → miles.
24h → 12h + AM/PM. E.g 5pm instead of 17:00.

Apart from the hours format what would be the use of this? Aren't all units in OSM of the metric system?

Apart from the hours format what would be the use of this? Aren't all units in OSM of the metric system?

Typically you can add units to values as well. maxspeed for example is given with mph in a few oddball countries, similarly to height in feet and inches.
It's probably not a good idea to try to convert to metric behind the scenes, to avoid things like height=1.1938756982 and other oddities. If values are given in Imperial units, they should be retained as such.

Apart from the hours format what would be the use of this? Aren't all units in OSM of the metric system?

Also, sometimes ED warns about a possible duplicate at xx meters distance when creating new POI; I guess if the user uses imperial units they'd be at loss how far away that is.

@ygra Oh never knew it was possible to add units, good to know. And that makes sense now that I think about it.
@mnalis Good point, didn't remember that.

Any updates?

Any updates?

https://github.com/Zverik/every_door/issues/287

This is not in the roadmap, and has the label "not sure" meaning Im not sure this is to be implemented at all. Apart from one rare warning, ED does not measure distances, so adding a toggle to the settings doesn't seem warranted.

I would find a setting for 12 hour + AM/PM opening hours very helpful.  Pretty much all opening hours signs in my country are posted in 12 hour time, and translating on the fly while out surveying can be rather cumbersome.


[SPARK-36740][SQL] ArrayMin/ArrayMax/SortArray/ArraySort add comment and Unit test

What changes were proposed in this pull request?
Add comment about how ArrayMin/ArrayMax/SortArray/ArraySort handle NaN and add Unit test for this
Why are the changes needed?
Add Unit test
Does this PR introduce any user-facing change?
No
How was this patch tested?
Added UT

ping @cloud-fan @dongjoon-hyun @viirya

Test build #143310 has started for PR 34008 at commit 91d23df.

Test build #143314 has started for PR 34008 at commit 5051e80.

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

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

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

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

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

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

Test build #143314 has finished for PR 34008 at commit 5051e80.

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

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

Test build #143310 has finished for PR 34008 at commit 91d23df.

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

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

Test build #143343 has started for PR 34008 at commit a976711.

Test build #143344 has started for PR 34008 at commit a02fc3c.

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

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

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

Test build #143343 has finished for PR 34008 at commit a976711.

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

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

Test build #143344 has finished for PR 34008 at commit a02fc3c.

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

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

Test build #143394 has started for PR 34008 at commit decb953.

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

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

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

Test build #143394 has finished for PR 34008 at commit decb953.

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

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

ping @cloud-fan

thanks, merging to master/3.2 (it's test and comment only, so I don't backport it further)


Color menu stretches on vertical screen

The Color Menu background stretches on vertical screens.

fixed on one of the previous commits.


The full path of the file shows in the 'Source VHD' field of the 'Upload VHD' dialog when uploading disks

Storage Explorer Version: 1.29.0-dev
Build Number: 20230302.3
Branch: main
Platform/OS: Windows 10
Architecture: ia32
How Found: From running test cases
Regression From: Previous release (1.28.0)
Steps to Reproduce

Expand the node 'Disks' -> Open one resource group.
Click 'Upload' -> Click the '...' button next to the 'Source VHD' field.
Select one file -> Click 'Open'.
Observe the value in the 'Source VHD' field.
Check whether shows the file name in the field.

Expected Experience
Show the file name in the field.

Actual Experience
Show the path of the file in the field.

Additional Context
This issue doesn't reproduce on Linux Ubuntu 22.04/MacOS Ventura 13.2.1 (Apple M1 Pro).

Hi @JasonYeMSFT
Update: Now on Windows/ Linux Ubuntu/Mac platforms. Display file path on the Source VHD field. Is this expected?

Yes, I decided to change to show the full path since it is the purpose of that input.


missing mqtt sensor attributes

Hardware
ESP32
Firmware version
v2.4.5
Application version
v2.4.5
What happened? What did you expect to happen?
Hi,
It looks like that the MQTT sensors in HA are missing attributes. in the normal HA integration (so not MQTT) they are present.
how I would expect it:

and the mqtt sensor for the same shutter:

I'm using expecially the following attributes to determines it latest command and timestamp:
last_cmd: Up
cmd_fired:<PHONE_NUMBER>.445917

Is it possible to include the attributes?
How to reproduce it (step by step)
I enabled mqtt and it becomes visible in HA.

Logs
No response

That information is actually sent to the broker but as I understand it the json_attributes for the configuration have been deprecated from the MQTT discovery.  That being said I have no idea why one would want to use MQTT when there is a socket implementation for the device like there is in HA.

then why do you offer mqtt integration built in? isn't mqtt always used in combination with HA?
in any case, I'll leave mqtt aside for now due to missing attributes. thanks for your response anyway.

There is no need to use MQTT with the HA integration.   There are other automation platforms that do not have the ability to consume the socket that use this as their primary integration though.  If you look in the broker you will find the attributes you desire are actually being sent to the broker but the json_attributes section is no longer supported.  Platforms can subscribe to them as desired.

Thanks for the clarification

Alright I looked deeper into this.  I suspect this has more to do with the state subscription method use in HA.  MQTT is not terribly efficient and as a result the implementation moved this so that the subscription is only one topic.  Sadly this means that if any state attribute changes it requires the entire state payload to be re-published in an effort to improve the efficiency in the HA platform.
This increases the payload sizes for every device that implements it.  Effectively, it improves efficiency in one place at the sacrifice of another.  In this case it impacts an ESP32 that has very few resources to start with.  The new method uses a json_attributes_topic and a json_attributes_template.   I will take another look at this but unfortunately, it requires dropping the individual mqtt_topics and resending all of the attributes on every change.  This may prove to be too large while it is trying to keep timing between radio frames.


az acr login not working in GitHub Actions runner

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Related command
az acr login -n myregistry
Describe the bug
Trying to use az acr login in a GitHub action fails with the following error:
2023-05-08T18:33:32.0201782Z ##[group]Run az acr login –-name mycustomregistry
2023-05-08T18:33:32.0202341Z az acr login –-name mycustomregistry
2023-05-08T18:33:32.0261413Z shell: /usr/bin/bash -e ***0***
2023-05-08T18:33:32.0261809Z env:
2023-05-08T18:33:32.0262572Z   AZURE_HTTP_USER_AGENT:
2023-05-08T18:33:32.0262970Z   AZUREPS_HOST_ENVIRONMENT:
2023-05-08T18:33:32.0263361Z ##[endgroup]
2023-05-08T18:33:33.0458969Z ERROR: the following arguments are required: --name/-n
2023-05-08T18:33:33.0459871Z
2023-05-08T18:33:33.0460726Z Examples from AI knowledge base:
2023-05-08T18:33:33.0461689Z az acr login -n MyRegistry
2023-05-08T18:33:33.0462964Z Log in to an Azure Container Registry
2023-05-08T18:33:33.0463539Z
2023-05-08T18:33:33.0465047Z az acr login -n MyRegistry --expose-token
2023-05-08T18:33:33.0466300Z Get an Azure Container Registry access token
2023-05-08T18:33:33.0466968Z
2023-05-08T18:33:33.0467712Z https://aka.ms/cli_ref
2023-05-08T18:33:33.0468619Z Read more about the command in reference docs
2023-05-08T18:33:33.2063968Z ##[error]Process completed with exit code 2.

To Reproduce
Run the following GitHub action
name: Azure ACR

on:
  workflow_dispatch:

jobs:
  build-and-push:
    name: Build and push Docker image to ACR
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Log in to Azure
        uses: azure/login@v1
        with:
          creds: ${{ secrets.MY_CREDENTIALS }}

      - name: Login to ACR
        run: |
          az acr login –-name ${{ secrets.ACR_NAME }}

Expected behavior

Login Succeeded.
Environment summary

GitHub Action ubuntu-latest runner
Additional context

Thank you for opening this issue, we will look into it.

Hello,
Tried after fixing the typo, had the same issue unfortunately.

Yes, even with -n I had the same error.

Hi @abouroubi
Please help check if u are using action secrets: ACR_NAME correctly
Your registry name is showing in the log without encrypted which is abnormal
More info: https://github.com/Azure/login


Fix typo

skipDataSourceValidateWrite is about skipping the validation for whole data sources; not just particular fields.

:white_check_mark: Organization membership check passed
Requester is not a member of the MicrosoftDocs organization.


Stories don't work on Windows->WSL (via RemoteWSL extension)

Pensé q era error mío :S

+1

could you toggle developer tools from command palette and see if there's an error

@benawad

only this

That's an ok warning, can you try opening the webview developer tools from command palette and see if there's anything in there? Also check the network tab to see if the request works ok and gets data.

@benawad can't open webviews dev.tools at all

interestingly enough if you click on the S in the sidebar:

that seemed to work for me, then clicking back to the other panel and closing/opening it got it to work.
For some reason the first time the webview loads it can't find the script/css files but then they show up ??

@benawad yeah, by chaotically clicking on the icon on the sidebar and on the window on explorer really works for me too. seems like a good solution for this issue xd

@Iipal what's the state on this? There was another issue on Ubuntu, maybe this is fixed by now?

@bar9 yeah, seems like it's working now just perfect


Subscription cancel not working

Hi,
When I try to cancel a subscription:
if($subscription->cancelled()) {
    return Action::message('Subscription already cancelled');
}

$subscription->cancel();

I get this error message:

Argument 1 passed to Laravel\Cashier\Subscription::cancelAt() must be an instance of Carbon\Carbon, instance of Carbon\CarbonImmutable given, called in /vendor/laravel/cashier-mollie/src/Subscription.php on line 247

It goes wrong in this method:
/**
 * Cancel the subscription at the end of the billing period.
 *
 * @param string|null $reason
 * @return $this
 */
public function cancel($reason = SubscriptionCancellationReason::UNKNOWN)
{
    // If the user was on trial, we will set the grace period to end when the trial
    // would have ended. Otherwise, we'll retrieve the end of the billing cycle
    // period and make that the end of the grace period for this current user.

    $grace_ends_at = $this->onTrial() ? $this->trial_ends_at : $this->cycle_ends_at;

    return $this->cancelAt($grace_ends_at, $reason);
}

When I dd($this->cycle_ends_at); I get a string. But I would except a Carbon instance. The cancelAt method expects a Carbon instance that's why I receive this error.
Am I doing something wrong or is this a bug ?

Hi @larsjanssen6,
Given the error message it doesn't seem to be an issue with a string, but with Carbon\Carbon vs Carbon\CarbonImmutable. Can you confirm this?

@sandervanhooft Yes correct.

Are you in any way overriding the default Carbon behavior?

When I try it in a fresh laravel project + mollie cashier package it's working. So I guess it's something in my project. I don't override the default carbon behavior. Will let you know when I find it. Thanks for your reaction :)

No problem @larsjanssen6. Thanks for letting me know!

Had the same issue. Happened because I was trying to cancel a subscription that was in it's grace period.


feat!: make SuperJSON esm-only

Closes https://github.com/blitz-js/superjson/issues/260.
This PR makes SuperJSON an esm-only module. ESM is supported in all actively-supported versions of Node.js, so it's fine to make the switch.
The changes i've made are based on this guide by Axel Rauschmayer: https://2ality.com/2021/06/typescript-esm-nodejs.html.
In the process, I'm also changing the supported Node.js versions to >= 16, because Node.js v14 reached EOL earlier this year.

I was intending to publish a prerelease with 04f078e, but apparently NPM took it as latest 😅
Well, let's get this published as v2!

Dumb.


Added lumberjack library for log rolling

Hi!
I added the lumberjack library for logs rolling. I did some testing locally, it works like a charme.
I put some default values in it that seemed right, let me know what you think about it.

Hey @evermax. Thanks for working on this. I tried to get started on log rolling a few weeks, but just got caught up with my work and school nonsense :smile: . So for what it is worth, I would like to throw my two cents out there.

I think instead of repeating the code in the log and errors middleware it would be better to make a helper middleware that the logs and error middleware could import and use. That would save on having to duplicate log management across the two middlewares.

Do we want to use a third party library for log rolling? Go's stdlib APIs make log rolling pretty easy. Lumberjack doesn't currently seem to support gzipping the old files, which I think would be a win, regardless if we added it lumberjack or roll it ourselves.

I think in the helper middleware we should make a type/struct for configuring log rolling values, so we could allow users to configure the logging policy from the Caddyfile.

Let me know what you think. I should have some free time the week after next and would be happy to help if you need it. Thanks again for starting on this. Can't wait to see this get added!

@acmacalister Sorry to jump the gun on this with Maxime - I know you were going to look into log rolling but I know how that burden feels amidst school and work. Since you started on it I really value your feedback as well.
Before this gets merged in, we'll need to make it customizable in the Caddyfile. I agree with Austin that the code could be shared for parsing the Caddyfile, to ensure the syntax is the same.
As for the need for a third-party library, I figure we might as well take advantage of code that's already out there and under test where we need it. Even if we end up forking for some reason in the future we have a good start on a solid implementation.
@evermax Feel free to coordinate with @acmacalister if you'd like help with any of this, I'll also be able to chime in here or on Slack (though my availability will be severely limited this and next week).

I agree with @mholt that it is easier for maintenance to use an existing library. I will have a look at the helper to avoid duplicating log management tomorrow, and also how to make the user able to provide his options for the log rolling. If you have any more input on that @acmacalister, let me know!
We can talk about it more in details over Slack or here.

I am a bit struggling with the idea of sharing the same parser on log and errors for customised values.
The directives don't have the same format in the Caddyfile. @mholt what should be the structure here?
For example in the log directive, we have 3 different ways of writing the configuration in the Caddy file: which is/are the one that should allow the add parameters for the log rolling?
Should we create the ability to have a block, in which we add a parameter rolling like this?
log file path {
   rolling 20 10 etc.
}

In that case, perhaps it would be easier to have something more consistant with the errors directive configuration approach.
What do you think?

Initial ideas:
log {
	rotate {
		size 100  # MB
		age 10  # days
		max 5  # number of old backups
	}
}

errors {
	log errors.log {
		size 100
		age 10
		max 5
	}
}

The code which parses the "rotate" block (between the curly braces, not including the word rotate because the errors directive does not use it) could be shared.
What do you think?

It seems nice, I will try this out.
It is simple and yet explicit enough, I think!

Maybe rename "max" to "keep"

@evermax Excellent, this is great! Thanks for working on it. Sorry the nested block was kind of a mess. But you handled it well.
@acmacalister I'm gonna merge this in. What do you think?

LGTM. Great Job!

Cool, thanks guys for your review and guidance on that, happy to help!

@acmacalister Re: your comment about compressing old files; see https://github.com/natefinch/lumberjack/issues/13

FWIW, lumberjack has been in use as a part of Juju for over a year, so it definitely has had a lot of burn-in (and we've fixed at least one bug in it from that time period).  Definitely, I'd rather see the code reused rather than duplicate implementations pop up - not out of ego, but just to consolidate the community's efforts.
I'm psyched to see it used by caddy.  I'd love to see some code for compression of backups, I just haven't gotten around to it, and have been super busy lately.  Feel free to propose something.  I made a sketch of the type of thing I'd write given the time to do so, but other proposals are welcome.   I wasn't sure about the policy on third party libraries within Caddy. I actually forked lumberjack a couple weeks ago to start adding compression on backups, but that is about as far as I got. :smile: I will share my idea on compressed backups on the issue Matt opened above.


Wrong URL for JSON

https://botblock.org/api/lists/count doesn't exist/returns 404.

Just asked ipv4, this is indeed correct and their docs were outdated.
Since im still on vacation i will merge, but cant update the npm package yet.


Migration of deprecated bors-ng

Problem
According to https://bors.tech/newsletter/2023/05/01/tmib-76/ :

As the primary maintainer, I officially declare Bors-NG to be feature frozen and deprecated. The public instance will remain running for awhile, but it will eventually start emitting warnings and be taken down. The source code will always be available if you want to run your own instance.

Solutions
From the article above, it recommend two options:

Setup our own instance ng-bors server.
Use GitHub's built-in merge queue

We need to make a decision on this.

Done


Use toml_edit for removing dev-deps

This increases the rustc version required to build cargo-hack. (rustc 1.46+ -> 1.59+)
As always, the cargo/rustc version required to run cargo-hack remains unchanged. (cargo 1.26+)

bors r+


General profit to prob

Taking the comment from the code:

       As there are so many ways to turn the development feasibility

       into a probability to select it for building, the user may pass

       a function which takes the feasibility dataframe and returns

       a series of probabilities.  If no function is passed, the behavior

       of this method will not change

This actually replaces the return-on-cost branch.  Instead of trying to come up with the "correct" profit to probability mapping, I've added the ability to pass in a function so that the user can specify that mapping.  The current way of doing this will remain unchanged so this in no way changes the default behavior of UrbanSim.  I will close and delete the return-on-cost branch since it's unneeded at this point.
Thanks @Eh2406 for keeping an eye on this one.

Coverage decreased (-0.05%) to 95.135% when pulling 623d61e0c47201749284718ff2dc670f28213617 on general-profit-to-prob into 49211c1ad922aaecbdc51fc56d905ab8f5df47cb on master.

this is a pretty non-invasive change (just adds a hook to do fancier stuff) so I'm going to go ahead and merge.  feel free to make a comment and I'm happy to update anything.


 After I refresh the web page, the code blocks disappear.
Screenshots

Gitea Version
latest codebase
Can you reproduce the bug on the Gitea demo site?
Yes
Operating System
No response
Browser Version
none

solved by #29951


EditUserProfile Command

Enables user to edit their details by adding an edituser command. UserConfigCommand will be used to initialise a user's profile when addressbook is first started up.

Pull Request Test Coverage Report for Build 123

93 of 95 (97.89%) changed or added relevant lines in 9 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.9%) to 90.939%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/logic/commands/EditUserCommand.java
54
56
96.43%

Totals

Change from base Build 120:
0.9%

Covered Lines:
1917

Relevant Lines:
2108

💛  - Coveralls


Simple AC simulation vs Shadow matching

Duplicated with https://github.com/dachengx/axidence/issues/33


[feat] Remove pandoc dependency

Great project @theodore-s-beers :+1: !
One gripe though - having pandoc as a dependency (ie haskell and all the haskell libs used by pandoc) seems unnecessary, especially when rust-based alternatives exist like:

https://gitlab.com/Kanedias/html2md
https://github.com/nabbisen/mdka-rs
https://github.com/letmutex/htmd
https://github.com/wooorm/markdown-rs

I'm open to this. htmd looks promising; I don't think it existed when I first wrote gloss. Will explore further. Thanks!

I've now explored some of these libs. In fact, I quite like the API of htmd for turning HTML into Markdown. The problem is that I want the ultimate output to be in plain text, as it is now—and I've realized that Pandoc's plain text target is possibly the only one of its kind.


Now we can send text message across process

Also fix an exception when session folder is deleted, but the cookiejar
have to save cookies in the destruct function.
Please release a new version after merged this pr.

方便留个QQ号吗，有事私下联系一下

发邮箱吧，QQ<EMAIL_ADDRESS>发自 刘兵 的 iPhone

On 20 Apr 2017, at 12:21 AM, HanSon<EMAIL_ADDRESS>wrote:
方便留个QQ号吗，有事私下联系一下
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

这里 restoreServer 的作用并不大，只在example下运行就毫无意义了

要灵活运用呀。如果放在队列里面呢？
发自 刘兵 的 iPhone

On 20 Apr 2017, at 12:37 AM, HanSon<EMAIL_ADDRESS>wrote:
这里 restoreServer 的作用并不大，只在example下运行就毫无意义了
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

如果不调用sync保持心跳，就会掉线

这种情况下不需要保持心跳的，心跳由主进程保持就行。其它进程只需要使用cookies和server.json 就好了
发自 刘兵 的 iPhone

On 20 Apr 2017, at 9:07 AM, HanSon<EMAIL_ADDRESS>wrote:
如果不调用sync保持心跳，就会掉线
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Variable wind parsing

This is a METAR for Brussels Airport: EBBR 081050Z 24005KT 200V280 8000 SCT018 BKN025 17/13 Q1022 NOSIG
When I parse this, the wind.direction_in_degrees quite rightly indicates 240, but wind.variable is False and the 200V280 is nowhere to be found.
Is there a rationale behind this, or is this simply not implemented?

Hi, the wind variation is implemented as independent group, this is made for simplicity and divide the 10 minutes wind direction and speed from the variation. You can found this data in metar.wind_variation.from and metar.wind_variation.to for from and to wind direction variation. metar.wind.variable is a bool telling you if wind direction is coded as VRB like EBBR 081050Z VRB02KT 200V280 8000 SCT018 BKN025 17/13 Q1022 NOSIG.
Greetings.


Update phantom

This updates Phantom to use phantomjs-prebuilt, to hopefully deal with these spurious CI failures in Appveyor.

Coverage remained the same at 96.422% when pulling afee6c2964e57d1c38f352a0ee19af12c3941494 on chore-phantomPrebuilt into c7e44295f6b790d46b864f81606b929905eb1817 on master.

Coverage remained the same at 96.422% when pulling cccd61a5abdd6c52134be6c4e69fee53f16638b7 on chore-phantomPrebuilt into c7e44295f6b790d46b864f81606b929905eb1817 on master.

Hey, look at that, the build passed! Fingers crossed that our good luck continues.

LGTM, would be glad to get that working solidly again.


Watch for ClusterSyncLease and renew if it is missing

now with anti-hotlooping technology!
xref: HIVE-2038

/assign @2uasimojo
/cc @abutcher

/unhold

/retest


Manual UUID

Generates benchmark UUID outside of e2e scripts in order to pass them to indexers to make it easier to find benchmark uuids
Depends on https://github.com/cloud-bulldozer/e2e-benchmarking/pull/256

Codecov Report

Merging #64 (543795e) into master (8f893ca) will increase coverage by 0.30%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #64      +/-   ##
==========================================
+ Coverage   95.68%   95.98%   +0.30%
==========================================
  Files          17       17
  Lines         626      623       -3
==========================================
- Hits          599      598       -1
+ Misses         27       25       -2

Flag
Coverage Δ

gha
95.98% <100.00%> (+0.30%)
:arrow_up:

python-3.9
95.98% <100.00%> (+0.30%)
:arrow_up:

unit
95.98% <100.00%> (+0.30%)
:arrow_up:

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

Impacted Files
Coverage Δ

dags/openshift_nightlies/tasks/benchmarks/e2e.py
91.07% <100.00%> (+2.36%)
:arrow_up:

dags/openshift_nightlies/tasks/index/status.py
96.42% <100.00%> (+0.42%)
:arrow_up:

Continue to review full report at Codecov.

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


Binary crashes after building on Mac OS v10.12.3

I am building on Mac OS v10.12.3 with Erlang v19. I had a few issues while building initially since the rel/ folder was not present. I fixed that by using the configuration from the downloadable mac os version  and after that all the build issues disappeared.
After building, when I try to run the binary, this is what I get:

$ ./_rel/emqttd/bin/emqttd foreground
!!!!
!!!! WARNING: ulimit -n is 256; 1024 is the recommended minimum.
!!!!
Exec: /Users/fabian/dev/sorted/playground/emq-relx/_rel/emqttd/erts-8.2/bin/erlexec -noshell -noinput +Bd -boot /Users/fabian/dev/sorted/playground/emq-relx/_rel/emqttd/releases/2.1/emqttd -mode embedded -boot_var ERTS_LIB_DIR /Users/fabian/dev/sorted/playground/emq-relx/_rel/emqttd/erts-8.2/../lib -mnesia dir<EMAIL_ADDRESS>-config /Users/fabian/dev/sorted/playground/emq-relx/_rel/emqttd/data/configs/app.2<IP_ADDRESS>.20.54.config -args_file /Users/fabian/dev/sorted/playground/emq-relx/_rel/emqttd/data/configs/vm.2<IP_ADDRESS>.20.54.args -vm_args /Users/fabian/dev/sorted/playground/emq-relx/_rel/emqttd/data/configs/vm.2<IP_ADDRESS>.20.54.args -- foreground
Root: /Users/fabian/dev/sorted/playground/emq-relx/_rel/emqttd
starting emqttd on node<EMAIL_ADDRESS>emqttd ctl is starting...[ok]
emqttd hook is starting...[ok]
emqttd router is starting...[ok]
emqttd pubsub is starting...[ok]
emqttd stats is starting...[ok]
emqttd metrics is starting...[ok]
emqttd pooler is starting...[ok]
emqttd trace is starting...[ok]
emqttd client manager is starting...[ok]
emqttd session manager is starting...[ok]
emqttd session supervisor is starting...[ok]
emqttd wsclient supervisor is starting...[ok]
emqttd broker is starting...[ok]
emqttd alarm is starting...[ok]
emqttd mod supervisor is starting...[ok]
emqttd bridge supervisor is starting...[ok]
emqttd access control is starting...[ok]
emqttd system monitor is starting...[ok]
12:21:00.838 [error] CRASH REPORT Process <0.996.0> with 0 neighbours exited with reason: no match of right hand value undefined in emqttd_plugins:plugin/1 line 116 in application_master:init/4 line 134
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
{"Kernel pid terminated",application_controller,"{application_start_failure,emqttd,{bad_return,{{emqttd_app,start,[normal,[]]},{'EXIT',{{badmatch,undefined},[{emqttd_plugins,plugin,1,[{file,"src/emqttd_plugins.erl"},{line,116}]},{emqttd_plugins,'-list/0-lc$^0/1-0-',1,[{file,"src/emqttd_plugins.erl"},{line,102}]},{emqttd_plugins,'-list/0-lc$^0/1-0-',1,[{file,"src/emqttd_plugins.erl"},{line,102}]},{emqttd_plugins,list,0,[{file,"src/emqttd_plugins.erl"},{line,102}]},{emqttd_plugins,load_plugins,2,[{file,"src/emqttd_plugins.erl"},{line,74}]},{emqttd_app,start,2,[{file,"src/emqttd_app.erl"},{line,48}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,273}]}]}}}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,emqttd,{bad_return,{{emqttd_app,start,[normal,[]]},{'EXIT',{{badmatch,undefined},[{emqttd_plugins,plugin,1,[{file,"src/emqttd
Crash dump is being written to: log/crash.dump...done

Any help would be much appreciated :

please provide your emq directory under the/etc/plugins configuration files thanks

etc/plugins directory
https://drive.google.com/drive/folders/0Bz0fT_1TJXQPdGZCNmJvX01zeGc
lib/ directory
https://drive.google.com/drive/folders/0Bz0fT_1TJXQPSnNrTW9iYjBobmM
I've also uploaded the entire directory here in case you need something else https://drive.google.com/drive/folders/0Bz0fT_1TJXQPc2xoWkpZZTJEcms

@fabianTMC
RUN rm -rf deps _rel rel
make

It works now. I don't understand what was going wrong? When I had compiled it after a fresh clone, it was throwing a vm.args issue similar to this https://github.com/emqtt/emqttd/issues/866
I tried a fresh clone as well and there are no issues any more.

Update: Now when I try to build, I get the following error:

./rebar skip_deps=true escriptize
==> cuttlefish (escriptize)
DEPEND gproc.d
ERLC   gproc.erl gproc_app.erl gproc_bcast.erl gproc_dist.erl gproc_info.erl gproc_init.erl gproc_lib.erl gproc_monitor.erl
gproc_pool.erl gproc_ps.erl gproc_pt.erl gproc_sup.erl
src/gproc_dist.erl:23: Warning: behaviour gen_leader undefined
APP    gproc.app.src
make[3]: rebar: No such file or directory
make[3]: *** [deps] Error 1
make[2]: *** [deps] Error 2
make[1]: *** [deps] Error 2
make: *** [deps] Error 2

@fabianTMC please install a rebar, and put it under the /usr/local/bin/

It works now. Thanks :)


[TR#142] Safari Mobile Form Control Bug

Task
TR #142
Why?
Box shadows on Form Controls on Safari Mobile were not rendering correctly.

What Changed

[X] Add appearance none to form control

Sanity Check

[X] Have you updated any usage of changed tokens?
[X] Have you updated the docs with any component changes?
[X] Have you updated the dependency graph with any component changes?

[X] Have you tried building the css?
[X] Have you tried building storybook?
Do you need to update the package version?

Screenshots

 Safari Mobile does not render Inputs correctly


FIX: Make custom error messages available to extensions

By default if you call ->httpError(404, 'My Custom Message') on a controller you'll get a plain text response that displays your custom message. Plain text doesn't look very pretty though so we use modules like ErrorPage to render a themed HTML response instead.
To provide a themed response from RequestHandler::httpError() you need to hook in to that method and throw an alternate exception before the default one is thrown. The extension points don't currently pass through the custom error message though, so it's not currently possible for extensions to access and use the custom error message when generating a response.
I guess this would be considered 'new backwards compatible API' so I've opened this against 4, but I'll happily redirect to 4.0 if this might be considered a bug fix.

Behat failures due to https://github.com/silverstripe/silverstripe-framework/pull/8113, unrelated.


Performance improvements to Theta config

Description
Quick change the Theta example. The current one has issues with CPU masking
Type of change

Documentation update

Quick change the Theta example. The current one has issues with CPU masking


etcd is unable to recover when quorum is lost

Is this a request for help?: No

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT

Version of Helm and Kubernetes:
Helm Client Version: v2.11.0
Helm Server Version: v2.11.0
Kubernetes Version: v1.10.3
Which chart:
etcd version 0.6.0
What happened:
When the etcd cluster loses quorum nodes cannot be brought back.
What you expected to happen:
The nodes which were unavailable should be able to join the cluster once they have become available.
How to reproduce it (as minimally and precisely as possible):

Start the helm chart, I am going to use persistent volumes but that is not required, you could also just use kill -9 from inside the container:
helm install --name etcd-bug ./ --set persistentVolume.enabled=true,persistentVolume.stroage=256Mi

Next stop 2 nodes (if you are running with a repilca different than the defualt you will need to stop n/2+1 nodes):kubectl delete pods/etcd-bug-etcd-1; kubectl delete pods/etcd-bug-etcd-2

You can then watch the nodes try to come back up and you will see that they are unable.
Anything else we need to know:
I suspect the issue is here where we are using etcdctl to set update member placement, however when the cluster has less then quorum nodes available it etcdctl member update is unavailable. This is because this is command prompts a write to the DB which is not possible with less than quorum nodes. The logs from the nodes which are attemping to join include this error:
client: etcd cluster is unavailable or misconfigured
It is the case that when a node exists it should be removed from the cluster using the command in the preStop script, however potentially due to a race condition this command does have the desired effect of removing the node from the cluster. If  line 115 is commented out the nodes are able to come back without a problem. If it seems reasonable I can put up a PR to remove this line unless someone is familiar with the reasoning for this.

@hexfusion @gyuho just wanted to get your opinion on this?

@hexfusion @gyuho just wanted to get your opinion on this?

basic logic is this. https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/runtime-configuration.md#update-a-member
If quorum loss is temporarily (restarted node) underlying data-dir exists and ${HOSTNAME} and ${SET_NAME} are unchanged member update is not required and would fail if cluster were not quorate.
If ${HOSTNAME} or ${SET_NAME} changes and existing data-dir is available then member update would be required for member to rejoin quorate cluster. But would fail if not quorate.

client: etcd cluster is unavailable or misconfigured

https://github.com/helm/charts/blob/44c1f6d7674edd83e038e7ebb0a83674c5b461bb/incubator/etcd/templates/statefulset.yaml#L109-L121
So it seems if member update fails (timeout) then etcd is started regardless. This I think would cover a non quorate timeout and restore from temp loss of quorum and also if ${HOSTNAME} or ${SET_NAME} changed and cluster were quorate with member update. So I don't think removing that would be good.
Where this would fail is if you delete a Pod and new Pod has different ${HOSTNAME} or ${SET_NAME} and cluster is not quorate. You would then start etcd with the new values which would be fine for client but the PeerUrls of the cluster would now be incorrect.
I would need to see the etcd logs to understand what exactly is happening.

Another thing I notice in v3 etcdctl member update requires --peer-urls flag
so this should look like this
ETCDCTL_ENDPOINT=$(eps) etcdctl member update ${member_id} --peer-urls http://${HOSTNAME}.${SET_NAME}:2380

etcdctl must be using ETCDCTL_API=2 so disregard above re --peer-urls

/remove

This is still an issue for me, removing the member update line seems to work. If all your pods live in a statefulset then the line is not necessary anyways

/remove

/remove


Support Qt

Adding Qt support would greatly increase your userbase :-).

+1 would love to see a PySide version.  Of course this gets a little sticky since the popular Anaconda includes PyQt rather than PySide so licensing issues will arise.

It seems like this might happen after all :). See discussion at #65 .

It is happening. Albeit... slowly..
But happening!


Add documentation folder

Adding documentation folder which contains
-ERD
-DFD  (separated into 2 parts)
-Pages design
-Specification document
fix #25

I would recommend using some file format that get DIFFed by Git and GitHub fot the textual documents. Did you cnosider markdown?

Ok, I will update all the files so that they are displayed in Git using markdown

I closed this PR and uploaded new files using markdown in PR #32


1 add boundary outside recorded data

fix #51
Hello @alexbourret
Maybe the way tofix the issue is not the best.
Could you give me a feedback ?
I will adjust if necessary.
Thanks for your help

Hi @alexbourret,
First of all, thank you very much for your responsiveness. 👍
And yes, you are right about the boundary with the interpolated values.
I just tested it locally; the tests I conducted with my version are working with yours.
I’m not able to run all the non-regression tests, but for these parts, it seems to be okay.
Thank you again for your responsiveness! 💯


1.glb

apart from seams I mentioned in https://github.com/felixmariotto/Edelweiss/issues/14#issuecomment-622145375, there are now shadow issues:

did not notice them before because shadows keep getting optimized for me.

I'm pretty sure that's because of the shape of the walls at the top, I didn't care as I knew nobody would see, but it turns out I should have done smooth edges

also the wall on the left - maybe replace it by one single quad?

I closed the other issues, but I would love to see you fixing this one, if possible

This is fixed with the new batch of map chunks I uploaded, thanks for catching the issue.


No Feedback on if Manifest is Generating

When I type the command to generate a manifest, it just sits there. There's is a blinking cursor under the command but it doesn't appear to be doing anything and no manifest file is added to the gogcli folder.
I suspect this has to do with my cookie file but I'm not 100% sure. I looked everywhere in both Chrome's and Firefox's cookie inspector but couldn't find sessions_gog_com anywhere to get a value from. Any help?

Sorry I missed your question somehow. It fell between the cracks. Let me know if you still require assistance with this problem.


Figure out which arguments are files/directories

There needs to be a way to extract out all the files that need to be templated. This can be very tricky, especially with something like docker build, where it will automatically use Dockerfile in the context directory if no file is given.

Completed in 949f13e


memex explorer no longer airgapped

https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js
is now being network-loaded.  It's not obvious what's requesting this yet.

@ahmadia where i thee code is this being called?

Front page and a couple of other places.  There's a chance it's due to a browser plugin, I couldn't find it anywhere in the memex explorer source but wanted to note it.

I figured it out. Django debug toolbar is calling it. Since we dont have the debug toolbar in production, this shouldn't be a problem.

+1 let's close.

Aron Ahmadia
Computational and Data Scientist
[image: Continuum Analytics] http://continuum.io
On Fri, Oct 23, 2015 at 12:36 PM, Brittain Hard<EMAIL_ADDRESS>wrote:

I figured it out. Django debug toolbar is calling it. Since we dont have
the debug toolbar in production, this shouldn't be a problem.
—
Reply to this email directly or view it on GitHub
https://github.com/memex-explorer/memex-explorer/issues/719#issuecomment-150627690
.


Failed to parse Stream on Active Event

` Server started on port 8000
There is an active event. Going to start the stream.
Getting stream for event:  9a046ce9-abe4-4319-a596-9a66e0a8d8f8
Failed to parse the stream
Failed to parse the stream
There is an active event. Going to start the stream.
Getting stream for event:  9a046ce9-abe4-4319-a596-9a66e0a8d8f8`

Could be a few different issues:

Game is blacked out for your location
Event hasn't started/Event has ended

I don't think so, I logged into my account on my browser and checked if the events were active and I could stream them, both worked fine.

There is a error npm throws on startup not sure if it could be related.
33 verbose node v14.17.6 34 verbose npm  v7.24.2 35 error path /app 36 error command failed 37 error signal SIGTERM 38 error command sh -c ts-node "index.ts" 39 verbose exit 1

The mechanism for getting the streams has been re-written. Can you try again?


filterNode with predicate value of "False" in the logical plan

Execution of TPCDS q04 will result in a filterNode in the logical plan which has a predicate value of "false" as seen in below snapshot: (mysql connector)

Please note that this issue is also reproducible with builtin tpcds connector as well.
Furthermore, the predicate is also retained in the final plan as can be seen below:

@RahelehK thanks for reporting this.
Obviously, such a predicate should be "eliminated" (replaced with empty ValuesNode).

Fixed, thanks.


RSA decryption

This issue was created by @timbod7 at:

https://github.com/depressed-pho/HsOpenSSL/issues/51

is there any news on this? I would like to use this feature, to at least to be able to decrypt a password/passphrase (minimalistic text), and from that point use the approach as described here:

https://github.com/vshabanov/HsOpenSSL/blob/master/examples/HelloWorld.hs#L39

No news. But I will gladly accept a pull request with this functionality.

I probably give it a try:

https://www.openssl.org/docs/man1.0.2/crypto/RSA_private_decrypt.html


ci(repo): ESM Migration & Bump Deps

Summary of changes
Provide a detailed description of proposed changes.

[x]  Removed unused anchors & signature bridge addresses in the config.
[x]  Migrated to Nx v19 which supports ESM migration and utilizes nx-release to improve the release process.
[x]  Migrated all libraries to ESM:

[x]  Updated the rollup build with consistent bundles & types.
[x]  Updated the tsc build for consistent bundles & types.

[x]  Migrated apps to ESM

[x]  Migrated webpack apps to ESM
[x]  Investigated the Nextjs migration to ESM but unfortunately, @nx/next plugin is not yet supported in ES modules

See https://github.com/nrwl/nx/issues/15682
See https://github.com/nrwl/nx/issues/23048#issuecomment-2120106231

[x]  Updated minimum requirement engines

Node >=18.12.x
Yarn 4.2.2

[x]  Bumped 88 dependencies & 164 dev dependencies with breaking changes
[x]  Upgraded to Storybook v8.1.1 with breaking changes
[x]  Removed Sentry on apps
[x]  Upgraded github action packages with breaking changes
[x]  Migrated to wagmi v2
[x]  Fixed the secondaryMessage not showing on the notification
[x]  Fixed rainbow wallet connection
[x]  Handled wallet not installed error with multiple injected providers by utilizing EIP-6963 providers
[x]  Migrated to Eslint v9 & Prettier v3

Tried flat config feature of eslint v9 but it seems nx still not supported flat config with esm modules pretty well!

[x]  Replaced built-in hooks with hooks from a library
[x]  Migrated to Modern Yarn v4

Instruction to migrate to Modern Yarn v4 (cc @yurixander @devpavan04 @vutuanlinh2k2)

Make sure the minimum Node requirement >=18.12.x
Run corepack enable to activate Corepack
Go into your project directory
Run yarn set version 4.2.2

For more information about the migration, refer to the Yarn documentation.
Proposed area of change
Put an x in the boxes that apply.

[x]  apps/bridge-dapp
[x]  apps/hubble-stats
[x]  apps/stats-dapp
[x]  apps/tangle-dapp
[x]  apps/testnet-leaderboard
[x]  apps/faucet
[x]  apps/zk-explorer
[x]  libs/webb-ui-components

Reference issue to close (if applicable)
Specify any issues that can be closed from these changes (e.g. Closes #233).

Closes https://github.com/webb-tools/webb-dapp/issues/2312
Related https://github.com/webb-tools/webb-dapp/issues/2250

The current build time of the webb-ui-component is not optimal; it takes around 30 minutes to build the library 🥲. I investigated and tried many approaches to optimize the build time over the last weekend.
Rollup doesn't work very well with bundling the project's dependencies. I've tried many ways to optimize Rollup's build time but haven't come up with an optimal solution.
So, I decided to move to Vite to build the webb-ui-components. This will be handled in a separate PR and then merged into this PR.

Transfer (Substrate address to Substrate address and Substrate address to EVM address) ✅
https://github.com/webb-tools/webb-dapp/assets/53374218/0f7a4311-9d43-4d25-8a54-89ff505b34c0

First-time nominator (step 1 - select validators) runtime error ❌
https://github.com/webb-tools/webb-dapp/assets/53374218/85bf6b22-b31b-458b-a797-ced77d332a61

First-time nomination (Substrate) ✅
https://github.com/webb-tools/webb-dapp/assets/53374218/7299aca4-cc37-4a2d-a3ad-4ddab5d48ccd

Add stake -bond extra (Substrate) ✅
https://github.com/webb-tools/webb-dapp/assets/53374218/a85833db-937a-4c9c-9b37-d263bef12b48

Unbond (Substrate) ✅
https://github.com/webb-tools/webb-dapp/assets/53374218/0407ecdc-0d33-4347-8278-06b70647d74f

Rebond (Substrate) ✅
https://github.com/webb-tools/webb-dapp/assets/53374218/9ef83eb9-b0c7-413c-83d4-7452d83783e6

Change reward destination (Substrate)
https://github.com/webb-tools/webb-dapp/assets/53374218/769066f2-6fbb-47e1-af37-b0485fede46f

Stop nomination (Substrate) ✅
https://github.com/webb-tools/webb-dapp/assets/53374218/9ed2f247-f83d-45d2-b309-d5093c281824

EVM transaction QA checklist:

[ ] Setup nominator
[ ] Bond more
[ ] Set payee
[ ] Unbond
[ ] Rebond
[ ] Withdraw
[ ] Transfer EVM -> Substrate
[ ] Transfer EVM -> EVM