Partial tags not rendering local variables

Note: For general questions and feature requests please leave a message
on Gitter: https://gitter.im/comfy/comfortable-mexican-sofa
Expected behavior
Tell us what should happen

when we want to render a partial template using the cms partial tag, the local variables should be passed along to the partial template

Actual behavior

the partial template is rendered, but the local variables are not passed to the template

Steps to reproduce

Add a cms partial tag to a cms layout: {{ cms:partial "path/to/partial", local_var: "value" }}
This tag will be converted to <%= render partial: "path/to/partial", locals: {"local_var" => "value"} %>
Inside the partial template, <%= local_var %> will not be rendered.
Workaround: use <%= local_assigns["local_var"] %> to render.

I've forked the comfy-demo to illustrate the issue.
Steps to reproduce:

git clone https://github.com/lhjd/comfy-demo/
cd comfy-demo
bundle install
yarn install
rails db:create
rails db:migrate
rails db:seed - to create a demo site called mydemo
rails 'comfy:cms_seeds:import[mydemo, mydemo]' - import from mydemo cms seeds folder to mydemo site
rails server
go to http://localhost:3000

Actual:

Expected:

Workaround:

use <%= local_assigns["local_var"] %> instead of <%= local_var %> in the partial template

I've created a branch workaround to illustrate this.
Steps to reproduce:

git checkout workaround
go to http://localhost:3000

System configuration
Rails version:
rails (6.0.2)
CMS version:
comfortable_mexican_sofa (2.0.18 e13ce5d)
Ruby version:
ruby '2.6.5'

I can confirm this is happening.


AI collisions are broken

Spawn any AI
Push them into a wall with a locker
They enter the wall

They also act very buggy when interacting with many others AI in a closed space

Cant reproduce anymore


NIFI-6992 - Add "Batch Size" property to GetHDFSFileInfo processor

https://issues.apache.org/jira/browse/NIFI-6992
Added "Batch Size property", takes effect only if "Destination" is set to "Content" and "Grouping" is set to "None"
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

[x] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[x] Have you written or updated unit tests to verify your changes?
[x] Have you verified that the full build is successful on both JDK 8 and JDK 11?
[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[x] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[x] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[x] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

@turcsanyip Thanks for the comments, I applied all the suggested changes.

@markap14 As the batch size only used when the Grouping=NONE and Destination=CONTENT, I suggested having no default value. For me it is more consistent, if a property has no value if that value will not be used. It might be a wrong approach and actually I haven't checked how it is handled in similar cases in NiFi.
Regarding the empty string, I agree with you, I overlooked it in the review.

Thanks @tpalfy for this improvement - definitely think this will help for users that want to monitor huge HDFS directories! I think we can simplify the code and the user experience a bit by avoiding the use of an empty string for Batch Size, as I indicated in the inline comments. But please do let me know if I misunderstood something.
Another option that may further simplify things would be to set the default value of the Batch Size property 1. Then, in the custom validate, rather than check if it's set, check if the value is 1 or not. That way, you could actually avoid ever even having to check if the value is null, etc. because the validators guarantee that it's a positive integer and the default value guarantees that it is non-null. Up to you if you want to go this route, but I think it simplifies the code (and tends to adhere to common nifi patterns).

Hi @markap14,
Yes, this was my first approach.
However, @turcsanyip suggested we should help the users notice if they misconfigure the processor by making sure that the otherwise valid 'Batch Size' values become invalid unless the prerequisites are met (i.e. 'Destination' is set to 'Content' and 'Grouping' is set to 'None').
With that we needed a valid value when the prerequisites are not met, which would be the empty string.
So basically the user should clear the value if it's not going to be used.

@tpalfy personally I am ok with either approach - to simple ignore the value when it doesn't make sense to use it (and document exactly when it will be used) or to require that no value be specified when it won't be used. I prefer the latter. And I think that you, @turcsanyip, and I are all in agreement there.
What I am questioning here is rather the notion of allowing an empty string. I am suggesting that we should not allow an empty string to be set. Rather, it must be set to an integer or it must be unset. NiFi does distinguish between an unset value and a value set to an empty string. So my recommendations are as follows:

Just use the POSITIVE_INTEGER_VALIDATOR with the optional property. Do not wrap that validator in one that allows an empty string to be set.
In customValidate, require that the Batch Size be unset unless the Grouping and Destination are appropriate.

This approach is very consistent with the user experience offered elsewhere. It means that the user cannot set the Batch Size when it does not apply. It means that if it is set, it MUST be a positive integer. It also means that the code is simplified by not requiring the extra "wrapping" validator and that rather than checking isEmpty in a lot of places, we can just check if null (or isSet()) which tends to lend itself to code that is easier to understand.

@markap14 I see, we want to distinguish null and empty String. Fair point, I updated the PR.

@tpalfy Thanks for the refactor.
LGTM +1

Thanks @tpalfy sorry for the lack of clarity there. Looks good to me now too.

Merging to master.


Tickable priority binding missing?

The documented means of binding ITickable priority seems to be missing from DIContainer. As far as I can tell, I couldn't find any different way to do so.

You mean this?
Container.BindTickableExecutionOrder<Foo>(10);
This seems to work when I try it

That method does not show up for me in intellisense, nor does it show up in the DIContainer class, or any method with the word "Order" in its name. The version I have is 5.2.0.

Oh I bet it's because those methods are extension methods, which means you have to execute "using Zenject" at the top of your file to see them.  I'm guessing you refer to zenject classes using their namespace (eg. Zenject.MonoInstaller)?
I think we should make these normal methods to avoid this problem

Ah, not having the namespace was indeed the issue, tho not for the reason you theorized. I was trying to bind in a class that extends a class that extends MonoInstaller
example...
using Zenject;

public class BaseInstallerClass : MonoInstaller
{

}
----------------------- Separate File ------------------
public class SubInstallerClass : BaseInstallerClass
{
    public override InstallBindings()
    {
        // The priority binding methods do not show up
    }
}


Fix kitty font parsing when font name has whitespaces

Description
As mentioned in #1193, the current implementation doesn't work for me. In my settings, the font is Iosevka Term SS08. And if I won't get the full font name.

The line needs to be below 100 columns before I can merge. Otherwise LGTM :+1:,


The binary file created does not start.

Hello. I cannot run a created file by double clicking in fluxbox, chmod +x on the file is done. It runs fine from the terminal ./my_file.bin but does not start in the window shell by double clicking, it displays a message with the choice of program to open (this was after updating nuitka but I do not remember what version I had before). This happens only on ubuntu 20.04, also it has no icon at all . On ubuntu 22.04 it works fine and the icon is there and doubleclick launches it. I did it with the command nuitka3 --standalone --plugin-enable=upx --onefile my_file.py

In the template, I have made it clear, that not filling out the issue template is not acceptable. I am closing this kind of report as invalid. The main reason is that I do not want to be left guessing. For you it's easy to erase the issue template and expect me to ask you questions only as necessary, but I cannot do that. I would much rather wait for you to create a new report, fill out the template, or wait for somebody with the necessary skill to do it.
In short: No issue template, no fun. Therefore I am likely just deleting the issue, as it serves as a bad example and detraction for searches.


Several (non-breaking) Errors when updating Group Advantage.

Versions

Foundry VTT: v10.285
WFRP4e System: 6.1.2
GM Toolkit:  6.0.0

Description
What is happening

[ ] Issue 1: When a player updates Group Advantage in combat, other players get a couple of errors. Group Advantage is still successfully modified.

To reproduce: Need 2 players logged in, with PC tokens in combat with an enemy token. Attempt to manually modify Group Advantage during combat.

[ ] Issue 2: Furthermore, when combat is ended, the Group Advantage values in the combat tracker correctly gets set to 0, but the tokens on the scene still retain any remaining advantage. When the player then tries to manually reset their advantage (via the character sheet, for example), they get a little message saying they aren't allowed to modify Group Advantage out of combat, but fortunately(?) does not actually stop them from removing the remaining advantage.

Thanks for these .... Can I just check both of these happen when you're not
using the Toolkit (ie, the module is not enabled)?
On Sun, 11 Sep 2022, 13:48 TheFirst05, @.***> wrote:

Versions

Foundry VTT: v10.285
WFRP4e System: 6.1.2
GM Toolkit: 6.0.0

Description What is happening

Issue 1: When a player updates Group Advantage in combat, other
players get a couple of errors. Group Advantage is still successfully
modified.

To reproduce: Need 2 players logged in, with PC tokens in combat with an
enemy token. Attempt to manually modify Group Advantage during combat.
[image: image]
https://user-images.githubusercontent.com/96636889/189528229-ea514162-83f4-4c2c-a8b2-b7fe67269486.png

Issue 2: Furthermore, when combat is ended, the Group Advantage
values in the combat tracker correctly gets set to 0, but the tokens on the
scene still retain any remaining advantage. When the player then tries to
manually reset their advantage (via the character sheet, for example), they
get a little message saying they aren't allowed to modify Group Advantage
out of combat, but fortunately(?) does not actually stop them from removing
the remaining advantage.

—
Reply to this email directly, view it on GitHub
https://github.com/Jagusti/fvtt-wfrp4e-gmtoolkit/issues/184, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAD7HCFDGU5NKHGQPY2YLRLV5XIJDANCNFSM6AAAAAAQJYQKRE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Attempt to manually modify Group Advantage during combat.
By this, do you mean adjusting the Group Advantage fields in the Combat Tracker? If not, can you describe how it is manually adjusted please, eg, through their own character sheet, the Add Advantage macro, updating their Token Hud resource bar, etc ...

I believe Issue 2 is a WFRP4e isse. Certainly, this is a WFRP4e system notification message.

And this is the console log which points to the WFRP4e system file where the error is raised.

Looks like issue 1 may be related to switching between user and player accounts mid-combat testing. From a discussion with @TheFirst05 it's rare, and hasn't recurred in normal use, so the issue can be closed.


Add support for Ember.Handlebars.SafeString

Previously, text would get confused with options if notify was sent text marked as safe by ember (e.g. from an ember-i18n translation)
If text is a subclass of SafeString, call toString to render the safestring to a string, then resume
Added a test as well
Refs #62

Thanks.

Published v4.2.0


Why is the ping failing on Debian 12?

The following code works fine on Windows, Ubuntu 22.04, MacOS, and some others. But it fails on Debian 12.
I've tried running it as root vs a user with the same result.
I've also tried SetPrivileges and the same result.
How to resolve this?
Thanks
ping -c 1 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=115 time=4.19 ms

--- <IP_ADDRESS> ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.190/4.190/4.190/0.000 ms
$ ./testping
socket: permission denied
false
$ sudo ./testping
socket: permission denied
false
$
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
$

package main

import (
	"fmt"
	"runtime"
	"time"

	probing "github.com/prometheus-community/pro-bing"
)

func main() {

	isup := Ping("<IP_ADDRESS>")

	fmt.Println(isup)

}

func Ping(ip string) bool {
	pinger, err := probing.NewPinger(ip)
	if err != nil {
		return false
	}
	pinger.Count = 1
	pinger.Timeout = 250 * time.Millisecond
	if runtime.GOOS == "windows" {
		pinger.SetPrivileged(true)
	}
	err = pinger.Run()
	if err != nil {
		fmt.Println(err)
		return false
	}

	stats := pinger.Statistics()

	return stats.PacketsRecv > 0
}

You have to call setPrivileged(true). Some rules in the new versions of debian are blocking icmp socket for unprivilged processes
cf https://github.com/prometheus-community/pro-bing?tab=readme-ov-file#linux

sudo sysctl -w net.ipv4.ping_group_range="0<PHONE_NUMBER>"

try about this, sudo sysctl -w net.ipv4.ping_group_range="0<PHONE_NUMBER>"

this fixed it for me

Fixed it for me too. Thanks @unmurphy.
Would you mind explaining why it happens and how it solves the problem?

@crazyoptimist The net.ipv4.ping_group_range sysctl setting defines the minimum and maximum group IDs which are allowed to create ICMP echo sockets (IPPROTO_ICMP) as an alternative to the traditional IPPROTO_RAW socket used by /usr/bin/ping (which in turn requires that it grant CAP_NET_RAW, or (historically) be a setuid binary).
The Debian (and Ubuntu, most likely) default of 1 0 effectively means that no group is allowed to create ICMP echo sockets. Setting that value to something much more liberal like 0<PHONE_NUMBER> basically means that any group can create ICMP echo sockets.

Hello,
Very interesting to learn this!
I have a question because I met exactly the same but before using this library, I was doing it by executing a command:
cmd := exec.Command("ping", "-c", "2", ip)
I did not meet any issue with this command but I have one with library. However, it's the same process (golang binary) that performs both. So why with exec command it works while library needs allowance from system?

@Tchoupinax Most modern Linux distros set capabilities on the /usr/bin/ping binary, so that it is permitted to create raw IP sockets.
$ getcap /usr/bin/ping
/usr/bin/ping cap_net_raw=ep

Prior to the capabilities feature, and on various other *nixes, ping would setuid root, which also allowed it to create raw IP sockets. The capabilities approach is more fine-grained however, since it restricts the privileges of the process to just creating raw sockets, rather than everything else that comes with being root.
You can of course set capabilities on Go applications which use the pro-bing library, and this is indeed what Debian / Ubuntu do with the prometheus-blackbox-exporter and prometheus-smokeping-prober packages, via a debconf prompt during package installation.

Hi, I found a blog post about the problem.
It can be fixed by installing the linux-sysctl-defaults package, just FYI.
apt install linux-sysctl-defaults


fix Infinite loop rabout

same thing as #1128 but Instead of introducing a hashtable I rewrote the code to make sense.
Not sure what I was thinking when I wrote the original code.
the new code gets all segments that match the direction.
segments with angle closer to 180 degree get priority.

Does it work with LHT?


fix(challenges): Remove euler problem 22

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Closes currently open issue (replace XXXX with an issue no): Closes #15831

Description

@williamsb Awesome - thanks for your help. And congratulations on your first merged pull request!


[New] jsx-sort-props: support multiline prop groups

Hello :wave:
This PR Adds a new multiline group for the jsx-sort-props rule. Related to the issue: #3170
The shorthand and callback rules take precedence over the multiline rule set

@ljharb I was able to work on the given feedback, now the property is an enum rather than two mutually exclusive props, and the tests are now expecting line numbers for each specific error. There was a little issue regarding how the shorthandFirst property gave its report so I changed that as well. Let me know what you think, and thanks for taking the time to look into this!

Codecov Report

Merging #3198 (446c5a3) into master (cfb4d6b) will decrease coverage by 3.24%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #3198      +/-   ##
==========================================
- Coverage   97.62%   94.37%   -3.25%
==========================================
  Files         121      121
  Lines        8381     8415      +34
  Branches     3011     3025      +14
==========================================
- Hits         8182     7942     -240
- Misses        199      473     +274

Impacted Files
Coverage Δ

lib/rules/jsx-sort-props.js
98.95% <100.00%> (+0.22%)
:arrow_up:

lib/util/propTypes.js
67.63% <0.00%> (-29.80%)
:arrow_down:

lib/util/ast.js
69.82% <0.00%> (-26.63%)
:arrow_down:

lib/rules/jsx-no-comment-textnodes.js
88.88% <0.00%> (-11.12%)
:arrow_down:

lib/rules/hook-use-state.js
90.76% <0.00%> (-9.24%)
:arrow_down:

lib/rules/boolean-prop-naming.js
91.97% <0.00%> (-7.30%)
:arrow_down:

lib/rules/jsx-props-no-multi-spaces.js
94.11% <0.00%> (-5.89%)
:arrow_down:

lib/rules/jsx-no-literals.js
95.65% <0.00%> (-4.35%)
:arrow_down:

lib/rules/no-unused-prop-types.js
90.00% <0.00%> (-4.00%)
:arrow_down:

lib/rules/no-unused-state.js
94.80% <0.00%> (-3.04%)
:arrow_down:

... and 6 more

Continue to review full report at Codecov.

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

One more change, because node < 6 doesn't have array .includes :-)


Modify runtests and CI settings for JET

This PR merges two CI config file into a single one Runtests.yml.
Also, merge the test/code-quality/runtest.jl into the standard test/runtest.jl file but keep the environment separate for JET. This allows the developers to run both test groups (Core and Code-Quality) in local with one single command:
(QuantumToolbox) pkg> test

but also run separately in GitHub CI pipeline.
Summary of this PR:

merge CI-Core.yml and CI-Code-Quality.yml into Runtests.yml
merge code-quality/runtests.jl into standard runtests.jl file

I understand your idea. We can try to do the following if you agree:

We remove the code-quality environment
In the runtests.jl file we add the Aqua.jl and JET.jl packages through the Pkg.jl package.
We include the code quality test files
We use the CI file you propose here

In this way, the Aqua.jl and JET.jl packages are not present in the Project.toml file, but they are installed only in the case of the Code Quality test.
What do you think?


Conn::write_body panics when encoder returns WouldBlock Error [tokio branch]

The following line panics when you try write a response that would cause the write to block.
Error:
`Result::unwrap()` on an `Err` value: Error { repr: Custom(Custom { kind: WouldBlock, error: StringError("chunked incomplete") }) }'

Line:
   let n = encoder.encode(&mut self.io, wbuf.buf()).unwrap();

Example: On Mac OS this is a simple way of reproducing the issue.
Response::new()
        .with_header(ContentType(mime!(Text/Plain)))
        .with_body(vec![b'0'; 4096])

I'm not familiar enough with tokio or hyper to know the right way of fixing this but if you have any pointers happy to have a go.

I forgot to update, but this was fixed in the tokio branch. Thanks for the report!

Great thank you!


add session update fuctions - [closed]

In GitLab by @sokril on Nov 13, 2018, 08:53
Merges update -> dev

In GitLab by @wknet123 on Nov 13, 2019, 11:31
The test coverage for backend is 23.2%  39.63%  , check  console log

In GitLab by @wknet123 on Nov 13, 2019, 11:31
The test coverage for backend is 23.2%  39.63%  , check  console log

In GitLab by @wknet123 on Nov 13, 2019, 11:31
The test coverage for backend is 22.6%  39.64%  , check  console log

In GitLab by @wknet123 on Nov 13, 2019, 11:31
closed


Can you new a latest release version?

I recently added libsv to the xmake-repo and debian repository. But the current version is too old, can you release a new version based on the master branch?
Thanks!

Sorry for delay: https://github.com/uael/sv/releases/tag/v1.1

thanks


Add TigerMap to quick links

New screenshot:

@taylor-yamashita bump :)

