Unhandled Exception: MissingPluginException(No implementation found for method socketInit on channel flutter_socket_io)

Plugin works fine in android. Thank you. By far the most simple and easy to use socket plugins that I have tried.
But it does not work on iOS. Please find the exception below.
It would be helpful to get a solution for this issue.
Thanks.
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method socketInit on channel flutter_socket_io)
#0      MethodChannel.invokeMethod
package:flutter/…/services/platform_channel.dart:300

#1      SocketIO.init
package:flutter_socket_io/flutter_socket_io.dart:73

#2      SocketModel.onInitSocketIO
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method socketConnect on channel flutter_socket_io)
#0      MethodChannel.invokeMethod
package:flutter/…/services/platform_channel.dart:300

#1      SocketIO.connect
package:flutter_socket_io/flutter_socket_io.dart:83

#2      SocketModel.onInitSocketIO

I have the same problem. Have you solved it?

No I haven't and I am still waiting for a response.
Looking at all the issues that are created and there isn't a single response for them, I have a feeling there won't be any response to this as well.
So, I am actually exploring to use an alternate plugin that actually works on both iOS and android..
I will comment here, if I find one.

@mkrishnappa You can try this plugin.   https://pub.dev/packages/socket_io_client
Android and IOS both succeeded

@rellyCheng I had tried that plugin before using this plugin, had run into problems.. but yes, I will try again. Thank you for suggesting that plugin!

Follow the steps in the doc about installing on iOS.

@mkrishnappa have you solved this?, l'm already stuck on this for 3 days
and for android work fine and already released.

@mehdok  Thanks for your help with switf file that you share. now i can build with success on IOS.
but there is problem. i can connect to socket but  my subscribe event not working . there is no error.
on android work fine.
Did you manage to get response from subscribe event on IOS?
Thanks

@mehdok Thanks for your help with switf file that you share. now i can build with success on IOS.
but there is problem. i can connect to socket but my subscribe event not working . there is no error.
on android work fine.
Did you manage to get response from subscribe event on IOS?
Thanks

Sadly we decided to not using socket for our needs, so I didn't get the chance to test that swift code in action.

@mehdok thanks for the reply and to sharing your script, actually I've succeeded using your script with some modify, but I need little help to parsing the data (return value) to be an object ,
this is example of return value :
["on_join_chat",{"message":"Dwi Kresno baru saja bergabung","userId":"357492","user_type":"1","username":"Dwi Kresno","time":"08 Oct 2019 14:43:18","n_users":1}]
but I just need
{"message":"Dwi Kresno baru saja bergabung","userId":"357492","user_type":"1","username":"Dwi Kresno","time":"08 Oct 2019 14:43:18","n_users":1}
as an return value, could you help me please?

@dwikresno
I tried using the script @mehdok shared but I could not get pass the xcode build. Build failed.
Could you please share your modifed version of the file / files? It will be of great help. Have been stuck on this since 5 months.

@mkrishnappa try using swift 5, and change your runner-bridging-header.h looks like this
#import "SocketIOManager.h"
#import "GeneratedPluginRegistrant.h"
if you get error again maybe you should screenshot the error

@dwikresno Thank you for your response.
I made the changes that you suggested and I ran into these 3 errors during build.
/app8/ios/Runner/SocketChannel.swift:19:68: Argument type 'FlutterViewController' does not conform to expected type 'FlutterBinaryMessenger'
/app8/ios/Runner/SocketChannel.swift:56:107: Value of optional type 'NSMutableDictionary??' must be unwrapped to a value of type 'NSMutableDictionary?'
/app8/ios/Runner/SocketChannel.swift:61:109: Value of optional type 'NSMutableDictionary??' must be unwrapped to a value of type 'NSMutableDictionary?'
Unfortunately I never had any experience with swift or objective-c , I tried looking up over the internet to fix these errors but I could not.
Could you please help me to fix these errors?
Thanks.

@mkrishnappa open from Xcode open SocketChannel.swift and click the error and you will see fix button, but now I've changed to adhara socket io because I have problems to manage return value if I'm  using this plugin

@dwikresno Could you please let me know what changes you did to receive the response in subscribe event ? In IOS i am able to connect to socket and also send the message but in subscribe event not receiving the response. Please help me as you have already fix this issue. this is really urgent for me. Thanks a lot!

@devs4522  sorry late to respond, I've answer this question above of your comment, actually i'm not fix this issue yet, I changed my plugin to adhara socket io

@dwikresno Thanks for the help

@dwikresno Thanks for the help

Can be fixed with two changes -
Line 189 - SocketIO.m - [listener call:data[0]]; It's data and is sending the array

@dwikresno Could you please let me know what changes you did to receive the response in subscribe event ? In IOS i am able to connect to socket and also send the message but in subscribe event not receiving the response. Please help me as you have already fix this issue. this is really urgent for me. Thanks a lot!

So it errors out in json serialization in the subscribe event if you use @mehdok code!
Fix - add option .mutableContainers to the serializer
Second for parity with android code (it sends an array on ios) you can change Line 189 in SocketIO.m to [listener call:data[0]]; as a quick fix.
//pc

@dwikresno Could you please let me know what changes you did to receive the response in subscribe event ? In IOS i am able to connect to socket and also send the message but in subscribe event not receiving the response. Please help me as you have already fix this issue. this is really urgent for me. Thanks a lot!

So it errors out in json serialization in the subscribe event if you use @mehdok code!
Fix - add option .mutableContainers to the serializer
try? JSONSerialization.jsonObject(with: data!, options: .mutableContainers ) as? NSMutableDictionary
Second for parity with android code (it sends an array on ios) you can change Line 189 in SocketIO.m to [listener call:data[0]]; as a quick fix.
//pc

Same issue here


JWT application_name is mandatory?

The  "application_name" claim seems mandatory for authz to work, failing to pass the claim ina a JWT generates this trace
2018-04-12T22:39:15.888716Z	error	authenticate err: unable to interpret application_name: 	{"adapter": "apigee-handler.apigee.istio-system"}
I wonder if this is by design, since the clientId is basically the identifier of the application, maybe this can be an optional claim.

The driving factor here is that application name is static whereas client_id can be revoked.

LGTM


Fix black 20.8b1 update

#265 was formatted with black 19 🤦

Are you sure it's not a matter of line length only now?

I don't know what changed with black 20, but this is what I get when I update pre-commit to black20 and re-run it on all files

What is the command you issued to run it on all files please?
If I update and run it, don't have the same output..

pre-commit run -a
(note it also changes some whitespace in .md files which I ignored)

(asteroid) @asteroid$ python -m black --config=pyproject.toml --check asteroid tests
would reformat /home/mparient/PhD_Main/AsSteroid/asteroid/utils/hub_utils.py
would reformat /home/mparient/PhD_Main/AsSteroid/asteroid/filterbanks/multiphase_gammatone_fb.py
would reformat /home/mparient/PhD_Main/AsSteroid/asteroid/data/avspeech_dataset.py
would reformat /home/mparient/PhD_Main/AsSteroid/asteroid/models/publisher.py
would reformat /home/mparient/PhD_Main/AsSteroid/asteroid/masknn/convolutional.py
Oh no! 💥 💔 💥
5 files would be reformatted, 83 files would be left unchanged.

Ok, got it. I ran on the recipes as well, sorry.
I'll add it to the CI.

Does pre-commit run also consider pyproject.toml?

It's not clear to me, and it seems that it doesn't..


How can i set initial values?

Are you submitting a bug report or a feature request?

What is the current behavior?

What is the expected behavior?
Sandbox Link

What's your environment?

Other information

You can intiliaze values with :
useform({
  onSubmit: (values) => ({})
  initialValues: {
    key1: value,
    key2: value,
   ...
  }
})

or with
form.initialize({
    key1: value,
    key2: value,
   ...
  })

thanks!

A derived question: can I set initial values dynamically (e.g, after a field change, or a server request) -- thanks

You can use form.reset, this method can set form initial values when you want

sorry, how to set initialValues based on async?

Use form.reset in useEffect


Changing the form shape and managing the alerts messages

Please do not create a Pull Request without creating an issue first.
Related Issue or bug

Info about Issue or bug

Fixes: #[issue number that will be closed through this PR] #47 and #56
Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Code style update (formatting, local variables)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
A clear and concise description of it.
Checklist:

[x] Have you checked there aren't other open Pull Requests for the same update/change?
[x] My submission doesn't break any existing feature.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] New and existing unit tests pass locally with my changes.
[x] Any dependent changes have been merged and published in downstream modules.

Screenshots

Original
Updated

original screenshot
updated screenshot

Please review my PR @coding-geek21
Please add a level 3 to this PR, as I have changed the shape of the form and shown the form problems in the form of alerts and also updated the requirements.txt file and created two pages inside the code, which is considered that I have solved two problems together, so please give me a level 3 for this work
https://user-images.githubusercontent.com/56798376/171067554-f1973e63-73b7-4b6c-86c6-b00ceed75f2f.mp4

Please can u help me @Suvraneel @praveenscience
GSSoC is about to finish and so far my PR has not been reviewed, as I wrote many messages on the group for this project and also sent a message to the project admin and there is no response
What should I do?

Why did you delete .env_template file ? first add that then i will review your PR

Now, You can review again @coding-geek21

Can u review it again pls @coding-geek21


Schema {trim : true} not working

Mongoose 3.8.19
var mongoose = require('mongoose')
, Schema = mongoose.Schema;
var VenueSchema = new Schema({
name : {type : String, required : true, trim : true}
)
mongoose.model('Venue', VenueSchema);
When saving a new Venue with the name value set as "   hello " the resulting string is not trimmed.

In case anyone is looking for a patch for this:
mongoose-pre-save-trim.js
module.exports = function (next) {
  var paths = this.schema.paths;

  Object.keys(paths).forEach(function (field) {
    if (paths[field].instance != 'String') {
      return;
    }

    if (!paths[field].options.trim) {
      return;
    }

    var value = this[field];

    if (!value) {
      return;
    }

    var trimmedValue = value.trim();

    if (trimmedValue != value) {
      this[field] = trimmedValue;
    }
  }, this);

  next();
}

my-model.js
var mongoose = require('mongoose');

var MyModel = new mongoose.Schema({
  name: { type: String, required: true, trim: true }
});

// Remove once https://github.com/LearnBoost/mongoose/issues/2458 is fixed
MyModel.pre('save', require('./mongoose-pre-save-trim'));

mongoose.model('MyModel', MyModel);

sweet

Heya, you're going to have to provide a standalone example, I can't reproduce this. The below code:
var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017');

var Schema = mongoose.Schema;

var VenueSchema = new Schema({
  name : {type : String, required : true, trim : true}
});

var Venue = mongoose.model('Venue', VenueSchema);

var v1 = new Venue({ name: ' hello ' });

var v2 = new Venue({ });
v2.name = ' hello ';

console.log('1) "' + v1.name + '"');
console.log('2) "' + v2.name + '"');
v2.save(function(err, v) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(v));
  Venue.findOne({ _id: v._id }, function(err, v) {
    if (err) {
      throw err;
    }
    console.log(JSON.stringify(v));
  });
});

