Node Template Unavailable to Creator - Forbidden by API

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):
Unsure

Create a Node Template with a User
Clone that Node Template with the same User

Result:
Cloned Template might be unavailable?
Other details that may be helpful:
I wanted to clone an existing node template and make some changes to it, so I did that and everything appears to be ok, it's even in the API (for other users to see) but the user that created it gets
{
"baseType": "error",
"code": "Forbidden",
"message": "nodetemplates.management.cattle.io \"nt-hkcl4\" is forbidden: User \"u-sm7rb\" cannot get resource \"nodetemplates\" in API group \"management.cattle.io\" in the namespace \"cattle-global-nt\"",
"status": 403,
"type": "error"
}

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.3.3
Installation option (single install/HA): HA

This problem is still present on Rancher 2.4.2.
I was able to reproduce the problem with a newly created standard user and newly created templates, without any extra annotations or rancher upgrade between node template creation and cloning.
It does not to seem related to https://github.com/rancher/rancher/issues/26946
Component | Version
Rancher | v2.4.2
User Interface | v2.4.14
Helm | v2.16.3-rancher1
Machine | v0.15.0-rancher35

This is reproducible in v2.4.2

Rancher single install with rancher generated certs
login as local admin
create user1 (Standard User only checked during creation).
logout admin
login as user1
go to node templates and create a new template (DO for example). og-template
Once the og-template template is created clone it as cloned-template1

There are a few things here we can do to check the error. Click View in API from cloned-template1
{
"baseType": "error",
"code": "Forbidden",
"message": "nodetemplates.management.cattle.io \"nt-xxxxx\" is forbidden: User \"u-xxxxx\" cannot get resource \"nodetemplates\" in API group \"management.cattle.io\" in the namespace \"cattle-global-nt\"",
"status": 403,
"type": "error"
}

Try creating a cluster with cloned-template1
Creating node pools will fail unable to find node template [cattle-global-nt:nt-xxxxx]: undefined
{"baseType":"error","code":"NotFound","message":"unable to find node template [cattle-global-nt:nt-xxxxx]","status":404,"type":"error"}

