Breaking changes in .NET Core 2.1 structs

There are breaking changes in some .NET Core 2.1 structs - these structs now have private fields and cannot be instantiated without new. There should be probabaly some official "breaking changes" section in this document.
https://github.com/dotnet/corefx/issues/6185

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

ID: 3bc74517-2839-4b16-8539-d31aba49bcfd
Version Independent ID: 5511dd8b-d5d6-a3fb-172a-f35ff530cfc8
Content: What's new in .NET Core 2.1
Content Source: docs/core/whats-new/dotnet-core-2-1.md
Product: dotnet-core
GitHub Login: @rpetrusha
Microsoft Alias: ronpet

@martinsuchan Thanks, we will document this as a breaking change.


[Bug]: when adding 2fa auth, the QR code is not scanable.

Description

The qr code background makes it impossible to scan.
Minimal Reproduction (if possible, example repository)

Login to your coolify instance
go to profile
click configure on 2fa auth

browser: Firefox

Exception or Error
No response
Version
v4.0.0-beta.297

this is the actual HTML code
`

Show secret key to manually
                    enter
</button>
            </div>
        </div>`

the issue is cause because the rect is 192x192 if I make it 250x250 it works fine.

Thanks! I have made a few modifications, I hope it will work, if not, reopen this issue.

My colleague just installed Coolify v4.0.0-beta.343 and we both could not scan the QR Code, but had to enter the key manually.
Our installation is using the black background. I was using the Authy app (which never had this issue before).

@mediafinger This will be fixed in a upcoming version.
@sneko I have added the OTP Url with an easy copy button. Will be released in one of the next versions.


ACTUATOR_OUTPUT_STATUS MAVLink stream for ESCs

Adding ACTUATOR_OUTPUT_STATUS Mavlink stream for UAVs with ESCs.
Test data / coverage
Tested with MAVSDK (This PR).

Errors:
$ px4_fmu-v2_default.elf section .data will not fit in region flash
 $ region flash overflowed by 168 bytes
Hmm

What's the status of this? Is a new mavlink message needed? Would be nice to have this in the release.

Is a new mavlink message needed?

Yes, I don't see anything existing.


Nested  does not update

I encountered another problem while working on my toy project with nested game state. I'm not sure what the problem is here, but I'd guess it's some sort of caching issue in For, or I'm simply using Signals wrong?
I created a component that shows the problem, the static variant is what I ended up with, but it has to regenerate the whole list of categories whenever there is a change. The version using  is completely broken, it seems like it doesn't update on any changes in the nested Vec's. I've tried a few workarounds, but the only thing that actually worked in all cases was the fully static one I included as well.
use leptos::*;
use std::collections::HashMap;

#[component]
pub fn Foo(cx: Scope) -> impl IntoView {
    let raw_data = [3, 4, 5]
        .iter()
        .map(|x| create_rw_signal(cx, *x))
        .enumerate()
        .collect::<Vec<_>>();
    let (data, write_data) = create_signal(cx, raw_data);

    let categorized = move || {
        data.with(|data| {
            let mut categorized = data
                .iter()
                .fold(HashMap::new(), |mut acc, &(id, value)| {
                    acc.entry(categorize(id))
                        .or_insert_with(Vec::new)
                        .push((id, value));
                    acc
                })
                .into_iter()
                .collect::<Vec<_>>();

            // Sort everything for clarity
            categorized.sort_by_key(|(category, _)| *category);
            for (_, values) in &mut categorized {
                values.sort_by_key(|(id, _)| *id);
            }

            categorized
        })
    };

    let new_element = move |_| {
        write_data.update(|data| {
            data.push((data.len(), create_rw_signal(cx, 0)));
            log_data(data);
        })
    };

    let increment_all = move |_| {
        // It shouldn't be necessary to call update here, only the inner values get changed?
        data.with(|data| {
            for (_, value) in data {
                value.update(|value| *value += 1);
            }
            log_data(data);
        });
    };

    let static_for = move || {
        log!("Full static regeneration");
        categorized()
            .into_iter()
            .map(|(category, category_values)| {
                let values = move || {
                    category_values
                        .iter()
                        .map(|(id, value)| {
                            view! {cx,

{format!("Id: {} Value: {}", id, value.get())}

                            }
                        })
                        .collect::<Vec<_>>()
                };
                view! {cx,

{format!("Category: {}", category)}

                    {values}
                }
            })
            .collect::<Vec<_>>()
    };

    view! {cx,

"Using <For>"

        <For
            each=categorized
            key=|(category, _)| *category
            view=move |cx, (category, category_values)| view! {cx,

{format!("Category: {}", category)}

                <For
                    // I'd also like to find a way of calling this without clone
                    // The only other thing that seems to work with lifetimes is to create a signal
                    // but the categories depend only on "data" so a signal shouldn't be necessary here, right?
                    each=move || category_values.clone()
                    key=|(id,_)| *id
                    view=move |cx, (id, value)| view! {cx,

{format!("Id: {} Value: {}", id, value.get())}

                    }
                />
            }
        />

"Static"

        {static_for}

"Interaction"

        <button on:click=new_element>"New element"</button>
        <button on:click=increment_all>"Increment all"</button>
    }
}

fn log_data(data: &Vec<(usize, RwSignal<i32>)>) {
    log!(
        "{}",
        data.iter()
            .map(|(id, value)| format!("id: {} value: {}, ", id, value.get()))
            .collect::<String>()
    )
}

fn categorize(value: usize) -> usize {
    value % 4
}

If I understand correctly in the <For/> version the "New element" button is working as intended, but not "Incremental all"?
The problem is that this line is not reactive:

{format!("Id: {} Value: {}", id, value.get())}

It should be

{move || format!("Id: {} Value: {}", id, value.get())}

Plain values (the String you get from format!) passed into the view do not cause reactive updates; only functions or signals passed into the view cause reactive updates, so adding a closure here causes it to correctly update the counts on "increment all".

While that does fix the increment problem (I was actually quite confused by that one, I didn't have it in my actual project), it doesn't fix the problem that categories don't get updated.
New element only works in the static version. In the  version, it only works when a new category is added, not when new elements are added to that category.

Sorry for the slow response. This is a fairly complicated example and I haven't had much time to wrap my head around it.
I don't see any reason in your example to think that category_values in the inner <For/> would trigger reactive changes. It's just a plain Vec, not a signal or a derived signal. Adding new elements leads categorized to continue updating, but the inner category_values that's stored for each category is a plain Vec not a reactive value. What you actually want to do here is to take a reactive slice -- a derived signal or a memo -- from that reactive categories, rather than a non-reactive version.
Here's a rather bad version, but it achieves what you want: only making targeted, keys updates, i.e., inserting a single element rather than rerendering the whole table per change. The key difference here is the recognition that categories is the reactive value, and that each row is a reactive slice of it.
I'm sure you can refactor and improve this pretty significantly but I'm a little tired:
#[component]
pub fn App(cx: Scope) -> impl IntoView {
    let raw_data = [3, 4, 5]
        .iter()
        .map(|x| create_rw_signal(cx, *x))
        .enumerate()
        .collect::<Vec<_>>();
    let (data, write_data) = create_signal(cx, raw_data);

    let categorized = create_memo(cx, move |_| {
        data.with(|data| {
            let mut categorized = data
                .iter()
                .fold(HashMap::new(), |mut acc, &(id, value)| {
                    acc.entry(categorize(id))
                        .or_insert_with(Vec::new)
                        .push((id, value));
                    acc
                })
                .into_iter()
                .collect::<Vec<_>>();

            // Sort everything for clarity
            categorized.sort_by_key(|(category, _)| *category);
            for (_, values) in &mut categorized {
                values.sort_by_key(|(id, _)| *id);
                //values.update(|values| values.sort_by_key(|(id, _)| *id));
            }

            categorized
        })
    });

    let new_element = move |_| {
        write_data.update(|data| {
            data.push((data.len(), create_rw_signal(cx, 0)));
            log_data(data);
        })
    };

    let increment_all = move |_| {
        // It shouldn't be necessary to call update here, only the inner values get changed?
        data.with(|data| {
            for (_, value) in data {
                value.update(|value| *value += 1);
            }
            log_data(data);
        });
    };

    view! {cx,

"Using <For>"

        <For
            each=categorized
            key=|(category, _)| *category
            view=move |cx, (category, category_values)| {
                // takes a memoized slice, for this category, of the original reactive `categories`
                let category_values = create_memo(cx, move |_| {
                    categorized.with(|categorized| categorized.iter().find(|(s_category, _)| *s_category == category).unwrap().1.clone())
                });
                view! {cx,

{format!("Category: {}", category)}

                    <For
                         each=category_values
                        key=|(id,_)| *id
                        view=move |cx, (id, value)| view! {cx,

{move || format!("Id: {} Value: {}", id, value.get())}

                        }
                    />
                }
            }
        />

"Interaction"

        <button on:click=new_element>"New element"</button>
        <button on:click=increment_all>"Increment all"</button>
    }
}

I'm going to close the issue as this doesn't seem to be a bug in <For/> after all, but feel free to reply or find us on Discord (link in Readme) if you have any trouble with the refactor.

P.S. Just while it's still on my mind, the refactor that would make sense to me would be
A) a signal that holds a flat Vec<_> of all the values
B) a memo of the categories
C) a memo (whether constructed inside the first <For/> or as a table of memos at the top level) of the values
But I'm sure there are several different ways to do it.
P. P. S. Thinking for the future — the move || category_values.clone(), which you rightly flagged in a comment, is a good sign "this will not be reactive" — a function that returns a cloned Vec that you've moved into it can never return a different value from the last run, so couldn't ever update the inner <For/>


support resolving SNS and AD domains

Domain Resolution
Agent can resolve domains public key
i.e. agent.resolveAllDomains(domain)
Lookup Owner
Agent can get all domains owned
i.e. agent.getOwnedAllDomains(owner)
Get Domains on TLD
Agent can get all domains for a specific TLD
i.e. agent.getOwnedDomainsForTLD(owner, tld)
Get All Active TLDs
Agent can fetch all the current active TLDs
i.e. agent.getAllDomainsTLDs()
Get All Registered All Domains
Return all the domains for all the TLDs
i.e. agent.getAllRegisteredAllDomans()
Get User Main Domain
Get the user’s favourite / main domain
i.e. agent.getMainAllDomainsDomain(owner)

#29


[Feature Request:] Error messages for Humans when running gradle with an older java version then needed.