Gives the expected output:
1) "hello"
2) "hello"
{"__v":0,"name":"hello","_id":"54c11db58be799692214f0c7"}
{"_id":"54c11db58be799692214f0c7","name":"hello","__v":0}

On 3.8.19. Furthermore, we have test coverage for trim, so if its broken its in a non-obvious way.

I think you're right - this is working for me also. I think what I might have been seeing was it not working when using Venue.update({_id: id}, {$set: {name: "   hello   "}}) - which is expected.

Yeah $set won't support trimfor now, but 4.0 will have a pre('update') hook which you can use to get that same effect. Thanks for your patch though :)


Register Cmd+Up as cursor position change in editor history

VSCode Version: Code - Insiders 1.5.0-insider (666ed83a2d465257201cdac215a553ddee3cccbe, 2016-08-10T09:04:04.509Z)
OS Version: Darwin x64 15.6.0

Steps to Reproduce:

Open file
Go to line 10
Go to line 20
Go to line 30
Press Cmd + Up
Press Ctrl + -
Press Cmd + Up
Press Ctrl + -

It should jump to line 30, but it jumps to line 20
if you repeat Cmd + Up and Ctrl + - it will go to line 10
Compared it with Sublime and they are doing it right (it goes to line 30)
Use case is this:
Im working on given line and use something that is not imported - so I click Cmd+Up to add new import and then I want to go back - but often time it will go to some previous location making it dissorienting

@normalser what action is triggered when you press Cmd+Up or Cmd+Minus, are they "Go Back" and "Go Forward"?

@bpasero Cmd+Up is jump to first line and Ctrl+- is Go Back - but I tried the original issue and it seems like it's solved (working currently on my latest insiders). Thanks a lot


Sporadic Downtime of API Server/Controller Manager under App Load Testing

While preparing an HPA demo and an enablement team demo, we noticed the following problem (independently):
Setup
Simple app runs in one cluster that uses HPA or is scaled out manually. Load generated by means of a second cluster onto the LB of the app in the first cluster.
Observation
The scenario sometimes works like it should but sometimes:

API server sporadically fails to respond (noticed in active kubectl watches in the terminal)
HPA does nothing and on check, the controller manager completely stopped logging anything around the time the app came under stress

See also performance tests here https://jam4.sapjam.com/blogs/show/vKBhw5503MHfMQuId0b7t0.
And node simulator here https://github.com/eBay/Kubernetes/blob/master/docs/devel/kubemark-guide.md.
As for etcd, this could be interested here https://github.com/coreos/etcd/blob/master/Documentation/op-guide/hardware.md.
Question
Why should load on an app in the shoot influence the control plane in the seed? In both cases we were speaking only about a few additional pods (in the HPA case at first 4 before the cluster was full and horizontal cluster auto-scaling kicked in). Networking is cluster-local, i.e. is done on iptables and happens in the shoot. Where is the connection? How can this be? There should be no additional heapster metrics, just higher values. Is something blocking synchronously somewhere? Is there trouble with the VPN, but nothing should go over that channel, right?
Expected Behaviour
The control plane should be relatively uninfluenced by whatever load is happening in the shoot, otherwise we are going to have quite some trouble in ops down the road.
Thanks for the investigation.

We have seen that the resources alloted to the control plane are insufficient and things start failing.

FYI: Autoscale your Kubernetes Workload with Prometheus - Frederic Branczyk, CoreOS

I think we can close this issue now as we have understood the problem in the meantime. Our clusters can now be scaled to 100 nodes and when #16 is implemented, we hope to get to much higher cluster sizes as in principle we should have addressed the limiting factor.


Add a 'global_only' p2p configuration flag

This configures the libp2p transport to not dial addresses in the RFC 1918 range. The code is an adaptation of https://github.com/mxinden/kademlia-exporter/blob/master/src/exporter/client/global_only.rs with changes to replace nightly-only APIs.
With the flag on I've been able to run on a Hetzner box without being flagged for abuse, and to load wikipedia from https://ipfs.capyloon.org/ipfs/bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze/wiki/English_Wikipedia
Fixes issue #685

The code is an adaptation of https://github.com/mxinden/kademlia-exporter/blob/master/src/exporter/client/global_only.rs

That repo doesn't seem to have a license associated with it?  So it's hard to know who easily it can be integrated?

The code is an adaptation of https://github.com/mxinden/kademlia-exporter/blob/master/src/exporter/client/global_only.rs

That repo doesn't seem to have a license associated with it? So it's hard to know who easily it can be integrated?

Good point. I asked the author in https://github.com/mxinden/kademlia-exporter/issues/243

The code is an adaptation of https://github.com/mxinden/kademlia-exporter/blob/master/src/exporter/client/global_only.rs

That repo doesn't seem to have a license associated with it? So it's hard to know who easily it can be integrated?

Good catch @flub. I will add a permissive license. In the meantime, as the author of the code, you hereby have my approval to do whatever you like with it, without warranty of course.

@fabricedesre now that we have the OK from @mxinden can you update the code, so we can merge it?

@fabricedesre now that we have the OK from @mxinden can you update the code, so we can merge it?

Done!

Hello! The code that was previously hosted in this repository has been moved to n0-computer/beetle. beetle is in maintenance mode, but will still accept PRs.
If you are still interested in getting your PR merged, please re-open your PR on n0-computer/beetle.
Check out our blog post for more info on our new direction for iroh: https://n0.computer/blog/a-new-direction-for-iroh/


python312Packages.marimo: 0.7.20 -> 0.8.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.marimo is: Reactive Python notebook that's reproducible, git-friendly, and deployable as scripts or apps
meta.homepage for python312Packages.marimo is: https://github.com/marimo-team/marimo
meta.changelog for python312Packages.marimo is: https://github.com/marimo-team/marimo/releases/tag/0.8.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.8.0 with grep in /nix/store/dl6k613y6jfwaja39k876y74x6jrk7hd-python3.12-marimo-0.8.0
found 0.8.0 in filename of file in /nix/store/dl6k613y6jfwaja39k876y74x6jrk7hd-python3.12-marimo-0.8.0

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

marimo
python311Packages.marimo
python312Packages.marimo

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/dl6k613y6jfwaja39k876y74x6jrk7hd-python3.12-marimo-0.8.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.marimo https://github.com/r-ryantm/nixpkgs/archive/0277956439e894e78a1ef523cb564cdb3cdfabfb.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/0277956439e894e78a1ef523cb564cdb3cdfabfb#python312Packages.marimo

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/dl6k613y6jfwaja39k876y74x6jrk7hd-python3.12-marimo-0.8.0
ls -la /nix/store/dl6k613y6jfwaja39k876y74x6jrk7hd-python3.12-marimo-0.8.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

marimo (python312Packages.marimo)
marimo.dist (python312Packages.marimo.dist)
python311Packages.marimo
python311Packages.marimo.dist

Maintainer pings
cc @akshayka @dmadisetti for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.marimo is: Reactive Python notebook that's reproducible, git-friendly, and deployable as scripts or apps
meta.homepage for python312Packages.marimo is: https://github.com/marimo-team/marimo
meta.changelog for python312Packages.marimo is: https://github.com/marimo-team/marimo/releases/tag/0.8.3
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.8.3 with grep in /nix/store/ri6j3njx4bdnkjyrh8gr5sz57cmxiix6-python3.12-marimo-0.8.3
found 0.8.3 in filename of file in /nix/store/ri6j3njx4bdnkjyrh8gr5sz57cmxiix6-python3.12-marimo-0.8.3

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

marimo
python311Packages.marimo
python312Packages.marimo

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ri6j3njx4bdnkjyrh8gr5sz57cmxiix6-python3.12-marimo-0.8.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.marimo https://github.com/r-ryantm/nixpkgs/archive/98b81b6895fd9b68778b6739484bec0623947882.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/98b81b6895fd9b68778b6739484bec0623947882#python312Packages.marimo

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ri6j3njx4bdnkjyrh8gr5sz57cmxiix6-python3.12-marimo-0.8.3
ls -la /nix/store/ri6j3njx4bdnkjyrh8gr5sz57cmxiix6-python3.12-marimo-0.8.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

marimo (python312Packages.marimo)
marimo.dist (python312Packages.marimo.dist)
python311Packages.marimo
python311Packages.marimo.dist

Maintainer pings
cc @akshayka @dmadisetti for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

@NickCao I don't think geopandas is needed, used for non-crucial edge case in testing


Produce a test report for each release

@dasmanas add another step in the release process to add the test report for each release.


Allow root DB password and wiki DB username and password to be changed

Currently the root DB password is hardcoded to "mediawiki" and the wiki DB user is hardcoded to be the root DB user. This patch allows the root DB password to be set or generated. It allows a separate DB user to be set as the wiki user, also with a password that can be set or generated. As is currently done with the wiki admin password, if the user does not enter a password when prompted, a password is generated and saved to a file.

This generally looks great - but what is the need for the .root-db-password and .wiki-db-password files? I guess really my question is: are there other command-line tools that allow for this kind of password-file approach? I haven't heard of such a thing.

what is the need for the .root-db-password and .wiki-db-password files?
If the passwords are auto-generated, you need a way to know what they were set to. Arguably, you could go digging around in the db and web containers to find the values. They are also necessary to pass to the add wiki CLI command, so digging around in the containers would not be feasible for that.

