Error building DC

Operating System Version: Ubuntu 16.04
Provider (VirtualBox/VMWare): virtual box
Vagrant Version: 1.21 - downloaded in Aug
Packer Version: - downloaded ina ug
Is the issue reproducible or intermittent? Expect this woudl reoccur.

Description of the issue:
Downloaded DL about 10 d ago, after bug 133 was fixed (thank you). Looks like the packer images are build, but when the script goes to run and setup the win10 PC it fails.  The artifacts of successful builds are:
--> virtualbox-iso: 'virtualbox' provider box: windows_10_virtualbox.box
Good news! windows_10 was built successfully!
Attempting to bring up the logger host using Vagrant
Good news! logger was built successfully!
Attempting to bring up the dc host using Vagrant
Something went wrong while attempting to build the dc box.
Attempting to reload and reprovision the host...
Failed to bring up dc after a reload. Exiting.
dm@ubuntuserver-16-250gb:/opt/DetectionLab-master$ find /opt -name ".vbox" -print
dm@ubuntuserver-16-250gb:/opt/DetectionLab-master$ sudo find / -name ".vbox" -print
[sudo] password for dm
find: ‘/run/user/1000/gvfs’: Permission denied
/root/VirtualBox VMs/Vagrant_wef_1535293089213_97021/Vagrant_wef_1535293089213_97021.vbox
/root/VirtualBox VMs/Vagrant_logger_1536075021943_73779/Vagrant_logger_1536075021943_73779.vbox
/root/VirtualBox VMs/Vagrant_dc_1536075942836_48372/Vagrant_dc_1536075942836_48372.vbox
/root/VirtualBox VMs/Vagrant_logger_1535288825768_8139/Vagrant_logger_1535288825768_8139.vbox
/root/VirtualBox VMs/Vagrant_dc_1535291462578_9788/Vagrant_dc_1535291462578_9788.vbox

Tried to do the manual "vagrant up" command  - after the plug in command - got this.
==> dc: Machine booted and ready!
==> dc: Checking for guest additions in VM...
==> dc: Setting hostname...
/opt/vagrant/embedded/gems/2.1.2/gems/winrm-2.2.3/lib/winrm/http/response_handler.rb:58:in raise_if_auth_error': WinRM::WinRMAuthorizationError (WinRM::WinRMAuthorizationError)         from /opt/vagrant/embedded/gems/2.1.2/gems/winrm-2.2.3/lib/winrm/http/response_handler.rb:51:in raise_if_error'
from /opt/vagrant/embedded/gems/2.1.2/gems/winrm-2.2.3/lib/winrm/http/response_handler.rb:36:in parse_to_xml'         from /opt/vagrant/embedded/gems/2.1.2/gems/winrm-2.2.3/lib/winrm/http/transport.rb:54:in send_request'
from /opt/vagrant/embedded/gems/2.1.2/gems/winrm-2.2.3/lib/winrm/shells/power_shell.rb:44:in close_shell'         from /opt/vagrant/embedded/gems/2.1.2/gems/winrm-2.2.3/lib/winrm/shells/base.rb:90:in close'
from /opt/vagrant/embedded/gems/2.1.2/gems/winrm-2.2.3/lib/winrm/connection.rb:46:in ensure in shell'         from /opt/vagrant/embedded/gems/2.1.2/gems/winrm-2.2.3/lib/winrm/connection.rb:46:in shell'
from /opt/vagrant/embedded/gems/2.1.2/gems/vagrant-2.1.2/plugins/communicators/winrm/shell.rb:58:in `powershell

Not sure if this was good idea or not but ... I downloaded the current version, unzip'd it over the older version adnd selected "all" as in over write, and it looks like I got a little further.
==> logger: Machine already provisioned. Run vagrant provision or use the --provision
==> logger: flag to force provisioning. Provisioners marked to run always will still run.
==> dc: Running provisioner: shell...
dc: Running: bootstrap.sh as c:\tmp\vagrant-shell.sh
==> dc: Running provisioner: shell...
dc: Running: scripts/fix-second-network.ps1 as c:\tmp\vagrant-shell.ps1
dc: Nothing to do for other providers than VMware.
==> dc: Running provisioner: shell...
dc: Running: scripts/provision.ps1 as c:\tmp\vagrant-shell.ps1
dc: Setting timezone to UTC
dc: Current domain is set to 'workgroup'. Time to join the domain!
dc: Install bginfo
dc: powershell.exe : . : The term 'c:\vagrant\scripts\install-bginfo.ps1' is not recognized as the name of a cmdlet,
dc:     + CategoryInfo          : NotSpecified: (. : The term 'c...e of a cmdlet, :String) [], RemoteException
dc:     + FullyQualifiedErrorId : NativeCommandError
dc: function, script file, or operable program. Check the spelling of the name, or if a path was
dc: included, verify that the path is correct and try again.
dc: At C:\tmp\vagrant-shell.ps1:25 char:7
dc: +     . c:\vagrant\scripts\install-bginfo.ps1
dc: +       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dc:     + CategoryInfo          : ObjectNotFound: (c:\vagrant\scripts\install-bginfo.ps1:String) [],
dc:    CommandNotFoundException
dc:     + FullyQualifiedErrorId : CommandNotFoundException

@DonMVB sorry, I think I lost track of what happened exactly. A couple questions:

Did you build the packer images or download the pre-built ones?
Can you try starting fresh with Vagrant by issuing a vagrant destroy -f when you are in the detectionlab/Vagrant folder?
I might also try updating vagrant, then running vagrant plugin update before attempting to bring the lab back up
Make sure VirtualBox has the shared folder stuff enabled as I mentioned here: https://github.com/clong/DetectionLab/issues/131#issuecomment-416386561

Attempt at answers from 148 and 131.
As I post this, a “vagrant up” command is running, getting a lot of green text and some red now and then, looks like it is updating the Linux OS. I’m going to let it run and will send up notes later today. Thank you.
Q: Can you verify that the VBox shared folders are enabled and working and that the path c:\vagrant\scripts\install-bginfo.ps1 is accessible from the VM?
A: I looked through the Vbox pref’s, for the DC VM – I found “Shared Folder settings” and the option is blank, as in nothing filled in.
A: Looking on the DC itself that was built 9/4 when I raised the other issue, there is no c:\bagrant folder. As I watched the vM build last night, I could see a command prompt running and doing work.
Q: Did you build the packer images or download the pre-built ones?
A: Downloaded new.  I eventually want to take this into work and use it, there I will have col-lics ISO’s. Haven’t gotten that far.
Q: Can you try starting fresh with Vagrant by issuing a vagrant destroy -f when you are in the detectionlab/Vagrant folder, followed by vagrant up?
A: You bet! Here are the results of the ‘destroy’. The other command is running now.
root@ubuntuserver-16-250gb:/opt/DetectionLab-master/Vagrant# vagrant destroy -f
==> vagrant: A new version of Vagrant is available: 2.1.4!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html
==> win10: VM not created. Moving on…
==> wef: VM not created. Moving on…
==> dc: VM not created. Moving on…
==> logger: VM not created. Moving on…
Q: I  might also try updating vagrant, then running vagrant plugin update before attempting to bring the lab back up
A:
Q: Make sure VirtualBox has the shared folder stuff enabled as I mentioned here: #131 (comment)
A: I’m not 100% sure how actually do that.
HOWEVER, I did notice this helpful text while the build was running. Which I tried to check out.
Assuming this means that the option needs to be enabled in Vagrantfile, which I have in /opt/DetectionLab-master/Vagrant, then I could not find the word ‘sync’ or ‘Shar’ using either grep or vi and then searching. My guess is I have the wrong file.
==> logger: Setting the name of the VM: logger
Vagrant is currently configured to create VirtualBox synced folders with
the SharedFoldersEnableSymlinksCreate option enabled. If the Vagrant
guest is not trusted, you may want to disable this option. For more
information on this option, please refer to the VirtualBox manual:
https://www.virtualbox.org/manual/ch04.html#sharedfolders
This option can be disabled globally with an environment variable:
VAGRANT_DISABLE_VBOXSYMLINKCREATE=1
or on a per folder basis within the Vagrantfile:
config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate: false
==> logger: Clearing any previously set network interfaces…

Hi - end result of the Vagrant Up - just go this:
logger: If you get stuck, we're here to help.
logger: Look for answers here: http://docs.splunk.com
logger:
logger: The Splunk web interface is at https://logger:8000
==> dc: Box '../Boxes/windows_2016_virtualbox.box' could not be found. Attempting to find and install...
dc: Box Provider: virtualbox
dc: Box Version: >= 0
==> dc: Box file was not detected as metadata. Adding it directly...
==> dc: Adding box '../Boxes/windows_2016_virtualbox.box' (v0) for provider: virtualbox
dc: Downloading: ../Boxes/windows_2016_virtualbox.box
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.
Couldn't open file /opt/DetectionLab-master/Boxes/windows_2016_virtualbox.box
root@ubuntuserver-16-250gb:/opt/DetectionLab-master/Vagrant#

After restarting all over again - DC would not respond. HOWEVER - The DC was up. On the DC was a windows prompt asking me if I wanted the NIC to be visible / discoverable - I selected YES.  Ran a vagrant up. It stated, and then quickly failed off....
root@ubuntuserver-16-250gb:/opt/DetectionLab-master/DetectionLab-master/Vagrant# vagrant up
Bringing machine 'logger' up with 'virtualbox' provider...
Bringing machine 'dc' up with 'virtualbox' provider...
Bringing machine 'wef' up with 'virtualbox' provider...
Bringing machine 'win10' up with 'virtualbox' provider...
==> logger: Checking if box 'bento/ubuntu-16.04' is up to date...
==> logger: Machine already provisioned. Run vagrant provision or use the --provision
==> logger: flag to force provisioning. Provisioners marked to run always will still run.
==> dc: Running provisioner: shell...
dc: Running: bootstrap.sh as c:\tmp\vagrant-shell.sh
==> dc: Running provisioner: shell...
dc: Running: scripts/fix-second-network.ps1 as c:\tmp\vagrant-shell.ps1
dc: Nothing to do for other providers than VMware.
==> dc: Running provisioner: shell...
dc: Running: scripts/provision.ps1 as c:\tmp\vagrant-shell.ps1
dc: Setting timezone to UTC
dc: Hostname is still the original one, skip provisioning for reboot
dc: Install bginfo
dc: powershell.exe : . : The term 'c:\vagrant\scripts\install-bginfo.ps1' is not recognized as the name of a cmdlet,
dc:     + CategoryInfo          : NotSpecified: (. : The term 'c...e of a cmdlet, :String) [], RemoteException
dc:     + FullyQualifiedErrorId : NativeCommandError
dc: function, script file, or operable program. Check the spelling of the name, or if a path was
dc: included, verify that the path is correct and try again.
dc: At C:\tmp\vagrant-shell.ps1:15 char:5
dc: +   . c:\vagrant\scripts\install-bginfo.ps1
dc: +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dc:     + CategoryInfo          : ObjectNotFound: (c:\vagrant\scripts\install-bginfo.ps1:String) [],
dc:    CommandNotFoundException
dc:     + FullyQualifiedErrorId : CommandNotFoundException
dc:
dc: Hint: vagrant reload vagrant-2016 --provision
The following WinRM command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
powershell -ExecutionPolicy Bypass -OutputFormat Text -file "c:\tmp\vagrant-shell.ps1"
Stdout from the command:
Setting timezone to UTC
Hostname is still the original one, skip provisioning for reboot
Install bginfo
Hint: vagrant reload vagrant-2016 --provision
Stderr from the command:
powershell.exe : . : The term 'c:\vagrant\scripts\install-bginfo.ps1' is not recognized as the name of a cmdlet,
+ CategoryInfo          : NotSpecified: (. : The term 'c...e of a cmdlet, :String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
function, script file, or operable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and try again.
At C:\tmp\vagrant-shell.ps1:15 char:5

. c:\vagrant\scripts\install-bginfo.ps1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ObjectNotFound: (c:\vagrant\scripts\install-bginfo.ps1:String) [],
CommandNotFoundException
FullyQualifiedErrorId : CommandNotFoundException

Did the vagrant plug in update, then the destroy operation, and then a vagrant up. Looked like the logger box went OK. DC still having problems. In the VBox console, I see the DC saying "applying settings" while in the xterm I get this fail message.
==> dc: Waiting for machine to boot. This may take a few minutes...
dc: WinRM address: <IP_ADDRESS>:55985
dc: WinRM username: vagrant
dc: WinRM execution_time_limit: PT2H
dc: WinRM transport: plaintext
An error occurred executing a remote WinRM command.
Shell: Cmd
Command: hostname
Message: [WSMAN ERROR CODE:<PHONE_NUMBER>]: <f:WSManFault Code='2147942421' Machine='<IP_ADDRESS>' xmlns:f='http://schemas.microsoft.com/wbem/wsman/1/wsmanfault'><f:Message><f:ProviderFault path='%systemroot%\system32\winrscmd.dll' provider='Shell cmd plugin'>The device is not ready. </f:ProviderFault></f:Message></f:WSManFault>

@DonMVB I can't seem to figure out what is happening based on the logs you sent. Let's try this:

From detectionlab/Vagrant run vagrant destroy -f
From detectionlab/Boxes run rm *.box
From detectionlab/ run ./build.sh virtualbox --vagrant-only

Once that finished or errors out, create a github gist for each vagrant_up_<host>.log file inside of the /Vagrant folder. That will give me a much clearer picture of what's happening here.

I even installed the Virtual Box extension pack Not getting this to start. The DC image is setup baseline, the Logger is. I also went into the VBox menu itself, and enabled the shared folder,
==> dc: Machine booted and ready!
==> dc: Checking for guest additions in VM...
==> dc: Setting hostname...
/opt/vagrant/embedded/gems/2.1.2/gems/httpclient-2.8.3/lib/httpclient/session.rb:813:in rescue in block in parse_header': HTTPClient::KeepAliveDisconnected: Connection reset by peer @ io_fillbuf - fd:7  (HTTPClient::KeepAliveDisconnected)         from /opt/vagrant/embedded/gems/2.1.2/gems/httpclient-2.8.3/lib/httpclient/session.rb:804:in block in parse_header'
from /opt/vagrant/embedded/lib/ruby/2.4.0/timeout.rb:93:in block in timeout'         from /opt/vagrant/embedded/lib/ruby/2.4.0/timeout.rb:103:in timeout'
from /opt/vagrant/embedded/gems/2.1.2/gems/httpclient-2.8.3/lib/httpclient/session.rb:801:in parse_header'         from /opt/vagrant/embedded/gems/2.1.2/gems/httpclient-2.8.3/lib/httpclient/session.rb:784:in read_header'
from /opt/vagrant/embedded/gems/2.1.2/gems/httpclient-2.8.3/lib/httpclient/session.rb:561:in get_header'         from /opt/vagrant/embedded/gems/2.1.2/gems/httpclient-2.8.3/lib/httpclient.rb:1299:in do_get_header'
from /opt/vagrant/embedded/gems/2.1.2/gems/httpclient-2.8.3/lib/httpclient.rb:1245:in `do_get_block'