Expected Behavior
When attempting to build a project, that requires a newer version of Java then the one gradle is currently using, results in obtuse error messages.
It would be nice to get a human readable version, that isn't so in-depth in detail, because it's often the simple things you overlook, rather then something complicated.
Take the output of this build scan for instance:
https://scans.gradle.com/s/7hh4lw63lbgha/console-log?anchor=39&page=1
> Could not resolve all task dependencies for configuration ':buildSrc:buildScriptClasspath'. |
-- | --
  | > Could not resolve project :buildSrc. |
  | Required by: |
  | project :buildSrc |
  | > No matching variant of project :buildSrc was found. The consumer was configured to find a library for use during runtime, compatible with Java 12, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.4' but: |
  | - Variant 'apiElements' capability :buildSrc:unspecified declares a library, packaged as a jar, and its dependencies declared externally: |
  | - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 12 |
  | - Other compatible attribute: |
  | - Doesn't say anything about org.gradle.plugin.api-version (required '8.4') |
  | - Variant 'mainSourceElements' capability :buildSrc:unspecified declares a component, and its dependencies declared externally: |
  | - Incompatible because this component declares a component of category 'verification' and the consumer needed a library |
  | - Other compatible attributes: |
  | - Doesn't say anything about its target Java version (required compatibility with Java 12) |
  | - Doesn't say anything about its elements (required them packaged as a jar) |
  | - Doesn't say anything about org.gradle.plugin.api-version (required '8.4') |
  | - Doesn't say anything about its usage (required runtime) |
  | - Variant 'runtimeElements' capability :buildSrc:unspecified declares a library for use during runtime, packaged as a jar, and its dependencies declared externally: |
  | - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 12 |
  | - Other compatible attribute: |
  | - Doesn't say anything about org.gradle.plugin.api-version (required '8.4') |
  | - Variant 'testResultsElementsForTest' capability :buildSrc:unspecified: |
  | - Incompatible because this component declares a component of category 'verification' and the consumer needed a library |
  | - Other compatible attributes: |
  | - Doesn't say anything about how its dependencies are found (required its dependencies declared externally) |
  | - Doesn't say anything about its target Java version (required compatibility with Java 12) |
  | - Doesn't say anything about its elements (required them packaged as a jar) |
  | - Doesn't say anything about org.gradle.plugin.api-version (required '8.4') |
  | - Doesn't say anything about its usage (required runtime)

This is cryptic as all get-up, and requires googling, when it all could have been pre-ambled with:

"Gradle is currently running on JDK V.12, and this project has elements which require minimum Java 17, see Below for Details."

Current Behavior (optional)
Could not resolve all task dependencies for configuration ':buildSrc:buildScriptClasspath'. |
  | > Could not resolve project :buildSrc. |
  | Required by: |
  | project :buildSrc |
  | > No matching variant of project :buildSrc was found. The consumer was configured to find a library for use during runtime, compatible with Java 12, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.4' but:
Context
I was attempting to fork a gradle plugin: https://github.com/PeppsHabender/r4j/
It cost me some googling effort of error messages, after I composed myself after being distracted of "why the hell isn't this building" which took longer then it should have for me to google the error message instead of investigating how the build works.

This is already the case from Gradle 8.8 and more recent. The scan shared shows Gradle 8.4 is used.
Or did you try with a more recent version as well and saw the same output?

So I came across this and found that in IntelliJ, I got a similar wall of text which to be fair explains the issue well if one understand the wording.

Note the relevant part in the OP is Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 12.

While fixing my issue I used the command line (using 8.10.2) and to my pleasant surprise the output was colored, especially the most relevant sections.

Unfortunately, this coloring doesn't show up in IntelliJ (and maybe other IDEs), or in build scans

I believe this is gap is probably something that could help users understand the situation better. I don't know if the error reporting APi can do that. But that would probably help a lot users.

Also in my case I had in my buildSrc/build.gradle.kts this config
java {
  toolchain {
    languageVersion.set(JavaLanguageVersion.of(11))
  }
}

But decided to use a plugin (dev.yumi:yumi-gradle-licenser:2.0.0) that was compiled for Java 17, the error report didn't mention the toolchain setting.

This is already the case from Gradle 8.8 and more recent. The scan shared shows Gradle 8.4 is used.
Or did you try with a more recent version as well and saw the same output?

Apologies, I should have updated gradle as the first thing I tried before opening an issue.


Crash upon receiving the thumbs up sticker on Facebook

Origionally reported here: https://github.com/mrkno/Kassy/issues/78 by @ParasDPain
API Version: 1.0.2
I cannot reproduce on 1.0.2 or newer so I've asked that they test with a newer version of the API to see if the problem still exists.
Origional Issue:
The sticker in question is the mouse clicked/finger tapped thumbs up. It is not available in the sticker store but provided under messenger's attachment-bar.
When sent (of any size) Kassy crashes with the following log message
ERR! ERROR in listen -->  TypeError: Cannot read property 'caption' of undefined
ERR! ERROR in listen -->      at _formatAttachment (H:\DEVIDE\Kassy-compiled\node_modules\facebook-chat-api\utils.js:155:29)
ERR! ERROR in listen -->      at H:\DEVIDE\Kassy-compiled\node_modules\facebook-chat-api\utils.js:250:12
ERR! ERROR in listen -->      at Array.map (native)
ERR! ERROR in listen -->      at formatAttachment (H:\DEVIDE\Kassy-compiled\node_modules\facebook-chat-api\utils.js:245:36)
ERR! ERROR in listen -->      at Object.formatMessage (H:\DEVIDE\Kassy-compiled\node_modules\facebook-chat-api\utils.js:267:18)
ERR! ERROR in listen -->      at parsePackets (H:\DEVIDE\Kassy-compiled\node_modules\facebook-chat-api\src\listen.js:134:35)
ERR! ERROR in listen -->      at Array.forEach (native)
ERR! ERROR in listen -->      at H:\DEVIDE\Kassy-compiled\node_modules\facebook-chat-api\src\listen.js:86:12
ERR! ERROR in listen -->      at tryCatcher (H:\DEVIDE\Kassy-compiled\node_modules\bluebird\js\main\util.js:26:23)
ERR! ERROR in listen -->      at Promise._settlePromiseFromHandler (H:\DEVIDE\Kassy-compiled\node_modules\bluebird\js\main\promise.js:507:31)
ERR! ERROR in listen -->      at Promise._settlePromiseAt (H:\DEVIDE\Kassy-compiled\node_modules\bluebird\js\main\promise.js:581:18)
ERR! ERROR in listen -->      at Promise._settlePromises (H:\DEVIDE\Kassy-compiled\node_modules\bluebird\js\main\promise.js:697:14)
ERR! ERROR in listen -->      at Async._drainQueue (H:\DEVIDE\Kassy-compiled\node_modules\bluebird\js\main\async.js:123:16)
ERR! ERROR in listen -->      at Async._drainQueues (H:\DEVIDE\Kassy-compiled\node_modules\bluebird\js\main\async.js:133:10)
ERR! ERROR in listen -->      at Immediate.Async.drainQueues [as _onImmediate] (H:\DEVIDE\Kassy-compiled\node_modules\bluebird\js\main\async.js:15:14)
ERR! ERROR in listen -->      at processImmediate [as _immediateCallback] (timers.js:383:17)
ERR! ERROR in listen -->   [TypeError: Cannot read property 'caption' of undefined]
undefined

I would argue this to be an important issue because users tend to use that thumbs-up quite ofte

It appears their issue was fixed by using a newer version of your API. Sorry for the noise :)

No problem! Glad we fixed it :)


workflow: Add CIG WF610D AP

Add cig wf610d AP
Signed-off-by: Chaitanya Godavarthi<EMAIL_ADDRESS>

merged into pending, Thanks !


Incorrect information on page about automating date/time pickers.

The code on this page doesn't work in current iOS or Xamarin. Sites like https://intercom.help/appcenter/en/articles/2435221-controlling-datepickers-in-xamarin-forms-apps-with-xamarin-uitest-on-ios have information about an alternative that works.

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

ID: 465e759c-e3d6-d9d6-5a45-e15e8b9156ef
Version Independent ID: bb77c744-4cb8-49b9-7f00-b42664e5cb2f
Content: Automating Xamarin.Forms Date & Time Pickers with Xamarin.UITest - Visual Studio App Center
Content Source: docs/test-cloud/frameworks/uitest/features/date-time-pickers.md
Service: vs-appcenter
Sub-service: app-center-test
GitHub Login: @lucen-ms
Microsoft Alias: lucen

Hi @SittenSpynne , you are right, this approach doesn't work anymore. We will need to update the doc.
Please use the workaround from the article you mentioned.

Closing issue as its fixed


Proxy exits with code 1

I am trying to run the docker based microservices (without k8s). The proxy is exiting with code 1 as soon as I start things up using go-run up.
The output of docker logs proxy is as follows:
{"message":"Unable to find certificate /etc/cert/cert.pem"}
{"message":"Unable to find certificate /etc/cert/cert.pem"}
{"message":"Unable to find certificate /etc/cert/cert.pem"}

I guess because of this my go-run wait waits indefinitely.
Any hints will be highly appreciated.

Non-issue; the earlier command wasn't running successfully:
./go-admin setup


Added cloudera repository.

Why is that needed?

Users that try to compile with cdh releases get compilation errors, and a fix has been going around the user list involving adding the cloudera repository to all gradle projects.
This PR fixes the build for cdh releases.

OK.


[Wip no merge] Fh 4242 keycloak bind

First pass at using the binding api plus pod presets (no doubt failing build right now). This is the first part of two. The second part will be adding in support for 3scale and removing the pod presets from code and into the bind unbind playbooks.
Goes along with https://github.com/feedhenry/keycloak-apb/pull/14
I wanted to get eyes on it earlier rather than later.
The idea behind these changes is unifying us as using the bind API to do the work when we want to enable an integration.
Currently the ui for the bind api does not support parameters. In the future we may move the binding code out of the server all together and into the UI and cli depending on what makes sense.

@philbrookes I have added creating pod presets in here as the alpha version in SC seems to be changing.
I thought it might be a good idea to add the pod preset to the bind apb, however that can cause a timing issue: The apb hasn't launched or created the pod preset, and so we don't really know when to redeploy the deployment.
We can change the behaviour to say "ok redeploy your service now" but I think allowing it to be auto redeployed once the change is ready is useful.
I don't think the apb should be doing anything with the deployment config of the service, so, in my mind, that rules out the apb re deploying.
Another option would be watch from mcp for when the pod preset gets created and redeploy the service then.

Currently this breaks the App API Key integration

@philbrookes API Key integration issue solved. However this does now break cross namespace integrations. I think this is ok currently as not a main feature of the POC and something we wanted to revisit anyway. I think we should be using the bind and provision apb actions to allow for cross namespace bindings.
Short example:
sync in namespace A keycloak in namespace B
There is a service instance in namespace B
Need to provision to namespace A without creating a new keycloak (ie give it the details of the one in namespace B)
That will give us a service instance in each namespace but only one actual service
next we call bind, it takes a secret name to look up
it looks up the secret and gets the credentials that were created during the provision and does the binding for either namespace against the same keycloak.
More to discuss but I think this is a better option.


Chess: Move D2 to E1

Please do not change the title. Just click "Submit new issue".

@tmchuynh done! Successfully played move d2e1 for current game.
Thanks for playing!


ScaleDown

How to stop scaledown of image inside viewpager ?

Always provide all debug informations (such as SDK version, library version, size of image - both byte size and resolution) and possibly code sample that proves the bug, we cannot help you if you don't do that.


Problems

Added problem deletion functionality. Made a popup window for the activity. But there is again the problem of the problem list being updated like when a problem is added and then returning to the problem list

The problemlist not updating could be one of the following:

In render, you are not updating the ListAdapter holding the problems. The solution to this would be setting the ListAdapters current list to the newest state and invoking notifyDataSetChanged() in render.
The server is taking too long to delete the problem, thus we are querying the problems before the problem is deleted. A solution to this is to sleep the DeleteProblemTask after it executes the Delete action to the database.


Ignore block-outside-dns in Linux

Fix #254

Would that ignore the option only if it's unsuported?

–ignore-unknown-option opt1 opt2 opt3 … optN
When one of options opt1 … optN is encountered in the configuration file the configuration file parsing does not fail if this OpenVPN version does not support the option.

Yes. It's a Windows option so this is to ignore it in Linux.


CUDA 11.3 is required

Just a note to say that CUDA 11.3 is required. Using other CUDA version gives THC.h error.

This is the latest pytorch build that works:
python3 -m pip install torch==1.10.0+cu113 torchvision==0.11.0+cu113 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html


RCON/Status not working

When I try any RCON commands I get the following error:
arkmanager saveworld
Running command 'saveworld' for instance 'main'
Error connecting to server: Connection refused at -e line 33.
I have checked permissions, I have verified RCON is listening and fuctioning correctly.  I put the correct info into the configs as best as I can tell.
I also get this while the server is running, and suspect it;s related:
Again, in this case I have verified the server is running correctly, and can log in.
arkmanager status
Running command 'status' for instance 'main'
Server running:   No
Server listening:   No
Server build ID:   2098725
netstat -antup | grep 'ShooterGameS'
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp        0      0 <IP_ADDRESS>:37030        <IP_ADDRESS>:*               LISTEN      9512/ShooterGameSer
udp        0      0 <IP_ADDRESS>:37025        <IP_ADDRESS>:*                           9512/ShooterGameSer
udp        0      0 <IP_ADDRESS>:39852           <IP_ADDRESS>:*                           9512/ShooterGameSer
udp        0      0 <IP_ADDRESS>:8778         <IP_ADDRESS>:*                           9512/ShooterGameSer
udp        0      0 10.00.2:51084        <IP_ADDRESS>:*                           9512/ShooterGameSer

That looks like it has bound to IP address <IP_ADDRESS> rather than binding to all interfaces (<IP_ADDRESS>)
Is 37030 your RCON port?

I obfuscated the IP a little, but yes its binding to the internal IP.  37030 is my RCON.

Do you have MultiHome set in your GameUserSettings.ini?

I have tried with, and without.   No difference.

Any ideas of what I might try next?

What are the contents of the arkserver.log file (with any sensitive data masked out), from the last start line to the end?

These are my files:
arkserver.cfg
arkstChannel="master"                                               # change it to a different branch to get non-stable versions
install_bindir="/usr/local/bin"
install_libexecdir="/usr/local/libexec/arkmanager"
install_datadir="/usr/local/share/arkmanager"

# config SteamCMD
steamcmdroot="/home/steam"                                 # path of your steamcmd instance
steamcmdexec="steamcmd.sh"                                          # name of steamcmd executable
steamcmd_user="steam"                                               # name of the system user who own steamcmd folder
steamcmd_appinfocache="/home/steam/Steam/appcache/appinfo.vdf"      # cache of the appinfo command
steamcmd_workshoplog="/home/steam/Steam/logs/workshop_log.txt"      # Steam workshop log
steamworkshopdir="/home/steam/Steam/steamapps/workshop"
steamlogin="anonymous"                                             # Uncomment this to specify steam login instead of using ano$

# config environment
arkserverexec="ShooterGame/Binaries/Linux/ShooterGameServer"        # name of ARK server executable
arkbackupdir="/home/steam/arkserver/ARK-Backups"                              # path to backup directory
arkwarnminutes="10"                                                 # number of minutes to warn players when using update --warn
arkautorestartfile="/home/steam/arkserver/ShooterGame/Saved/.autorestart"                 # path to autorestart file
arkAutoUpdateOnStart="true"                                        # set this to true if you want to always update before start$
arkBackupPreUpdate="true"                                          # set this to true if you want to perform a backup before up$
#arkStagingDir="/home/steam/arkserver/ARK-Staging"                            # Uncomment to enable updates to be fully downloa$

# Options to automatically remove old backups to keep backup size in check
# Each compressed backup is generally about 1-2MB in size.
#arkMaxBackupSizeMB="500"                                            # Set to automatically remove old backups when size exceed$
arkMaxBackupSizeGB="5"                                             # Uncomment this and comment the above to specify the limit $

# Update warning messages
# Modify as desired, putting the %d replacement operator where the number belongs
msgWarnUpdateMinutes="This ARK server will shutdown for an update in %d minutes"
msgWarnUpdateSeconds="This ARK server will shutdown for an update in %d seconds"
msgWarnRestartMinutes="This ARK server will shutdown for a restart in %d minutes"
msgWarnRestartSeconds="This ARK server will shutdown for a restart in %d seconds"
msgWarnShutdownMinutes="This ARK server will shutdown in %d minutes"
msgWarnShutdownSeconds="This ARK server will shutdown in %d seconds"
msgWarnCancelled="Restart cancelled by player request"

# Restart cancel chat command
#chatCommandRestartCancel="/cancelupdate"

# ARK server common options - use ark_<optionname>=<value>
# comment out these values if you want to define them
# inside your GameUserSettings.ini file
#serverMap="Ragnarok"                                               # server map (default TheIsland)
#serverMapModId="469987622"                                         # Uncomment this to specify the Map Mod Id (<fileid> in htt$
#ark_TotalConversionMod="111111111"                                 # Uncomment this to specify a total-conversion mod
#ark_RCONEnabled="True"                                              # Enable RCON Protocol
#ark_ServerPassword=""                                               # ARK server password, empty: no password required to login
#ark_ServerAdminPassword="XXXXX"                               # ARK server admin password, KEEP IT SAFE!
#ark_MaxPlayers="70"
##ark_GameModIds="487516323,487516324,487516325"                     # Uncomment to specify additional mods by Mod Id separated$
#ark_AltSaveDirectoryName="Ark-Saves"                                    # Uncomment to specify a different save directory name
#ark_Port="7778"                                                     # ARK serve$
#ark_QueryPort="27015"                                               # ARK query$

# ARK server flags - use arkflag_<optionname>=true
#arkflag_OnlyAdminRejoinAsSpectator=true                            # Uncomment to only allow admins to rejoin as spectator
#arkflag_DisableDeathSpectator=true                                 # Uncomment to disable players from becoming spectators whe$

# ARK server options - i.e. for -optname=val, use arkopt_optname=val
#arkopt_StructureDestructionTag=DestroySwampSnowStructures

# config Service
logdir="/var/log/arktools"                                          # Logs path (default /var/log/arktools)

# steamdb specific
appid=376030                                                        # Linux server App ID
mod_appid=346110                                                    # App ID for mods

# Mod OS Selection
mod_branch=Windows
# Add mod-specific OS selection below:
#mod_branch_496735411=Windows

# alternate configs
# example for config name "ark1":
#configfile_ark1="/path/to/config/file"

defaultinstance="blueark"