I guess really my question is: are there other command-line tools that allow for this kind of password-file approach? I haven't heard of such a thing.
I followed the style already in the code for the wiki admin password. In that case, the user is prompted for the password. If they just hit Enter, a password is auto-generated and stored in a file. I chose to take the same approach for these two passwords, because it seemed it would be odd to do something different than what is already present in the code.

Okay - I knew that Canasta will save an auto-generated password to a file, but I didn't know that it can read from that same file. Does it? Or are there different circumstances for this set of passwords? Apologies for asking you to explain things I should probably know about Canasta already. :)

Okay - I knew that Canasta will save an auto-generated password to a file, but I didn't know that it can read from that same file. Does it?

Yes, when it is adding a wiki, it reads the admin password from the file so it can set the admin password on the new wiki to the same string it is set to on the original wiki: https://github.com/CanastaWiki/Canasta-CLI/blob/main/internal/mediawiki/mediawiki.go#L145


Where are BucketConfig's default buckets defined?

The documentation for class com.netflix.servo.monitor.BucketConfig promises the following:

By default we publish count (number of times the timer was executed), totalTime, and the counts and times for the following buckets: 0ms, 100ms, 200ms, 500ms, 1000ms 2000ms, 3000ms, 5000ms

I don't see where these default buckets are defined in the actual code. Are these defaults actually provided, or do I need to define the buckets myself?

Looking at the code you're correct. If you don't provide buckets you'll get a NPE. I'll fix the documentation to make it clear there are no default buckets. Thanks for the report.

Thank you. Do you have any example code that does set up the buckets like the documentation describes (or described)? I'll consider contributing a Buckets factory type if there are several useful recipes (e.g. uniformly sized buckets, exponentially growing buckets).

Can you describe how BucketTimer is used internally on Netflix, if it is used at all. I tried to use the BucketTimer but I fail do understand how can I use it like a percentile as described by the docs.

We are typically looking at aggregates that we can slice and dice by the tags. Percentiles don't work well in this mode because we can only support simple aggregates (sum, count, min, max). So you wind up getting locally computed percentiles that are then averaged to get a summary for some grouping such as cluster. To get an accurate percentile you really need to keep all the samples which isn't feasible for our operational monitoring where we have tight SLAs on when data should be actionable and need it to be cheap and fast to query.
We are experimenting with some approaches for maintaining percentile data while still being able to slice and dice with a reasonable overhead. However, it is still has more overhead than simple bucket counters. So it would likely get used sparingly for cases where the bucket approach doesn't work.
The bucketing approach is a simple way to handle some of the same use-cases as percentiles, but that works well with simple aggregates. Specifically we use them to:

Get an idea of the distribution when we know the primary range of values.
Track whether the distribution is within an SLA.

To give an example, we have a data pipeline that publishes data regularly and there is a bucket timer on the request. The simplest view is just looking at the count grouped by the buckets:

This graph is showing the overall number of requests and at the same time lets me see the latency distribution for the requests. The buckets in this case are showing the number of requests with a latency less than the bucket name. We make sure the bucket labels are lexically sortable so they are easy to order in a group by and a less than equal query operator can be used to group lower buckets.
We can also view that as a percentage graph:

The bucket approach doesn't let me know what a specific percentile is, e.g., I can't answer what is the 99th percentile for a given time. However, I can tell for a given time the percentile that is at the bucket boundaries. For tracking an SLA if you know the 99th percentile should be less than 4s, then you just need to ensure that the SLA value is one of the bucket boundaries. Then you can see how often you are within SLA with something like:

That is basically just the base query ANDed with a condition bucket <= 4s.
The main downside to buckets:

They aren't adaptive. To get the simple aggregation you need global agreement on the set of buckets so they need to be planned out.
Not as common so it isn't how most people are used to thinking about the problem.

Thanks for your very descriptive explanation, the concepts is much more clear now.

I didn't see a commit that reworded the documentation. While the truth is on record here, the documentation still may mislead other users of the library.


Add configuration to EvictionTask min and max delay

Expected behavior
I would like to be able to set the max and min delay times for the EvictionTask job, so i can ensure that the task will run every 5 seconds for example.
Actual behavior
The task will increase the time between checks to until a max of 1800 seconds.
Redis version
4.0.10
Redisson version
3.8.2
Redisson configuration
Single service configuration

You can use RScheduledExecutorService.scheduleAtFixedRate for this case

Usually there is no point to manually control the intervals of EvictionTasks since evictions also took place when you are trying to access expired elements.
The EvictionTask is used to catch those less often used elements to free up spaces. Based on the algrithm, longer the interval means lesser elements it has previously found to have expired. In such cases, there is no point to run the EvictionTask again in shorter intervals.


bump dependencies

Description
bumps our dependencies to the latest where possible

/ok-to-test sha=b6b71f9

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3001

Relevant Lines:
3793

💛  - Coveralls


Update terra silver

fix incremental logic for terra_silver

Don’t we want this to go to main?

On Aug 12, 2021, at 11:17 PM, James-Mission @.***> wrote:
Closed #48 https://github.com/FlipsideCrypto/sql_models/pull/48.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/FlipsideCrypto/sql_models/pull/48#event-5153959096, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADRABORWN6NJMNOCYCWY6RTT4S2IJANCNFSM5CC3YPQQ.


App register

As a developer I want to see what kind of apps others have created with APIs.
As a developer I want to promote my apps (using APIs available from Apinf.io and elsewhere) in apinf.io. Not mandatory.
As API Owner I want to see what apps utilize my APIs

When registering app, developer should give meta data:

name
short desc
icon
app store links / web url
select from apinf.io what APIs are used (easier than latter)
add links to APIs from elsewhere

If API in catalog is used in App (see above), then link (or icon + name) to App profile page should be automatically added to given API profile page.  If App uses multiple APIs then link to app should be added to all API profiles used in app.


Migration doesn't rollback after failed on OracleDB

Knex version: 0.20.1
Database + version: OracleDB 18.3.0
OS: Ubuntu
The issue is about oracledb support, tagging @atiertant
Hello knex team, my app is supporting Postgresql and already using several migration files. Now I'd like it to support OracleDB as well, and see an issue when trying to do the migrations.
When I executed a migration file, it failed midway but the scripts executed before that didn't rollback, as I can see it does with Postgres. For example, the migration file creates 5 tables but it fails at the 3rd table, then the two first table should be dropped.
Is there anything I can do to make it behaves like with Postgres?
Thanks for your support and sorry for my bad English.

Oracle DB like mysql does auto commit after each query that changes schema https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_1001.htm#SQLRF30001 . So schema updates cannot be rolled back automatically with those databases. You need to add error handling manually.
If you want a generic way to be able to rollback failed migration on oracle/mysql/sqlite you will need to take backup dump of the DB before running migration and if migration fails to restore that backup.


fix: testRecentPortal

Checklist

[x] the contributor license agreement is signed
[x] commit message follows commit guidelines
[ ] tests are included
[ ] screenshots are included showing significant UI changes
[ ] documentation is changed or added

Description of change

1

2

Passed 2 times. Now run 3rd.

Looks like the third run has passed. Let's merge! :tada:


Saved checkpoints not titled with descriptive information

Hello, I am training a ResNet50 model and designating a checkpoint folder to save models along the way with
learner.fit_onecycle(1e-4, epochs, checkpoint_folder='models')
However, in the checkpoint folder the saved model names only contain the epoch:

instead of including the epoch and validation loss as described in the core.py documentation. Is there a way to fix this?

Thanks  - this is a bug and will be fixed in the next release.


Add global groups feature flag for self-hosted instances

For self-hosted instances - particularly those hosted on a private server - sometimes we want a group to be visible to all users regardless of whether or not they've been given the link or have the group in their recent list.
This PR adds a GLOBAL_GROUPS_ENABLE feature flag which, when true, allows for a group to be set as global in its settings page and displays a list of global groups in the groups page.
Includes changes from my previous PR #161
Groups Page

Group Form

will close this and bring it back in line with main branch


Rayon related improvements

Closes #195
Breaking change: removed ParallelProgressIterator::progress due to it's confusing nature

I have been confused by the progress method before and support its removal.

Makes sense to me. Thanks for adding all the documentation!


UF-442: allow empty-password login

see https://issues.jboss.org/browse/UF-442

Can one of the admins verify this PR? Comment with 'ok to test' to start the build.

Can one of the admins verify this PR? Comment with 'ok to test' to start the build.

@porcelli could you please take a look on this?

Thanks @harlemblues for your contribution.


feat: support mongodb array update operator $[]

fixes #378
This pr adds support for the mongodb array update operator $[] by updating mongo-object to the newest version. mongo-object received an update lately specifically to support this feature in the way described in https://github.com/longshotlabs/simpl-schema/issues/378#issuecomment-689840464.
This pr only adds tests to show that the update operator works with this version of mongo-object.
Please feel free to move, change and extend the tests and edit the commit message.

Any chance to get this into simpl-schema? Being able to update multiple entries in an array is not a super rare use-case.


[Bug]: database change task do not show log

ODC version
424
OB version
all
What happened?
database change task do not show log when odc.task-framework.enabled=true

What did you expect to happen?
show log successfully
How can we reproduce it (as minimally and precisely as possible)?
create a new database change task when odc.task-framework.enabled=true in config_system_configuration metaDB
Anything else we need to know?
No response
Cloud
No response

this bug has fixed,
Refer PR: https://github.com/oceanbase/odc/pull/1513/files


Improve platform detection and reduce includes:

The existing platform detection code was derived from the old Beast library, which was, itself, derived from JUCE.
This commit removes that code and replaces it with the Boost.Predef library which defines a consistent set of compiler, architecture, operating system, library, and other version numbers.
For more on Boost.Predef, please see the Boost documentation. The documentation for the current version as of this writing is at: https://www.boost.org/doc/libs/1_71_0/doc/html/predef.html

1000 lines removed? Love it! I'll take a look tomorrow, but it looks like there are some legit compile error (easy to solve I'm sure). Here's one I saw:
../../src/test/beast/beast_CurrentThreadName_test.cpp:44:13: error: no viable conversion from 'const std::__cxx11::basic_string<char>' to 'bool'

        if (initialThreadName)

            ^~~~~~~~~~~~~~~~~

/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:816:7: note: candidate function

      operator __sv_type() const noexcept

      ^

1 error generated.

Codecov Report

