gem/bundler error when I run the 'console' workflow in the README

Really looking forward to incorporating Rust into my Ruby codebase :)
I took a look at this section: https://github.com/tildeio/helix#getting-started-with-helix-examples
I followed the instructions using Ruby 2.4.0 and here's how far I got:
> bundle exec rake build

Building helix runtime

bundle exec rake compile:native
Could not find gem 'rake-compiler (~> 0.9.7)' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.
rake aborted!
Command failed with status (7): [bundle exec rake compile:native...]
/private/tmp/helix/examples/console/Rakefile:15:in `block (4 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler.rb:286:in `block in with_clean_env'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler.rb:521:in `with_env'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler.rb:286:in `with_clean_env'
/private/tmp/helix/examples/console/Rakefile:14:in `block (3 levels) in <top (required)>'
/private/tmp/helix/examples/console/Rakefile:12:in `chdir'
/private/tmp/helix/examples/console/Rakefile:12:in `block (2 levels) in <top (required)>'
/private/tmp/helix/ruby/lib/helix_runtime/build_task.rb:39:in `block in define'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:335:in `exec'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:20:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:11:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:32:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:24:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
Tasks: TOP => build => helix:pre_build
(See full trace by running task with --trace)

@frewsxcv can you explain example what steps you're following? I don't see any reference to calling bundle exec rake build in the Getting Started section of the README.

The previous section mentions rake build. I tried doing the  README tutorial again and am now getting a different error. Here's the full output:
corey@mac /p/t/tmp> git clone git@github.com:tildeio/helix.git
Cloning into 'helix'...
remote: Counting objects: 2459, done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 2459 (delta 12), reused 0 (delta 0), pack-reused 2437
Receiving objects: 100% (2459/2459), 1.16 MiB | 0 bytes/s, done.
Resolving deltas: 100% (1308/1308), done.

corey@mac /p/t/tmp> cd helix

corey@mac /p/t/t/helix (master)> cd examples/console

corey@mac /p/t/t/h/e/console (master)> rbenv local 2.4.0

corey@mac /p/t/t/h/e/console (master)> bundle install
Using rake 10.5.0
Using colorize 0.8.1
Using diff-lcs 1.3
Using thor 0.19.4
Using rspec-support 3.5.0
Using bundler 1.14.6
Using helix_runtime 0.5.0 from source at `../../ruby`
Using rspec-core 3.5.4
Using rspec-expectations 3.5.0
Using rspec-mocks 3.5.0
Using rspec 3.5.0
Bundle complete! 4 Gemfile dependencies, 11 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

corey@mac /p/t/t/h/e/console (master)> bundle exec rake irb
rake aborted!
LoadError: cannot load such file -- helix_runtime/native
/private/tmp/tmp/helix/ruby/lib/helix_runtime.rb:2:in `require'
/private/tmp/tmp/helix/ruby/lib/helix_runtime.rb:2:in `<top (required)>'
/private/tmp/tmp/helix/ruby/lib/helix_runtime/build_task.rb:2:in `require'
/private/tmp/tmp/helix/ruby/lib/helix_runtime/build_task.rb:2:in `<top (required)>'
/private/tmp/tmp/helix/examples/console/Rakefile:2:in `require'
/private/tmp/tmp/helix/examples/console/Rakefile:2:in `<top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:335:in `exec'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:20:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:11:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:32:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:24:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
(See full trace by running task with --trace)

corey@mac /p/t/t/h/e/console (master) [1]> bundle exec rake build
rake aborted!
LoadError: cannot load such file -- helix_runtime/native
/private/tmp/tmp/helix/ruby/lib/helix_runtime.rb:2:in `require'
/private/tmp/tmp/helix/ruby/lib/helix_runtime.rb:2:in `<top (required)>'
/private/tmp/tmp/helix/ruby/lib/helix_runtime/build_task.rb:2:in `require'
/private/tmp/tmp/helix/ruby/lib/helix_runtime/build_task.rb:2:in `<top (required)>'
/private/tmp/tmp/helix/examples/console/Rakefile:2:in `require'
/private/tmp/tmp/helix/examples/console/Rakefile:2:in `<top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:335:in `exec'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:20:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:11:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:32:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:24:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
(See full trace by running task with --trace)

Sorry about that! Should be fixed by c5589e3933788979897c60a4baaedc5f2aa54f27.

rake compile is not a task for me
corey@mac /p/t/h/e/console (cleanup)> bundle install
Using rake 10.5.0
Using colorize 0.8.1
Using diff-lcs 1.3
Using thor 0.19.4
Using rspec-support 3.5.0
Using bundler 1.14.6
Using helix_runtime 0.5.0 from source at `../../ruby`
Using rspec-core 3.5.4
Using rspec-expectations 3.5.0
Using rspec-mocks 3.5.0
Using rspec 3.5.0
Bundle complete! 4 Gemfile dependencies, 11 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
corey@mac /p/t/h/e/console (cleanup)> bundle exec rake --tasks
rake build    # Build console
rake clobber  # Remove build artifacts
rake irb      # Launch an IRB console for console
rake spec     # Run RSpec code examples
corey@mac /p/t/h/e/console (cleanup)> bundle exec rake compile
rake aborted!
Don't know how to build task 'compile' (see --tasks)
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:335:in `exec'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:20:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:11:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:32:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:24:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
(See full trace by running task with --trace)

@frewsxcv you shouldn't have to run it directly. The example Rakefiles will do it for you. If you do see the warning, it will be accompanied with a directory path in which you have to run it, which will point to the ruby directory in the project. Have you tried pulling the repo and then just running bundle exec rake irb in the examples/console directory?

Have you tried pulling the repo and then just running bundle exec rake irb in the examples/console directory?

Yes.  Please run `rake compile` in /private/tmp/helix/ruby.

Building helix runtime

bundle exec rake compile:native
Could not find gem 'rake-compiler (~> 0.9.7)' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.
rake aborted!
Command failed with status (7): [bundle exec rake compile:native...]
/private/tmp/helix/examples/console/Rakefile:15:in `block (4 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler.rb:286:in `block in with_clean_env'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler.rb:521:in `with_env'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler.rb:286:in `with_clean_env'
/private/tmp/helix/examples/console/Rakefile:14:in `block (3 levels) in <top (required)>'
/private/tmp/helix/examples/console/Rakefile:12:in `chdir'
/private/tmp/helix/examples/console/Rakefile:12:in `block (2 levels) in <top (required)>'
/private/tmp/helix/ruby/lib/helix_runtime/build_task.rb:39:in `block in define'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:335:in `exec'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:20:in `dispatch'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/cli.rb:11:in `start'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:32:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/exe/bundle:24:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
Tasks: TOP => irb => build => helix:pre_build
(See full trace by running task with --trace)

Looks like it wants you to run bundle install in the ruby directory of the project first. This is strange, because running bundle install in the example directory should have also installed all gems required for the Ruby directory. I wonder if rbenv is somehow to blame for this as I went through all the steps with rvm without issue.

After running bundle install in the ruby dir, things seem to be working now. Should I open an issue for handling rbenv?

@frewsxcv sure, go ahead and do that. I can't say for sure if it's actually an issue with our setup or with rbenv itself, but it seems worth investigating further.

I had a similar problem to the initial issue: Could not find gem 'rake-compiler (~> 0.9.7)' in any...
After I added gem 'rake-compiler',  '~> 0.9.7' to the Gemfile, ran bundle install and everything seemed to work. It then worked for the other examples as well. If I uninstall rake-compiler and bundle install again then the other examples.
It looks like there is a missing rake-compiler dependency somewhere. Am I missing something?

Ah, I figured out what's happening I think. We have rake-compiler as a development dependency in the main helix_runtime gem: https://github.com/tildeio/helix/blob/master/ruby/helix_runtime.gemspec#L32. The Gemfiles for the examples point to the local helix_runtime gem, and should install dependencies but probably don't end up installing the development dependencies. The solution is probably to either run bundle install in the ruby directory first, or add rake-compiler to the example Gemfiles.

I'd suggest adding them to the example Gemfile's. That way the examples stand on their own.

@hmcfletch the issue is that the examples don't actually need rake-compiler, they just need the helix_runtime gem to have already been compiled. I think the answer is probably to run bundle install here: https://github.com/tildeio/helix/blob/master/examples/calculator/Rakefile#L15.

ahhhh... makes sense. Also, thanks for the work on this!


Integration Test - Release - 2022/01/26 07:43:35

Auto create for integration test. IssueCommandFlow

#pri1

Just type '#pri3'

#pri2

#pri3

#assign PRMergerTest1

#assign NonAllowedUser

The following users don't have valid GitHub IDs, or are not collaborators on this repo: nonalloweduser

#reassign PRMergerTest2

#reassign NonAllowedUser

#please-close

The following users don't have valid GitHub IDs, or are not collaborators on this repo: nonalloweduser

GitHub user PRMergerTest2 has been removed from the MicrosoftDocs organization, so they were automatically removed as an assignee.

#unassign PRMergerTest1

#unassign NonAllowedUser


User can clearly see that saving an impossible locality edit is not possible

At the moment you can click save and finalize and think that you have saved something, when in fact nothing has been saved. Maybe gray out the save button while editing if there are incorrect values in any fields?

Related to #190

Currently, when you create a new Locality (with empty values), the "Finalize entry" button is enabled. It is only when you press "Complete and save" that the error message "Could not save item. Missing: Locality name, Age (max), Age (min), Latitude (dms), Longitude (dms), Latitude (dec), Longitude (dec), Country," comes.
Could this be improved so that the "Finalize entry" button is disabled until the required fields are filled in and there are no errors? Or, when the button is pressed it shows the error messages and does not proceed until all is fixed?


[FIX-3929]  because of no lock, start up failover would dispatch two same tasks.

fix bug(#3929 ) because of no lock, start up failover tolerant would dispatch two same tasks.
move zk listening  to zkMasterClient to avoid deadlock.

though I give +1, I think this should append some unit test later


Cleanup and finalize the fail/exit/abort methods

Feature

actor.fail() is just a wrapper around actor.exit() providing a default exit code 1, but this behavior is not documented
actor.exit(statusMessage) should save the status to the cloud message prior to the process exit using Actor.setStatusMesage with isStatusMessageTerminal set to true
actor.abort() is saving status message but without the isStatusMessageTerminal set to true

Motivation
To comply with the specification.
Ideal solution or implementation, and any additional constraints
No response
Alternative solutions or implementations
No response
Other context
No response

cc @barjin, this is basically all done with your latest changes, but its true we are missing some notes at least in the jsdoc of those methods


Parser: Support SHOW PROFILE Syntax

What problem does this PR solve?
Support SHOW PROFILE Syntax for TiDB Parser. See: https://dev.mysql.com/doc/refman/5.7/en/show-profile.html for details.
What is changed and how it works?

Add related syntax in parser.y
Add a new show type ShowProfile for ast.ShowStmt
Add related fields for SHOW PROFILE in ShowStmt
Update ShowStmt.Restore to support SHOW PROFILE syntax.

Check List
Tests

Unit test
Manual test (add detailed scripts or steps below)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.felixxdu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@kennytm  PTAL :)

Build break after merge master

@tiancaiamao PTAL :)