arkserver.log
2017-09-16 16:13:59: [blueark] Using binned.
2017-09-16 16:13:59: [blueark] 4.5.1-0+UE4 7038 3077 402 7
2017-09-16 16:13:59: [blueark] CtrlCHandler: Signal=2
2017-09-16 16:14:04: [blueark] /usr/local/bin/arkmanager: Zeile 1028: 12733 Abgebrochen             "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
2017-09-16 17:19:54: [blueark] 2017-09-16 17:19:54: start
2017-09-16 17:19:54: [blueark] 2017-09-16 17:19:54: Running /home/steam/arkserver2/ShooterGame/Binaries/Linux/ShooterGameServer Ragnarok?RCONEnabled=True?RCONPort=32331?Port=7778?QueryPort=27016?ServerPassword?ServerAdminPassword=XXXX?MaxPlayers=10?GameModIds=642284892,788511607,898152179,742077869,954306979,764241499,604784090,520953653,727103191,731604991,947524058,655261420,558079412,942185438,540150483,764755314,893834064,1091147617,670764308,702828089,902548451,880871931,926567353,538827119,880887081?AltSaveDirectoryName=Ark-Saves?listen -nosteamclient -lowmemory -nosound -server -log -UseBattlEye -multihome=<IP_ADDRESS> -culture=de
2017-09-16 17:19:54: [blueark] 2017-09-16 17:19:54: Server PID: 24292
2017-09-16 17:19:54: [blueark] [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
2017-09-16 17:19:54: [blueark] Setting breakpad minidump AppID = 346110
2017-09-16 17:31:55: [blueark] Using binned.
2017-09-16 17:31:55: [blueark] 4.5.1-0+UE4 7038 3077 402 7
2017-09-16 17:31:55: [blueark] CtrlCHandler: Signal=2
2017-09-16 17:31:59: [blueark] /usr/local/bin/arkmanager: Zeile 1028: 24292 Abgebrochen             "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
2017-09-17 07:49:18: [blueark] 2017-09-17 07:49:18: start
2017-09-17 07:49:18: [blueark] 2017-09-17 07:49:18: Running /home/steam/arkserver2/ShooterGame/Binaries/Linux/ShooterGameServer Ragnarok?RCONEnabled=True?RCONPort=32331?Port=7778?QueryPort=27016?ServerPassword=curry2X?ServerAdminPassword=newCoco2?MaxPlayers=10?GameModIds=642284892,788511607,898152179,742077869,954306979,764241499,604784090,520953653,727103191,731604991,947524058,655261420,558079412,942185438,540150483,764755314,893834064,1091147617,670764308,702828089,902548451,880871931,926567353,538827119,880887081?AltSaveDirectoryName=Ark-Saves?listen -nosteamclient -lowmemory -nosound -server -log -UseBattlEye -multihome=<IP_ADDRESS> -culture=de
2017-09-17 07:49:18: [blueark] 2017-09-17 07:49:18: Server PID: 15219
2017-09-17 07:49:19: [blueark] [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
2017-09-17 07:49:19: [blueark] Setting breakpad minidump AppID = 346110
2017-09-17 08:00:42: [blueark] Using binned.
2017-09-17 08:00:42: [blueark] 4.5.1-0+UE4 7038 3077 402 7
2017-09-17 08:00:42: [blueark] CtrlCHandler: Signal=2
2017-09-17 08:00:47: [blueark] /usr/local/bin/arkmanager: Zeile 1028: 15219 Abgebrochen             "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
017-09-16 17:19:54: [blueark] [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
2017-09-16 17:19:54: [blueark] Setting breakpad minidump AppID = 346110
2017-09-16 17:31:55: [blueark] Using binned.
2017-09-16 17:31:55: [blueark] 4.5.1-0+UE4 7038 3077 402 7
2017-09-16 17:31:55: [blueark] CtrlCHandler: Signal=2
2017-09-16 17:31:59: [blueark] /usr/local/bin/arkmanager: Zeile 1028: 24292 Abgebrochen             "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
2017-09-17 07:49:18: [blueark] 2017-09-17 07:49:18: start
2017-09-17 07:49:18: [blueark] 2017-09-17 07:49:18: Running /home/steam/arkserver2/ShooterGame/Binaries/Linux/ShooterGameServer Ragnarok?RCONEnabled=True?RCONPort=32331?Port=7778?QueryPort=27016?ServerPassword=curry2X?ServerAdminPassword=newCoco2?MaxPlayers=10?GameModIds=642284892,788511607,898152179,742077869,954306979,764241499,604784090,520953653,727103191,731604991,947524058,655261420,558079412,942185438,540150483,764755314,893834064,1091147617,670764308,702828089,902548451,880871931,926567353,538827119,880887081?AltSaveDirectoryName=Ark-Saves?listen -nosteamclient -lowmemory -nosound -server -log -UseBattlEye -multihome=<IP_ADDRESS> -culture=de
2017-09-17 07:49:18: [blueark] 2017-09-17 07:49:18: Server PID: 15219
2017-09-17 07:49:19: [blueark] [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
2017-09-17 07:49:19: [blueark] Setting breakpad minidump AppID = 346110
2017-09-17 08:00:42: [blueark] Using binned.
2017-09-17 08:00:42: [blueark] 4.5.1-0+UE4 7038 3077 402 7
2017-09-17 08:00:42: [blueark] CtrlCHandler: Signal=2
2017-09-17 08:00:47: [blueark] /usr/local/bin/arkmanager: Zeile 1028: 15219 Abgebrochen             "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"

My Root Server got 2 IP adresses, and the ARK server is running on on of them, that's why i got multihome set up in blueark.cfg
Is this the problem? Does Arkmanager send the command to the wrong ip?

arkmanager expects the MultiHome option to be set in ark_MultiHome (case sensitive).

Testting it right now on my Testserver,... i will update you.. but i think this is the fix xD

its working:
fixes:
ark_MultiHome="<IP_ADDRESS>"
[steam@h2725656 sinusbot]$ arkmanager start @blueark2
Running command 'start' for instance 'blueark2'
Checking for updates before starting
Checking for update; PID: 31086
Your server is already up to date! The most recent version is 2120726.
The server is starting...
The server is now running, and should be up within 10 minutes
[steam@h2725656 sinusbot]$ arkmanager status @blueark2
Running command 'status' for instance 'blueark2'
 Server running:   Yes
 Server PID:   31506
 Server listening:   Yes
Server Name: ![DE]Blue-Voice.eu Prim+S+ TESTSERVER - (v269.0)
Players: 0 / 10
Active Players: 0
 Server online:   Yes
 ARKServers link:   http://arkservers.net/server/<IP_ADDRESS>:27016
 Server build ID:   2120726
[steam@h2725656 sinusbot]$ arkmanager stop --warn @blueark2
Running command 'stop' for instance 'blueark2'
This ARK server will shutdown in 10 minutes
Command processed
There are 1 players connected
There are 1 players connected
There are 1 players connected
There are 1 players connected
There are 1 players connected
This ARK server will shutdown in 5 minutes
Command processed
There are 1 players connected
This ARK server will shutdown in 4 minutes
Command processed
There are 1 players connected
This ARK server will shutdown in 3 minutes
Command processed
There are 1 players connected
This ARK server will shutdown in 120 seconds
Command processed
There are 1 players connected
This ARK server will shutdown in 90 seconds
Command processed
There are 1 players connected
This ARK server will shutdown in 60 seconds
Command processed
There are 1 players connected
This ARK server will shutdown in 45 seconds
Command processed
There are 1 players connected
This ARK server will shutdown in 30 seconds
Command processed
There are 1 players connected
This ARK server will shutdown in 20 seconds
Command processed
There are 1 players connected
This ARK server will shutdown in 15 seconds
Command processed
This ARK server will shutdown in 10 seconds
Command processed
This ARK server will shutdown in 5 seconds
Command processed
Stopping server; reason: shutdown
The server has been stopped
[steam@h2725656 sinusbot]$

btw if i want to set messages do i only need to add this in blueark.cfg:
msgReasonUpdateApp
msgReasonUpdateMod
msgReasonUpdateAppMod
msgReasonRestart
msgReasonShutdown
like this:
msgReasonUpdateApp="Updating ARK"
msgReasonUpdateMod="Updating Mod: {modnamesupdated}"
msgReasonUpdateAppMod="Updating Mod: {modnamesupdated}"
msgReasonRestart="Restarting"
msgReasonShutdown="Shutdown - Coming soon."

nvm found information in #766 ;)

Thank you soooo much!


Fix Storybook related to next-i18next setup

Bug Report
Relevant information
At the moment Storybook is not properly working as next-i18next depends on fs, which is not available in Storybook.
ModuleNotFoundError: Module not found: Error: Can't resolve 'fs' in '.../nextjs-template/node_modules/next-i18next/dist/esm/config'

Possible Solutions

https://github.com/isaachinman/next-i18next/issues/1012#issuecomment-818042184
https://github.com/isaachinman/next-i18next/issues/935#issuecomment-802001105
https://gist.github.com/justincy/c1075650b1d5ba448c50eaf83cbb4ffe
https://github.com/fynncfchen/storybook-addon-i18next/issues/8#issuecomment-686630988
https://github.com/Piepongwong/gatsby_nextjs_storybook_i18n_scaffolding/blob/5207d34210a7c6f76b86d91c5e74fbd9250c9610/.storybook/preview.js#L1
https://github.com/i18next/react-i18next/blob/7cfab9746b3ccc6f833cd9c892e7c3c804944a5e/example/react/src/i18n.js#L6
https://github.com/i18next/react-i18next/blob/7cfab9746b3ccc6f833cd9c892e7c3c804944a5e/example/react-typescript4.1/namespaces/src/i18n/config.ts#L13

References

https://github.com/isaachinman/next-i18next/issues/1012
https://github.com/storybookjs/storybook/issues/4082#issuecomment-495370896
https://github.com/storybookjs/storybook/issues/4082#issuecomment-818032557
https://github.com/isaachinman/next-i18next/issues/324
https://www.npmjs.com/package/storybook-addon-i18next

Update: as mentioned in https://github.com/natterstefan/nextjs-template/pull/39, I think I'll replace https://github.com/isaachinman/next-i18next and use https://github.com/vinissimus/next-translate instead.

Storybook implementation of next-translate: https://github.com/vinissimus/next-translate/issues/434#issuecomment-933919241


Sending "dummy" string confuses vcontrold demon

#13 I don't know why, but with double backlash it works. Any ideas why?

I added in version 0.2.6.


[[FEAT]] Option to assume strict mode

See https://github.com/jshint/jshint/issues/924#issuecomment-16981384

Nice, other than the super-minor comment, it LGTM

I resolved and merged to master - https://github.com/jshint/jshint/commit/a4f4bf4319186480778f7b75ef74382a88428e99 & https://github.com/jshint/jshint/commit/8de82472dbdca9d7f55e0b99a119e9aae7aafba5


Add CITATION.cff

This pull request adds a CITATION.cff file to the root of the repository. If merged, it resolves #1639.
Some items suggested for further consideration:

Are there changes you would like to make to the "author" field? We could add a few notable individuals followed by "Contributors to Coverage.py"
Would you like to include a date? Perhaps the year of first release?
A version number can be included, but that would require continued maintenance of the file. It is fairly common to leave this off since it adds friction.

Thank you for considering this pull request, and please let me know of any changes you would like to see.
-Ken

If we're going to do it, let's do it right! :)   I can see the CFF format gets a bit involved.  If you could put me in as one more contributor, then the generic entry you have will be fine.   I can automate updating the version number if you add an entry for it with the current version number.
I don't know the convention for dates, let me know what the usual practice is.  Development has been 2001-present.

If we're going to do it, let's do it right! :)

Great!

If you could put me in as one more contributor, then the generic entry you have will be fine.

So just to clarify, add your name as an author, followed by "Contributors to Coverage.py"? If so, would you also like to include an ORCiD?

I can automate updating the version number if you add an entry for it with the current version number.

That's exciting. I will add a field for that.

I don't know the convention for dates, let me know what the usual practice is. Development has been 2001-present.

I am still learning as well. Of those CFF files that I have found, tensorflow is the only one I see using the date-released field. They use the date of first release. However, they do not include the version field. So if the version is included, it's unclear if the release date should refer to the specific version or the software as a whole.
The CFF documentation states:

The date the software or data set has been released. Format is 4-digit year, 2-digit month, 2-digit day of month, separated by dashes.

Thinking about it from the perspective of a reader of a research article, I would likely assume the date in the reference list item is the date the software was originally released. 2001 in this case.

So just to clarify, add your name as an author, followed by "Contributors to Coverage.py"?

Yes.

If so, would you also like to include an ORCiD?

Might as well: https://orcid.org/0009-0006-2659-884X
Dates and versions: it feels like the CFF format isn't really expecting an ongoing series of releases, so I think it should either be 1) no version and no date, or 2) latest version and its release date.

That makes sense. So do you have a preference between the two options? Option 1 is certainly more common as far as I have seen.

Let's go with option 1. It's the simplest, and doesn't require automation.

Thanks!

This is now released as part of coverage 7.3.0.


Source code doesn't match binary

Hi, I'm trying to add better adherence to the
System.Reflection.ObfuscationAttribute. I've noticed that this work has
started in the source code (ObfuscationMarked function), but this is not in
the RC2 binaries (according to ILSpy). And a number of Unit tests are failing
before I've even managed to break anything myself. When I run NUnit with the
binary release of RC2, all but one of the unit tests are green.
Can I get added as a developer, and get access to SVN so I can start with a
working baseline?
Thank you
Eric T.
Original Reported Date: 2013-12-28T08:14:41.553-08:00
Original CodePlex Discussion Thread ID: 478963

Copied from CodePlex without authors:
Hi Eric,
Feel free to fork this project on GitHub and send pull requests back,
https://github.com/lextm/obfuscar
You don't need to be approved before doing whatever you like.
The RC2 binaries are out of date, as you have observed. To obfuscate my own
product, I have to tune it further and the changes are checked in to the code
base. I will spare some time before the new year to clean up the test cases.
Regards,
Lex
Original Posted Date: 2013-12-28T18:55:04.763-08:00

Copied from CodePlex without authors:
I just fixed all unit test cases in the latest change set.
Original Posted Date: 2013-12-28T22:33:45.45-08:00

Copied from CodePlex without authors:
Great, thanks!
Eric
On 12/29/2013 1:33 AM, lextm wrote:

From: lextm
I just fixed all unit test cases in the latest change set.

Original Posted Date: 2013-12-29T09:24:43.27-08:00

Copied from CodePlex without authors:
Hi lextm,
I just downloaded RC3 source, rebuilt and two of the unit tests fail:
· ObfuscarTests.OutPathTests.CheckInvalidOutPath:
Exception was expected to be of type ApplicationException.
Expected: True
But was: False
· ObfuscarTests.SkipEventTests.CheckDropsEvents:
Some of the methods for the type are missing.
Expected: 8
But was: 4
I actually just fixed the first, by running the Nunit test as administrator.
But I’m worried about the second test, since I don’t know if this is a bug in
the unit test or in the obfuscation logic. What are your thoughts?
PS: I have not changed any code, other than: copy the ILSpy and cecil folders
from my previous run – these were downloaded from the internet on Dec 27th,
and fix up a missing package error in the solution. And I’m using VS 2013
instead of VS 2012…

Original Posted Date: 2013-12-30T10:07:23.343-08:00

Copied from CodePlex without authors:
Further to the previous email regarding the failure of the CheckDropsEvents
test, the problem is that the type A.A works fine, but it has a nested type,
called A.A/a, and the - expected 8, but was 4 - error occurred in the sub-
type.
Here’s an ILSpy image of the test before obfuscation

And here’s the test DLL after obfuscation:

Does this make sense?

Original Posted Date: 2013-12-30T10:58:13.407-08:00

Copied from CodePlex without authors:
Hi,
I just started to further review the code base, add new test cases and fix
potential issues like those you reported.
So please keep monitoring the master branch and let me know if the latest
builds resolve the issues.
BTW, I am going to shut down discussion board here. If you have new questions
please post to StackOverflow using obfuscar tag.
Thanks,
Original Posted Date: 2014-02-02T03:10:12.78-08:00

Marked as Answer Date: 2013-12-29T01:24:09.817-08:00


Hovertext displays too far down in window (minor)

Areas affected: Vitals window, Inventory page, Pet Vitals window
Hovering your mouse over the various icons for strength, wisdom, etc. displays what the icon represents too far down in the window, causing a scroll bar to appear with the information hidden just off-window.
The top rows in each window are the only that work correctly.

duplicate of #49


1.21 support?

Describe the feature
Rule Name:
Description:
Options:
Expected behavior
A clear and concise description of what you expect to happen.
Additional info
Add any other info or screenshots about the feature request here.

You can download the updated mod from modrinth: https://modrinth.com/mod/chunk-debug


.travis.yml: Update supported Ruby versions

Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[x] Ensure all commits include DCO sign-off.
[x] Ensure that your contributions pass unit testing.
[x] Ensure that your contributions contain documentation if applicable.

Description

Drop 1.9, 2.0 and 2.1 which are EOL
Update 2.3, 2.4 and 2.5 specifiers (only specify minor version, not patch level)
Update JRuby to use latest and greatest

Because this change is breaking in nature, this will require a major version bump to comply with SemVer guidelines.

@rvodden @tarcinil Please share your thoughts before I'll go ahead and merge this.

@tarcinil

The only issue I saw was that jruby-9.2 is not a supported version of JRuby for Travis.

Thanks for the feedback, I fixed the PR and squashed it (to retain the DCO comment). Feel free to re-check and I'll merge once you are fine with this.


Proposal: Go 2: the "watch" statement for easier error handling & more

Go 1
When I started with a Go a few years ago, I was forced to wrap my head around the error management as it is today in Go. Being used to throw, try, catch and friends in other languages it really felt weird to work with errors as values.
Today, I think it is a great thing that Go did not give way to the pressure to add something like try...catch.
Don't get me wrong, I like the way errors are handled as values, I think it is better than any of the alternatives which I heard of over the last two years.
However, working a lot with stream encoding and databases it can become an annoyance to spend three extra lines after each call into a library just to make sure all errors are dealt with. It makes it hard to read and follow the "Happy Path" of the code.
// Example snippets from code we are using, the infamous `if err != nil` on speed dial...
// This is not meant to compile, just to show examples of what we are facing today in
// a lot of real code which calls into packages like encoding/* or database/sql.
function fn() (err error) {
	err = enc.EncodeToken(start)
	if err != nil {
		return err
	}
	err = enc.Encode(headerStuff)
	if err != nil {
		return err
	}
	// imagine loops and more stuff here
	err = enc.Encode(bodyStuff)
	if err != nil {
		return err
	}
	err = enc.Encode(footerStuff)
	if err != nil {
		return err
	}
	err = enc.EncodeToken(start.End())
	if err != nil {
		return err
	}
        return nil
}

Go 2
So, after the dismissed proposal of introducing the idea of the built-in try (which I did not favor, as it try(made try(code try(much))) harder to read) , I am suggesting a new concept of the watch statement.
watch
The watch statement takes one or more comma separated variables as argument. It executes its code block when a new value is assigned to any of the watched variables.
Think of it as a sibling to defer, defer executes right before any return in the same function, watch executes right after a new value is assigned to the watched variables.
So the code above would look something like this:
function fn() (wErr error) {
	watch wErr {
		if wErr != nil {
			// Log your error here...
			return wErr
		}
	}
	wErr =! enc.EncodeToken(start)
	wErr =! enc.Encode(headerStuff)
	// imagine loops and more stuff here
	wErr =! enc.Encode(bodyStuff)
	wErr =! enc.Encode(footerStuff)
	wErr =! enc.EncodeToken(start.End())
        return nil
}

watch would only be allowed at the top level of a function (like defer)
watch can watch one or more variables (separated by comma)
Variables need to be declared before the watch statement, this cannot include globals
Assignments to variables need to have an explicit =! for the watch to run
Multiple watches can be defined in one function, they can watch the same variables, run in FIFO or LIFO
Watch assignments must be in the same function (TBD)
As a convention watched variables could start with a small case w
When the function returns the variables are not longer being watched (before "defer" is run)
watch is not limited to be used just with errors

My own opinion
I know that this is a little weird to read at first (the code above can return at any wErr assignment), but I think I would get used to this very quickly and it would save a lot of repetition and would let one focus more on the "Happy Path" in your code.
If this idea is embraced, we could think about allowing watch in more scopes, may be even on the package level...
Please comment
I would love to hear everybody's opinion on this. What could you imagine to use watch for, if not errors?

It makes it hard to read and follow the "Happy Path" of the code.

I disagree. It is easy to follow the happy path of the code. In well written Go code the happy path proceeds along the left hand side of the screen towards the bottom of the function.

The proposal makes the "normal" control flow that previously was easy to detect by looking at return statements now hidden. Any assignment to a variable that is under "watch" can now exit the function.
var buf [4]byte
slice := buf[:]
watch buf, slice {
   ...
}
...
copy(buf[:], foo) // triggers watch?
copy(slice, foo) // triggers watch potentially exiting the function
...

There also a bunch of open question about behaviour that would need to be clarified:

what if a pointer to a variable is passed into another function. Is changing the value of the variable then triggering the watch even while in the other functions?
does another watch trigger when a value is assigned to a variable that is watched inside the watch itself?
can multiple watches be defined in a function?
can multiple watches be defined on the same variable?
are variable assignment in defers still watched? what defers are still executed if a watch triggers in defer?
what happens if a function closure is returned containing an assignment to a watched variable? Is the watch still active in the closure when returned or passed to a leave function, when called in the same function?
for multiple assignments (f1, f2 = ....) and a watch on f1, f2. Is the watch triggered once or twice?

The proposal makes the "normal" control flow (not including panics) that previously was easy to detect by looking at return statements now hidden. Any assignment to a variable that is under "watch" can now exit the function.
This proposal I think shares similar properties with the check/handle proposal listed in #40432
The check part in this proposal instead of explicit is implicit on every variable assignment.

Thanks for your feedback! I thought about this, and you are right. Its way better to make it explicit, so I changed my idea an updated my comment.
With my change, most of your concerns are addressed:

There also a bunch of open question about behaviour that would need to be clarified:

do map deletes or the copy builtin trigger the watch?
No
what if a pointer to a variable is passed into another function. Is changing the value of the variable then triggering the watch even while in the other functions?
No
does another watch trigger when a value is assigned to a variable that is watched inside the watch itself?
No, watch assignments must be in the same function as the watch.
can multiple watches be defined in a function?
Yes, I don't see why not. Same as with defer, they could run LIFO or FIFO.
can multiple watches be defined on the same variable?
Yes.
are variable assignment in defers still watched? what defers are still executed if a watch triggers in defer?
No, defer runs a different function
what happens if a function closure is returned containing an assignment to a watched variable? Is the watch still active in the closure when returned or passed to a leave function, when called in the same function?
No, watch ends before defer and the updated idea requires the watch assignment in the same function as the watch.
for multiple assignments (f1, f2 = ....) and a watch on f1, f2. Is the watch triggered once or twice?
That would run once (per watch assignment)

as Rob said, "you are not programming, you are just writing code"

With my change, most of your concerns are adressed:

To me now it looks even more like the abandoned handler/check proposal: https://go.googlesource.com/proposal/+/master/design/go2draft-error-handling.md
Could you please clarify what the main differences are that makes this proposal stand out it utility and avoiding problems vs the above proposal. This would help the discussion about the intent of the proposal and not reintroducing proposals that are (apart from minor details) the same. Minor details may be important so it is nice to understand the thought process behind them.

Has some similarities to #32795, #32804, #33002, #33266, and #33387.

It does not seem like a good idea to reuse !=, which is a binary operator, for an assignment statement.  In fact, I don't think we can do it, because a != f() is already a valid expression statement, albeit one that doesn't do anything.
In effect it seems that this proposal is using != as something like the try expression in #32437, with the addition of a handler.  So similar complaints arise: this proposal lets code change the flow of control in an obscure way without using a keyword.
The difference between this proposal and earlier proposals that were declined seem fairly subtle.

how about removing the !?
just watch if err has a value.

Based on the discussion above, this is a likely decline.  Leaving open for four weeks for final comments.

It does not seem like a good idea to reuse !=, which is a binary operator, for an assignment statement. In fact, I don't think we can do it, because a != f() is already a valid expression statement, albeit one that doesn't do anything.
In effect it seems that this proposal is using != as something like the try expression in #32437, with the addition of a handler. So similar complaints arise: this proposal lets code change the flow of control in an obscure way without using a keyword.
The differences between this proposal and earlier proposals that were declined seem fairly subtle.

I changed my proposal to use =!.

For what it's worth =! is also ambiguous, as ! is a unary operator.  a =! b is a valid Go statement today.

I think you guys are right and I like to retreat my proposal. I liked the idea to have a „jump to“ block like „watch“, but it needs a clearer code path when called.
Maybe the idea to treat errors as values is the right way to do. After all I guess we all got used to it anyway over the last years...


Traceback from futurize on single-line future imports

For the following test1.py file, futurize works just fine:
from __future__ import absolute_import
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from future import standard_library
standard_library.install_aliases()
from builtins import *

def foo():
  print('foo')

But for the same file with slightly differently organized imports:
from __future__ import ( absolute_import, unicode_literals, print_function,
                         division )
from future import standard_library
standard_library.install_aliases()
from builtins import *

def foo():
  print('foo')

futurize fails with the following traceback:
Traceback (most recent call last):
  File "/usr/local/bin/futurize", line 9, in <module>
    load_entry_point('future', 'console_scripts', 'futurize')()
  File "/home/valloric/repos/python-future/src/libfuturize/main.py", line 293, in main
    options.processes)
  File "/usr/lib/python2.7/lib2to3/refactor.py", line 706, in refactor
    items, write, doctests_only)
  File "/usr/lib/python2.7/lib2to3/refactor.py", line 301, in refactor
    self.refactor_file(dir_or_file, write, doctests_only)
  File "/usr/lib/python2.7/lib2to3/refactor.py", line 747, in refactor_file
    *args, **kwargs)
  File "/usr/lib/python2.7/lib2to3/refactor.py", line 354, in refactor_file
    tree = self.refactor_string(input, filename)
  File "/usr/lib/python2.7/lib2to3/refactor.py", line 386, in refactor_string
    self.refactor_tree(tree, name)
  File "/usr/lib/python2.7/lib2to3/refactor.py", line 460, in refactor_tree
    new = fixer.transform(node, results)
  File "/home/valloric/repos/python-future/src/libpasteurize/fixes/fix_add_all__future__imports.py", line 21, in transform
    future_import(u"unicode_literals", node)
  File "/home/valloric/repos/python-future/src/libfuturize/fixer_util.py", line 249, in future_import
    names = check_future_import(node)
  File "/home/valloric/repos/python-future/src/libfuturize/fixer_util.py", line 468, in check_future_import
    assert False, "strange import: %s" % savenode