@taylor-yamashita i went ahead and added the TigerMap quick link in #44 just to check it off the list!


ansi_term unmaintained

RUSTSEC-2021-0139 was filed yesterday marking ansi_term as unmaintained (and thus causing a rustsec failure for all users of pretty-assertions)

Released in 1.3.0


Fix incompatibility issue of latest dynamic_network_architectures

Improper update of dynamic_network_architectures Python package broke TotalSegmentator:
https://discourse.slicer.org/t/totalsegmentator-failing-with-error-120/34434/11?u=lassoan
https://github.com/wasserth/TotalSegmentator/issues/275

This got fixed in downstream libraries.


APT whitelist request for python-sphinx

This replaces travis-ci/travis-ci#4246.
The original text by @safl follows

Failed to create a commit and a PR. This usually means that there has been a commit that resolved this request.
Inparticular, check https://github.com/travis-ci/apt-package-whitelist/commit/b192a0c5


PF-1274: Make resource name field as not required

WSM allows not specifying resource name when creating controlled resources in PF-1201. This PR is a follow-up on that. CLI is already auto-generating an instance-id for a controlled notebook resources so no change is needed for the notebook resource.

about the notebook, WSM does generate a notebook name in the format of terra-uuid-notebook if an instanceId is not provided. This is different from the auto generation logic terra CLI have. Is it OK that I just remove the default auto gen name from the CLI logic?

about the notebook, WSM does generate a notebook name in the format of terra-uuid-notebook if an instanceId is not provided. This is different from the auto generation logic terra CLI have. Is it OK that I just remove the default auto gen name from the CLI logic?

I don't know what the desired behavior is (cli logic or wsm logic or something else) -- suggest checking with the solutions team for their opinion. But I was just thinking we may want the same auto-generation behavior for all clients, in which case it would make sense to put whatever that is in wsm rather than implementing it once per client.

about the notebook, WSM does generate a notebook name in the format of terra-uuid-notebook if an instanceId is not provided. This is different from the auto generation logic terra CLI have. Is it OK that I just remove the default auto gen name from the CLI logic?

I don't know what the desired behavior is (cli logic or wsm logic or something else) -- suggest checking with the solutions team for their opinion. But I was just thinking we may want the same auto-generation behavior for all clients, in which case it would make sense to put whatever that is in wsm rather than implementing it once per client.

Removed the auto-gen logic here so we can just rely on the one in WSM