Refresh the browser in the Node Templates page, the cloned templates will disapear from the UI (because they won't get listed).
I don't see these cloned node templates listed in /v3/nodeTemplates/

This is not reproducible in v2.4-head

How about 2.4.3?

@sergiomacedo that version also has the issue, v2.4.4 will include the fix once it's released.


Feat/inspection api dpps

Summary
This PR will add a tab into the DPP view on which you can check all policies which affect selected DPP.
It will fulfil #283.
Screens

This is very cool! +1 from looking at the output (haven't reviewed the code)

Seems like there's a bug in the tooltips:


Implement integration smoke tests

Description
Changes proposed in this pull request:

implement the first shape of the integration tests

Related issue(s)

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

/test all


LLDP protocol version selection

Some devices support both V1 and V2 version of protocol.
Version 1 was defined in IEEE Std 802.1AB™-2005, while Version 2 was defined in IEEE Std 802.1AB™-2009.
With some limitations the two release are compatible (using the nearest bridge group MAC address 01-80-C2-00-00-0E in V2)
An attribute to select the running LLDP protocol version would be required.

Potential Proposal (to the LF ONMI x-haul call on 11th of December 2024):
The following enumeration (shall translate into identityref in YANG) class shall be added:

An LldpVersionType enumeration with comment "Versions of the LLDP protocol definition." shall be added
It shall comprise the following values:

VERSION_1_IEEE_802_1AB_2005
VERSION_2_IEEE_802_1AB_2009
NOT_YET_DEFINED

The following attributes shall be added:

LocalSystemData::supportedVersionsOfLldpList : LldpVersionType [*] = [NOT_YET_DEFINED] with comment "List of versions of LLDP that are supported by the device."
LldpConfiguration::activatedVersionOfLldp : LldpVersionType [1] = [NOT_YET_DEFINED] with comment "Version of the LLDP protocol that is enabled on the device."
RemoteStatistics::operationalVersionOfLldp : LldpVersionType [1] = [NOT_YET_DEFINED] with comment "Version of the LLDP protocol that is operational on the device."


Feature/httpcache combined rewriter + improvements

See: https://github.com/Adobe-Consulting-Services/acs-aem-commons/issues/1750
Also added a bugfix regarding the global invalidation rules not being added, and a slight MBean extension.

is this multiple features? looks like more than just mbean updates.

True. Edited the title.

Pull Request Test Coverage Report for Build 4050

65 of 99 (65.66%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 49.549%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bundle/src/main/java/com/adobe/acs/commons/httpcache/config/impl/CombinedCacheKeyFactory.java
14
18
77.78%

bundle/src/main/java/com/adobe/acs/commons/httpcache/config/impl/CombinedCacheConfigExtension.java
19
25
76.0%

bundle/src/main/java/com/adobe/acs/commons/httpcache/engine/impl/HttpCacheEngineImpl.java
4
10
40.0%

bundle/src/main/java/com/adobe/acs/commons/httpcache/config/impl/keys/CombinedCacheKey.java
28
46
60.87%

Totals

Change from base Build 4030:
0.2%

Covered Lines:
11974

Relevant Lines:
24166

💛  - Coveralls


Working with multiple observables: Any examples?

Since Angualrfire2 requires working with multiple observables and different data from Firebase.
it could be great if there were any example of Angularfire2 usage receiving data from different nodes.
I've been working on an application and created flat database structure as the guidelines, and this is what I ended up with:
ngOnInit() {
    //Subscription 1 (Service): Get project data
    this.projectService.getCurrentproject().take(1).subscribe(projectData => {
        console.log('Got project data.');
        //Subscription 2: Get project user IDS
        this.af.database.list('/project_roles/'+projectData.$key)
            .subscribe((userMeta) => {
                console.log('Got User IDS.');
                //Loop: For each user ID/Role ID, get the data
                userMeta.forEach((projectRole) => {
                    console.log("Got user meta");
                    //Subscription 3: role ID to role Name
                    this.af.database.object('/roles/'+projectRole.$value)
                        .subscribe((roleData) => {
                            console.log("Got user role name");
                            //Subscription 4: Get user info
                            this.af.database.object('/users/'+projectRole.$key).subscribe(user => {
                                console.log("Got user info");
                                user.role = roleData.$value;
                                this.users.push(user);
                            });
                        });
                });
            });
    });
}

Database example:

users : {
 user1 : {
  name : blah,
  email<EMAIL_ADDRESS>    }
  },

projects : {
  projectKey1 : {
    name : blahserve,
    category : blahbers,
    }
},

projectsLists:{

  user1 :{
    projectKey1 : true,
    projectKey2 : true
    }
},

projectsRoles :{

  projectKey1 : {
     user1 : provider,
     user2 : editor,
     ....
    }
  }

I ended up with 4 subscriptions, and 2 others from the service. I need to make 1 + (numUsers*2) calls to firebase in order to fetch my user list.

Call to projectsRoles/$projectID to get all user IDS of the current project.
Loop each USER ID+Role ID received:
Get the role name by roles/$roleID
get user information by users/$userID

Is it common to make so much calls to receive data from firebase?

Hey @theunreal what was your solution here?

No solution so far, I might have changed the db structure a bit

This one is killing me.
I need to go to groups/x/members where I am going to find some keys for members of that group.
What I really need though, is not the keys, but the actual Observables for those keys.  I need to return somekind of "FirebaseListObservable` and do what FirebaseListObservable does..... but, I need to build it myself.
I don't know how to go from groups/x/members keys into essentially a bindable async list and return it to be useful.
`users/userKey93489329482/`
`users/userKey39843904829/`

I burned days on it, My best result so far is to get the members keys, do a switchMap use the keys to create an array of Observables, and then combine those Observables together with combineLatest but this doesn't work for Angular2 for some reason.  I think it is because if members is now empty, combineLatest makes no sense and it is like Angular doesn't get informed (But the console log does!!).
I pretty much don't know where else to go with this.

I've found something that can be helpful:
[(http://www.clearlyinnovative.com/sample-firebase-angularfire2-with-angular-cli-application)]


Naming Collision (VERSION vs version/)

Mac OS x uses a case insensitive file system by default. Since version/ and VERSION are the same you can't clone this repo on Mac OS X.

I'm sorry, but this might be the funniest issue I have seen in a long time xD This made my day :)

This should be solved with #15


Refactor file loading to improve efficiency

This commit refactors the code to load data from the file only once instead of multiple times. Instead of calling  three times to extract different columns, the code now loads the file once and extracts all necessary columns from the loaded data array. This change improves code efficiency by reducing redundant file reads.
Changes made:

Load file data only once using .
Extract necessary columns from the loaded data array.

Closes issue #158

I changed the base branch, from main to develop. This is a recent change of workflow. After that, I'm seeing an issue with the commit to be merged, so I'm going to close and reopen this to see if that fixes it.

It seems that worked.


Adding logs forwarding methods

Added methods to list and create the logs forwarding destinations per environment:

create_log_forwarding_destinations()
get_log_forwarding_destinations()

@yogingale do you mind fixing the conflicts?

@pmatias Conflicts are now fixed :)

Thanks @yogingale !!


Project naming: unify ProjectReference and sbt shell

steps
lazy val fooCoreJVM2_12 = (project in file("core"))
   .settings(....)

lazy val core = fooCoreJVM2_12.toRef

In the shell...
> core/compile

expectation

toRef exists that explicitly does projectToRef, which returns LocalProject("fooCoreJVM2_12").
From sbt shell I can write core/compile.

notes
This would be an aliasing for both build.sbt and shell.

This trips me up on a near-daily-basis in community build work and other OSS work.
The context in which I hit it most often is the mismatch between set and everything else.
So for example in the Akka build I can show akka-cluster-metrics/scalaVersion but I must set clusterMetrics/scalaVersion := ....
These naming mismatches are especially common in cross platform projects — a typical example is that in many builds I can show fooJVM/bar but must set foo.jvm / bar := ....

I would be especially interested in knowing, as a workaround, if there is some way I can ask the shell what the set name is. Because normally what I end up doing is groveling around in build.sbt trying to figure it out.

just to collect some of the Twitter discussion here:
https://twitter.com/eed3si9n/status/1320008874120929291

not sure how much tooling can help if projects insist on making a kebab-case subproject names instead of using the normal camel cased names. sbt 0.12? had the dual names but project macro in 0.13 unified the Scala identifier and the shell name.

https://twitter.com/SethTisue/status/1320012594476806144

in community build work, I'm admittedly probably overexposed to builds that have been migrated to sbt version to sbt version without necessarily being updated to follow Current Best PracticesTrade mark sign

https://twitter.com/eed3si9n/status/1320014232721739776

yea. one generation's lowering-the-migration-barrier is another generation of historical appendage they need to re-learn. regardless, I'd be happy to help in thinking through possible solutions in this area, including possibly deprecating Oden

example PR where I try to do it the right way, including cross-platform naming: https://github.com/scala/scala-library-next/pull/20

steps
lazy val fooCoreJVM2_12 = (project in file("core"))
   .settings(....)

lazy val core = fooCoreJVM2_12.toRef

In the shell...
> core/compile

expectation

toRef exists that explicitly does projectToRef, which returns LocalProject("fooCoreJVM2_12").
From sbt shell I can write core/compile.

notes
This would be an aliasing for both build.sbt and shell.

Why toRef?  Why not just fix the original val name?  Aliasing and dealiasing is a risky business to get into, from the various compiler issues that have arisen from it...
I'm not sure if backticks work with set, but I've done things akin to set LocalProject("akka-cluster-metrics") / scalaVersion := ... and it works btw, @SethTisue.

I'm not sure if backticks work with set

It does:
> set `foo-bar` / scalaVersion := "1.2.3"
[info] Defining foo-bar / scalaVersion
[info] The new value will be used by foo-bar / Compile / compileBinaryFileInputs, foo-bar / Compile / compileSourceFileInputs and 41 others.
[info] 	Run `last` for details.
[info] Reapplying settings...
[info] Set current project to t (in build file:/s/t-sbt-backtick-set/)
> show foo-bar/scalaVersion
[info] 1.2.3


draw-on-your-screen: v6 -> v10

Motivation for this change
v6 is broken on current Gnome 3, v10 works well.
Things done

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

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

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

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

1 package built:

gnomeExtensions.draw-on-your-screen

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

1 package built:

gnomeExtensions.draw-on-your-screen


Support use of git version of youtube-dl

youtube-dl usually releases rapidly. However, recently there's a long gap between releases. Is it possible to use the latest git version when 'update' is clicked? I've shortly examined how 'update' works. Seems we need at least a git library for python and a local installation of py2exe to achieve such a feature. With this feature, youtube-dl-gui can also use non-official forks (other than rg3's) as the backend. Any opinion?

Hi @yan12125
Yes it's possible to use the latest git version. There are two ways i can think of to make this work, you can either build youtube-dl binary on your own and change the update url on the updatemanager.py module (we could aslo add a new options tab so you can choose different update sources) to point to your own binary OR you can build the binary dynamically during the update process as you suggested, but you probably will need git and on Windows you also need py2exe. So i don't think building the binary on the update process is a good idea because the average user won't have git and py2exe installed.
Also let me inform you that youtube-dl-gui can use non-official forks either by changing the update url as suggested or by changing the "youtubedl_path" options on the settings.json file to point to your own binary.

Thanks for the information about the setting "youtubedl_path"! I'll try it.
Maybe another way is to establish a build server to eschew the need of py2exe on client-side.

Notice that chaning the "youtubedl_path" wont change the update source. If you want to change the update source you need to edit https://github.com/MrS0m30n3/youtube-dl-gui/blob/master/youtube_dl_gui/updatemanager.py#L48 this line.
"Maybe another way is to establish a build server to eschew the need of py2exe on client-side."
That's what i meant when i told you that you can build your own binary. You basically build the binary, store it on a server and i could add a new options tab that will let you pick the update source but you will have to keep the binary updated else its pointless for most users.
This will also hold a security risk because a user may add a new "update server" which points to a malicious youtube-dl binary.

In my opinion, users have responsibility if they choose to use an unofficial youtube-dl. Use of gpg verification can eliminate the possibility of hijacked binaries, but that's another long story to implement it in youtube-dl-gui...
After all, all posiible solutions is so costly against the rare event - no new youtube-dl releases in a long time span. The feature to use the git version of youtube-dl sounds exciting but may not be practical. Thanks for the discussion and sorry if annoying.

@yan12125 Wouldn't more frequent official youtube-dl releases solve this problem? Have you asked about it on their tracker.

They usually do. By the way, such a feature is also useful for those who need an unofficial fork - not so many, though.

@yan12125 Anyway i am closing this issue i don't think there are many users that will use this feauture. Also i think that the devs of youtube-dl release quite fast at least faster than i do :P
If you want you can either build your own binary and store it at the "youtubedl_path" or change the update url on the updatemanager.py as suggested.
Feel free to make more suggestions.


ci: add Nix build on Linux and macOS

As promised in #120.
This introduces a new file default.nix at the top-level of the repository. If it is in the way, I can also hide it somewhere else and just move it to the top-level in the CI.
The Nix build is rather slow because it transitively fetches all of the dependencies and nothing is cached paired with general build slowness of Rust. It's possible to obtain some caching but it involves a third-party provider. GitHub itself does not offer a Nix binary cache (yet?).

The nix-build is run in a none interactive shell and I think that might be the issue.
git-branchless> test core::test_hooks::test_abandoned_commit_message ... ok
git-branchless> test core::test_hooks::test_interactive_rebase_noop ... ok
git-branchless> test core::test_hooks::test_merge_commit_recorded ... ok
git-branchless> test core::test_hooks::test_rebase_individual_commit ... ok
git-branchless> test core::test_hooks::test_fixup_no_abandoned_commit_message ... ok
git-branchless> test command::test_navigation::test_checkout_pty has been running for over 60 seconds
git-branchless> test command::test_navigation::test_next_ambiguous_interactive has been running for over 60 seconds
error: building of '/nix/store/71glgh79h0piw4kh9mlasw1w1z9f7p7m-git-branchless.drv!out' from .drv file timed out after 600 seconds of silence

@SuperSandro2000 The test spawns a PTY to run the test, so I don't think it affects the test whether or not it's been spawned in an interactive shell. In any case, I don't think that would explain the behavior of hanging forever.
@hmenke I wasn't able to resolve the issue on my end. If you can manually verify that the interactive behavior works (run git branchless checkout and confirm that it lets you select and check out a commit interactively), then we could set an environment variable or configuration flag and exclude PTY tests from the Nix build, and ship it that way.

The tests test_checkout_pty and test_next_ambiguous_interactive work perfectly when run interactively and I've verified that in a number of different settings when trying to make them fail outside the sandbox. For now I have disabled those tests and added a FIXME note.

@hmenke Thanks for the pull request! For now I've merged this. In the future, we're likely to add more PTY tests, and I think it would be easier if we didn't have to specify all of them in the Nix build file. Do you know if there's a way to pass the --cfg flag to rustc, or set an environment variable during compilation, so that we can indicate inline in the code which tests depend on a PTY?

@hmenke Hm, it looks like the Nix build failed immediately on master with this error:
  nix build --print-build-logs --show-trace --override-input nixpkgs github:NixOS/nixpkgs
  shell: /bin/bash -e {0}
  env:
    NIX_SSL_CERT_FILE: /nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt
error: unable to download 'https://api.github.com/repos/NixOS/nixpkgs/commits/HEAD': HTTP error 403 ('')

       response body:

       {"message":"API rate limit exceeded for <IP_ADDRESS>. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}

       … while fetching the input 'github:NixOS/nixpkgs'

       … while updating the flake input 'nixpkgs'

       … while updating the lock file of flake 'git+file:///Users/runner/work/git-branchless/git-branchless?ref=master&rev=eebd15d2901a9fe7384b05f67f0eb42874b28cc3'

Workflow run: https://github.com/arxanas/git-branchless/runs/4087952810?check_suite_focus=true
We should be able to perform an authenticated request using the workflow token we have during the run: https://dev.to/github/the-githubtoken-in-github-actions-how-it-works-change-permissions-customizations-3cgp
Do you know if it's possible to get nix build to perform an authenticated request using this token?

For some reason, the build is only failing on nix on macOS.

Very sorry about this. This is a generic problem with the macOS runners which all run on the same physical machine. I hope this fixes it: https://github.com/hmenke/git-branchless/commit/f4337c0f7f10e7beb26d2fe02d23fac937ff3a64

It's no trouble, I'm happy that we can support Nix :)

FYI: I’m packaging git-branchless for Alpine Linux and I also have problem with tests hanging forever on our CI.

@jirutka we ended up just skipping these tests since I wasn't able to reproduce them:
https://github.com/arxanas/git-branchless/blob/f680141a0d258799e644e228ca2111a9a43724ea/flake.nix#L43-L46
If you can get repro steps (maybe with a Docker image?), then file an issue and I can take another look. (Adding Nix to the setup is somewhat harder for me to debug since I'm not familiar with it.)


The Title of this document says "... DNS with Cloudflare" when it should Removing DNS service from Cloudflare

This article does the exact opposite of what it says it will do..  Removing cloudflare DNS service and migrating it to MS Office (which limits what you can do with the DNS.)  We need to host off of Office to have more flexibility in modifying a basic SPF record.

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

ID: b3fd88ec-5028-8c7e-1c48-fe3970385651
Version Independent ID: 4373ebdd-84fe-540f-2f4d-b1906f98c5c5
Content: Change nameservers to set up Office 365 with Cloudflare
Content Source: Office365-Admin/dns/change-nameservers-at-cloudflare.md
Service: o365-administration
GitHub Login: @pebaum
Microsoft Alias: pebaum

@officedocsbot assign @mypil

@RispIT - Thank you for submitting feedback.
I will get this issue over to the O365ITPro writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@RispIT I checked on the document but the actual title says "Change nameservers to set up Office 365 with Cloudflare" which is what the document reflects. May I have further clarification on the discrepancy? Maybe  a link if possible?

@RispIT - We would like to follow up. Can you please respond to the query from msjbja?
Thank you.

@RispIT - We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@officedocsbot close


Upgrade dependencies

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (70c0615) 67.03% compared to head (2ec649e) 67.28%.
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #419      +/-   ##
==========================================
+ Coverage   67.03%   67.28%   +0.25%
==========================================
  Files          80       80
  Lines        5496     5502       +6
==========================================
+ Hits         3684     3702      +18
+ Misses       1394     1384      -10
+ Partials      418      416       -2

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


Unbreak benchmark_decoders.py

benchmark_decoders.py was broken by #359
This PR unbreaks it. Longer term we could add a stronger check but this is good enough for now (and better than the non-throughput checks which doesn't even check for the length of the returned list or tensor).
Tested using:
python benchmarks/decoders/benchmark_decoders.py --bm_video_speed_min_run_seconds 1 --decoders=torchcodec_core_batch,torchcodec_core
video_files_paths=['/home/ahmads/personal/torchcodec/benchmarks/decoders/../../test/resources/nasa_13013.mp4']
video=/home/ahmads/personal/torchcodec/benchmarks/decoders/../../test/resources/nasa_13013.mp4, decoder=TorchCodecCore
video=/home/ahmads/personal/torchcodec/benchmarks/decoders/../../test/resources/nasa_13013.mp4, decoder=TorchCodecCoreBatch
[------------------------------------------------------------------ video=/home/ahmads/personal/torchcodec/benchmarks/decoders/../../test/resources/nasa_13013.mp4 h264 480x270, 13.013s 29.97002997002997fps ------------------------------------------------------------------]
                           |  uniform 10 seek()+next()  |  batch uniform 10 seek()+next()  |  random 10 seek()+next()  |  batch random 10 seek()+next()  |  1 next()  |  batch 1 next()  |  10 next()  |  batch 10 next()  |  100 next()  |  batch 100 next()  |  create()+next()
1 threads: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      TorchCodecCore       |            77.6            |              1001.7              |            53.7           |              722.6              |    17.5    |      246.0       |     22.6    |       228.0       |     67.2     |       777.4        |        20.4
      TorchCodecCoreBatch  |            67.9            |               978.2              |            66.9           |              813.5              |    24.5    |      279.9       |     26.1    |       255.8       |     76.3     |       765.7        |

Times are in milliseconds (ms).

The check seems fine to me - I don't think it's too important what the check is. We just have to call future.result() in order to make exceptions propagate. Putting it in an assertion seems the most reasonable thing to me, as if we call it in a void context, we'll probably get yelled at by the linter.


Add serialization for multisig descriptors

With this PR multisig descriptors can be parsed and serialized as well.

The descriptors overhaul done in  #412 added multisig descriptor serialization.

The descriptors overhaul done in  #412 added multisig descriptor serialization.


Fix problems with bazel query

Description:
At the moment it is impossible for me to import the Envoy repository into VS Code using the "official" Bazel plugin.
This is because it calls bazel query which fails on problems with the BUILD files in the api folder:
$ /usr/local/bin/bazel query ... --output=package --output=package
WARNING: The following rc files are no longer being read, please transfer their contents or import their path into one of the standard rc files:
/home/robert/dev/envoy/tools/bazel.rc
INFO: Invocation ID: 5a9ca157-f351-4424-ace6-524cb935659a
ERROR: error loading package 'api/envoy/config/metrics/v2': Unable to load file '//bazel:api_build_system.bzl': file doesn't exist

This PR fixes this by changing the load path.
Additionally I renamed the file examples/grpc-bridge/script/build to examples/grpc-bridge/script/build.sh as bazel query identifies this as a Bazel build file on OS X due to the case insensitive file system.
Risk Level:
If the build passes it should be fine.
Testing:
Test that the API still works.
Docs Changes:
None
Release Notes:
None
[Optional Fixes #Issue]
[Optional Deprecated:]

Thanks for the super fast feedback! :)
I updated the document, and also moved the script bootstrap to bootstrap.sh.
I think it makes sense to have these 2 shell scripts both have the extension .sh.

Please merge master to pick up https://github.com/envoyproxy/envoy/pull/5827.

@robertpanzer re: your local error, sometimes you get this if you clang-format is a different version to the one used in CI, so that might be a place to look. I don't personally use the precommit hooks.

@robertpanzer can you merge master?

Closing this out in favor of #5886 which just merged

@htuch Sorry I wasn't able to catch up as I was traveling over the weekend.
I just checked the latest master and the problem I reported still exists.
But maybe it's just me.

@robertpanzer @mergeconflict also uses vscode and was the author of #5886. Maybe you can sync on Slack to discuss the workflow?

I created https://github.com/envoyproxy/envoy/issues/5909 to track the problem that this PR tried to solve.


Version bump

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-15.html

Should we remove the mention of version minor numbers from the README? (Or, alternatively, update this minor version in the README accordingly?)

Should we remove the mention of version minor numbers from the README? (Or, alternatively, update this minor version in the README accordingly?)

Thanks, I did mean to keep it in the Readme - it's the most convenient place to check the current versions.


parse failed

running  npm run storybook inside a react project (called graph),
getting this:
><EMAIL_ADDRESS>storybook /Users/alexis/workspace/graph
> start-storybook -p 9001

React Storybook started on => http://localhost:9001/

webpack built 422a8a052280c45118d6 in 8576ms
Hash: 422a8a052280c45118d6
Version: webpack 1.12.14
Time: 8576ms
            Asset     Size  Chunks             Chunk Names
  admin.bundle.js  2.08 MB       0  [emitted]  admin
preview.bundle.js  2.06 MB       1  [emitted]  preview

[...]

ERROR in multi admin
Module not found: Error: Cannot resolve module 'stack-source-map/register' in /Users/alexis/workspace/graph
 @ multi admin

ERROR in multi preview
Module not found: Error: Cannot resolve module 'stack-source-map/register' in /Users/alexis/workspace/graph
 @ multi preview

ERROR in multi preview
Module not found: Error: Cannot resolve module 'webpack-hot-middleware/client' in /Users/alexis/workspace/graph
 @ multi preview

ERROR in ./.storybook/config.js
Module build failed: Error: Couldn't find preset "stage-2" relative to directory "/Users/alexis/workspace/graph/.storybook"
    at /Users/alexis/workspace/graph/node_modules/babel-core/lib/transformation/file/options/option-manager.js:372:17
    at Array.map (native)
    at OptionManager.resolvePresets (/Users/alexis/workspace/graph/node_modules/babel-core/lib/transformation/file/options/option-manager.js:364:20)
    at OptionManager.mergePresets (/Users/alexis/workspace/graph/node_modules/babel-core/lib/transformation/file/options/option-manager.js:348:10)
    at OptionManager.mergeOptions (/Users/alexis/workspace/graph/node_modules/babel-core/lib/transformation/file/options/option-manager.js:307:14)
    at OptionManager.init (/Users/alexis/workspace/graph/node_modules/babel-core/lib/transformation/file/options/option-manager.js:465:10)
    at File.initOptions (/Users/alexis/workspace/graph/node_modules/babel-core/lib/transformation/file/index.js:194:75)
    at new File (/Users/alexis/workspace/graph/node_modules/babel-core/lib/transformation/file/index.js:123:22)
    at Pipeline.transform (/Users/alexis/workspace/graph/node_modules/babel-core/lib/transformation/pipeline.js:45:16)
    at transpile (/Users/alexis/workspace/graph/node_modules/babel-loader/index.js:14:22)
 @ multi preview

^C
icecream:graph alexis$
icecream:graph alexis$ cat .babelrc
{
  "presets": [
    "es2015",
    "react",
    "survivejs-kanban"
  ],
  "env": {
    "start": {
      "presets": [
        "react-hmre"
      ]
    }
  }
}

Are you using NPM 3 or NPM 2? If it's NPM2 this will help - https://github.com/kadirahq/react-storybook/blob/master/docs/known_issues.md#potential-issues-with-npm-2

Not sure if my issue is the same, but I am getting:
ERROR in ./src/client/app/Components/Workouts.jsx
Module parse failed: /Volumes/Macintosh HD/Sites/hacknewsreader/src/client/app/Components/Workouts.jsx Line 1: Unexpected token
You may need an appropriate loader to handle this file type.
| import React from "react";
| import WorkoutsList from "./WorkoutsList.jsx";
| import {bindActionCreators} from "redux";
 @ ./src/client/app/Components/Stories/Workouts.js 9:16-42

The component works fine when served with webpack dev server Or after processed with webpack and served via regular server. Does storybook need some configurations passed to it?
npm version is 3.2.3, webpack 1.12.14

Try to use this with the latest version of storybook. Surely, we've fix this.


File "openbazaard.py", line 12, in      from api.restapi import RestAPI

I have latest version installed on a fresh Ubuntu 14.04 VPS.
It was running fine for few days. Yesterday I decided to run it again and got this:

~/OpenBazaar-Server$ python openbazaard.py start -da <IP_ADDRESS>
Traceback (most recent call last):
File "openbazaard.py", line 12, in
from api.restapi import RestAPI
File "/home/openb/OpenBazaar-Server/api/restapi.py", line 26, in
from market.contracts import Contract, check_order_for_payment
File "/home/openb/OpenBazaar-Server/market/contracts.py", line 13, in
from bitcoin import SelectParams
ImportError: cannot import name SelectParams

i haven't touched anything on this server in between when it was running fine and this.

actually I might have installed openvpn in between both runs but don't see how this could have broken OB?

Are you using a virtualenv?

well it's running on a VPS

What is this issue?

Have you done
pip install -r requirements.txt

I think I did use that during the installation. The installation went fine and it was working for few days.
I just ran this command again and here is what I got

~/OpenBazaar-Server$ pip install -r requirements.txt
Requirement already satisfied (use --upgrade to upgrade): protobuf==3.0.0b2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): Twisted==16.1.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): txrudp==0.5.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): pystun==0.1.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): bitcointools==1.1.44 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 5))
Requirement already satisfied (use --upgrade to upgrade): gnupg==2.0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 6))
Requirement already satisfied (use --upgrade to upgrade): pynacl==1.0.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): txrestapi==0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 8))
Requirement already satisfied (use --upgrade to upgrade): txws==0.9.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 9))
Requirement already satisfied (use --upgrade to upgrade): python-libbitcoinclient==0.4.3 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 10))
Requirement already satisfied (use --upgrade to upgrade): python-bitcoinlib==0.5.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 11))
Requirement already satisfied (use --upgrade to upgrade): pyopenssl==0.15.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 12))
Requirement already satisfied (use --upgrade to upgrade): miniupnpc==1.9 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): bleach==1.4.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 14))
Requirement already satisfied (use --upgrade to upgrade): service_identity in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 15))
Requirement already satisfied (use --upgrade to upgrade): zope.interface>=3.6.0 in /usr/local/lib/python2.7/dist-packages (from Twisted==16.1.0->-r requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): enum34 in /usr/local/lib/python2.7/dist-packages (from txrudp==0.5.1->-r requirements.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): psutil>=1.2.1 in /usr/local/lib/python2.7/dist-packages (from gnupg==2.0.2->-r requirements.txt (line 6))
Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python2.7/dist-packages (from pynacl==1.0.1->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): cffi>=1.1.0 in /usr/local/lib/python2.7/dist-packages (from pynacl==1.0.1->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): ecdsa in /usr/local/lib/python2.7/dist-packages (from python-libbitcoinclient==0.4.3->-r requirements.txt (line 10))
Requirement already satisfied (use --upgrade to upgrade): pyzmq in /usr/local/lib/python2.7/dist-packages (from python-libbitcoinclient==0.4.3->-r requirements.txt (line 10))
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python2.7/dist-packages (from zope.interface>=3.6.0->Twisted==16.1.0->-r requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): pycparser in /usr/local/lib/python2.7/dist-packages (from cffi>=1.1.0->pynacl==1.0.1->-r requirements.txt (line 7))
Cleaning up...
openb@1919-4187:~/OpenBazaar-Server$ sudo python openbazaard.py start -da <IP_ADDRESS>
Traceback (most recent call last):
File "openbazaard.py", line 12, in
from api.restapi import RestAPI
File "/home/openb/OpenBazaar-Server/api/restapi.py", line 26, in
from market.contracts import Contract, check_order_for_payment
File "/home/openb/OpenBazaar-Server/market/contracts.py", line 13, in