Merging #3183 into develop will decrease coverage by <.01%.
The diff coverage is 94.11%.

@@             Coverage Diff             @@
##           develop    #3183      +/-   ##
===========================================
- Coverage    70.67%   70.67%   -0.01%
===========================================
  Files          689      689
  Lines        54121    54114       -7
===========================================
- Hits         38252    38246       -6
+ Misses       15869    15868       -1

Impacted Files
Coverage Δ

src/ripple/basics/random.h
82.75% <ø> (ø)
:arrow_up:

src/ripple/peerfinder/impl/Counts.h
53.93% <ø> (ø)
:arrow_up:

src/ripple/app/main/Main.cpp
40.67% <ø> (ø)
:arrow_up:

src/ripple/app/tx/impl/Transactor.cpp
87.11% <ø> (ø)
:arrow_up:

src/ripple/protocol/impl/ErrorCodes.cpp
75% <ø> (ø)
:arrow_up:

src/ripple/json/json_value.h
98.48% <ø> (ø)
:arrow_up:

src/ripple/app/misc/impl/ValidatorSite.cpp
94.75% <ø> (ø)
:arrow_up:

src/ripple/protocol/Serializer.h
83.03% <ø> (ø)
:arrow_up:

src/ripple/rpc/handlers/AccountTxOld.cpp
0% <ø> (ø)
:arrow_up:

src/ripple/protocol/impl/BuildInfo.cpp
91.66% <ø> (ø)
:arrow_up:

... and 15 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 4a1148e...967eb18. Read the comment docs.


Update CircleCI workflow

Codecov Report

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

@@           Coverage Diff           @@
##           master      #32   +/-   ##
=======================================
  Coverage   82.55%   82.55%
=======================================
  Files           5        5
  Lines         384      384
=======================================
  Hits          317      317
  Misses         67       67

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 d41a901...7a69afc. Read the comment docs.


Issue with k8s.io/docs/tutorials/kubernetes-basics/explore/explore-interactive/

This is a Bug Report

Hello, I've updated this issue after progressing in my understanding of the basics of kubernetes, and I can provide more information / perform more tests if needed.

Problem:
I'm running the tutorial locally on macOS 10.13.6. I have installed minikube with homebrew, and have minikube v1.11.0. The first time I started the cluster, I decided to use the docker driver. I guess this driver is used when I re-start the cluster.
In module 3, I don't get any answer from the pod through the proxy. Some information about the pod:
kubectl get pods
NAME                                   READY   STATUS    RESTARTS   AGE
kubernetes-bootcamp-6f6656d949-64cbd   1/1     Running   0          13m

echo $POD_NAME
kubernetes-bootcamp-6f6656d949-64cbd

The following request returns nothing:
curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/proxy

I confirm that the proxy is still running:
kubectl proxy
Starting to serve on <IP_ADDRESS>:8001

Also I confirm that the application runs on the pod:
kubectl exec -ti $POD_NAME -- curl localhost:8080
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-6f6656d949-64cbd | v=1

Btw I would like to report another small detail:
kubectl exec $POD_NAME env
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl kubectl exec [POD] -- [COMMAND] instead.

Proposed Solution:
I'm afraid I don't have a solution for the first problem.
For the other issue:
kubectl exec $POD_NAME -- env

Page to Update:
https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-interactive/
Module 3

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.3", GitCommit:"2e7996e3e2712684bc73f0dec0200d64eec7fe40", GitTreeState:"clean", BuildDate:"2020-05-21T14:51:15Z", GoVersion:"go1.14.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.3", GitCommit:"2e7996e3e2712684bc73f0dec0200d64eec7fe40", GitTreeState:"clean", BuildDate:"2020-05-20T12:43:34Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

Thanks a lot for these well written and useful tutorials!

/language en

/remove-lifecycle rotten

/remove-lifecycle rotten


refactor(app): add advanced setting gated link to raw labware offset data for jupyter/cli execution

Overview
Include generated python snippets that load labware/module and apply offsets in the labware setup step. Link is only accessible behind an app advanced setting.
Closes #9059
Coauthored by @sakibh
Changelog

add "get labware offset data" link to bottom of Labware Position Check explanation on the Labware Setup Step
link launches closable modal with simple ui to browse and copy generated python snippets for CLI/Jupyter offset application

Review requests

Upload a protocol and run LPC
With the advanced setting set to true, click the new "get labware offset data" link in the Labware Setup Step
copy the generated snippet for CLI execution and confirm that it functions properly
copy the generated snippet for Jupyter execution and confirm that it functions properly

Risk assessment
low, this feature is behind an advanced setting

oop there's a small merge conflict, ill fix real quick and push


Make initiate-publish.sh executable

Coverage remained the same at 69.135% when pulling a5c1709392220d536295c6ff2b195403c2bee70b on jegasmlm:master into 56160044cb71efc47d3d64b8f0bbd01ab8d60184 on kusanagi:master.

Coverage remained the same at 69.135% when pulling a5c1709392220d536295c6ff2b195403c2bee70b on jegasmlm:master into 56160044cb71efc47d3d64b8f0bbd01ab8d60184 on kusanagi:master.


FATAL EXCEPTION: IllegalStateException on release 1.4.0 and 1.4.1

On version 1.4.0 and 1.4.1 I receive this error for some Composables:

But on version 1.3.1, the same code works perfectly...

Any updates on this?

?

Hmmm. I have no idea. I don't have this error in any of my apps


Dependeces are corrected

I am closing this issue/PR, as it has been migrated to the new repo linked above in the comments. Thank you!


Let users request a list of their automatic subscriptions

The conditions for what constitutes an automatic subscription are complicated enough, but if I'm going to add Wikidot authoring and Crom as additional factors, it'll be almost too complex to document.
I can ease the user experience by letting users request a list of exactly what they're subscribed to.
Requesting a list should be entirely automated. One possible way for the user to communicate their intent would be to add a checkbox to their config. When notifier processes the request, it could edit the page and uncheck it.
The list should contain information about the post or thread AND the reason that it is autosubscribed. The list might also contain autosubscribed posts that have been unsubscribed from too.
I don't think there's much point batching requests until e.g. the daily channel. They should be processed in the next run. This would also make the feature appear responsive and would let users get and action the info faster.
There might be some benefit to staggering how many requests can be processed in a single run, as a way to protect against an attack where many requests are made simultaneously. In that case, requests should be processed in page edit order, stalest first.

After #85 this will no longer be possible, as I will not be storing automatic subscriptions except for those that are actively emitting a notification. It will be pointless for a user to specifically request this list because it will be identical to the notification digest.
Closing as wontfix.


Allow custom executors

Changed: GraphQL::Batch.use can take optional custom_executor

GraphQL::Batch::Setup and GraphQL::Batch::SetupMultiplex updated to hold reference to the executor class (defaults to GraphQL::Batch::Executor) as instance variables.

@dylanahsmith @eapache @swalkinshaw 👋 I'm looking to verify my approach here before continuing. See the linked Shopify/shopify PR for more context. Updated according PR review comments so far.

Thanks @dylanahsmith ! I've updated the PR in response to your suggestions. Any suggestions on how/if we should unit test this change? We don't have a SetupTest, nor coverage on GraphQL::Batch.use.
The only testable changes appear to be in GraphQL::Batch.use's forwarding of executor_class, and the expectation in start_batching that the passed-in Executor class instantiated.

Any suggestions on how/if we should unit test this change? We don't have a SetupTest, nor coverage on GraphQL::Batch.use.

Integration style tests would be preferred for something like that, since it is mean to be used through graphql-ruby rather than directly. We test GraphQL::Batch.use through use GraphQL::Batch right now

Updated. I ended up adding a gem dependency (mocha) to make assertions on some trivial behaviour defined on a custom executor.

@swalkinshaw I'm looking into this now. It seems to be because we call the instrumented method twice via finish_resolve https://github.com/Shopify/graphql-batch/blob/master/lib/graphql/batch/loader.rb#L101, because we call finish_resolve in both fulfill and reject: https://github.com/Shopify/graphql-batch/blob/master/lib/graphql/batch/loader.rb#L69-L79
It does this regardless of whether an existing collection id is queried in the query mentioned here.

Another follow-up change after some discussion with @swalkinshaw.
I think we can get around modifying around_promise_callbacks's signature to take a loader by simply keeping a reference to the loader we already receive in Executor#resolve. Will push up commit shortly.

Updated and ready for another review


Self modifying code?

Issues.md states:

Currently in EVM, the *CODECOPY opcodes allow regarding program pieces as data, meaning that a translation back must always be maintained, because in theory a program can modify itself while executing.

The machine state (including memory) is defined in "9.4.1. Machine State" and the execution environment (including program code) is "9.3. Execution Environment."
CODECOPY is defined in the OPCODES table and brings code from the latter to the former.
How are you seeing that a program can modify itself?

programs can't modify themselves, but the point still remains that a translation back to bytecode representation must be maintained for EVM execution (which makes reasoning about EVM code more difficult).

Understood, thank you.
Perhaps that line and the following can be improved. Such can be the scope of this issue.

While self-modifying code is nice and powerful in principle, we are not aware of any programming languages for the blockchain that encourage or even allow that.

Also, yes, difficult to reason.
FYI, here's is a (limited) Solidity decompiler I am writing. It runs on the blockchain.
https://github.com/ethereum/EIPs/issues/165#issuecomment-361804759
Thought you might get a laugh out of that.

Another point of view to consider is that while a contract cannot modify itself, it can construct an arbitrary fragment of code, CREATE it as a new contract, and then DELEGATECALL the contract it created to effectively execute arbitrary code. So I'm honestly not sure it's correct to claim that evm doesn't support self modifying code.

Fair enough, can execute arbitrary code. I suggested a slightly different wording here.
Fun stuff to look at for sure!


Removed duplicate quotes

Duplicate quotes were removed on just the text property. Attempted to keep JSON syntax intact.

Thanks:D

No problem :D


refractor: Using WebGL 2 and GLSL 300.

WebGL2

Added WebGL2RenderingContext typescript files
Switched extensions (draw_buffers & instanced arrays) with now standard functions

GLSL 300

attribute --> in
varying --> out in vertex shader, in in fragment shader
texture2D --> texture
added basic function to add fragment shader outputs (no validation checks!)
replaced gl_FragColor with v4f_fragColor
replaced gl_FragData[X] with v4f_fragDataX