Require deme start_time, not epoch start_time.

Related to #182.

Ok, I think this is good to go. It fixes the most invasive things needed to conform to the spec.


Fix a typo in CHANGELOG.md

@swift-ci please smoke test

thanks @aciidb0mb3r good to see you here again


Questions Create Route doesn't cover validations

when we work on adding validations to the question model, we need to update the question#create route to use Question.new and Question.save.
Questions should be present and have a minimum length

Questions just need a minimum length and a maximum length now.


Redering of < and > in literal-sections

I just noticed that the 'less-than' (<) and 'greater-than' (>) characters are rendered as their HTML entities < and > when used in a literal section.
Example:
|===
l| link to section <<mySection>>
|===

results in
link to section <<mySection>>

Right you are! It looks like core is escaping the text for HTML, but that's not needed here. I'll get that fixed and add a test for it. Thanks for catching!


[Gallery - Sidebar] The avatar and > are misaligned

Current
The section for "5 Geo Breakfast / Terra Morales" sticks out farther to the left and the > gets cut off by the side bar.

Should be
All sections and spacing should match. Ideally the > 's and avatars will be left aligned to accommodate for different text lengths.
We could either shorten the text or make sure the margin is responsive for the sidebar container. @camelburrito what do you think is the best way to fix this?

This is caused by the rule,
amp-sidebar {
  ...
  max-width: 80vw!important;
  ...
}

in the Sidebar components stylesheet. I don't think I can override this, so we could either decrease the left margin, make the text smaller/shorter, or some other workaround.

make the sidebar content box and add padding should get you there.

Cool, I'll try that


ClassNotFoundException: xsbt.CompilerInterface

I hit on an unexpected exception while trying to create an sbt-scalafmt plugin for sbt 1.0.0-M5.
steps
(on OSX java version "1.8.0_102" and sbt 0.13.15)

clone https://github.com/olafurpg/scalafmt/tree/sbt-1.0 (single commit https://github.com/scalameta/scalafmt/commit/4a5aa605321214e7474a8a3c0221179d8e178033)
run sbt scalafmtSbt1/compile

[debug] [naha] Recompiling all 67 sources: invalidated sources (67) exceeded 50.0% of all sources
[info] Compiling 67 Scala sources to /Users/ollie/dev/scalafmt/core/target/scala-2.12/classes...
[debug] Getting org.scala-sbt:compiler-interface:1.0.0-M5:component from component compiler for Scala 2.12.2
java.lang.ClassNotFoundException: xsbt.CompilerInterface
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at sbt.compiler.AnalyzingCompiler.getInterfaceClass(AnalyzingCompiler.scala:128)
	at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:104)
	at sbt.compiler.AnalyzingCompiler.newCachedCompiler(AnalyzingCompiler.scala:62)
	at sbt.compiler.AnalyzingCompiler.newCachedCompiler(AnalyzingCompiler.scala:57)
	at sbt.compiler.CompilerCache$$anon$2.apply(CompilerCache.scala:47)
	at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:45)
	at sbt.compiler.MixedAnalyzingCompiler$$anonfun$compileScala$1$1.apply$mcV$sp(MixedAnalyzingCompiler.scala:50)
	at sbt.compiler.MixedAnalyzingCompiler$$anonfun$compileScala$1$1.apply(MixedAnalyzingCompiler.scala:50)
	at sbt.compiler.MixedAnalyzingCompiler$$anonfun$compileScala$1$1.apply(MixedAnalyzingCompiler.scala:50)
	at sbt.compiler.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:74)
	at sbt.compiler.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:49)
	at sbt.compiler.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:64)
	at sbt.compiler.IC$$anonfun$compileInternal$1.apply(IncrementalCompiler.scala:160)
	at sbt.compiler.IC$$anonfun$compileInternal$1.apply(IncrementalCompiler.scala:160)

expectation
I expected the project to compile without exceptions.
notes
I followed the instructions here on how to cross-build plugins. However, I don't need to cross-build my plugin, I want to create a plugin for sbt 1.0.0-M5 from scratch.

Does your setup include
scalaCompilerBridgeSource :=
  ("org.scala-sbt" % "compiler-interface" % "0.13.15" % "component").sources

?

Yes https://github.com/scalameta/scalafmt/commit/4a5aa605321214e7474a8a3c0221179d8e178033#diff-fdc3abdfd754eeb24090dbd90aeec2ceR107 but only for the sbt-scalafmt1 project, not the core project which sbt-scalafmt1 depends on. Should scalaCompilerBridgeSource be enabled in all projects that sbt-scalafmt1 depends on?

I can confirm that adding
scalaCompilerBridgeSource :=
  ("org.scala-sbt" % "compiler-interface" % "0.13.15" % "component").sources

to the shared build settings resolves the issue. Thank you!
This could be a good entry to mention in the cross-building docs. Feel free to close this issue.

Perhaps we should advise to set sbtVersion := "1.0.0-M5" rather than sbtVersion in Global := "1.0.0-M5"...

Without in Global you'd get another error.
I've created instruction page here - http://www.scala-sbt.org/1.0/docs/Cross-Build-Plugins.html

@eed3si9n Those docs should mention that scalaCompilerBridgeSource needs to be set in all projects in the build that the sbt plugin depends on, not only the sbt plugin settings. That was the cause of confusion for me in this issue, see https://github.com/sbt/sbt/issues/3124#issuecomment-295415844

Changed the instruction a bit to cover that case:
+3. Append the following settings to your plugin project (and any other subprojects that it depends):

https://github.com/sbt/website/commit/b4ba9440c5d3244091cec59039af8572bc61babe


how to use SSO with oauth2-proxy

Hi,
My env is
kubernetes on baremetal servers
use ingress-nginx, keycloak (with openid idp), oauth2-proxy (keycloak-gatekeeper archived and this include that feature).
I follow your readme and can log in using keycloak account and set group permission successfully.
Now I want to set SSO,
Can you let me know how to do this using oauth2-proxy and ingress-nginx?
I think I can get x-auth-request-access-token, x-auth-request-email, x-auth-request-preferred-username,
but nexus does not recognize I guess.

here's oauth2-proxy(https://github.com/oauth2-proxy/oauth2-proxy) helm chart(stable/oauth2-proxy)'s my values.yaml.
image:
  repository: "quay.io/pusher/oauth2_proxy"
  tag: "latest"

extraArgs:
  silence-ping-logging: "true"
  provider: "oidc"
  redirect-url: "https://my.company.net/oauth2/callback"
  oidc-issuer-url: "https://my.company.net/keycloak-stage/realms/test"
  login-url: "https://my.company.net/keycloak-stage/realms/test/protocol/openid-connect/auth"
  redeem-url: "https://my.company.net/keycloak-stage/realms/test/protocol/openid-connect/token"
  validate-url: "https://my.company.net/keycloak-stage/realms/test/protocol/openid-connect/userinfo"
  scope: "openid profile email"
  insecure-oidc-allow-unverified-email: "true"

  keycloak-group: "user"
  email-domain: "*"
  cookie-domain: ".company.net"
  whitelist-domain: ".company.net"

  set-xauthrequest: "true" # add x-auth-request-email, x-auth-request-groups, x-auth-request-preferred-username, x-auth-request-user
  pass-access-token: "true" # add x-auth-request-access-token: eyJh...

ingress:
  enabled: true
  path: /oauth2
  hosts:
    - my.company.net
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-buffer-size: "16k"

and here's nexus helm chart's my values.yaml
image:
  tag: 3.28.0

nexus:
  dockerSupport:
    enabled: false
  env:
    - name: NEXUS_CONTEXT
      value: nexus-stage

  livenessProbe:
    path: /nexus-stage
  readinessProbe:
    path: /nexus-stage

deployment:
  initContainers:
    - name: init
      image: curlimages/curl:7.72.0
      imagePullPolicy: IfNotPresent
      command: ['sh', '-c', 'https_proxy=http://<IP_ADDRESS>:8080 curl -skL -o /opt/sonatype/nexus/deploy/nexus3-keycloak-plugin-0.4.0-bundle.kar https://github.com/flytreeleft/nexus3-keycloak-plugin/releases/download/v0.4.0/nexus3-keycloak-plugin-0.4.0-bundle.kar']
      volumeMounts:
        - name: nexus-deploy
          mountPath: /opt/sonatype/nexus/deploy
  postStart:
    command: '["/bin/sh", "-c", "cp /sonatype-nexus-conf/keycloak.json /opt/sonatype/nexus/etc/"]'

  additionalVolumes:
    - name: nexus-deploy
      emptyDir: {}
  additionalVolumeMounts:
    - name: nexus-deploy
      mountPath: /opt/sonatype/nexus/deploy

ingress:
  enabled: true
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/auth-response-headers: "x-auth-request-preferred-username,x-auth-request-access-token"
    nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start?rd=https://$host$request_uri$is_args$args
    nginx.ingress.kubernetes.io/auth-url: https://$host/oauth2/auth
    nginx.ingress.kubernetes.io/configuration-snippet: |
      auth_request_set $preferred_username $upstream_http_x_auth_request_preferred_username;
      auth_request_set $token $upstream_http_x_auth_request_access_token;
      more_set_headers "X-Auth-Username: $preferred_username";
      more_set_headers "X-Auth-Token: $token";
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
  hostPath: /nexus-stage
  hostRepo: my.company.net
  tls:
    - secretName: ingress-tls

config:
  enabled: true
  data:
    keycloak.json: |
      {
        "realm": "test",
        "auth-server-url": "https://my.company.net/keycloak-stage/",
        "ssl-required": "external",
        "resource": "nexus",
        "credentials": {
          "secret": "d0605dbb-c4d2-45ef-be2d-3491axxxxxxx"
        },
        "confidential-port": 0
      }

and I can login manually using my keycloak(oidc)'s id/pw. but SSO does not work.
and I can see the headers like below.

@Hokwang Try to modify you nginx's values.yaml like this:
    nginx.ingress.kubernetes.io/configuration-snippet: |
      proxy_set_header X-Auth-Username $upstream_http_x_auth_request_preferred_username;
      proxy_set_header X-Auth-Token $upstream_http_x_auth_request_access_token;

@Hokwang You can check the Keycloak's log when SSO is failed.

@Hokwang Try to modify you nginx's values.yaml like this:

@flytreeleft Thanks for your comment! do you mean nexus's values.yaml?
but I am trying like,
  nginx.ingress.kubernetes.io/configuration-snippet: |
      auth_request_set $preferred_username $upstream_http_x_auth_request_preferred_username;
      auth_request_set $token              $upstream_http_x_auth_request_access_token;
      proxy_set_header X-Auth-Username     $upstream_http_x_auth_request_preferred_username;
      proxy_set_header X-Auth-Token        $upstream_http_x_auth_request_access_token;

it does not help.

@Hokwang Please check the Keycloak's log

@Hokwang It maybe is a mistake, the correct yaml should be:
    nginx.ingress.kubernetes.io/configuration-snippet: |
      proxy_set_header X-Auth-Username $preferred_username;
      proxy_set_header X-Auth-Token $token;

Please try it again :)

@flytreeleft
I can't find any WARN message in keycloak log now, I tested with removing cookies in browser.
I think my ingress-nginx's config is
use-proxy-protocol: "false" (default)
so I think proxy_set_header does not work, that's why I use more_set_headers.

following your comment, I edited nexus's ingress annotaions,
  nginx.ingress.kubernetes.io/configuration-snippet: |
      auth_request_set $preferred_username $upstream_http_x_auth_request_preferred_username;
      auth_request_set $token              $upstream_http_x_auth_request_access_token;
      proxy_set_header Host $http_host;
      proxy_set_header X-Auth-Username     $preferred_username;
      proxy_set_header X-Auth-Token        $token;

when I use proxy_set_header I can't see x-auth-* and Host in response header in chrome browser.

@flytreeleft  many thanks for your help.
oh, my got. I found it.
nginx.ingress.kubernetes.io/enable-cors: "true" is needed.
after adding this, SSO works!

@Hokwang :+1: That's a good news :)

@Hokwang And what's your nginx.ingress.kubernetes.io/configuration-snippet?

but another problem is here.
I can't sign out. when I click sign out but it retried sign in automatically so logged in continuously....
and like #53 (maybe), few minutes later,
2020-10-14 10:48:29,648+0000 INFO  [qtp1642377476-52] *UNKNOWN org.github.flytreeleft.nexus3.keycloak.plugin.KeycloakAuthenticatingRealm - doGetAuthenticationInfo failed: Unexpected response from server: 401 / Unauthorized
org.github.flytreeleft.nexus3.keycloak.plugin.internal.http.HttpResponseException: Unexpected response from server: 401 / Unauthorized
	at org.github.flytreeleft.nexus3.keycloak.plugin.internal.http.HttpMethod.execute(HttpMethod.java:65)
	at org.github.flytreeleft.nexus3.keycloak.plugin.internal.http.HttpMethodResponse$2.execute(HttpMethodResponse.java:37)
	at org.github.flytreeleft.nexus3.keycloak.plugin.internal.KeycloakAdminClient.obtainUserInfo(KeycloakAdminClient.java:88)
	at org.github.flytreeleft.nexus3.keycloak.plugin.internal.NexusKeycloakClient.authenticate(NexusKeycloakClient.java:70)
	at org.github.flytreeleft.nexus3.keycloak.plugin.internal.NexusKeycloakClient.authenticate(NexusKeycloakClient.java:53)
<snip>

my last ingress's annotaions is
annotations:
    kubernetes.io/ingress.class: nginx
    meta.helm.sh/release-name: nexus-stage
    meta.helm.sh/release-namespace: nexus-stage
    nginx.ingress.kubernetes.io/auth-response-headers: x-auth-request-preferred-username,x-auth-request-access-token
    nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start?rd=https://$host$request_uri$is_args$args
    nginx.ingress.kubernetes.io/auth-url: https://$host/oauth2/auth
    nginx.ingress.kubernetes.io/configuration-snippet: |
      auth_request_set $preferred_username $upstream_http_x_auth_request_preferred_username;
      auth_request_set $token              $upstream_http_x_auth_request_access_token;
      proxy_set_header Host $http_host;
      proxy_set_header X-Auth-Username     $preferred_username;
      proxy_set_header X-Auth-Token        $token;
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: "0"

@Hokwang Yes, you can not sign out via Nexus. If you want to do that, you should rewrite the logout action via Nginx's sub_filter like nginx-gateway/vhost.d/nexus3.conf#L46

@Hokwang I did not find the reason why the token was invalidated automatically after some fixed minutes. I'm confused too :(

ok, I will try log out and
find out more clues about token invalidated.
Thanks,

by the way, do you know that you check auth every 5 seconds?
2020-10-14 11:04:05,608+0000 INFO  [qtp1642377476-214] *UNKNOWN org.github.flytreeleft.nexus3.keycloak.plugin.KeycloakAuthenticatingRealm - doGetAuthenticationInfo for xxx via org.github.flytreeleft.nexus3.keycloak.plugin.internal.KeycloakHttpHeaderAuthToken: true
2020-10-14 11:04:10,623+0000 INFO  [qtp1642377476-259] *UNKNOWN org.github.flytreeleft.nexus3.keycloak.plugin.KeycloakAuthenticatingRealm - doGetAuthenticationInfo for xxx via org.github.flytreeleft.nexus3.keycloak.plugin.internal.KeycloakHttpHeaderAuthToken: true
2020-10-14 11:04:15,637+0000 INFO  [qtp1642377476-214] *UNKNOWN org.github.flytreeleft.nexus3.keycloak.plugin.KeycloakAuthenticatingRealm - doGetAuthenticationInfo for xxx via org.github.flytreeleft.nexus3.keycloak.plugin.internal.KeycloakHttpHeaderAuthToken: true
2020-10-14 11:04:20,643+0000 INFO  [qtp1642377476-214] *UNKNOWN org.github.flytreeleft.nexus3.keycloak.plugin.KeycloakAuthenticatingRealm - doGetAuthenticationInfo for xxx via org.github.flytreeleft.nexus3.keycloak.plugin.internal.KeycloakHttpHeaderAuthToken: true

@Hokwang The plugin will not check auth periodically. It should be the Kubernetes's application alive checking.

OK, thanks @Hokwang , funny enough you are on the same issue I am, but with vouch-proxy.
Just like: https://github.com/flytreeleft/nexus3-keycloak-plugin/issues/53, both of us have issues with the approx 5 minute timeout, and then I get re-directed back to the login page in the app, instead of via keycloak (or vouch)
I can't figure out just yet if it's nexus not happy with the 401, or nginx-ingress not happy with/how to handle the 401 redirect
after 5 minutes I just get the nexus (not keycloak) login page again.
Any further luck on the 5 minute timeout?

@flytreeleft did you read this article? https://devopstales.github.io/sso/nexus-sso/
Do you have any idea?
current state, I think I have below problem.

signout works but not beautiful.
: added sub_filter and then sign out button works to redirect my.company.net/logout just

signout works even but no way to login admin

few mins after Unauthorized

after 5 mins (I checked that is 5 minutes, right)

@Hokwang You remind me. The token has an expiration time in org.github.flytreeleft.nexus3.keycloak.plugin.internal.KeycloakTokenManager#updateToken, maybe it's just the 5 minutes. I will add some debug information for the expiration time and verify that.

@flytreeleft , to add to that note of the timeout, The issue I have is not so much the 5 minutes, but the fact that when that 5 minutes expires, I get the pop-ups for login at the nexus page, but not a redirect to the oauth proxy.   @Hokwang , is this your behavior as well?

@Hokwang @IMbiea Please modify your Nginx configuration as:
# https://github.com/vouch/vouch-proxy#installation
server {
    listen 88;
    server_name <IP_ADDRESS>;

    error_log  /var/log/nginx/error.log debug;
    access_log /var/log/nginx/error.log main;

    # Note: replace the following urls to your real services
    set $auth_proxy_root_url "http://<IP_ADDRESS>:9090";
    ## For Vouch Proxy, the logout url must be present in the configuration file on the list 'vouch.post_logout_redirect_uris'
    set $auth_keycloak_logout_url "http://<IP_ADDRESS>:8086/auth/realms/default/protocol/openid-connect/logout";

    # send all requests to the `/validate` endpoint for authorization
    auth_request /validate;

    location = /validate {
        internal;
        proxy_cache off;
        # forward the /validate request to Vouch Proxy
        proxy_pass $auth_proxy_root_url/validate;

        # be sure to pass the original host header
        proxy_set_header Host $http_host;

        # Vouch Proxy only acts on the request headers
        proxy_pass_request_body off;
        proxy_set_header Content-Length "";

        # these return values are used by the @error401 call
        auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt;
        auth_request_set $auth_resp_err $upstream_http_x_vouch_err;
        auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount;
    }

    # if validate returns `401 not authorized` then forward the request to the @error401 block
    error_page 401 = @error401;

    location @error401 {
        # redirect to Vouch Proxy for login
        return 302 $auth_proxy_root_url/login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err;
    }

    # Set the global variables which will be used in the directive 'sub_filter'
    set $login_path "/login";
    set $logout_path "/logout";

    location = /login {
        return 302 $auth_proxy_root_url/login?url=$scheme://$http_host;
    }

    location = /logout {
        return 302 $auth_proxy_root_url/logout?url=$auth_keycloak_logout_url%3Fredirect_uri%3D$scheme://$http_host;
    }

    # proxy pass authorized requests to your service
    location / {
        # Note: $auth_resp_x_vouch_user actually is the user's email,
        #      the $auth_resp_x_vouch_username is the real user name
        auth_request_set $auth_resp_x_vouch_user $upstream_http_x_vouch_user;
        auth_request_set $auth_resp_x_vouch_username $upstream_http_x_vouch_idp_claims_preferred_username;
        auth_request_set $auth_resp_x_vouch_idp_accesstoken $upstream_http_x_vouch_idp_accesstoken;

        proxy_set_header Host $http_host;
        proxy_set_header X-Keycloak-Sec-Auth $auth_resp_x_vouch_user:$auth_resp_x_vouch_idp_accesstoken;
        proxy_hide_header X-Remote-User-Access-Token;

        client_max_body_size 500M;
        # Disable cache of assets
        proxy_cache            off;
        proxy_read_timeout     600;
        proxy_connect_timeout  600;

        proxy_pass http://<IP_ADDRESS>:8903;

        proxy_hide_header WWW-Authenticate;  # Avoid to pop-up the login dialog
        # The script will do:
        # - Inject the action to the logout button, and redirect the page to the logout url after the logout button is clicked
        # - Inject the action to the login button, and redirect the page to the login url after the login button is clicked
        # - Inspect the HTTP status 401, and redirect the page to the login url when the 401 is occurred
        # - Never show the SignIn window any more, because the script will update the authentication automatically by redirecting the page to the login url
        sub_filter '' '';
        sub_filter_once on;

        # Just for debugging, you may not want it
        # access_by_lua_block {
        #     ngx.log(ngx.DEBUG, 'auth_resp_x_vouch_user: '..(ngx.var.auth_resp_x_vouch_user or '')..', auth_resp_x_vouch_idp_accesstoken: '..(ngx.var.auth_resp_x_vouch_idp_accesstoken or ''))
        # }
    }
}