I have the same problem...
$ python openbazaard.py start -a <IP_ADDRESS>
Traceback (most recent call last):
File "openbazaard.py", line 11, in
from api.ws import WSFactory, AuthenticatedWebSocketProtocol, AuthenticatedWebSocketFactory
File "/home/.../OpenBazaar-Server/api/ws.py", line 10, in
import nacl.encoding
ImportError: No module named nacl.encoding

Hello, I have the same issue after a reboot of my VM without stopping openbazaard. I tried to update Openbazaar-server with a git pull and a pip install, same errors:
Traceback (most recent call last):   File "openbazaard.py", line 12, in <module>     from api.restapi import RestAPI   File "/home/stanlog/OpenBazaar-Server/api/restapi.py", line 28, in <module>     from market.contracts import Contract, check_order_for_payment   File "/home/stanlog/OpenBazaar-Server/market/contracts.py", line 13, in <module>     from bitcoin import SelectParams ImportError: cannot import name SelectParams
I hope the reason isn't the fact the db is corrupted. If that's the case, is there a command to repair it ?
Have you got any idea ? Is these tests to do to report you logs ? Thank you for your help.


corporate: Make process_initial_upgrade not reliant on customer with realm.

Updates process_initial_upgrade so that it doesn't directly rely on a customer having a realm or have hard-coded values related to Zulip Cloud (e.g. CustomerPlan.STANDARD for the plan tier or "Zulip Cloud Standard" for the plan name).
Probably will need a few rounds of updates/review. Making notes about my specific questions/thoughts in the code changes directly.

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