@zz-jason @lysu PTAL

@morgo  PTAL

LGTM

Please resolve conflicts @spongedu

@tiancaiamao conflicts resolved. PTAL


Refactor BNO08x conditions

Replaces runtime conditions with compile time conditions
Needs testing.

@TheDevMinerTV please check if your requests has been resolved and if they did, approve the PR 😋

@deiteris as @TheButlah once mentioned to me, please don't resolve the conversations, the person that created the conversation should resolve it. just gets hard to manage :)

@deiteris as @TheButlah once mentioned to me, please don't resolve the conversations, the person that created the conversation should resolve it. just gets hard to manage :)

I don't resolve them myself, they're resolved automatically when I apply suggestions. If there's an option, I could disable it.

@deiteris as @TheButlah once mentioned to me, please don't resolve the conversations, the person that created the conversation should resolve it. just gets hard to manage :)

I don't resolve them myself, they're resolved automatically when I apply suggestions. If there's an option, I could disable it.

Ah okay, sorry ^^
nah, that's fine then :)

That should be it, but I can't test for function.


Redesign the KubeClientRegistrationConfig for addonTemplate API

Now the KubeClientRegistrationConfig in addonTemplate API looks like:
type KubeClientRegistrationConfig struct {
	// HubPermissions represent the permission configurations of the addon agent to access the hub cluster
	// +optional
	HubPermissions []HubPermissionConfig `json:"hubPermissions,omitempty"`
}

// HubPermissionConfig configures the permission of the addon agent to access the hub cluster.
// Will create a RoleBinding in the same namespace as the managedClusterAddon to bind the user
// provided ClusterRole/Role to the "system:open-cluster-management:cluster:<cluster-name>:addon:<addon-name>"
// Group.
type HubPermissionConfig struct {
	// Type of the permissions setting. It defines how to bind the roleRef on the hub cluster. It can be:
	// - CurrentCluster: Bind the roleRef to the namespace with the same name as the managedCluster.
	// - SingleNamespace: Bind the roleRef to the namespace specified by SingleNamespaceBindingConfig.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum:=CurrentCluster;SingleNamespace
	Type HubPermissionsBindingType `json:"type"`

	// RoleRef is an reference to the permission resource. it could be a role or a cluster role,
	// the user must make sure it exist on the hub cluster.
	// +kubebuilder:validation:Required
	RoleRef rbacv1.RoleRef `json:"roleRef"`

	// SingleNamespace contains the configuration of SingleNamespace type binding.
	// It is required when the type is SingleNamespace
	SingleNamespace *SingleNamespaceBindingConfig `json:"singleNamespace,omitempty"`
}

We got some feedback:

the RoleRef field in HubPermissionConfig is very confusing, users do not if this field is needed or not in different HubPermissionsBindingType
when the HubPermissionsBindingType is CurrentCluster, if the RoleRef refers to a Role, it is very difficult to use as users need to create the role every time the addon is enabled for a managed cluster.

So we need to reconsider/refactor the KubeClientRegistrationConfig for addonTemplate API, and it is better to finish/implement this in OCM 0.12.0

/close


Processing speed improvement

My benchmark algorithm went from 200k ticks/sec to 300k ticks/sec

Are you able to share the algo used to perform the benchmarking?

public class BasicTemplateAlgorithm : QCAlgorithm
{
    private int _ticksProcessed = 0;

    //Initialize the data and resolution you require for your strategy:
    public override void Initialize()
    {
        //Start and End Date range for the backtest:
        SetStartDate(2015, 1, 1);
        SetEndDate(2015, 5, 15);

        //Cash allocation
        SetCash(10000);

        AddSecurity(SecurityType.Forex, "EURUSD", Resolution.Tick);
    }

    public override void OnEndOfAlgorithm()
    {
        Debug("Total ticks processed: " + _ticksProcessed);
    }

    public void OnData(Ticks data)
    {
        _ticksProcessed += data.Count;
    }
}

The zip data files were generated from tick data downloaded and converted.

While I was unable to see the massive speed improvement you saw, I was able to see very slight improvements. I think this is a good change. Thanks @StefanoRaggi


Restore previous mouse position when leaving the editor freelook mode

Remove the crosshair as it no longer serves a purpose (the cursor will now appear where the user "expects" it to).

This closes https://github.com/godotengine/godot-proposals/issues/1076.

Thanks!

Cherry-picked for 3.2.2.

The crosshair is gone in Godot 3.2.2 but exists in Godot 3.2.1, could this PR be the cause? I'm confused as to why the crosshair was removed, it was very nice.

@aaronfranke See https://github.com/godotengine/godot/pull/34801#issuecomment-699510340.


1875/trim words

Tests to investigate #1874 and #1875

Coverage remained the same at 94.297% when pulling<PHONE_NUMBER>41a481ead4024a7b84e9ebd0d20c7b on 1875/trim_words into 795f78b7e2004308c0d30978d204149b97eaaa56 on master.

Coverage remained the same at 94.297% when pulling<PHONE_NUMBER>41a481ead4024a7b84e9ebd0d20c7b on 1875/trim_words into 795f78b7e2004308c0d30978d204149b97eaaa56 on master.

Coverage remained the same at 94.297% when pulling<PHONE_NUMBER>41a481ead4024a7b84e9ebd0d20c7b on 1875/trim_words into 795f78b7e2004308c0d30978d204149b97eaaa56 on master.

Merging this in. This tests merely confirms that Timber's truncate filter matches wp_trim_words. There's good fodder for whether the filter should be renamed to match WP's language, but I'll leave that for more discussion on #1874


ignore test case to force coverage change

Hey, I just made a Pull Request!
Description

Motivation and Context

Have you tested this? If so, how?

Checklist for PR author(s)

[ ] Changes are covered by unit test
[ ] All tests pass
[ ] Code coverage check passes
[ ] Error handling is tested
[ ] Errors are handled at the appropriate layer
[ ] Errors that cannot be handled where they occur are propagated
[ ] Relevant documentation updated
[ ] This PR has NO breaking change to public API
[ ] This PR has breaking change to public API and it is documented

Checklist for PR reviewer(s)

[ ] This PR has been incorporated in release note for the coming version
[ ] Risky changes introduced by this PR have been all considered

If feels codecov is missing permission to write comment to PR. @danielnorberg

Not sure this helps. https://github.com/integration/codecov

I requested (towards Spotify org) codecov Github app to be configured for flo.


Add scheduling class optimized for frequently changing timers

80% ChatGPT-o1-preview, 20% me

I'm not convinced this belongs in this repo, and I'm not convinced by the interface either. Bad ChatGPT, bad!
Seriously, I would much rather make interval changable via reset() in the current timer, and build something on top of that instead of re-implementing the whole thing. All we need is a interval-reseteable timer and a container that gives you the next interval from a list of "scheduled timers", they can be completely decoupled.
If there is no such a container available yet, I would add it to https://github.com/frequenz-floss/frequenz-core-python/ instead.
What I envision is something like:
timer_scheduler = TimerScheduler()
timer_scheduler.add(...)

timer = Timer(timer_scheduler.next(), ...)

async for selected in select(timer, other):
    if selected_from(selected, timer):
        ...
        timer.reset(timer_scheduler.next())
    if selected_from(selected, other):
        ...
        timer_scheduler.add(...) # or timer_scheduler.remove(...)
...

I'm not convinced this belongs in this repo, and I'm not convinced by the interface either. Bad ChatGPT, bad!

Well, I designed the interface and ChatGPT did a good job at it imo.
And I like it too.

What I envision is something like:

How would you propose to interrupt a scheduled timer that is currently in ready()'s `await asyncio.sleep(..)?
Which task do we have to cancel?

How would you propose to interrupt a scheduled timer that is currently in ready()'s await asyncio.sleep(..)?
Which task do we have to cancel?

I guess you already answer it for yourself with #320 :)


Fix signature validation

I noticed that running this request to the websocket server yields an invalid signature error.
$pusher->get_channels(['filter_by_prefix' => 'presence-global']);

I noticed that the signatures are not generated as the Pusher lib and server expects/validates them.
So I fixed that and modified all tests to use the correct way (according to the Pusher library).

Edit: After more testing this is broken since the route parameters are added as query params causing it to mess up the signature creation...

@mpociot @freekmurze I would like to have your opinion.
To correctly validate the signature we cannot have appId, appKey & channelName in the query params, but I'm not seeing any way to have them being recognized as actual route params because Ratchet is not very flexible on how the route is matched and what happens after.
So to fix any extra parameter added to the request being ignored en thus rendering the signature invalid too I added those to a blacklist to be able to reconstruct the signature how it should be with params that are not route params.
However this feels a bit dirty... we could also special case filter_by_prefix since it's the only actual query param that is being used in the entire (tiny) REST api. However would be cool if we can build upon the Pusher compat with some extra endpoints possibly that will make it more flexible doing it the way it's now...
Let me know what you think on what route (heh, no pun intended) to take with this.