With the configuration, you will get:

Redirect the page to the login/logout url of Keycloak after clicking the login/logout button;
Automatically refresh the page when the Keycloak token is expired after 5min;
No login window or dialog will pop-up;
And, you can not login or logout with the Nexus's original way, maybe you should set a Keycloak user as the Nexus administration; @Hokwang

And, I have verified that the Keycloak token will actually be expired after 5 minutes which is used as the default setting:

really thank you. this is awesome.

@Hokwang , maybe because it's with vouch, but would you mind sharing your ingress annotations for this?  I'm debating on some of the global vars with a configmap, but curious what your final product was?
Thanks!

@Hokwang , did you have to do a custom nginx.tmpl to get this working with your nginx-ingress?

@IMbiea
In my case, I choose use RUT, so enabling RUT is needed.
and here's user can't logout issue but I think it is fine.
and I did set config as code everything like change admin pw, set keycloak relam, http proxy, set rut, create repo, etc.
and my nexus's values.yaml is
ingress:
  enabled: true
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth"
    nginx.ingress.kubernetes.io/auth-signin: "https://$host/oauth2/start?rd=$escaped_request_uri"
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/configuration-snippet: |
      auth_request_set $preferred_username $upstream_http_x_auth_request_preferred_username;
      proxy_set_header X-Proxy-REMOTE-USER $preferred_username;

simple.

@Hokwang , thank you.  This portion I have just fine, however I'm uncertain how to correctly setup the use of the subfilter (and login/logout locations via annotations.)... actually I guess the subfilter section is fine (in configuration snippet, but I don't see that you call that in your example)..

@IMbiea Try the following configuration, I think it will be fine.
ingress:
  enabled: true
  annotations:
    // ...
    nginx.ingress.kubernetes.io/configuration-snippet: |
      // ...
      proxy_hide_header WWW-Authenticate;  # Avoid to pop-up the login dialog
      # The script will do:
      # - Inject the action to the logout button, and redirect the page to the logout url after the logout button is clicked
      # - Inject the action to the login button, and redirect the page to the login url after the login button is clicked
      # - Inspect the HTTP status 401, and redirect the page to the login url when the 401 is occurred
      # - Never show the SignIn window any more, because the script will update the authentication automatically by redirecting the page to the login url
      sub_filter '' '';
      sub_filter_once on;