I made a small tweak and marked this to merge once CI passes, thanks @laurynmm! @prakhar1144 FYI.

This failed coverage I think because the plus plan isn't hooked up to this code path yet. Adding a temporary nocoverage comment.


API for Chrome

It would be great if there was an Api endpoint for the current user.
I have adapted the Chrome Extension, but unfortunately the endpoint is missing :-(
Is there a plan to provide this endpoint?
https://domain.com/api/v1/users/current

Yes, that's something that could be implemented, at least in a stripped down version. The docs of the original endpoint have some fields that don't make sense for hakatime (e.g has_premium_features, is_hireable etc)

has_premium_features: true  😈

has_premium_features: true  😈


Update MKLML dependency

Description
A follow-up of #12953
https://github.com/apache/incubator-mxnet/pull/12953#issuecomment-435057328
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

@mxnet-label-bot [pr-awaiting-review]

Any reason we are renaming the config from mkldnn to mklml? Was it always named incorrectly?

@azai91 Do you mean the change from MklDnn.cmake to DownloadMKLML.cmake? It was suggested by @lebeg in https://github.com/apache/incubator-mxnet/pull/12953#issuecomment-435057328. I agree that DownloadMKLML.cmake is more descriptive and accurate, considering this file is only used to download and unzip MKLML library.

@TaoLv you could just take the DownloadMKLML.cmake from here:
https://github.com/apache/incubator-mxnet/pull/11148/files#diff-6cb1b293ad44b6753da972e7c1606c8fR22
It has been tested on all platforms and can easily be updated for future releases.

@szha Is this good to merge? Hope it can catch the 1.4.0 code freeze along with MKL-DNN update.


changes in script for install verneMQ in Raspbian Buster

just change the sctript to this for new version of VerneMQ on Raspbian Buster
#!/bin/sh -e
# compiles and installs batman-adv and batctl (version 2018.1)
# create file: 'nano vernemqinstall' and copy this text
# then run: 'sh ./vernemqinstall'
# important not to sudo then vernemq without sudo possible
# reboot after install

sudo apt-get update
sudo apt-get install wget -y
sudo apt-get install libssl-dev -y
sudo apt-get install libssh-dev -y
sudo apt-get install ncurses-dev -y

cd /home/pi
wget http://erlang.org/download/otp_src_21.2.tar.gz

tar -xzvf otp_src_21.2.tar.gz
cd otp_src_21.2/
./configure

make -j 4

sudo make install
cd /home/pi
rm otp_src_21.2.tar.gz
sudo rm -R otp_src_21.2/

git clone https://github.com/larshesel/vernemq.git
cd vernemq/
make rpi32

exit 0

ah so so in the meantime you do not need to use the special branch anymore?
did you also try the batman scripts and did they work for you? or did you only use vernemq?

ah so so in the meantime you do not need to use the special branch anymore?

no, not anymore.

did you also try the batman scripts and did they work for you? or did you only use vernemq?

I haven't tested it, I just needed to compile and install verneMQ.

okay thanks for your info i will update the vernemq script.


Update List and edit of UserGuide.md

fixed #23

Codecov Report

Merging #27 (4e0245f) into master (4db3e7e) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #27   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


l4lb: fix inability to properly update service

When cilium-agent is restarted the restored backends are put into restoredBackendHashes set so that obsolete ones can be properly deleted only when k8s sync is done.
This is valid in k8s case, but when cilium-agent is running in standalone L4LB mode there is no way to do sync. There are only the ServiceAPI calls.
Therefore with the current code it is not possible to restart l4lb and remove specific backend from a service without previous service update call (to let l4lb know all the backends - simulate the sync). This should not be needed.
This commit fixes it in l4lb case.
l4lb: fix inability to properly update service after agent restart

related slack thread: https://cilium.slack.com/archives/C07BRCWT7GC/p1721913208811839

/test

Hey @oblazek, is this a concrete fix? From the description it sounded more like a cleanup fwiw. It would be great if the commit desc can be more elaborate on the concrete issue. If there is no issue, I think it might be better to leave as is. If there is an issue, the test needs to be against !option.Config.LoadBalancerExternalControlPlane instead.

Oh I had no idea this option exists! Yeah this was a specific problem which we had in production. The steps to reproduce are as follows:

stop the L4LB (can be done in the ./test/l4lb/test.sh)
remove/destroy 1 backend
start the L4LB
send an service update with the 1 backend removed, but the remaining untouched
the "removed" backend will still be present in the map

If you run 2 backends in the ./test/l4lb/test.sh  it can be easily reproduced...

Ok, makes sense, then lets change the condition to the one proposed for the correct fix. Thanks!

If you run 2 backends in the ./test/l4lb/test.sh it can be easily reproduced...

If you have a chance, perhaps it would be good to extend the test suite for this corner case?

If you run 2 backends in the ./test/l4lb/test.sh it can be easily reproduced...

If you have a chance, perhaps it would be good to extend the test suite for this corner case?

totally I can do that :)

