Fix premature etcd shutdown when joining an existing cluster

Proposed Changes
Fix regression introduced in https://github.com/k3s-io/k3s/pull/3975 - the context used to start the member is wrapped in a timeout that was intended to only be used for the AddMember calls, but was inadvertently also passed into the embedded etcd server context. Now that we properly stop the embedded etcd instance when the context is cancelled, use of the wrong context caused the joining member to stop prematurely.
Types of Changes
bugfix
Verification
Join a second member to an embedded etcd cluster
Linked Issues

#4017

User-Facing Change

Further Comments

Codecov Report

Merging #4018 (789243a) into master (b72306c) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master    #4018   +/-   ##
=======================================
  Coverage   11.52%   11.52%
=======================================
  Files         132      132
  Lines        8928     8928
=======================================
  Hits         1029     1029
  Misses       7673     7673
  Partials      226      226

Flag
Coverage Δ

inttests
0.69% <0.00%> (ø)

unittests
11.16% <0.00%> (ø)

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

Impacted Files
Coverage Δ

pkg/etcd/etcd.go
16.26% <0.00%> (ø)

Continue to review full report at Codecov.

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


Add --prepare option to migrate command

What does this PR change?
This PR adds --prepare option to migrate command.
With this option, the migration does not stop the services on source server and ends after syncing
the data.
Test coverage

No tests: add explanation

No tests: already covered

Unit tests were added

[ ] DONE

Links
Issue(s): https://github.com/uyuni-project/uyuni-tools/issues/181

[ ] DONE

Changelogs
Make sure the changelogs entries you are adding are compliant with https://github.com/uyuni-project/uyuni/wiki/Contributing#changelogs and https://github.com/uyuni-project/uyuni/wiki/Contributing#uyuni-projectuyuni-repository
If you don't need a changelog check, please mark this checkbox:

[ ] No changelog needed

If you uncheck the checkbox after the PR is created, you will need to re-run changelog_test (see below)
Before you merge
Check How to branch and merge properly!

I if we set the prepare command we should stop just after the rsync of each volume. All the config changes (and probably the distribution copy) should be done only on final migrate.
The goal is to start copy the major data folder to speed migration.

I think it is safe to let the migration scrip run till the end. All the config changes it does will be overwritten by the final run, but it can help to spot potential problems earlier, before stopping the old server.

I have added kubernetes fixes -  scale to 0 and skip traefik installation.


Exception on Xiaomi devices after release to google store v3.3.5, 3.3.4

Hi,
I came to a weird error it took me a lot to debug as it only happens when you bundle the app, upload it into the store and upgrade the current installed versions. If you install it for the first time, works, if you run "flutter run --release" works, and any other possible combinations.  It works in any other Android and iOS device, just failing on Xiaomi
My thoughts is, after you install the app and the storage is created, if you upgrade to a new version of the app through play store, when running it tries to decypher the storage and fails for any reason. I couldn't see the error as it only happens when you run the app from the market and not debugging.  I used the storage for storing the login credentials so it breaks my app at starting. This is the current code:
Partial code of main.dart
 home: FutureBuilder(
          future: check,
          builder: (context, snapshot) {
            if (!snapshot.hasData) {
              print("no data");
              return Container(
                  decoration: BoxDecoration(
                image: DecorationImage(
                  image: AssetImage("assets/background.jpg"),
                  fit: BoxFit.cover,
                ),
              ));
            }

            if (snapshot.data) {
              return App();
            } else {
              return WelcomeScreen();
            }
          }),
    );
  }
}

Future<bool> get check async {
  return await init().catchError((e) {
    print("Got error: ${e.error}"); // Finally, callback fires.
    return false; // Future completes with 42.
  });
}

partial code of controller.dart
final storage = FlutterSecureStorage();
Future<bool> init() async {
  String jwt = await storage.read(key: "jwt");
  String user = await storage.read(key: "user");
  String password = await storage.read(key: "password");
  bool userLogged = false;
  if (jwt != null && jwt != "") {
    if (await login(user, password) == LOGGED) {
      userLogged = true;
      //await storage.delete(key: "jwt");
    }
  }
  return userLogged;
}

I cannot provide the error thrown as mentioned but I came around a workaround in case someone is facing the same issue and this hasn't been fixed it was as easiest as controlling the exception while reading the storage. Surprisingly when you upgrade now, the storage it is still there and user logins automatically so not really sure why exactly could throw an exception
Future<bool> init() async {
  String jwt;
  String user;
  String password;
  bool userLogged = false;
  try {
    jwt = await storage.read(key: "jwt");
    user = await storage.read(key: "user");
    password = await storage.read(key: "password");
  } catch (error) {
    return userLogged;
  }

  if (jwt != null && jwt != "") {
    if (await login(user, password) == LOGGED) {
      userLogged = true;
      //await storage.delete(key: "jwt");
    }
  }
  return userLogged;
}

Do not hesitate to let me know if I can help you solving this issue happy to help :)

Can you please try again with the develop branch of this plugin and comment if you are still having this issue.


Last Week in Pony - November 11, 2018

Audio for the November 6, 2018 Pony sync is here: https://pony.groups.io/g/dev/files/Pony Sync/2018_11_06/pony_sync_november_6_2018.m4a


fix(service): explicitly set user in systemd definition

Summary
Previously, no User clause was present in the systemd unit definition for Kong.  While this still made systemd run kong under the 'root' user id, the HOME environment variable would not be set in the Kong process.  This caused the datafile library to fail with various error conditions.  This really is an EE-only issue at this point, but providing Kong a complete run environment with all standard environment variables is prudent for CE as well.
Checklist

[ ] The Pull Request has tests
[x] There's an entry in the CHANGELOG
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Issue reference
KAG-1832

@fffonion could you take a look at this too? You probably have more context? E.g. what if someone wants to run this with other user? Ever a case? Is there anything implicit about it?