Edit of existing Azure SQL Firewall setting displays delete operation scope error

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Related command
Azure Portal => SQL Server => Security => Networking => Edit firewall rule
Describe the bug
Changing any of the firewall rule settings (name, strt ip or end ip) for an existing firewall rule generates a "cannot perform delete operation because following scope(s) are locked" error:
"ScopeLocked"
"The scope '/xxx/resourceGroups/xxx/providers/Microsoft.Sql/servers/xxx-db-server/firewallRules/PaulAccessFromHome
' cannot perform delete operation because following scope(s) are locked: '/..../resourceGroups/xxx/providers/Microsoft.Sql/servers/xxx-db-server'.
Please remove the lock and try again."}},"contentLength":463}
To Reproduce
Azure Portal => SQL Server => Security => Networking => Edit firewall rule => Change any of the three values in the "Edit firewall rule" popup, click OK and the click Save.
Expected behavior
I expect the previous behaviour when this screen was accessed from the previous sidebar menu option Settings => Firewall.
That version of the screen did not show a pop-up for the values, but allowed you to change them in-line by changing the existing values from labels to inputs.
I could then change any of the values, click Save and the new values were saved.
Environment summary
Azure portal (https://portal.azure.com/)
Additional context
Has there been a change to the process that an update actually performs a delete and create?
Perhaps a related issue : https://github.com/Azure/azure-cli/issues/11162

@curlybapchap This forum is specifically for azure cli related issues and not of portal. But looking at your issue it looks like some permission issue with your account.
Read more about it here https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources?tabs=json#understand-scope-of-locks
Also if you have further questions, please open a support ticket from the portal.


⚠ Telly has degraded performance

In f66f2fe, Telly ($TLY) experienced degraded performance:

HTTP code: 200
Response time: 1209 ms

Resolved: Telly performance has improved in e3a1c99.


Rename e{objc,swift} to {objc,swift}e

In #121, two new chisel commands were added eobjc and eswift, for explicitly evaluating with a specific language. However this impacts the sanctity of the e command in lldb :stuck_out_tongue_winking_eye:. Sure I can use from now on use ex where I previously used e, but we could also change the convention of how these commands are named.

Thoughts @ultramiraculous @tomaskraina?

Yeah...I had a coworker grumble about this the other day. My complaint here would be that I've personally gotten used to es/eo.
Nobody wants to double down on this and just define e as a separate command...right? 😜

Nobody wants to double down on this and just define e as a separate command...right? 😜

hmm, I guess that's possible too…


Add tutorial to tests suite

@henryre is this already done?
If not I realized we can use nbconvert to export the tutorial as a python script, then run this as part of tests suite

More or less, with @netj's slick Travis build. It just runs the notebooks with runipy to make sure they don't bomb out anywhere. We should start checking for expected output

Okay then close this?
On Sat, Jun 11, 2016 at 3:05 PM Henry Ehrenberg<EMAIL_ADDRESS>wrote:

More or less, with @netj https://github.com/netj's slick Travis build.
It just runs the notebooks with runipy to make sure they don't bomb out
anywhere. We should start checking for expected output
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/HazyResearch/ddlite/issues/235#issuecomment-225387441,
or mute the thread
https://github.com/notifications/unsubscribe/ABgw_evCWy1GFsCw0m7nzhSdrhi5KKwZks5qKwbdgaJpZM4IznXf
.

Gone


Allow exiting the program by pressing 'q' for quit

It's always been possible to abort via Ctrl-C, but "q" is quite common for interactive Unix terminal programs and feels less "violent".

Excellent, thanks @snickl! 💯


Add: .

Codecov Report

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

@@          Coverage Diff           @@
##           master    #19    +/-   ##
======================================
  Coverage     100%   100%
======================================
  Files          12      1    -11
  Lines         129      5   -124
======================================
- Hits          129      5   -124

Impacted Files
Coverage Δ

...n/string-to-integer-atoi/string_to_integer_atoi.go

solution/remove-element/remove_element.go

...orted-array/remove_duplicates_from_sorted_array.go

solution/reverse-integer/reverse_integer.go

...ion/longest-common-prefix/longest_common_prefix.go

solution/implement-strstr/implement_strstr.go

...n/merge-two-sorted-lists/merge_two_sorted_lists.go

solution/valid-parentheses/valid_parentheses.go

solution/roman-to-integer/roman_to_integer.go

solution/palindrome-number/palindrome_number.go

... and 1 more

Continue to review full report at Codecov.

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


Fix short-circuiting on operand evaluation in nil-lifted operations

Purpose
$title
Fixes #34441
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

@lasinicl shall we change the branch to 2201.1.0-stage?


Introduce favicons

Zoomed letter "W" of Lato font (used in white paper) and took a screenshot,
Gerenated favicons from http://www.favicon-generator.org/
Integrated them.
Updated README.md
Somehow jekyll decided to delete " .jekyll-metadata" which is in ".gitignore" (I assume it slipped so left it there).

Thanks @dimitrismistriotis! Great work 👍


Error creating machine: Error detecting OS: Too many retries waiting for SSH to be available. Last error: Maximum number of retries (60) exceeded

After a successful completion of Insight Control Server Provisioning build plan, the command docker-machine create --driver oneview ..., fails "Waiting for SSH to be available...":
(docker01) Job, OS Build Plan completed successfully, completed
(docker01) Saving server attributes for localhost.
(docker01) oneview, Completed all create steps, docker provisioning will continue.
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Error creating machine: Error detecting OS: Too many retries waiting for SSH to be available.  Last error: Maximum number of retries (60) exceeded
Any idea on how to troubleshot this problem?
Environment:
docker-machine version 0.8.1, build 41b3b25
HP OneView 2.00.07-0250853
HP Insight Control Server Provisioning  7.5.1-0243931
docker_os_build_plan.sh 4181ff3 on Apr 25 (invoked as step 25 of the build plan and passing parameters as: @docker_user@ '@public_key@' @docker_hostname@ '@proxy_config@' '@proxy_enable@'
Thanks in advance for any answer.

@garciaang Hoping we can dig deeper by getting a couple of things.

The buildplan output for docker_os_build_plan.sh.    You could get a more verbose output by adding set -x -v to the top of the build step, and then copying the output so we can see where the steps might be going wrong on any of the setup.   However, I suspect this might not be the area where things are falling apart.

Look for debug output from teh driver itself.   You can add the --debug flag to docker-machine --debug create --driver oneview... command to get a more verbose output.   We can then trouble shoot on the host machine itself to figure out why the engine may not have started, or may not have installed.  Use docker-machine ssh nodename where nodename is the name of the system you have it durring docker-machine create command to connect to the host machine and then look around.   Things to look for are, does docker --version work, does yum update work, or does curl -L https://get.docker.com|sh -  work?    That should offer more clues on what went wrong.


Add Tutorial level

Add a tutorial level
The purpose of a tutorial is to introduce users to the fact they're playing the game by interacting with the bot,  personalising the game (users give their name), and teaching users that the bot can send emails.

Add text to the chatbox (a button fixed to the top of the chatbox), that reads:

"Give ScottBruBot your name and ask it for the employee handbook". This is the tldr version of the tutorial task.

On click, users should be directed back to the Game Story Screen, giving them the intro to the game story again and their first task in full.
Implement tutorial level: When users ask for the employee handbook, an email pops up to the right with the employee handbook attached. If users give the bot the name, the email address shows<EMAIL_ADDRESS>otherwise let it read<EMAIL_ADDRESS>On successfully getting the employee handbook send out, the text at the top of the chatbox should get a visual change (e.g. a thick green border) that read:

"Success! Click here to continue". On click, users should be directed to the next level.

Wireframes (explanative, seek UX input to make it look good):

Review after we've got designs for the new modals.


Link incorrect

In the README page is a link which does not work anymore. Can you correct it please?

The GWT PureMvc example (as shown here) but implemented with the Mvp4g framework.

It looks like the examples have been removed from app engine. Will look into it.

Updated link. Samples are shown again.


Avoid (very unlikely) wrong between-space of fibula pieces to increase quality

Although the automatic bone pieces distancing algorithm works well most of the time the osteotomies should never intersect, always creating clear wedges.
This could be solved by:

increasing the between space if fibula-osteotomies collision is detected. Let the user know the change with a dialog.
setting the default between space to 2mm so it acts as an additional margin avoiding the fibula-osteotomies collision problem from happening on the first place

increasing the between space if fibula-osteotomies collision is detected. Let the user know the change with a dialog.

This most probably will be cumbersome to the user

setting the default between space to 2mm so it acts as an additional margin avoiding the fibula-osteotomies collision problem from happening on the first place

Setting up 1mm, should be enough


Is there a way to use bashful in a Docker container?

Docker image: jboss/base-jdk:8
OS: RHEL
Error:
Line: 193 	File: /home/wagoodman/go/src/github.com/wagoodman/bashful/screen.go
 exit status 1
&{0xc42000c240} Unable to determine screen width.

I like where your heads at... I haven't tried this, and I can see where there would be problems. I tried running the 00-demo.yml from within your jboss container like so:
# Dockerfile
FROM jboss/base-jdk:8
USER root
RUN yum install -y wget
RUN wget https://github.com/wagoodman/bashful/releases/download/v0.1.1/bashful_0.1.1_linux_amd64.tar.gz
RUN tar -xavf bashful_0.1.1_linux_amd64.tar.gz
RUN chmod +x bashful
RUN mv bashful /usr/local/bin/bashful
USER jboss
COPY bashful/example /opt/jboss/example

where bashful/example is the bashful's repo example dir.
docker build -t test .
docker run  test bashful run example/00-demo.yml

there were issues, but it did run:
Running
    • Cloning Repos (8 tasks hidden)
    • Installing dependencies
      ├─ Installing Oracle client  ....
      ├─ Installing Google chrome  ....
      ├─ Installing MD helper      ...
      └─ Installing Bridgy         ....
    • Building Images           ...
    • Gathering Secrets         ...
    • Building and Migrating
      ├─ Building app1             ....
      ├─ Building some-app3        ....
      ├─ Building some-lib-4       ....
      ├─ Building some-awesome-app-5 ....
      ├─ Building watcher-app      ....
      └─ Building public-6         ...
      100.00% Complete  Tasks[20/20] Runtime[00:00:09]

Though this wasn't a -ti on the run with a new tty, I think some of the tty defaults were inherited from my terminal session. You might have run this somewhere where there isn't an interactive terminal (say, in a CI/CD pipeline?)...
I think I know in what ways bashful needs to change to support this use-case... but can you give me an example to reproduce the issue you are seeing? A Dockerfile and the command you invoked to get this issue would be ideal.

Very cool tool btw, I'm going to try to drive adoption at my org :) 🙌

Is there a way to pass in a static screen width ?

Thanks for the info! I hadn't realized that it was being used as the entrypoint for a container, which is a different use-case altogether than from what I was imagining (so... here be dragons). For instance, pid 1 within the container (bashful in this case) should handle any signals gracefully and shutdown child processes in a controlled fashion, flush and close fds before forking, and other daemon-like functionalities. However, since all subprocesses are simply bash processes, this simplifies a lot of those requirements nicely (still a few missing though).
Though bashful wasn't meant to do exactly this, I think it can be modified to fit your needs. It seems like the behavior needs to degrade gracefully when tty functions are not available. Currently stty size is used to determine the width, however, I think when this fails bashful should avoid glamorous output (tear) and maintain other functions. There are a few easy patches that can be made such that it will still function under these conditions, but the "real" fix would be to automatically detect this condition and drastically simplify the output (specifically, don't be dependent on screen width).
@anataliocs  if you wanted to take a shot at it, I'd start with providing defaults for screen width when this line fails https://github.com/wagoodman/bashful/blob/f69ad05e707d0cffeec19a257a22d513c6b190d1/screen.go#L14 . Then later we can start introducing a dual-mode output mechanism.

@karuppiah7890 I think that's a great idea. I added a few issues to the github project to capture this (#58 & #59)... feel free to add information as you see fit.

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @BILLM434, @riven314, @kick-ban-ignore, @thomaslu3, @PyQGuy, @hassanc, @biggrafixstudio, @sfj1014, @mguida22, @toeasy, @tintack, @xiaok, @lingling2830, @onsails, @treewolf, @FoxxMD, @haukist, @haohaolalahao, @pedrosimao, @doublea18, @OsirisXTLS, @upgundecha, @ygexe, @schap101, @git-shogg, @TbearFC, @markpking2, @meetvora, @mega-optimus, @ggdayup, @yourchanges, @justify22, @neoflo, @shichao402, @dasdachs, @stevehemingway, @ahmethakanbesel, @liuweikarlie, @ishan-marikar, @VishalMCF, @Markusi13, @johnnyopao, @MarcelloBB, @FusionBreak, @artshmelev, @x02068, @Brandonsdevlife, @mpetercak, @subhashsuman01, @brycesub


TFS Build builds solution and its projects in wrong order

I have  Asp.Net core (Framework 4.6.1) solution with the following structure:
API sln
| -- WebApi.Project_1
         | -- Project_2 (Core library, referencing Framework 4.6.1)
                    references Project_4 (Core Library, referencing Framework 4.6.1)

         | -- Project_3 (Core library, referencing Framework 4.6.1)
                     references Project_4 (Core Library, referencing Framework 4.6.1)

See the "sanitized"  project.json files attached.
Some notes:

there is a number of classic (4.6.1 .net)  libraries added to the solution but not referenced yet by any other core projects.
I created the core libraries and manually referenced .net framework 4.6.1 from their json files
they use x86 platform, specified in project.json -> buildOptions

Everything is built and run OK by using VisualStudio 2015 (either on my local machine or locally on the same build agent server)
The solution build fails when it is built in CI build by TFS 2015 build engine with the following error:
"C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets(265,5): Error: D:\tfsAgent_work\folder\folder\Project_2\error CS0006: metadata file '\folder\folder\bin\debug\net461\Project_4.dll' could not be found"
Same error, but for Project_3, referencing Project_4 as well.
By looking at the build log I see that Project_4 is built after the Projects 2 and 3, thus the file is not there yet.
I tried different options:

adding the references in project.json
using Project references
Solution properties -> Project dependencies...
manually reorder the projects in API.sln file.
No difference.

WebApi_Project_1.json.txt
Project_2.json.txt
Project_3.json.txt
Project_4.json.txt

This issue is being closed because it has not been updated in 3 months.
We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.


"Error: no such mapping" appearing with obsidian shortcuts

Hey,
thank you so much for  making this, if it wasn't for this I don't think vim  would be this great in Obsidian. Really appreciate your hard work.
I started to realize that after using obsidian shortcuts this plug in seems to return Error: no such mapping.
at the bottom of the screen

When do I get this error
I get this error with most obsidian shortcuts, such as: "navigate back" "open random note"  "open today's note" the error appear when using the shortcuts, as well as when using these commands from the command palette.
it doesn't cause any conflicts, but it's distracting, specially since I record tutorials and I don't want that message popping up all the time and confusing people.
I'm happy with workarounds if necessary, perhaps I can think of something in obsidian.css to hide that message somehow perhaps.
Not sure if this is a bug, since it's actually detecting that it's not a vim shortcut, but in practicality it'd be nice to remove the error somehow.
Specs:
Obsidian v 0.9.11
Obsidian vimrc 0.1.0
Manjaro Linux x86_64 with Awesome Window Manager
Thanks!

Hey Santi,
How does your vimrc look like?
On Tue, Nov 10, 2020, 15:37 Santi<EMAIL_ADDRESS>wrote:

Hey,
thank you so much for making this, if it wasn't for this I don't think vim
would be this great in Obsidian. Really appreciate your hard work.
I started to realize that after using obsidian shortcuts this plug in
seems to return Error: no such mapping.
at the bottom of the screen
[image: error-vimrc]
https://user-images.githubusercontent.com/51902730/98679774-7dbdf180-232e-11eb-9175-294968323295.png
When do I get this error
I get this error with most obsidian shortcuts, such as: "navigate back"
"open random note" "open today's note" the error appear when using the
shortcuts, as well as when using these commands from the command palette.
it doesn't cause any conflicts, but it's distracting, specially since I
record tutorials and I don't want that message popping up all the time and
confusing people.
I'm happy with workarounds if necessary, perhaps I can think of something
in obsidian.css to hide that message somehow perhaps.
Not sure if this is a bug, since it's actually detecting that it's not a
vim shortcut, but in practicality it'd be nice to remove the error somehow.
Specs:
Obsidian v 0.9.11
Obsidian vimrc 0.1.0
Manjaro Linux x86_64 with Awesome Window Manager
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/esm7/obsidian-vimrc-support/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACRZ2YA53BY6CYSBGPQMAG3SPE6ZDANCNFSM4TQVOJJA
.

I spent quite a while trying to recreate this with no success. I expect to be able to, since my configuration is quite similar to yours! (just i3wm instead of Awesome :) )
Can you maybe...

Verify this behavior stops when you disable the Vimrc plugin and starts again when you enable it,
Turn off other non-default plugins in case there's a conflict with something I don't have?

And most importantly, knowing what's in your vimrc might make the difference.

Here's another insight: I suspect this error is coming from the CodeMirror Vim module (vim.js line 4776 in the unmap function). It seems to be shown when unmap is called for a nonexistent mapping. Does this make sense with something in your configuration?

hey @esm7 thanks for taking a look at this I appreciate it
you were right
This is what I have in my .obsidian.vimrc
nmap H ^
nmap L $
nmap j gj
nmap k gk
unmap <C-c>

if I get rid of unmap <C-c> the error message doesn't display anymore.
I should have included that info, I didn't realize that's what it was.
I understand it's a conflict with code mirror I use unmap <C-c> so that I can use copy ctrl+c while in vim mode, are you aware of any possible way to keep the unmap of ctrl+c in the .obsidian.vimrc without displaying the error?
If not, dont worry, I really appreciate the help, and the great plugin!

I'm having the same issue. It appears that this plugin is running the .vimrcfile every time we switch between notes, which in my own workflow is quite often. I'm able to get around this by manually running the command every time I start Obsidian, but it would be nice to have this functionality in .vimrc without the annoying error message. One possibility would be to change how the plugin interacts with the API so it only runs at startup. There may also be a way to suppress the error messages.