:wave: Hey @oblazek and thanks for the fix!
Heads up that https://github.com/cilium/cilium/pull/34078 has been merged to main in the meantime. It removes the config property option.Config.LoadBalancerExternalControlPlane in favor of using Clientset.IsEnabled() directly.
To be able to read this information in the Service(Manager) we have to inject the k8s clientset via Hive when initializing the Service(Manager).
Following patch should help - would be nice if you could rebase and apply/verify. Thanks, and sorry for the inconvenience.
diff --git a/pkg/service/cell.go b/pkg/service/cell.go
index be68449afc..243bc16a9b 100644
--- a/pkg/service/cell.go
+++ b/pkg/service/cell.go
@@ -7,6 +7,7 @@ import (
 	"github.com/cilium/hive/cell"

 	"github.com/cilium/cilium/pkg/datapath/types"
+	k8sClient "github.com/cilium/cilium/pkg/k8s/client"
 	monitorAgent "github.com/cilium/cilium/pkg/monitor/agent"
 )

@@ -30,6 +31,7 @@ type serviceManagerParams struct {
 	MonitorAgent monitorAgent.Agent

 	HealthCheckers []HealthChecker `group:"healthCheckers"`
+	Clientset      k8sClient.Clientset
 }

 func newServiceInternal(params serviceManagerParams) *Service {
@@ -40,5 +42,5 @@ func newServiceInternal(params serviceManagerParams) *Service {
 		}
 	}