Author:
https://github.com/nkemnitz

I signed it!

I signed it!

Finally merged https://github.com/DefinitelyTyped/DefinitelyTyped/pull/14835

Great that you got the webgl2 typings into definitely typed.  Are you still planning to revise this pull request?

Yes, I'm sorry is taking this long. Some deadlines are stopping us of working on this.

This PR can be closed. Merged via #101


emscripten build failure

Luau version = 0.616
Emscripten version = 3.1.56
Underlying c++ compiler = clang version 19.0.0git (https:/github.com/llvm/llvm-project 1d900e298449d43547312364751f730b7a0d07d1)
I added Luau to my CMakeLists.txt (depending only on Luau.VM since I want to precompile Luau scripts in advance and small javascript/wasm files) and use the following command to generate my build directory:
emcmake cmake . -B build-web   -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=1
I then compile using
make -C build-web
And it fails when compiling CodeAllocator.cpp with this message:
fatal error: error in backend: llvm.clear_cache is not supported on wasm
I think the issue is line 108 because it calls __builtin___clear_cache()
A simple fix would be to add some ifdefs around this call, but I don't know why it is necessary in the first place.
Is emscripten a supported target ? I don't need to enable codegen on wasm ( I believe the Luau interpreter is fast enough for my needs, even when running interpreted on the web )  so an indication on how to disable codegen entirely would fix my issue.

depending only on Luau.VM

There's probably some mistake you made in this part, as CodeAllocator.cppis a part of Luau.CodeGen and Luau.VM doesn't depend on that.

We have a Web build in CMakeLists.txt that uses Emscripten and you can even try it out here https://luau-lang.org/demo

shame on me, I didn't specify which target to build, so all targets were built no matter the dependencies.
thanks for your precious time anyway !


Adjust podspec for networking changes

Builds with CocoaPods (e.g. WebViewExample) were failing because of the recent networking changes. This change fixes that. It also cleans up the podspec a little to avoid some repetition and modernize a Ruby Hash literal.

Result of Integration 1
Duration: 7 minutes and 59 seconds
Result: Perfect build! All 184 tests passed. :+1:
Test Coverage: 60%

Result of Integration 2
Duration: 7 minutes and 30 seconds
Result: Perfect build! All 184 tests passed. :+1:
Test Coverage: 60%

There is a bit of a pathology in the podspec as it stands. By default, CocoaPods installs all subspecs of a pod. So as it stands, you get this with pod "Branch":
PODS:
  - Branch (0.17.0):
    - Branch/Core (= 0.17.0)
    - Branch/without-IDFA (= 0.17.0)
    - Branch/without-Safari (= 0.17.0)
  - Branch/Core (0.17.0)
  - Branch/without-IDFA (0.17.0)
  - Branch/without-Safari (0.17.0)

It builds all three subspecs into the same Branch.framework. I suspect this just happens to work because it merges the dependencies from all subspecs. I doubt that it actually increases the size of the library when using the pod, but I'm not sure.
I added a commit that sets s.default_subspec = "Core" to avoid this, so when you specify pod "Branch" you only get the default:
PODS:
  - Branch (0.17.0):
    - Branch/Core (= 0.17.0)
  - Branch/Core (0.17.0)

I'm not sure if subspecs are the best way to define build variants like this with CocoaPods. I didn't quickly find examples of open-source pods that do this sort of thing. I think the usual approach though with AdSupport is not to make it a dependency of the pod. Users are just instructed to add it to their projects if they want it. See the podspecs for Fabric and Crashlytics, e.g. No mention anywhere of AdSupport:
https://github.com/CocoaPods/Specs/blob/master/Specs/0/a/c/Fabric/1.6.12/Fabric.podspec.json
https://github.com/CocoaPods/Specs/blob/master/Specs/3/6/0/Crashlytics/3.8.5/Crashlytics.podspec.json
It would probably be much simpler to remove the subspecs altogether and have a single spec without these frameworks. If they are in the app, the SDK will use them. If not, nothing happens. I also think this probably matches what users have to do with manual integration and Carthage.


Limited tag capacity?

Is there a known limit on the number of tags that the control can handle?  They stop appearing in the control after about 80; however, it appears to recognize they are added because they no longer appear in the drop-down list.  I used CSS to limit the height and add a scroll bar, but taking this off doesn't make a difference on the capacity.  Here is the template I'm using.
<tags-input ng-model="techs" display-property="name" placeholder="Add a technician" template="tech-tag-template"
    replace-spaces-with-dashes="false" on-tag-clicked="tagClicked($tag)" on-tag-removing="canRemoveTag($tag)" on-tag-adding="canRemoveTag($tag)">
  <auto-complete source="loadTechs($query)"
    min-length="1"
    load-on-focus="false"
    load-on-empty="true"
    load-on-down-arrow="true"
    max-results-to-show="32"
    addFromAutocompleteOnly="true"
    template="auto-complete-template"></auto-complete>
</tags-input>

  <button class="btn btn-add-on" type="button" ng-click="clearTechs()" style="position:relative;left:-1px;"></button>
  <button data-toggle="modal" class="btn btn-add-on dropdown-toggle" type="button" href="{{viewLocked ? '' : '#modal-form'}}" style="position:relative;left:-1px;"></button>

I'm not aware of any hard limit. To be honest, I've never tried to add that many tags as you have.
I wonder if you could provide a plunker showing that behavior? You can use this template.

This issue was selected to be spring-cleaned by a script. More information can be found here.
If anyone thinks this was a mistake and this issue should be reopened, please leave a message below explaining why. Before doing so, please consider reading the CONTRIBUTING file.


New version: JGraph.Draw version 21.6.8

Pull request has been created with Komac v1.9.1 :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/116375&drop=dogfoodAlpha

/azp run


Reconnect attempts cause gRPC ManagedChannels to be orphaned

The reconnection attempts of the GrpcClient will orphan the previously created ManagedChannel when creating the new channel. This will cause exception logs like:
09:43:22,843 |- ERROR in io.grpc.internal.ManagedChannelOrphanWrapper - *~*~*~ Channel ManagedChannelImpl{logId=32, target=localhost:2113} was not shutdown properly!!! ~*~*~*
    Make sure to call shutdown()/shutdownNow() and wait until awaitTermination() returns true. -| java.lang.RuntimeException: ManagedChannel allocation site
	at io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference.<init>(ManagedChannelOrphanWrapper.java:93)
	at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOrphanWrapper.java:53)
	at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOrphanWrapper.java:44)
	at io.grpc.internal.ManagedChannelImplBuilder.build(ManagedChannelImplBuilder.java:630)
	at io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractManagedChannelImplBuilder.java:297)
	at com.eventstore.dbclient.GrpcClient.createChannel(GrpcClient.java:322)
	at com.eventstore.dbclient.SingleNodeClient.doConnect(SingleNodeClient.java:21)
	at com.eventstore.dbclient.GrpcClient.discover(GrpcClient.java:158)
	at com.eventstore.dbclient.GrpcClient.handleMsg(GrpcClient.java:207)
	at com.eventstore.dbclient.GrpcClient.messageLoop(GrpcClient.java:259)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

The gRPC implementation tracks channel creation internally by the ManagedChannelOrphanWrapper and will log this error if a channel instance is garbage collected without being properly shutdown beforehand.
This actually will not the connection retry of ES client to break but clutters the log files and shows an error in the implementation as all channels should properly be shutdown and all resources released before being garbage collected.

PR available:
https://github.com/EventStore/EventStoreDB-Client-Java/pull/164


Tutorials

Herd developers to write tutorials. Goal to have at least 3 meaningful tutorials with one clear super tutorial.

Note for future Peter: Close this once the Oracle example is done. (Or a comparable one)

TODO: Add hello_world example to docs tutorial section.

Complete to letter of the law. Will need weekly maintenance and regular new tutorials.

@potatodepaulo Being technically correct is the best kind of correct.


Error while shutting down state space for adapter

Describe the bug
This has happened a couple times now. Example.
ERROR [main] ERRORHANDLER java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.RuntimeException: Error while shutting down state space for adapter=spanner, space=default: com.google.cloud.spanner.SpannerException: UNKNOWN

To Reproduce
What was Expected
A clean error-free run.
Additional context
Add any other context about the problem here.
OS: ubuntu-24.-04
environment: n/a
version info (./nb --version or java -jar nb.jar --version): 5.21.4-release
Screenshots, if applicable
n/a

@msmygit @jshook Made changes to Space handling last week. I looked at your example error message and the space close path was part of these changes.


Version info

This PR addresses #7.

If you're doing git versions, you should consider using setuptools_scm.

Didn't know about that, thanks! But in this case, sticking to the simple solution that scipy uses seems easier for me (and no extra dependency).

Or, does this approach pose problems on some platforms? If not, I propose merging this - it can be improved later. :)

I can't personally speak to this approach. I personally would use setuptools_scm because it's less code to maintain, but it's your project, so it's up to you. As I won't be maintaining this, you should use the approach that you think is best.

I played with get_version() of setuptools_scm a bit and it seems really nice, but I like the version.py as generated by scipy (and could not achieve that with setuptools_scm easily enough - maybe my bad). Anyway, thanks for your feedback! I will merge this for now, and rebase #48.


Support for Poetry 1.5 Source Priority

Is there an existing issue for this?

[X] I have searched the existing issues

Feature description
We currently updated to poetry to version 1.5 that introduced source priority. This has caused unexpected errors in our dependabot build. After further investigation of the dependabot-core codebase we think that there is no support for the latest poetry changes. ie (priorities) or the format produced by poetry is incompatible thus causing issue.
This is especialy important since the deprication messages outline the following
Warning: In a future version of Poetry, PyPI will be disabled automatically if at least one custom source is configured with another priority than 'explicit'. In order to avoid a breaking change and make your pyproject.toml forward compatible, add PyPI explicitly via 'poetry source add pypi'. By the way, this has the advantage that you can set the priority of PyPI as with any other source.

Addiitonlay suggesting to avoid using the secondary property and move over to the priority based sources.
Warning: Found deprecated priority 'secondary' for source ‘foo’ in pyproject.toml. Consider changing the priority to one of the non-deprecated values: 'default', 'primary', 'supplemental', 'explicit'.