I can have the plugin load less often (it's made this way because it was the easy way around and I saw no side-effects to it), and I can probably also catch the exception, but I wonder if we can tackle the root cause. One thing I'm trying to figure out, is what do you gain from having the unmap at your vimrc? To my understanding, CodeMirror outputs the error because the keymap (in the example above <C-c>) is not mapped to anything, so unmapping it has no effect except an error message.
Wouldn't you rather map  to y or yy?

Ignore the last comment for now please, I think I understand the issue and will work on a fix.

Should be fixed in version 0.1.1, please update and let me know.

thank you so much @esm7 it works perfect for me on 0.1.1 Appreciate your hard work, your plugin is the best thing that could happen to an addicted vim user! Back when I started in Obsidian I only gave it a chance due to the fact that it supports vim mode, but it had annoyances that thanks to you, now things work great!


Build in a container, use go1.5, vendor Dependancies, build for Darwin and Arm on Circle.

Fixes #535, Fixes #550, Fixes #530
With this change, make should build the scope container on a correctly configured Mac, using Docker Machine.
See #583 for more context.

Latest: instead of vendoring whole repos in vendor/, gvt supports vendoring just the sub modules we actually use (it does this by default).  This reduced the number of files from ~18k to ~2.5k, which is a massive improvement.
The commands I ran to produce this were:
go list -f '{{join .Deps "\n"}}' ./app ./probe | grep -E '^(github.com|k8s.io)' | grep -v 'github.com/weaveworks/scope' | sort -u > deps
cat deps | xargs -n1 gvt fetch

To update the vendored dependancies, you can do a gvt update github.com/foo/bar, or a gvt update -all

Some numbers in my Vagrant box (using NFS):
scope $ git branch
  535-vendor
* master

scope $ time git checkout 535-vendor
Checking out files: 100% (2439/2439), done.
Switched to branch '535-vendor'
Your branch is up-to-date with 'origin/535-vendor'.

real    0m13.652s
user    0m0.192s
sys     0m0.904s

scope$ time git status
On branch 535-vendor
Your branch is up-to-date with 'origin/535-vendor'.
nothing to commit, working directory clean

real    0m0.898s
user    0m0.000s
sys     0m0.128s

scope$ time make clean
go clean ./...
rm -rf scope.tar  app/scope-app probe/scope-probe client/build/app.js docker/weave

real    0m4.609s
user    0m0.452s
sys     0m0.876s

scope $ du -hs .
176M    .

scope $ docker pull golang:1.5.1
[...]
scope $ time make #fresh
[...]
real    3m7.191s
user    0m0.972s
sys     0m3.204s

scope $ touch report/id.go # second time
scope $ time make
[...]
real    1m44.136s
user    0m0.336s
sys     0m2.560s

scope $ time make # third time without modifying anything (to measure overhead)
[...]
real    0m15.273s
user    0m0.328s
sys     0m2.648s

Thanks for the timing info.  Are those times acceptable?  Note the slow down in build is due to go1.5, not the vendoring - I can't see a reason for the vendoring to make anything slower.
Your git status time seems fine, and the checkout time won't be a problem once the change goes in.  What do you think?

Pls don't merge until we release 0.9

@tomwilkie Yep, I think it's fine (I just shared the numbers to show how it performed in a dev VM with shared FS).

Works On My Machine™
LGTM

Just trying out gocertifi, quick...

Also, it runs the scope-probe build every time I do make...

@paulbellamy PTAL
I suggest we get this one in then fix the test issues, as its blocking paul fixing the SSL issues.

LGTM, we should probably also apply similar to the frontend build at some point.

Actually, I think this is missing a few deps.

Apart from a longstanding panic bug when testing probe/endpoint on Darwin, this works fine for me:
ƒ for d in app common probe render report xfer
    pushd (pwd)/$d
    pwd
    env GO15VENDOREXPERIMENT=1 go test -v ./...
    popd
end

@paulbellamy I think this one should be good.  Mind taking one last look?

Last two tools updates were to --no-go-get and no-coverage-for-vendored-packages fixes.  Please don't ask me to squash them, I don't seem to be able to do it for subtrees.

I count 2 LGTMs; quite a lot has gone in and @paulbellamy promises to give that a look tomorrow, after I has merged.


Add guides section

Adds guides to homepage
Adds index of guide links
Link directly to protest.guide

Great job.


Future plans

Pyroma needs to be updated with supporting modern build systems and tools for Python. This has been rapidly changing the last few years, but it's finally looking like it's stabilized and is maturing, especially with the release of Setuptools 61 last week, that supports PEP621.
This thread is for discussion of those plans.

A tentative plan for this looks something like this:
Pyroma 4 will support PEP517, use build.prepare() to get metadata, and deprecate the old setuptools hack it used before. It will support setuptools 44 and later.
Pyroma 5 will drop the setuptools hack, and also add support for PEP621. It will require setuptools 61 or later.
Pyroma 4 is currently in beta, a good aim for Pyroma 5 would be fall/winter 2022.

Thanks for the updates. It looks like with Pyroma 4, description_content_type rather than long_description_content_type is set in get_build_data, leading to content_type being None here.

Ah, yes, that makes sense. I'll fix that for beta 2. Do you have an example package this happens on that I can double check on?

It just happened for me here: https://github.com/pyg-team/pytorch_geometric/pull/4368 (needed to revert back to "3.3"). I made the following change here:
content_type = data.get("long_description_content_type", None)
if content_type is None:
    content_type = data.get("description_content_type", None)

This fixed the error for me.

It is correct, but also not. :-D I released 4.0b2, it should fix this.

:P Thanks a lot for the quick fix :)

Yeah, this basically comes back to the same naming issues we've discussed previously, which will hopefully be more fully resolved in future versions.

Remove the fetch_classifiers hack and move to using trove-classifers package

Any chance this could get moved up, since its a fully drop-in replacement that should be doable in two-ish lines? Otherwise, you have to maintain your bespoke tooling for another whole major release, which is likely to be more work than just switching now. I'm happy to drop a PR doing so if you're okay with it.

Well, the tooling isn't much work, but yes, if you make a PR then I'll add it to 4.x.

Remove the fetch_classifiers hack and move to using trove-classifers package

Please see PR https://github.com/regebro/pyroma/pull/81.

Looks good, thanks!

Ugh, I'm so behind on this...


Plugins oauth2

This modifies the plugins so they work with OAuth2.
This includes the commits from @squirrelo in https://github.com/biocore/qiita/pull/1562

Just to double check, the plan is to close #1562 and fully review this one, right?

@josenavas could you update your branch? Note that I merged #1562 with the idea that all test should pass on this one.

Done

Now this has conflicts ... could you fix? Thanks.

Done

:+1: when tests pass.

Note that this PR is going to have failures, @josenavas can you fix?

Tests should be passing right now.

Thanks, one more question, should the values of the keys be shown in the qiita-test-install output?

That's probably a good point. However, how is that going to scale? Meaning, as the number of plugins increase, how ugly is going to be showing that list?
Do you think that adding to qiita-test-install output is the best one, or should we add a flag, --show-plugin-info that show such information? If so, we can potentially remove the print statements from the patch and just point to the script.
What do you think?

I thought the plan was to have a certificate per system not per plugin, is that inaccurate?

The certificate is for the system but each plugin has its own client id and client secret.

IMOO is fine to display all the plugins ids/secrets in the qiita-test-install by default but fine if you want to add a flag for this.

Ok, thanks! Will try to update later today - busy with classes right now...

That seems like a bad security issue if we are going to have people post their qiita-test-install outputs anywhere for debugging, like we do with print_qiime_config, as it will expose all the system's client username and passwords. Flag would be safer, but this issue may still happen if someone accidentally posts their output with the flag on.

IMOO this is fine and why we have an email for help and not a forum. At least for the moment.

Ok, I just realized that to do this correctly I need to do some modifications on the DB. The issue is that the system does not know which client_id belongs to each plugin and although @squirrelo suggested that is not needed for the oauth2 workflow, it is actually needed for the system to keep track of ownerships.
I have to work in something else right now, but I will update the PR soon.

PR updated

Thanks. One minor comment and then :+1:

Comments addressed

What do you mean ownerships? By oauth2 standards, there are no specific ownerships for keys. All you transmit is the client id and client secret, and no other information. If you want to transmit the plugin id  or other information as well, that is no longer following oauth2 specification, and we need to discuss this.

I'm not transmitting this information anywhere - is a information that the system needs to know to inform the user which client id and client secret needs to provide to the plugin config file - does it make sense?

Not really. There's no reason we couldn't use a single client id/secret per system for app plugins if we wanted to, and this may actually make sense for single-computer systems like laptop deploys, since it means the user only needs one client login instead of many. The multi-client login does makes sense for larger or distributed setups, however.
I do not think we need to tie specific logins to specific plugins when displaying, since it creates a tie in the display that does not actually exist in the system. The system does not actually connect a login to a plugin in at all, as you could just as easily use the client id/secret for plugin A on plugin B and still have it work fine. The display should reflect that.

Ok this is getting annoying - in one of my previous comments I stated that each plugin has its own cliend_id/client_secret pair. If you didn't agree with that, you should raise up your concern then, instead of wasting my time. I'm not going to continue working on this until we reach a consensus.

There is nothing in the code that limits the use of the same id/secret if the user chooses to, right? In that case, we are covering both scenarios, right?

Yes - right now we are covering both scenarios.

I'm unsure why the tests are failing here - my guess is that it has to do with the Oauth2 authorization. I've done a small change to see if tests pass now as I can't reproduce in my machine.

Ok, it looks like it was a timing issue

@squirrelo ping


renovatebot(deps): update amazonsdk to v1.11.563

This PR contains the following updates:

Package
Update
Change
References

com.amazonaws:aws-java-sdk-clouddirectory
patch
1.11.560 -> 1.11.563
homepage

com.amazonaws:aws-java-sdk-cloudwatch
patch
1.11.560 -> 1.11.563
homepage

com.amazonaws:aws-java-sdk-cognitoidp
patch
1.11.560 -> 1.11.563
homepage

com.amazonaws:aws-java-sdk-core
patch
1.11.560 -> 1.11.563
homepage

com.amazonaws:aws-java-sdk-dynamodb
patch
1.11.560 -> 1.11.563
homepage

com.amazonaws:aws-java-sdk-logs
patch
1.11.560 -> 1.11.563
homepage

com.amazonaws:aws-java-sdk-s3
patch
1.11.560 -> 1.11.563
homepage