OK - lets hope I did this right I created a gist, chose private (not pub). and have pasted the sharable URL here: https://gist.github.com/DonMVB/1532fd6a947aa9b385d02afc6008e0ed

@DonMVB what are the specs of the hardware that you're attempting to run this on?

It is a supermicro 8 core Xeon CPU system w/ 32 GB of memory devoted to
the VM and 4 CPU's.
I've run DL before, just fine. Also - major compliments to you on this
project. I will be mentioning it at the BSides in Augusta.
On 9/8/2018 5:47 PM, Chris Long wrote:

@DonMVB https://github.com/DonMVB what are the specs of the hardware
that you're attempting to run this on?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/clong/DetectionLab/issues/148#issuecomment-419675002,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AovXKN3Wj61idTd2nZCuP-ZSiJriZhs8ks5uZDrlgaJpZM4Wb_yo.

--
 Don Murdoch, Director, Security Services @ SLAIT
 Book site: www.blueteamhandbook.com

@DonMVB sorry for the delay here. Do you have the most recent code for DetectionLab checked out? Some people are pointing at the /generalize flag in sysprep as the culprit, but since this builds correctly on the CI infrastructure, I don't think it's that.
I would try updating Vagrant to latest, running a vagrant plugin repair, and see if that helps at all. And definitely make sure you're on the most recent version of the git repo.

So sorry - yes, I did get the latest build and YeS it worked fine!
On Wed, Sep 26, 2018 at 1:53 AM Chris Long<EMAIL_ADDRESS>wrote:

@DonMVB https://github.com/DonMVB sorry for the delay here. Do you have
the most recent code for DetectionLab checked out? Some people are pointing
at the /generalize flag in sysprep as the culprit, but since this builds
correctly on the CI infrastructure, I don't think it's that.
I would try updating Vagrant to latest, running a vagrant plugin repair,
and see if that helps at all. And definitely make sure you're on the most
recent version of the git repo.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/clong/DetectionLab/issues/148#issuecomment-424593484,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AovXKMzwizB2zbOfj7lJ8em30mkULsrjks5uexZOgaJpZM4Wb_yo
.

Hello,
unfortunately I have to reopen that case since I'm running in the exact same issue:
detection@network:~/DetectionLab/Vagrant$` vagrant -v
Vagrant 2.2.14

detection@network:~/DetectionLab/Vagrant$ cat /etc/debian_version
11.3

detection@network:~/DetectionLab$ vagrant plugin list
vagrant-libvirt (0.3.0, system)
vagrant-proxyconf (2.0.10, global)
vagrant-reload (0.0.1, global)
  - Version Constraint: > 0
winrm (2.3.6, global)
winrm-elevated (1.2.3, global)
winrm-fs (1.3.5, global)

detection@network:~/DetectionLab/Vagrant$ vagrant up
Bringing machine 'logger' up with 'virtualbox' provider...
Bringing machine 'dc' up with 'virtualbox' provider...
Bringing machine 'wef' up with 'virtualbox' provider...
Bringing machine 'win10' up with 'virtualbox' provider...
==> logger: Checking if box 'bento/ubuntu-20.04' version '202112.19.0' is up to date...
==> logger: Configuring proxy for Apt...
==> logger: Configuring proxy environment variables...
==> logger: Configuring proxy for Git...
==> logger: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> logger: flag to force provisioning. Provisioners marked to run always will still run.
==> dc: Checking if box 'detectionlab/win2016' version '1.9' is up to date...
An error occurred executing a remote WinRM command.

Shell: Cmd
Command: hostname
Message: Unable to parse WinRM response: Missing end tag for 'meta' (got 'head')
Line: 145
Position: 3739
Last 80 unconsumed characters:

ERROR

The requested URL (503).

Does anyone know that behavior?
And what did @DonMVB do to solve his problem besides checking out to the latest version (I did that too).
Thanks already and regards


[SPARK-48749][SQL] Simplify UnaryPositive and eliminate its Catalyst Rules with RuntimeReplaceable

What changes were proposed in this pull request?
Simplify UnaryPositive and eliminate its Catalyst Rules with RuntimeReplacable
Why are the changes needed?
code simplification
Does this PR introduce any user-facing change?
no
How was this patch tested?
new test cases
Was this patch authored or co-authored using generative AI tooling?

no

cc @cloud-fan @dongjoon-hyun @HyukjinKwon @LuciferYang thanks

Thank you @LuciferYang, merged to master

late LGTM


Fixing the sizing of components in the Ontology View

Background:
The nodegroup view table and ontology tables have fixed sizing and do not fill their parent panels and do not scale/respond to panel size changes.
Acceptance Criteria:

[ ] nodegroup table should scale with panel size changes
[x] ontology panel tables should scale with panel size changes

Partial fix for 94

What is the difference between this and #94 ?


How to insert an undeletable block-level element?

Here I customize a block element by Quill.import('blots/block/embed') which I insert into the editor content. I would like to know that if there is any way to make it undeletable, therefore the user could not delete it or edit it? Thanks a lot.

Hi, I have the same issue, as well as a related one: If I initialise Quill with some HTMl content, what is the easiest way to support "protected" regions, i.e. based on a particular pattern (such as CSS class name) such that Quill will not allow the editing of those elements.
With my limited understand of Quill's architecture, it seems that it should be fully possible to do this. However, I can't find any information about whether any of the standard modules can be configured to support this kind of functionality, or whether anybody has perhaps made some extensions that simply support "locked" regions.
Any insight would be much appreciated.

It's easy to make a blot undeletable by overriding the base class deleteAt method with one that just returns false. To prevent editing I've been using a nested span with contenteditable="false" set on it. It's still a little buggy but seems to work better than just setting contenteditable directly on the blot element.
The hard part is preventing replacement when the blot's part of a selection. I've got some progress by listening to keypress and making a list of any of my blots in the selected range and just reinserting them. It sort of works when the selection is confined to one block element but fails when it spans multiple blocks.
Here's a pen to try it out

@jspaine thank you

You can add an event listener for the backspace button in the modules like that:
this.quill = new Quill(this.contentElement, {   modules: {     keyboard: {       bindings: {         video: {           key: 'backspace',           handler: function(range, keycontext) {             let format = _this.quill.getFormat(range.index - 1);             if (!format.video && !keycontext.format.video) {               // propogate to Quill's default               return true;             } // else do nothing to prevent deleting video           }         }       }     }   },   theme: 'snow' });

It's easy to make a blot undeletable by overriding the base class deleteAt method with one that just returns false. To prevent editing I've been using a nested span with contenteditable="false" set on it. It's still a little buggy but seems to work better than just setting contenteditable directly on the blot element.
The hard part is preventing replacement when the blot's part of a selection. I've got some progress by listening to keypress and making a list of any of my blots in the selected range and just reinserting them. It sort of works when the selection is confined to one block element but fails when it spans multiple blocks.
Here's a pen to try it out
edit - fixed the spanning multiple paragraphs, it's still pretty buggy though

thx,  how can i define a user-undeletable blot, which means i can delete it by updateContents method?

It's easy to make a blot undeletable by overriding the base class deleteAt method with one that just returns false. To prevent editing I've been using a nested span with contenteditable="false" set on it. It's still a little buggy but seems to work better than just setting contenteditable directly on the blot element.
The hard part is preventing replacement when the blot's part of a selection. I've got some progress by listening to keypress and making a list of any of my blots in the selected range and just reinserting them. It sort of works when the selection is confined to one block element but fails when it spans multiple blocks.
Here's a pen to try it out
edit - fixed the spanning multiple paragraphs, it's still pretty buggy though

Hey, any tips how to make the blot deletable via an event (and undeletable on selection/backspace)? I was thinking to call super.deleteAt once the event is catched, but this does not do the trick.

I have found a way to remove the blot via an event - it has nothing to do with quill, but more html-style access of DOM element:
`
class MyBlot extends BlotEmbed {
static create(value) {
const node = super.create();
node.setAttribute("class", "ti-myblot myblot-success");
      EventBus.$on("eventfromoutside", ()=> {
        node.parentNode.removeChild(node)
      });

      return node;
    }
    length() {
      return 1;
    }

//here i overwrite the possibility to delete the blot with backspace
deleteAt() {
console.log('try')
return;
}
  }