I have raised an bug but I believe this could be escalated to a feature request : https://github.com/dependabot/dependabot-core/issues/7431

[[tool.poetry.source]]
url = "https://git.agilicus.com/api/v4/projects/328/packages/pypi/simple"
name = "common"
priority="primary"

[[tool.poetry.source]]
name = "PyPI"
priority = "primary"

this causes dependabot to break.
--------Check platform/messages gunicorn 20.1.0
/bot/vendor/ruby/3.1.0/gems/dependabot-python-0.232.0/lib/dependabot/python/helpers.rb:23:in `run_poetry_command': The Poetry configuration is invalid: (Dependabot::SharedHelpers::HelperSubprocessFailed)
  - [source.0] Additional properties are not allowed ('priority' was unexpected)
  - [source.1] Additional properties are not allowed ('priority' was unexpected)
  - [source.1] 'url' is a required property

is anything happening here?


Warning: [react-router] You cannot change ; it will be ignored

Hi,
I still get this error while trying out this sample. Could you get it work without. I saw many threads about it at RR repo, but none worked yet.
ref: https://github.com/reactjs/react-router/issues/2704#issuecomment-174067923
thanks,
bsr.
 It may be because of <AppContainer> being rendered.


Issue 1852: Upgrade our JUnit dependencies from 5.4.0 to 5.7.0

Pull Request Description
This pull request closes #1852
Acceptance Test

[x] Building the code with mvn clean install -Dintegration.tests still works.
[x] Running mvn spring-boot:run in the strongbox-web-core still starts up the application correctly.
[x] Building the code and running the strongbox-distribution from a zip or tar.gz still works.
[x] The tests in the strongbox-web-integration-tests still run properly.

Questions

Does this pull request break backward compatibility?

[ ] Yes
[x] No

Does this pull request require other pull requests to be merged first?

[x] Yes, please see strongbox/strongbox-parent/pull/112
[ ] No

Does this require an update of the documentation?

[ ] Yes, please see strongbox/strongbox-docs#{PR_NUMBER}
[x] No

Code Review And Pre-Merge Checklist

[x] My code follows the coding convention of this project.
[x] I have performed a self-review of my own code.
[ ] I have commented my code in hard-to-understand areas.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] New and existing unit tests pass locally with my changes.

@carlspring, @steve-todorov : This is ready for review.

Thanks for this!
I'll be closing this pull request, since it has now been succesfully tested.


Update context-providers.md

Description
Copy and pasted the sample of Jira from the docs and "token" had an extra unexpected space
Checklist

[] The relevant docs, if any, have been updated or created

Screenshots
[ For visual changes, include screenshots. ]
Testing
[ For new or modified features, provide step-by-step testing instructions to validate the intended behavior of the change. ]
[ For new UI features, ensure that the changes look good across viewport widths, light/dark theme, etc ]

Thanks for the fix!


Allow words to be a callable for WordCompleter

so a hook can be called to fetch the word list under different context

@jonathanslenders Any chance this feature could be mainlined? I modified this to support fetching of auto-complete list based on the current context (e.g., the current selected database) used in this project of mine: https://github.com/kevinjqiu/cdbcli
The calling code is here: https://github.com/kevinjqiu/cdbcli/blob/master/cdbcli/completer.py#L50-L53
If prompt-toolkit already supports this feature through other means, let me know and I will update my code to use that. Otherwise, please consider mainline this as I do not want to vendor prompt-toolkit inside my project.
Thanks!

Hi @kevinjqiu,
Sorry for replying this late, I have spend most of my time lately with a few bugs.
Anyway, I could merge this. (after some changes -- I'll comment in the pull request.) However, keep in mind that prompt_toolkit is meant to be extensible. This means that if somebody needs a custom completer, he can create a custom Completer class and implement that interface. There's no need to vendor prompt_toolkit, just for this.
But I think I'll merge this. Also, cdbcli looks like a nice project!

@jonathanslenders No problems, and thanks for the reply.
I've addressed your feedback here https://github.com/jonathanslenders/python-prompt-toolkit/pull/344/commits/62ba67fa3eedd31f2d9aa457ea683ed80c822376
The reason I didn't create a custom completer is that in my use case, WordCompleter is sufficient after the minor change to make the fetching of word list context-aware, which I feel is a nice addition to the WordCompleter class.
Thanks for creating prompt-toolkit! It's an awesome library.

@jonathanslenders Any updates? I have addressed your code review feedback.

This has been merged here (with some changes): https://github.com/jonathanslenders/python-prompt-toolkit/commit/edeb20bebba4bc8d2932654d046a1253cc218b78
Sorry it took that long!
I kept words as an argument instead of get_words, because that's more consistent with the rest of prompt_toolkit 2.0.
Thanks again for proposing this change!


Going back unreliable on basic example

Going back twice (click twice) on basic example: https://dot-and-box.github.io/dot-and-box/actions/actions_basics
does not make state back to start

fixed with commit c0a9f7783abe42c1cd9b88bc701c41434d41ab6e


Create a summary file to bulk annotate OpenNeuro pheno data

We need a file / format that for a given list of OpenNeuro / datalad BIDS datasets

lists each column of participants.tsv (with description from .json if available)
lists the discrete values
has a column where we can enter controlled term IRIs to signify that the col/val combo should be mapped to this term

So that we can go and bulk annotate OpenNeuro datasets without having to repeat a process on a per dataset level.
Tasks we probably need to do:

[ ] Create a script that can get and process a number of ON datasets
[ ] Get as little data as possible (e.g. use datalad)
[ ] Find the participants.tsv file in each dataset (and participants.json if available)
[ ] Do some basic filtering on these files to exclude bad data / data we don't like
[ ] Create a spreadsheet that allows us to manually annotate all of this:

dataset ID,  column name, column description (if available)
identify discrete variables and show unique elements
add a column for controlled terms (this is where annotation should go)
identify continuous variables (only age, exclude non-age columns - or transform if feeling generous)

@surchs
would something like this help: https://github.com/Remi-Gau/list_openneuro_derivatives/blob/main/openneuro.tsv

Yes, that looks perfect. Thanks! :tada:

Since Remi has already done 95% of this issue, I'll just keep it as one thing here.

One thing I can do is create a mini-openneuro where I have one folder per dataset with only the participants.tsv and participants.json of each dataset.
Would this help.
This could even be a git repo.

You mean like a big single repo with all of these guys: https://github.com/OpenNeuroDatasets?

@Remi-Gau coud you take a look at the example of a "annotation-tsv" I added above and see if the issue is clear enough now to be worked on? If so, you can move it to Spec-done.

OK I think I get it.
Note that I will likely add an extra column to dump the content of the participants.json if there is one: for example for the description of a column or of a level.

@surchs
I think I may need to meet with you and whoever else is interested on this one because it seems that those 2 points are not as trivial as they sound.

identify discrete variables and show unique elements
identify continuous variables (only age, exclude non-age columns - or transform if feeling generous)

I am happy to spend more time on this but before I do I would prefer to check in with the rest of you

following discussion today it may be worth as a first pass to make just an "inventory" of all the columns available in each participants.tsv.
@surchs
Does that mean a respec of the top message of this issue?

Yes please! We try to keep the description up to date as we figure out the issue!

@surchs
most of this got done by #6 but there are a few things left.
should I just close this issue and open a new one to go directly in specify active?

thanks for clarifying!


Google maps API key error

Hi @StephenGrider,
Not sure if it was left in on purpose but this line https://github.com/StephenGrider/ReduxSimpleStarter/blob/master/index.html#L6 makes a red warning appear in the console about the google maps API key not being set.
I would imagine that not every application needs google maps so I would assume that line could be removed from this repo.
It is also not being used by most of the apps built in your Udemy courses.
Cheers,
Tom Van Schoor

Stephen:
Any reason the "" line is included in index.html from the start before it is described or needed?
As Tom mentions above, it generate a ""Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys"  util.js:221:12" warning in the console log at every start.

Submitted a pull request for this issue.


Fixing Job dependencies for Release Action

This PR Fixes the broken dependencies from the Release action.  🤞 1.2.6 can use this action.

I have looked high and low for this, unfortunately googling "github action linters" returns every linter under the sun except linters for github actions, but I finally found https://rhysd.github.io/actionlint/ to actually lint GitHub workflow actions!  release.yml now validates, I tested the previous version and it did catch the errors.


Exception on BackgroundTask sample

In BackgroudTask sample, scenario "5)Background Task with Application Trigger", if Unregister and Register the task (without navigate to another page), I have an exception like this:

Why? Thanks for the reply.

From the error message, it looks like the same task is being registered twice. Have you checked if that is indeed happening?


Populating Nested Field returns the wrong number of associated entities

Describe the bug

Given we are using Entity Schema definitions
And we have a Company entity class with its schema
And a Company has many User's
And a User has many Profile's
And we have a Company "Acme" that has "User1" and "User2" as users
And "User1" has two profiles
And "User2" has one profile
When we try to fetch the Company from the database, populating both user and profile
Then the "User2" has three profiles associated.

The Diagram below illustrates that:
flowchart LR
    A[Company 'A'] -->|Has| B(User 1)
    A[Company 'A'] -->|Has| C(User 2)
    B --> |Has| D(Profile 1)
    B --> |Has| E(Profile 2)
    C --> |Has| F(Profile 3)

Stack trace
AssertionError: expected { Object (0, 1, ...) } to have a length of 1 but got 3

- Expected
+ Received

- 1
+ 3

 ❯ src/mikro-orm/mikro-orm-internal.module.spec.ts:100:45
     98|     // Assert
     99|     const userWithASingleProfile = companyWithProfiles.users.find(u => u.id === user2.id);
    100|     expect(userWithASingleProfile.profiles).toHaveLength(1);
       |                                             ^
    101|   });
    102|

To Reproduce
Steps to reproduce the behavior:

Clone the minimum reproducible code repository: https://github.com/thiagomini/nest-mikro-orm-example/tree/bug/nested-populated-entities
run yarn
run docker compose up -d
run yarn test

Expected behavior
"User2" should have only ONE associated Profile.
Additional Information
💡 Link to the test case
Versions

Dependency
Version

node
18.12.1

typescript
5.1.3

mikro-orm
5.8.3

pg
8.11.2

Hey, @B4nan , this is either some lousy mistake on my part or an important issue to fix - It looks like populating nested fields is making the wrong associations, which might cause severe bugs 🤔 . I appreciate it if you could help me out with this one!

@B4nan Hey again Martin, sorry for bothering you again with this, but that issue has been blocking a bit of our progress in a project here. Could you give us some insight? Maybe just pointing out where in the MikroORM code we could try to fix that issue. Thank you!

Can you create repro without nest js? Just a simple script, ideally everything in a single file.

Alright, I'll work on it, thanks Martin!

Hey again, @B4nan! Here's the Repro: https://github.com/thiagomini/mikro-orm-repro
And here's the test case: https://github.com/thiagomini/mikro-orm-repro/blob/f48a1d83f8ea9d13da0f0e6f54645a3c7533f2d4/src/mikro-orm.test.ts#L32C2-L32C2
So, apparently, the issue might indeed be with the NestJS package because the very same test here is actually passing 😅 - I'll create another version tomorrow using vitest instead of jest, just to rule out that possibility.


Hide parameter hints for single-argument functions with the same name

This should hide the hints for methods like OpenOptions::write.

I want to merge https://github.com/rust-analyzer/rust-analyzer/pull/3901 before this

No worries, I'll update it if it's still needed afterwards (looks like it might be).

Rebased

bors r+

Are you there, bors?


Project name cannot be reused

After the streamx project is created and deleted, the old name cannot be used again.

please assign me

please assign to me

good job! 👍 👏

@oiupoiupga1  The problem cannot be reproduced in the dev branch And compare with the v1.2.0 version code, this problem should not occur .  Can you add more scenes? Or environmental information? Let's try to reproduce the problem。


Add Paradigma as a genesis validator

Add Paradigma as a genesis validator

Please provide some contact info provided. Not merged for now due to no contact info


Various additions.

Just a few tools, sites and books I found useful.

👍 https://github.com/paragonie/awesome-appsec/commit/8cd368d7a3b11574109962b4685df7372377d27a

Thanks for the fast response @paragonie-scott!
cc @troyhunt and @ivanr who are included in my additions.


InvalidTemplateDeployment

when I use JSON template deploy got the error as follow:
{
"code": "InvalidTemplateDeployment",
"details": [
{
"code": "InsufficientQuota",
"message": "Insufficient quota. Cannot create/update/move resource 'apollo-openai'."
}
],
"message": "The template deployment 'Microsoft.Template-20230325180124' is not valid according to the validation procedure. The tracking id is '119d011c-9c19-45a3-af13-a4aa0d173921'. See inner errors for details."
}

You must click the link in the readme to white list your subscription for Azure Open AI before clicking Deploy to Azure.


How to visualize the result？

I have test the code on my own data and get the labels. But I don't know how to visualize the result, could you give me some advice about that ?

Hey @Gatsby23,
you can use our semantic-kitti-api and follow this instruction. Clone the repository in your workspace, install the dependencies and then run the following to visualize for example sequence 8:
cd semantic-kitti-api
./visualize_mos.py --sequence 8 --dataset /mnt/data/kitti-odometry/dataset --predictions /path/to/4DMOS/predictions/ID/POSES/labels/STRATEGY/

It will visualize the 3D point clouds as well as the range images including the predictions:

Best
Benedikt

Hey @Gatsby23,
you can use our semantic-kitti-api and follow this instruction. Clone the repository in your workspace, install the dependencies and then run the following to visualize for example sequence 8:
cd semantic-kitti-api
./visualize_mos.py --sequence 8 --dataset /mnt/data/kitti-odometry/dataset --predictions /path/to/4DMOS/predictions/ID/POSES/labels/STRATEGY/

It will visualize the 3D point clouds as well as the range images including the predictions:
Best Benedikt

Thank you for your replay, I'll give a try.


Add varint for token_id

Implement varint for token_id corresponding to https://github.com/archethic-foundation/archethic-node/pull/580

SDK Dart ok: https://github.com/archethic-foundation/libdart/commit/eb5ac297f1659ab80300dfcdf65731dbb44d258c


Add FDM for risks

Ideally a layer on top of the model (i.e. model agnostic)

Trying using both the scaling method, and the more usual bumping method (contingent on #72)


SIB200Classification dataset added

Dataset from https://huggingface.co/datasets/Davlan/sib200
Here's the paper: https://arxiv.org/abs/2309.07445

Checklist for adding MMTEB dataset

Reason for dataset addition:

[x] I have tested that the dataset runs with the mteb package.
[x] I have run the following models on the task (adding the results to the pr). These can be run using the mteb run -m {model_name} -t {task_name} command.

[x] sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
[x] intfloat/multilingual-e5-small

[x] I have checked that the performance is neither trivial (both models gain close to perfect scores) nor random (both models gain close to random scores).
[x] If the dataset is too big (e.g. >2048 examples), considering using self.stratified_subsampling() under dataset_transform()
[x] I have filled out the metadata object in the dataset file (find documentation on it here).
[x] Run tests locally to make sure nothing is broken using make test.
[x] Run the formatter to format the code using make lint.
[ ] I have added points for my submission to the points folder using the PR number as the filename (e.g. 438.jsonl).

Thank you @KennethEnevoldsen for insightful comments. I tried to address most of them. Please also see update of the MultiHateClassification as we discussed above: https://github.com/embeddings-benchmark/mteb/pull/558


[SHACK-304] Habitat build fails with bundler error

Description
Fetching chef-apply 0.1.18
Downloading chef-apply-0.1.18 revealed dependencies not in the API or the
lockfile (chef-dk (>= 3.0)).
Either installing with `--full-index` or running `bundle update chef-apply`
should fix the problem.

Hoping this fixes ☝
Issues Resolved
SHACK-304
Check List

[ ] New functionality includes tests
[ ] All tests pass
[ ] RELEASE_NOTES.md has been updated if required (not required for bugfixes, required for API changes)
[ ] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/master/CONTRIBUTING.md#developer-certification-of-origin-dco

Signed-off-by: tyler-ball<EMAIL_ADDRESS>

This a temp PR to check this fixes it right?

@tas50 Got a successful local Habitat build

We're going to need Chef 14.4.19 (or the changes from that) in order to finish fixing the ChefDK pipeline tests


Fix inspect and tag to accept truncated image IDs

Teach inspect about image IDs, truncated and otherwise.

 (3) [buildah] Add a way to inspect working containers

Okay, I think this looks less complicated than what it looked like before, and merges in the changes that were in #139.

The changes LGTM, test error is puzzling.  Look like a issue in the manpages?  Maybe a rebuild in hopes it's a hiccup?

Cleared the "ineffectual assignment of err" that the linter caught, customized that error message based on whether or not we had a non-nil ref.

Realized that at this point it's easier to have importBuilderFromImage() just call util.FindImage() instead of duplicating its logic exactly.

LGTM, assuming happy tests.

@rh-atomic-bot r+  	bc583a8


Add time it takes to build a kit in the builder pod log

When build a kit it takes many minutes. It would be good to have that logged so we can see how long it takes. The logs dont have timestamps. But we can add a log entry in the start.
Building kit XXX starting
Building kit XXX completed in 4m17s

Ah you can see that as they are a build job and you can get the duration from k8s
❯ kubectl get builds -n mykamel
NAME                       PHASE       AGE   STARTED   DURATION          ATTEMPTS
kit-boc0gekj6qtqprh6d5s0   Succeeded   29m   29m       3m57.766320235s
kit-boc0m8kj6qtqprh6d5sg   Succeeded   16m   16m       4m37.372446786s

the builds time is from the OpenShift s2i build so I guess it would be nice to report the time on the kits themselves so you know how long it took for a kit to be build regardless of the build engine used


External Secret show status as SecretSynced but there is NO Kubernetes Secret.

Describe the bug
This issue started happening since we installed the ESO in our clusters on 23rd of October. For most of the External Secret manifests applied, we can get the External Secret created and successfully synced along with the Kubernetes Secret in the same namespace that it should be managing. But for some External Secrets, the External Secret is created and shows the status as SecretSynced, even the external-secret pod logs infer the same (no errors or any red flags) but there's Kubernetes secret in the same namespace (or even in any namespace) that it should've been creating or syncing.
Expected behavior
When applying the same manifest on cluster, we should be able to see an External Secret resource with status as SecretSynced and a Kubernetes Secret in the same namespace with data store in Hashicorp Vault.
Additional context
Weird thing is that if we change the name for Kubernetes Secret that the External Secret should be managing then, same manifest will create the External Secret as well as the Kubernetes Secret. So, when we encountered this issue during October, we thought the issue might be the character limit on Kubernetes Secret for us, so changing the Kubernetes name worked for us then. BUT now, the same issue is happening with already deployed External Secrets. The same External Secret that was showing status as SecretSynced and the Kubernetes Secret can also be seen, the same Kubernetes Secrets are now missing but the External Secrets look fine with status as SecretSynced. This is causing in failing deployments, which is not bearable if it happens on live servers.
Issue is similar to
https://github.com/external-secrets/external-secrets/issues/2894

Hi @sbmtn ! Can you please share your manifests and which ExternalSecret version are you running on?

@gusfcarvalho I don't think external-secret manifests will be any helpful as I mentioned earlier that the exact same manifest worked fine when we just changed the kubernetes secret name from target.name field in external secret manifest.
Versions:
External secrets chart version: v0.9.3

Then it's especially important to see the manifest. :) Since without knowing what you're trying to do and how, it's really difficult to figure out what's wrong. :)

Manifests are important, as from the related issue you even pointed out, it was a configuration issue. I believe this will likely to be the same cause, as we have end to end tests that verify secrets indeed exist when setting both with target names or without them.
since we do have this coverage, if we do have a bug on ESO, it is something we can only investigate with the manifests at hand.
You can redact any sensitive information, though! We don’t need to have the right store names or anything like that.

@gusfcarvalho @Skarlso here's the sample manifest for our external-secret which did result in the same issue discussed above but, after trying everything like removing external secret, creating k8s secret first then the external secret, etc. when we changed the value for target.name, we were able to see the k8s secret with changed name.
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: cluster-test.test.myapp.com
  namespace: argocd
spec:
  data:
  - remoteRef:
      key: my-platform/data/argocd/cluster-test.test.myapp.com
      property: name
    secretKey: name
  - remoteRef:
      key: my-platform/data/argocd/cluster-test.test.myapp.com
      property: server
    secretKey: server
  - remoteRef:
      key: my-platform/data/argocd/cluster-test.test.myapp.com
      property: config
    secretKey: config
  refreshInterval: 15s
  secretStoreRef:
    kind: ClusterSecretStore
    name: external-secrets-operator-vault-cluster-secret-store
  target:
    creationPolicy: Owner
    name: cluster-test.test.myapp.com
    template:
      metadata:
        annotations: null
        labels:
          argocd.argoproj.io/secret-type: cluster

Additional Info:
We faced this issue twice - once in October when we were deploying ESO on our cluster and second time was recently identified with the external-secrets that were already deployed and running successfully (i.e. we had the external secret and the k8s secret both, also the deployments were working fine) but now the deployments are failing and the error is that the k8s secret cannot be found be when we check the external secret that should be managing these k8s secrets. They're deployed and show status as SecretSynced but no K8s secret.

I can see your refreshInterval is of 15 seconds, which means that if you have more than a few 10's of ExternalSecrets, you need to tweak your deployment in order for the controller to keep the 15 seconds contract specified.
Can you confirm your workqueue_depth is zero for 1hour in the cluster where you are seeing the symptoms?
Also, can you confirm you only have one external-secrets deployment installed?
This thread here might be helpful to you: https://github.com/external-secrets/external-secrets/issues/2878#issuecomment-1812849841

Also, since this is likely a support case, I bumped the tags 😄. Please let me know once you get to see your workqueue_depth values.

@gusfcarvalho thanks for the update. How can i find my the workqueue_depth is zero for 1 hour in my target cluster or not?
I cannot find any configmap for the eso configurations. Also, I am unable to exec inside eso pod via -- sh or -- bash
If I increase the refreshInterval for my secrets from 15s to 30s or 60s, then can we expect this to be resolved? If we can have 15s as refreshInterval then do suggest a solution for that.
And about the external-secrets deployments, our cluster were previously using KES (kuberenetes-external-secrets) and in October end, we started migrating to ESO, so yes there're two external-secrets CRDs (externalsecrets.external-secrets.io, externalsecrets.kubernetes-client.io) in our clusters. But there deployments, secrets, everything was isolated. We transformed KES manifest into ESO formats then let our pipelines take care of everything else. And our external-secrets were seen migrated to ESO ones.

You can look at it the value via the metrics endpoint (with Prometheus if you have, or querying http://external-secrets:8080/metrics)

On that other comment I already mentioned a lot of options you can go for in order to make that value go to 0 for a long period of time.

@gusfcarvalho Sorry but I didn't follow you 100%. Can you give me next steps that i can make in order to the configuration or the ESO on my cluster?

If your workqueue_depth{} > 0 then ESO is too slow. You can try to:

bump --concurrent to, e.g. 10. :warning: but beware: you may run into rate limiting issues or may :hammer: smack the API you consume
increase the refreshInterval so you don't need to refresh so often.
increase CPU requests/limits

@moolen Here's the current resource consumption for eso pods:

Here's the value for workqueue_depth on same clutser:

I am not sure if increasing the resources will help us here. There're two external-secrets which are showing this issue at the moment. The external secrets are deployed fine but there's no k8s secret for them. When deploying the same external-secret manifest after changing its metadata.name, the new external-secret gets deployed and shows the same target k8s secret.
@gusfcarvalho any update?

@sbmtn as said in the comments:

you probably need to check your workqueue_depth metric to see if the refreshInterval you're having is just too fast (generating more work than the controller can reconcile). This value should be zero.
Some configuration that we have that allows faster reconciles are client-burst, client-qps, concurrent, enable-secrets-caching and enable-configmaps-caching. You should play with them until the workqueue_depth is zero over a considerable period of time.
Typically, if you reconcile every 5 minutes, I'd put at least 100 concurrent copies, which then will make you need to update client-burst and client-qps if you wish not to enable secrets caching.
Also remember that depending on these configuration, you might need to change external-secrets resources, or your kubernetes api-server throttling config, or even remember the cloud costs you might be paying due to a lot more of reconcilers on the picture 😄

You should not increase replicas. They are not meant to spread the workload, but rather to allow leader-election (thus high availability).
If you want to provide a level of QoS (given secrets managed by one entity), you should instead look at controller-class.
ref: https://external-secrets.io/latest/api/controller-options/
Hope that helps!

This is confirmed to not be an issue on external-secrets. You need to figure out how to best configure your external-secrets setup.

As just to set the expectations levels right - this is as far as I will go when it comes to free support. If you need any help actually implementing this, unfortunately it would take more time than I spare to this project, so do not expect me to do that for you for free 😄 .

@moolen @gusfcarvalho We updated the refreshInterval on our external secrets to 30s and restarted the external-secrets-operator pod but the value workqueue_depth still didnt change. How can we do that?

@sbmtn try with values that are likely to cause a bigger difference, like setting it to 1h. then, I suggest working your way back for a good configuration setup.

Thanks @gusfcarvalho changing refreshInterval to 1h did make workqueue_depth as 0 but the issue that we had initially still persists. There's one external secret which is showing as status SecretSynced but I cannot see the target k8s secret in the cluster.

@gusfcarvalho Sure.
Here's the output of kubectl describe ExternalSecret:
Name:         www-myfrapi-usage-delegate-system-pog-v1-secret-updated
Namespace:    myfrapi-dev
Labels:       argocd.argoproj.io/instance=ngbng-dev-www-654-mypay-balance-management-system-pog-v1
Annotations:  <none>
API Version:  external-secrets.io/v1beta1
Kind:         ExternalSecret
Metadata:
  Creation Timestamp:  2023-11-29T12:16:39Z
  Generation:          1
  Resource Version:    969679190
  UID:                 acc4bcf2-8037-453e-9ea0-1552hr22a
Spec:
  Data:
    Remote Ref:
      Conversion Strategy:  Default
      Decoding Strategy:    None
      Key:                  secret/data/myfrapi-dev/bss/www-myfrapi-usage-delegate-system-pog-v1/www-myfrapi-usage-delegate-system-pog-v1
      Property:             opgpassword
    Secret Key:             opgpassword
    Remote Ref:
      Conversion Strategy:  Default
      Decoding Strategy:    None
      Key:                  secret/data/myfrapi-dev/bss/www-myfrapi-usage-delegate-system-pog/www-myfrapi-usage-delegate-system-pog-v1
      Property:             opgsystempass
    Secret Key:             opgsystempass
  Refresh Interval:         1h
  Secret Store Ref:
    Kind:  ClusterSecretStore
    Name:  external-secrets-operator-vault-cluster-secret-store
  Target:
    Creation Policy:  Owner
    Deletion Policy:  Retain
    Name:             www-myfrapi-usage-delegate-system-pog-v1-secret-updated
Status:
  Conditions:
    Last Transition Time:   2023-11-29T12:16:39Z
    Message:                Secret was synced
    Reason:                 SecretSynced
    Status:                 True
    Type:                   Ready
  Refresh Time:             2023-11-29T12:17:00Z
  Synced Resource Version:  1-a1b68211529a63772fe799f53d3
Events:
  Type    Reason   Age                    From              Message
  ----    ------   ----                   ----              -------
  Normal  Updated  7m19s (x4 over 7m40s)  external-secrets  Updated Secret

And following command gives blank, as no secret found:
kg secrets -A | grep "www-myfrapi-usage-delegate-system-pog-v1-secret-updated"

Meet the same issue when ExternalSecret name length is 50, make the name shorter solved the issue.
Versions:
External secrets chart version: v0.9.3

Hello @gusfcarvalho @moolen, this issue has been resolved in my setup and I am thankful for all your support regarding the issues I raised. I am fine with closing this issue if you may.

@sbmtn would you mind sharing how you resolved it?

@sbmtn would you mind sharing how you resolved it?

@andyren0110 The root cause is the name length of secrets, rename it to shorter can solve the issue though the kubernetes name length limit is 63 but ExternalSecret operator have bug the name should be shorter.

Same issue here.
Additional finding:
When attempting to create a resource in a namespace with a length of 10 characters.
The maximum available name length seems to be restricted to 52 characters.
Then I tried to create resources in namespace with 13 characters, the maximum available name length is 49 characters.
This hints that the combination of namespace name and external secret name has a limitation of 62 characters.

(wild guess)
As we all know that k8s has the limitation of 63 chars, maybe there are some logic in the controller that tries to use or create a resource with the name in some format like <namesapce>-<secret name>?


Dbz 175

personal pr so I can take a better look at what I've done.

grumble grumble on the diff =/  perhaps I should not have rebased.


Develop

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

Project coverage is 91.78%. Comparing base (ecaca2c) to head (f0e07a8).
Report is 2 commits behind head on main.

Files
Patch %
Lines

src/cpuinfo.rs
98.27%
1 Missing :warning:

src/net_dev.rs
97.56%
1 Missing :warning:

src/net_protocols.rs
99.13%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #17      +/-   ##
==========================================
+ Coverage   90.37%   91.78%   +1.41%
==========================================
  Files          16       16
  Lines        1350     1534     +184
==========================================
+ Hits         1220     1408     +188
+ Misses        130      126       -4

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


Add toString for snapshot values

All snapshot values are currently obscured in the debugger due to lacking an implementation for toString.
This PR fixes it.

@bot-gradle test qfl

OK, I've already triggered the following builds for you:

QuickFeedbackLinux build

@bot-gradle test and merge

OK, I've already triggered a build for you.


Toggle plugins on/off from BRAT

It would be proper cool to be able to toggle a plugin on/off with BRAT.  Basically a command to enable or disable a plugin via the / or Command Palette? Thus BRAT becomes something like a 'Plugin Manager'; similar to 'Configure Snippets'? A statusbar modal would be lovely.

This will be pushed out to community plugins channel here shortly with version 0.5.0
However it is available with the enable or disable command palette commands. I like your idea of a popup list, but this was a lot more work :-)
lets give this solution a try to see if it is sufficient. But i can say I already love this feature.


Delete internalNodes associated with deleted nodes

Description
This PR implements a logic that deletes InternalNodes associated with deleted/deleting physical nodes.

/rebase

/hold

/merge