com.amazonaws:aws-java-sdk-secretsmanager
patch
1.11.560 -> 1.11.563
homepage

com.amazonaws:aws-java-sdk-sns
patch
1.11.560 -> 1.11.563
homepage

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about these updates again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

 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.null 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.


Theory: improve dual-channel transcription by replacing silences with ambient noise

Theory: improve dual-channel transcription by replacing silences with ambient noise
Source: GPT-4 suggestion

Silence is better :)


We should retry Provisioning/Binding when the user corrects the spec

For example, if a user makes a mistake in their instance spec and the provision fails, often they assume they can edit the resource to fix the mistake and the provision will retry. It's a painful flow to have to delete the resource, make the correction, and recreate the resource. We should make things as easy as possible for the user and let them correct their provision mistake within the same resource.
Internally, we should orphan mitigate and retry provisioning/binding with the new properties. Instead of judging whether a reconciliation is an update or an add based on ReconciledGeneration, we can use whether ExternalProperties is set.

We have noticed the same issue with retrying after connection timeout or 400 Bad Request. Agree that we should be able to retry, see a table in https://github.com/kubernetes-incubator/service-catalog/issues/1715


Add support for tvOS and macOS

Pass all changes from magic pills

          2 Warnings

:warning:
Big PR, try to keep changes smaller if you can 😜

:warning:
You have changes in code but there is no changes in any test… do you sleep well at night? 🤨

          6 Messages

:book:
[iOS] Executed 1 test, with 0 failures (0 unexpected) in 0.001 (0.004) seconds

:book:
[mac] Executed 1 test, with 0 failures (0 unexpected) in 0.478 (0.483) seconds

:book:
[tv] Executed 1 test, with 0 failures (0 unexpected) in 0.003 (0.009) seconds

:book:
[iOS] Slowest test: testExample() took 0.001 seconds

:book:
[mac] Slowest test: testExample() took 0.478 seconds

:book:
[tv] Slowest test: testExample() took 0.003 seconds

  Generated by :no_entry_sign: Danger


Replace AssetBundleFileStorageDirectory with StoragePathType from runtime tools package

Create branch: issue-13-replace-assetbundlefilestoragedirectory-with-storagepathtype-from-runtime-tools-package from main.


WIP: Publish nightly releases

Changes
This will run at midnight EST and produce a nightly-YYYY-MM-DD.yaml (and -debug.yaml) attached to a new (draft, pre-release) GitHub Release each night.
Note: This creates new GitHub Releases each day, and I assume this will become unwieldy at some point. Ideas welcome.
Related to discussion in #599
Submitter Checklist

[n] Includes tests if functionality changed/was added
[n] Includes docs if changes are user-facing
[y] Release notes block has been filled in, or marked NONE

See the contributor guide
for details on coding conventions, github and prow interactions, and the code review process.
Release Notes
NONE

/ok-to-test

Tested this in my own fork. This run produced this release: https://github.com/ImJasonH/build-1/releases/tag/untagged-aad4f80e82cadbb1c018
In my fork, --push=false so the image it produced isn't pushed, but the YAML was generated successfully. But if that wasn't the case you could:
kubectl apply -f https://github.com/ImJasonH/build-1/releases/download/untagged-aad4f80e82cadbb1c018/nightly-2021-02-19.yaml

Cool!
A quick question, will it generate a nightly tag or release every time?
Or where we store the nightly build or release?

A quick question, will it generate a nightly tag or release every time?
Or where we store the nightly build or release?

This will create a new untagged draft release every day (see my fork's release for an example), which includes an image in quay.io for each nightly build.
This is obviously somewhat sub-optimal, since it spams draft releases, and can make it harder to find real tagged releases.
Actually, I realized while writing this response that draft releases aren't visible outside of repo collaborators, this is what my fork's releases look like to me:

This might be fine for the short term, since it means nightly release are only visible to collaborators... 🤔
We should improve on this, by:

not generating a release when there's been no commits since the last successful nightly release
maybe not creating a new release each day, and instead appending a new release asset to a single running nightly release
maybe hosting nightly releases outside of GitHub Releases. For Tekton, nightly release YAMLs are available on Google Cloud Storage (https://tekton-nightly.storage.googleapis.com

Thanks Jason,
I am not sure why it reports Page not found error when I accessing your link: https://github.com/ImJasonH/build-1/releases/tag/untagged-aad4f80e82cadbb1c018 :(
And if the proposal of the nightly release is just for testing, should we just keep one nightly release? Or do we need to keep every nightly release somewhere?

I am not sure why it reports Page not found error when I accessing your link: https://github.com/ImJasonH/build-1/releases/tag/untagged-aad4f80e82cadbb1c018 :(

That's because the release is still a Draft, which means only repo contributors (me) can see it.

And if the proposal of the nightly release is just for testing, should we just keep one nightly release? Or do we need to keep every nightly release somewhere?

I think it'd be useful to keep at least a few days' back, it can be really helpful in pinpointing when a regression was introduced.

@ImJasonH thanks for this. I think the problem we want to solve with nightly releases is

provide users a very fresh recently cooked set of YAMLs and a container image for further usage

(sorry for the above quoting, just wanna ensure we are on the same line of thought).
I really like this idea, but to be honest, the spamming of draft releases is not very appealing. I think the git release is the right place to host our latest stable release assets, but not the right place for a nightly CI. Here is where I will say that we really need an s3 storage or similar. If we get an s3 storage we can use the github actions history as a way for users to look on the latest execution of the nightly release action and from there gather the s3 bucket endpoint.

I really like this idea, but to be honest, the spamming of draft releases is not very appealing.

Yeah, I completely agree 😞
I think we could instead have one Nightly release that we update with new nightly YAMLs, always appending new release assets, and maybe trimming off old ones as needed. This will be a bit more involved to write up, but I think overall worth it in the end. If that sounds good to you I can keep working on it.
It'd be really nice not to introduce a new service we depend on (S3, Google Cloud Storage, etc.) just to host YAMLs. This means one more moving piece in the CI, and one more set of creds to manage and share.

I think we could instead have one Nightly release that we update with new nightly YAMLs, always appending new release assets, and maybe trimming off old ones as needed. This will be a bit more involved to write up, but I think overall worth it in the end. If that sounds good to you I can keep working on it.

definitely. Pls ask for help if needed.

It'd be really nice not to introduce a new service we depend on (S3, Google Cloud Storage, etc.) just to host YAMLs. This means one more moving piece in the CI, and one more set of creds to manage and share.

I think credentials wise is not too much of a trouble, e.g. we do this now for quay, where the setup was very simple. Aiming to reduce dependencies for CI make sense.

Closing this for now while I rework it to append to an existing release.


Can't create image with latest version

If I try to create a new image with the latest latest-2.0.0 tag, I get this error:
=> ERROR [7/7] RUN source /opt/netbox/venv/bin/activate && cd /source/nextbox-ui-plugin && pip3 install --no-cache-dir .                                                                                0.3s
------
 > [7/7] RUN source /opt/netbox/venv/bin/activate && cd /source/nextbox-ui-plugin && pip3 install --no-cache-dir .:
#11 0.251 /bin/sh: 1: source: not found
------
executor failed running [/bin/sh -c source /opt/netbox/venv/bin/activate && cd /source/nextbox-ui-plugin && pip3 install --no-cache-dir .]: exit code: 127

Nevermind, i was using a custom command. The original one works.


vm module of Node.js is deprecated while using bytecodePlugin.

Describe the bug

Everything seems to be working fine.
But, does it affect how the plugin works?
Electron-Vite Version
2.0.0
Electron Version
29.0.1
Vite Version
5.1.4
Validations

[X] Follow the Code of Conduct.
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

sandbox: false or disable bytecode plugin

sandbox: false or disable bytecode plugin

sandbox: false was set. This is common project created with @quick-start/electron.


Check box for draft presentation complete

Just adding a check box here for when you have your presentation building and to a point where the draft is ready for others to build and have a look at ahead of our meeting on Thursday.  Mine for example is a draft and I might make further adjustments, but it is ready enough that others can have a look.

[ ] Data
[x] Assessment
[ ] Sensitivity and Retros
[x] Management

Mine is ready enough. I'm just working on something regarding Shannon's question about how well previous probabilities have panned out.

Sorry team, working on this now :(

I am wondering what the status of Canadian maturity samples being sent to the US is? We aren't very verbose about it in the main text.

To my knowledge, although no explicit arrangements between Canada and US on who will process those samples and when (or any accompanying trainings) has been made, I've heard from Melissa Head that discussions have begun.  That's all I know.

I don't know either. I know there are no samples from the fisheries but there may be from the survey now. We need to ask Stephane about that

I just realised that my talk was taking a while to knit because we don't have the funky new switch that Chris put in hake-assessment.rnw, to only load the .rds files in once. I've put it in my talks, see the first thing in 4ed33fc6 . Didn't want to mess with others' talks, but you should probably just copy the same code into yours.

Just looking at the agenda - the descriptions of our talks aren't exactly how we have them, but we can just say that at the start; everything gets covered. (There seemed to be a lot in the 1:20-2:30pm slot, but some will get covered earlier). My management talk is about 20 mins, and the bonus historical one is about 12. Looks like there's ample time for all the talks (can't see the first two being an hour each). Prob going skiing tomorrow, hence the Sat night work!


Wallet Recommendations

What could be better
Wallet recommendation is to go to bitcoin.org. This list of wallets only includes those where 'The identity of CEOs and/or developers is public' Source
As such, great wallets like Samourai Wallet (in my opinion the best wallet on Android) are not eligible for listing.
I suggest recommending wallets, for example Blue Wallet on iOS, Samourai Wallet on Android, Bitcoin Core + Specter wallet on desktop. This is what we have done on bitcoin-intro.com. Alternately you could link to bitcoin-only.com/wallets
On what page are you experiencing this problem
softwarewallet2

Let's use 016a74079bf4074044e33dccb21526a4d961b4ad for now, good list. Bitcoin-intro is quite a lot of new information for new users. Good notes on bitcoin.org (I also think that list is not maintained a lot?)

Let's use 016a74079bf4074044e33dccb21526a4d961b4ad for now, good list. Bitcoin-intro is quite a lot of new information for new users. Good notes on bitcoin.org (I also think that list is not maintained a lot?)

Great - Thanks

Great - Thanks


Fix pipeline to not sign deb/rpm if built for extensions only

Fixes extension pipeline builds, recently affected by #24977
+Update code signing task version

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
30839

Relevant Lines:
69418

💛  - Coveralls