`

Add:
    deleteAt() {
      return false
    }

to your custom blot class

I used next approach in my custom suggested to make it undeletable: https://github.com/devforth/vue-suggestion-input/blob/main/lib/suggestion-input.vue#L25
This code:
  p:has(+ [completer]) {
    // background: rgb(255 227 227);  // debug
    display: inline;
  }

allowed to make last p before blot inline
Super-important stuff to make text unselectable is display: contents;, otherwise wrapping contenteditable div behaves extra weird:
 .ql-editor [completer] {
    // important to keep pointer-events non none for cursor position on completer click

    // text is not selectable
    user-select: none;
    color: gray;

    // if inline or inline used then user-select: none brakes triple click
    display: contents;

    font-style: italic;
  }


fix: remove the constraint on branch name

This constraint breaks the commits interaction on git branches with a /
Steps to reproduce

create a branch with a / (example: feat/my-branch)
add some cool stuff and commit them
push and open an MR
in slack: /homer review !<ID>
add a new commit
you should not receive any message in the thread (whereas you should receive one)

Is it possible to add a test (or change existing tests so that they fail without your change?)

I added a new test

Don't mind me, just trying to trigger a pipeline with the brand new coverage action contributed in #25

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

Please upload report for BASE (main@876569b). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #15   +/-   ##
=======================================
  Coverage        ?   76.78%
=======================================
  Files           ?       64
  Lines           ?     1189
  Branches        ?      209
=======================================
  Hits            ?      913
  Misses          ?      272
  Partials        ?        4

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

@pfongkye did you have some time to check this MR?

@pfongkye did you have some time to check this MR?

Hello,
Yes I left two comments. If you can take a look. Apart from this, LGTM.

I replied to both of them. Do you agree and resolve them or not?

I replied to both of them. If you agree with them I can resolve them?

Sorry @fleboulch but I'm not seeing your replies for this and this :pray:

They were in pending state... :boom:

Thanks @fleboulch !


[RFC] Solidjs support

How do you envision this feature/change to look/work like?
popup.tsx
import { createSignal } from "solid-js";

function IndexPopup() {
  const [count, setCount] = createSignal(0);

  setInterval(() => setCount(count() + 1), 1000);

  return
Count: {count()}
;
}

export default IndexPopup

What is the purpose of this change/feature? Why?
Allowing developers to develop ext using their preferred framework.
(OPTIONAL) Example implementations
No response
(OPTIONAL) Contact Details
No response
Verify canary release

[X] I verified that the issue exists in plasmo canary release

Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate problems.

I see that vue is possible, is there already a workaround that solid could work?


i18n(fr): Update reference/plugins.mdx from #2549

Description
i18n(fr): Update reference/plugins.mdx from https://github.com/withastro/starlight/pull/2549

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

fr
resources/plugins.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Thanks for the new translation 🌟
Left a tiny comment to make it easier to understand the plugin behavior but otherwise, looks perfect to me 👍

Thanks for the review @HiDeoo !


How do i include this file in my project?

I have tried copying the file into my project and it says "Package R does not exist" and i cant build.
Thanks in advance.

No need for a local copy, just include

compile 'io.github.controlwear:virtualjoystick:1.2.0'

in your build.gradle file in the dependencies list

Hi @rtm516
I hope, the @djjaysmith 's answer (by the way thank you) fix your problem, it should.
Damien


docs: Fix link to top-level directory.

Thank you @richb-hanover !

Getting a weird error on merging, will try again later!
image


suggest to create signed data package for ASU specimen

as mentioned in introduction talk by @nfranz at Digital Data Conference 2023 at Arizona State University on 2023-06-05

Also include


Creating a product with a non-existing attribute value crashes

Steps
Invoke productCreate with:
attributes: [{"id": "validAttrID", values: ["totally invalid input, expects existing AttributeValue ID/slug"]}

This will cause the following:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/graphql/execution/executor.py", line 450, in resolve_or_error
    return executor.execute(resolve_fn, source, info, **args)
  File "/usr/local/lib/python3.7/site-packages/graphql/execution/executors/sync.py", line 16, in execute
    return fn(*args, **kwargs)
  File "./saleor/graphql/core/mutations.py", line 279, in mutate
    response = cls.perform_mutation(root, info, **data)
  File "./saleor/graphql/core/mutations.py", line 448, in perform_mutation
    cleaned_input = cls.clean_input(info, instance, data)
  File "./saleor/graphql/product/mutations/products.py", line 792, in clean_input
    attributes, product_type
  File "./saleor/graphql/product/mutations/products.py", line 754, in clean_attributes
    attributes, attributes_qs, is_variant=False
  File "./saleor/graphql/product/mutations/products.py", line 718, in clean_input
    cls._validate_input(cleaned_input, attributes_qs, is_variant)
  File "./saleor/graphql/product/mutations/products.py", line 663, in _validate_input
    return cls._check_input_for_product(cleaned_input, attribute_qs)
  File "./saleor/graphql/product/mutations/products.py", line 621, in _check_input_for_product
    validate_attribute_input_for_product(attribute, values)
  File "./saleor/graphql/product/utils.py", line 27, in validate_attribute_input_for_product
    if not value.strip():

I think it was supposed to create new values from there if the slug or ID wasn't found in the database. Anyway, it shouldn't crash. We'll investigate the issue.

The issue seems to have been fixed.


Stable version of the package protonlabs/bitcoin

bump, can this get in?

Hi @bumi - it's merged and released. Thanks, @fr0N73ND3r, for the contribution.


Reproject DataTiles using WebGL instead of 2d canvas.

I have made an implementation of the ol/src/reproj:render() function using webgl instead of 2d canvas. This solves three problems:

Doing 4band reprojection in a single step instead of 3-bytes per pixel.
Linear interpolation of data instead of only nearest neighbor.
An issue in firefox described here means that a few pixels are mangled when using a 2d-canvas for reprojection.

Since this will be used for datatiles, it should be okay to do it in webgl, as datatiles are used for webgl based rendering anyway.
It does all the work for a datatile reprojection using a single WebGLRenderingContext. Whereas the current implementation computes an affine transformation from the source to the target explicitly, this is not needed when doing the work in WebGL as the transformation is built-in.
This makes it possible to do up 4band f32/u8 reprojection in 1 pass which means that you never need to do multiple passes as that is what a tiletexture can hold as well as far as I understand. It produces the same output in examples/numpytile for example which is supposedly 5-bands. I have not A/B tested the speed difference.
This means you can do interpolation when reprojection instead of always having to do nearest neighbour. It is even possible for f32 data if the webgl extension is available. Below is a comparison on some elevation-data. You can still see some artifacts because reprojected tiles have no gutter (also on the main branch), which I intend to fix in a future pull-request.

This fixes the same reprojection artifacts in Firefox as #14099, as well as the ones that could not be fixed in that PR.

Awesome!  Thank you for this contribution, @sweepline.  It has been on my list for a while to rework our raster reprojection.  I look forward to making time to dig into this, but just wanted to express my gratitude for your work.

The webgl-reproj-no-wrap rendering test is passing at the center and resolution used.  However if you move to the pole and zoom in slightly an error occurs in your code:

This seems unrelated to the failing tests where source.getTileSize(z) does not match source.getTileGrid().getTileSize(z).

Sorry for the late reply, some other things came onto my stack.

The webgl-reproj-no-wrap rendering test is passing at the center and resolution used. However if you move to the pole and zoom in slightly an error occurs in your code:

I cannot seem to reproduce this issue. I'm running npm run test-rendering -- --interactive --match webgl-reproj-no-wrap and panning around. Maybe a webgl context was dropped?

This seems unrelated to the failing tests where source.getTileSize(z) does not match source.getTileGrid().getTileSize(z).

Which failing tests are that?

Also https://deploy-preview-15860--ol-site.netlify.app/en/latest/examples/geotiff-reprojection.html and https://deploy-preview-15860--ol-site.netlify.app/en/latest/examples/multiple-cogs.html are not working for me (Windows 10 and Android) due to Too many active WebGL contexts. Oldest context will be lost. warnings. If I restrict the first example to 4 bands including added alpha by specifying bands: [1, 2, 3], it does work.

The active webgl context error is me not returning early enough when there is more than 4 bands, I have fixed that now. I guess the code should still be made robust with regards to webgl contexts though.
Then the actual issue though, is that I have not written support for more than 4 bands as i thought it was not really used and other webgl code in openlayers also does not support 4 bands e.g. src/ol/webgl/TileTexture.js. I had not realised all GeoTIFF's basically use 5 bands because of the "nodata-band".
I will work on some code to support multiple bands, I guess I can do what the old code did with multiple reprojections.

Which failing tests are that?

Failing rendering tests:

The first test uses a COG with non-square pixels, as does the second (the output should, but does not, look similar so that probably also loses context).
The third is a different issue as the output is not clipped as expected at the top or left.
Zipped actual outputs be been downloaded via https://github.com/openlayers/openlayers/actions/runs/9209372373/artifacts/1531447766

I cannot seem to reproduce this issue. I'm running npm run test-rendering -- --interactive --match webgl-reproj-no-wrap and panning around. Maybe a webgl context was dropped?

I can reproduce reliably with
center: fromLonLat([0, 90], 'stereo-sib'),
resolution: 7000,

throwing WebGL: INVALID_VALUE: texImage2D: width or height out of range at line 244 in glreproj.js

The first test uses a COG with non-square pixels, as does the second (the output should, but does not, look similar so that probably also loses context).

Thanks, I can see the flaw having something to with pixel ratios, looking to fix that this week.

The third is a different issue as the output is not clipped as expected at the top or left.

Thanks, I fixed that now.

I can reproduce reliably with
center: fromLonLat([0, 90], 'stereo-sib'),
resolution: 7000,

throwing WebGL: INVALID_VALUE: texImage2D: width or height out of range at line 244 in glreproj.js

I am just seeing this.

I also fixed the examples now in the newest commits (I squashed sorry). It was indeed just supporting multiple bands.
So i need to fix the last two tests and it should be all.

I am just seeing this.

I have tried on more devices and get different results depending on the device.

That is probably an improvement as it was necessary to stretch in canvas without interpolation to avoid corrupting floats, see #15885.  Maybe add a new test webgl-reproj-float-interpolate-false which should produce something similar to the old results.  Might this also improve interpolate: false situations such as #15579?

I am just seeing this.

I have tried on more devices and get different results depending on the device.

In a polar projection source tiles from the entire width of the world may need to be included in the stitchWidth to produce a reproj tile covering the pole.  Although I initially noticed the problem on an old Windows PC where MAX_TEXTURE_SIZE was 8196, it is worst on a relatively new Android 13 device where MAX_TEXTURE_SIZE is only 4096.  If these stats https://web3dsurvey.com/webgl/parameters/MAX_TEXTURE_SIZE are reliable most Android devices and 24% of all devices would have this issue.  Would it be practical in your solution to downsize the stitchTexture if either dimension exceeds gl.getParameter(gl.MAX_TEXTURE_SIZE)?

Would it be practical in your solution to downsize the stitchTexture if either dimension exceeds gl.getParameter(gl.MAX_TEXTURE_SIZE)?

Yeah I think, so thanks for digging into this.

@mike-000 I have tested this by artificially reducing the max texture size in js, could you see if this works on your devices? I don't really have access to anything with low max texture resolution.

The issue concerning max texture size with stitch images should be fixed now.

The issue concerning max texture size with stitch images should be fixed now.

Yes, some artefacts are visible at times because of the reduced quality, but that is better than black tiles:

I was wondering if there is anything else I can to do in order to move the review process along?

Thank you for your work on this, @sweepline. I added a single commit that moved the ol/WebGLCanvas.js module to ol/webgl/Canvas.js so that it would be adjacent to other similar WebGL helper code (and ideally encourage some reuse).
I am seeing black/blank spots rendered in the geotiff-reprojection.html example with the changes in this branch. But I am also seeing the same in the default branch, so it feels like there are existing issues that could be improved.

For future work work on reprojection, we want to move away from the "reproj tiles" altogether. Ideally, the renderer would be working with regular tiles and would handle the warping itself.

@tschaub The console suggests that might be a network problem with that source file.  I do not see any problems with Multiple COG Sources or STAC Support example which also reproject.  However after rebasing #16227 it seems that there is a regression in either #15825 or #15484 which can be seen in the example:

compare
https://deploy-preview-16227--ol-site.netlify.app/en/latest/examples/cog-modeltransformation.html
with
https://deploy-preview-15988--ol-site.netlify.app/en/latest/examples/cog-modeltransformation.html


jiggle physics magically stopped working properly (semi-fixed now?)

Godot version
v4.2.2.stable.official
Issue description
https://github.com/detomon/wigglebone/assets/36207658/3181f4ff-12b8-4837-a255-62cff465bbcf
above is a video showing the issue, whenever the character moves the wigglebones seem to clip into her as she moves around instead of jiggling like normal (and this applies to all characters with wigglebones), i have zero clue what caused this and have exhausted pretty much all possibilities like changing the physics settings and deleting physical bones (both didn't work)
weirdest thing is that i reverted to an older version of the project where theoretically this didn't happen and this still happened???? i have no clue what to do and think that wigglebone just magically stopped working or my game project is haunted
https://github.com/detomon/wigglebone/assets/36207658/97822eab-d147-4bdc-9121-359aa6bb1baf
here's a reference video from back when it did work properly
Steps to reproduce
i have no idea to be honest

after looking through the GitHub it looks like there was a recent update last week, that's around the time I noticed this happening so maybe that caused it somehow? still new to godot, do add-ons from assetlib automatically update?

Sorry for being off topic. But when I saw this plugin, I was sure that this plugin was needed only for these same bones :D

i ended up reinstalling the addon from assetlib and it seems to work properly now? i didn't make any changes from that so I'm going to leave this up and will let the dev decide if it's fixed in case someone else runs into this issue

Not sure what happened there. Maybe an accidental code change in one of the plugin scripts? Addons from the asset library do not update themselves automatically. I did push changes to a development branch last week, but this doesn't influence the current version.
You said, that you reverted to an older version of the project. Are you using Git for the project or was it from a backup? In case of Git, maybe you can find the local change which created this issue (code change, project setting, etc.). It's not impossible, that some setting is the culprit, which would be interesting to know.

I don't think I messed with any of the addon files prior to their problem occurring? Initially thought it was because I switched over to the Jolt physics engine or because I added physical bones for ragdolls, nothing I changed worked
When I reverted to an older version of the project I just downloaded one of the builds from a few weeks ago and opened it as a separate project and issue was still there which is baffling
It's fixed now and the addon works fine so I'll probably close this, still have no idea what caused this and no idea what fixed it so I'm going to assume it's voodoo witchcraft

alright nevermind, i guess it just un-fixed itself somehow
https://github.com/detomon/wigglebone/assets/36207658/e782d8fb-cad7-4f0f-89ab-05a2f43d82b5
i made no changes. i literally made no changes and it's back. really starting to annoy me because this is a really cool addon and i have no way to recreate it to fix it
only other thing i could possibly think of is that I'm using multiplayer nodes like multiplayersynchronizer, but those have been in there for a while as well so i don't know if that's the issue either

this is probably a better visualization, the little robot uses a jiggle bone to snap back to it's original position but now whenever it moves it's snaps forward in the direction the player is moving, which it didn't do before
https://github.com/detomon/wigglebone/assets/36207658/636cbc05-ea89-48f5-a653-229118909408

also tried reinstalling the addon from assetlib again and it still persists, so I'm back to square one at figuring out the issue

This just happened to me as well. I moved the project to Godot 4.3 without issue, but after cloning it on a new PC it broke there.
Tried:

restarting the project
disabling / re-enabling the addon
deleting the .godot folder

Before:
https://github.com/user-attachments/assets/9a2f0ebf-6789-4276-84f7-f769c3a29cfb
After:
https://github.com/user-attachments/assets/b3d7735c-9de6-4ec8-9bee-7c2a7ec1ea3b

The latest release is a complete rewrite (see release notes) and adds new nodes which should not have any frame rate issues. The new version requires Godot 4.3 but a fallback implementation for Godot 4.2 can be found in the godot-4.2 branch.


[2201.9.x] Add the union of the types in the Create variable with type code action

Purpose
In scenarios like the one described in the sample, there may arise situations where dependent types require a union of types rather than individual ones. To address this, the PR introduces an additional code action with a union type alongside the existing ones to cover this specific use case.
Fixes #42591
Approach
Return the union of all the possible types along with the ones that are already provided in the respective code action.
Samples
https://github.com/ballerina-platform/ballerina-lang/assets/59343084/a8f874a2-b670-49bb-994f-b3b93fd37348
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

When an HTTP client resource is invoked, this fix will suggest a code action with the type http:Response|anydata|http:ClientError. However, for HTTP client invocations, we cannot use a union type of http:Response|anydata because it will result in a runtime error.
public function main() returns error? {
    http:Client cl = check new("http://localhost:8080");

    http:Response|anydata|http:ClientError path1 = cl->/path1;
    io:println(typeof path1); // ClientError

    http:Response|anydata|http:ClientError path2 = cl->/path2;
    io:println(typeof path2); // ClientError

    http:Response|http:ClientError path1_a = cl->/path1;
    io:println(typeof path1_a); // http:Response

    anydata|http:ClientError path2_a = cl->/path2;
    io:println(typeof path2_a); // anydata
}

When an HTTP client resource is invoked, this fix will suggest a code action with the type http:Response|anydata|http:ClientError. However, for HTTP client invocations, we cannot use a union type of http:Response|anydata because it will result in a runtime error.
public function main() returns error? {
    http:Client cl = check new("http://localhost:8080");

    http:Response|anydata|http:ClientError path1 = cl->/path1;
    io:println(typeof path1); // ClientError

    http:Response|anydata|http:ClientError path2 = cl->/path2;
    io:println(typeof path2); // ClientError

    http:Response|http:ClientError path1_a = cl->/path1;
    io:println(typeof path1_a); // http:Response

    anydata|http:ClientError path2_a = cl->/path2;
    io:println(typeof path2_a); // anydata
}

When an HTTP client resource is invoked, this fix will suggest a code action with the type http:Response|anydata|http:ClientError. However, for HTTP client invocations, we cannot use a union type of http:Response|anydata because it will result in a runtime error.
public function main() returns error? {
    http:Client cl = check new("http://localhost:8080");

    http:Response|anydata|http:ClientError path1 = cl->/path1;
    io:println(typeof path1); // ClientError

    http:Response|anydata|http:ClientError path2 = cl->/path2;
    io:println(typeof path2); // ClientError

    http:Response|http:ClientError path1_a = cl->/path1;
    io:println(typeof path1_a); // http:Response

    anydata|http:ClientError path2_a = cl->/path2;
    io:println(typeof path2_a); // anydata
}

This was one of the issues that arose during the design change. Since it is specific to the library module, we cannot handle it as a special case from the language server side. After an offline discussion, we have decided to allow it for now. Unlike in the generated client, the primary user flow in this scenario is to rewrite the type or write the type from scratch.

@nipunayf if we need this change with Update 9.
This PR should be base with 2201.9.0-stage branch


KendraFallback missing in import

Describe the bug
KendraFallback extension is missing in import section
To Reproduce
Follow the steps in https://github.com/aws-solutions/qnabot-on-aws/tree/main/docs/kendra_fallback
Expected behavior
Should find an extension named "KendraFallback"
Please complete the following information about the solution:
latest CF template from https://docs.aws.amazon.com/solutions/latest/qnabot-on-aws/step-1-launch-the-stack.html
Screenshots

Additional context
This might be a simple over look. If there is some other changes, please update the doc as needed.

Hi @abilash44 - this is old documentation which will be updated during the next release. The KendraFallback example is actually part of the default behavior of QnABot now. I recommend following the following steps in our Implementation Guide if you're interested in integrating Kendra: https://docs.aws.amazon.com/solutions/latest/qnabot-on-aws/integrate-amazon-kendra.html. I will leave this ticket open until we make corrections to the documentation.

That is awesome. Is there a way we can control the default behavior. Like I want to ask if the kendra results are useful, if not either let the user ask for more kendra results or choose to do next option.

That is correct - you get to define what the search query is using Kendra redirect.
Adding lambda hooks requires creating and deploying your own lambda function that can understand and respond to the QnABot fulfillment lambda request/response objects. Adding that function to respond to a users question using QnABot is relatively simple though: you just need to add the lambda name to the question (or to pre-processing/post-processing lambda hooks if you want to append the lambda before or after every question). See: https://github.com/aws-solutions/qnabot-on-aws/tree/main/docs/lambda_hooks. This allows you to extend the existing functionality of QnABot however you want/need. We include some examples to get started (see: https://github.com/aws-solutions/qnabot-on-aws/blob/main/templates/examples/examples/js/hook.js). A more relevant example can be found here: https://github.com/aws-samples/qnabot-on-aws-plugin-samples/tree/main/lambdas/qna_bot_qbusiness_lambdahook, which integrates the new AWS service 'Q' with QnA Bot instead of using Kendra as the fallback.

Closing this issue. The documentation has been updated in v5.5.0 to remove reference to non-existent import.


build: using LTS and 10x also cleaning up the config

Pull Request Test Coverage Report for Build 303

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 100.0%

Totals

Change from base Build 295:
0.0%

Covered Lines:
14

Relevant Lines:
14

💛  - Coveralls


Feature/dropwizard update

Coverage remained the same at 66.408% when pulling 090add47f1eb0ccd9a259008d0433c13fc26dc2e on feature/dropwizard_update into d2010d824e30a1e70238624632af832ec4cb8c33 on develop.


Add how to build section in Readme

maybe it's helpful for some people and save you guys a lot of issues and questions

I couldn't build it.

https://yadi.sk/d/OsvZbUjjxXeDv

very useful.
anyways this project has ended, the owner will not continue


Fix dropbox provider

Dropbox has moved it token endpoint to their api domain and put the current account info behind a POST request

Thanks!


Support Kubernetes 1.28.x and 1.29.x

Successfully booted Kubernetes 1.27.11 and upgraded to new Kubernetes versions 1.27.11 -> 1.28.7 -> 1.29.2 using commands:
 openstack coe cluster upgrade cluster_1 k8s-v1.28.7
 openstack coe cluster upgrade cluster_1 k8s-v1.29.2

Also, tested new images uploading to the custom container registry without any issues

@mnaser I have all sets of the images added. Also, I have updated k8s versions.

@okozachenko1203 can you take into consideration your patch there?

@0x00ace thanks for your contribution.
i cannot make commits on this PR directly because it is in your personal fork. So i request to do changes yourself
could you import changes from this PR also? https://github.com/vexxhost/magnum-cluster-api/pull/353/files

change the default --version flag value in magnum_cluster_api/cmd/image_builder.py
update zuul CI jobs in zuul.d directory

Kepler Team here,
We would like to have this k8s version supported ASAP.
Thank you

v1.27 end of life is 2024-06-28
When can we merge this PR?

recheck

@mnaser
I have successfully created a 1.28.x cluster and have upgraded it to 1.29.x
But to create a 1.29.x one needs to add a label keystone_auth_enabled=false

recheck

For kubernetes >= 1.29.0 there is an issue with k8s-keystone-auth
Because of that issue, I need to pass a label keystone_auth_enabled=false

@mnaser
Should I also include Kubernetes 1.30.x support in this PR? The issue with k8s-keystone-auth I have mentioned above is also valid for 1.30.x. Everything else looks to be working.

It might be a good idea to split this PR to get a newer k8s version than 1.27 as soon as possible, since the end of life is in 6 days. And then work on the keystone-auth problems in another PR and release it later.

I am struggling with finding a good way to manage the life cycle of these images other than "write a manual script" at this point.  It seems like it's hard to find a way to get CI to react for changes, and the image builds are flakey, and the Sonobuoy tests are flakey too, and on top of it they eat a lot of resources...

@mnaser I will rework this PR to support only k8s 1.29 and 1.30
k8s 1.28 support in this PR

@0x00ace thanks, actually I figured out a nice way to build images that is far more reliable.
https://github.com/vexxhost/capo-image-elements
I am almost done with the CI bit and then we can ignore the image build here and ship the images from there to consume here.

Alright, 1.28 is in right now, I'm also trying to get image builds for EL9 working for 1.28, and then we can tackle this issue.

@mnaser
Updated PR for support k8s 1.29.x and 1.30.x
I'm using Rocky 9 with cilium and keystone_auth_enabled=false.
Cluster creation, resizing, and adding new nodegroups look to be working without issues.
Also, I have no issues with a cluster upgrade from 1.28 -> 1.29 -> 1.30.

https://github.com/vexxhost/capo-image-elements/issues/4
This is what I'm struggling for EL9

/recheck

1.29 and 1.30 passed for calico at least

failed tests
1.29.6 cilium
[It] [sig-network] Services should serve endpoints on same port and different protocols [Conformance]

1.30 calico
[It] [sig-api-machinery] AdmissionWebhook [Privileged:ClusterAdmin] should mutate configmap [Conformance]

1.30 cilium
[It] [sig-network] Services should serve endpoints on same port and different protocols [Conformance]

https://github.com/cilium/cilium/issues/29913

all ubuntu tests passed

@okozachenko1203
When is this version of magnum capi available?


Updated readme file with basic instructions for build to device

Hi, here's an updated readme with basic instructions for building to device.

@Ambrosiani Looks great. Thanks for doing this write up!


Set the beam calibration state using the X-engines - Proposal 2

This PR updates the way xengine_beamformer_control.py to use the X-engines "cal_gains#" state variables to set the beam calibration state.  This is one of two proposals.
This Method
The PR uses an "and" of the single polarization X-engine beams to set the beam state.  Since "and" is used the calibration gain setting now needs to explicitly set all unused inputs to zero.
Pros:

It will support other beam polarization schemes where stand pols. need to be mixed.

Cons:

It requires twice as many calibration gain commands to be sent to the X-engine pipelines for the (currently) unused inputs in each single pol. X-engine beam.
It change the calibration gain setting  method which will need testing to verify that it still works.

What is the scenario in which stand-pols need to be mixed?
I'm inclined to assume no mixing, if it saves us the time of applying calibration (which is already slow). Would you agree?

One scenario would be correcting for antenna orientation problems by mixing X and Y on a per stand basis, another would be something like an on-the-fly polarization basis conversion.  We support this kind of mixing at the NM stations but we never use it - the beam polarizations follow the stand polarizations.

Given that experience. I'll suggest we go with the simpler scheme.


Publisher editorial linked instances with grouping view

Is there an existing issue for this?

[X] I have searched the existing issues.

Please describe the feature you have in mind and explain what the current shortcomings are?
Traypublisher's editorial instances can be quite challenging to manage, especially when dealing with multiple instances for different shots. For instance, ShotA might have associated instances for Plate, Audio, and Reviewable. To add to the complexity, we also need to create an additional 'parent' instance for ShotA, categorized as a product type shot. This parent instance allows for user-configurable attributes related to the shot, which are then distributed to other connected instances like Plate or Audio during publishing.
Some productions might work on a single layer with roughly 100 shots, leading us to manage around 200 instances. However, other productions may use a multi-track workflow with vertically aligned clips, potentially increasing the number of instances to 500 or more.
How would you imagine the implementation of the feature?
Let's categorize the instances and their connections:

Shot Instance (SI) - This holds metadata, some of which may be editable and should be shared with other linked instances.
Main Layer Linked Clip Instance (MLLCI) - These are Plate/Audio/StillFrame instances that do not have editable shot-related attributes.
Vertically Aligned Linked Clip Instances (VALCI) - Similar to MLLCI, these are Plate/StillFrame instances.

Suggested UX improvements:

An enhanced view for instances that includes a grouped mode. In this mode, MLLCI and VALCI would be organized under the SI, similar to the image below.

Enhanced instance context view for MLLCI and VALCI types. Users can currently override Folder and Task, but it would be better to make these non-editable.

Differentiate linked instances visually using color, icons, or widget size.

Are there any labels you wish to add?

[X] I have added the relevant labels to the enhancement request.

Describe alternatives you've considered:
No response
Additional context:
No response

@jakubjezek001 @dee-ynput @philippe-ynput


Add Uyuni service discovery

Uyuni is the free and open-source project for configuration and infrastructure management. Among other tasks it helps installing and configuring Prometheus and exporters on managed systems.
This pull request adds Uyuni service discovery which allows retrieving scrape targets from managed systems via Uyuni API.
The Uyuni SD has been first developed in May 2019 and since then maintained in own fork. The Uyuni developers team (including myself) commits to maintaining the code in future.
Requires uyuni-project/uyuni#2987

Thanks for this pull request. I am skeptical about the proxy stuff, can you please explain it better?

The docs indicate that Unyui is Salt under the covers. As Salt is a conflagration management system that can template files the way to provide targets would be that, in the same way we don't have Chef or Ansible service discoveries.

I am skeptical about the proxy stuff, can you please explain it ?

Hi Julien, thanks for the quick reply.
We offer a possibility to install and configure reverse proxy for Prometheus endpoints on managed clients. It's useful e.g. for systems behind the firewall without possibility to open additional ports. SD has to configure these proxied targets accordingly.

The docs indicate that Unyui is Salt under the covers. As Salt is a configuration management system that can template files the way to provide targets would be that, in the same way we don't have Chef or Ansible service discoveries.

Hi Brian, good point, but after all we're not proposing Salt SD ;)
Uyuni uses Salt under the hood but makes specific assumptions about monitoring deployment and adds a level of automation. When starting this work we've considered implementing file-based SD but that was not trivial to synchronize all required information from independent, dynamically changing Salt states.
Current implementation leverages the SD refresh mechanism to sync from the central source of truth via API and configure the targets. It simplifies the overall setup enormously.

Does uyuni offer rest or only xmlrpc? If they support both I'd prefer to use rest for consistency with the rest of the SD's

Does uyuni offer rest or only xmlrpc? If they support both I'd prefer to use rest for consistency with the rest of the SD's.

Unfortunately only xmlrpc. I'm also not happy about it but there are other trade offs.

SD has to configure these proxied targets accordingly.

Can you explain more about this? It is not the responsibility of a SD to hardcode business logic like this, that's a matter for metadata and relabelling.
In general there seems to be rather a lot of hardcoded business logic included in this PR.

Uyuni uses Salt under the hood but makes specific assumptions about monitoring deployment and adds a level of automation.

That doesn't quite address my concern. Does salt's templates have enough information to write out a list of targets or not?
While you may not be proposing a Salt SD, if a Salt SD could handle this use case then it doesn't make sense as an SD.

SD has to configure these proxied targets accordingly.

Can you explain more about this? It is not the responsibility of a SD to hardcode business logic like this, that's a matter for metadata and relabelling.

This gives users the flexibility to choose whether they want the proxied setup or not. Since each monitored system can run several exporters, doing this with relabelling with not be easy and would make the configuration quite cumbersome, given Uyuni has known setups of thousands of managed systems.

In general there seems to be rather a lot of hardcoded business logic included in this PR.

Uyuni uses Salt under the hood but makes specific assumptions about monitoring deployment and adds a level of automation.

That doesn't quite address my concern. Does salt's templates have enough information to write out a list of targets or not?
While you may not be proposing a Salt SD, if a Salt SD could handle this use case then it doesn't make sense as an SD.

Salt does not know which systems have monitoring enabled, and how it is configured. It only knows which systems have the exporter packages installed. Uyuni keeps an index of which systems have metrics to be scrapped, and on which ports.

This gives users the flexibility to choose whether they want the proxied setup or not. Since each monitored system can run several exporters, doing this with relabelling with not be easy

That's still the role of relabelling, not a SD. The whole point of relabelling is to not have every single SD invent their own variant of user-configurable ways to manipulate labels.

That's still the role of relabelling, not a SD. The whole point of relabelling is to not have every single SD invent their own variant of user-configurable ways to manipulate labels.

I agree. We should have a more generic labeling schema and set up relabelling to address our needs. I'll be happy to change that.

I had a very very quick pass, some stuff I find strange, like hardcoding the possible exporters. That seems too much business-logic to me, and too tightened to certain workflows / deployments.

@roidelapluie @brian-brazil  thank you for your kind reviews here, much appreciated!
Can you please help us to know which are the missing actionable steps to get this PR in a mergable status? I think @witekest  has done quite lot efforts and commits since your last review.
Thank you guys! :sunflower:

There's still comments above that need to be addressed, for example the ExporterFormulas config field needs to go away as full metadata should be provided for everything out of the box.

I have refactored the code with the goal to make it more generic. It does not require now setting the formulas which should be examined in the configuration file. Instead the list of all managed application and exporter endpoints is retrieved.

Thanks a lot for your comprehensive review. I think I've addressed most of your comments.

LGTM, now let's wait for the feature to be released Uyuni-side.

Finally landed. Sorry for the delay.

Uyuni 2021.09 with the new API call for retrieving endpoints has been released.

Thanks!


process is not defined in content script

Describe the bug
The build is successful, everything works fine except for the content script.
However, it shows an error Uncaught ReferenceError: process is not defined on development mode running pnpm run dev.
Here's the stack trace on the page of the built extension.

Reproduction
Build the newly cloned repo and check the content script
System Info
System:
    OS: Linux 5.15 Ubuntu 20.04.5 LTS (Focal Fossa)
    CPU: (4) x64 Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
    Memory: 3.52 GB / 7.66 GB
    Container: Yes
    Shell: 5.8 - /usr/bin/zsh
  Binaries:
    Node: 14.17.0 - ~/.nvm/versions/node/v14.17.0/bin/node
    npm: 6.14.13 - ~/.nvm/versions/node/v14.17.0/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 106.0.5249.119
    Firefox: 105.0

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

Install @rollup/plugin-replace, then modify vite.config.content.ts:
export default defineConfig({
  ...
  plugins: [
    ...sharedConfig.plugins || [],
    replace({
      values: {
        'process.env.NODE_ENV': `"${env.NODE_ENV || 'production'}"`,
      },
    }),
  ],
})

@TP-O thanks. This solved my issue.
One minor modification is that I have to wrap the value in JSON.stringify.

I also have this issue; content scripts are not executed.
@chan-dev were you able to get content scripts to respond to messages using onMessage with @TP-O 's solution?

@ivyraine It seems to work fine on my end. Although i'm just testing on the dev build using pnpm run dev
Were there any errors on your end? Maybe it has something to do with the webext-bridge plugin.
https://github.com/zikaari/webext-bridge

@TP-O Just realized that you no longer need to install a separate plugin, but rather simply define it under the sharedConfig in vite.config.ts file.
 define: {
    '__DEV__': isDev,
    'process.platform': null,
    'process.version': null,
    'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'production'),
  },

Have you tried this one?

@chan-dev Yes, it works :D

Hi there 👋
I have tried both methods, but running yarn run dev and loading the extension into Chrome still returns a Uncaught ReferenceError: process is not defined.
For the record, I'm using the mv3 branch.

when I try to display a stored variable into background/index.ts:

background/index.ts is bundled by tsup, so you should add the config in tsup.config.ts:
// tsup.config.ts
export default defineConfig(() => ({
  define: {
    __DEV__: JSON.stringify(isDev),
    'process.env.NODE_ENV': JSON.stringify(isDev ? 'development' : 'production'),
  },
}))


Cannot install v3.0.0 via cocoapods

I installed SwipeMenuViewController v3.0.0 via cocoapods to my project.
But SwipeMenuViewController imported into my project was not v3.0.0. (It was not support Swift 4.2)
Is the tag "3.0.0" pointing to the wrong commit?
https://github.com/yysskk/SwipeMenuViewController/releases/tag/3.0.0

@shingohry Thanks, report. I fixed 3.0.0 version tag 🙏


Unable to Emit Signal "pressed". Method not found _on_ExampleOneButton_pressed

The coding style is somewhat inconsistent.

but it should work.
Testing all the buttons gives me  ERROR: emit_signal: Error calling method from signal 'pressed': 'Node(main_scene.tres.gdns)::_on_ExampleOneButton_pressed': Method not found.    At: core/object.cpp:1202. ERROR: emit_signal: Error calling method from signal 'pressed': 'Node(main_scene.tres.gdns)::onExampleTwoButtonPressed': Method not found.    At: core/object.cpp:1202. ERROR: emit_signal: Error calling method from signal 'pressed': 'Node(main_scene.tres.gdns)::onExampleThreeButtonPressed': Method not found.    At: core/object.cpp:1202. ERROR: emit_signal: Error calling method from signal 'pressed': 'Node(main_scene.tres.gdns)::onExampleFourButtonPressed': Method not found.    At: core/object.cpp:1202.
Here's the project

Inside Godot editor and the scene file, they should be referred to as _on_example_one_button_pressed and so on. Methods are converted to snake_case (to lowercase and _ added before each former uppercase letter) when they're registered to Godot so the "standard" coding style can be used in both GDScript and D even when using them together.
In case you want to use the original camelCase names everywhere and inside Godot, I could add a compile flag to disable automatic renaming in the whole project... that's been requested once before.

Inside Godot editor and the scene file, they should be referred to as _on_example_one_button_pressed and so on. Methods are converted to snake_case (to lowercase and _ added before each former uppercase letter) when they're registered to Godot so the "standard" coding style can be used in both GDScript and D even when using them together.

But still, I can't get signals to work.
gd.zip

It turns out, signal methods can't be camelCase otherwise, method not found.

Alright, will add later this week in 0.0.3. One minor issue is functions like _fixed_process still must be registered in snake_case, otherwise Godot won't recognize them. The Rename UDA can be used for now, at least.


Removed non animal icons and the random word potent

*Removes unfitting icons
*Removed the dirty dirty word "potent"
Merge with the controller request with same name of errors will insue

checking


Fix the value of "user" attribute in the context of execution created by alias execution API endpoint

This pull request fixes the value of "user" attribute in the "context" of live action created by the alias execution API.
Previously, user was incorrectly set to system user (stanley) instead of the authenticated user which triggered the execution. Not setting the user correctly means RBAC and some other things won't work correctly - token which gets created by the action runner and is available for the duration of the action execution will be tied to the system user (which has no permissions by default) instead of the authenticated user (in workroom case, we create a special use which is used for ChatOps by hubot and we grant that user admin role).
This issue was spotted by @enykeev.

LGTM. This issue is a blocker for most default st2 aliases, should we release it as a hotfix or backport it?

Yeah, I think it's reasonable to backport it to v1.1.2 :)

Thanks, Kami. I'll wait for the build then make a testing pass and start publishing stuff one by one.

Travis failure in master merge is related to mistral auth test - https://github.com/StackStorm/st2/commit/37f4daaf61a8b755ff0ab25c479898c403bf63cb#commitcomment-14442182.
I reverted it for now and will merge this PR.

@enykeev I believe packages should be built now. Please let me know how end to end testing goes.


Disallow creating an invalid Ident

An instance of Ident should always contain a valid identifier.

Should we reject keywords in Idents like as or fn? I assume not as they are useful to keep in Idents sometimes.

I suspect that Ident isn't going to exist anymore, we will just use the Term type from https://github.com/rust-lang/rust/pull/40939 directly. That one can contain keywords.

Currently on master Ident is a distinct type which bundles up Symbol (or Term if the name gets changed) and a Span. We'll probably keep Ident for that, but will probably change Lifetime to be a (Symbol, Span) instead of an Ident.

Ah you're right, of course it needs a Span. I would allow anything that can match $ident in macro_rules, which seems to include keywords.
macro_rules! ident {
    ($i:ident) => {}
}

fn main() {
    ident!(mystor);
    ident!(fn);
}

Fixed in 570695ea9345d9db9e089a9e21f2b157dffa6fb3.


Investigate how to limit backlog on Elasticsearch collector

Our elasticsearch span consumer uses okhttp under the scenes, which is subject to a default of 64 in-flight connections. We should think about a cancelation policy/algo so that we don't OOM when the elasticsearch cluster gets backed up for whatever reason. I don't see a control to limit the backlog in the okhttp dispatcher, so we might have to do something here..
here are notes from @logic-32 https://github.com/openzipkin/zipkin/issues/1332#issuecomment-334795332

We are using Brave with a URLConnectionSender to send the data. I'm surprised that no tool could handle more than 10k spans in your workshop; we handle it with minimal problems on only one zipkin-server, no cluster. The only problem is that the ES_READ_TIMEOUT is set to 60s and it sometimes takes more than 60s to write the data out. So, the data does get written but zipkin erroneously reports them as dropped. But our specific situation that got us into that state was having a 10s messageTimeout and a tight loop that hit the database; both of which have been remedied.
Quick review of the documentation indicates that the max connections only affects the size of the pool they use; which probably means everything else would be queued and backlogged.
Again, not knowing OkHttp that well, I wonder if you can inspect the Dispatcher queue and cancel anything in the queue if you exceed a certain threshold?
Ref: https://gist.github.com/RyanRamchandar/64c5863838940ec67f03

One way we could do it is to drop the incoming requests when we notice dispatcher.queuedCallsCount() is at a specific threshold, maybe easy as zero!
This trusts that auto-cancelation based on connect/read/write timeouts work (which defaults to 10s). If there's a possibility of stale in-flight requests otherwise, I guess we'd need something to watchdog in-flight requests to kill them if they are over the various timeouts.
cc the usual okhttp folks
@yschimke @swankjesse @jakewharton

From the Gist but also knowing the EventListener interface, is this something that could be prototyped first as an external library.  Seems like all the hooks are there to come up with something pretty smart.

Another strategy: have your own queue that sits in front of the dispatcher and does its own prioritization and enqueueing.
Getting signaled when dispatcher’s size changes may be tricky.

This sort of thing is hard to get right without knowing how the client and server(s) are handling things. Will OkHttpClient ever make the optimum decision?  e.g. is it worth submitting a queued call shortly before timeout, and therefore newer calls should be prioritised over older ones.

There are two main cases in ES anyway, the server fails not nicely (ex out
of disk) and the server fails nicely (response that says backoff). The
formal ES client has a backoff strategy for the latter. The former can
still happen and did in the issue leading to this one.
Regardless, one simplification we can make here is that we can choose to
drop new requests or drop in-flight ones on overload.
In either case, and we don't need to buffer in expectation of a transient
failure. For example, first priority is not dying (OOM), though later more
advanced things could be done.

@yschimke, looking at the EventListener interface, I'm not quite sure it'd be able to accomplish what we'd need by it self.  Specifically, this line from the documentation makes me a bit uneasy:

All event methods must execute fast, without external locking, cannot throw exceptions, attempt to mutate the event parameters, or be reentrant back into the client.

The inability for a listener to modify the client being the phrase to note there.  Maybe an EventListener in conjunction with a queue handling mechanism in front of OkHttp would work but that sounds like a lot of hoops to jump through and equally as many places for something to go wrong.
@swankjesse, what would the benefit of putting a queue in front of OkHttp be (aside from what I mentioned above)?  Would querying the Dispatcher directly be inappropriate in some way or are you just suggesting that an extra abstraction might lead to a cleaner implementation?
@adriancole, the StorageComponent code is a bit deep and I haven't managed to get through it all yet, particularly to the ES client, but for reference, there was another situation where we hit an OOM: when one of our ES nodes went down.  I wasn't able to identify and exact order of events that caused the issue but for some reason after the node (1 out of 3 of them) went offline we had a backup of requests and spiked to an OOM.  That indicates to me that I'm guessing the server was not failing nicely and triggering the backoff strategy you mentioned.  Again, not sure what other factors were at play but it's another scenario to consider at the very least.
As for the simplification: that sounds ideal to me as long as proper metrics are maintained with respect to number of spans dropped ;)

Honestly, I think we should start with dropping on backlog and go from
there. The test is easy.. crap out a cluster and throw traffic at zipkin.
uncrap the cluster and the drop metrics should stop.

downside of dropping on backlog (ex ready queue > 0 or some figure
defaulting to zero) is that we will still have a by default 64
requests in flight on a crap cluster. however, the change to improve
that (ex coordinate on http response) could layer a filter or other
code to throttle back. If 64 requests OOM the server anyway, you can
change that to a lower value today anyway. At any rate a healthy
backoff signal isn't always present, so regardless we need a knob like
drop on backlog as otherwise whoever's queue it is will lead to OOM.

https://github.com/openzipkin/zipkin/pull/1765 I am soak testing this, but the server already survives a lot longer. basically, set ES_MAX_REQUESTS=2 and throw lots traffic at it. Before this change, it would reliably OOM. It is harder to OOM if you have the default max requests of 64 :P

let's try simple first. I've put a semaphore in, and zipkin 2.2 has some nice things for grafana etc. give it a try and let's iterate from there..
here's an example of a forced surge and recovery though I'm sure we can kill the server if we try hard enough.

Thanks! As previously mentioned, transition to zipkin 2 will be a little involved for us but I will report back when I can!
Hardest part with this is that the death is random.  So who knows if we'll find the random event again ;)

Hardest part with this is that the death is random. So who knows if we'll
find the random event again ;)

well thanks for dying earlier, as I think the code is a bit safer now, even
if not bulletproof. cheers!

https://github.com/apache/incubator-zipkin/pull/2502 now includes test instructions please give a try


[1.12] Allow device mounting to work in privileged mode

Before, device mounting was disabled when a container was privileged, because there was no clear way to make distinctions between mounts on the host and directories in the container. Resolve this by decreeing a privileged container cannot mount a device that already exists on the host. This allows privileged container mounts to work in other cases.
Signed-off-by: Peter Hunt<EMAIL_ADDRESS>

/ok-to-test

/lgtm

/approve


Compiler uses var hoisting instead of putting vars at the top of functions.

When using the code below, the compiler produces the actual result below using my TS config, but I think it should produce the expected result below. The var obviously gets hoisted to the top at runtime, however, in code coverage tools this line is considered to be uncovered (very small annoyance). Maybe this is an issue with the code coverage tool and this is really tricky for you guys to change, but I thought I'd make sure you're aware of the issue.
TypeScript Version:  Version 2.1.5
Code
itsInvalid({
  interactionType: type,
  [prop]: [],
}, `containing unsupported component ${prop} for ${type}`, test)

Source file
Expected behavior:
var _a;
return ItsInvalid_1.default((_a = {
        interactionType: type
    },
    _a[prop] = [],
    _a), "containing unsupported component " + prop + " for " + type, test);

Actual behavior:
return ItsInvalid_1.default((_a = {
        interactionType: type
    },
    _a[prop] = [],
    _a), "containing unsupported component " + prop + " for " + type, test);
var _a;

Built file

I'd say this is a bug in the coverage tool. A var declaration without an initializer is "executed" at the top regardless of its location in the block.

With the new emitter in place, there is no reason why we can not emit the variables at the top of the function.
This is definitely a bug in the coverage tool, and the tool needs to be fixed to handle JS semantics correctly. but, we bride ourselves on emitting clean and idiomatic JS code, and emitting the var atop of the function would definitely be cleaner and more idiomatic.
https://github.com/Microsoft/TypeScript/issues/7017 tracks updating the emitter to emit vars at the beginning of the scope instead of the end.

Thanks for responses @RyanCavanaugh @mhegazy, I really appreciate you taking the time to look at this and reply.
I agree, this is a bug in the coverage tool and I'll report an issue there too with a reference to this issue. I also agree that it would be cleaner and more idiomatic to emit the var at the top.
Thanks for referencing that issue @mhegazy, I've subscribed to notifications 👍
Have a great weekend both, take care 😄


fix(qe): fix error logging

Fixes #16226
This patch ensures that errors resulting in a failed query generate an event if the error logger is enabled.
This aligns with the principle of least astonishment: The user expects errors to be logged, and due to the lack of a formal definition of what constitutes an error, the most sensible approach in my opinion (backed by bug reports like https://github.com/prisma/prisma/issues/14933) is to log any condition leading to an error in the processing of the query, which is, in turn, any of the four well-known classes of errors.
This is done now in the RequestHandler thus capturing any possible error condition happening during query processing. Before, every different engine was doing this differently, and errors were not properly captured.
A smoke test suite proves that NotFoundError errors in findXOrThrow are now properly emitted. I consider this enough, given that the code that handles the error is the same for every exception thrown during query execution.

Taking a look at the windows failures. Please don't let this hold you from a review.

Did the following:

Tampered the binary engine:

diff --git a/query-engine/request-handlers/src/graphql/handler.rs b/query-engine/request-handlers/src/graphql/handler.rs
index 39cb2e08e1..15690c5b47 100644
--- a/query-engine/request-handlers/src/graphql/handler.rs
+++ b/query-engine/request-handlers/src/graphql/handler.rs
@@ -26,7 +26,6 @@ impl<'a> GraphQlHandler<'a> {

     pub async fn handle(&self, body: GraphQlBody, tx_id: Option<TxId>, trace_id: Option<String>) -> PrismaResponse {
         tracing::debug!("Incoming GraphQL query: {:?}", &body);
-
         match body.into_doc() {
             Ok(QueryDocument::Single(query)) => self.handle_single(query, tx_id, trace_id).await,
             Ok(QueryDocument::Multi(batch)) => match batch.compact(self.query_schema) {
@@ -44,7 +43,7 @@ impl<'a> GraphQlHandler<'a> {

     async fn handle_single(&self, query: Operation, tx_id: Option<TxId>, trace_id: Option<String>) -> PrismaResponse {
         use user_facing_errors::Error;
-
+        dbg!("Running single {}", query.clone());
         let gql_response = match AssertUnwindSafe(self.handle_graphql(query, tx_id, trace_id))
             .catch_unwind()
             .await
@@ -201,6 +200,9 @@ impl<'a> GraphQlHandler<'a> {
         tx_id: Option<TxId>,
         trace_id: Option<String>,
     ) -> query_core::Result<ResponseData> {
+        if 2 > 1 {
+            panic!("Forced")
+        }
         self.executor
             .execute(tx_id, query_doc, self.query_schema.clone(), trace_id)
             .await

Ran Prisma against the binary engine. The connection is reset before the actual panic is processed asynchronously. In this case, the error is correctly received by the client

Ran Prisma against the library engine. The behavior is correct.

I think this is ready to be merged.


Using ACS-engine with a preexisting VMSS

This is a request for clarification.
I'd like to provision node pools for my Kubernetes cluster before I create it.
Ideally, I'd like to create a few VMSS with Terraform and then use ACS-engine to generate the templates to create a Kubernetes cluster using the newly created agent pools.
As far as I understand, agent pools in a k8s cluster can only be created by ACS-engine. There isn't a way to plug-in existing VMSS.
Use case:

I'd like to provision agent pool separately
I'd like to fine-tune the VMSS, add a load balancer, probes, etc.
I'd like to use the VMSS that I created earlier in my Kubernetes cluster with ACS-engine

I tried to search for similar use cases in the opened and closed issues, but I couldn't find an answer.

This isn't possible, and probably isn't something that will happen anytime soon.
Can you clarify the fine-tuning you wish to do? The current architecture of acs-engine sort of suggests that enforcement would arrive in the initial ARM template that acs-engine prepares.

Please note that I use Terraform to provision infrastructure. If I can't script it, I can't deploy to production.

TL;DR: I'd like to configure my infrastructure without ACS-engine getting in the way.
I'd like to configure a VMSS/VMAS in a private vnet and provision a load balancer on top. That's already doable with vanilla Azure. With the VMSS provisioned, I'd like to attach it to a Kubernetes cluster.
I'd like to repeat the previous action for all the node pools that I wish to attach to a cluster.
The advantage of creating my node pools is that I can leverage existing tools and constructs to build a cluster, rather than reinventing the wheel and creating a totally separate way to create new agent pools.
As an example, I can create Autoscaling groups in AWS and attach them to an EKS cluster. I can create a node pool in GCE and attach it to a GKE cluster.
I can create an ALB and attach it to the autoscaling group created previously. Indeed, it's just a regular autoscaling group.
I have all the level of detail that I would normally expect from an autoscaling group, no new API was created. I can leverage the existing tools and knowledge.
In AKS, I can have only 1 agent pool. And I don't have access to it. In ACS-engine I can have multiple node pools, but I have to define the node pools within the cluster. I don't have access to the node pools to provision load balancers.
I understand that you need the node pools defined in advance so that you can install the kubelet. But with the current solution, I'm limited by what ACS-engine can expose (which is not enough).
If I made a mistake, please let me know. I spent some time reading the issues and the code, but I'm no expert.


Integration Tests Strategy

What did you implement:
A quick spike on creating integration tests so that:
a) Can test deployment works end to end
b) Test the npm CLI / version works with the private npm registry
c) Allows scope for adding integration tests for other package managers like yarn to test compatibility
How did you implement it:
Created Dockerfiles to support testing against LTS and latest version of node (ultimately testing the included npm version).  Then created a new folder integration that holds tests.
Updated circle.yml to then build and run containers that deploys and runs integration tests accordingly.
How can we verify it:
Check CircleCI for this branch and see if build passes.
Todos:

[ ] Write tests
[ ] Write documentation
[x] Fix linting errors
[x] Tag ready for review or wip

Is this a breaking change?: NO

Further thoughts on this would be to run the integration tests on a schedule every 30 minutes (triggered circleci build) against master.  Want to keep build times down and with the addition of unit test coverage striving to be at 100% this combination should be thorough enough to catch as many issues as early as possible.
Longer term awaiting Circle 2.0 Docker support or switch to something like CodeFresh and split out the integration tests into their own repository.

So this now uses 2 containers in CircleCI and appears to work quite nicely.  ~9 minutes to run all build steps including integration tests across node.js LTS and latest.
Will be doing some more soak testing to ensure they run reliably, nothing worse that flaky integration tests.  Thinking the best thing to do is perhaps only run integration tests when PRs are raised to keep the noise down.

Needs to be some tidy up in regards to the naming / normalisation for some of the bucket names etc to stop duplication in some of the bash files and js deploy scripts along with the integration tests.
Thankfully have most of the operations now covered for the NPM CLI,  going to merge this first solid start for integration testing across LTS and latest.


Horizontal scrolling

When the pdf is zoomed  till it goes out of the screen i am  not able to  move or scroll it horizontally. Any fix for that? Tried applying some css for the canvas and it didn't work. Any help would be much appreciated.

Scrolling is handled purely through CSS. The canvas will resize when zooming in/out. It's the parent container for the canvas that needs to account for scrolling. http://tympanus.net/codrops/css_reference/overflow/


many2many doesn't work if one table has its key marked as readonly

GORM Playground Link
Absolutely not.
Description
type ATable struct {
  ID int32 `gorm:"->;primaryKey"`
  Name string `gorm:"->"`
  Related []*BTable `gorm:"many2many:atob"`
}

type BTable struct {
  ID int32 `gorm:"primaryKey"`
  Name string
  Related []*ATable `gorm:"many2many:atob"`
}

Assume there are rows in ATable already.  Any attemps to create a new BTable entry that has Related pointing to existing ATable entries will fail.  This is because the ID field of ATable is marked "read-only" with "->".  When gorm tries to insert into atob it only provides the BTable ID, leaving ATable ID to default to null.. which of course fails.
Removing the read-only mark fixes it, but I still don't want gorm modifying anything in the ATable.

Facing the same issue when both table have their keys marked as readonly.
The generated query is
INSERT INTO "a_bs" DEFAULT VALUES ON CONFLICT DO NOTHING RETURNING "a_id","b_id"


Update: KDE.kdevelop version 5.6.2

Result: Installation Successful

Manifest
Add/Remove Programs

Name
KDevelop
KDevelop

Version
5.6.2
5.6.2

Publisher
KDE e.V.
KDE e.V.

ProductCode

KDevelop

Auto-updated by vedantmgoyal2009/winget-pkgs-automation in workflow run 4639
Microsoft Reviewers: Open in CodeFlow

Close with reason: No changes in pull request;


Issue with tls proxy and installing

Hi,
I am trying to install kube-prometheus-stack but get the error here:-
https://github.com/prometheus-operator/kube-prometheus/issues/new?labels=kind%2Fsupport&template=support.md
What is the exact hell commmand syntax with the set arguments? I have:
microk8s helm3 install promop prometheus-community/kube-prometheus-stack -n prom-operator --no-hooks --set-string prometheusOperator.admissionWebhooks.enabled=false,
--set-string prometheusOperator.tlsProxy.enabled=false

It looks to me like an issue with helm chart. Since we are not maintaining this helm chart, please open the issue at https://github.com/prometheus-community/helm-charts repository where the helm chart comes from.
Please reopen if this is indeed an issue with kube-prometheus.


Version 27.0.0 and above break running snapshots and unit tests in react native project

💥 Regression Report

Last working version
Worked up to version: 26.6.3
Stopped working in version: >=27.0.0
To Reproduce
Steps to reproduce the behavior:

clone the repo linked below
install the dependencies
run yarn test:jest

Expected behavior
The default tests bootstraped with npx react-native init <project> should pass but they do not and the error below is triggered:
TypeError: Cannot destructure property 'config' of 'options' as it is undefined.

      at Object.getCacheKey (node_modules/@jest/create-cache-key-function/build/index.js:62:12)
      at ScriptTransformer._getCacheKey (node_modules/@jest/transform/build/ScriptTransformer.js:280:41)
      at ScriptTransformer._getFileCachePath (node_modules/@jest/transform/build/ScriptTransformer.js:351:27)
      at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:588:32)
      at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:758:40)
      at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:815:19)

Link to repl or repo (highly encouraged)
https://github.com/aryojamousi/JestExampleProject

Run npx envinfo --preset jest
Paste the results here:
  System:
    OS: macOS 11.2.3
    CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
  Binaries:
    Node: 14.15.5 - ~/.nvm/versions/node/v14.15.5/bin/node
    Yarn: 1.22.5 - /usr/local/bin/yarn
    npm: 6.14.11 - ~/.nvm/versions/node/v14.15.5/bin/npm
  npmPackages:
    jest: ^27.0.1 => 27.0.1

After debugging, the error could be is triggered in the getCacheKeyFunction in the built index.js in create-cache-key-function directory.
When the below
var _default = (files = [], values = []) =>
  getCacheKeyFunction(getGlobalCacheKey(files, values));

exports.default = _default;

gets replaced with
var _default = (files = [], values = []) =>
  getGlobalCacheKey(files, values);

exports.default = _default;

then the tests work as they should.

See https://github.com/facebook/react-native/pull/30637
/cc @thymikee

x2

So what's the minimum react-native version to get it to work with jest 27?

So what's the minimum react-native version to get it to work with jest 27?

I'm using v26, not for react-native though and v26 jest, working fine

@ahsatha Yes, this is a react-native specific problem

Happening with Vue v2 also.
Cannot destructure property 'config' of 'undefined' as it is undefined.

Vue2 the same problem
System:
    OS: macOS 10.15.7
    CPU: (8) x64 Intel(R) Core(TM) i7-8557U CPU @ 1.70GHz
  Binaries:
    Node: 14.15.0 - ~/.nvm/versions/node/v14.15.0/bin/node
    npm: 6.14.8 - ~/.nvm/versions/node/v14.15.0/bin/npm
  npmPackages:
    jest: 27.0.4 => 27.0.4


Specify user in catalog pod securityContext

Description of the change:
Specify RunAsUser in catalog pod SecurityContext to match User specified in https://github.com/operator-framework/operator-registry/pull/425
Motivation for the change:
Improve security for catalogs running on non-openshift distros
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /docs
[ ] Commit messages sensible and descriptive

Closes #1969

/ok-to-test

/lgtm

/retest

/retest

@pamelachristie there are some ongoing issues with the e2e-aws-console-olm series of tests that are being triaged by the console team -- not related to your PR in any way.

/retest

/retest

/retest

/retest

/retest

/retest

/retest

@exdx I only see one of the tests failing now, but it doesn't seem to re-try when I comment to retest. Is there anything I should be doing to get this looked at?

/test run-e2e-tests

/skip

@pamelachristie Can you rebase against the latest master? It doesn't look like we're able to kick that fail test on our side as well.

@pamelachristie Oh, nice closing, and then re-opening worked. Disregard me last message :+1:

/lgtm

@pamelachristie Could you go into a bit of detail about the high level goal and value that this pull request is attempting to provide?
I took a look at the related pull request in the operator registry (https://github.com/operator-framework/operator-registry/pull/425), and I'm trying to piece together how they are related. That pull request sets the USER to 1001 for the configmap registry image builder, but this pull requests seems to expect that image to be used universally.
The operator registry does provide some tools and scaffolding that enable users to generate catalog images to present content to OLM on cluster, but the only contract that OLM actually expects from those catalog images is that they have the right consumable catalog content (either over the grpc API or in the right format that can be dropped into a configmap). That dockerfile definitely isn't what the majority of operator registry and OLM users are using to build catalog images -- much more likely, they have their own dockerfile or they scaffold it on every build using the command line tool opm.
I'm concerned that this PR actually just breaks any user who doesn't use that specific configmap dockerfile or doesn't have that USER in their container image.
Separately, I'm also wondering if its really the place of OLM to define strict requirements about running containers as root. I imagine for some upstream users, they may want to run as root for one reason or another. This sort of security configuration feels to me like it would be better suited for something like a pod security policy or even maybe something like the Gatekeeper project, at least while the greater kubernetes community is still using Docker as a container runtime.
All that being said, I am making some assumptions about the purpose and goals of this pull request given that there's not a lot of detail in the PR description or commit message. Do you have any thoughts on the above?

It's hard to understand what happens when a catalog container image without the uid 1001 is run in a pod with the uid set to 1001 -- does the pod fail to start, silently switch to another uid, etc? I couldn't find any docs on this.
There is also the runAsNonRoot that is mentioned in the pod security context docs which might be a better option to enforce this. But as @kevinrizza mentioned, some users may want to run their catalogs as root and it's not necessarily up to OLM to stop them from doing so.