helm not working with rancher

Rancher Versions:
Server:1.3.3
healthcheck:
ipsec:
network-services:
scheduler:
kubernetes (if applicable):
1.5.1
Docker Version:
1.12.6
OS and where are the hosts located? (cloud, bare metal, etc):
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Nginx in front of rancher
Steps to Reproduce:
rancher behind nginx yields:
helm install deis/workflow --namespace deis
Error: forwarding ports: error upgrading connection: unable to upgrade connection:
Hitting rancher server directly:
$ helm install deis/workflow --namespace deis
Error: forwarding ports: error upgrading connection: error dialing backend: dial tcp x.x.x.:10250: getsockopt: connection timed out
Results:
helm to connect to k8s api and deploy tiller

@aemneina @galal-hussein This is fixed in v1.3.3 of rancher with nginx in front of rancher and the nginx config is  (slight changes from the doc) -
upstream rancher {
    server <IP_ADDRESS>:8080;
}

server {
    listen 443 ssl spdy;
    server_name hussein.rancher.space;
    ssl_certificate ssl/nginx.crt;
    ssl_certificate_key ssl/nginx.key;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://rancher;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        # This allows the ability for the execute shell window to remain open for up to 15 minutes. Without this parameter, the default is 1 minute and will automatically close.
        proxy_read_timeout 900s;
    }
}

server {
    listen 80;
    server_name hussein.rancher.space;
    return 301 https://$server_name$request_uri;
}

Duplicate of https://github.com/rancher/rancher/issues/7234

Rancher version: v1.3.3
kubernetes version: rancher/k8s:v1.5.1-rancher1-8
Tested nginx in front of Rancher and helm is working without problems.

Just found the same error, when using rancher 1.5.2 with k8s catalog 1.5.4.
I will try to change the k8s catolog first.


feat: alias filter to filters

Closes #187
📑 Description

Updated the alias in filters.go to filter.
✅ Checks

[x] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[ ] All the tests have passed

Thank you for the merge!


After simple query, the system does two clear data actions

this is undesirable, there should be only one.
It ends up drawing the plot for the first and then erasing it, forcing us to re-plot

fixed


RTL support

I'm not familiar with premailer. does it support RTL? if so, how can I add that in my rails app?
I'm working on RTL support for an existing open source project.

premailer (and premailer-rails) don't have any notion of RTL. It simply inlines CSS into your HTML. Thus, if your HTML and CSS support RTL, it should just work 😊


make header generation optional or customizable