AssertionError: strange import: from __future__ import ( absolute_import, unicode_literals, print_function,
                         division )

Futurize call: futurize -v -w -u -a -2 -n test.py

Dupe of #113.


Linting changes, part 2

Note: this is dependent on https://github.com/GetStream/Winds/pull/320, merge that one first.

lints and fixes all API controllers, models, routes, utils, and tests.
mostly just focused on fixing indent, semicolon, and quotes - some other misc linting errors remain.

@tschellenbach all done


WageeshaEB

hello world in Sinhala #351

hello world in Sinhala  #656

@WageeshaEB,  What's your Account No# ?


Update components to do drop/rename operations in place through ww

I updated some of our components to not do drop operations through woodwork because we couldn't do them in-place in #2243.
Once woodwork adds this feature we should make our drop transformations through woodwork!

Great point. The problem is that I wanted to avoid doing the drop through woodwork because there's no way to do it in place for the moment. I thought it was making our memory problems worse. So I think we'll be able to get rid of this pattern once https://github.com/alteryx/woodwork/issues/882 is fixed. At that point, the only places where we should have _retain_custom_types are the Imputer, DFSTransformer, and StandardScaler.

This may have been paranoia on my part but now that the issue has been filed with woodwork I'm comfortable waiting for them to add this feature so we can use it.