-	return newService(params.MonitorAgent, params.Datapath.LBMap(), params.Datapath.NodeNeighbors(), enabledHealthCheckers)
+	return newService(params.MonitorAgent, params.Datapath.LBMap(), params.Datapath.NodeNeighbors(), enabledHealthCheckers, params.Clientset.IsEnabled())
 }
diff --git a/pkg/service/service.go b/pkg/service/service.go
index db2e0bdaee..3da71c73dc 100644
--- a/pkg/service/service.go
+++ b/pkg/service/service.go
@@ -278,11 +278,12 @@ type Service struct {

 	backendConnectionHandler sockets.SocketDestroyer

-	backendDiscovery datapathTypes.NodeNeighbors
+	backendDiscovery       datapathTypes.NodeNeighbors
+	k8sControlplaneEnabled bool
 }

 // newService creates a new instance of the service handler.
-func newService(monitorAgent monitorAgent.Agent, lbmap datapathTypes.LBMap, backendDiscoveryHandler datapathTypes.NodeNeighbors, healthCheckers []HealthChecker) *Service {
+func newService(monitorAgent monitorAgent.Agent, lbmap datapathTypes.LBMap, backendDiscoveryHandler datapathTypes.NodeNeighbors, healthCheckers []HealthChecker, k8sControlplaneEnabled bool) *Service {
 	var localHealthServer healthServer
 	if option.Config.EnableHealthCheckNodePort {
 		localHealthServer = healthserver.New()
@@ -300,6 +301,7 @@ func newService(monitorAgent monitorAgent.Agent, lbmap datapathTypes.LBMap, back
 		backendConnectionHandler: backendConnectionHandler{},
 		backendDiscovery:         backendDiscoveryHandler,
 		healthCheckers:           healthCheckers,
+		k8sControlplaneEnabled:   k8sControlplaneEnabled,
 	}
 	svc.lastUpdatedTs.Store(time.Now())

@@ -1832,8 +1834,8 @@ func (s *Service) restoreServicesLocked(svcBackendsById map[lb.BackendID]struct{
 			svcBackendsById[backend.ID] = struct{}{}
 		}

-		// There is no way to synchronize backends in standalone L4LB case, so don't block their removal
-		if len(newSVC.backendByHash) > 0 && !option.Config.LoadBalancerExternalControlPlane {
+		// There is no way to synchronize backends in standalone L4LB case with external control plane, so don't block their removal
+		if len(newSVC.backendByHash) > 0 && s.k8sControlplaneEnabled {
 			// Indicate that these backends were restored from BPF maps,
 			// so that they are not removed until SyncWithK8sFinished()
 			// is executed (if not observed in the meanwhile) to prevent
diff --git a/pkg/service/service_test.go b/pkg/service/service_test.go
index 1131f51ee8..491808fbae 100644
--- a/pkg/service/service_test.go
+++ b/pkg/service/service_test.go
@@ -220,7 +220,7 @@ func setupManagerTestSuite(tb testing.TB) *ManagerTestSuite {
 }

 func (m *ManagerTestSuite) newServiceMock(lbmap datapathTypes.LBMap) {
-	m.svc = newService(&FakeMonitorAgent{}, lbmap, nil, nil)
+	m.svc = newService(&FakeMonitorAgent{}, lbmap, nil, nil, true)
 	m.svc.backendConnectionHandler = testsockets.NewMockSockets(make([]*testsockets.MockSocket, 0))
 }

@@ -730,7 +730,7 @@ func TestRestoreServiceWithStaleBackends(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			lbmap := mockmaps.NewLBMockMap()
-			svc := newService(&FakeMonitorAgent{}, lbmap, nil, nil)
+			svc := newService(&FakeMonitorAgent{}, lbmap, nil, nil, true)

 			_, id1, err := svc.upsertService(service("foo", "bar", "<IP_ADDRESS>", backendAddrs...))
 			require.NoError(t, err, "Failed to upsert service")
@@ -740,7 +740,7 @@ func TestRestoreServiceWithStaleBackends(t *testing.T) {
 			require.ElementsMatch(t, backendAddrs, toBackendAddrs(maps.Values(lbmap.BackendByID)), "lbmap not populated correctly")

 			// Recreate the Service structure, but keep the lbmap to restore services from
-			svc = newService(&FakeMonitorAgent{}, lbmap, nil, nil)
+			svc = newService(&FakeMonitorAgent{}, lbmap, nil, nil, true)
 			require.NoError(t, svc.RestoreServices(), "Failed to restore services")

 			// Simulate a set of service updates. Until synchronization completes, a given service
@@ -2261,7 +2261,7 @@ func TestRestoreServicesWithLeakedBackends(t *testing.T) {
 	m.svc.lbmap.AddBackend(backend5, backend5.L3n4Addr.IsIPv6())
 	require.Equal(t, len(backends)+4, len(m.lbmap.BackendByID))
 	lbmap := m.svc.lbmap.(*mockmaps.LBMockMap)
-	m.svc = newService(&FakeMonitorAgent{}, lbmap, nil, nil)
+	m.svc = newService(&FakeMonitorAgent{}, lbmap, nil, nil, true)

 	// Restore services from lbmap
 	err := m.svc.RestoreServices()

will do that! thanks :)

patch works like a charm @mhofstetter ;)

/test

Yeah, I wanted to refactor the l4lb test in a similar way to the nat46x64 (with functions). So will send that in a separate PR.


Update MD file on new branch 2017-11-08_05-23-35

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/content1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Removes unused crates

I saw that there are some crates that are not used (thanks to cargo udeps), this PR removes them.
Food for thought: maybe we want to add a CI stage for running cargo udeps?

Yes feel free to do so! I would want to keep CI runtime as low as possible though.


Add memory cache to our external cache class

Have no more comments from my side. Waiting for PR be in not draft mode


Perform a Rolling Update on a DaemonSet

The para says that

You may want to set .spec.updateStrategy.rollingUpdate.maxUnavailable (default to 1), .spec.minReadySeconds (default to 0) and .spec.updateStrategy.rollingUpdate.maxSurge (a beta feature and defaults to 0) as well.

But after I click the page, I find no .spec.updateStrategy.rollingUpdate.maxSurge and I can only see .spec.strategy. I also try in my env, the .spec.strategy.rollingUpdate.maxSurge' works but updateStrategy` does not.

error: error validating "dep-hello.yaml": error validating data: ValidationError(Deployment.spec): unknown field "updateStrategy" in io.k8s.api.apps.v1.DeploymentSpec; if you choose to ignore these errors, turn validation off with --validate=false

Is this document outdated? I can make a fix if it is.

Hi @Celthi
Both DaemonSet and Deployment use these 3 fields, linking to the deployment creates some confusion or misleading. I think we could link  .spec.updateStrategy.rollingUpdate.maxUnavailable and .spec.minReadySeconds to DaemonSet , same as .spec.updateStrategy.rollingUpdate.maxSurge
refer to this issue for more info: #31311

/good-first-issue

We only add that label for issues that have a barrier to entry that is zero or close to it.
Thanks, @sftim  for this information.

Actually, I forget to mention the page in my comment, This is the page we have to update: Perform a Rolling Update on a DaemonSet


Using @file:CompilerOpts("-jvm-target 1.8") doesn't work for --idea

running kscript --idea some_script.kts doesn't put the option in the gradle build file for the resulting temporary project.

It's unlikely that we can implement a mirroring of all possible compiler options onto gradle settings. Feel provide to provide a PR at least the most common one, which is indeed the jvm target.


Crash on any ragdoll

As soon as I press X to ragdoll or fall from a high place unreal crashes, I have an empty project not sure what's wrong
I'm on ue 5.3
and the plugin version is 4.13
this is the crash report
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000178

UnrealEditor_Engine
UnrealEditor_ALS!AAlsCharacter::StartRagdollingImplementation() [...\Plugins\ALS-Refactored-4.13\Source\ALS\Private\AlsCharacter_Actions.cpp:760]
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_Engine
UnrealEditor_ALSExtras!TBaseUObjectMethodDelegateInstance<0,AAlsCharacterExample,void __cdecl(void),FDefaultDelegateUserPolicy>::Execute() [...\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:650]
UnrealEditor_ALSExtras!TEnhancedInputUnifiedDelegate<TDelegate<void __cdecl(void),FDefaultDelegateUserPolicy> >::Execute<>() [...\Engine\Plugins\EnhancedInput\Source\EnhancedInput\Public\EnhancedInputComponent.h:110]
UnrealEditor_EnhancedInput

This only happens when creating a child of the B_Als_Character, using AlsCharacterExample works

I am having the same issue :( any workarounds here?

the parent of my character is AlsCharacterExample and im still crashing with the same error as soon as ragdoll triggers

Yeah im now getting a crash using AlsCharacterExample too, not sure what changed

the parent of my character is AlsCharacterExample and im still crashing with the same error as soon as ragdoll triggers. also making my character a child of B_Als_Character i also get the crash.

I tried inheriting from both AAlsCharacterExample and B_Als_Character and did not encounter this issue.
Can you please download the "Editor symbols for debugging" in Epic Games Launcher and provide me with more detailed text from the crash reporter?

I also had the crash issue on my custom character BP - which was simple copy of B_Als_Character - and in my case the reasopn for the crash was a missing physics asset. So make sure to have one in the mesh settings.

Fixed in db65de5ebe10e2b91b4122154ef4f739a47ffb91.


packedOwnership as lengthless array

_packedOwnership access was performing a sha3 op for every new index but as these are consecutive they can be stored as a regular array offset from a base storage location irrespective of the start token id. Only one sha3 is required instead of one per index used. Solidity effectively uses this technique for its arrays but also stores array length, which we don't need to do.
Optimised _packedOwnershipOf accordingly.
Pros
Reduces gas usage slightly in common functions but more significantly in bulk transfers (figures below).
Cons
22,772 additional deployment cost
Code readability
New
·····································|·························|·············|·············|·············|···············|··············
|  ERC721AGasReporterMock            ·  transferFrom           ·      44232  ·      85751  ·      54612  ·            4  ·          -  │
·····································|·························|·············|·············|·············|···············|··············
|  ERC721AGasReporterMock            ·  transferTenAsc         ·          -  ·          -  ·     295158  ·            1  ·          -  │
·····································|·························|·············|·············|·············|···············|··············
|  ERC721AGasReporterMock            ·  transferTenAvg         ·          -  ·          -  ·     295651  ·            1  ·          -  │
·····································|·························|·············|·············|·············|···············|··············
|  ERC721AGasReporterMock            ·  transferTenDesc        ·          -  ·          -  ·     299608  ·            1  ·          -  │
·····································|·························|·············|·············|·············|···············|··············

Previous
·····································|·························|·············|·············|·············|···············|··············
|  ERC721AGasReporterMock            ·  transferFrom           ·      44338  ·      86037  ·      54763  ·            4  ·          -  │
·····································|·························|·············|·············|·············|···············|··············
|  ERC721AGasReporterMock            ·  transferTenAsc         ·          -  ·          -  ·     297319  ·            1  ·          -  │
·····································|·························|·············|·············|·············|···············|··············
|  ERC721AGasReporterMock            ·  transferTenAvg         ·          -  ·          -  ·     298166  ·            1  ·          -  │
·····································|·························|·············|·············|·············|···············|··············
|  ERC721AGasReporterMock            ·  transferTenDesc        ·          -  ·          -  ·     303983  ·            1  ·          -  │
·····································|·························|·············|·············|·············|···············|··············

O.O
This will require a major version bump, cuz of the upgradeable repo.

Understand about the storage slot situ.
I've got another optimisation I need to experiment with which may make this less important (tho it'll still save gas). Will check tomorrow.  It would also affect storage slots though.


Return step stats

Fixes https://verygoodsecurity.atlassian.net/browse/VAULT-2994
Description of changes in release / Impact of release:

Change CPU Ticks to long
Change snapshot version to 1.0.0-SNAPSHOT
Add execution steps and cpu ticks to module globals on exit.

Documentation
(insert text here)
Risks of this release
Is this a breaking change?

[ ] Yes
[ ] No

If you answered Yes then describe why is it so
(insert text here if applicable)
Is there a way to disable the change?

[ ] Use previous release
[ ] Use a feature flag
[ ] No

Additional details go here
(insert text here if applicable)

Can we discuss modification of LibstarLark ?

All I did was change an int to a long for CPU ticks and then added a getter for it.
It only works on certain platforms so I wasn't able to test it. I don't think we'll wind up using it but it seems like an obvious change.


GitHub action to test Node js code

Feature request
Add GitHub action to test Node js code
Describe how this feature will be useful to our readers/ contributors
Helps to review code in PRs easily.

Added Node.js.yml file


Update styles.css

Changed font size to pt, it makes more sense. Also, minor colour adjustments were made.

pt is not considered good.
Even px is not considered optimal.
Percents and/or ems are preferred for font specs.
"It is best to use values that are relative to the user's default font size, and avoid absolute values such as lengths with units other than em or ex. However, if such absolute values must be used, px are preferred over other units because their meaning does not vary depending on what the operating system thinks (generally incorrectly) the resolution of the monitor is."
https://developer.mozilla.org/en-US/docs/Web/CSS/font-size

Alright. People usually tell me to use pt, but thanks for informing me!


the QR code scanner on browser tab doesn't recognise URLs

Reproduce.

On your PC, go to https://www.qrcode-monkey.com/
Use your mobile to scan the QR code there.
get the message "Invalid scan result"

Expected:

The browser launches the website  https://www.qrcode-monkey.com/

It has been fixed in the past. But possible PR didn't go through and got closed.

Works on latest master branch

Works in iOS

Duplicate of https://github.com/AlphaWallet/alpha-wallet-android/issues/1177


Initiating release of 0.17.1

Components:

https://github.com/submariner-io/shipyard/commits/release-0.17

Kinda weird that all CI is still queued...


UI plugins custom features

This PR enhances the UI mixin (which currently only can provide panels) with the capability to also integrate in lots of different other parts of the UI via a generic system. E.g. table actions, row actions, custom navigation entries, ... Currently only custom template editors and previews can be provided.
I'm currently working on this highly WIP label template drag and drop editor plugin: https://github.com/wolflu05/inventree-template-editor-plugin
TODO

[x] refactor user interface related API and serializer code into separate files
[x] basic plugin ui feature implementation
[x] integrate template editors into plugin system
[x] integrate template previews into plugin system
[x] provide exportable types
[x] add code editor sample to ui sample plugin to use in tests
[x] refactor ref out of the getFeature functions as parameter and instead provided them if necessary via the renderContext, and also have the ability to specify the return type to make the system more generic for other usecases (e.g. only return a list of navigation entries, ...)
[x] allow to specify the function name via the source file string divided by a colon
[x] bump API version
[x] add tests
[x] documentation

Very interesting, I like the approach @wolflu05!

This is ready for review now.

There seems to be no coverage on usePluginUIFeature, getPluginTemplateEditor, getPluginTemplatePreview and most changes on TemplateTable.tsx reported on codecov - is that an issue with reporting or are these changes not tested?

@matmair I was wondering about that too, but all of that code should normally be covered by my added playwright test. That's why I actually made the effort to activate the sample plugin and ensure the sample template editor is shown when doing template editing. And also make sure that passing the code back and forth between the editors works. But I have no idea why codecov does not display that. Maybe you can help me here?

Yeah, the template editors are not rendered on the initial component render, as first the data from the server has to be loaded, but that shouldn't cause any problems, as that's how we do it everywhere? But what's interesting though is if you look at the history of the codecov comment, the previous comment actually hasn't contained the missing tsx files, only the python file.

@matmair Maybe that's the same problem like https://github.com/mxschmitt/playwright-test-coverage/issues/22, but unfortunately there is no response on that issue . I guess you have used that template to build the coverage system? Maybe we need to try the official coverage solution: https://playwright.dev/docs/api/class-coverage

The code that is marked as uncovered is definitely being run:
Code marked as not covered:

I have added a throw new Error(...) here:

And in the output when running the tests, you can see that this error is raised.
So this is definitely a problem with the coverage reporting.

This is indeed very curious; do you think it is realistic that we could fix it ourselves or do we have to just ignore it for now?
I would really like to enforce code coverage rules but that will be hard with this not working

Not sure, I have no idea what's going on there, I even cannot get coverage to work locally.

@matmair can we merge this pr now, as the lines are actually be covered by the tests? Then you also have something to test coverage with your new approach.

I would prefer if we figure this out before, coverage of PUI, in general, is very slacking. We can go ahead and merge but than I would expect an issue to keep track of this.

As said before, I have absolutely no clue on this, why it's not counted. I have never done frontend coverage in any other project, so I'm no help here. @SchrodingersGat do you have any idea here?

@SchrodingersGat would you mind taking a review at this, so we can merge this? You can activate the sample ui plugin or install the inventree-template-editor-plugin for  testing.

@SchrodingersGat @matmair the coverage issue has been resolved. It was caused by await page.context().close(); as the last line of the playwright test. I have no idea why this was added. I have just extended the test and didn't keep care what this is doing. I have removed it now, and coverage seems to be reported fine now. So there is nothing in the way anymore.

@wolflu05 thanks for your work here, it is looking very promising! Hopefully we can have some fully integrated plugins working soon to test it out with


--ignore sbref doesn't seem to work as expected

What version of fMRIPrep are you using?
fMRIPrep version: 20.2.1
What kind of installation are you using? Containers (Singularity, Docker), or "bare-metal"?
singularity on HPC
What is the exact command-line you used?
 /usr/local/miniconda/bin/fmriprep --fs-license-file /work/freesurfer/license.txt /work/PhantomPain /work/PhantomPain/derivatives participant --participant-label testpilote3 -w /work/temp_data_PhantomPain --mem-mb 50000 --omp-nthreads 10 --nthreads 12 --ignore slicetiming sbref --fd-spike-threshold 0.5 --output-spaces MNI152NLin2009cAsym MNI152NLin6Asym --return-all-components
Have you checked that your inputs are BIDS valid?
yes, it does pass the bids-validator
Did fMRIPrep generate the visual report for this particular subject? If yes, could you share it?
visual report here: https://www.dropbox.com/s/f8awapf73qxflue/export_fmriprep_report_ignore_sbref.zip?dl=0
Can you find some traces of the error reported in the visual report (at the bottom) or in crashfiles?
nothing to declare
Are you reusing previously computed results (e.g., FreeSurfer, Anatomical derivatives, work directory of previous run)?
I have been re-using FreeSurfer results but took care of removing the temporary files before launching a new execution.

Hi FMRIPREP experts,
I would like to report an observation on the behavior of fmriprep when passing --ignore sbref  to the command line:

I was expecting this argument to actually ignore the sbref image when calculating the reference image which is used as a target for HMC. I don't think it is actually the case. Indeed, I am tracking down a misbehavior of mcflirt (see #2360 ) when using SBref as a target for realignment, which I think is maybe related to the difference of contrast between SBref images and the functional run.
To check that, I relaunched fmriprep while having removed the sbref images from my dataset. Indeed the realignment results were quite different.
Later, I noticed that it is possible to use the --ignore sbref argument, which looked more convenient that having to remove the SBref images. However, launching fmriprep this way, I obtained the same realignment parameters than with the sbref case, even if the reference image was indeed calculated from the non-steady volumes in the end.

Thanks for the report! I think I found the issue, and proposed #2370. If you're able to test in a development environment it would be great if you could verify whether it resolves your issue. Might be tricky on Singularity, though...

Thank you for your quick action!  I am not familiar with the development environment. I will check what I can do and will give you a feedback if I get something done to test that.

The simplest thing would be to use fmriprep-docker on a local machine:
pip install fmriprep-docker==20.2.1
fmriprep-docker --help
# Y to download default image
git clone https://github.com/nipreps/fmriprep.git
cd fmriprep
git checkout fix/ignore_sbref
fmriprep-docker --patch fmriprep=fmriprep/ [USUAL ARGS]

ok, thank you for help! I will do that and let you know how it goes.

Hi, sorry for the delay, it took me some time to access a computer where I could run docker.
I tried to run the patch you provided and it works now as expected, sbref images are well ignored when the argument --ignore sbref is passed. This helps when mcflirt with sbref gives a lot of zeros in the motion parameters .par file.

Thanks for following up! I've merged it, and the fix will be included in 20.2.2 and 21.0.0.


Scala 3.3.4 (#305)

Resolve #305

Thanks, did not know about the lts

@francisdb Thank you for merging the pull request! I appreciate your prompt review and assistance.


[Hotfix][utilities] Optimized codes

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds quick-start document.)
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Can we do a [MINOR] tag consistent with our current processes? Happy to discuss a HOTFIX label on the dev list and add to docs, if one of you are interested in making the case for it.


Duplicate documentation

Issue type
Wrong or misleading information
Problem description
There are 2 pages in the documentation describing project Properties
https://docs.gradle.org/current/userguide/build_environment.html#sec:project_specific_properties
https://docs.gradle.org/current/userguide/project_properties.html
It seems to me like the second link is older and probably should just be deleted as it doesnt have much/any additional information.
Context (optional)
No response
Page with the problem
https://docs.gradle.org/current/userguide/build_environment.html#sec:project_specific_properties

This is a valid documentation issue.

project_properties.html is an outdated page and is due to be removed in Gradle 8.12's documentation.


Run example graph_mobilenet with QASYMM8 data type and CL target

Output of 'strings libarm_compute.so | grep arm_compute_version':
arm_compute_version=v18.08 Build options: {'embed_kernels': '1', 'gles_compute': '1', 'arch': 'arm64-v8a', 'opencl': '1', 'neon': '1', 'asserts': '1', 'debug': '0', 'os': 'linux', 'Werror': '1'} Git hash=52ba29e936b8e711e8acdfe819e36f884d4f3fe1
Platform:
Operating System:
Hi,
I try to run example graph_mobilenet with QASYMM8 data type, but it would report error as follows:
$ graph_mobilenet --type=QASYMM8 --target=CL
ERROR in validate_all_nodes src/graph/detail/ExecutionHelpers.cpp:50: in validate_arguments src/core/CL/kernels/CLDirectConvolutionOutputStageKernel.cpp:51: ITensor data type QASYMM8 not supported by this kernel No such process
And running graph_mobilenet with dafault data type goes well:
$graph_mobilenet --target=CL
Could you help to support this issue? Thanks.

Hi @sqlin ,
what platform are you using?
thanks,
Gian Marco

Hi Gian,
I run it on MTK6763 platform, and the GPU is ARM T720.
Thanks,
Shiqin

Hi @sqlin ,
We have found the problem, thanks for opening the issue
Manuel

Closing. This should be fixed in the 19.02 release.


Update scanner status alert

Update wipe alert

Description 🗒
Modifies the alert on the site to reflect that prices are being updated

Examples 📸

Related Issues 🔗

 Expand for Help

Have questions about the review or deployment process? View our contributing docs
Need additional help and want to chat in real time? Join our community Discord

By submitting this pull request, you agree to our code of conduct

.deploy

.deploy