Currently Changelog.generate(::Documenter, ...) hardcodes
  # Header to set EditURL
  header = """
  ```@meta
  EditURL = "https://github.com/$repo/blob/$branch/CHANGELOG.md"
  ```

which is correct only if CHANGELOG.md is in the root directory of the repository, which may not always be the case (e..g I keep my changelogs in docs/src).
It would be nice to be a bit more flexible and allow to customize the edit-link. A couple of options:

pass a boolean add_editURL::Bool = true keyword, which if set to true will add that header and if set to false not. This is not very generic, as it would work assume the changelog is either in the root directory or in docs/src, maybe it's enough though
pass a editURLprefix::String = "" keyword which is inserted between $branch and CHANGELOG.md. This should be fairly generic (assuming the CHANGELOG is in the same repository, which sounds reasonable :P)
Try to figure out the editURL automatically from inputfile. I guess could be done but not sure if this fanciness is worth the trouble

What do you think? Happy to open a PR, but wanted some feedback on the idea first

Try to figure out the editURL automatically from inputfile. I guess could be done but not sure if this fanciness is worth the trouble

This one makes the most sense to me, since we are already passing the path to the function


Outlining of Windows/PE TLS accesses to make analysis easier

(Note: I am not familiar with TLS access on non-Windows platforms, so I don't know how much of this would apply there, if at all.)
Consider this MLIL in a Windows x64 PE:

For the benefit of people who are not familiar with Windows: On x64, gs points to the TEB. At offset 0x58 in the TEB, there's the ThreadLocalStoragePointer pointer field. At the location pointed to by that field, there's an array of pointers to TLS data blocks for each loaded module. That array is indexed by each module's _tls_index variable (which is assigned by the OS loader).
So, in the above code, rcx_1 is pointing to the module's TLS data block for the current thread, and 0xa2c0 + rcx_1 is accessing some sort of application-level thread-local state.
Most TLS accesses follow the pattern above, so I can define a __tls struct that matches the size of the TLS data block as found in the IMAGE_TLS_DIRECTORY, and then retype rcx_1 as __tls*. Unfortunately, this isn't going to work in embedded expressions:

Also, sometimes, it needs to be typed as __tls**:

And worst of all: _tls_index has 1273 references in this particular binary. 😄
At this point, the obvious answer is to write an analysis pass to handle this. I would suggest, though, that this is going to be such a common need that it should be part of BN. The way I see it, BN could detect these patterns:
addrOfTlsData = [fsbase + 0x2c].d + ([&_tls_index].d << 2)          // x86
addrOfTlsData = [gsbase + 0x58].q + (xz.q([&_tls_index].d) << 3)    // x64

And outline them with a synthetic builtin with a signature like this:
void** __builtin_tls(uint32_t* index);

So, for example, the 3 access patterns above would be transformed like so:
rax_1 = [gsbase + 0x58].q
rcx = xz.q([&_tls_index].d)
rcx_1 = [rax_1 + (rcx << 3)].q
// ->
rcx = __builtin_tls(&_tls_index)
rcx_1 = [rcx].q

_tls_index_1 = zx.q([&_tls_index].d)
rax = [gsbase + 0x58].q
r10 = 0x60 + [rax + (_tls_index_1 << 3)].q
// ->
rax = __builtin_tls(&_tls_index)
r10 = 0x60 + [rax].q

_tls_index_1 = xz.q([&_tls_index].d)
rax_1 = [gsbase + 0x58].q
rax_2 = rax_1 + (_tls_index_1 << 3)
var_f0 = rax_2
rax_3 = [rax_2].q
rax_4 = rax_3 + 0xa1a0
// ->
rax_2 = __builtin_tls(&_tls_index)
var_f0 = rax_2
rax_3 = [rax_2].q
rax_4 = rax_3 + 0xa1a0

The analysis could perhaps also be made more clever so that it can handle the third case, in which case the builtin signature would just be:
void* __builtin_tls(uint32_t* index);

Either way, this outlining has a few wins:

Code using TLS becomes much easier to read (especially in HLIL and Pseudo C).
Finding xrefs into TLS data becomes easy out of the box.
Users are less likely to miss TLS accesses due to more complex code patterns (e.g. reusing a variable holding the TLS index, or whatever).
Users can retype __builtin_tls as returning __tls** (or __tls*) after they define such a type.

BN could perhaps even define it and its size automatically based on IMAGE_TLS_DIRECTORY contents...?

Related: https://github.com/Vector35/binaryninja-api/issues/1977


Add ch_ephem to chime public repo list

Does this require a __version__ bump?

Yeah, I think this should be a version bump. Maybe we should just wait until we can remove the requirements-detector requirement as well?

Yes, we should wait.


Type closure cannot currently be persisted

When I tried to run the cell bellow, an error occurs from rust_kernel.
let a = |x| x + 1;
a();

Sorry, the type [closure@src/lib.rs:117:9: 117:18] cannot currently be persisted.

I guess you saw that it isn't supported. You can sort of make it work if you can give the variable a named type, which you can do if you box the closure. e.g.
let a: Box::<dyn Fn(u32) -> u32> = Box::new(|x| x + 1);
(a)(41)


Feature/strm 686

:tada: This PR is included in version 1.21.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Delete all in batches

In the process of merging this with purging mixin
You'll notice some overlap with that #5925.

This is in the process of merging most of them together.
Performance impact:
New code:

no longer counts the rows in the database before deleting them.
no longer pulls back all the ids and sends the list back to the database.
Basically 1/2 the number of queries, and the queries that are run are no longer fetching and sending ids over the wire.
smarter about deleting ids when getting close to a max window
often runs 1 less iteration at the end.

/cc @matthewd @Fryguy any thoughts around this or the related #5925

glad the specs failed. Looks like there was a bug in miq_storage_metric_spec so I added a spec for every method that was recently added/refactored.

@matthewd @Fryguy please review this PR and related #5925

@matthewd @Fryguy please review this PR and related #5925


bug fix: unused arg for batch step --help

addresses: https://github.com/Netflix/metaflow/issues/1771
issue:
python hello.py batch step --help command was breaking due to wrong type for click.Choice arg.
change:
setting default arg for ubf-context from None to "none" in "batch step" make it compatible with click.Choice()
however, ubf-context is not needed for the "step" function when using aws-batch, so we can safely remove altogether.

If you want to keep the functionality, the proper line should read something like:
type=click.Choice(["none", UBF_CONTROL, UBF_TASK]),

I was under the impression that ubf may be used by parallel so may be worth keeping around.

@romain-intel i can revert to if you want https://github.com/Netflix/metaflow/pull/1817/commits/244ff31c9c81ac811ef4b4499c4f819e74a028f3

I was under the impression that ubf may be used by parallel so may be worth keeping around.

fwiw, the step() function this is decorating doesn't take ubf-context as an argument. So there's not a possibility this arg is being used (here).

Finally had time to test this, and as Romain mentioned, @parallel somewhat depends on the option existing, even if it is not explicitly used. Removing the option completely breaks parallel deco on batch.
Can you instead revert to the commit you mentioned? Also replace the TODO with for example the following:
# NOTE: ubf-context is not explicitly used, but @parallel decorator tries to pass this so keep it for now.


#333: aggregated reports

Hello, here is my shot at trying to solve https://github.com/mojohaus/versions-maven-plugin/issues/333

For new files we use standard Apache 2.0 license headers:
https://groups.google.com/g/mojohaus-dev/c/OTg7XfiX61w
I prefer groovy scripts for verification than beanshell ... as nice to have 😄

For new files we use standard Apache 2.0 license headers: https://groups.google.com/g/mojohaus-dev/c/OTg7XfiX61w
I prefer groovy scripts for verification than beanshell ... as nice to have smile

Added Apache 2.0 license headers to newly added *.java files, replaced beanshell verification scripts with groovy scripts

last nits

Resolved

Yes, you're supposed to have edited https://github.com/mojohaus/versions-maven-plugin/blob/master/versions-maven-plugin/src/site/markdown/index.md#reporting-goals-overview
But I guess you can still do it in another PR ;)


Could not get unknown property 'ANDROID_BUILD_SDK_VERSION

whenever i try to import the library i get this error
Error:(4, 1) A problem occurred evaluating project ':DatePicker'.

Could not get unknown property 'ANDROID_BUILD_SDK_VERSION' for project ':DatePicker' of type org.gradle.api.Project.

Are you using gradle?

yes

Do you have some special rules set?
The libraries build.gradle loads values from a gradle.properties file. That's where the ANDROID_BUILD_SDK_VERSION property lives. It seems like this variable is not initialized when you try to build.
My guess (and I'm absolutely no gradle expert) is that you're excluding this gradle.properties file somehow.

Asa i know i don't have any specific rules and gradle.properties file is included, btw you have a look at my project here https://github.com/Birdielove/To-Do.git, thanks for your help really appreciated.

I'm sorry, I'm not going to debug your project. I just don't have the time.
The cheapo solution (most likely) is to just define the variable in your gradle.properties.
I'm no gradle expert. I dread upgrading it, because each time any component anywhere changes my build blows up.
I suggest reading up on how gradle handles inheriting properties from dependencies to get to the bottom of this.


Navbar items shrinks to centre after login feature

Description
After addition of the login button, all navbar items shrink to the center, leaving blank spaces at both ends
Screenshots
Before fix

After fix(change proposed)

Additional information
I made some changes regarding this issue, let me know  you thought on this issue

Thank you for the suggestion. I don't think we need this change now.
The Navbar buttons are always the same width of the contents of the page - I think it is best to keep it the same for now, so I will close this issue


Keep getting 403 after installation

Hello 👋
Describe the bug
I followed the installation step by step but I keep getting a 403 error (Authenticated and public rol have access to the /api/metric)
I created a brand new repo to test and I got the same error:
https://github.com/Antoine-lb/strapi-prom-test
Would you mind giving me a hint on what may be the problem?
This plugin may be a game changer for me, if I manage to make it work I would be very happy.
Thanks, have a great day!

Yes, right now you cannot use the roles as a way to secure that endpoint, partially due to the fact that there is little to no documentation (that I have found) about how the whole user-permissions plugin works.
Therefor I chose to only enable use of the api token of strapi (this is enabled by default). So you should create an api token and use that instead of username/password for authentication.
I am sorry for this inconvenience but it was the fastest way to enable auth. This may change in the future but I haven't had any time to work on this.
so TLDR;
Use api token (read-access) instead of username/password of user-permissions plugin to authenticate to the /api/metric endpoint.

I did update the readme as this wasn't mentioned there yet

Thanks a lot for your answer!


Small issue with Ubiquity_edge - probably my fault.

Question
Turned debugging on and added $ to the pattern, its finding it, but timing out after the command.
DEBUG:netdev:Host <IP_ADDRESS>: Reading pattern '>|\#|\$' was found: '\r\nmyname@rtr0:~$ \r\n'
DEBUG:netdev:Host <IP_ADDRESS>: Found Prompt: 'myname@rtr0:~$'
DEBUG:netdev:Host <IP_ADDRESS>: Base Prompt: myname@rtr0
DEBUG:netdev:Host <IP_ADDRESS>: Base Pattern: \(myname@rtr.*?\) (\(.*?\))?[>|\#|\$]
INFO:netdev:Host <IP_ADDRESS>: Entering to privilege exec
INFO:netdev:Host <IP_ADDRESS>: Checking privilege exec
INFO:netdev:Host <IP_ADDRESS>: Reading until pattern
DEBUG:netdev:Host <IP_ADDRESS>: Reading pattern: \(myname@rtr.*?\) (\(.*?\))?[>|\#|\$]
ERROR:asyncio:Task exception was never retrieved
netdev.exceptions.TimeoutError: Host <IP_ADDRESS> Timeout Error

Any insight? (running the command in ssh/cli works fine so i know its the command thats the issue. (let me know what you need) It looks like it finds the prompt fine but can't seem to read the pattern.
import asyncio
import netdev
import logging

logging.basicConfig(level=logging.INFO)
netdev.logger.setLevel(logging.DEBUG)

async def task(param):
    async with netdev.create(**param) as ubi:
        out = await ubi.send_command("?")
        print(out)

async def run():
    dev = {'username': 'admin',
            'password': 'password',
            'device_type': 'ubiquity_edge',
            'host': '<IP_ADDRESS>',
            }
    devices = [dev]
    tasks = [task(dev) for dev in devices]
    await asyncio.wait(tasks)

loop = asyncio.get_event_loop()
loop.run_until_complete(run())

No idea - its working today. Must be something on my end.


Update Live Import / External Sources documentation

Depends on #2817, as the BTE system has not been entirely removed.
Once BTE has been removed, the DSpace 7 "Importing Items via basic bibliographic formats" documentation should be updated to remove mentions of BTE & replace the BTE docs with examples from Live Import / External Sources (where plausible):
Documentation to be updated:

https://wiki.lyrasis.org/pages/viewpage.action?pageId=104566672 (Remove sections on BTE, update Live import as needed)
https://wiki.lyrasis.org/display/DSDOC7x/Live+Import+from+external+sources (Remove mentions of BTE, verify configuration is still accurate)

We have documented the live import framework as used in DSpace-CRIS 7 here https://github.com/4Science/DSpace/releases/download/dspace-cris-2021.01.00/dspace-cris7-2021_01_00-technical-documentation.pdf (look to page 87 and forward). There is a chance to reuse content, it would be necessary for sure to

remove mention of Providers not yet part of DSpace 7
remove mention of the Provider - Entity type binding
add a warning that only one item can be imported at time (in DSpace-CRIS we have removed this constraint)
other...? we could have other improvements / changes that I don't remember right now

if you found anything wrong or difference that you like to see in DSpace as well please just let us know we will be happy to contribute back

Closing this as "good enough".  Thanks to @abollini , I've copied over some of the docs from 4Science into https://wiki.lyrasis.org/display/DSDOC7x/Live+Import+from+external+sources
I've also simplified this page so that it's more about user experience / UI (and it links to the Live Import docs for more technical details): https://wiki.lyrasis.org/pages/viewpage.action?pageId=104566672
Overall, I'm sure these docs can be improved, but the basics are now there.


Implement placement new concept

Brief feature description
See: #220
When a large data type that does not fit into the stack is transmitted via shared memory we encounter a stack overflow. It is caused by a lacking placement new functionality in Rust, see: https://github.com/rust-lang/rust/issues/53827
Example:
let a = Box::new([-1; 3000000]);

We need to add a mechanism so that
let sample = publisher.loan()?;

and
let sample = publisher.loan_uninit()?;
let sample = sample.write_payload(LargeDataType::default());

perform a placement new into the provide shared memory.
Detailed information
One possible solution can be the introduction of a PlacementNew trait in combination with a placement_new derive macro.

There is already a workaround for this available by using
let mut sample = publisher.loan_uninit()?;
let sample = unsafe {
    sample
        .payload_mut()
        .as_mut_ptr()
        .write(LargdDataType::default());

    sample.assume_init()
};

It should work reliably with release builds but might fail with debug builds.
We need a long term solution but I think a build-in Rust solution would be ideal. Maybe this is something we could engage in the Rust community and try to speed it up?

@elBoberido, we could try, but I doubt we can realize this in the following months.
I can't entirely agree with calling this reliable when this algorithm depends on a release optimization. For whatever reason, this could be turned off in some corner cases, or the compiler may not be able to realize that it can perform this optimization.
And what if the user, who is using iceoryx, integrates this into unit tests - then it will cause problems again. With this we would also enforce our users to always build in release mode, also during development, which would cause additional problems.
So my take on this is that we require a quick and comfortable solution and we can use our solution as a discussion basis for the Rust community to come to a build-in Rust solution. What do you think?

@elfenpiff I think there are more pressing issues but it's up to you.


add mirrors.nektro.net mirror

I'm not prepared to accept mirrors which don't correctly support HTTPS; setting it up nowadays is free and relatively straightforward. I am aware that the minisign signature on the tarballs should mitigate any risk of MITM etc; this does not change my stance.
Feel free to open another PR if your mirror gains proper HTTPS support.


Some questions about the codes

Hi, thanks for the open source.
But I have some questions about the codes:

On line 659 in the main.py file, the total loss includes 8 sub-losses. But tr_loss and cr_loss are removed explicitly in Equation 7 of the paper, and the CFR regularization term (i.e., imb_dist_loss) is not used as described in Section 3.3.

In the parameter configuration file (i.e., conf_lzd_real_bin_v0_full.yaml), I find that the weight parameters corresponding to the proposed 5 new sub-losses are all set to 0 (i.e., prpsy_w, escvr1_w, escvr0_w, mu0hat_w and mu1hat_w).

It may be necessary to double check whether it is consistent with the best experiment.
Best regards

Hi dgliu,
Thank you for your interest in our work.
For Q1:
The codes determines whether to enable sub-loss by setting the weight to 0 or not. Different models will enable different sub-loss.
For example, imb_dist_loss is no need for TarNet, so the corresponding weight item imb_dist_w is set to 0, which can be seen in ./conf4models/lzd_real_data/TARNet.txt.  But imb_dist_w is set to a non-zero value for CFR, which is shown in ./conf4models/lzd_real_data/ES_CFRwass.txt.
ForQ2:
On line 858 in main.py ,

#./conf just contain a configuration template as default for configuration, which needs to be overwritten(key-value wise) by the hyper-parameters in ./conf4models

The parameters of each model are actually saved in ./conf4models/
We load the configuration information by executing search_params.py
, and build the configuration terms into command-line parameters, which shown on line 106 in search_params.py. With Hydra's features, the configuration terms can actually work.
As described in README:

A convenient way to call training and evaluation code serially:
python search_params.py main.py eval4real_data.py ./conf4models/lzd_real_data/DESCN.txt 1 {path_to_train_npz}   {path_to_test_npz}
More examples can be referred to code in DeepModels_real_data.ipynb

@dgliu
Hi dgliu,
Thank you for your interest in our work.
For Q1:
The codes determines whether to enable sub-loss by setting the weight to 0 or not. Different models will enable different sub-loss.
For example, imb_dist_loss is no need for TARNet, so the corresponding weight item imb_dist_w is set to 0, which can be seen in ./conf4models/lzd_real_data/TARNet.txt.  But imb_dist_w is set to a non-zero value for CFR, which is shown in ./conf4models/lzd_real_data/ES_CFRwass.txt.
ForQ2:
On line 858 in main.py ,

#./conf just contain a configuration template as default for configuration, which needs to be overwritten(key-value wise) by the hyper-parameters in ./conf4models

The parameters of each model are actually saved in ./conf4models/
We load the configuration information by executing search_params.py
, and build the configuration terms into command-line parameters, which shown on line 106 in search_params.py. With Hydra's features, the configuration terms can actually work.
As described in README:

A convenient way to call training and evaluation code serially:
python search_params.py main.py eval4real_data.py ./conf4models/lzd_real_data/DESCN.txt 1 {path_to_train_npz}   {path_to_test_npz}
More examples can be referred to code in DeepModels_real_data.ipynb


Better Error Trapping in map

Currently if an error occurs when running a map function the whole process fails and it is difficult to know what record it failed on.
This is a first ticket to add this kind of handling to functions like map. Others will want it as well.
To improve this want to add user controllable error handling:
On the map method we should add on_problems parameter. Unlike other methods, it should default to Error not Warning.

If Ignore, the error should be dropped and a Nothing value placed in output.
If Warning, the error from the function should caught, wrapped as below, and attached as a warning to the result. Nothing should be in the position. Count the warnings and if above 10 (or whatever I current threshold is) attach an Additional Warnings warning.
If Error, the error should be raised but with error wrapping below.

--- a/distribution/lib/Standard/Base/0.0.0-dev/src/Data/Vector.enso
+++ b/distribution/lib/Standard/Base/0.0.0-dev/src/Data/Vector.enso
@@ -578,7 +578,9 @@ type Vector a
              [1, 2, 3] . map +1
     map : (Any -> Any) -> Vector Any
     map self function =
-        Vector.new self.length i-> function (self.at i)
+        Vector.new self.length i->
+            result = function (self.at i)
+            if result.is_error then Error.throw (Map_Error.Value i result.catch) else result

     ## Applies a function to each element of the vector, returning the `Vector`
        that contains all results concatenated.
@@ -1290,3 +1292,15 @@ check_start_valid start length function =
     used_start = if start < 0 then start + length else start
     if used_start < 0 || used_start > length then Error.throw (Index_Out_Of_Bounds.Error start length+1) else
         function used_start
+
+## PRIVATE
+type Map_Error
+    Value index inner_error
+
+    ## PRIVATE
+    to_display_text : Text
+    to_display_text self = "Error at index " + self.index.to_text + ": " + self.inner_error.to_display_text
+
+    ## PRIVATE
+    is_a : Any -> Boolean
+    is_a self typ = if typ == Map_Error then True else self.inner_error.is_a typ

The Map_Error wraps the failure with the index allowing for easy discovery.
The is_a workaround is not recommended. Instead a review of Error.catch and allowing it to convert the caught error to a custom type (e.g. Wrapped_Error) which can then be tested against cleanly. If catching a specific type, then we should unwrap it.

The is_a workaround is not recommended. Instead a review of Error.catch and allowing it to convert the caught error to a
custom type (e.g. Wrapped_Error) which can then be tested against cleanly. If catching a specific type, then we should
unwrap it.

The behavior we want is something like this?
bad_result = v.map (x-> Error.throw Foo_Error)
# bad_result is (Map_Error.Value Foo_Error)
bad_result.catch Foo_Error . is_a Map_Error . should_be_true
bad_result.catch Foo_Error . inner_error . is_a Foo_Error . should_be_true

We want to return the Map_Error because it has additional information. On the other hand, will it be a problem that the catch call specifies Foo_Error but the result is not a Foo_Error?

The is_a workaround is not recommended. Instead a review of Error.catch and allowing it to convert the caught error to a
custom type (e.g. Wrapped_Error) which can then be tested against cleanly. If catching a specific type, then we should
unwrap it.

The behavior we want is something like this?
bad_result = v.map (x-> Error.throw Foo_Error)
bad_result.is_a Map_Error . should_be_true
bad_result.is_a Foo_Error . should_be_false
bad_result.catch Foo_Error . is_a Foo_Error . should_be_true

In other words, if we are catching the specific error Foo_Error, and that error is raised in map and then wrapped in Map_Error, we watch to transparently unwrap the Map_Error and catch it as a Foo_Error.
On the other hand, if we don't catch Foo_Error and the error makes its way to the top, it is seen as a Map_Error, along with the extra information that that has.

Exactly 💯
We don't want to abuse the type hierarchy to somehow make Map_Error a subtype Foo_Error, but we want the is_a behaviour to be exactly as you have shown. The difference is that when we catch the error, we should have special logic that checks if the Map_Error can be converted to Foo_Error and if yes, we do the conversion and return the converted instance.

Additionally, we don't want Error.catch to know about Map_Error - to keep coupling low.
Instead, the proposed solution was to create a special Wrapped_Error type, like:
type Wrapped_Error
    Value original_error inner_error

to which we can provide conversions.
Then we can:
Wrapped_Error.from (that : Map_Error) = Wrapped_Error.Value that that.inner_error

and the Error.catch can do something like:
     catch self (error_type = Any) (handler = x->x) =
         self.catch_primitive error_value->
             case error_value.is_a error_type of
                 True -> handler error_value
-                False -> self
+                False ->
+                    # TODO this is a prototype - it wrongly handles edge cases if we had a Nothing wrapped as error which is not forbidden
+                    wrapped = Panic.catch No_Such_Conversion (Wrapped_Error.from error_value . inner_error) _->Nothing
+                    if wrapped.is_a error_type then handler error_value else self


hash_files = true doesn't work anymore

It builds the files with the hashes in the name but then requests the files without hash.
If suspect that #345 broke non-workspace builds. Haven't tested it yet, though.
In my project I'm not setting env vars but have it configured in Cargo.toml

Hmm, actually reading the files is the responsibility of Leptos proper, as long as we're still setting the correct env vars. I'll have to take a look
On Tue, Aug 20, 2024, at 9:13 AM, Marc-Stefan Cassola wrote:

It builds the files with the hashes in the name but then requests the files without hash.
If suspect that #345 https://github.com/leptos-rs/cargo-leptos/pull/345 broke non-workspace builds. Haven't tested it yet, though.
—
Reply to this email directly, view it on GitHub https://github.com/leptos-rs/cargo-leptos/issues/347, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVBTCK3PC7DKAUARTBZNNDZSNTI5AVCNFSM6AAAAABM2HSDZ2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ3TMMBTGU3DINA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

IIRC when leptos proper doesn't find the hash.txt it simply defaults to loading without hashes. So maybe that's the case here?

IIRC when leptos proper doesn't find the hash.txt it simply defaults to loading without hashes. So maybe that's the case here?

Yeah, I think I've fixed that. Can you try the latest git main and lmk?

I can confirm the latest git main works for my project. I suspect it won't anymore for workspace projects? I can't test that right now.

I'm using workspaces, and when I try to compile WASM, I get a generic "no such file or directory" error:
root@d01bb3cc9efd:/srv/myproject# cargo leptos watch
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.18s
       Cargo finished cargo build --package=myproject_server_hydration --lib --target-dir=/srv/myproject/target/front --target=wasm32-unknown-unknown --no-default-features
       Front compiling WASM
Error: No such file or directory (os error 2)

I didn't change anything from my project. Before upgrading to the last release, everything worked fine.
Leptos version: 0.6.14
Cargo Leptos version: lastest git main.

I'm using workspaces, and when I try to compile WASM, I get a generic "no such file or directory" error:
root@d01bb3cc9efd:/srv/myproject# cargo leptos watch
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.18s
       Cargo finished cargo build --package=myproject_server_hydration --lib --target-dir=/srv/myproject/target/front --target=wasm32-unknown-unknown --no-default-features
       Front compiling WASM
Error: No such file or directory (os error 2)

I didn't change anything from my project. Before upgrading to the last release, everything worked fine.
Leptos version: 0.6.14 Cargo Leptos version: lastest git main.

This is the rub, where the file is is different between the two situations. Honestly I need to detect each and do something different each time

Weirdly enough I just tried to release my project to production and it simply doesn't want to load the hashed filenames. Not with versions 2.18 nor 2.19 nor latest main.
Not sure what's happening. Maybe this is a separate issue.

Turns out, that was my fault.
For future reference: You need to add the env var LEPTOS_HASH_FILES=true when you run the built binary.

Closing as this should be resolved


Where's the script

The article mentions a "Known Folder Move PowerShell script." How does one access it?

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

ID: a9fd3d64-02a4-74dd-1f2a-a25ed9a8cef8
Version Independent ID: cc17b035-3597-7194-2544-3805ad380d5d
Content: Redirect and move Windows known folders to OneDrive - OneDrive
Content Source: OneDrive/redirect-known-folders.md
Service: one-drive
GitHub Login: @adeejoseph
Microsoft Alias: adjoseph

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


List of channel missing in template file

Molpay channels are missing in
CSCart_Plugin/version 4.5.x/design/backend/templates/views/payments/components/cc_processors/molpay.tpl
Error prompt: "Please tick at least one channel before save." when creating Molpay payment method inside Cs-cart adminpanel.

Hi Helmi,
Will update on this. Thank you for reporting.

Hi, any update on this?
On Mon, Aug 14, 2017 at 10:48 AM, apis17<EMAIL_ADDRESS>wrote:

Hi Helmi,
Will update on this. Thank you for reporting.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MOLPay/CSCart_Plugin/issues/6#issuecomment-322088650,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABXgSEjxRsER3w43hGCx19Oc--s34dNWks5sX7V-gaJpZM4O14W-
.

--
--
Muhd Helmi Mahamad
Manager, IT
PTS Media Group Sdn. Bhd.
No 12 & 12A, Jalan DBP
Dolomite Business Park
68100 Batu Caves, Selangor, Malaysia
HP: +016 6615 421
Tel: +6 03 6188 0316
Fax: +6 03 6189 0316
E-mail<EMAIL_ADDRESS>
Website: www.pts.com.my
Online Bookstore: www.bookcafe.com.my
Facebook: www.facebook.com/bukupts
Twitter: www.twitter.com/bukupts
Ebook: www.pts.com.my/ebook http://pts.com.my/ebook

Hi Helmi,
Kindly email your skype id to<EMAIL_ADDRESS>to get more information about this error.

Ok I've sent an email to them.


Rename

Pull Request Guide
Checklist
Please check the following:

[x] You have checked the Pull Request guidelines.
[ ] Tests for bug fixes or new features have been added.
[ ] Docs have been added or updated.

Type
What kind of change does this Pull Request introduce?

[x] fix: Bug fix.
[ ] feat: New feature implementation.
[ ] build: Build system or external dependencies changes.
[ ] ci: CI configuration files and scripts changes.
[ ] docs: Documentation improvements.
[ ] perf: Performance improvement.
[ ] refactor: Code refactor.
[ ] test: Test additions or corrections.
[ ] other

Current behaviour
Describe the current behaviour or provide a link to an issue.
What is the new behavior?
Describe the new behaviour.
Does this Pull Request introduce a breaking change?

[ ] Yes
[ ] No

Other information
Provide any other information.

There are some conflicts. Can you try to resolve them?

Your master branch should be sync with:
git pull --rebase

Should be good now I think


Fix compile issue with BOOST_NOINLINE and HIP

The definition of BOOST_INLINE in boost and AMD's definition of __noinline__ collide to create an erroneous __attribute_ clause.  Fix it by defining BOOST_INLINE.

Is this needed only here, or also in the other places that include boost (if there are others) ?

This is the only place I noticed that it blocked compilation of the hip target.

I reported this issue to boost, and a fix has been made
https://github.com/boostorg/config/issues/392


Enhance Kueue.Queue.Status test suite

Signed-off-by: Carlos Eduardo Arango Gutierrez<EMAIL_ADDRESS>
What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/assign @alculquicondor

/retest-required

Previous test failure:
Test started today at 7:32 AM failed after 15m0s. ([less info](https://prow.k8s.io/spyglass/lens/metadata/iframe?req=%7B%22artifacts%22%3A%5B%22finished.json%22%2C%22podinfo.json%22%2C%22prowjob.json%22%2C%22started.json%22%5D%2C%22index%22%3A0%2C%22src%22%3A%22gs%2Fkubernetes-jenkins%2Fpr-logs%2Fpull%2Fkubernetes-sigs_kueue%2F114%2Fpull-kueue-build-image-main%2F1502261086198435840%22%7D&topURL=https%3A//prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_kueue/114/pull-kueue-build-image-main/1502261086198435840&lensIndex=0#))

Init container clonerefs not ready: (state: waiting, reason: "PodInitializing", message: "") Init container initupload not ready: (state: waiting, reason: "PodInitializing", message: "") Init container place-entrypoint not ready: (state: waiting, reason: "PodInitializing", message: "")

/lgtm
/approve


Cursor navigation issue with code blocks

Ref: https://vimeo.com/872810885/eba6f4cbe8
bug _t

@gaagul _a

minor _t


Add subMenu scrollbar

I created a menu with multiple submenus, and some of the submenus dont display all the element on the screen if i dont zoom out. Is it possible to add a scrollbar to my submenus ? Thanks

Can we see your test case of it failing?

I didnt really test because i couldn't find a way to do it, so i tought it would be automatic. I just have a submenu containing a huge list of elements.


License

I see this -> https://github.com/DaHoC/trainHOG/wiki/trainHOG-Tutorial#the-boring-legal-stuff
What license is the code here under?

Hi Joel,
I just decided that I put the code under the Apache 2.0 license.
Does this work for you? If not, just pass me a note, I am glad for anyone
using my code :-)
Kind regards,
Jan Hendriks
On Wed, Jul 29, 2015 at 12:19 AM, Joel Gallant<EMAIL_ADDRESS>wrote:

I see this ->
https://github.com/DaHoC/trainHOG/wiki/trainHOG-Tutorial#the-boring-legal-stuff
What license is the code here under?
—
Reply to this email directly or view it on GitHub
https://github.com/DaHoC/trainHOG/issues/8.


[SwiftASTContext] Remove dead code. NFCI.

@swift-ci please test and merge

All the FindXType(s)OrDecl(s) functions have a FindType equivalent.  It seems a little odd to remove the "Type" version from just one of them.

As I discover more dead code, I'm going to remove it.

But as a general practice, I don't think we should leave dead code in tree just for the sake of internal API symmetry.


Non-helping Error message for methods on empty epochs

Description of the problem
This is an issue I saw often with beginner users of mne-python:
When an Epochs-instance is created and for some reason all epochs are marked as bad (reject/flat-parameter, annotations), the following methods (among others) throw error messages, which are especially for beginners not really helpful:

average
plot
plot_image
plot_psd
plot_topo_image

When epochs are manually dropped with Epochs.drop_bad() or when they are dropped when data is loaded, there is no warning message indicating that all available epochs have been dropped. The only part I found with a warning is when Epochs.save() is used on an empty Epochs-instance.
Solution
I would suggest to warn when all epochs are about to be dropped and to capture the exceptions due to empty Epochs-instances inside the relevant methods with more expressive messages.
Steps to reproduce
import os

import mne

sample_data_folder = mne.datasets.sample.data_path()
sample_data_raw_file = (sample_data_folder / 'MEG' / 'sample' /
                        'sample_audvis_raw.fif')
raw = mne.io.read_raw_fif(sample_data_raw_file, verbose=False)

sample_data_events_file = os.path.join(sample_data_folder,
                                       'MEG', 'sample',
                                       'sample_audvis_raw-eve.fif')
events = mne.read_events(sample_data_events_file)
epochs = mne.Epochs(raw, events, tmin=-0.3, tmax=0.7, reject={'eog': 1e-10},
                    reject_by_annotation=False)

# All epochs dropped, no warning message
epochs.drop_bad()

# ZeroDivisionError: float division by zero
epochs.average()

# ZeroDivisionError: float division by zero
epochs.plot()

# ValueError: zero-size array to reduction operation maximum which has no identity
epochs.plot_image()

# ValueError: zero-size array to reduction operation minimum which has no identity
epochs.plot_psd()

# ValueError: zero-size array to reduction operation maximum which has no identity
epochs.plot_topo_image()

Link to data
No response
Expected results
More concisive warnings and error messages helping especially beginners with finding the problem.
Actual results
ZeroDivisionError: float division by zero
ValueError: zero-size array to reduction operation maximum which has no identity
Additional information
Platform:         Windows-10-10.0.22000-SP0
Python:           3.10.5 | packaged by conda-forge | (main, Jun 14 2022, 06:57:19) [MSC v.1929 64 bit (AMD64)]
Executable:       \anaconda3\envs\mnedev\python.exe
CPU:              Intel64 Family 6 Model 158 Stepping 9, GenuineIntel: 8 cores
Memory:           15.9 GB
mne:              1.3.dev0
numpy:            1.22.4 {unknown linalg bindings}
scipy:            1.9.0
matplotlib:       3.5.2Backend QtAgg is interactive backend. Turning interactive mode on.
{backend=QtAgg}
sklearn:          1.1.2
numba:            0.55.2
nibabel:          4.0.1
nilearn:          0.9.1
dipy:             1.5.0
openmeeg:         Not found
cupy:             Not found
pandas:           1.4.3
pyvista:          0.36.1 {OpenGL 4.4.0 - Build <IP_ADDRESS>26 via Intel(R) HD Graphics 630}
pyvistaqt:        0.9.0
ipyvtklink:       0.2.2
vtk:              9.1.0
qtpy:             2.1.0 {PyQt5=5.15.4}
ipympl:           0.9.1
pyqtgraph:        0.12.4
pooch:            v1.6.0
mne_bids:         0.11.dev0
mne_nirs:         Not found
mne_features:     Not found
mne_qt_browser:   0.4.dev0
mne_connectivity: Not found
mne_icalabel:     Not found

+1
PR welcome 🙏

Message ID: @.***>


Does elastalert support Elasticsearch 6.0?

Hello I am new to elastalert, I am using ELK6.0 (the latest GA version), and when I was trying to do elastalert-create-index I got the following error:

Traceback
(most recent call last):
File "/usr/local/bin/elastalert-create-index", line 11, in  load_entry_point('elastalert==0.1.21', 'console_scripts', 'elastalert-create-index')()
File "/usr/local/lib/python2.7/dist-packages/elastalert-0.1.21-py2.7.egg/elastalert/create_index.py", line 154, in main es.indices.put_mapping(index=index, doc_type='elastalert', body=es_mapping)
File "/usr/local/lib/python2.7/dist-packages/elasticsearch-6.0.0-py2.7.egg/elasticsearch/client/utils.py", line 76, in _wrapped return func(*args, params=params, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/elasticsearch-6.0.0py2.7.egg/elasticsearch/client/indices.py", line 271, in put_mapping  '_mapping', doc_type), params=params, body=body)
File "/usr/local/lib/python2.7/dist-packages/elasticsearch-6.0.0-py2.7.egg/elasticsearch/transport.py", line 314, in perform_request
status, headers, data = connection.perform_request(method, url, params, body, headers=headers, ignore=ignore, timeout=timeout)
File "/usr/local/lib/python2.7/dist-packages/elasticsearch-6.0.0-py2.7.egg/elasticsearch/connection/http_requests.py", line 90, in perform_request
self._raise_error(response.status_code, raw_data)
File "/usr/local/lib/python2.7/dist-packages/elasticsearch-6.0.0-py2.7.egg/elasticsearch/connection/base.py", line 125, in _raise_error
raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
elasticsearch.exceptions.RequestError: TransportError(400, u'illegal_argument_exception', u'[es03.mozytest][<IP_ADDRESS>:9300][indices:admin/mapping/put]')

Then I tried to PUT mappings on my own, and when I tried to PUT the second mapping as the create_index.py shows:
curl -XPUT '<IP_ADDRESS>:9200/elastalert_status/_mapping/elastalert_status?pretty' -H 'Content-Type: application/json' -d'  {    "properties": {       "rule_name": {"index": "true", "type": "text"},      "@timestamp": {"format": "dateOptionalTime", "type": "date"}    }  }'
I began to understand why my elastalert-create-index failed:
{   "error" : {     "root_cause" : [       {         "type" : "remote_transport_exception",         "reason" : "[es03.mozytest][<IP_ADDRESS>:9300][indices:admin/mapping/put]"       }     ],     "type" : "illegal_argument_exception",     "reason" : "Rejecting mapping update to [elastalert_status] as the final mapping would have more than 1 type: [elastalert, elastalert_status]"   },   "status" : 400 }
This is because of this: [https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html]
So my question is - do we have a plan to update elastalert to support es6.0?

looks like not yet, but there's a quick fix you can implement yourself short term, mentioned here: https://github.com/Yelp/elastalert/pull/1426

@hollowimage That solved my problem, thanks!


Add option in freeotp app to scan/import QR code from gallery/photos directly

Add option in freeotp app to scan/import QR code from gallery/photos directly

I am also interested in this. Not even Google/Microsoft/Twilio authenticators have this feature when it would be immensely useful whenever a page you're browsing on your phone generates a QR code for you assuming you're on the computer and have a phone handy to scan it. This would be a major UX bump! :)

I'm having the same issue with migrating from another authenticator to this one. The old one generates a QR code with the assumption that you use their function because you have a new phone, not a new authenticator app.


DM XML: Add device types to script and re-gen

see https://github.com/CHIP-Specifications/chip-test-plans/issues/3675

I re-ran this to remove the section_ files, and in the process I also updated the scraper and then added a file marker for that. So that's where all the new changes are coming from.


BUG: LogisticRegression.fit has poor performance on speed

Describe the bug
LogisticRegression.fit never stops with a bit larger data.
To Reproduce
When max_iter=1  everything works fine
from xorbits._mars.learn.glm import LogisticRegression
import numpy as np

n_rows = 100
n_cols = 2
X = np.random.randn(n_rows, n_cols)
y = np.random.randint(0, 2, n_rows)

lr = LogisticRegression(max_iter=1)
lr.fit(X, y)

However, just increase max_iter to 100, the program seems never stop (at least after 1min, it's weird.)
lr = LogisticRegression(max_iter=100)
lr.fit(X, y)

Your Python version: 3.10.2
The version of Xorbits you use: HEAD, install on my local device.
I'm working on my Macbook  with m1 pro chip

After some inspection, https://github.com/mars-project/mars/issues/2505#issue-1021662005 perhaps explain it, gradient based loop solution for logistic regression is inefficient for xorbits.

Maybe we should use a different approach on the control flows, like for loop. For example, the method in this paper.


Terminate nunit-agent.exe / nunit-agent-x86.exe once they are no longer in use

The agents used to execute tests via nunit-gui.exe are left around for the duration of the application even when they are no longer in use.
For example, when loading/refreshing a test assembly, a new agent is spawned for testing.  When this happens, the old agent becomes "inactive" - where it will never be used again, but it still sticks around.
This becomes a nuisance when attempting to debug tests via attaching the source to the executing agent - if there are multiple agents, you have to inspect which one is currently using CPU to determine which agent is active.
This also occurs when switching the selected Process Model.

I see that the version of the gui you are using is 0.6.0. That suggests you are building it yourself. Correct? Have you made any changes or is it code directly from master?

I am using a local clone of the master repo from 08/31/2017 11:03 AM.  I am building myself, yes; no code changes have been made.


Fix same-name container move in cluster

Required information

Distribution: Ubuntu
Distribution version: 8.04
The output of "lxc info" or if that fails:

root@lxd-dev-02:~# lxc info
config:
  core.https_address: <IP_ADDRESS>:8443
  core.trust_password: true
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses:
  - <IP_ADDRESS>:8443
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    MIIFTTCCAzWgAwIBAgIRAIYi9SOBaeGArc8ha+7ZyvIwDQYJKoZIhvcNAQELBQAw
    ODEcMBoGA1UEChMTbGludXhjb250YWluZXJzLm9yZzEYMBYGA1UEAwwPcm9vdEBs
    eGQtZGV2LTAxMB4XDTE4MDUwODIwNTU1N1oXDTI4MDUwNTIwNTU1N1owODEcMBoG
    A1UEChMTbGludXhjb250YWluZXJzLm9yZzEYMBYGA1UEAwwPcm9vdEBseGQtZGV2
    LTAxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0JxeMil0dOsHwO/x
    xIHJHXfC7VlNRP0WXNLb9glwUr3qVEExW+NG5XOdzts5uQm0wV1nhDrZoLr3AUwI
    dmrvREWbn7PQEr0Fw7ZHYPG1r+06b5m0fweEWuV6punvzZSCeiIV5M4w6S+93Xna
    C4fryXuIRIpMrXhhVzSclIGWiB4DA95KLN8oR8FfhEstZ6Jz+sYMMrOxDjbhEYLw
    OSV4MYgFhXlA+KGgeyCOrseiz9hycBeM8zniIxDzFIFTSGWd9B3omb4eK2li6zhb
    FNnNqsCdIOY7HsMJyD2bLJCKsuxXYkpN/XVJCNVOEoU13S1arTnIKPVzXvnFBpZx
    BREIbBQRI5fROYqlrbcMvOq/jEoWD9JQobK0OhfvdrTaJpWENF2ttf4QwANPx/zC
    DtSfIUbJ5I7iP0P+IuaShgwM2LG0aqyEwEpP3lPqV/LAPFiLj77QuxudiFVU0yZO
    iaA2UUFOskTNQNiMdZqD87j2Pp74dDrKSvmxTSwlXwJntUxAKoSUzaMBGhiRsuGp
    uc3atWRG+Ne7BMpepuyvEb2+kmFjexiyqH1pAXaAhNPJHithCiTFaOJQjbHx+n1n
    AxWqGnJQoDTyRm/JA1kyBo66NoDGW5X/RjVYIkD3Dc1svkYP6eWOB0Mi1mYj0qaq
    LG8jZ/e71ak9GSgdHDzXXvrLP0kCAwEAAaNSMFAwDgYDVR0PAQH/BAQDAgWgMBMG
    A1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwGwYDVR0RBBQwEoIKbHhk
    LWRldi0wMYcECgECKTANBgkqhkiG9w0BAQsFAAOCAgEAPTKfYKvM4tNuoItiIZ7C
    lKVN+73FriGg+xkl4APuT/FqciP4rXQ4eI+XW81BBc4jx1kK5ngmZbOO8tXROBZk
    lHp/6Vz1gxYLeLSbZA5Pi6dnJE5zJnPGrB3vUQgVxdlIF1zI2jtQ9h1h0wUH97nB
    uoK2f0Wd4S+z10bac6P4wGqrzwtFsfnT+077EIdpgtXeqQOxId1GaIfWEKzUhCRO
    Aj6aYw0bU5bigD0OhROI246nKk363X+4kZyMT7FNpUZMpESrw/ZjCBaCOkZkqOEq
    huCVn4yWhZ1sYIMlg9aitNeKaU70gOZDHajI+Lo8m2eemmiQoWGUqN8vu8Tk0Kzo
    s4bFhjPv/NFd9h2LvuulhBqmclPszgyhk9CrSPJL0K0GgcVUMG3IiuxoHBqVQn9M
    nPOVPlf2cYqb4OFC+kdDT3JqG29K+4am8gvV6rAFl+dCsRd6k45keWAB1MjQfl7N
    8whAL6TEXmiT1sb3pWvgd7E53SeIAXEPP/furs0excMJvu/yfZOGhaD/NTZzoC8g
    5WvNNxuuvuWISMJL0uHrn6NcgZ1rZFeOdMwOYewElyEkVLbFMpTacrGj3vYlIEfK
    MXSIiGOGMundoCvlDRRcLCqkYGbiu2Nlab23wpMWBxpFASsaZGgEXRRIn4ujie3t
    OboWBqb/G5F+82vh6wgV2t0=
    -----END CERTIFICATE-----
  certificate_fingerprint: fcc5ff4aea9e3513c7e2791e865bdae6f81b321c6c007a2fd7498d1d727060d0
  driver: lxc
  driver_version: 3.0.0
  kernel: Linux
  kernel_architecture: x86_64
  kernel_version: 4.15.0-20-generic
  server: lxd
  server_pid: 2728
  server_version: 3.0.0
  storage: zfs
  storage_version: 0.7.5-1ubuntu13
  server_clustered: true
  server_name: lxd-dev-02

Issue description
I created 10 containers on a 3 node LXD cluster with ZFS storage back-end. I want to test migrating one of them from one node in the cluster but I get an error:
root@lxd-dev-02:~# lxc move cen5 --target lxd-dev-01
Error: Failed container creation: Container 'cen5' already exists

Steps to reproduce

Create a cluster with 3 nodes (for a proper quorum)
Create a container anywhere in the cluster
Run lxc move, using one of the node names in --target

root@lxd-dev-02:~# lxc move cen5 --target lxd-dev-03
Error: Failed container creation: Container 'cen5' already exists

other variants I have tried:
root@lxd-dev-02:~# lxc move cen5 cen5 --target lxd-dev-01
Error: Failed container creation: Container 'cen5' already exists
root@lxd-dev-02:~# lxc move cen5 lxd-dev-01:cen5
Error: The remote "lxd-dev-01" doesn't exist
root@lxd-dev-02:~# lxc move cen5 local:cen5
Error: already exists
root@lxd-dev-02:~# lxc move cen5 local:cen5 --target lxd-dev-01
Error: Failed container creation: Container 'cen5' already exists
root@lxd-dev-02:~# lxc move local:cen5 --target lxd-dev-01
Error: Failed container creation: Container 'cen5' already exists

I did discover that if I actually rename the container to something new it does attempt a migration (but gives me an entirely new error message.). If this is not allowed (migrating without renamaing) in a cluster configuration, then my suggestion is to no accept a single argument while using "--target"

It's meant to work but doesn't right now, should be on @freeekanayaka's radar

At the moment keeping the same name when moving a container is only supported if you use ceph as storage driver. In your case (zfs), the "move" API is effectively a "create" followed by a "delete", that's why you get the "already exists" error.
Please try:
lxc move cen5 cen5-tmp --target lxd-dev-03
lxc rename cen5-tmp cen5

We'll probably want to improve the error message in this case, and eventually properly support this use case too.

@freeekanayaka we definitely want to support this, it's very unfortunate that this didn't make it to 3.0 but we had bigger issues to deal with then. This is a very common operation for our users to do and needs to be addressed soon.
I suspect the naive implementation internally would be to use an "illegal" container name (bypassing that particular name check), then rename to the original name and clearing any volatile key that gets set during a traditional rename (so that we don't accidentally run templates when the name doesn't change).
So internally it'd effectively be:

cen5 on source host gets copied to move.cen5 on lxd-dev-03
cen5 is deleted on source host
move.cen5 is renamed to cen5 on lxd-dev-03
volatile.apply_template gets restored to pre-migration value on cen5 (unset if it wasn't set before)

Ah yeah, the workaround didn't mention the fact that you should be stopping the container before moving.
Otherwise you're entering CRIU territory with all the potential issues that come with it.

I opened a separate issue with the CRIU team. https://github.com/checkpoint-restore/criu/issues/485

Moving this to 3.3 as we'll want to have a single set of API changes to POST /1.0/containers/NAME which does two things:

Allow moving a container between two cluster members (POST 1/.0/containers/NAME?target=blah) with or without the container getting renamed at the same time
Allow moving a container between two storage pools (new attribute in POST to set the new pool, similar to moving custom volumes between pools)

The result should be that in a single API call we should be able to do all of these at the same time:

Move the container between two nodes
Rename it if we want
Move it to another storage pool

I found out that if I move a container that overrides the default profile where the MAAS networking information is, with its own set of eth0 networking without the MAAS information, the containers moves without a problem
ubuntu@node38:~$ lxc profile show default
config: {}
description: Default LXD profile
devices:
  eth0:
    **maas.subnet.ipv4: <IP_ADDRESS>/23**
    name: eth0
    nictype: bridged
    parent: br1
    type: nic
  root:
    path: /
    pool: default
    type: disk
name: default
used_by:
- /1.0/containers/maas-icts
ubuntu@node38:~$ lxc profile show maas
config:
  raw.lxc: |-
    lxc.cgroup.devices.allow = c 10:237 rwm
    lxc.apparmor.profile=unconfined
    lxc.cgroup.devices.allow = b 7:* rwm
  security.privileged: "true"
description: Default LXD profile
devices:
  eth0:
    name: eth0
    nictype: bridged
    parent: br1
    type: nic

Then, in theory, I can remove the MAAS networking configuration of the container in the target node, move the container without any issue, then add the container networking configuration.
Seems awkward but works. and I dont have to invent a MAC address every time I am moving a container
Still I believe this should be handled by LXD somehow at some point.  it is just not user fiendly and even tough lxd move command local and remote implementations are different, de behaviour should be the same

For moving a container from one node to another node whose LXD are registered with MAAS,  Assuming that you are using default profile created with MAAS integration
The workaround is

Disable MAAS integration of the container by overriding eth0 with no MAAS integration (the container will be removed from MAAS DNS)
Move the container
Enable again the MAAS integration by not overriing the eth0 and using the default MAAS integrated one


Cloudlfare Queue

Any plans in the road map to add Cloudflare Queue?
Is there a way to contribute this?

Have you tried the sst.cloudflare.Queue component? I don’t think it’s mentioned in the docs but it looks like the implementation is there!

I opened a fix for binding the Queue component to the worker in https://github.com/sst/sst/pull/5045. However, it's not possible to create a consumer via pulumi/terraform for now.
see the issue https://github.com/cloudflare/terraform-provider-cloudflare/pull/3833 and https://github.com/cloudflare/cloudflare-go/pull/3023


ModifyRequestBodyGatewayFilterFactory creates Content-Type header even when there is no body.

Describe the bug
Using ModifyRequestBodyGatewayFilterFactory with a rewrite function that returns Mono.empty();, a content-type header is still added to the downstream request which bricks the downstream API contract.
Reproduced on spring cloud gateway 4.1.1 and 3.1.1
Expected behaviour
When the return value is Mono.empty() (cannot be null / Mono.just(null)), the content-type header should not be set. This ensures bodyless requests are not assigned the wrong headers.
Sample
Received request:
2024-01-26T09:30:41.373+08:00 DEBUG 15344 --- [gateway] [ctor-http-nio-3] reactor.netty.http.server.HttpServer     : [86124063, L:/[0:0:0:0:0:0:0:1]:8080 - R:/[0:0:0:0:0:0:0:1]:35221] READ: 162B
         +-------------------------------------------------+
         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
+--------+-------------------------------------------------+----------------+
|00000000| 47 45 54 20 2f 61 70 69 2f 64 65 62 75 67 31 2f |GET /api/debug1/|
|00000010| 31 32 33 20 48 54 54 50 2f 31 2e 31 0d 0a 55 73 |123 HTTP/1.1..Us|
|00000020| 65 72 2d 41 67 65 6e 74 3a 20 50 6f 73 74 6d 61 |er-Agent: Postma|
|00000030| 6e 52 75 6e 74 69 6d 65 2f 37 2e 32 38 2e 34 0d |nRuntime/7.28.4.|
|00000040| 0a 41 63 63 65 70 74 3a 20 2a 2f 2a 0d 0a 48 6f |.Accept: */*..Ho|
|00000050| 73 74 3a 20 6c 6f 63 61 6c 68 6f 73 74 3a 38 30 |st: localhost:80|
|00000060| 38 30 0d 0a 41 63 63 65 70 74 2d 45 6e 63 6f 64 |80..Accept-Encod|
|00000070| 69 6e 67 3a 20 67 7a 69 70 2c 20 64 65 66 6c 61 |ing: gzip, defla|
|00000080| 74 65 2c 20 62 72 0d 0a 43 6f 6e 6e 65 63 74 69 |te, br..Connecti|
|00000090| 6f 6e 3a 20 6b 65 65 70 2d 61 6c 69 76 65 0d 0a |on: keep-alive..|
|000000a0| 0d 0a                                           |..              |
+--------+-------------------------------------------------+----------------+

Modified request:
2024-01-26T09:30:41.375+08:00  WARN 15344 --- [gateway] [ctor-http-nio-3] d.SecureHttpPostSignGatewayFilterFactory : MONO.EMPTY returned!
2024-01-26T09:30:41.376+08:00 DEBUG 15344 --- [gateway] [ctor-http-nio-3] reactor.netty.http.client.HttpClient     : [59584b99-4, L:/<IP_ADDRESS>:35223 - R:/<IP_ADDRESS>:8080] WRITE: 380B
         +-------------------------------------------------+
         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
+--------+-------------------------------------------------+----------------+
|00000000| 47 45 54 20 2f 31 2f 31 32 33 20 48 54 54 50 2f |GET /1/123 HTTP/|
|00000010| 31 2e 31 0d 0a 55 73 65 72 2d 41 67 65 6e 74 3a |1.1..User-Agent:|
|00000020| 20 50 6f 73 74 6d 61 6e 52 75 6e 74 69 6d 65 2f | PostmanRuntime/|
|00000030| 37 2e 32 38 2e 34 0d 0a 41 63 63 65 70 74 3a 20 |7.28.4..Accept: |
|00000040| 2a 2f 2a 0d 0a 41 63 63 65 70 74 2d 45 6e 63 6f |*/*..Accept-Enco|
|00000050| 64 69 6e 67 3a 20 67 7a 69 70 2c 20 64 65 66 6c |ding: gzip, defl|
|00000060| 61 74 65 2c 20 62 72 0d 0a 43 6f 6e 74 65 6e 74 |ate, br..Content|
|00000070| 2d 54 79 70 65 3a 20 74 65 78 74 2f 70 6c 61 69 |-Type: text/plai|
|00000080| 6e 3b 63 68 61 72 73 65 74 3d 55 54 46 2d 38 0d |n;charset=UTF-8.|
|00000090| 0a 46 6f 72 77 61 72 64 65 64 3a 20 70 72 6f 74 |.Forwarded: prot|
|000000a0| 6f 3d 68 74 74 70 3b 68 6f 73 74 3d 22 6c 6f 63 |o=http;host="loc|
|000000b0| 61 6c 68 6f 73 74 3a 38 30 38 30 22 3b 66 6f 72 |alhost:8080";for|
|000000c0| 3d 22 5b 30 3a 30 3a 30 3a 30 3a 30 3a 30 3a 30 |="[0:0:0:0:0:0:0|
|000000d0| 3a 31 5d 3a 33 35 32 32 31 22 0d 0a 58 2d 46 6f |:1]:35221"..X-Fo|
|000000e0| 72 77 61 72 64 65 64 2d 46 6f 72 3a 20 30 3a 30 |rwarded-For: 0:0|
|000000f0| 3a 30 3a 30 3a 30 3a 30 3a 30 3a 31 0d 0a 58 2d |:0:0:0:0:0:1..X-|
|00000100| 46 6f 72 77 61 72 64 65 64 2d 50 72 6f 74 6f 3a |Forwarded-Proto:|
|00000110| 20 68 74 74 70 0d 0a 58 2d 46 6f 72 77 61 72 64 | http..X-Forward|
|00000120| 65 64 2d 50 6f 72 74 3a 20 38 30 38 30 0d 0a 58 |ed-Port: 8080..X|
|00000130| 2d 46 6f 72 77 61 72 64 65 64 2d 48 6f 73 74 3a |-Forwarded-Host:|
|00000140| 20 6c 6f 63 61 6c 68 6f 73 74 3a 38 30 38 30 0d | localhost:8080.|
|00000150| 0a 68 6f 73 74 3a 20 31 32 37 2e 30 2e 30 2e 31 |.host: <IP_ADDRESS>|
|00000160| 3a 38 30 38 30 0d 0a 63 6f 6e 74 65 6e 74 2d 6c |:8080..content-l|
|00000170| 65 6e 67 74 68 3a 20 30 0d 0a 0d 0a             |ength: 0....    |
+--------+-------------------------------------------------+----------------+

Note there is a Content-Type: text/plainlcharset=UTF-8 header in the downstream request.
RewriteFunction
@Override
    public Publisher<String> apply(ServerWebExchange exchange, String body) {
        // Escape if not POST
        if (exchange.getRequest().getMethod() != HttpMethod.POST) {
            logger.warn("MONO.EMPTY returned!");
            return Mono.empty();
        }

        //.....
    }

I've made a mre with the version 4.1.1, but this behaviour also exists in the 3.x versions. The repo is as below:
https://github.com/HarryHsuzx/scgRewriteFunctionContentTypeMRE/blob/master/src/main/resources/application.yml

I suppose we could condition the setting of a different content type only if content length is greater than 0 here
https://github.com/spring-cloud/spring-cloud-gateway/blob/67b612d4af1ad9882a95cd7db0025ef0c7633089/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyRequestBodyGatewayFilterFactory.java#L86-L88

It's been assigned to you

I suppose we could condition the setting of a different content type only if content length is greater than 0 here

@spencergibb We don't know anything about the actual content length before the body Mono is subscribed to (which happens beyond the scope of the filter() method)
I reproduced it, wrote a quick fix, but then realized org.springframework.http.codec.EncoderHttpMessageWriter sets a default content type anyway (which is in my case text/plain;charset=UTF-8)
	@Nullable
	private MediaType updateContentType(ReactiveHttpOutputMessage message, @Nullable MediaType mediaType) {
		MediaType result = message.getHeaders().getContentType();
		if (result != null) {
			return result;
		}
		MediaType fallback = this.defaultMediaType;
		result = (useFallback(mediaType, fallback) ? fallback : mediaType);
		if (result != null) {
			result = addDefaultCharset(result, fallback);
			message.getHeaders().setContentType(result);
		}
		return result;
	}

I figure it means it's blocked for the time being

@spencergibb also, if I may ask, are you the only member of the Spring Cloud Gateway team? I don't see anyone else responding. Aren't there other members, like Olga?

@spencergibb my PR was merged a few days ago. As soon as we're past an upcoming 6.2M2 milestone, I'm all good to submit a fix for this issue (as long as @vasantteja doesn't mind as an assignee). Feel free to tag me when it's the time

@NadChel any update on fixing this issue now?

@spencergibb was the Spring dependency updated yet (the one containing EncoderHttpMessageWriter)?

Can I work on this issue because it's still opened?

@mehrdadbozorgmehr

Can I work on this issue because it's still opened?

I think it's been fixed since 00b862ce443d84082f64e88584aa92fd861cd0ec with spring framework 6.2. I upgraded the dependency on the demo project from 4.1.1 to 4.2.0 and the content-type header no longer exists in the forwarded request. see branch fixed-version
@NadChel @spencergibb
I think this issue can be closed


in zsh shell wpcli:run args are not working

When running:
cap production wpcli:run["help"]
Returns:
no matches found: wpcli:run["help"]

Escaping brackets works: cap production wpcli:run\["help"\]


Cannot import value unsafeCoerceEff from module Control.Monad.Eff.Unsafe

This is what I did:
npm install -g pulp
mkdir gh
cd gh
pulp init
echo "module Main where" > src/Main.purs
bower install purescript-affjax
npm install xhr2
pulp build

And I got the following errors:
▸ pulp build
* Building project in /Users/leo/pure/gh
Error 1 of 2:

  in module Control.Monad.Eff.Ref.Unsafe
  at /Users/leo/pure/gh/bower_components/purescript-refs/src/Control/Monad/Eff/Ref/Unsafe.purs line 7, column 34 - line 7, column 49

    Cannot import value unsafeCoerceEff from module Control.Monad.Eff.Unsafe
    It either does not exist or the module does not export it.

  See https://github.com/purescript/purescript/wiki/Error-Code-UnknownImport for more information,
  or to contribute content related to this error.

Error 2 of 2:

  in module Control.Monad.Rec.Class
  at /Users/leo/pure/gh/bower_components/purescript-tailrec/src/Control/Monad/Rec/Class.purs line 128, column 8 - line 128, column 31

    Unknown value U.unsafeCoerceEff

  See https://github.com/purescript/purescript/wiki/Error-Code-UnknownName for more information,
  or to contribute content related to this error.

Compiling Main
Compiling Control.Monad.Eff.Ref.Unsafe
Compiling Control.Monad.Rec.Class
* ERROR: Subcommand terminated with exit code 1

I tried
rm -rf bower_components/
bower install purescript-affjax

But didn't work.
My environment:
~/pure/gh
▸ node -v
v6.9.1

~/pure/gh
▸ pulp -v
Pulp version 9.0.1
psc version 0.10.1 using /Users/leo/.nvm/versions/node/v6.9.1/bin/psc

I'm still new to purescript, did I miss anything?

Looks like pulp hasn't been released with the updates for PureScript 0.10 yet, so pulp init will be generating a bower.json with outdated dependencies. It should have:
  "dependencies": {
    "purescript-console": "^2.0.0"
  },
  "devDependencies": {
    "purescript-psci-support": "^2.0.0"
  }

Rather than 1.0.0 for those. If you update that yourself, then rm -rf bower_components you should then be able to bower install purescript-affjax and things will work out.

Pulp has now been updated (to 9.1.0) and will now generate an up to date initial bower.json with pulp init.

Thanks @garyb. Yes, It worked.
Yes, it works.
However, as a developer, the fix is a bit magical to me :)
The Error messages were from modules purescript-refs and purescript-tailrec. But the fix was to update the version of purescript-console and purescript-psci-support, which looks like has nothing to do with that two modules. It would be difficult for developer to think of the fix if the Error messages are not related.
The problem looks like is the compatibility between modules. I think as a module, purescript-affjax should claim what are the dependencies, and what's the versions that would work. And the test cases will prove that.
In package.json, it claims that it would work with pulp 9.0.1, but I tried, it didn't work.
As a new comer, I'm a bit worried about the compatibility between modules. If say in the future I introduce a new module, and pulp build might throw some Error that I will have no idea which module is actually using the wrong version.
Since I'm new here, I'm wondering if there is any best practice to avoid this kind of mistake? Or any steps to follow to debug the kind of problems?
Thanks

The Error messages were from modules purescript-refs and purescript-tailrec. But the fix was to update the version of purescript-console and purescript-psci-support, which looks like has nothing to do with that two modules. It would be difficult for developer to think of the fix if the Error messages are not related.

Did bower ask you to choose between versions because of a conflict when you tried to bower install purescript-affjax? Generally when that occurs it's a clue that things aren't going to compile together if you force a resolution - it's not always the case, but usually is.

In package.json, it claims that it would work with pulp 9.0.1, but I tried, it didn't work.

pulp 9.0.1 is indeed able to build the affjax project, and would have built yours also after updating the dependencies - the only change between 9.0.1 and 9.1.0 is the template file was updated when you run a pulp init.

Since I'm new here, I'm wondering if there is any best practice to avoid this kind of mistake?

Not really, this one is definitely on us! It's a few weeks since everything was updated for PureScript 0.10, but pulp was lagging behind a little.
The only thing I would say is that point about bower - if it ever asks you to resolve a dependency conflict then situations like that you encountered are likely to arise. We're working on a real package manager for PureScript that should help avoid these situations in the future too.

Did bower ask you to choose between versions because of a conflict when you tried to bower install purescript-affjax?

Yes it did.
Thanks for explaining this to me. I remembered I encountered the same problem when purescript 0.8 was just out. It's a bit frustrating for me to deal with the bower dependency conflicts, and I didn't continue at that time :p
It's great to know that you guys are working on a real package manager for PS 👍

It's a bit frustrating for me to deal with the bower dependency conflicts, and I didn't continue at that time :p

Yeah, I can understand that! It's been a bit of a mess after the last few major releases... we're trying to get better at it, and psc-package will hopefully make it entirely painless in the long run (wishful thinking perhaps :wink:).


Nuxt Link Multiple Click Then Error

Environment
NavBar :

Leaderboard:

Reproduction
I shared the codes of the Navigation Bar and the relevant page above.
Describe the bug
I do not have any problems when I click on the leaderboard once and wait for the page to open or when I refresh the leaderboard page.
However, when I press the leaderboard nuxt link button from the home page 3 or 4 times in a row without waiting for the page to open, I get an error. How can I solve this?

Additional context
No response
Logs
No response

Besides that the code needs some serious cleanup (no var, using a computed, etc. etc.):
Do you use transitions? If yes, this is likely from https://github.com/nuxt/nuxt/issues/13309

I think this is being tracked in two places - one with transition that @manniL linked, and one more without based on pure async/suspense at https://github.com/nuxt/nuxt/issues/22900.


⚠ Bofrost.it has degraded performance

In 4b26b16, Bofrost.it (https://www.bofrost.it) experienced degraded performance:

HTTP code: 200
Response time: 3699 ms

Resolved: Bofrost.it performance has improved in 196f10e.


Add an option to fill target groups with IPs instead of instances refs?

I'm evaluating this ingress but did not manage to use it from another Cloud (Azure).
The only problem is the target groups that are filled with instance type targets.
Could we have a new option to change instance target groups to IP target groups ?

This controller is AWS ALB specific, sorry. I am amazed you were able to get that far!
There is no way on the AWS side AFAIK to configure a target group to an IP, you can only configure EC2 targets.


Add check in the OSM CLI for available updates / upgrades / new versions

This issue is to implement an OSM CLI command, which performs an upgrade of the control plane (and data plane if necessary) to the latest available version. For example: osm check-update could output Current installed version: X;  Available new version: Y
The design of this feature must ensure that Kubernetes clusters with older versions of the SMI CRDs continue to operate untinterrupted.
For instance: a cluster with version 1 of SMI and version 1 of OSM is upgraded to version 2 of OSM.  Version 2 of OSM must continue to work with version 1 of SMI.
Unanswered questions:

how many legacy SMI CRD versions is the latest OSM control plane going to support?

Scope (please mark with X where applicable)

New Functionality          [ ]
Install                    [ ]
SMI Traffic Access Policy  [ ]
SMI Traffic Specs Policy   [ ]
SMI Traffic Split Policy   [ ]
Permissive Traffic Policy  [ ]
Ingress                    [ ]
Egress                     [ ]
Envoy Control Plane        [ ]
CLI Tool                   [ ]
Metrics                    [ ]
Certificate Management     [ ]
Sidecar Injection          [ ]
Logging                    [ ]
Debugging                  [ ]
Tests                      [ ]
CI System                  [ ]
Project Release            [ ]

Possible use cases

ref https://github.com/openservicemesh/osm/issues/893 https://github.com/openservicemesh/osm/issues/512 https://github.com/openservicemesh/osm/issues/1603

OSM CRD Upgrade doc

OSM CRD Upgrade doc

For a first pass at this command, I envision a thin wrapper over helm upgrade with a subset of the flags available on osm install to tweak the chart values. This could handle simple updates like only modifying fields in the osm-config ConfigMap or more significant updates like changing the osm-controller image to a newer version that would require a control plane restart. Since Helm only modifies the resources that change between releases, changes only to the ConfigMap will not restart the control plane, for example.
Since all the parameters available to a user to change are in the chart's values.yaml, having a single CLI command that leverages helm upgrade for any control plane configuration changes seems to be the simplest to use and understand vs. segmenting parameters under different CLI commands.
Examples
Modify the ConfigMap, osm-controller not restarted:
$ osm mesh update MESH_NAME --enable-egress

Upgrade the control plane image versions, osm-controller restarted:
$ osm mesh update MESH_NAME --osm-image-tag=v0.6.1

Modify both the ConfigMap and osm-controller deployment, osm-controller restarted:
$ osm mesh update MESH_NAME --osm-image-tag=v0.6.1 --enable-egress

Any concerns or other ways we can improve this approach?
/cc @michelleN

For a first pass at this command, I envision a thin wrapper over helm upgrade with a subset of the flags available on osm install to tweak the chart values. This could handle simple updates like only modifying fields in the osm-config ConfigMap or more significant updates like changing the osm-controller image to a newer version that would require a control plane restart. Since Helm only modifies the resources that change between releases, changes only to the ConfigMap will not restart the control plane, for example.
Since all the parameters available to a user to change are in the chart's values.yaml, having a single CLI command that leverages helm upgrade for any control plane configuration changes seems to be the simplest to use and understand vs. segmenting parameters under different CLI commands.
Examples
Modify the ConfigMap, osm-controller not restarted:
$ osm mesh update MESH_NAME --enable-egress

Upgrade the control plane image versions, osm-controller restarted:
$ osm mesh update MESH_NAME --osm-image-tag=v0.6.1

Modify both the ConfigMap and osm-controller deployment, osm-controller restarted:
$ osm mesh update MESH_NAME --osm-image-tag=v0.6.1 --enable-egress

Any concerns or other ways we can improve this approach?
/cc @michelleN

GA requirement

@johnsonshi I see that you are assigned to this issue, please could you share the status of this? If you are no longer working on the please could you unassign yourself

Resolved through https://github.com/openservicemesh/osm/pull/4416


Fix "Jump to" button overflow

Fix issue 74 on KataGoVisualizer (https://github.com/AlignmentResearch/KataGoVisualizer/issues/74), Training Sample Games nav button overflows on mobile.

Before:

After:


[Pointer] Display play area sized cursor option on all pointers with boundary collision detection

Project a play area sized cursor on the floor where the pointer is pointing to to show where the play area will be after teleport.
The cursor will also have a trigger collider on it so if it collides with any other objects it can set a flag to say a collision has happened and if a collision is happening then don't throw the set new teleport location.
This value can also be used by extended pointers to change the colour of their beam depending on whether the location is valid or invalid.
Can get the size of the play area from the SteamVR_PlayArea script as it contains a public Vector3[] verticies variable which contains the relevant points for drawing the play area boundaries, so can use this numbers to create the cursor at the right size.

Completed with 87c6ebb32744bba9aa0e1568613dcae4cfc13e08


Filtering refinements

Enhance the filtering to support partial text in fields searched and make filtering more intuitive.
As presently implemented entering a word or part of it in the title or abstract identifies a resource properly, but entering a word in a creator or contributor that is not the beginning does not.  Specifically if I type tarboton in the search box. I get nothing found. I type d in the search box and get an option to pick author David Tarboton which returns the 3 resources for which I am first author. I type a in the search box and I get a list to choose from that includes author Alan Snow but not Author Tarboton, or David Tarboton. It seems that there is no way to search only on the last name only of an author or contributor.

@dtarb Is this ticket still valid for the new My Resources page?

This appears to be resolved in the new deploy, so closing.


The Deposit transaction signature message in ios14 displays garbled characters

Describe the bug
The Deposit transaction signature message in ios14 displays garbled characters
Steps to reproduce the behavior:

Initiate deposit transaction in Metamask browser
Jump to signature page

Getting the test token will also be garbled

It seems this issue is caused by a specific behaviour of MetaMask: when the message that needs to be signed is a hex string, MetaMask tries to convert it to utf-8 string, and apparently it doesn't work for in cases.
MetaMask team suggest us to use signTypedData_v4 instead of personal_sign, I think for now we should mark the issue as "wontfix", @Flouse  what do you think?
Related issue:
https://github.com/MetaMask/metamask-extension/issues/3931

This issue is not going to be fixed any time soon, so closing this issue.
But we will get to this whenever the chance comes.


feat(dataproc): new sample for job_submit + updating quickstart / create_cluster

Adding submit-job sample
Updating quickstart to reflect API changes
Update create_cluster docstring

Also, looks like you need a gofmt -w . -- that's causing the Build and Lint failure.


docs(readme): add cluster section

Pull Request Test Coverage Report for Build 1911

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

Totals

Change from base Build 1910:
0.0%

Covered Lines:
120

Relevant Lines:
172

💛  - Coveralls


apollo6.0的bridge支持Unreal4么？想做和lgsvl类似的仿真。

bridge 是一個socket server，它不會管你是unity 還是unreal, 只要follow 它的 API 就可以。

Closed due to inactivity. If the problem persists, pls feel free to reopen it or create a new one and refer to it.


Convert id value into an NSString for Adjust

Adjust assumes id value is a string, so first try to convert it to a stringValue (NSNumber), otherwise, use the description.
This fixes a crash I was having where Adjust SDK was trying isEmpty on value.

        1 Error

  </th>
 </tr>

:no_entry_sign:
Please include a CHANGELOG entry.
You can find it at CHANGELOG.md.

  Generated by :no_entry_sign: danger

Interesting, makes sense 👍


Add Captcha Verification

Pull Request Template
Description
Add a Captcha verification and add it to the Register form so that it prevents bots from signing up and differentiates it from actual human users
Fixes #194
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

##Screenshot

##Working video:
https://github.com/agamjotsingh18/pollitup/assets/91601706/843d6209-1e88-4bbd-b829-2263ef1bcf78
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

@Arnabdaz can you check and tell ?

@Arnabdaz can you check and tell ?

Hi @Manice18 you implemented the captcha really nicely , but there are some things I should tell you:

the way you implemented the captcha by adding blur on the input field would really make it hard for robots to scan the text but so it would do for humans specially visually impared peoples.
anyways this can be solved easily with a audio captcha option or some other accessability options

2, As you are using a input filed to show the capcha image the value can easily be read by a bot which defeats the whole purpose of having captcha

Anyways lets come to solution: for hiding the text from html dom you use textarea to display the without making it available in the dom make sure to add the text as:
<textarea id="someId"></textarea>
document.getElementById('someId').value = [captcha value]

and for the visually impared people part we can come up with some other method like audio captcha which can be implemented with a new issue and pr

simply you are telling me to remove the input field to display the captcha, and instead add textarea to display it and use dom to show, update the captcha , am i correct ? @Arnabdaz

Anyways lets come to solution: for hiding the text from html dom you use textarea to display the without making it available in the dom make sure to add the text as:
<textarea id="someId"></textarea>
document.getElementById('someId').value = [captcha value]

and for the visually impared people part we can come up with some other method like audio captcha which can be implemented with a new issue and pr

simply you are telling me to remove the input field to display the captcha, and instead add textarea to display it and use dom to show, update the captcha , am i correct ? @Arnabdaz

yep so that the captcha is not visible in the html

@Arnabdaz i am done with all the changes but i am having one problem which is: i am not able to adjust the height of the textarea

@Arnabdaz i am done with all the changes but i am having one problem which is: i am not able to adjust the height of the textarea. I used the chakra ui Textarea

can you push the changes ?

ya wait

@Arnabdaz can you check now, the latest commit that i made

@Arnabdaz can you check now, the latest commit that i made

cool just add rows property to the textarea element rows="1" should make it look like input also increase its width because when lot of wide characters come they break in two lines so like make it like 10 or 11 rem wide ( 1rem = 16px by default so if you are setting in px just use 160 px or 170px would be enough width for 6 characters)
also along with this fix make sure the text inside is not selectable
you can refer to https://code-boxx.com/make-html-text-unselectable/ or if possible comeup with a better solution

@Arnabdaz done

all working now @Arnabdaz

could you remove the selection of the text else one can easily drag and drop the captcha text or copy paste it
Updated: simulator api endpoints implemented in /api/v1/projects enpoint

could you remove the selection of the text else one can easily drag and drop the captcha text or copy paste it
Screencast from 2023-07-01 22-58-18.webm

@Arnabdaz  i already did that , i dont know why it's happenning in you case

https://github.com/agamjotsingh18/pollitup/assets/91601706/588665ae-7e11-4e0e-9ce5-55d4a4e9328d
should i add unselectable='on' ?

@Arnabdaz i already did that , i dont know why it's happenning in you case
test1.mp4
should i add unselectable='on' ?

yah you can

@Arnabdaz made the change

@Manice18 if you have another issue to work on ping me on the issue page to be assigned or create a new one and get assigned

@Manice18 if you have another issue to work on ping me on the issue page to be assigned or create a new one and get assigned

Ok will look into something.


NancyModule.ModulePath support

A NancyModule can be initialized with a modulePath like
public class V1Module : NancyModule
{
  public V1Module() : base("v1")
  {
    // init "test/get"
    // init "test/post"
  }
}

so "test/get" and "test/post" requests are actually "v1/test/get" and "v1/test/post".
I've digged into RouteDescriber and RouteBuilder but I've missed how to specify this.
I am missing something?

Right now, it's set in the bootstrapper, as seen in the demo:
https://github.com/yahehe/Nancy.Swagger/blob/master/samples/Nancy.Swagger.Demo/Bootstrapper.cs#L15
(We should probably add something to allow it to be over-written, in case people want to document different versions of a route)

This should be handled automatically? I have a service with different versions for endpoints and I see the version picked up without additional setup

I have a service with different versions for endpoints and I see the version picked up without additional setup

This looks different to me: endpoinds (correct me if I'm wrong) are configure when boostrapping service so you have some modules used only when your request matches certains constans.
I've made similar things with Nancy+Owin, like:
app.MapWhen(ctx => ctx.Request.Path.StartsWithSegments(new PathString("api")),

so your module "v1/test/get" is actually "api/v1/test/get"
this is fine, and actually swaggermodule too listen to "api/api-docs"
ModulePath looks different to me: is used when creating a module - used in constructor in my sample - and appears in nancy route but not in swagger metadata route.

@yahehe You're right. Disregard my earlier statement.
Nancy.Swagger just grabs the route Nancy.Routing, I believe.
https://github.com/yahehe/Nancy.Swagger/blob/master/src/Nancy.Swagger/Services/DefaultSwaggerMetadataProvider.cs#L35
I could look into whether we could find that data, but that might be difficult.
Thought I guess we could also add a way to override the automatically generated paths.
But as we said before, we're not actively developing for the 1.4.3 stable branch. So I would recommend updating if possible. Otherwise, we would need to make sure to add whatever we change to both branches.

If you're talking about adding a basePath then what Josh said is correct. If you're talking about swagger picking up the inherited routes from parent modules then that already happens in 1.4.3 (apparently my service runs 1.4.3). If you have complex routing logic that should still be captured normally

If you're talking about swagger picking up the inherited routes from parent modules

nope, I talk about what @jnallard said, he point exactly where I see the "problem", metadata provider build routes from Nancy.RouteDescriptor, that doesn't contain ModulePath information.

but as we said before, we're not actively developing for the 1.4.3 stable branch
yep, maybe if you fix master branch, I can try to fix 1.4.3 one

sorry guys, I made a mistake.
all is fine, I'm simply dumb and I've missed a check in my code.
sorry, again, for the time loss.


Add prometheusExternalLabelName field to Prometheus object

This commit adds prometheusExternalLabelName field to Prometheus object.
The string value of this field is used to customize the name of Prometheus external label holding namespace and name of Prometheus object.
When the field is set to empty string ("") it would not be included into a rendered external_labels dictionary of prometheus.yaml.
When the field is missing (null) it defaults to prometheus for backward compatibility.

I'd like to bring up a concern related to rendering of Prometheus external labels from the perspective of interface consistency and complexity:
While this PR on its own a must-have for pre-existing Thanos-enabled HA deployments to have a smooth transition to Prometheus Operator (due to the fact that Thanos HA capabilities are sensitive to any discrepancy with global labels among replicas) it introduces discontinuity with previously introduced field replicaExternalLabelName (controlling the name of the key to holding a specific StatefulSet replica name in Prometheus external labels) (#2411).
I can think of 3 options to approach this discontinuity:

Leave as-is: both fields sound similar and are designed for similar use-cases, but for stated use-case, only one of them need to have a capability to be skipped/excluded entirely (prometheus which this PR is addressing).

Update replicaExternalLabelName field handling, where the empty string would be interpreted as a request not to add "replica" global label, thus bringing up behavior up to prometheus global label (which this PR is proposing). This would be a breaking change (as of now empty string in replicaExternalLabelName is interpreted as prometheus_replica)

move both "replica" and "prometheus" global labels into a default value of externalLabels map:
externalLabels:
    prometheus: $POD_NAMESPACE/$STATEFULSET_NAME
    replica: $POD_NAME

These environment variables would be exposed to a prometheus-config-reloader container via
Downward API (directly via metadata ref or via pod labels which already contain these values) or
just set statically set by the operator (directly or via annotation).

In my opinion, option 3 would result in the best UX, but is breaking change; option 2 would be a minor improvement to UX and a less breaking change; while option 1 is the most pragmatic minimum viable fix to the problem at hand with no breakage and least amount of code.

Sorry for taking so long. I think 2 is the best and most consistent option here.

Thank you for taking time to review the PR.
Would it make sense to handle a PR implementing option 2 separately from this one?
Due to a minor breaking change we might want to release them separately targeting different releases, this PR might go into a next patch, while change to replicaExternalLabelName would be better suited for the next minor release to signify possible breakage.

I don't see it as a breaking change, it's an extension of the functionality of an existing field. Values that were set previously still work, only empty strings change their meaning which didn't make sense to be set previously anyways, so I'm ok with adding it in this PR.

Added implementation of option #2 via a separate commit.

lgtm :+1:
leaving last call up to @mxinden @squat @s-urbaniak @metalmatze