Originally posted by @freddyaboulton in https://github.com/alteryx/evalml/pull/2243#discussion_r630266202

This was fixed by #2465 !


Cleanup _app

We have a few unused and unnecessary things polluting _app at the moment:

pageProps is spread into every element inside _app when we in fact just need it in the context
We have AppStateProvider, PageProvider and LocaleProvider. We don't need a PageProvider, we can get rid of it
We pass version from package.json around and we don't use it for anything, we should delete and remove all its deps

Hey @marlonmarcello I am working on this one now :)
Admittedly, PageProvider served a larger purpose back when we had page transitions in place, so yeah I agree we can remove!
Currently it does serve the purpose of passing the proper locale folder slug down to useLocale(). Removing page provider does imply that we'll have to adjust our page templates to do something like:
const HomePage = () => {
  useLocale("home") // this line, specifically, initializes the locale data

  return
Some cool stuff

}

Just a heads-up. Or maybe there's another solution I haven't thought of yet.

@andrewrubin that should be part of localeContext I think.

Right, I like that better. Thanks, updating the PR


Whitespace errors

Hey! Nice job so far!
Not a big deal, but I noticed your indentation is wrong in caledar_controller.rb and todo_items_parent_site_controller.rb
It won't affect the code function, but it will cause problems when humans try to read the code and make you look bad if you use this as an example for a job interview.
Always two space indentation for ruby!
Overall, looking good so far. Didn't run the code but did a quick look through most of the files.

Thanks!

On Dec 19, 2015, at 12:00 AM, Chris Carpenter<EMAIL_ADDRESS>wrote:
Hey! Nice job so far!
Not a big deal, but I noticed your indentation is wrong in caledar_controller.rb and todo_items_parent_site_controller.rb
It won't affect the code function, but it will cause problems when humans try to read the code and make you look bad if you use this as an example for a job interview.
Always two space indentation for ruby!
Overall, looking good so far. Didn't run the code but did a quick look through most of the files.
—
Reply to this email directly or view it on GitHub https://github.com/codergirlstl/parent-site/issues/2.


adding Species as a component

Hi,
When a Mixture object is initialized, then a Species object can be added to the components list, but with add_components it is not possible
from biocrnpyler import Mixture
from biocrnpyler import Species
species = Species('test_species')
mixture = Mixture(component=[species])

But the add_components doesn't support Species object(s) (Species is inherited from Object, not from Component)
 def add_components(self, components):
        if isinstance(components, Component):
            components = [components]

        for component in components:
            if isinstance(component, Component):
                self.components.append(component)
                component.update_mechanisms(mixture_mechanisms=self.mechanisms)
                component.update_parameters(mixture_parameters=self.parameters)
                if self.parameter_warnings is not None:
                    component.set_parameter_warnings(self.parameter_warnings)
            else:
                warn("Non-component added to mixture "+self.name,
                     RuntimeWarning)

Is this intended or just a bug? Thanks for looking into it!
Zoltan

I'm not sure - I think I didn't think the design through thoroughly. I think we should be consistent - so maybe having the Mixture(species = species, components = components) as the constructor? Alternatively [for ease] I don't mind overloading components to allow species to be added directly, in which case add component should also take Species.

I've added an implementation to solve this question in  5120a36, It will be merged with the next PR.


smartmontools: 7.1 -> 7.2 and devicedb updated to latest

Motivation for this change
Updating smarmontools from 7.1 to 7.2 and the devicedb to latest.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Note that testing compilation of all pkgs that depend on this change is infeasible on my local machine due to the amount of packages involved.

Note that testing compilation of all pkgs that depend on this change is infeasible on my local machine due to the amount of packages involved.

Result of nixpkgs-review pr 109566 run on x86_64-darwin 1

3 packages marked as broken and skipped:

haskellPackages.libzfs
sanoid
smartmontools

Result of nixpkgs-review pr 109566 run on x86_64-darwin 1

3 packages marked as broken and skipped:

haskellPackages.libzfs
sanoid
smartmontools

Unfortunately I do not have a darwin system to test the darwin build, so I applied the suggested fix. Please re-test when it's convenient for you, thanks.

Unfortunately I do not have a darwin system to test the darwin build, so I applied the suggested fix. Please re-test when it's convenient for you, thanks.

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 109566 run on x86_64-linux 1

6 packages marked as broken and skipped:

linuxPackages_hardkernel_4_14.zfs
linuxPackages_hardkernel_4_14.zfsStable
linuxPackages_hardkernel_4_14.zfsUnstable
linuxPackages_hardkernel_latest.zfs
linuxPackages_hardkernel_latest.zfsStable
linuxPackages_hardkernel_latest.zfsUnstable

1 package blacklisted:

tests.nixos-functions.nixosTest-test

4 packages failed to build and are new build failures:

libvmi: log was empty
linuxPackages-libre.zfs: log was empty
(linuxPackages-libre.zfsStable: log was empty
,linuxPackages-libre.zfsUnstable): log was empty

64 packages built:

collectd
collectd-data
docker-machine-kvm
docker-machine-kvm2
easysnap
gnome3.gnome-boxes
grub2 (grub2_full)
grub2_efi
grub2_pvgrub_image
grub2_xen
gsmartcontrol
haskellPackages.libvirt-hs
haskellPackages.libzfs
libguestfs
libvirt
libvirt-glib
libvirt_5_9_0
linuxPackages.zfs (linuxPackages.zfsStable ,linuxPackages.zfsUnstable ,linuxPackages_5_4.zfs ,linuxPackages_5_4.zfsStable ,linuxPackages_5_4.zfsUnstable)
linuxPackages_4_14.zfs (linuxPackages_4_14.zfsStable ,linuxPackages_4_14.zfsUnstable)
linuxPackages_4_19.zfs (linuxPackages_4_19.zfsStable ,linuxPackages_4_19.zfsUnstable)
linuxPackages_4_4.zfs (linuxPackages_4_4.zfsStable ,linuxPackages_4_4.zfsUnstable)
linuxPackages_4_9.zfs (linuxPackages_4_9.zfsStable ,linuxPackages_4_9.zfsUnstable)
linuxPackages_5_10.zfs (linuxPackages_5_10.zfsStable ,linuxPackages_5_10.zfsUnstable ,linuxPackages_latest.zfs ,linuxPackages_latest.zfsStable ,linuxPackages_latest.zfsUnstable)
linuxPackages_5_9.zfs (linuxPackages_5_9.zfsStable ,linuxPackages_5_9.zfsUnstable)
linuxPackages_hardened.zfs (linuxPackages_hardened.zfsStable ,linuxPackages_hardened.zfsUnstable)
linuxPackages_latest-libre.zfs (linuxPackages_latest-libre.zfsStable ,linuxPackages_latest-libre.zfsUnstable)
linuxPackages_latest_hardened.zfs (linuxPackages_latest_hardened.zfsStable ,linuxPackages_latest_hardened.zfsUnstable)
linuxPackages_latest_xen_dom0.zfs (linuxPackages_latest_xen_dom0.zfsStable ,linuxPackages_latest_xen_dom0.zfsUnstable)
linuxPackages_latest_xen_dom0_hardened.zfs (linuxPackages_latest_xen_dom0_hardened.zfsStable ,linuxPackages_latest_xen_dom0_hardened.zfsUnstable)
linuxPackages_lqx.zfs (linuxPackages_lqx.zfsStable ,linuxPackages_lqx.zfsUnstable)
linuxPackages_testing_bcachefs.zfs (linuxPackages_testing_bcachefs.zfsStable ,linuxPackages_testing_bcachefs.zfsUnstable)
linuxPackages_xen_dom0.zfs (linuxPackages_xen_dom0.zfsStable ,linuxPackages_xen_dom0.zfsUnstable)
linuxPackages_xen_dom0_hardened.zfs (linuxPackages_xen_dom0_hardened.zfsStable ,linuxPackages_xen_dom0_hardened.zfsUnstable)
linuxPackages_zen.zfs (linuxPackages_zen.zfsStable ,linuxPackages_zen.zfsUnstable)
minikube
minishift
nixops
nixopsUnstable
nixops_1_6_1
os-prober
perl530Packages.SysVirt
perl532Packages.SysVirt
python37Packages.guestfs
python37Packages.libvirt
python38Packages.guestfs
python38Packages.libvirt
python39Packages.guestfs
python39Packages.libvirt
rubyPackages.ruby-libvirt (rubyPackages_2_6.ruby-libvirt)
rubyPackages_2_5.ruby-libvirt
rubyPackages_2_7.ruby-libvirt
sanoid
smartmontools
terraform-full
terraform-providers.libvirt
tlp
vagrant
virt-manager
virt-manager-qt
virt-top
virt-viewer
virtlyst
zfs (zfsStable ,zfsUnstable)
zfstools

The following issues got detected with the above build packages.

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 109566 run on x86_64-linux 1

6 packages marked as broken and skipped:

linuxPackages_hardkernel_4_14.zfs
linuxPackages_hardkernel_4_14.zfsStable
linuxPackages_hardkernel_4_14.zfsUnstable
linuxPackages_hardkernel_latest.zfs
linuxPackages_hardkernel_latest.zfsStable
linuxPackages_hardkernel_latest.zfsUnstable

1 package blacklisted:

tests.nixos-functions.nixosTest-test

4 packages failed to build and are new build failures:

libvmi: log was empty
linuxPackages-libre.zfs: log was empty
(linuxPackages-libre.zfsStable: log was empty
,linuxPackages-libre.zfsUnstable): log was empty

64 packages built:

collectd
collectd-data
docker-machine-kvm
docker-machine-kvm2
easysnap
gnome3.gnome-boxes
grub2 (grub2_full)
grub2_efi
grub2_pvgrub_image
grub2_xen
gsmartcontrol
haskellPackages.libvirt-hs
haskellPackages.libzfs
libguestfs
libvirt
libvirt-glib
libvirt_5_9_0
linuxPackages.zfs (linuxPackages.zfsStable ,linuxPackages.zfsUnstable ,linuxPackages_5_4.zfs ,linuxPackages_5_4.zfsStable ,linuxPackages_5_4.zfsUnstable)
linuxPackages_4_14.zfs (linuxPackages_4_14.zfsStable ,linuxPackages_4_14.zfsUnstable)
linuxPackages_4_19.zfs (linuxPackages_4_19.zfsStable ,linuxPackages_4_19.zfsUnstable)
linuxPackages_4_4.zfs (linuxPackages_4_4.zfsStable ,linuxPackages_4_4.zfsUnstable)
linuxPackages_4_9.zfs (linuxPackages_4_9.zfsStable ,linuxPackages_4_9.zfsUnstable)
linuxPackages_5_10.zfs (linuxPackages_5_10.zfsStable ,linuxPackages_5_10.zfsUnstable ,linuxPackages_latest.zfs ,linuxPackages_latest.zfsStable ,linuxPackages_latest.zfsUnstable)
linuxPackages_5_9.zfs (linuxPackages_5_9.zfsStable ,linuxPackages_5_9.zfsUnstable)
linuxPackages_hardened.zfs (linuxPackages_hardened.zfsStable ,linuxPackages_hardened.zfsUnstable)
linuxPackages_latest-libre.zfs (linuxPackages_latest-libre.zfsStable ,linuxPackages_latest-libre.zfsUnstable)
linuxPackages_latest_hardened.zfs (linuxPackages_latest_hardened.zfsStable ,linuxPackages_latest_hardened.zfsUnstable)
linuxPackages_latest_xen_dom0.zfs (linuxPackages_latest_xen_dom0.zfsStable ,linuxPackages_latest_xen_dom0.zfsUnstable)
linuxPackages_latest_xen_dom0_hardened.zfs (linuxPackages_latest_xen_dom0_hardened.zfsStable ,linuxPackages_latest_xen_dom0_hardened.zfsUnstable)
linuxPackages_lqx.zfs (linuxPackages_lqx.zfsStable ,linuxPackages_lqx.zfsUnstable)
linuxPackages_testing_bcachefs.zfs (linuxPackages_testing_bcachefs.zfsStable ,linuxPackages_testing_bcachefs.zfsUnstable)
linuxPackages_xen_dom0.zfs (linuxPackages_xen_dom0.zfsStable ,linuxPackages_xen_dom0.zfsUnstable)
linuxPackages_xen_dom0_hardened.zfs (linuxPackages_xen_dom0_hardened.zfsStable ,linuxPackages_xen_dom0_hardened.zfsUnstable)
linuxPackages_zen.zfs (linuxPackages_zen.zfsStable ,linuxPackages_zen.zfsUnstable)
minikube
minishift
nixops
nixopsUnstable
nixops_1_6_1
os-prober
perl530Packages.SysVirt
perl532Packages.SysVirt
python37Packages.guestfs
python37Packages.libvirt
python38Packages.guestfs
python38Packages.libvirt
python39Packages.guestfs
python39Packages.libvirt
rubyPackages.ruby-libvirt (rubyPackages_2_6.ruby-libvirt)
rubyPackages_2_5.ruby-libvirt
rubyPackages_2_7.ruby-libvirt
sanoid
smartmontools
terraform-full
terraform-providers.libvirt
tlp
vagrant
virt-manager
virt-manager-qt
virt-top
virt-viewer
virtlyst
zfs (zfsStable ,zfsUnstable)
zfstools

The following issues got detected with the above build packages.

Result of nixpkgs-review pr 109566 run on x86_64-darwin 1

3 packages marked as broken and skipped:

haskellPackages.libzfs
sanoid
smartmontools

Result of nixpkgs-review pr 109566 run on x86_64-darwin 1

3 packages marked as broken and skipped:

haskellPackages.libzfs
sanoid
smartmontools

Did I break this package on darwin? It's "marked as broken" not "failed to build", which implies it was broken before this PR? Some help would be appreciated, I'm confused.

Did I break this package on darwin? It's "marked as broken" not "failed to build", which implies it was broken before this PR? Some help would be appreciated, I'm confused.

Did I break this package on darwin?

No, it was broken before.

It's "marked as broken" not "failed to build", which implies it was broken before this PR?

Yeah, someone marked it as failing to build before.

Did I break this package on darwin?

No, it was broken before.

It's "marked as broken" not "failed to build", which implies it was broken before this PR?

Yeah, someone marked it as failing to build before.

Good to know, thanks. Guess there's no further action required from me to get this merged?

Good to know, thanks. Guess there's no further action required from me to get this merged?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/when-to-use-substituteinplace-functions-vs-a-patch/11073/4

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/when-to-use-substituteinplace-functions-vs-a-patch/11073/4


chore: detect pnp workspaces and lookup playwright-core using yarn's PnP API

Since there have been some issues regarding repositories which do not offer a traditional node_modules folder (#133)  I tried to get this extension working for repositories with yarn-v3 and PnP.
Did not find a contribution guide so let me know if something needs to change or if you do not accept any foreign contributions.

Is this just a CI hiccup or can I do something to fix the tests on windows node16? Locally the tests all pass (I am on Windows with node16).


Removes pallet::call_index from dev_mode example

pallet::call_index is not needed to be specified when in dev_mode. This PR removes it from the respective example.

@gupnik that said maybe add a test

@sam0x17 Added a UI test and updated the docs. Could you take another look?


Stopping Stack Doesn't work

Pushing stop on  a stack doesn't do anything. Have to stop each service one at ta time.
Rancher	v0.56.1
Cattle	v0.141.1
User Interface	v0.86.0
Rancher Compose	v0.7.1

Duplicate of https://github.com/rancher/rancher/issues/3453.
What kind of services do you have?
It may actually be a duplicate of https://github.com/rancher/rancher/issues/3284


os/booting-on-vmware: Polish lang/style.

@kayrus PTAL to check I didn't break any facts while rewriting.

LGTM


Update Dasboard Pane Title in "Top Prefixes"

In the "Top Prefixes" dashboard, the pane regarding the "Withdraws by Router" has the wrong pane title. It is configured as "Withdraws by Peer", but this information is shown in a pane below.
Title as configured in the repo:

Updated title:

Thank you for the PR. This looks good.


PLC0414 conflicts with re-exporting imports in py files

Pandas uses similar code in pandas/_typing.py
if TYPE_CHECKING:
    if sys.version_info >= (3, 10):
        from typing import TypeGuard
    else:
        from typing_extensions import TypeGuard
else:
    TypeGuard: Any = None

TypeGuard is not used inside this file (pyright detects this). A fix for pyright is to use the redundant as TypeGuard import but PLC0414 conflicts with that. Alternatives are: ignore the pyright error or create __all__ (but that would need to contain a lot of symbols).
xref https://github.com/astral-sh/ruff/issues/3734 https://github.com/pandas-dev/pandas/pull/54085

Thanks for the clear issue!
PLC0414 is not enabled by default — perhaps you don't want to use it in Pandas if you need to export names with the redundant as ... or perhaps it'd make sense to disable it in that file?
What do you see as the ideal behavior for Ruff here?

Thank you, ignoring this rule (for this one file/or all) is probably the best option.
As far as I remember, flake8's F401 (haven't used it since switching to ruff :) ) also treats explicit re-exports as used imports.