Rebased with master to fix conflicts.

@stayallive You mention "After more testing this is broken since the route parameters are added as query params causing it to mess up the signature creation..."
So..is this broken?

Please read my update: https://github.com/beyondcode/laravel-websockets/pull/38#issuecomment-445341343
It now works great, but not sure if there is a better way I'm missing.
This still feels a bit wrong to me to whitelist/blacklist the query parameter names but I can see no way to (without rewriting the router and possibly things in Ratchet) to know which query params are coming from the route parameters and which come from the user.
https://github.com/beyondcode/laravel-websockets/blob/8f4247936ac0b9d602ea053164153b3c2d807c61/src/HttpApi/Controllers/Controller.php#L88-L93

@mpociot can you let me know what you plan is with this? 😄
Want to know if I need to merge 1.0.3 in my fork or if I can fix something to get this moving forward.

@mpociot can you let me know what you plan is with this? 😄


[WIP] Build System Improvements

Way not ready yet.

given that we as basically changing this all around with multiple packages I'm going to close this PR.


ENH FMRegressor

@beckermr this is still WIP but 295402d has all the relevant changes from the FMClassifier.

cc @mheilman for the viz -- I tagged Matt for CR but throw comments my way if you feel the need!


Moving to the end of physical EOL in wrapped-up text

VSCode Version: 1.13.1
OS Version: Windows 7 Pro

Steps to Reproduce:

Set wrap-up for text with long lines
END key will move cursor to logical EOL, but I want to move to physical (where \n is) EOL as well

Reproduces without extensions: Yes/No

Dup of https://github.com/Microsoft/vscode/issues/29368


computing distance between markers

Hi!
I am wondering about the possibility to use this library to compute distance between two markers. In the mokka, only option is to create graph, but no possibility to export the data. I do not have such data from original research, so I want to collect a data from distance between two markers like shoulder and finger.
Best regards,
Darek

Hi Darek,
Assuming you have your data loaded using Markers3d, then simply subtracting two marker positions gives you the distance between them. If you want the Euclidian distance, then you can compute the norm between them (Pythagorian theorem). For instance:
from pyomeca import Markers3d
data = Markers3d.from_c3d('path/to/c3d.c3d')
distance = data['name_marker1'] - data['name_maker2']  # You can also reference the markers using data[:, idx, :] where idx is the number of the marker
norm_distance = distance.norm()
print(norm_distance)

See you

Thank you, works perfectly, the same with mokka graph
Best regards
Darek
śr., 11 wrz 2019 o 14:01 Pariterre<EMAIL_ADDRESS>napisał(a):

Hi Darek,
Assuming you have your data loaded using Markers3d, then simply subtracting two marker positions gives you the distance between them. If you want the Euclidian distance, then you can compute the norm between them (Pythagorian theorem). For instance:
from pyomeca import Markers3d
data = Markers3d.from_c3d('path/to/c3d.c3d')
distance = data['name_marker1'] - data['name_maker2']  # You can also reference the markers using data[:, idx, :] where idx is the number of the marker
norm_distance = distance.norm()
print(norm_distance)
See you
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Compiled micrate binary does nothing when ran.

I can compile micrate just fine but when I run micrate up it doesn't give me any sort of message or run my migrations. I'm on OSX sierra with crystal 0.21.1

Hi @elorest! Sorry about the delay.
Which file are you compiling? If it's src/micrate.cr then it will do nothing because there is no "main" code being run. If that's the case, you should create a file as specified in the README, explicitly running the CLI and setting up your connection URL:
#! /usr/bin/env crystal
#
# To build a standalone command line client, require the
# driver you wish to use and use `Micrate::Cli`.
#

require "micrate"
require "pg"

Micrate::DB.connection_url = "postgresql://..."
Micrate::Cli.run

Hope that helps, please let me know if it worked.

Oh ok. That makes sense. For some reason I was expecting it to look in
database.yml or at least give me an error. Thanks
Isaac Sloan - isaacsloan.com
Artisan Rails Architect
1391 S Slate Canyon Dr.
Provo, Ut 84606
Cell:<PHONE_NUMBER>
On Tue, Apr 18, 2017 at 4:01 PM, Juan Edi<EMAIL_ADDRESS>wrote:

Hi @elorest https://github.com/elorest! Sorry about the delay.
Which file are you compiling? If it's src/micrate.cr then it will do
nothing because there is no "main" code being run. If that's the case, you
should create a file as specified in the README, explicitly running the CLI
and setting up your connection URL:
#! /usr/bin/env crystal## To build a standalone command line client, require the# driver you wish to use and use Micrate::Cli.#
require "micrate"require "pg"
Micrate::DB.connection_url = "postgresql://..."Micrate::Cli.run
Hope that helps, please let me know if it worked.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/juanedi/micrate/issues/15#issuecomment-294997026, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAHmpA6t6gwdR4MrxjH92yjL7wx1-IRnks5rxTKpgaJpZM4M8Tgr
.


61 add text field component

https://deploy-preview-113--unicorn-ui.netlify.app

Color as observed from Material UI Text Field https://mui.com/material-ui/react-text-field/
Outlined:
Ready state: background transparent; label whitish gray (turned down opacity probably), border darker gray / opacity turned down;
Hover: outline changes to white
Focused: outline and label turn primary blue; input text is white
Filled:
Ready state: label same as outlined, background slightly transparent (guessing low opacity), bottom border (ripple line) looks thinnish and solid white (maybe a little turned down).
Hover: background brightens up (higher opacity?)
Focused: background goes back to same color as in ready state; label and ripple line become primary blue; input text is white.
Standard:
Ready state: no background; ripple line and label are same color as outline and filled (whiteish gray)
Hover: ripple line turns solid white and thickens
Focused: label and ripple line turn primary blue; input text is white

Please relook at material.io specs and labeling for this component. I am happy to pair if needed.
https://m3.material.io/components/text-fields/guidelines

Updates to Examples

[ ] Trailing icon change to  X icon
[ ] Leading Icon change to search icon
[ ] Just need one error example
[ ] Error example- you can add instructions to helper text
[ ] Add trailing error icon to error state
[ ] Add labels (Variants, States, or configurations)
[ ] Remove Placeholder
[ ] Investigate disabled color contrast
[ ] Capitalize L in Label
[ ] Future need - multiline (not needed for this PR)

Desired Page Organization

Wondering if we need to allow for an error prop like MUI https://mui.com/material-ui/react-text-field/#validation (look at code) so that devs can place in an error state even if a native form wouldn't.


Error: dial tcp <IP_ADDRESS>:8831: connect: connection refused

I am running  wallet and client on osx, but if I command 'balance' I get:

balance
Error: dial tcp <IP_ADDRESS>:8831: connect: connection refused

working after I started client again


Differential abundance: show number of points that are red or blue

Brought up in mbio meeting on 07.26.
Move the coloring function up so that it runs through all the data and adds 'color' as a value. Then count the number of points with each color.
Where to display?

Subtitle of plot
Legend

I like legend. Could also try subtitle

oh jeeze i just duplicated this issue in #393 . Closing this one in favor of that one.


Use transparent rather than rgba(0,0,0,0)

https://github.com/thoughtbot/neat/blob/master/app/assets/stylesheets/functions/_private.scss#L60
It's only about code elegance at this point.

@kaishin @HugoGiraudel I'll see if I can try it out next sit down I get.

I checked and this seems to be no longer an issue as all browsers handle it properly now.

Yep. :)

Looks like this can be closed as there is no more rgba(0,0,0,0) in current master branch.
/cc @kaishin @tysongach


UP011 is incorrectly replacing lru_cache(max_size)=None

The UP011 rule replaces functools.lru_cache(max_size=None) with functools.lru_cache. The corresponding rule in pyupgrade replaces it with functools.cache: https://github.com/asottile/pyupgrade#replace-functoolslru_cachemaxsizenone-with-shorthand.
Tested with ruff 0.0.222

Thank you! Fixing now. Just an oversight.