I think when User= is omitted, systemd uses root by default (ref: https://www.freedesktop.org/software/systemd/man/systemd.exec.html#User=) @hanshuebner could you explain more context on why does this change fix the datafile issue?

I think when User= is omitted, systemd uses root by default (ref: https://www.freedesktop.org/software/systemd/man/systemd.exec.html#User=) @hanshuebner could you explain more context on why does this change fix the datafile issue?

When User= is omitted, the process is indeed run as root, but having a User= specification causes the user environment to be initialized, and in particular the HOME directory was assumed to be set by datafile and absence caused versions older than 0.10 to fail silently.  This PR is really just a safeguard to make sure that we always have a valid HOME environment variable.  I tried to find documentation or sourcecode evidence of the behavior of systemd, but eventually gave up.


Added missing TypedArray functions

TypedArray.of()
TypedArray.from()
TypedArray.prototype.copyWithin()

I signed it!

I signed it!

I signed it!

Seems like this will need a rebase.

Rebased in #1413.


Backbone route 'permission denied' in IE7

my project  was having 'permission denied' exceptions in IE7,
if i did my code like this,there is no problems,
var AppRouter = Backbone.Router.extend({
		 initialize:function (){
			this.route(/^help(.*)$/,"help");
		   },
		 help: function() {
			 alert("help");
		  }
    });

but,when i put the function in another router ,the project was having 'permission denied' exceptions in IE7.
eg:
//index-router.js
define(['_', '$', 'Backbone', 'routers/base-router'],
    function(_, $, Backbone, BaseRouter) {
        return BaseRouter.extend({
            initialize: function(options) {
                BaseRouter.prototype.initialize.call(this, options);
               //loadPageView in base-router.js
                this.route(/^administrator(.*)$/, "loadPageView");
            }
        });
});
//base-router.js
define(['_', '$', 'Backbone'],
    function(_, $, Backbone) {
        return Backbone.Router.extend( {
             loadPageView:function (){
                   alert('hello');
             }
          });
 });

I unfortunately don't have an IE7 VM to try this out. @jdalton anything stand out here?

I happen to have an IE7 VM, @Say-Hello can you create a jsbin of your issue.


Create LOG_LEVEL environment variable

Goal
Enable debugging in production environments without requiring code changes.
Technical Decisions
Use LOG_LEVEL as a default log level if present.

I don't think @mmiermans is wrong but I do want to note that we're stealing inordinate CPU resources (and money) on something we don't actually use (http logging) in any real way.
Related: the prior version bump of this library dropped the default level to info. So, if the service you're planning to update with this version is coming from a previous version, it'll end up in info when you delete the environment variable (which is a good thing :) )

:tada: This PR is included in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Limit number of characters for prompts

Currently, too long prompt lead to an error image being displayed. Show the remaining characters for the participants and/or limit the characters send to OpenAI.

Do you know what that limit is?

Quick google:

A text description of the desired image(s). The maximum length is 1000 characters for dall-e-2 and 4000 characters for dall-e-3.
source

It may be a minute until I have time to get this done, end of semester stress. If you need it soon, feel free to create a PR @laurenzse.


Tab key always selects the current item regardless of the selectKeys option

I'd expect that only keys in the option selectKeys trigger the selection, but I can't disable the tab key.  I guess these lines are responsible for the issue.
https://github.com/afry/quill-mention/blob/master/src/quill.mention.js#L103-L107
Thanks for this great quill module.

I'd expect that only keys in the option selectKeys trigger the selection, but I can't disable the tab key. I guess these lines are responsible for the issue.
https://github.com/afry/quill-mention/blob/master/src/quill.mention.js#L103-L107
Thanks for this great quill module.

Hey,
Hope you are good.
I was using this module and what I want is, I want to trigger dropdown when Tab is pressed.
I am using with react and my code is
`mentionModule = {
allowedChars: /^[A-Za-z\s]*$/,
mentionDenotationChars: ["@", "#"],
selectKeys: [27],
source: function (searchTerm, renderList, mentionChar) {
let values;
console.log("mentionchar", mentionChar);
  if (mentionChar === '@') {
    values = atValues;
  } else if (mentionChar === "#") {
    values = hashValues;
  } else {
    values = randomValues;
  }

  if (searchTerm.length === 0) {
    renderList(values, searchTerm);
  } else {
    const matches = [];
    for (let i = 0; i < values.length; i++)
      if (~values[i].value.toLowerCase().indexOf(searchTerm.toLowerCase()))
        matches.push(values[i]);
    renderList(matches, searchTerm);
  }
},

};`
But this is not working, when I am pressing tab, its not doing anything.
Can you please help?


(BKR-223) Change order of how we assign IPs to openstack instances

This reverts much of the previous behaviour and only falls back to introspecting the existing
data from openstack to assign an address (this is it failing over) - previously we'd have got a response from excon:
/Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/excon-0.44.1/lib/excon/middlewares/expects.rb:10:in `response_call': Expected([200, 202]) <=> Actual(404 Not Found) (Fog::Compute::OpenStack::NotFound)
excon.error.response
  :body          => "{\"itemNotFound\": {\"message\": \"FloatingIpPoolNotFound: Floating ip pool not found.\", \"code\": 404}}"
  :headers       => {
    "Content-Length"       => "97"
    "Content-Type"         => "application/json; charset=UTF-8"
    "Date"                 => "Tue, 28 Apr 2015 08:35:28 GMT"
    "X-Compute-Request-Id" => "req-df60a05d-930a-4bcc-b741-34076b6faf47"
  }
  :local_address => "<IP_ADDRESS>"
  :local_port    => 63301
  :reason_phrase => "Not Found"
  :remote_ip     => "<IP_ADDRESS>"
  :status        => 404

After this PR
Beaker::Hypervisor, found some openstack boxes to create
Provisioning OpenStack
Warning: Try 1 -- Host <IP_ADDRESS> unreachable: Connection refused - connect(2)
Warning: Trying again in 1 seconds

Can one of the admins verify this patch?

@fiddyspence @anodelman I tested this patch and it solves the bug I reported.

@mcanevet thanks for doing some testing on this.

Hi all,
After installing a new beaker version, with this change included, I'm getting issues with floatings IPs. With previous versions, if something were wrong I was getting a FloatingIpPoolNotFound error. That wasn't perfect but current situation isn't better, since now I'm getting timeouts due to beaker trying to connect the VM private network interface.
I've also realized that this call is wrong:
https://github.com/puppetlabs/beaker/blob/master/lib/beaker/hypervisor/openstack.rb#L139
And I think it should be replaced by something like
ip = @compute_client.addresses.create :name => 'your_floating_ip_network'

Adding a new parameter "floating_ip_openstack_network" and updating the code to make the right create call should be enough.

@rafaduran could you please open a beaker jira bug with your comment?

@anodelman Ok, I will do it.


CSS Textarea for plugin/haproxy mapfile editing

When editing large mapfile for haproxy configuration it is difficult to get errors while on line-breaks.
If the textarea for mapfile.content had not word-wrap enabled this would be great.
Solution
Add CSS:
      textarea#mapfile\.content {
        white-space: pre;
      }

Is it possible to add this to the plugin?

A Pull-Request would be welcome :)

@TomFreudenberg, just to be sure: you are aware that you can increase the size of the textarea (using the lower right corner)?

Hi Frank
yes you can, but only in height not in width. The textarea won't get more width while the empty 3rd td

A Pull-Request would be welcome :)

I have not find somewhere on info about adding CSS from plugin?
Could you guide me to any help?

Unfortunately no, I never had the need to modify CSS. Maybe other plugins (or their authors) may give some hints...

Hi
I would probably try to add <style> at https://github.com/opnsense/plugins/blob/9228eea5c7cd0509ee0ec1d66ef06b828e61f084/net/haproxy/src/opnsense/mvc/app/views/OPNsense/HAProxy/index.volt#L29 ?

I will check that out and send in a PR when done

@kulikov-a thanks for guiding, that works 👍🏻

@fraenki - Hi Frank, PR is online
Cheers, Tom


[bug]: Preview App action doesn't delete GitHub environments

Steps to reproduce
The deploy-pr-preview action should delete the GitHub environments it creates to send to Fly after the PR is closed. But it doesn't, it throws an error about lack of access. I can't recall if it worked before. It has something to do with permissions.
Expected result
GitHub environments should be deleted after the PR closes.
Actual result (the bug)
Environments are not deleted, I have to delete them manually.
Possible solutions are: https://optimum.ba/blog/1c353c61-092c-4680-92b6-5f717fa1689d or https://github.com/strumwolf/delete-deployment-environment
Optional: Relevant log output
No response
Severity/Priority
2: Medium
Contact Details
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is a duplicate of #227, closing this one.


Entry display to show only fields appropriate to that country and year

Display is modified to be selective.
Redy for deployment to test3

@rhodamackenzie to test Scotland @PatReynolds to test others.

I have tested this and all appears to be well

Searched for surname Alcock, born 1700 to 1800 census counties Lincolnshire and Nottinghamshire,
1841 and 1841 - House number showing, but no records have anything in this field (is this an unwanted field, or just unlucky sample)?
Searching for Alcock in Aberdeen:
Scholar field is not appearing in 1861 or 1871 (Scholar is noted in the Occupation field).
Have not tested for language.
Could not test 1901 or 1911 as could not get a search result.
Otherwise, all good to 1891.

Tried a search for Smith born 1800 to 1901 on the 1901 and 1911 censuses.  results - nothing found.
Are there any records to be found?

There are no records for 1901/1911 yet loaded into the database


Tooltips not appearing on hover when scrolling down a React based website

What is your Test Scenario?
Iterating reviews on a site, some data is only presented in tooltips, dynamically created HTML elements.  We must hover over an element in each row to allow the popup to appear, then inspect the popup's nodes for data.
Please note this test iterates useless 'Notify' popups that are all the same.   We are actually having the same bug but on a page only accessible once you log into the business side of the portal.  Solving the bug presented here should also fix the bug behind the login gate.
What is the Current behavior?
The page scrolls correctly to the node being hovered, but after one or two popups no further popups appear.
What is the Expected behavior?
Every node that is hovered should produce its correct popup tooltip.
What is your web application and your TestCafe test code?
  I haven't been able to recreate the problem myself.  They use React but I cannot tell what library or tool they are using for their popups, it doesn't seem to be react-tooltip for example.  So, I cannot provide a simple test case, only reproducing the error on this third party site.  Sorry :)

Your complete test code (or attach your test files):

import { Selector } from 'testcafe';

fixture('Testing Begin...')
    .page('https://www.trustpilot.com/review/www.lego.com');

test('List names', async t => {

    let reviewRow = Selector('div.review-card');

    let numReviews = await reviewRow.count;
    console.log(`Iterating ${numReviews} rows...`);

    for (let idx = 0 ; idx < numReviews ; idx ++) {
        let row = reviewRow.nth(idx);

        let nameNode = row.find('div.consumer-information__name');
        let notifyNode = row.find('button.has-tooltip');
        let notifyNodeCount = await notifyNode.count;
        let name = await nameNode.innerText;
        console.log(`Going to hover name ${name} with ${notifyNodeCount} nodes to hover...`);

        await t
            .hover(notifyNode)
            .wait(500)
            .takeScreenshot('row-' + idx + '-' + name.replace(/[ \.]/, '-').trim() + '.png');
        console.log(`Done for ${idx} with name ${name}`);
    }
    console.log('Finished.');
});

Your complete test report:

 Running tests in:
 - Chrome 66.0.3359 / Linux 0.0.0

 Testing Begin...
Iterating 20 rows...
Going to hover name Julien Santoni with 1 nodes to hover...
Done for 0 with name Julien Santoni
Going to hover name madison butler with 1 nodes to hover...
Done for 1 with name madison butler
Going to hover name Jason Coller with 1 nodes to hover...
Done for 2 with name Jason Coller
Going to hover name P-A-C with 1 nodes to hover...
Done for 3 with name P-A-C
Going to hover name Jason Shepherd with 1 nodes to hover...
Done for 4 with name Jason Shepherd
Going to hover name Joseph Fidalgo with 1 nodes to hover...
Done for 5 with name Joseph Fidalgo
Going to hover name customer with 1 nodes to hover...
Done for 6 with name customer
Going to hover name D J Jones with 1 nodes to hover...
Done for 7 with name D J Jones
Going to hover name Guy Freedman with 1 nodes to hover...
Done for 8 with name Guy Freedman
Going to hover name nate with 1 nodes to hover...
Done for 9 with name nate
Going to hover name Alistair with 1 nodes to hover...
Done for 10 with name Alistair
Going to hover name Mark with 1 nodes to hover...
Done for 11 with name Mark
Going to hover name Mr L. with 1 nodes to hover...
Done for 12 with name Mr L.
Going to hover name Matt Barty with 1 nodes to hover...
Done for 13 with name Matt Barty
Going to hover name Christopher with 1 nodes to hover...
Done for 14 with name Christopher
Going to hover name Carlitos Gneiting with 1 nodes to hover...
Done for 15 with name Carlitos Gneiting
Going to hover name Jay with 1 nodes to hover...
Done for 16 with name Jay
Going to hover name Louise mccombes with 1 nodes to hover...
Done for 17 with name Louise mccombes
Going to hover name Jack Kvatch with 1 nodes to hover...
Done for 18 with name Jack Kvatch
Going to hover name Peter D with 1 nodes to hover...
Done for 19 with name Peter D
Finished.

Screenshots:

After the first few screenshots, in which the tooltip popup appears OK, no further popups appear, I will just provide the first few, you should see the error, after two that work the last tooltip gets stuck on screen and scrolled up without any new tooltips appearing.
Headless seems to behave slightly worse than non-headless but still goes wrong.
![row-3-P-A-C](https://user-images.githubusercontent.com/266415/54331103-fd238b00-464a-11e9-87ba-1318138e98f8.png)
![row-2-Jason-Coller](https://user-images.githubusercontent.com/266415/54330680-3ce97300-4649-11e9-8a99-7bbf0ac7abcf.png)
![row-1-madison-butler](https://user-images.githubusercontent.com/266415/54330681-3d820980-4649-11e9-918f-fe757c2b444c.png)
![row-0-Julien-Santoni](https://user-images.githubusercontent.com/266415/54330682-3d820980-4649-11e9-8b16-9619b316fc96.png)

Steps to Reproduce:

Run the testcafe script given above in headless mode with something like:
./node_modules/.bin/testcafe chrome:headless bug.ts -S -s screenshots --selector-timeout 60000 --assertionimeout 60000 --screenshot-on-fail --skip-js-errors

Screenshots will be created in screenshots directory numbered and with the name of the reviewer for reference.

Run the same script in non-headless mode, for comparison to show it also suffers the bug.

Screenshots in screenshots directory as before or just watch the browser run the test.

Your Environment details:

testcafe version:                   1.1.0
node.js version:                    v9.11.1
command-line arguments:  ./node_modules/.bin/testcafe chrome:headless bug.ts -S -s screenshots --selector-timeout 60000 --assertionimeout 60000 --screenshot-on-fail --skip-js-errors
browser name and version: Version 66.0.3359.117 (Official Build) (64-bit)
platform and version:          Fedora Linux 29
other:                                   The page does seem to use infinite scroll techniques to load data as you scroll, but the set of rows in which the error occurs is definitely loaded when the test begins.  I explicitly count existing rows before iterating, so I only expect to process the number of rows that exist when the test begins, and not try to continue down as more rows are loaded while scrolling.

Hi @neekfenwick
I've reproduced the problem. Thank you for the provided detail.

There is a quick workaround.
Need to insert click action before hover action.
import { Selector } from 'testcafe';

fixture('Testing Begin...')
    .page('https://www.trustpilot.com/review/www.lego.com');

test('List names', async t => {

    let reviewRow = Selector('div.review-card');

    let numReviews = await reviewRow.count;
    console.log(`Iterating ${numReviews} rows...`);

    for (let idx = 0 ; idx < numReviews ; idx ++) {
        let row = reviewRow.nth(idx);

        let nameNode = row.find('div.consumer-information__name');
        let notifyNode = row.find('button.has-tooltip');
        let reviewActions = row.find('.review__actions');
        let notifyNodeCount = await notifyNode.count;
        let name = await nameNode.innerText;
        console.log(`Going to hover name ${name} with ${notifyNodeCount} nodes to hover...`);

        await t
            .click(reviewActions)
            .hover(notifyNode)
            .wait(500)
            .takeScreenshot('row-' + idx + '-' + name.replace(/[ \.]/, '-').trim() + '.png');
        console.log(`Done for ${idx} with name ${name}`);
    }
    console.log('Finished.');
});

I see the site design at the URL I used in the test has changed so that popups do not appear in the same way any more :( This may mean we cannot test the fix in the same environment as it was reported.
I have tried rewriting the test script to use the "Useful" popups, where at least one person has marked a review as Useful then a popup does appear there, but they seem to be using a different mechanism as before, and hovering the Useful node does not cause the popup to appear.
If/When a fix does become available I'm happy to test it against the real site, behind the login gate, if you advise me how to get hold of the fixed version.

It looks like a bug of the tested site.
The popups don't show if I manually perform the necessary actions (see video).


[Fixes #3661] Fix Rails.SaveBang to account for control flow

Unless the method call is not the last clause in the conditional.
Fixes #3661

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Used the same coding conventions as the rest of the project.
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] All tests are passing.
[x] The new code doesn't generate RuboCop offenses.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[ ] Updated cop documentation with rake generate_cops_documentation (required only when you've added a new cop or changed the configuration/documentation of an existing cop).

I'll have to think about this. Unless something like this is the final line of a method definition it's not really used for flow of control.

@bbatsov are you commenting against the fix or just against the name of the fix ("control flow")?

Frankly, I don't even understand what this is trying to fix. Haven't had time to inspect the original ticket, but this PR definitely seems off to me.

Ah - check it out, it's pretty simple:
@model.update(attrs) || log_error is logically similar to log_error unless @model.update(attrs), yet Rails/SaveBang raises an error on the first, but passes on the second.
I want to be able to write the first way and have it pass Rails/SaveBang since, in my view, the cop should only police that I'm handling a possible Rails create/save/update error, not how I handle it.

It's never as simple as this - outside of conditionals you can't easily tell if something was used for flow of control purposes or just for the sake of a boolean result. But it's generally a good assumption that non-final boolean expressions where the results is discarded are flow of control expressions.

Closing this due to lack of activity.


Test niedermayer

uploaded document
Applying_Markowitzs_Critical_Line_Algorithm.pdf

@kasperjo: Can you please print the paper linked to above?


disable!, deprecate!: add reason

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew tests with your changes locally?

Resolves #8501
Add a reason for disabling and deprecating a formula. This means that the error that a user gets when trying to install one of these has more information and makes it easier to figure out what the problem is.
Example:
disable! because: "it cannot be built from source"

Right now, the because: parameter is optional. I plan on making it required by brew style, but I think we need to wait for the next release so that Homebrew/core formulae can accept the reason.

Right now, the because: parameter is optional. I plan on making it required by brew style, but I think we need to wait for the next release so that Homebrew/core formulae can accept the reason.

I'd also consider adding a commented-out odeprecated so we can deprecate it if it's not present on the next major/minor release, too.

Can I suggest adding a pr: argument that specifies the PR# that did the deed, that outputs something like See https://github.com/homebrew/homebrew-core/pulls/X for details?

I'd also consider adding a commented-out odeprecated so we can deprecate it if it's not present on the next major/minor release, too.

Good idea. Just to clarify, does that mean that we'll uncomment the line (deprecating it) when 2.5 is released and then remove the line for 2.6?

Can I suggest adding a pr: argument that specifies the PR# that did the deed, that outputs something like See https://github.com/homebrew/homebrew-core/pulls/X for details? Perhaps this can be injected automagically via CI?

Definitely like this idea. Not sure if CI can do it automatically (I'd be diving into some new territory there). If it can't, I could see this being a pain point because you don't easily know what PR number you'll get until you make it.

Good idea. Just to clarify, does that mean that we'll uncomment the line (deprecating it) when 2.5 is released and then remove the line for 2.6?

Yup!

Can I suggest adding a pr: argument that specifies the PR# that did the deed, that outputs something like See https://github.com/homebrew/homebrew-core/pulls/X for details? Perhaps this can be injected automagically via CI?

CI can't do it automatically really and this would be a bit awkward to have to create a PR and then force push to it. It's also inviting people to jump on the PR and complain which I'm not sure is a good idea.

I think the CI injection part can be skipped for now, since deprecation/disabling is rare enough that a quick edit/force-push shouldn't be too burdensome.

since deprecation/disabling is rare enough that a quick edit/force-push shouldn't be too burdensome.

I'd rather not put this onus on maintainers for something which I don't see as adding to the communication and gives people a bandwagon to be negative on.

I'd rather not put this onus on maintainers for something which I don't see as adding to the communication and gives people a bandwagon to be negative on.

Yeah, I agree. Plus, people can still find the PRs without too much trouble if they know where to look...

Thanks again @Rylan12!

Right now, the because: parameter is optional. I plan on making it required by brew style, but I think we need to wait for the next release so that Homebrew/core formulae can accept the reason.

@Rylan12 I've tagged 2.4.14 now and uncommented the deprecations in https://github.com/Homebrew/brew/pull/8513 which (as expected) is causing a CI failure. If you could add these reasons en-masse to homebrew-core I can handle linuxbrew-core and the other taps. Cheers again, great work! ❤

@MikeMcQuaid I've opened a PR for the disable! reasons at https://github.com/Homebrew/homebrew-core/pull/60321/files
Looking at the deprecate! reasons, though, I'm not sure it makes as much sense to require a reason. Most of the time, it looks like the reason would just be "it was deprecated upstream" or "it stopped being maintained". Should we still make this required?

Looking at the deprecate! reasons, though, I'm not sure it makes as much sense to require a reason. Most of the time, it looks like the reason would just be "it was deprecated upstream" or "it stopped being maintained". Should we still make this required?
Edit: there are more exceptions to this than I thought, so I think it's okay to keep the requirement. I'll open the PR and it can be discussed there

Could provide symbols like with keg_only to be able to quickly specify a given, longer message?


Replace existing headers in withEntity

Fixes #5059.
With the global header registry, we used to be able to append two sets of headers and detect which were single and which were recurring from their names.  In the type class model of 0.22, this is no longer possible.  We need to merge the headers from the EntityEncoder with the headers already on the message.
Usually the headers are Content-Type and Content-Length, both of which are single.  Using a merge operation that replaces existing headers fits well here.  We get a change in behavior if the message already has any recurring headers that the EntityEncoder tries to add, but it's fair to say anything the EntityEncoder cared to specify, it should control.

We could go a step further and say it should remove any payload headers.  (If a message had a gzip content encoding, and we replaced the entity without an encoder that repeated the same, shouldn't we go back to identity encoding?)  But that's a more radical change.

I think the dubious fields are the payload header fields" and the representation header fields and the payload header fields.  When we change the entity, either in withEntity or using an EntityEncoder, anything we inherited from those sets of fields is called into question.
Changing this is unfortunately one of those Quiet Semantic Changes that I've been trying to minimize.

Do you think it's sensible as is, or should we clear out those other body-related headers?

Do you think it's sensible as is, or should we clear out those other body-related headers?

I don't think we should clear out the other body related headers. I've seen a good amount of code that unfortunately bootstraps the body using one EntityEncoder, say EntityEncoder[String], and then explicitly overwrites the the Content-Type to the intended type, e.g. application/xml. Obviously this is not ideal, but I don't want to silently break that.
@rossabaker I think what you have here is good as is. I'd be curious if we could explore ways of forbidding users from directly setting the body/payload headers via the non-EntityEncoder methods, but that is a topic for another issue (and a time when my thoughts are more fully formed ;) ).

I don't think we should clear out the other body related headers. I've seen a good amount of code that unfortunately bootstraps the body using one EntityEncoder, say EntityEncoder[String], and then explicitly overwrites the the Content-Type to the intended type, e.g. application/xml. Obviously this is not ideal, but I don't want to silently break that.

I guess that would still work if we removed the headers here, it's the other order that is problematic. Though I'd still be hesitant to do that. There's nothing stopping users from writing EntityEncoders which don't set the payload headers correctly and then setting the headers before calling withEntity.

I'd be curious if we could explore ways of forbidding users from directly setting the body/payload headers via the non-EntityEncoder methods, but that is a topic for another issue (and a time when my thoughts are more fully formed ;) ).

I think akka-http silently ignores some of them.  It's a hard problem: you need a header name type that is "strings, with out control characters or high bit characters, that aren't in this set".  And then make it usable!

There's nothing stopping users from writing EntityEncoder which don't set the payload headers correctly and then setting the headers before calling withEntity.

It's a natural flow, too: when we think about a message, headers come before the entity.  We like to think of a message as a product type, but the headers and the body are interdependent, and many brain teasers flow from this.


Allow the user to specify Sun-sync position within plane

Right now the true anomaly is always set to zero for sun synchronous orbits, and there is no way to change the epoch of the orbit or the location:
https://github.com/satellogic/orbit-predictor/blob/9a0af4e1c65f1ac7faf5dfb473e45ed157068622/orbit_predictor/predictors/numerical.py#L117-L120
https://github.com/satellogic/orbit-predictor/blob/9a0af4e1c65f1ac7faf5dfb473e45ed157068622/orbit_predictor/predictors/numerical.py#L156
Requested by @spiccinini

In progress in #42


Update the bundle version check with latest releases

There are new deprecated APIs in 1.25 and 1.26 of upstream K8s.
Operator-sdk Bundle Validate now supports these deprecations. This
changes the check to encompass more versions without having to change
dramatically as more are added.
Signed-off-by: Brad P. Crochet<EMAIL_ADDRESS>

Coverage decreased (-0.2%) to 84.105% when pulling 04cac39f3c1e99767e856a9aea2ff9c372575779 on bcrochet:bundle-validate-version into ee9cf5bff7418620e7bc511ec99257d3865678da on redhat-openshift-ecosystem:main.


Update scalacheck to 1.14.0

Updates org.scalacheck:scalacheck from 1.13.5 to 1.14.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a nice day!

Can't do this yet (thanks to cats-laws's 0.13 dependency).

Codecov Report

Merging #1008 into master will decrease coverage by 15.22%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #1008       +/-   ##
==========================================
- Coverage   85.43%   70.2%   -15.23%
==========================================
  Files          75      73        -2
  Lines        2362    2279       -83
  Branches      159     157        -2
==========================================
- Hits         2018    1600      -418
- Misses        344     679      +335

Impacted Files
Coverage Δ

...chmark/src/main/scala/io/circe/benchmark/Foo.scala
0% <0%> (-100%)
:arrow_down:

...o/circe/benchmark/GenericDerivationBenchmark.scala
0% <0%> (-100%)
:arrow_down:

...rc/main/scala/io/circe/benchmark/ExampleData.scala
0% <0%> (-100%)
:arrow_down:

...d/src/main/scala/io/circe/NonEmptySeqDecoder.scala
0% <0%> (-100%)
:arrow_down:

...scala/io/circe/benchmark/JsonObjectBenchmark.scala
0% <0%> (-100%)
:arrow_down:

...la/io/circe/benchmark/NumberParsingBenchmark.scala
0% <0%> (-100%)
:arrow_down:

...in/scala/io/circe/benchmark/FoldingBenchmark.scala
0% <0%> (-89.66%)
:arrow_down:

.../src/main/scala/io/circe/AccumulatingDecoder.scala
17.85% <0%> (-82.15%)
:arrow_down:

...n/scala/io/circe/benchmark/PrintingBenchmark.scala
0% <0%> (-75%)
:arrow_down:

...re/shared/src/main/scala/io/circe/KeyDecoder.scala
35.13% <0%> (-62.17%)
:arrow_down:

... and 14 more

Continue to review full report at Codecov.

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

Not yet.


shadow？

How to solve the problem of shadow when generating QR code
生成二维码的时候有阴影 怎么解决

Hi @Mradxz if you can provide a code example and output I will reopen and see if I can reproduce your issue.


feat(Marxan): Adds new service to generate Project Summaries after a run

Adds a new OutputProjectSummariesService that will generate a series of CSV files with summary info for all the scenarios runs in a given project, and store a zip with those files on the DB. This will be triggered after completing a Marxan run, on the API side at the end of the whole process.
Substitute this line for a meaningful title for your changes
Overview
Please write a description. If the PR is hard to understand, provide a quick explanation of the code.
Designs
Link to the related design prototypes (if applicable)
Testing instructions
Please explain how to test the PR: ID of a dataset, steps to reach the feature, etc.
Feature relevant tickets
Link to the related task manager tickets

Checklist before submitting

[ ] Meaningful commits and code rebased on develop.
[ ] If this PR adds feature that should be tested for regressions when
deploying to staging/production, please add brief testing instructions
to the deploy checklist (docs/deployment-checklist.md)
[ ] Update CHANGELOG file

@KevSanchez sorry I had missed this yesterday:
https://github.com/Vizzuality/marxan-cloud/actions/runs/5586804904/jobs/10211303525?pr=1375#step:3:4125
we'll also need this:
diff --git a/api/api.Dockerfile b/api/api.Dockerfile
index 53ae8f93c..add17526e 100644
--- a/api/api.Dockerfile
+++ b/api/api.Dockerfile
@@ -5,7 +5,7 @@ ENV NAME marxan-api
 ENV USER $NAME
 ENV APP_HOME /opt/$NAME

-RUN apk add --no-cache bash
+RUN apk add --no-cache bash zip
 RUN addgroup $USER && adduser -s /bin/bash -D -G $USER $USER

 WORKDIR $APP_HOME


test_large_frame failing

We (nixpkgs) are currently in a large python package set upgrade, and I'm seeing the following test for magic-wormhole 0.13.0 fail. I've ruled out the twisted 23.8.0 update so far, and I'm not exactly sure what dependency could cause this error.
___________________________ Record.test_large_frame ____________________________

self = <wormhole.test.dilate.test_record.Record testMethod=test_large_frame>

    def test_large_frame(self):
        """
        Noise only allows 64KiB message, but the API allows up to 4GiB
        frames
        """
        # XXX could really benefit from some Hypothesis style
        # exploration of more cases .. but we don't already depend on
        # that library, so a future improvement

        @implementer(ITransport)
        class FakeTransport:
            """
            Record which write()s happen
            """
            def __init__(self):
                self.data = []  # list of bytes

            def write(self, data):
                self.data.append(data)

        # we build both sides of a connection so that underlying Noise
        # structures can be set up and paired properly.
As Dilation is still experimental/optional, you'd install with pip install magic-wormhole[dilate] to get it (i.e. "install the dilate extra") as I assume Nix isn't using pip here (see https://github.com/magic-wormhole/magic-wormhole/blob/master/setup.py#L63C23-L63C36 )
(I don't know what https://github.com/magic-wormhole/magic-wormhole/blob/master/src/wormhole/_dilation/_noise.py#L19 means about 2.7 imports but also we don't support python2 anymore).

Probably the tests themselves could/should detect this and not run when dilation dependencies are not installed

An immediate solution for Nix could simply be to declare a dependency on noiseprotocol (the python library).
I don't know if / how Nix deals with Python extras?

Passing noiseprotocol in fixes the tests. Now I wonder where this had been coming from before.
twisted[tls]  on 23.8.0 provides idna, pyopenssl and service-identity.
autobahn[twisted]  23.6.2 provides attrs, zope_interface and twisted itself.

So clearly an issue on our end, we missed the dilation extra. Thanks for the pointers!


[Feature Request]: Adding LC Solution for 643. Maximum Average Subarray I

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Useful for user to be able to solve complex/hard problems similar to this whenever somebody want a solution for this.
Use Case
For users to be able to see the solutions and understand different approaches for it.
Benefits
The use case is a benefit.
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Ajay-Dhangar kindly assign this issue to me please..I have solved the problems so that I can add solutions to it.

@Ajay-Dhangar should I start working on it and make pr?


Extend all CloudEvents and CLI send-event commands with optional labels

Implementation of this keptn/spec PR.
Extension of the start-evaluation event with labels that allow users to provide labels for evaluations.

This feature requires workflow-engine/shipyard-controller.

This issue is still work in progress, I'm labelling this as "future".

@johannes-b Do all our cloud-events have labels now? I thought they did, though wanted to check back with you.

In the course of implementing KEP 06, this need to be verified.

I close this issue in favor of #2126


Add automated tests

Currently we have 0 tests for the extension and it is a good idea to add some. We can use the newly introduced Test Suite for Debug Adapters.

Fixed: https://github.com/NativeScript/nativescript-vscode-extension/pull/42


[SPARK-47218] [SQL] XML: Changed SchemaOfXml to fail on DROPMALFORMED mode

What changes were proposed in this pull request?

Changed schema_of_xml should fail with an error on DROPMALFORMED mode to avoid creating schemas out of invalid XML.
Why are the changes needed?

DROPMALFORMED parse mode imply silently dropping the malformed record. But SchemaOfXml is expected to return a schema and may not have a valid schema to return for a malformed record. So DROPMALFORMED cannot be supported..
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Unit test.
Was this patch authored or co-authored using generative AI tooling?

No.

Why are the changes needed?
DROPMALFORMED parse mode imply silently dropping the malformed record. But SchemaOfXml is expected to return a schema and may not have a valid schema to return for a malformed record. So DROPMALFORMED cannot be supported..

Merged to master.

(let's file a new JIRA next time)


Update Python in Swift Dockerfile

What are you trying to accomplish?

Anything you want to highlight for special attention from reviewers?

How will you know you've accomplished your goal?

Checklist

[ ] I have run the complete test suite to ensure all tests and linters pass.
[ ] I have thoroughly tested my code changes to ensure they work as expected, including adding additional tests for new functionality.
[ ] I have written clear and descriptive commit messages.
[ ] I have provided a detailed description of the changes in the pull request, including the problem it addresses, how it fixes the problem, and any relevant details about the implementation.
[ ] I have ensured that the code is well-documented and easy to understand.

Could you please fill out the PR template @fnoGematik so we understand the reasoning behind these changes

This PR was only to double check the changes for bumping ubuntu base image to 24.04


[Release] v0.16.0 release schedule

Last release v0.15.0 was proposed at the end of Jan. and the release day is 25 Jan, more detail refer v0.15.0 release schedule. It has been almost three months since Jan. According to our RFC-0067 about quarter-based releases, I hope to release v0.16.0 version at the end of April 2024. It's meaningful especially for AI infra companies which needs regularly merge with release version.
In order to continue with our agreed release cycle as per discussion in RFC#67 , I'd like to propose a schedule for our next TVM release: v0.16.0.

This schedule is tentative and may change as we progress through the process. In case dates change, this thread will be kept updated.
The proposed schedule is:

[x] 12 Apr. 2024 Following three actions should be continuous and coherent:

[x] Make version modification twice as two commits: first to v0.16.0 on main branch; second to v0.17.dev0 on main branch in one PR, and merged without squash (required). Why do this first referring discuss on v0.14.0 release:
[x] A branch v0.16.0 to be created from main on first commit: https://github.com/apache/tvm/pull/16881
[x] A tag named v0.16.0.rc0 created on first commit: https://github.com/apache/tvm/releases/tag/v0.16.0.rc0
[x] A tag named v0.17.dev0 created on second commit: https://github.com/apache/tvm/releases/tag/v0.17.dev0

[x] 16 Apr. 2024 - Cherry-picking soft deadline

During this time any reasonable change can be merged, comment on this issue with the commit you would like added to the release branch

[x] 20 Apr. 2024 - Cherry-picking hard deadline

During this time only critical changes will be merged, comment on this issue with the commit you would like added to the release branch as well as the reasoning for adding it
Consider https://github.com/apache/tvm/issues/16719

[x] 20 Apr. 2024 - Draft release notes published: https://github.com/apache/tvm/issues/16911
[ ] 20 Apr. 2024 - Prepare release candidate packaging v0.16.0.rc0 and uploading

Create tag v0.16.0.rc0: https://github.com/apache/tvm/releases/tag/v0.16.0.rc0
Github release page from tag:
Upload to Apache repo:

[ ] 20 Apr. 2024 - Release voting opens:
[ ] 25 Apr. 2024

[ ] Voting result:
[ ] Create a new release tag v0.16.0 on last commit on release branch:
[ ] Change pre-release as latest release:
[ ] Upload the binaries to Apache mirrors:

[ ] 26 Apr. 2024 - Release date
[ ] 26 Apr. 2024 - Update the TVM Website

Call for release managers: In case you want to be involved in upcoming releases, please manifest your interest in this thread and we'll try to organise. 😆
See also:

Release steps
TVM release process docs.

cc @apache/tvm-committers @Hzfengsy @vinx13 @areusch @Mousius @tqchen @AndrewZhaoLuo @Johnson9009

Hi all, pre-release published: https://github.com/apache/tvm/releases/tag/v0.16.0.rc0 .

Hi all, vote starts (https://github.com/apache/tvm/issues/16912). Everyone is welcomed to vote. Please vote by replying to this thread (https://github.com/apache/tvm/issues/16912) explicitly. Vote will close Apr. 25th at 23:59M GMT.

Hi all, vote starts (#16912). Everyone is welcomed to vote. Please vote by replying to this thread (#16912) explicitly. Vote will close Apr. 25th at 23:59M GMT.

Hi all, release delay due to lack of voting member.

Hi all, v0.16.0 released: https://github.com/apache/tvm/releases/tag/v0.16.0 .
I doesn't upload the binaries to Apache mirrors, because only PMC can move to release directory, which is same reason as last release v0.15.0. Need help cc @Hzfengsy @tqchen
Besides, need help to update doc about v0.16.0 on website. cc @vinx13


Added test for IBAN_CODE

My previous merge was a mistake and I do not know if there is a way to revert it. @claesmk will that be a problem or are we fine?


Add categories to accessories

Does not seem to work on the Thermostat for some reason, but works on all others.

Re-based @KhaosT


Enhanced enableIf for arbitrary jar dependencies

  @enableIf(c =>
    c.classPath.exists(
      _.getPath.matches(".*spark-catalyst_2\\.\\d+-3\\.2\\..*")
    )
  )

@Renkai is using enableIf to conditional compile a Spark-based project here: https://github.com/eto-ai/rikai/pull/531
Using classpath and regex, it works fine. It would be nice to have a special macro like enableClasspath.

I'd like to have:
enableClasspathWith(regex: String)
enableClasspathWith(artifactId: String, versionRegex: String)

I think c.classPath.exists is good.

Working on a pull request now.


Wrong API url

Hello - i use your NamelessMC Link to integrate disocrd with my NamelessMC website, but when i use /apiurl and url for my API, i got error page - not json
My API url looks like like https://ultronarmy.faketube.cz/index.php?route=/api/v2/***
Where is the problem???
Can anyone help me?

Please send the full error output. Also, are you self-hosting?

well - this is a my error output - full error output is some HTML document code
I'm using NamelessLink discord bot

See the "API broken" instructions here: https://github.com/NamelessMC/Nameless/issues/2446


Retrieve files list in a specific deploy

Hi there,
am I correct in assuming that there is currently no way of GETting the list of files for an older deploy? Something that would look like /deploys/{deploy_id}/files. I just found uploadDeployFile but it is a PUT.
Basically, I need to check the hash assigned to a particular file name in several old deploys recursively (they are too many to do it by hand).
Thanks!

Hi @ruggerocastagnola,
First of all, sorry for the late response!
It is possible to retrieve the URL of each individual file for a specific deploy by using the same URL you would see in your browser when previewing that deploy, such as 5d725e4e7108e8395da140c0--example-site.netlify.com.
Unfortunately, for implementation reasons, listing files is a complex operation that we don't intend to support at the very moment. You might solve this issue by manually keeping track of which files you've uploaded, although we do understand this might be cumbersome.
I am going to close this issue for tracking purpose, but please feel free to let us know what you think. Thanks!

There's also a way to download the deploy from our UI, as shown in this screenshot, @ruggerocastagnola

I know that's not what you asked for, but it is the best way besides knowing what was deployed, to find out what was deployed.  Use the link from the relevant deploys logs page - that link is specific to that deploy.

Hi all, thanks for the feedback. We ended up doing it manually this time, will keep that in mind if this pops up again.


Flatpak support

Consider shipping a flatpak as well for linux users :)
I might try to do that as a PR if i can't get the original tool work through wine/proton

Its good idea. As far as I know, I should just simply add "flatpack" target to electron-builder configuration. I'll try on this week

I'm adding support of flatpak in separate branch, now its buildable, but I have problem with access ti serial ports
(node:3) UnhandledPromiseRejectionWarning: Error: spawn udevadm ENOENT
    at Process.onexit (node:internal/child_process:283:19)
    at onErrorNT (node:internal/child_process:476:16)
    at processTicksAndRejections (node:internal/process/task_queues:82:21)
(node:3) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 5)

There are not too much articles about serial ports in flatpak; @jbtrystram do you have any experience with it?


Windows Build CI

CI for Windows build

I'm still unsure what causes Incorrect newline style in /home/runner/work/MuJoCo-Rust/MuJoCo-Rust/mujoco-sys/src/no_render.rs

We still need to fix the format checks. But later.

Strangely after the merge all other checks are broken (though were fine with PR)


FEATURE: some API requests are missing in the client

Problem
This client does not contain all requests that are already available using SOAP
As an example getting model settings and options is possible using /get_model_settings_and_options
Describe the solution you'd like
As the code suggests you are using a automated tool to build this library. Please add the missing requests to your build system.
Describe alternatives you've considered
Forking the repo and adding these information by hand is cumbersome and error prone.

Updated to X.02.018 version


A lot of refactor

Don't be shy to point out things you don't like. I can return any change individually if you want

Have you set up a local server and checked to see if you can connect?

@YutoMaeda1209 Yes, everything works fine

Fixed now!

Please notice, that required variables rn is:
LiteNetLib.dll
MessagePack.Annotations.dll
MessagePack.dll
System.Security.Permissions.dll - requires for desirealization through Newtonsoft.json

@YutoMaeda1209 Done

LGTM! Sorry for all the problems with my first review. Thank you for the pull request!


Rule: Domain Trust Discovery and new IP checking domain

#174

Hello @mr-tz ,
tks for the suggestions. I changed the logic of the rule to improve detection and avoid false positives.
The only thing is to note that leaving only "nltest" detection did not occur. So I followed some examples of rules that use the character "*".
Also, if the malware contains two spaces (or more)  between commands the detection does not occur. So I left the strings separately. Do you have any smarter idea to avoid this "bypass"?

That looks great. I tried the below modified rule on the test samples:

combines nltest and domain arguments under an and statement
removed trailing .* from nltest (capa assumes leading and trailing wildcards)
escaped / character

  features:
    - or:
      - and:
        - string: /nltest/i
        - or:
          - string: /\/domain_trusts/i
          - string: /\/dclist/i
          - string: /\/all_trusts/i
      - api: DsEnumerateDomainTrusts

What do you think of these changes?

Great.
I adjusted the rule again.


Stock privacy

Because transactions logs are public, everyone get access to my stock.
Could you implement some kind of protected access ?

@Auto-Answer :
Blockchain is based on transparency, if you cant your information to be securely stored with a private access, you missed the point.


lxd-ui: 0.5 -> 0.6

Updates lxd-ui to 0.6
Changes: https://github.com/canonical/lxd-ui/compare/0.5...0.6
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg test lxd.ui
this may also negatively impact the incus ui.
@ofborg test incus.ui

cc @mkg20001 for a heads up, since i think you're using the incus ui

huh, didn't i update this in b294cdaec8c7493d90455d260a4cef254eab4ef2 ?

Yes, not sure why that wasn't a conflict...

Because the changes are the same, so git resolved it automatically to an empty commit


Fix CI

@benjie if you know what changed recently in the dependencies of postgraphql, can you open a bug on Microsoft/TypeScript? The fix to tsconfig indicates that one of the JS libraries that postgraphql depends on caused the Typescript compiler to crash.

@sandersn I think it's https://github.com/Microsoft/TypeScript/issues/14628 as noted in ebf68c8a8bf1bec25cdcde73a9df87b93afa8a44 - at least that's where I got the solution from (i.e. using include). I'm not sure what changed - we didn't change the dependencies so it must have been a semver-incompatible change in one of our dependencies.

Yep, Microsoft/TypeScript#14628 was how I got here. Big Javascript packages tend to expose new scale bugs in the compiler, so I thought I'd check whether you had a suspect for which dependency changed so I could investigate that package. No worries if not.

(Being explicit about which files to include in the compilation is the right thing, for what my review of this change is worth.)

Sorry, I've no theory on this (and the window for it having failed is pretty wide, so I suspect a lot of dependencies have changed in this time). Good luck!


Add a notification feature, includes running entries and requirements.txt

May be usefull :)

Thanks.
If you are finished:

Could you merge the commits?
Please remove IDE settings files (gitignore)
Give me a short description what is going on.


[Feature] [JSON] Broader support of allOf JSON keyword

Implements framework for support of allOf by manually intersecting schemas. Tests are adapted from the JSON Schema test suite.
Out of the box, this supports:

Unioning properties, recursively merging duplicate properties using allOf
Unioning required lists
Intersecting additionalProperties with a recursive allOf
Intersecting items with a recursive allOf
Intersecting types
Intersecting enums
Combining disjoint assertions like minItems, maxItems, minLength, maxLength, pattern, format, minimum, maximum, ...

Note that any duplicates across different schemas in the  allOf will cause an exception, however we can extend this implementation in the future

Accounting for "sibling" keywords in the base schema next to an allOf, anyOf, oneOf, or $ref by internally rewriting the node as an allOf

A couple of notes:

As always, only one particular order of keys is allowed when generating an object. Usually, we just repeat the order given by the user's schema, but the idea of a "canonical order" is trickier here. We may want to play around with this a bit
Technically, we may have to intersect the additionalProperties of one schema with the properties of another in an allOf. This is subtle and here is where unevaluatedProperties may start to become important. I say we punt and make incremental improvements here
Wherever possible, I tried to prioritize raising exceptions if we aren't certain we know how to handle things (maybe with the exception of the previous additionalProperties note.)
I had to rewrite the $ref implementation again. The allOf tests revealed some edge cases I previously didn't know about. This caused some additional ugliness with passing around a base_uri string, so I'll have a think on how to simplify this if possible. I think it's ok for now.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 80.72289% with 32 lines in your changes missing coverage. Please review.

Project coverage is 61.67%. Comparing base (c8c6a11) to head (c5ed6b3).
Report is 1 commits behind head on main.

Files with missing lines
Patch %
Lines

guidance/library/_json.py
80.72%
32 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1070      +/-   ##
==========================================
- Coverage   65.54%   61.67%   -3.87%
==========================================
  Files          63       65       +2
  Lines        4844     5013     +169
==========================================
- Hits         3175     3092      -83
- Misses       1669     1921     +252

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@riedgar-ms I added some functionality to properly support additionalProperties and items as well as some implementations of simple reductions we can do (e.g. two minimum keys should give the maximum of the two, etc.). Will put some more energy into tests tomorrow morning 😄

I made the mistake of refactoring test_json into a folder as well as running black on it... The diff in the tests looks much bigger than it should... ctrl-f for "unsatisfiable" in tests/unit/library/json/test_json.py to see the additions relevant to my last comment.

@riedgar-ms just a heads up that I moved this back to WIP as @Saibo-creator gave me some examples of schemas for which this fails -- will let you know when it's ready for review again.

@riedgar-ms just a heads up that I moved this back to WIP as @Saibo-creator gave me some examples of schemas for which this fails -- will let you know when it's ready for review again.

Thanks. One suggestion: why not do the split into separate test files now, as a separate PR. Keep things orthogonal and more reasonably sized (well, slightly).

@riedgar-ms refactored a little bit just to move some of the potentially reusable parts out into their own methods. I was hoping to make anyOf and oneOf work inside of an allOf, but I'm finding it a bit mind-bending at the moment... Rather than make the PR wait on that functionality, I'd like to go ahead with it as-is, adding those in later. This PR already introduces a good amount of functionality with allOfs.
TLDR: ready for review.


import name 'CaseInsensitiveDict' from 'azure.core.utils' when installing az extension

Describe the bug
Hi Azure Cli team,
We are using Azure Devops to build our service and we started to see this failure when we tried to install extensions:
sudo az extension add --name quota --version 0.1.0 -y
cannot import name 'CaseInsensitiveDict' from 'azure.core.utils' (/opt/az/lib/python3.10/site-packages/azure/core/utils/init.py)
We installed azure cli with:
sudo apt-get install -y --allow-downgrades azure-cli=2.39.0-1~focal
The previous successful pipeline runs are also 2.39.0-1 so I dont know what changed.
Thanks
Related command
sudo az extension add --name quota --version 0.1.0 -y
Errors
cannot import name 'CaseInsensitiveDict' from 'azure.core.utils' (/opt/az/lib/python3.10/site-packages/azure/core/utils/init.py)
Issue script & Debug output
cannot import name 'CaseInsensitiveDict' from 'azure.core.utils' (/opt/az/lib/python3.10/site-packages/azure/core/utils/init.py)
Expected behavior
The package should be installed
Environment Summary
azure-cli 2.39.0-1
Additional context
No response

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

Hi @huliang-microsoft!
Az 2.39 is bit old now compared 2.52.
I helped resolve a similar issue recently from customer by suggesting him to "Az upgrade" and add Az ML extension after removal. Could you confirm it from your side.

az upgrade
az extension remove -n azure-cli-ml
az extension remove -n ml
az extension add -n ml

Thank you.


Bad conversion of BatchNormalization for 2D input

Hi
I have a keras model with a BatchNormalization layer between Dense layers.
The BatchNormalization layer has a parameter 'axis' that is default to -1.
It can be altered if the batchnorm is to be performed on another axis than the last one
example: Batchnorm after conv2d on 'channels_first' format, requires axis=1.
Important to note here that in the 2D case -1 and 1 are equal and the default -1 can be kept.
Anyway, the onnxruntime run command fails when axis=-1 (default) for 2D input.
The error I receive is:
RuntimeError: [ONNXRuntimeError] : 1 : GENERAL ERROR : [TypeInferenceError] Invalid attribute perm {0, 3, 1, 2}, input shape = {1, 10}
When the axis=1 (specified), the prediction goes fine.
I believe this is a keras2onnx issue and not an onnxruntime issue, but tell me if I'm wrong.
The issue, as I see it, is the converter assumes input dimension is 4D and the format should be channels_first, then for axis=1 it views the permutation as OK, and for axis=-1 it thinks the input should be permuted to channels_first and therefore it performs perm{0,3,1,2} and it doesn't check whether the input dimension is 4D or 2D.
code example
input_dim = 10
batch_size = 4
model = keras.models.Sequential()
model.add(keras.layers.InputLayer(input_shape=(input_dim,)))
model.add(keras.layers.BatchNormalization(axis=-1))
model.add(keras.layers.Dense(5))
ximg = np.random.randn(batch_size , input_dim )
onnx_model = onnxmltools.convert_keras(model, target_opset=9)
sess = onnxruntime.InferenceSession(onnx_model.SerializeToString())
feed = dict([(input.name, ximg) for n, input in enumerate(sess.get_inputs())])
preds_onnx = sess.run(None, feed)[0]
System information
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
ONNX installed from (source or binary): pip install keras2onnx onnxruntime
ONNX Runtime version: 0.4.0
keras2onnx version: 1.4.0
Python version: 3.6.0
Thnx

Thanks for your good analysis. we will take a look at the issue or would you like to submit a PR for the fixing?

Thnx for the fast repsonse.
Unfortunately, Im not familiar enough with the keras2onnx code to do this efficiently.
I can point you towards the location I see the problem lies.
In  keras-onnx/keras2onnx/ke2onnx/batch_norm.py lines 13 and 52:
if op.axis != 3 and op.axis != -1:
The whole code assumes 4D shape.
This condition checks the axis is not on the last axis in 4D case.
There is no checking at what the dimensions are of the input.
In keras, this can be done with:

len(model.layers[i].input_shape)
len(model.layers[i].output_shape)
len(model.layers[i].input.shape)
len(model.layers[i].output.shape)

For 2D case it will be 2, For 4D case it will be 4.
Im not sure how this should be implemented, however I see that model.layer is used in:
keras-onnx/keras2onnx/ke2onnx/main.py
Hope this helps

@yanxben Thanks for reporting this. I just checked in the fix, and added your case in the unit test, and it works.
Input should be data = np.random.randn(batch_size, input_dim).astype(np.float32), this astype(np.float32) is needed because the converter inference the type for onnx model as float32 as input.
Can you please pull latest keras2onnx master and try?

This issue is resolved, so close it.


Adds Kotlin solution for problems 846 and 978

File(s) Modified: 0846-hand-of-straights.kt , 0978-longest-turbulent-subarray.kt
Language(s) Used: Kotlin
Submission URL: https://leetcode.com/problems/hand-of-straights/submissions/937218387/ , https://leetcode.com/problems/longest-turbulent-subarray/submissions/936670040/

Thanks @t3chkid Looks good !


[nrf fromlist] Cherry-pick updated upstream commit related to MSPI driver for EXMIF

... to fix FLASH overflow failure in sample.suit.smp_transfer.recovery in NCS CI.

This PR cannot be merged without approval from @ahasztag  and @robertstypa


Scalecube + Docker

I might be going about this wrong, but I'm having some issues with running scale cube within docker.
So let's say I have 2 docker hosts: api1 and api2. I have a seed service which just initializes the Cluster, I'm setting the port and using syncGroup, and passing in the list of seeds (pretty standard stuff). Bake the service into a docker container and run it on api1 and api2 passing the seeds of api1:20000,api2:20000.
Each service starts up ok, and then I get a whole bunch of warnings like:
Failed to connect from <IP_ADDRESS>:20000 to <IP_ADDRESS>:20000

So I wired up some endpoints that spit out some info around the Cluster (members).
The first instance of the service will only have itself as a member, the second instance will have both instances as a member of the cluster (but it still warns every second failing to connect).
I noticed that the ips are all 172.17.x.x which makes sense, that's what localhost resolves to for each of the docker containers. I figured that was the problem (they aren't on the same network), so I saw I could set what address/interface gossip should bind to. I tried several combinations without luck (using hostname or local ip of the docker hosts throws an exception, failing to bind within the docker container because it's not part of the network interfaces). Without bridging the docker networks between docker hosts, is there a way I can set this up to work between docker hosts, or from a docker host to a non docker host within the same network?

Hello and thanks for your comment.
First:
did you have a look on the microservices project that runs the scalecube as dockers?
https://github.com/scalecube/microservices
can you describe little more about the topology you have is it on same host or across different hosts and docker engines?
one thing that comes to my mind is to create a network between hosts using SWARM maybe?
we can discuss it on
https://gitter.im/scalecube/Lobby

@ronenhamias I know we walked through a few options in our discussion, but this is sort of what I had in mind (to avoid changing our deployment strategy, or build a custom network across docker hosts).
#198

@mbarker It seems to me that more ordinary approach would be to create network using docker network commands and then start docker containers on that network. Also, we have created separate small tool to do it even from Java code at https://github.com/scalecube/docker-utils, check readme for some examples on this specific part.
Coming back to your pull request, I am just try to figure out what exactly you are setting into hostAddress to make it work (btw, did you check if this change solved your issue?). Do you start a several docker containers on same machine and then map them to some address/port so they can connect to each other? I think in such case you need not only a host address, but also host port as well - isn't it? And also if this is the case I would probably call change the names in pull request in the following way.

Closing with #203


Figure Out How to Run Multiple Services In Docker

We need a simple way to spin up multiple services and their respective databases. Not sure exactly how that works.

May want to add delays between startup if the required container needs a few more seconds to safely start working.
version: "3.7"

services:
  web:
    image: nginx:latest
    entrypoint: ["sleep", "5"]


"busy p..." causes module to crash

Hi,
I tried to send the two commands "ATE0" and "AT+GMR" consecutively after receiving "ready", and "busy p..." appears , after the module will always be in the state of sending "busy p..."
Version:
AT version:<IP_ADDRESS>(e83e1f4 - Jun  1 2018 07:10:27)
SDK version:v3.0.1-rc
compile time:Jun 11 2018 12:42:49
Bin version(Wroom32):1.1.0

Please try the latest release/v<IP_ADDRESS>.  We have fix it.
https://github.com/espressif/esp32-at/commits/release/v<IP_ADDRESS>

The latest release/V<IP_ADDRESS> have fixed it.
Thanks.


DlImageFilter should implement something similar to SkImageFilter.makeWithLocalMatrix()

The ImageFilterLayer code will need to bake the rendering transform into the associated image filter for the case where it is rendering from a cached version of the children. Currently this technique relies on SkImageFilter::makeWithLocalMatrix, but that operation is not supported in DlImageFilter (yet).

Fixed by https://github.com/flutter/engine/pull/34878


FAS-11 : postgres

Build: http://localhost:6006/job/FAPI/job/PR-18/1/ finished with status SUCCESS

FAS-11 : uplifted SQLite to postgres db
FAS-37
FAS-45


High CPU usage with native routing mode and bpf.masquerade enabled

Is there an existing issue for this?

[x] I have searched the existing issues

Version
equal or higher than v1.16.0 and lower than v1.17.0
What happened?
My goal is avoid using iptables for masquerade, which once enabled, it makes the CPU spike to the roof on a single node, due to high number of udev and kernel add/remove events (see sample):
# udevadm monitor
KERNEL[56660.931585] add      /kernel/sunrpc/xprt-switches/switch-0/xprt-0-tcp (sunrpc)
KERNEL[56660.932116] add      /kernel/sunrpc/xprt-switches/switch-0/xprt-1-tcp (sunrpc)
KERNEL[56660.932733] remove   /switch-0/xprt-0-tcp (sunrpc)
UDEV  [56660.937373] add      /kernel/sunrpc/xprt-switches/switch-0/xprt-0-tcp (sunrpc)
UDEV  [56660.939852] add      /kernel/sunrpc/xprt-switches/switch-0/xprt-1-tcp (sunrpc)
UDEV  [56660.941075] remove   /switch-0/xprt-0-tcp (sunrpc)
KERNEL[56660.946360] add      /devices/virtual/bdi/0:195 (bdi)
KERNEL[56660.954922] add      /devices/virtual/bdi/0:196 (bdi)
UDEV  [56660.957324] add      /devices/virtual/bdi/0:195 (bdi)
UDEV  [56660.959736] remove   /devices/virtual/bdi/0:195 (bdi)
KERNEL[56660.964520] add      /devices/virtual/bdi/0:197 (bdi)
UDEV  [56660.967099] add      /devices/virtual/bdi/0:196 (bdi)
UDEV  [56660.969508] remove   /devices/virtual/bdi/0:196 (bdi)
KERNEL[56660.972272] add      /devices/virtual/bdi/0:198 (bdi)
KERNEL[56660.986424] remove   /devices/virtual/bdi/0:195 (bdi)
KERNEL[56660.994655] remove   /devices/virtual/bdi/0:196 (bdi)
KERNEL[56661.000798] remove   /devices/virtual/bdi/0:197 (bdi)
UDEV  [56661.008681] add      /devices/virtual/bdi/0:197 (bdi)
UDEV  [56661.010182] remove   /devices/virtual/bdi/0:197 (bdi)
KERNEL[56661.013468] remove   /devices/virtual/bdi/0:198 (bdi)
KERNEL[56661.024699] remove   /switch-0/xprt-1-tcp (sunrpc)
UDEV  [56661.027373] remove   /switch-0/xprt-1-tcp (sunrpc)
UDEV  [56661.080275] add      /devices/virtual/bdi/0:198 (bdi)
UDEV  [56661.081793] remove   /devices/virtual/bdi/0:198 (bdi)

If I cordon the node and reboot it, the udev and kernel add/remove events are migrated automatically to a different node. Performing a service stop/start on affected node does not fixes the issue, the CPU usage drops for 30 seconds, then comes back:
# systemctl stop systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
# systemctl start systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket

How can we reproduce the issue?
bpf.masquerade is supported with a 6.2+ kernel version, currently running on 6.8.0 version:
bpf:
  masquerade: true
ipMasqAgent:
  config:
    nonMasqueradeCIDRs:
      - <IP_ADDRESS>/16
  enabled: true

Settings output:
# kubectl -n kube-system exec ds/cilium -- cilium-dbg status | grep Masquerading
Defaulted container "cilium-agent" out of: cilium-agent, config (init), mount-cgroup (init), apply-sysctl-overwrites (init), mount-bpf-fs (init), clean-cilium-state (init), install-cni-binaries (init)
Masquerading:            BPF (ip-masq-agent)   [eth0]   <IP_ADDRESS>/16 [IPv4: Enabled, IPv6: Disabled]

If I disable bpf.masquerade, everything goes back to normal and I see the related cilium entries added into iptables:
# iptables -t nat -S CILIUM_POST_nat
-N CILIUM_POST_nat
-A CILIUM_POST_nat -s <IP_ADDRESS>/24 -m set --match-set cilium_node_set_v4 dst -m comment --comment "exclude traffic to cluster nodes from masquerade" -j ACCEPT
-A CILIUM_POST_nat -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/16 ! -o cilium_+ -m comment --comment "cilium masquerade non-cluster" -j MASQUERADE
-A CILIUM_POST_nat -m mark --mark 0xa00/0xe00 -m comment --comment "exclude proxy return traffic from masquerade" -j ACCEPT
-A CILIUM_POST_nat -s <IP_ADDRESS>/32 -o cilium_host -m comment --comment "cilium host->cluster from <IP_ADDRESS> masquerade" -j SNAT --to-source <IP_ADDRESS>
-A CILIUM_POST_nat -o cilium_host -m mark --mark 0xf00/0xf00 -m conntrack --ctstate DNAT -m comment --comment "hairpin traffic that originated from a local pod" -j SNAT --to-source <IP_ADDRESS>

# ip a l cilium_host
5: cilium_host@cilium_net: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 3a:47:8f:9e:fa:cf brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/32 scope global cilium_host
       valid_lft forever preferred_lft forever
    inet6 fe80::3847:8fff:fe9e:facf/64 scope link
       valid_lft forever preferred_lft forever

Current helm chart custom values, generating the high CPU:
# helm get values cilium -n kube-system
USER-SUPPLIED VALUES:
autoDirectNodeRoutes: true
bandwidthManager:
  enabled: true
bpf:
  masquerade: true
dashboards:
  enabled: true
directRoutingSkipUnreachable: true
enableCiliumEndpointSlice: true
envoy:
  enabled: true
  prometheus:
    serviceMonitor:
      enabled: true
  resources:
    limits:
      cpu: null
      memory: 128Mi
    requests:
      cpu: 10m
      memory: 128Mi
  rollOutPods: true
externalIPs:
  enabled: true
gatewayAPI:
  enableAlpn: true
  enabled: true
hubble:
  metrics:
    dashboards:
      enabled: true
    enabled:
    - dns:query;ignoreAAAA
    - drop
    - flow
    - httpV2
    - icmp
    - port-distribution
    - tcp
    serviceMonitor:
      enabled: true
  peerService:
    clusterDomain: cluster.local
  relay:
    enabled: true
    podDisruptionBudget:
      enabled: true
    prometheus:
      enabled: true
      serviceMonitor:
        enabled: true
    replicas: 2
    resources:
      limits:
        cpu: null
        memory: 128Mi
      requests:
        cpu: 10m
        memory: 128Mi
    retryTimeout: 10s
    rollOutPods: true
  tls:
    auto:
      certManagerIssuerRef:
        group: cert-manager.io
        kind: ClusterIssuer
        name: hubble-cluster-issuer
      method: certmanager
  ui:
    backend:
      resources:
        limits:
          cpu: null
          memory: 128Mi
        requests:
          cpu: 10m
          memory: 128Mi
    enabled: true
    frontend:
      resources:
        limits:
          cpu: null
          memory: 128Mi
        requests:
          cpu: 10m
          memory: 128Mi
    podDisruptionBudget:
      enabled: true
    replicas: 1
    rollOutPods: true
ingressController:
  enabled: true
ipMasqAgent:
  config:
    nonMasqueradeCIDRs:
    - <IP_ADDRESS>/16
  enabled: true
ipam:
  operator:
    clusterPoolIPv4PodCIDRList: <IP_ADDRESS>/16
ipv4NativeRoutingCIDR: <IP_ADDRESS>/16
k8sClientRateLimit:
  burst: 100
  qps: 50
k8sServiceHost: <IP_ADDRESS>
k8sServicePort: 6444
kubeProxyReplacement: true
l2announcements:
  enabled: true
  leaseDuration: 15s
  leaseRenewDeadline: 5s
  leaseRetryPeriod: 2s
l2podAnnouncements:
  enabled: true
  interface: eth0
loadBalancer:
  algorithm: maglev
  l7:
    backend: envoy
maglev:
  hashSeed: Ix0PdTRpMrKsQ5AK
  tableSize: 16381
operator:
  prometheus:
    enabled: true
    serviceMonitor:
      enabled: true
  resources:
    limits:
      cpu: null
      memory: 128Mi
    requests:
      cpu: 10m
      memory: 128Mi
  rollOutPods: true
prometheus:
  enabled: true
  serviceMonitor:
    enabled: true
resources:
  limits:
    cpu: null
    memory: 256Mi
  requests:
    cpu: 10m
    memory: 256Mi
rollOutCiliumPods: true
routingMode: native

Cilium Version
# cilium version
cilium-cli: v0.16.19 compiled with go1.23.1 on linux/arm64
cilium image (default): v1.16.2
cilium image (stable): v1.16.3
cilium image (running): 1.16.3

Kernel Version
# uname -a
Linux apollo 6.8.0-1014-raspi #14-Ubuntu SMP PREEMPT_DYNAMIC Wed Oct  2 15:14:53 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

Kubernetes Version
# kubectl version
Client Version: v1.30.6+k3s1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.6+k3s1

Regression
No response
Sysdump
cilium-sysdump-20241114-104607.zip
Relevant log output

Anything else?
No response
Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[x] I agree to follow this project's Code of Conduct

the udev and kernel add/remove events are migrated automatically to a different node.

Can you clarify this statement? Do you see consistent high CPU usage across all nodes, or only a subset?

@squeed This occurs always on a single random node, as detailed into OP. The K3s 8 nodes cluster I'm experiencing this issue is a fresh install and currently receives no traffic. As I mentioned earlier, if I cordon the affected node, the udev calls are automatically migrated to a different node, and the high CPU occurs into new node.

Setting the datapathMode to netkit (which requires kernel 6.8+) fixes the issue:
bpf:
  datapathMode: netkit
  masquerade: true

@squeed can you please add the feature/netkit label to this issue? I'm going to close it, because the problem is addressed.

Fixed with vlanBypass, the related settings I use:
bpf:
  datapathMode: netkit
  lbExternalClusterIP: false
  masquerade: true
  tproxy: true
  vlanBypass:
  - 1
  - 4

The root cause was using ipMasqAgent, I had to disable it and use vlanBypass instead:
ipMasqAgent:
  config:
    nonMasqueradeCIDRs:
    - <IP_ADDRESS>/8
    - <IP_ADDRESS>/16
  enabled: true


Performance: VimL compilation strategy

As part of the performance push, @jordwalke proposed the idea of caching the JS configuration via a raw VimL script:
From #351, quick summary of @jordwalke's idea:

To summarize my original position is that JS would be a great target for scripting this configuration as long as it can eventually be taken out of the startup path, generating a raw VimL config script, and that can be cached so that startup is very fast. Seems that this should be doable without anyone touching a line of vim script. In fact, this could even produce a highly condensed VimL cached boot script that's faster than any VimL you would be likely to write by hand.

My only suggestion is that for anything not dynamic (configuration, theming, mappings, settings, workspaces), that it "eject" to VimL which can be cached and loaded without ever needing to loads tons of JS.

There were also good discussions around this in #20 and #35 . I felt it deserved its own issue since it keeps being sidelined.
In terms of evaluating this proposal, it would be helpful to benchmark the loading times today for the pieces that could be VimL optimized (like config.js), and then try out the same strategy using a VimL script, and evaluate the delta so that we can have an understanding of the potential performance gain. We should also understand the exact bottleneck - for example, if File I/O is the bottleneck, we might not save much, if we have to check and see if the file has been changed anyway (either through a hash or metadata).
For cases like config.js, which is essentially a dictionary, serializing that to VimL would be relatively straightforward. We'd have to think about how to handle richer functionality, like if there was ever a case we have configuration options gated by a function - how would the VimL compilation handle that?
One other issue to consider is that VimL loading in Neovim is synchronous. There are potentially ways we could load the configuration in JavaScript asynchronously so that it does not block our time to render. Knowing the bottlenecks for our config loading can help us make the right tradeoffs here.. Hopefully we can get some time to pursue this soon!
As an aside, I'd also like to be able to easily get some of the performance data we need for this - right now it's not easy to answer questions like "How long does it take to load my config?" without digging into the chrome performance tools. React-native actually has a nice example of handling this - there is a built-in performance dashboard - something higher-level like this would be very helpful for Oni too to identify bottlenecks and help us make the investments in the right places.

I completely agree. It's bad to design under false/incomplete assumptions about performance.
My main point was that, it's critical to get all the UI blocking things out of the load path, as much as possible. It doesn't necessarily come down to VimL vs. JS performance, though we should also measure that - but often is more a matter of the massive amount of runtime dependencies JavaScript developers put in the require() code path. I worry that each color scheme or keyboard configurator plugin will pull in one little dependency on a utility library which brings in many more.
So - all that to say, even if the compilation strategy is not to target VimL, but to target JavaScript - having some sort of staging that allows a condensed representation is very desirable.
I don't know if VimL would be faster than executing remote neovim calls from JS. Perhaps if you could batch them all and send them all from JS, it would be faster than VimL, as long as you do some kind of staging/compiling to a condensed representation that sheds all the node modules dependencies.
It's difficult because no one dependency is the culprit. It's death by 1,000 paper cuts. I strongly suggest going the way of VSCode and saying that if you want to extend the UI, it has to be done according to some API/constraints that allows load time to be optimized. It can still be JS.
I did like the idea of a VimL target because I considered that it actually allows people to migrate to Oni. I would begin by writing my JS/json configuration, letting oni create the output VimL for configuring key bindings, colors, other things - and then use that in my Vim today. Of course when you go through the Oni configuration, you can get all these great UI managers for viewing/editing keybindings etc, but at least people can start migrating their vim config over today before they switch to Oni.
I like how you're thinking about this problem, and you're right we should get a sense of the actual performance differences. Are calls to NeoVim fast? Do they themselves have to go through VimL, or do they end up going right to native code? Can they be batched?

don't know if VimL would be faster than executing remote neovim calls from JS. Perhaps if you could batch them all and send them all from JS,

nvim_call_atomic exists for batching all RPC calls.

Are calls to NeoVim fast? Do they themselves have to go through VimL, or do they end up going right to native code

RPC is quite fast, actualvim proves this. VimL execution isn't involved unless you send VimL to be evaluated. But we currently don't have a lot of native functionality exposed directly as RPC functions.


New version: BoundaryValueDiffEqMIRK v1.0.1

Registering package: BoundaryValueDiffEqMIRK
Repository: https://github.com/SciML/BoundaryValueDiffEq.jl
Created by: @ChrisRackauckas
Version: v1.0.1
Commit: 41fd09c2d8cd5aa0c5c13bae211ce0b78fa3ccd2
Reviewed by: @ChrisRackauckas
Reference: https://github.com/SciML/BoundaryValueDiffEq.jl/issues/45#issuecomment-2414421506
Description: Boundary value problem (BVP) solvers for scientific machine learning (SciML)

[merge approved]


no CMakeLists.txt

Could you create a CMakeLists.txt for the new cmake versions?
(running on cmake 3.9.2)

CMakeLists.txt was added, could you check it?

thnx! will check and let you know

works, but did you use OpenCV win-pack or the source from github and built it with cmake as well?
I get a lot of linking issues (LNK1104) in VS 2017


/v1/disregard-application to not delete applicationData while deleting an application from ALT

As per the ApplicationLayerTopology/issues/196 , /v1/disregard-application should delete only the configuration information , but not the applicationData of the disregarded application.

The issue is closed with the chages in pull request https://github.com/openBackhaul/ApplicationLayerTopology/pull/248


"logout button" doesn't work.

See screenshot:

Either the form should submit to /authentication/logout/ or it should be an <a href='/authentication/logout/'>, i think.

IMO the form should submit a POST to /authentication/logout. GET's are not for actions. Will get on this soon.

Neither, it should be, and needs to be both. You will break some implementations that exists already.

Neither, it should be, and needs to be both.

Is that you, master Yoda? :-p

Haha! Yeah, I did say I'd help those that took over :smile:
OK, route needs to take GET & POST as you for certain reasons need to only rely on just hitting the route to logout, it's single function.
The buttons, I suck at HTML so go nuts… one of the big "debates" I kept having with "that" site @bobdenotter was consistency, as people want to put things like logout buttons places and they want to do it in Twig, and with the same blah blah blah as they use for the other blah blah blah … Totally happy for someone with proper HTML knowledge to make a call on that one! :+1:

Right, I mostly meant that the default should be a POST as that is (usually) not cached, while a GET might be. Sorta like the whole Steam caching debacle last Christmas.

Oh right… my only concern was removing the GET… been a while since I looked at the logic on that route, but from memory it doesn't are about the request (and its contents) beyond hitting the controller route … so latter problem should be mitigated. That should be reassessed though if someone has time! :smile:


Azure Event Grid 2022-06-15 API version support

In this PR, we are adding support for the new GA API version 2022-06-15. All the resources/operations included in this PR were already reviewed and approved by ARM team and were in use in previous preview API versions and not new ones. we simply promoting them to be ga. Here are list of preview API versions where these resources were added and used:

https://github.com/Azure/azure-rest-api-specs/blob/main/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/EventGrid.json
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/EventGrid.json
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-10-15-preview/EventGrid.json
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json

GA Features in this API version includes the following:

Partner Events resources and operations, which includes:

partnernamespaces
partnernamespaces/channels
partnerRegistration
partnertopic
verifiedpartners
partnerconfiguration

nested event subscriptions resources under, topics, domains, domain topics and partner topics.

PrivateLinks/PrivateConnections for partner namespaces.

dataResidencyBoundary for topic and domain

Inline Eventtypes for channels and partner topics

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[X] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
06/09/2022

When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
06/13/2022

If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[X] I commit to follow the Breaking Change Policy of "no breaking changes"
[X] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[X] Check this box if any of the following appy to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[X] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[X] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

@dw511214992 @ArcturusZhang Can you please help reviewing and approve these changes asap?
thanks

@JeffreyRichter Could you help to review and approve this x-ms-enum change breaking, then we can continue with the SDK release? We've discussed it through mail and swagger tooling team will going to add rule for such change.

Changing a property from a string to an enum-modeled-as-string does break SDKs because the method parameters and fields that used to be a string will now become a different data type preventing existing customer code from running/compiling.
Are you saying we want to make this breaking change now?
If so, then why?

This property is an enum before but without x-ms-enum. This version adds the extension and set model-as-string: true. It will cause the enum name change in Go SDK which is a breaking. I only know it is a fix for S360. @ahamad-MS Could you help to explain why we set the model-as-stirng flag?

Got it. It's a fix for S360 and this enum was handled as string before. @JeffreyRichter Could you help to add an approval for this breaking?