Yes F401 will be raised on from . import foo but not from . import foo as foo (some discussion on that right now at #5697)
Anything else you can see Ruff doing better here or should we close this?

Can be closed.

Anything else you can see Ruff doing better here or should we close this?

(Consider removing this rule.) I will ignore this rule.

Yeah PLC0414 is a strange rule because explicit re-export is a respected mechanism to indicate publicity by many tools (Ruff, but also Pyright).


fail to start

Error while fetching the latest release of Web GUI: Error checking for web gui release update, skipping update: bad HTTP status 403 (403 Forbidden) when fetching https://api.github.com/repos/rclone/rclone-webui-react/releases/latest

the same is happening here for me.
I tried manually downloading and this worked briefly, but now it is back to trying from the web


Only one VID/PID for all Apollo platforms

Currently we have only one VID/PID for all Apollo platforms. We use bcdDevice to indicate Cynthion hardware revision, but we also overload bcdDevice with board identification. There are some problems with this:

non-Cynthion Apollo devices can’t use bcdDevice for hardware revision, so the scheme doesn’t really support more than one shipping Apollo product.
Saturn-V does not use bcdDevice in the same way, so a flashing utility can’t tell what board a Saturn-V device is. There is little room to do anything different in Saturn-V, and any change would not be pushed to Cynthions that have already been flashed at the factory.

Proposal:

Reserve the existing VID/PID 1d50:615c for Cynthion only.
Start using 1209:0010 (one of the pid.codes test PIDs) for non-Cynthion Apollo devices. Continue to use the other pid.codes test PIDs for LUNA but add a note to the LUNA documentation saying that 1209:0010 is recommended to be used only for Apollo.
Other Apollo platforms may optionally use their own VID/PID. This would be recommended for any shipping product.
Create a new vendor request for board identification in Apollo. Make this consistent for all Apollo devices, even those that have their own VID/PID. This allows, for example, an experimental Cynthion using 1209:0010.
Deprecate the use of bcdDevice for board identification. Host code will look for this type of board identification only if the USB API is older. We may remove that feature from host code in the future.

The use of 1209:0010 requires that we additionally qualify Apollo devices, for example by checking for the word "Apollo" in the product string or a vendor request, but we already want to do that anyway. See #61 and #47.

@cyber-murmel I'm interested in your thoughts on this proposal.

I think this proposal is sound!
Saturn-V shouldn't be as big of an issue, since the RP2040 (and QtPy iirc) for example use UF2 anyway.

Create a new vendor request for board identification in Apollo.
Would this also bump the USB API number?

Checking the product string might cause outdated software in the future to fail detect the debugger, if the name changes, but that's a very fringe case.
Seems all fine by me!

Yes, the new vendor request would bump the USB API version.


Uploading / syncing already gzipped files

Hello,
Does already gzipped files influence the computed difference between S3 and local?
I am hosting a static site on S3. I was able to sync correctly until I decided to serve already gzipped files.
This is a static site, so, even html pages go under minification, compression, etc. Unfortunately, since I've implemented this build process, it seems that the difference computed between the files on S3 and the local ones is not "clear".
Each time I run the build, and sync with s3 after, it uploads "randomly". For example, it won't upload a page where I just changed the title.
This seems to happen with html files only. (css, and svg, seems ok)
I use grunt-contrib-compress to compress the files before uploading and the getS3Params to add headers.
Any idea? I think I don't do anything wrong.
I realised this behaviour because I changed the page title attribute generated through my templates. So absolutely all pages got their title changed but, only few of them are actually uploaded.
Thanks for reading.
Edit: I forgot to mention that I use this to check what files are uploaded:
    uploader.on('fileUploadEnd', function (localFilePath, s3Key) {
      grunt.log.writeln('uploaded: ', localFilePath, '->', s3Key)
    })

My getS3Params function:
  getS3Params: function (localFile, stat, callback) {
    var mimeType = mime.lookup(localFile)
    var err = null
    var s3Params = {}

    if (mimeType === false) {
      err = new Error('getS3Params: Undetected Mime type')
    }
    else {
      s3Params.CacheControl = 'max-age='+(expiresMap[mimeType] || 31556926)

      if (gzipped[mimeType]) {
        s3Params.ContentEncoding = 'gzip'
      }
    }
    // first is err if needed, pass `null` for `s3Params` if you want to skip uploading this file.
    callback(null, s3Params)
  }

Ran into this issue, today. I've modified 1 line in 1 file, tarball'ed it, and it did not upload. I've verified it the tarball in S3 and the tarball it tries to upload contain different versions of the file.


Custom patches

Cool!  This looks very useful.  Can you add a section to the readme to document this?


Determine the process of how/what envoy configurations we support

There are some requests to add a new Envoy configuration on Kourier recently.
But we don't have the process of how/what envoy configurations we support and so the new configurations could mess up the Kourier code and cause confusion why this is supported but why this is not.
We should determine the process.
How to support the configuration
In many cases, the configuration could be supported by introducing a new annotation.
However, the annotation solution is a double-edged sword, which means easy to add but mess up the configuration. (we will eventually support a ton of the annotations).
Is there any better way?
What envoy feature/configuration support
There are so many envoy configurations. We probably need to select some of them with a criteria such as many users requested, critical configurations and so on.

Thanks to bring it up here.  I agree that we do not need to support all envoy configurations, we could start by adding the most used ones.
To avoid annotation messing up, we may need to add some validation function to filter out the invalid options.
Otherwise, we could add configurations in config-kourier.

According to the question "What envoy feature/configuration support" I have a suggestion.  We developers will not make the decision instead of users. Let users make the decision. We just provide a way for users to set a custom envoy bootstrap configuration and then we create kourier bootstrap configuration based on users custom configuration. Thus users could decide which configurations he wants to set.
For example, a user can create a configmap with his bootstrap configuration to support both configuring envoy connection parameters and configuring private key providers, e.g.
apiVersion: v1
kind: ConfigMap
metadata:
  name: envoy-bootstrap-config
  namespace: kourier-system
data:
  custom_bootstrap.json: |
    "static_resources": {
      "clusters": {
        "circuit_breakers": {
          "thresholds": {
            "priority": ...,
            "max_connections": {...},
            "max_pending_requests": {...},
            "max_requests": {...},
            "max_retries": {...},
          }
        }
      }
      "secrets": {
        "tls_certificate": {
          "private_key": {...},
          "private_key_provider": {...},
        }
      }
    }

Obviously, the disadvantage of this solution is that users need to learn Envoy bootstrap configuration. But it will not mess up Kourier codes and gives the most flexibility to Kourier users to config envoy.


flutter clean command take very long to finish

Why does flutter clean command take a very long time to finish on the Terminal of Android Studio?
If I am right, the previous version of Flutter has no such problem, I found that latest version(V2.5.3) often has this problem of taking a very long time to finish.
Is there any good solution or suggestion to improve the command?
By the way, I am in China, is it possibly caused by the China Great Firewall which may lead to the slow connection to foreign sites?
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.5.3, on Mac OS X 10.15.7 19H1419 darwin-x64, locale zh-Hans-CN)
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] VS Code (version 1.62.2)
[✓] Connected device (3 available)

Hi @jims57, Thanks for filing the issue. Please share the console output of flutter clean and is it longer for a specific project or all projects?
Thanks

@jims57 Well then it looks like flutter build is taking longer and not flutter clean is that correct?
if so Does the build take longer for ios or android or both?
please share the complete output of flutter run -v in a text file.
Thank you.

@maheshmnj I upgraded MacOS to Monterey and ugraded Xcode to the latest version 13.1.
After this, it seem work faster, I will take a fews day to see if this problem has been fixed. Thanks anyway.

Sure, Thanks for the update.

@maheshmnj


enabling step debug logging for codspeed

Adrien gave us a great hint to find out why codspeed became flaky:

By looking at this log from a run, it seems that now the node flags needed to make node's execution non-flaky are no longer present: https://github.com/jantimon/next-yak/actions/runs/9926270270/job/27419653757?pr=120#step:10:27
To continue investigating, can you activate step debug logging:https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging, and create a PR?

Summary by CodeRabbit

Chores

Enabled debug mode for the benchmarks job in the workflow to help with troubleshooting and diagnostics.

Hey @jantimon, thanks for opening the PR!
In order for the step debug logging to work, you need to set the ACTIONS_STEP_DEBUG at the repository level, either in the actions variables or secrets.
Can you also bump the CodSpeed action to v2? There is no breaking changes, and it will allow me to have more information on my end

Added a new secret:

@adriencaccia wow really cool thank you :)
can we disable step debugging again?

can we disable step debugging again?

Yes, sure!


Migrate "DocSearch by Algolia" to new infrastructure

See: https://docsearch.algolia.com/docs/migrating-from-legacy

Done


Orange Pi Z2 GPIO

Hey I see you are one of the few that seem to be using OPi Z2 to run octoprint. Have you had any luck finding and running any GPio plugins? I want to read a BME680 and control a fan based on it's readings but all the RPi.GPIO plugins I have found fail to install in Octoprint probably because of the different pin configs.

Sorry for the late reply.
I haven't used Octoprint on the Orange Pi. I'm not even sure if the ADXL345 resonance measuring can work.
I'll keep the repo updated when I have new findings. Thank you!


Helm conditional deploy

Which issue(s) this PR fixes:
Fixes #2518
What type of PR is this?
/kind feature
Does this PR introduce a user-facing change? Then add your Release Note here:
Upgrade helm release only if it's differs from the already deployed.

Documentation:

TBD

/retest

/hold

/hold

/hold cancel

/retest


Implement safe deletion strategy

Description
Changes proposed in this pull request:

add safe deletion strategy and allow to switch between strategies by changing one const

Related issue(s)

https://github.com/kyma-project/keda-manager/issues/89

LGTM

/test all

Recent agreement in the modularasation sync states as follows:
When a user triggers module deletion, it should only be processed (Module CR removal, undeploying module workloads ) only once user deletes all CRs he created.
The Deletion should be triggered byt blocked until all user created data (CRs) are removed by the user.
We should not leave orphaned CRs. Keda and Kyma CR should reflect the state whenever deletionof a module is blocked by the existance on user created CRs
In Keda case:
User will effectively remove keda module only if we first manuall removes all ScaledObjects created by him.
If he doesnt do it, keda module deletion is initaited but blocked. The remaining user created Scaled objects should remain controlled by the keda workloads. Keda CR status reflects the blocked deletion
Once User removes all the CRs (Scaled objects), the deletion process will continue and there will be nothing left that belongs to keda module on the cluster.


Error in running UserService

Note: This might be cause because steps on how to run UserService are not mentioned in the wiki
I run UserService using follow commands(Please let me know if these are correct):
$ git checkout UserService
$ cd userservice/
$ mvn clean install

This gives me below error(Same error for running):

Please let me know the correct way of running this service.

I tried running the same command on my machine. The application works fine.
Try adding following plugin in pom.xml.

org.apache.maven.plugins
maven-surefire-plugin
2.19.1

Let me know if the problem persists.

Thanks @cbrahme , that issue is resolved now. But I am getting a runtime error. It looks the access is denied to the mysql database. I have set the mysql password to 'password' as given in the "Steps to run the Room Notification Service". Is UserService using some other password? Let me know how can I change it.

I have resolved the database connection issue and the new code is available on UserService branch.
Please checkout the latest commit and revert back if you face any issues.

@cbrahme great! I was able to run the service.
About the original issue, where you suggested me to add the "surefire" plugin to my pom.xml, does that needs to be committed to the code? Or was is just specific to my machine, that's why we are not updating the repo?


What happened to Class Pointers?

In 1.1 I was able to change types to class pointers. I don't see this option anymore in 1.2.

It's still there. There is a "CLS PTR" button on top.
See #22 for details.


Available via Homebrew

I've make a Homebrew package of pcopy, available via my tap:
brew tap nwithan8/tap
brew install pcopy

This actually motivated me to finally make my own homebrew tap, plus learn a bit of Ruby and Go, so thanks for the challenge.

Sweet. Feel free to add a link to it in the readme. Happy to merge a PR


Message response's

Hi Programmers
Can you guys please guide me on how to format data to much readable format(php arrays) rather than below output.
$msg = $pamiClient->send(new CommandAction('core show channels verbose') );

PAMI\Message\Response\ResponseMessage Object
(
   [events:PAMI\Message\Response\ResponseMessage:private] => Array
    (
    )

[completed:PAMI\Message\Response\ResponseMessage:private] => 1
[rawContent:protected] => Response: Follows
Privilege: Command
ActionID:<PHONE_NUMBER>.2036
Channel  Context  Extension  Prio State   Application  Data   CallerID     Duration Accountcode PeerAccount BridgedTo
 0 active channels
 0 active calls
 154 calls processed
  --END COMMAND--
  [channelVariables:protected] => Array
    (
        [default] => Array
            (
            )

    )

[lines:protected] => Array
    (
    )

[variables:protected] => Array
    (
    )

[keys:protected] => Array
    (
        [response] => Follows
        [privilege] => Command
        [actionid] =><PHONE_NUMBER>.2036
        [channel              context              extension        prio state   application  data                      callerid        duration accountcode peeraccount bridgedto
       0 active channels
       0 active calls
       154 calls processed
       --end command--] =>
    )

[createdDate:protected] =><PHONE_NUMBER>
[eventsCount] => 0
)

Got it
$response = $this->pamiClient->send(new \PAMI\Message\Action\CoreShowChannelsAction());
	if ($response->isSuccess())
	{
		$events = $response->getevents();

		$events = (array) $events;

		foreach ($events as $key => $value)
		{
			$breakdown = $value->getKeys();

			//This is to test if there's any call ringing on the que
			if (!empty($breakdown['channel']) && $breakdown['calleridnum'] == Auth::user()->ext)
			{
				//echo '<pre>',print_r($breakdown, 1),'</pre>';
				$return_data = array('caller' => $breakdown['calleridname'], 'duration' => $breakdown['duration'], 'status' => $breakdown['channelstatedesc'], 'channel' => $breakdown['channel']);

				return $return_data;
			}
		}