@henribru - Yeah this is a known limitation (and pyupgrade doesn't fix that case either, IIRC). In that case, we actually need to modify the import too, to include cache. So for now, we flag it, but can't fix it.
Another case of #835.

@charliermarsh That's a fair limitation, but still the message is pretty misleading since it's telling you to remove the parameters instead of changing lru_cache to cache. Just removing max_size=None changes the behavior, so it's not "unnecessary"

Note that pyupgrade separates this into two rules, one that converts lru_cache() into lru_cache and one that converts lru_cache(max_size=None) into cache. The current error message works for the first case, but it seems misleading for the second

Ah right -- I'll modify the error message.

Fixed in #1938.

Thanks again for all your hard work, I really appreciate it!

Thanks for being persistent on this one even after I closed it out -- you were totally right!


UI: Use cpu/mem limit instead of request to calculate the usage percentage

Summary
What change needs making?
Use Cases
When would you use this?

Message from the maintainers:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

I would like to work on this.


V3 spot prices for estimate ethereum prices for tokens

Uses spot price from pool with highest TVL.
Does not like USDT, need to fix.
Resolves #514

#514

https://github.com/DarkFlorist/TheInterceptor/pull/566/files#diff-3c149a3d286ea025bf3f159322a627e1ae9eff10cf1049c54da115b6834dff9cR91-R95
Ether component needs to be replaced with Token component inside the TokenPrice.
NetworkPrice config object probably also needs to be updated to contain more metadata needed to pass to the Token component.

https://github.com/DarkFlorist/TheInterceptor/pull/566/files#diff-3c149a3d286ea025bf3f159322a627e1ae9eff10cf1049c54da115b6834dff9cR91-R95 Ether component needs to be replaced with Token component inside the TokenPrice. NetworkPrice config object probably also needs to be updated to contain more metadata needed to pass to the Token component.

add issue about this


[BUG] Bloxstrap

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
So i have this issue where bloxstrap is running smoothly around 140+ fps but after couple of minutes it sets back to 50-60 fps
could anyone help me solve this?

but after couple of minutes it sets back to 50-60 fps

Have you read https://github.com/pizzaboxer/bloxstrap/wiki/Roblox-is-still-capped-to-60-FPS-after-raising-the-limiter?

but after couple of minutes it sets back to 50-60 fps

Have you read https://github.com/pizzaboxer/bloxstrap/wiki/Roblox-is-still-capped-to-60-FPS-after-raising-the-limiter?

yeah i did i tried everything but again when i load up the bloxstrap its on 150+ fps but after some tiems it drops to 60-80
and the thing is that its just so weird since sometimes the fps limiter doesnt even apply when im loading up bloxstrap it just stays to 60-80fps

Nvm i got it i checked the task manager and saw one app eating way too much cpu like 90% i deleted it and now everything runs normal thanks anyways


Not catching errors/warnings where message has newlines

An example warning from heredoc_ignore.sh:
[W] E006: Line too long: 'FOO=<<EOF

 this is a file
  that does not obey our indenting
 or our line length -------------------------------------------------

EOF'
 - heredoc_ignore.sh : L9

The regex in linter.py does not catch this.

Not a bug with this project, this was fixed in bashate itself. Not sure what version of bashate I was using that generate this problem but it looks like after 0.4.0 bashate ignores heredoc lines for all checks based on commits made Feb 8 2016.


Mhd/multiple identify results iii

This adds support for Multiple Identify Results, shown in a Floating Panel.  Aside from showing all identify results and feature details/inspections/attachments in a floating panel, the functionality is identical to the previous (SmallPopupView) functionality

@esreli  - I'd like your feedback on the current implementation:

Does the UI/workflow match your expectations?
Code organization feedback; I kept the main framework essentially the same as before, but just inserted the IdentifyResultsViewController at the beginning of the process.

There are still some outstanding items.  Here's what works and doesn't (yet):
What works:

Viewing multiple identify results, both on and offline
Viewing and editing details (and attachments) for each individual identify result
Viewing, adding, deleting, and editing of inspection results (and attachments)

Remaining issues:

Deleting feature does not remove it from list of identify results
Creating new feature: after selecting geometry, crash while “Preparing new trees”.  Need to figure out out to jump directly to popups detail VC.
Viewing feature details causes navigation bar to appear below floating panel header, but it seems out of place, as it is the ‘online green’ color. (doesn’t crash or anything, just looks somewhat out-of-place).  It does appear in the correctly color when going offline.  Your thoughts on this?
When displaying identify results results in floating panel, the panel initial displays very large, then shrinks immediately to the ‘partial’ state, resulting in a brief flash on screen.  It needs to display immediately at correct size.
In the Popup details view, the TableView section header for the first section (attributes) is being displayed, when it shouldn’t be.  It shows up as an empty space above the first feature attribute.
When selecting a new identify result, need to update the selected feature on the map.

@esreli - I'd like your feedback on the current implementation:

I'll have a look shortly!

@esreli Thank you for the feedback, it all looks good.  I like the idea of the Toolbar as well.  Let me make the changes, including to the UI, and then submit it back to you for a more detailed review of the UI and code.

@esreli Thank you for the feedback, it all looks good. I like the idea of the Toolbar as well. Let me make the changes, including to the UI, and then submit it back to you for a more detailed review of the UI and code.

Sounds good 👍

@mhdostal Also, @nCastle1 designed a tool that will generate Esri calcite icons for iOS. All of the icons included in the above screenshots were derived from the calcite icon set. You can follow these instructions for rendering icons for iOS consumption.

What remains here is the use of modal presentation of a rich popup view controller for the create new feature workflow. Is it a big undertaking to embed the rich popup view controller into the floating panel for the create feature workflow?

The main driver of viewing popups in the floating panel is the IdentifyResults View.  It, and the navigation controller, really manage the pushing/popping of the individual identify results popups.  So bypassing that and displaying the RichPopupViewController as the topmost vc is presenting challenging in terms of dismissing the floating panel.  So it's going to take a little bit more time to figure out all the details.
@esreli In the meantime, can you review the current changes based on your feedback to make sure it's what you expected?  Thanks.

@mhdostal will do! Thanks for looking in to this.

@esreli I've made all the changes.  The fix for Potential loss of input data during feature creation/edit was a bit more involved and required:

adding start/endEditing notifications
updating the isEnabled property of the Profile, Add New Feature, and Extras button whenever editing started/ended.
add a check for isEditing when determining whether to query on user map touch event.

I considered using another Combine Publisher (or expanding the current EditsMade one), but it was more foolproof to use  notifications.
Please re-review.

@esreli I've made the following changes, per your review

added subtitle to the details view controller
instead of checking for isEditing in the map view touch delegate (to prevent identifying new features when editing), I just set the mapView.touchDelegate = nil when editing in adjustUIForEditing.  This is because currentPopupManager.isEditing is false when adding a new inspection record.  Swapping out the touchDelegate works in all cases.
Moved the didStartEditingNotification/didCancelEditingNotification  notifications to RichPopupViewController.

Personally, I would have brokered a local relationship between the MapViewController and FloatingPanelViewController, allowing the two of them to coordinate how this state change together.

Ideally, I agree this would have been the way to go.  However, the MapViewController only interfaces with the IdentifyResultsViewController directly (via the FloatingPanel).  The IdentifyResultsViewController is then responsible for hiding/showing the RichPopupViewController, which does NOT have a relationship with the MapViewController and there was no way to elegantly create one.  Hence the notification system.


File URL is not available   & double quotes can't be parse in Azure Cli

[Environment]

Azure Cli:

{
  "azure-cli": "2.27.1",
  "azure-cli-core": "2.27.1",
  "azure-cli-telemetry": "1.0.6",
  "extensions": {}
}

[Problem]

File Url is unreachablehttps://raw.githubusercontent.com/me/project/hello.sh

Azure Cli sends an error about double quotes. And it needs the escape character '\'

Another workable cmd:

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

ID: d2de55b5-9d87-fdb9-3040-6bdf3cf8ff0b
Version Independent ID: 4e3fbc53-a0d2-182a-9d57-b94caba27fbf
Content: Azure VM extensions and features for Linux - Azure Virtual Machines
Content Source: articles/virtual-machines/extensions/features-linux.md
Service: virtual-machines
Sub-service: extensions
GitHub Login: @amjads1
Microsoft Alias: amjads

@MinRam
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@amjads1
Can you please check and add your comments on this doc update request as applicable.


Split MetadataSegmentView in two implementations: caching and direct RPC call

Currently, MetadataSegmentView violates the Single Responsibility Principle. There should be two separate implementations of the API, one is caching and another making direct RPC, and the choice between them should be done during Dependency Injection binding.
FYI @surekhasaharan

I'm not sure if splitting this 1 thing into 3 things (interface + two concrete impls) makes it better. As one class with an isCacheEnabled flag it is pretty easy to understand. I suppose it might be somewhat nicer if done with a design like:

Non-caching impl exists and is super simple
Caching impl also exists, and contains a non-caching instance within itself, acting as sort of a caching wrapper
Both implement the same interface

Will reopen this issue / leave it open in case the conversation continues.

In the future, we may split it and add a third implementation: brokers polling metadata store directory (proposed here: https://github.com/apache/incubator-druid/issues/6834#issuecomment-478569365 and discussed below in that issue). The proxy design still doesn't make sense to me.


Changed all references of the name John to a random string of charact…

Changed all references of the name John to a random string of characters.
John is a male name and causes many people offense, so I have replaced it with a string with no gender connotations.
In the wake of changing the name to factory_bot I though this would be a great step in the right direction.

Thanks for the suggestion @Circuit8; we won't be merging this.

Any reason you won't be merging it?


CASMTRIAGE-7120 - Workaround for premature failover when PostgreSQL leader loses contact with kube-apiserver during reboot of control plane nodes

Summary and Scope
There appears to be a bug in the version of patroni included in the spilo image we are using in CSM 1.5 and 1.6.
When a control-plane node is rebooted, there is a brief interruption in access to the Kubernetes API. The PostgreSQL leader unfortunately detects this condition and demotes itself resulting in a leadership race.
2024-08-19 17:51:21,274 INFO: Lock owner: cray-console-data-postgres-0; I am cray-console-data-postgres-0
2024-08-19 17:51:26,281 ERROR: Request to server https://<IP_ADDRESS>:443 failed: ReadTimeoutError("HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Read timed out. (read timeout=4.999643940944225)",)
2024-08-19 17:51:29,178 ERROR: Request to server https://<IP_ADDRESS>:443 failed: ReadTimeoutError("HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Read timed out. (read timeout=2.0940666801761836)",)
2024-08-19 17:51:30,672 ERROR: Request to server https://<IP_ADDRESS>:443 failed: ReadTimeoutError("HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Read timed out. (read timeout=1)",)
2024-08-19 17:51:30,672 ERROR: failed to update leader lock
2024-08-19 17:51:30,672 INFO: Demoting self (immediate-nolock)
2024-08-19 17:51:33,303 INFO: demoted self because failed to update leader lock in DCS
2024-08-19 17:51:33,305 WARNING: Loop time exceeded, rescheduling immediately.
2024-08-19 17:51:33,308 INFO: closed patroni connection to the postgresql cluster
2024-08-19 17:51:33,635 INFO: postmaster pid=242822

When this occurs the database can failover and while the Kubernetes ClusterIP load balancer for each database is updated correctly, the clients never have their connection to the former leader broken so are unaware a failover has occurred and continue to send it transactions resulting in errors like the following.
2024/07/03 09:12:20.006580 smd.go:322: SCNSubscriptionRefresh(): Lookup failure: pq: cannot set transaction read-write mode during recovery

The older version of the Spilo image used in CSM 1.4 does not behave this way.
A workaround to the problem is to use the PATRONI_KUBERNETES_BYPASS_API_SERVICE environment variable which causes Patroni resolve the API nodes behind the kubernetes service and uses those rather than relying on the single IP.
Issues and Related PRs

Resolves CASMTRIAGE-7120

Testing
Tested on:

surtur
starlord
gamora

Test description:
Tested on surtur by rebooting ncn-m002, the leader registers a temporary loss of access to the kubernetes service but does not fail over.
2024-08-23 14:41:16.211 UTC [30] LOG {ticks: 0, maint: 0, retry: 0}
2024-08-23 14:41:21,006 INFO: no action. I am (cray-console-data-postgres-0), the leader with the lock
2024-08-23 14:41:29,449 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=0, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Read timed out. (read timeout=4.999775651842356)",)': /api/v1/namespaces/services/pods?labelSelector=application%3Dspilo%2Ccluster-name%3Dcray-console-data-postgres
2024-08-23 14:41:30,674 INFO: no action. I am (cray-console-data-postgres-0), the leader with the lock
2024-08-23 14:41:40,676 INFO: no action. I am (cray-console-data-postgres-0), the leader with the lock
2024-08-23 14:41:46.219 UTC [30] LOG {ticks: 0, maint: 0, retry: 0}

This was also tested on gamora, all master nodes were rebooted as part of the managed node rollout with no PostgreSQL database oddities noted (issue usually manifests itself by cray smd ... or sat status commands failing and cray-console stops working because cray-console-data can't talk to its database).
Risks and Mitigations
When the ConfigMap is updated, the operator updates the StatefulSet of every PostgreSQL database with the PATRONI_KUBERNETES_BYPASS_API_SERVICE environment variable. Simply removing the variable from the ConfigMap reverses the procedure.
Pull Request Checklist

[X] Version number(s) incremented, if applicable
[X] Copyrights updated
[X] License file intact
[X] Target branch correct
[X] CHANGELOG.md updated
[X] Testing is appropriate and complete, if applicable
[X] HPC Product Announcement prepared, if applicable

Do you think that this is a long-term fix, or is this something that might be resolved in a later release?  (i.e., since this seems to be new behavior vs. the older version in CSM 1.4).  If this is a temporary fix, please open a new ticket to revert this so we don't forget about it.

This isn't buildable because we require version 1.8.2 of the postgres-operator chart.
[2024-09-17T10:47:42.907Z] + make chart
[2024-09-17T10:47:42.907Z] mkdir -p kubernetes/.packaged
[2024-09-17T10:47:42.907Z] helm dependency update "kubernetes/cray-postgres-operator"
[2024-09-17T10:47:42.907Z] Getting updates for unmanaged Helm repositories...
[2024-09-17T10:47:42.907Z] ...Successfully got an update from the "https://opensource.zalando.com/postgres-operator/charts/postgres-operator" chart repository
[2024-09-17T10:47:42.907Z] Hang tight while we grab the latest from your chart repositories...
[2024-09-17T10:47:43.836Z] ...Successfully got an update from the "cray-algol60" chart repository
[2024-09-17T10:47:43.836Z] Update Complete. ⎈Happy Helming!⎈
[2024-09-17T10:47:43.836Z] Error: can't get a valid version for repositories postgres-operator. Try changing the version constraint in Chart.yaml
[2024-09-17T10:47:43.836Z] make: *** [Makefile:38: chart_package] Error 1

Zalando have removed it from their repo (oldest available is 1.9.0)
$ helm search repo zd/postgres-operator -l
NAME                	CHART VERSION	APP VERSION	DESCRIPTION
zd/postgres-operator	1.13.0       	1.13.0     	Postgres Operator creates and manages PostgreSQ...
zd/postgres-operator	1.12.2       	1.12.2     	Postgres Operator creates and manages PostgreSQ...
zd/postgres-operator	1.11.0       	1.11.0     	Postgres Operator creates and manages PostgreSQ...
zd/postgres-operator	1.10.1       	1.10.1     	Postgres Operator creates and manages PostgreSQ...
zd/postgres-operator	1.9.0        	1.9.0      	Postgres Operator creates and manages PostgreSQ...

I imagine there is little appetite for bumping the base chart version for CSM 1.6 so the following workaround is probably the best option.
kubectl -n services patch cm postgres-nodes-pod-env -p '{"data":{"PATRONI_KUBERNETES_BYPASS_API_SERVICE":"true"}}'

Probably not very helpful, but the chart is still available directly from GitHub at https://github.com/zalando/postgres-operator/blob/7ee40bfb3837573562687b4a5fa288ca58571cd6/charts/postgres-operator/postgres-operator-1.8.2.tgz


Nuke log in preference of hclog

Latest Raft versions will not compile with current log implementation.
We need to replace use of log across the app (not that big of a deal).
hclog: https://github.com/hashicorp/go-hclog

Hi!
The code doesn't compile due to the logging type mismatch, wouldn't call that an enhancement.
I made master compile using hclog and fixed some other bugs so the tests can be executed.
Unfortunately some code got reformatted, so the resulting PR contains more then the bare minimum of changes.
Are you interested in a PR?
Cheers
Guido

Hi @guidog sure! Feel free to issue it. I was planning on doing it today so I might work on other items.


Padding?

Greetings!
Is there any way to change padding between foreground and background?
It looks not readable:

You'll have to play with the extension code to achieve that because right now the svg icon is pretty much settings-insensitive.


[Sortable] Positions are updated on entity remove, even if removing failed

The Sortable extension updates the position of entities if an entity is scheduled to be removed. But if the removing fails (e.g. on foreign key constraint violence) the positions still get updated, what leads to wrong positioning.
Example
Table A

ID
Name
Position [sortable]

1
aaa
1

2
bbb
2

3
ccc
3

Table B

FK-to-table-A [onDelete restrict]
Name

2
I like bbb

Now, we tell doctrine to remove entity 2 from Table A with
/* @var $em EntityManager */
try {
    $em->remove($entity2);
    $em->flush();
} catch (ForeignKeyConstraintViolationException $e) {
    // ...
}

Because of the foreign key contraint violation the entity won't be removed from database. But at the end of this action Table A will look like that:

ID
Name
Position [sortable]

1
aaa
1

2
bbb
1

3
ccc
2

So the position has been decreased.

After investigeting into this issue I found out, that the decreement of the position field happens before the db transaction starts, which means that the rollback on exception does not roll back the changes of the positions.
Maybe this is the reason. I'll try to look deeper into this.

The problem is, that the position relocations are processed in onFlush event. At this time doctrine has not started the transaction. So that the rollback after the exception does not roll back the changes of the position.
It seems to work, when the call of processRelocations() is moved to other events. I'll test this and create a PR if no tests will break.

After investigeting into this issue I found out, that the decreement of the position field happens before the db transaction starts, which means that the rollback on exception does not roll back the changes of the positions.
The problem is, that the position relocations are processed in onFlush event. At this time doctrine has not started the transaction.
It seems to work, when the call of processRelocations() is moved to other events. I'll test this and create a PR if no tests will break.

@l3pp4rd this issue could be closed, after the PR is merged ;-)

That's great. Thanks!


Respect watch's WATCH_INTERVAL environment variable

Nice tool! I usually set the WATCH_INTERVAL environment variable to 1 in my bashrc to give watch a default interval of 1 second. It would be nice if viddy respectd that variable too.

@benhoyt How would you like to make it work ? The flag for interval sets default interval to 2s if you don't provide the interval flag.
Say, you set the WATCH_INTERVAL . There will be 2 things now:

Either the -n flag is provided. In this case, the value provided by flag will be used and not the value from env variable (doesn't matter if it is set or not)
You don't provide the flag. In that case, what you want to do ?

For the second case, a solution could be, check if env variable is set, if yes, then use the value from env variable. If no, then use the default value from program (which currently is 2s).
Is this the accepted behavior or do you have something else in mind ?

I think it should work the same as watch handles WATCH_INTERVAL: if -n is not provided, use WATCH_INTERVAL; if that's not provided, use the 2-second default. If -n is provided, it overrides WATCH_INTERVAL. I hacked together a version below that seems to work (though there may be a better way to automatically handle environment variables using Viper, I'm not sure):
$ git diff
diff --git a/config.go b/config.go
index 1f4f89a..f9799a7 100644
--- a/config.go
+++ b/config.go
@@ -3,6 +3,7 @@ package main
 import (
        "errors"
        "fmt"
+       "os"
        "strconv"
        "strings"
        "time"
@@ -72,7 +73,8 @@ func newConfig(v *viper.Viper, args []string) (*config, error) {
        flagSet := pflag.NewFlagSet("", pflag.ExitOnError)

        // runtimeConfig
-       flagSet.StringP("interval", "n", "2s", "seconds to wait between updates")
+       const defaultInterval = "2s"
+       flagSet.StringP("interval", "n", "", "seconds to wait between updates")
        flagSet.BoolP("precise", "p", false, "attempt run command in precise intervals")
        flagSet.BoolP("clockwork", "c", false, "run command in precise intervals forcibly")
        flagSet.BoolP("help", "h", false, "display this help and exit")
@@ -97,6 +99,12 @@ func newConfig(v *viper.Viper, args []string) (*config, error) {
        var conf config

        intervalStr, _ := flagSet.GetString("interval")
+       if intervalStr == "" {
+               intervalStr = os.Getenv("WATCH_INTERVAL")
+               if intervalStr == "" {
+                       intervalStr = defaultInterval
+               }
+       }

        interval, err := parseInterval(intervalStr)
        if err != nil {
diff --git a/main.go b/main.go
index 3f4eeba..ba32d56 100644
--- a/main.go
+++ b/main.go
@@ -74,7 +74,8 @@ Usage:
 Options:
   -b, --bell                 ring terminal bell changes between updates
   -d, --differences          highlight changes between updates
-  -n, --interval <interval>  seconds to wait between updates (default "2s")
+  -n, --interval <interval>  seconds to wait between updates (default
+                             WATCH_INTERVAL or "2s" if not set)
   -p, --precise              attempt run command in precise intervals
   -c, --clockwork            run command in precise intervals forcibly
   -t, --no-title             turn off header

Thank to @coolabhays .
This feature is released in v0.3.5.


174422989 — Controller and views for project_link

Controller and views for project_link
In order to replace the nested forms on the projects edit form with something more simple, we want to have a new, and edit page for project links. An index page is not needed.
Adds:

Add routes (non-nested for now) for project_links
Add controller
Add crud views
Auth via pundit

[#174422989]
https://www.pivotaltracker.com/story/show/174422989

@knowuh is this ready for review?

Not quite yet -- soon!

@knowuh can you take a look at my changes? I can't add you as a reviewer since it is your PR.

I technically can't approve this PR, but it looks 💯


Fix warning; match uv_fs_type order to upstream

This removes a duplicate declaration of uv_fs_lchown, and adjusts the order
of UV_FS_LCHOWN inside uv_fs_type to match upstream libuv.
Resolves https://github.com/JuliaLang/julia/issues/30264

Looks good to me. This has landed upstream as a combination of

https://github.com/libuv/libuv/pull/2104
https://github.com/libuv/libuv/pull/1913

I don't know whether people want to carry a patch for this specifically or would rather wait until the next libuv refresh though.

LGTM, but repository is now archived. Please reopen this at https://github.com/JuliaLang/libuv if you feel it is important to have now, otherwise I think we'll just wait for the next libuv release


Flacky test_list_all_indexes_raw test

Description
The following is a flacky test:
https://github.com/meilisearch/meilisearch-rust/blob/09f9eb5baac017b1b0a820c4646dd671ac883de3/src/client.rs#L936-L941
See the following github-action: https://github.com/meilisearch/meilisearch-rust/runs/6304373859?check_suite_focus=true
Not sure when it was introduced
Expected behavior
Always succeed
Current behavior
Regularely fail.
Any idea @irevoire ?

Fixed with #315


Install package only installed the 'SFTP Downloader'. Missing the SFTP Uploader tool.

Trying to install the two tools on our Alteryx Server instance.
Server Version: 2<IP_ADDRESS>45
Package running: SFTPTools_Alteryx-1.0.2-alpha
I downloaded the zip file, the navigated to the .yxi file under (SFTPTools_Alteryx-1.0.2-alpha\alteryx_installer)
The installer ran successfully in under 2 minutes, but failed to install the STFP Uploader tool.
How do I get the second tool installed?

Hi, @jalenbraegelmann.
Thank you for the question!
This was a bug in the installer. I included the Upload-Tool in the latest commit.
I hope this helps!
Kind regards
Michael

PythonDependencyInstall.log
I'm able to see the folder of the install now after the latest commit and it says it installed successfully. But the Upload tool doesn't show up in Designer (the Downloader does, however). I've very green in this space is there anything else I can try?
Thanks!


nixos/pam: assemble rules from modular configuration

Description
Refactors the security.pam module to assemble /etc/pam.d files from modular rule configuration. Rules can now be modified, added, toggled, and reordered.
Problem statement
The existing module is inflexible and does not allow a user to reconfigure the PAM stack:

Module arguments cannot be changed if there is not already a corresponding option.
Rule control settings cannot be changed.
Rules cannot be reordered.
New rules can only be added at the beginning or end of the stack.

See this Discourse thread for more discussion.
Design
A rule set is defined for each service and type (account, auth, password or session). A rule set is now expressed as an attribute set of named rules:
{
  security.pam.services.su.rules.auth = {
    wheel = {
      enable = true;
      control = "required";
      modulePath = "pam_wheel.so";
      order = config.security.pam.services.su.rules.auth.unix - 10;
    };
  };
}

The rule name (attribute key) can be used to merge multiple configurations of the same rule (e.g. to override a built-in rule).
Rules have an order option which determines the order the rules are written to the PAM config files. Built-in rules are automatically assigned an order value based on their hard-coded position. Some kind of ordering mechanism is necessary because the rules are now configured in an attribute set.
The new config options are hidden and marked experimental so that maintainers may freely modify the option design or the ordering of rules.
Example
{
  security.pam.services = let
    serviceCfg = service: {
      rules.auth = {
        unix = {
          control = lib.mkForce "requisite";
        };
        rssh = {
          order = config.security.pam.services.${service}.rules.auth.unix.order + 10;
          control = "sufficient";
          modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so";
          settings.auth_key_file = "/etc/rssh/authorized_keys";
        };
      };
    };
  in lib.flip lib.genAttrs serviceCfg [
    "sudo"
    "su"
  ];
}

This example configures the PAM stack in ways not currently possible:

The pam_rssh module is enabled and integrated into the existing service rules.
The pam_unix rule is changed from requires to requisite.
The pam_rssh rule is ordered after the pam_unix rule.
The pam_rssh module is passed an additional auth_key_file argument.

Authentication section of the resulting /etc/pam.d/sudo file:
# Authentication management.
auth requisite pam_unix.so likeauth try_first_pass # 11600
auth sufficient /nix/store/cn5lccdcx38k81wjz42v63k8c82y2kkq-pam_rssh-1.1.0/lib/libpam_rssh.so auth_key_file=/etc/rssh/authorized_keys # 11610
auth required pam_deny.so # 12400

Review notes

Changes are best reviewed commit-by-commit.
Many of the commits can be reproduced with regex substitution.
None of the commits change the behavior of the resulting PAM rules.

Related work

https://github.com/NixOS/nixpkgs/issues/90640
https://github.com/NixOS/nixpkgs/pull/105098
https://github.com/NixOS/nixpkgs/pull/105319

Since previous attempts lost steam and were abandoned, I'm hoping we can merge this smaller rework and iterate on the module design in subsequent PRs.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] armv7l-linux (cross)

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)

[x] pam-file-contents
[x] pam-oath-login
[x] pam-u2f
[x] pam-ussh
[x] pam-zfs-key

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/what-do-you-want-from-pam-security-pam-in-nixos/33265/1

Improved commit readability.
Renamed a couple of the new options.
Fixed trailing whitespace issues.

This is ready for review! I've been running this on my daily driver without issues. The commits are easy to get through, I promise. Take a look and leave your comments! :bowing_man:

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/what-do-you-want-from-pam-security-pam-in-nixos/33265/8

A quick thought (I haven’t spent time considering all the implications), but instead of a numerical ordering, would it make sense to use a DAG like home-manager does?
With something home-manager’s machinery the su example would become:
{
  security.pam.services.su.types.auth.rules = {
    unix = {
      control = lib.mkForce "requisite";
    };
    rssh = dag.entryAfter [ "unix" ] {
      control = "sufficient";
      modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so";
      settings.auth_key_file = "/etc/rssh/authorized_keys";
    };
  };
}

This might make using entries with [value=N] controls somewhat unreliable, but I suspect that’s the case even with numbered ordering.

A quick thought (I haven’t spent time considering all the implications), but instead of a numerical ordering, would it make sense to use a DAG like home-manager does?
This might make using entries with [value=N] controls somewhat unreliable, but I suspect that’s the case even with numbered ordering.

During my original rework I decided against doing something like this especially because it may end with an inconsistent ordering of options. I quite like the way this PR deals with it by recommending referencing existing entries' order.

I also think that a DAG would be better.

The fact that one can specify a constant for order is a footgun.
order defaulting to 1000 + i * 10 raises eyebrows:
a. What if I refer to more than 10 rules to be in order after each other (using the ... + 1 mechanism suggested)? Looks like I would get two rules with the same order value.
b. What if I create more than 1000 / 10 rules? Again, it looks like I would get two rules with the same order value.
How are rules with the same order value placed? If there's no tie breaking, I fear that this will be done non-deterministically, or at least the user loses control of whichever deterministic process does the ordering.

@rissson could you please explain or give an example for an "inconsistent ordering"? Generally, if the order implied by the DAG is not total, then yes, there are multiple ways of manifesting the rules in a sequence. But in that case, one can add an edge. And some deterministic tie-breaking should be considered. However, you get similar (the same?) issues with just numbering (see (2.) and (3.) above).

Thanks for linking the home-manager reference. I think the DAG option is interesting!
Both DAG and order face ambiguous ordering scenarios, and I think both can be made to tie-break on the rule name. In the case of order, I think this happens already because sort is a stable sort.
With order, we can define well-known values, for example 1000 could mean "first pass", 2000 could mean "2FA", etc. With DAG, we can do something similar by ordering rules before/after some well-defined labels (almost like systemd targets).
I don't know how the DAG option handles config overrides. Is it practical for users to reorder rules? If there is a graph a -> b -> c, then setting c -> b would create a cycle, so the user would have to somehow unset b -> c in order to get a -> c -> b. Reordering like this is simpler with order at first glance.
I'm not worried about exhausting the rule space with order. We can make the spacing 100 or 1000 and make it arbitrarily unlikely that someone will declare that many PAM rules.

What if I create more than 1000 / 10 rules? Again, it looks like I would get two rules with the same order value.

The values don't wrap around. If there are many rules, the value will just get arbitrarily large. The order for a rule defined in the hardcoded list in pam.nix is 1000 + i * 10, but the default for the submodule is simply 1000.

This might make using entries with [value=N] controls somewhat unreliable, but I suspect that’s the case even with numbered ordering.

Yes, I think it's a (mild) problem with both. It can be solved with substack rules so that [value=N] controls are never needed.

My thinking is that for now, it doesn't matter much which one we choose. The new options are all hidden from the manual, so we can freely change the option interface in a follow-up PR. It should be easy to find and update usages inside nixpkgs.
I lean toward sticking with order because (a) it's more clear how rules may be reordered, and (b) it looks like the DAG option involves pulling some code from home-manager into nixpkgs lib. I would also like to experiment with the user experience of the DAG option to make sure it supports the main use cases.
Overall, I'm aiming to make a series of PRs to overhaul pam.nix, so it's not important that this one gets everything perfect.
Questions for all:

Do you agree that it's okay to stick with order for at least this first round of changes?

Do you think the new options being hidden is enough to let us safely break the interface in the future?

@infinisil Thank you for the review! This is ready for another pass.

For the record: I'm still not entirely happy about the order option, but I don't think it matters very much, these options will be marked as experimental, and it looks like you intend to continue with this effort after this is merged @Majiir.
I think it's okay to merge this as is, but let's give @rissson and @kwohlfahrt some more time to give their approval or suggestions too.

This is already a massive improvement as you now don't have to override the whole generated file to get what you need.

For the record: I'm still not entirely happy about the order option, but I don't think it matters very much, these options will be marked as experimental

The main issue is being sure that the order is always the same no matter what. As a user, saying that rule A needs to be after rule B is not sufficient enough. Perhaps the order being described as an int is not enough. We could also imagine asking the user for an ordered list that contains the order they want their rules in.
I'm very happy to see this making some progress, and am excited to see the next steps!

I am here because I just hit a merge conflict on rebasing my fork where I changed the pam module rather than using options because the old module just didn't allow it. I just wanted to say a huge thank you to everyone involved that helped closing this giant gap! ❤

I've been eagerly awaiting this PR landing in unstable so I could reorder my swaylock auth lines and make both fprintd and password work, thank you for the work that went into this!

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/set-the-sudo-password-separately-than-the-login-password-on-nixos/56565/3


Logging client real IP while running ttyd under a reverse proxy

I am running ttyd in my host machine (that is, not under docker, vm or bridged network) with the following command:
$ ./ttyd.x86_64 -i <IP_ADDRESS> -p 9000 -W command
It is then reverse proxied through nginx. Part of the relevant nginx config is below:
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;

Requests are logged in the terminal as:
HTTP / - <IP_ADDRESS>
WS   /ws - <IP_ADDRESS>, clients: 1

How do I get ttyd to log the clients' real ip instead of <IP_ADDRESS>? I should mention that passing or not passing the -i option doesn't (and shouldn't) have any effect here.

It's not supported yet, but why? you can already log the real ip with nginx.

I tagged this as a question because I wasn't sure if it just wasn't supported or I just didn't know how to. So your comment answers my question.
But either way, even though nginx can log ip fine, it would be nice too to be able to see the ip on ttyd logs on terminal. I am forwarding he real-ip related headers from nginx, ttyd just needs to read the values from the header and print it on terminal.


Moving chromecast button outside of the the controlbar

I was wondering if there is any way I can register the chrome-cast button outside of the control bar.
Using addButtonToControlBar=false in the plugin object simply makes the  button to disappear from the control-bar.

Hi,
Try changing attributes of the .vjs-chromecast-button.

Hi , can you please elaborate. I have also tried giving same class to custom button but that doesn't seem to be working.


500 error on api call

seems to have broken - most likely from openai api / module update?

seems to be working fine


fix(topology): fix to layout nodes correctly on first load

Description
Initial loading of the topology view can, in instances, fail to layout the nodes centered on the view (in particular, in the Janus Showcase application.
Fix
The fix is to wait until the graph surface area has been initialized and sized so that the graph component has dimensions. This allows the layout of the nodes to be set based on the current graph size and centered on the graph surface.
/cc @invincibleJai

Thanks a lot @jeff-phillips-18 👍
there are some lint failures https://github.com/janus-idp/backstage-plugins/actions/runs/7847970308/job/21418079182?pr=1194#step:3:429

/lgtm tested locally too


[ci]: Fix buildx error with docker/build-push-action

Description of the Change

Apply the diff between a reproduction and a fix on my fork

Issue

https://github.com/hyperledger/iroha/actions/runs/3042899274/jobs/4902058622

Benefits

Publish iroha2:<tag> images

Possible Drawbacks

None

If it helps, it means that the compilation error of the longevity script is caused by another problem.

If it helps, it means that the compilation error of the longevity script is caused by another problem.

Yeah, actually it's a different error message
https://github.com/soramitsu/iroha2-longevity-load-rs/actions/runs/3043097792/jobs/4901991183


Add color?

I see there is a method for changing TextNode color in the ObjC code, and I've tried a few things and failed. Every time, it is white. What am I doing wrong?
<ARKit.Text color="rgba(0,0,0,1)"...
<ARKit.Text color r={0} g={0} b={0}...
<ARKit.Text color={{r:0,g:0,b:0}}...

I'm dumb... it's in the font object:
<ARKit.Text font={{size:0.04, depth:0.04, color:"rgba(0,0,0,0)"}}...


Button sizing with  label and 14/15px root font size

When having a root font size of 14 or 15 pixels, when a label is used inside a button text, that button won't scale correctly. E.g.

  <button type="button" class="btn btn-warning">Test of strong label</button>
  <button type="button" class="btn btn-warning dropdown-toggle"></button>

    Foo

Produces:

This is strange, since it happens only with 14 or 15 pixels root font size, when with 13 pixels it scales correctly again.
Fiddle: http://jsfiddle.net/heruan/qnarqu8p/

@heruan it's because of the weight of the strong text. Just putting  </strong inside of your .dropdown-toggle fixes the scaling though I agree that's not the ideal solution by any means.

Thank you @kkirsche, I wonder why it doesn't happen with a root font size of 13 or 16 pixels. If the weight of strong text matters, I would expect the same behaviour with any font size.

This is an age old problem with the weights. I don't have a good answer or fix for you though :. Could be related to our font stack but I feel like if that were the case universally we'd have more reported issues.

Punting on this. Latest native font stack might help a bit since this is a pretty big problem with Helvetica Neue in particular.


Implement ObjectCollisionKart

TODO: Do we implement KartSettings so we don't need to get the Vehicle from RaceConfig?


Store versionid

Is there any way I can store the versionid somehow? It's a Cow internally, is there anyway to get it as a String?

For what service/sdk? Please clarify "versionid".

Sry. I mean in Azure Storage Blobs. this VersionId.


Apply black 24.1 formatting

New rules in black 24.1 version failed CI Lint check.
This PR applies black 24.1.0 formatting to code base.

/intelci: run

@Alexsandruss  @icfaust  - should we pin black versioning so it will be controlled within sources?  Can be done as separate change

I think thats a good idea


python312Packages.bids-validator: fix build

ZHF: #352882
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 353943

x86_64-linux

:x: 4 packages failed to build:

python311Packages.heudiconv
python311Packages.heudiconv.dist
python312Packages.heudiconv
python312Packages.heudiconv.dist

:white_check_mark: 24 packages built:

python311Packages.bids-validator
python311Packages.bids-validator.dist
python311Packages.bidsschematools
python311Packages.bidsschematools.dist
python311Packages.nipype
python311Packages.nipype.dist
python311Packages.niworkflows
python311Packages.niworkflows.dist
python311Packages.pybids
python311Packages.pybids.dist
python311Packages.templateflow
python311Packages.templateflow.dist
python312Packages.bids-validator
python312Packages.bids-validator.dist
python312Packages.bidsschematools
python312Packages.bidsschematools.dist
python312Packages.nipype
python312Packages.nipype.dist
python312Packages.niworkflows
python312Packages.niworkflows.dist
python312Packages.pybids
python312Packages.pybids.dist
python312Packages.templateflow
python312Packages.templateflow.dist

@ofborg build python312Packages.heudiconv python312Packages.heudiconv.passthru.tests


Connect via AD passthrough instead of service principal

Is it possible to authenticate using AD passthrough with a user account instead of a service principal? If not what would be needed for me to add this functionality? Thanks

Hi @pdevinepc, this library is now obsolete.  Please look at the work we're doing with the spark-cdm-connector https://github.com/Azure/spark-cdm-connector.    We don't yet have AD passthrough but are working on enabling that.


Pin CNI and VNET network plugins to specific version

Fixes #556.
Simply hardcoded the CNI and VNET plugins as a start. At the very least this will help ensure plugins don't change underneath us.

This change is

@seanknox,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Also cc @ofiliz

Also @shrutir25

Hey @dmitsh, this failed on a Swarm test. Doesn't seem relevant to this PR: https://jenkins.azure-containers.io/job/acs-engine-pr/311/console
Specifically, it looks like CI timed out.
SUCCESS [set_azure_account main]
SUCCESS [generate_template test-acs-examples-swarm-southcentralus-311-2]
SUCCESS [generate_template test-acs-examples-swarmmode-westus2-311-3]
SUCCESS [generate_template test-acs-examples-dcos-eastus-311-1]
SUCCESS [generate_template test-acs-examples-kubernetes-westus-311-0]
SUCCESS [deploy_template test-acs-examples-kubernetes-westus-311-0]
SUCCESS [deploy_template test-acs-examples-dcos-eastus-311-1]
SUCCESS [deploy_template test-acs-examples-swarm-southcentralus-311-2]
SUCCESS [cleanup test-acs-examples-swarm-southcentralus-311-2]
SUCCESS [validate test-acs-examples-dcos-eastus-311-1]
SUCCESS [cleanup test-acs-examples-dcos-eastus-311-1]
SUCCESS [validate test-acs-examples-kubernetes-westus-311-0]
SUCCESS [cleanup test-acs-examples-kubernetes-westus-311-0]
Error [deploy_template test-acs-examples-swarmmode-westus2-311-3] : signal: killed
SUCCESS [cleanup test-acs-examples-swarmmode-westus2-311-3]
Error: Test failed

What do you think is a good course of action here?

This is ARM error:
{
"status": "Failed",
"error": {
"code": "ResourceDeploymentFailure",
"message": "The resource operation completed with terminal provisioning state 'Failed'.",
"details": [
{
"code": "VMExtensionProvisioningTimeout",
"message": "Provisioning of VM extension 'configuremaster' has timed out. Extension installation may be taking too long, or extension status could not be obtained."
}
]
}
}  Correlation ID: 24d63c2e-600b-444b-9c97-d88cf65e2370
We are having these random failures, unfortunately.
I'm collecting statistics and filing IcM (my pet project :-) )
Let's restart the test
I've just started

@acs-bot test this please

Thanks @dmitsh. I'm going to do some manual testing of this PR as well. Definitely want @ofiliz to give a 👍  too.

Can't tend to this at the moment. Going to schedule in the backlog proper.


spypad

Ready to make a PR? Great! Make sure your directory structure looks like this:
├── CAD
│   ├── case.stl
│   └── plate.dxf
├── firmware
│   └── rp2040.bin
└── PCB
├── macropad.pro
└── macropad.sch
(The file names do not matter, just the folders)

*There are some comments in the code because I put it through chatgpt to explain how to do some stuff, then it just commented everything

Hi - What do you mean by Add Binary?

Hi,
There’s a .step file inside the .zip file. I can’t upload the raw step
because it’s too big.
On Tue, 22 Oct 2024 at 03:59, Alex Ren @.***> wrote:

@.**** requested changes on this pull request.
This is awesome! I love the decals. A couple things:

The macropad needs to go into the hackpads folder, seems like the
directory structure is a little messed up. I can fix it if you can't figure
it out
The case is in a ZIP, I need a .STEP file

good luck!
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/hackpad/pull/32#pullrequestreview-2383192268,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAJTMJVT67X36X4L2LLCL4DZ4VMLXAVCNFSM6AAAAABPN7Y65WVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGOBTGE4TEMRWHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sry I accidentally closed it, Im not very experienced in prs lol. I fixed the directory issue but Im not sure if I can do anything about the .step file.

Ok it worked :) [By the way in the cad there's an assembled version of the macropad, don't print that :D]


[Task]: Implement JsonUtils

What needs to happen?
The output of this task is to create org.apache.beam.sdk.schemas.utils.JsonUtils.
The purpose is to have a central place for helper methods to convert to and from Json encoding in the setting of schema-aware PCollections.
The design will pattern similar but not exactly as AvroUtils in the same package.
Issue Priority
Priority: 2
Issue Component
Component: sdk-java-core

.take-issue


Issue 1080 add funds to org

Coverage decreased (-0.09%) to 71.568% when pulling efdab29494aee6cf9da45cc50649da945f1e0046 on issue-1080-add-funds-to-org into<PHONE_NUMBER>ab6bcfcdddd56d8e7b9f572e41b10a on master.


'HyperDriveStep' requires 'ScriptRunConfig' to have attribute called 'data_references'

Package Name: azureml.train.hyperdrive.HyperDriveConfig()
Package Version: 1.0.1b6.pos1
Operating System: Windows 10
Python Version: 3.8.5

Describe the bug
when I create a pipeline step for hyperdrive and specify the run_config parameter as a ScriptRunConfig object, initialization of HyperDriveStep fails because ScriptRunConfig has no attribute 'data_references'.
To Reproduce
Steps to reproduce the behavior:

create a ScriptRunConfig object with a training script

run_config = ScriptRunConfig( source_directory=source_directory, script="train.py",
environment= Environment.get(ws, name="xgb-hp"),
    compute_target= compute_cluster)

create a HyperdriveConfig object with this ScriptRunConfig.

hyperdrive_config = HyperDriveConfig(  run_config=run_config,
    hyperparameter_sampling=bayesian_sampling,
    primary_metric_name='test-mae-mean',
    primary_metric_goal=PrimaryMetricGoal.MINIMIZE,
    max_total_runs=60,
    max_concurrent_runs=3
    )

try to create a HyperDriveStep object of a pipeline with this HyperdriveConfig

hyperdrive_step = HyperDriveStep(
        name='storeys:hyperdrive',
        hyperdrive_config=hyperdrive_config,
        estimator_entry_script_arguments=[],
        inputs=[train_dataset.as_input('train')],
        outputs=[params_dataset],
    )

Expected behavior
A clear and concise description of what you expected to happen.
HyperDriveStep should hot ask ScriptRunConfig for this atribute
Screenshots
If applicable, add screenshots to help explain your problem.
this is the Error stack:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-57-26fcafea004b> in <module>
      1 # creates the hyperdirve pipeleine step
----> 2 hyperdrive_step = HyperDriveStep(
      3         name='storeys:hyperdrive',
      4         hyperdrive_config=hyperdrive_config,
      5         estimator_entry_script_arguments=[],

~\.conda\envs\AML-prep-xgb\lib\site-packages\azureml\pipeline\steps\hyper_drive_step.py in __init__(self, name, hyperdrive_config, estimator_entry_script_arguments, inputs, outputs, metrics_output, allow_reuse, version)
    188         if run_config.arguments:
    189             raise ValueError('arguments in run_config should not be provided. Please use arguments in the step')
--> 190         if run_config.data_references:
    191             raise ValueError('data_references in run_config should not be provided. Please use inputs in the step')
    192

AttributeError: 'ScriptRunConfig' object has no attribute 'data_references'`

Additional context
Add any other context about the problem here.

Hi,
I have same problem. How did you solve it?

@masgra
Hi,
I have  same problem. How did you solve it?

Should be fixed with the newest version of AML SDK. If you can't updat, you are stuck with using Estimator

Should be fixed with the newest version of AML SDK. If you can't update, you are stuck with using Estimator

Yes. It works now. Thanks


Added new tests  for OPen

Coverage increased (+0.5%) to 75.223% when pulling 975be01bd0541105b47a6ad8178ae6aaa0c11c04 on refactoring/guble-cli-test-coverage into 3f6b47f0e97df278646d103d16b72e68f979fbd9 on master.


package request: guix

Project description
GNU Guix is an advanced functional package manager.... just like Nix.
Metadata

homepage URL: https://guix.gnu.org/
source URL: http://git.savannah.gnu.org/cgit/guix.git/
license: gpl3+
platforms: linux

Notes:
Guix was previously removed because it was unmaintained:
https://github.com/NixOS/nixpkgs/commit/5dab370d7779b0e372da00dcd262c64c2d8b58eb
https://lists.gnu.org/archive/html/guix-devel/2016-03/msg00873.html

https://github.com/NixOS/nixpkgs/pull/56430 is open since august so it's a bit outdated but guix works with it.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/install-guix-on-nixos-system/6275/3

The last discussion was 7 months ago. I will close this.

@mehlon What's the status on your branch? Or is it @pukkamustard?

@mehlon What's the status on your branch? Or is it @pukkamustard?

I'm no longer maintaining the branch and haven't tested it in a long time. Maybe @mehlon or other people have tested it recently?

@pukkamustard 's code seems to be working fine. I've  made a flake out of it for NixOS 22.05 & Guix 1.3.0.

@pukkamustard 's code seems to be working fine. I've made a flake out of it for NixOS 22.05 & Guix 1.3.0.

Do you wanna merge it?

@AndersonTorres Probably not a good idea finally, re-reading the history of this package I see that an upgrade  has been done by @mohe2015  here : https://github.com/NixOS/nixpkgs/pull/150130 and abandonned because "this breaks things in subtle ways".

@AndersonTorres Probably not a good idea finally, re-reading the history of this package I see that an upgrade  has been done by @mohe2015  here : https://github.com/NixOS/nixpkgs/pull/150130 and abandonned because "this breaks things in subtle ways".

Unfortunately I can't remember any more what broke exactly. It may be possible that you need to fix like one line in the bash activation script or so and then everything is working fine. If somebody throughougly tests this and it's working it's probably fine. Feel free to base it off my commits (please keep me and others that authored that code as co-author then)

Hey there! I've made an overlay that contains the package and a NixOS module for Guix. It has successfully built against a recent revision of the source code and recently resolved this issue which means the NixOS module can now use the Nix-built package nicely (which I'm currently using).
It is still missing some things though such as Disarchive which is needed for some operations in Guix such as guix perform-download and as download fallback. It is already packaged but I cannot figure out what is the problem here.
Help wanted and appreciated in this project. Feedback on testing the service package definition and documentation is appreciated (especially code contributions ;D)!

guix is added in https://github.com/NixOS/nixpkgs/pull/246975
https://github.com/NixOS/nixpkgs/pull/264331 works on a module


Reason for decline

It seems you have your DMs turned off to the bot which is where the reason normally goes.
Plugin has been declined with the following reason:

This performs a document.querySelector on every single mutation observer event blindly and without filtering. This can have a major performance effect for users with lesser PCs. Please use filterings of the mutation records provided in the observer function to limit the scope or prevent the need for a querySelector at all. If you're unsure how to do this please reach out to myself (Zerebos) or to the community in the Programming channel in the BetterDiscord server.

It's much better now in the current version, though you can use some more resilient selectors. Additionally, it seems that it does not work on image galleries. If you want some help, feel free to reach out in the programming channel on the BD Discord server.

@rauenzi

Additionally, it seems that it does not work on image galleries.

I'm aware of it not working on gallery view #1, but I don't have time for it right now

though you can use some more resilient selectors.

What would that be? Is there a better way other than using tag + class names?

Instead of doing for example node.matches('div.layer_ad604d') you can do node.matches('div[class*="layer_"]') or instead of node.querySelector('.loadingOverlay__4d818') do node.querySelector('[class*="loadingOverlay__"]')

BTW to clarify the resilient selector stuff is not preventing your plugin from being accepted. I'm just debating about #1 just because I can see users stumbling into that very quickly and coming to bd support.

Instead of doing for example node.matches('div.layer_ad604d') you can do node.matches('div[class*="layer_"]')

Got it

I'm just debating about https://github.com/Legend-Master/discord-better-image-viewer/issues/1 just because I can see users stumbling into that very quickly and coming to bd support.

I'll take a look when I got the time, and submit again after implementing it then

@rauenzi I just added gallery view support (6c995bccaf2b0dd138c2fd8995a071b9bef4e9ff) and changed selectors to '[class*="loadingOverlay__"]' style (b6286fe6de431c5543fcd5ebb28284d125a03947), would mind take a look again?

Yeah it looks good, resubmit it to the site and I should be able to approve it today!

btw can you join the BetterDiscord server? I don't currently see you in there.