Clean up/bug fix in disk detection

This brings back using an array directly, does some code cleanup.
It fixes a bug - please the comments (and questions) within the review.
I didn't have a chance to test it in practice, but the changes should be sound 🤞
@bretton Maybe you could share some example output of lsblk on your test machines.
@bretton Please check even the outdated comments (especially around Hetzner)

@bretton Maybe you could share some example output of lsblk on your test machines.

Hetzner server 1
root@rescue ~ # lsblk -no NAME,TYPE,TRAN
loop0  loop
sda    disk sata
├─sda1 part
├─sda2 part
├─sda3 part
└─sda4 part
sdb    disk sata
├─sdb1 part
├─sdb2 part
├─sdb3 part
└─sdb4 part

Hetzner server 2
root@rescue ~ # lsblk -no NAME,TYPE,TRAN
loop0  loop
sda    disk sata
├─sda1 part
├─sda2 part
├─sda3 part
└─sda4 part
sdb    disk sata
├─sdb1 part
├─sdb2 part
├─sdb3 part
└─sdb4 part
sdc    disk sata
├─sdc1 part
├─sdc2 part
├─sdc3 part
└─sdc4 part
sdd    disk sata
├─sdd1 part
├─sdd2 part
├─sdd3 part
└─sdd4 part

Will add Xneelo in a bit.

for more than four drives, chatgpt had suggested the following will work
qemu-system-x86_64 \
  ... # other options
  # IDE Drives
  -drive file=/dev/sda,format=raw,if=ide \
  -drive file=/dev/sdb,format=raw,if=ide \
  -drive file=/dev/sdc,format=raw,if=ide \
  -drive file=/dev/sdd,format=raw,if=ide \
  # SATA Drives
  -device ahci,id=ahci0 \
  -drive file=/dev/sde,format=raw,if=none,id=drive-sde \
  -device ide-drive,drive=drive-sde,bus=ahci0.0 \
  -drive file=/dev/sdf,format=raw,if=none,id=drive-sdf \
  -device ide-drive,drive=drive-sdf,bus=ahci0.1 \
  # VirtIO Drives
  -drive file=/dev/sdg,format=raw,if=none,id=drive-sdg \
  -device virtio-blk-pci,drive=drive-sdg \
  -drive file=/dev/sdh,format=raw,if=none,id=drive-sdh \
  -device virtio-blk-pci,drive=drive-sdh \
  ... # other options

but it needs some tricky logic to make this automatic

not all rescue systems will have the json output option for lsblk, and not sure if useful
lsblk from util-linux 2.27.1

Usage:
 lsblk [options] [<device> ...]

List information about block devices.

Options:
 -a, --all            print all devices
 -b, --bytes          print SIZE in bytes rather than in human readable format
 -d, --nodeps         don't print slaves or holders
 -D, --discard        print discard capabilities
 -e, --exclude <list> exclude devices by major number (default: RAM disks)
 -f, --fs             output info about filesystems
 -i, --ascii          use ascii characters only
 -I, --include <list> show only devices with specified major numbers
 -J, --json           use JSON output format
 -l, --list           use list format output
 -m, --perms          output info about permissions
 -n, --noheadings     don't print headings
 -o, --output <list>  output columns
 -O, --output-all     output all columns
 -p, --paths          print complete device path
 -P, --pairs          use key="value" output format
 -r, --raw            use raw output format
 -s, --inverse        inverse dependencies
 -S, --scsi           output info about SCSI devices
 -t, --topology       output info about topology
 -x, --sort <column>  sort output by <column>

 -h, --help     display this help and exit
 -V, --version  output version information and exit

Available columns (for --output):
        NAME  device name
       KNAME  internal kernel device name
     MAJ:MIN  major:minor device number
      FSTYPE  filesystem type
  MOUNTPOINT  where the device is mounted
       LABEL  filesystem LABEL
        UUID  filesystem UUID
    PARTTYPE  partition type UUID
   PARTLABEL  partition LABEL
    PARTUUID  partition UUID
   PARTFLAGS  partition flags
          RA  read-ahead of the device
          RO  read-only device
          RM  removable device
     HOTPLUG  removable or hotplug device (usb, pcmcia, ...)
       MODEL  device identifier
      SERIAL  disk serial number
        SIZE  size of the device
       STATE  state of the device
       OWNER  user name
       GROUP  group name
        MODE  device node permissions
   ALIGNMENT  alignment offset
      MIN-IO  minimum I/O size
      OPT-IO  optimal I/O size
     PHY-SEC  physical sector size
     LOG-SEC  logical sector size
        ROTA  rotational device
       SCHED  I/O scheduler name
     RQ-SIZE  request queue size
        TYPE  device type
    DISC-ALN  discard alignment offset
   DISC-GRAN  discard granularity
    DISC-MAX  discard max bytes
   DISC-ZERO  discard zeroes data
       WSAME  write same max bytes
         WWN  unique storage identifier
        RAND  adds randomness
      PKNAME  internal parent kernel device name
        HCTL  Host:Channel:Target:Lun for SCSI
        TRAN  device transport type
  SUBSYSTEMS  de-duplicated chain of subsystems
         REV  device revision
      VENDOR  device vendor

For more details see lsblk(8).

using this version of script, lsblk output as text file inputs and trying different ones, it keeps adding an empty -drive
#!/bin/bash
#
# using lsblk output in multiple text files, test

# check for drives
echo "Searching sd[abcd] and nvme"
set +e

# Capture the complete output of lsblk for debugging
lsblk_output=$(cat disk1.txt)

# Get nvme drives first
drive_type="NVMe"
detected_drives=$(echo "$lsblk_output" | awk '/^nvme/ && $2 == "disk" {print $1}')

# If no nvme drives found, detect all list all sd* drives, excluding CD-ROM and USB drives
if [ -z "$detected_drives" ]; then
	drive_type="SATA"
	detected_drives=$(echo "$lsblk_output" | \
	    awk '$2 == "disk" && $3 != "usb" && $3 != "sr" && $1 ~ /^sd/ {print $1}')
fi

set -e
echo "Detected drives: $detected_drives"

# array holding list of disks to pass to qemu
disks=()

for drive in $detected_drives; do
	echo "Adding $drive_type drive: $drive"
	disks+=( "-drive" "file=/dev/$drive,format=raw" )
done

echo "Configured disks: ${disks[*]}"

if [ ${#disks[@]} -eq 0 ]; then
	exit_error "Could not find any disks"
fi

# arguments to qemu
qemu_args=(\
  "${disks[@]}" \
)

#echo "${qemu_args[@]}"
# doubles up with above
echo "$qemu_args"

test 1
Searching sd[abcd] and nvme
Detected drives: sda
sdb
Adding SATA drive: sda
Adding SATA drive: sdb
Configured disks: -drive file=/dev/sda,format=raw -drive file=/dev/sdb,format=raw
-drive

test 2
Searching sd[abcd] and nvme
Detected drives: sda
sdb
sdc
sdd
Adding SATA drive: sda
Adding SATA drive: sdb
Adding SATA drive: sdc
Adding SATA drive: sdd
Configured disks: -drive file=/dev/sda,format=raw -drive file=/dev/sdb,format=raw -drive file=/dev/sdc,format=raw -drive file=/dev/sdd,format=raw
-drive

test 3
Searching sd[abcd] and nvme
Detected drives: nvme0n1
nvme1n1
nvme2n1
nvme3n1
Adding NVMe drive: nvme0n1
Adding NVMe drive: nvme1n1
Adding NVMe drive: nvme2n1
Adding NVMe drive: nvme3n1
Configured disks: -drive file=/dev/nvme0n1,format=raw -drive file=/dev/nvme1n1,format=raw -drive file=/dev/nvme2n1,format=raw -drive file=/dev/nvme3n1,format=raw
-drive

test 4
Searching sd[abcd] and nvme
Detected drives: sda
sdb
sdc
sdd
Adding SATA drive: sda
Adding SATA drive: sdb
Adding SATA drive: sdc
Adding SATA drive: sdd
Configured disks: -drive file=/dev/sda,format=raw -drive file=/dev/sdb,format=raw -drive file=/dev/sdc,format=raw -drive file=/dev/sdd,format=raw
-drive

live at qa.sh for now
wget --no-check-certificate https://depenguin.me/qa.sh
chmod +x qa.sh
./run.sh https://example.org/mypubkey

just for interests sake
AWS host
lsblk -no NAME,TYPE,TRAN

xvda    disk
└─xvda1 part

very old Ubuntu host, upgraded to Ubuntu 16
sda                      disk   sata
└─isw_dhgacgdjih_vg0     dmraid
  ├─isw_dhgacgdjih_vg0p1 part
  ├─isw_dhgacgdjih_vg0p2 part
  └─isw_dhgacgdjih_vg0p5 part
    ├─vg0-root           lvm
    ├─vg0-var            lvm
    ├─vg0-swap           lvm
    ├─vg0-srv            lvm
    ├─vg0-xxxxxxxx0_srv  lvm
    └─vg0-yyyyyyy0_srv   lvm
sdb                      disk   sata
└─isw_dhgacgdjih_vg0     dmraid
  ├─isw_dhgacgdjih_vg0p1 part
  ├─isw_dhgacgdjih_vg0p2 part
  └─isw_dhgacgdjih_vg0p5 part
    ├─vg0-root           lvm
    ├─vg0-var            lvm
    ├─vg0-swap           lvm
    ├─vg0-srv            lvm
    ├─vg0-xxxxxxxx0_srv  lvm
    └─vg0-yyyyyyyy_srv   lvm
sr0                      rom    sata

Qemu/KVM Ubuntu host
lsblk -no NAME,TYPE,TRAN

loop0  loop
loop1  loop
loop2  loop
loop3  loop
loop5  loop
loop6  loop
loop7  loop
loop8  loop
sr0    rom  ata
vda    disk
├─vda1 part
└─vda2 part

live at qa.sh for now

test on four disk system works using qa.sh and ansible script, unattended install, raid10
root@server1:~ # zpool status
  pool: zroot
 state: ONLINE
config:

	NAME        STATE     READ WRITE CKSUM
	zroot       ONLINE       0     0     0
	  mirror-0  ONLINE       0     0     0
	    ada0p4  ONLINE       0     0     0
	    ada1p4  ONLINE       0     0     0
	  mirror-1  ONLINE       0     0     0
	    ada2p4  ONLINE       0     0     0
	    ada3p4  ONLINE       0     0     0

errors: No known data errors

thanks @grembo all seems good!

woops, forgot to check
# please bump version on change
VERSION="v0.0.14"

updated on site run.sh


[UX] Create anomaly detector from visualizations

Is your feature request related to a problem?
As an unsure user who is troubleshooting a problem, I want to augment my visualization with anomaly detection, so I can quickly identify if something is problematic or not.
What solution would you like?
https://github.com/opensearch-project/anomaly-detection/issues/521
https://github.com/opensearch-project/anomaly-detection-dashboards-plugin/issues/400
Initial UX proposal on Anomaly Detection on Dashboards https://github.com/opensearch-project/OpenSearch-Dashboards/issues/1798
User stories

User quickly creates an anomaly detector to see out of bounds events on a time series visualization on a dashboard. The detector details and model features are prefilled from the data source and metrics of the visualization.
User associates existing anomaly detector to a time series visualization to view anomalies on a dashboard.
User sets up alerts for the detector created on a visualization to receive alerts on a dashboard.

Create anomaly detector from a visualization:
NB: These are design mockups. Some copy is placeholder and not all interactions are polished.
Mockups may differ from the final launched feature.

User selects a visualization and accesses anomaly detection functionality from the visualization context menu:

"Add anomaly detector" opens a flyout with "Create anomaly detector" option prefilled with the information from the visualization (including data source information and suggested features):

Detector's settings can be reviewed and adjusted, including advanced/optional parameters and features:

After creating anomaly detector user returns to the dashboard:

Set up alerts for the anomaly detector

User can additionally create alerting monitor to receive alerts on anomaly occurrences. To create a monitor for the newly created anomaly detector user selects "Set up alerts" in the toast message concluding detector's creation. "Set up alerts" opens a flyout with monitor details pre filled with defaults based on the detector's parameters and visualization data source.

User triggers "Show visualization" to gain additional context

User can adjust default monitor details:

User provides trigger condition and notification channels to get notified:

Notification message can be customized per notification channel:

User stays in the context of the dashboard after creating alerting monitor:

Associate existing anomaly detector to a visualization:
User wants to create an association between a time series visualization and an existing anomaly detector (calling to the same data source or another one) in order to overlay the events from the detector on the visualization's timeline.

User selects a visualization and can access anomaly detection functionality from the visualization context menu similar to creating a new detector (Anomaly Detection -> Add anomaly detector -> Associate existing detector):

User selects "Associate existing detector" to open a flyout with a list of all eligible detectors in the system.

User selects a detector from the list, and then she can review basic detector details before proceeding.

After clicking on "Associate detector" user remains in the context of the dashboard. The detector is associated to a visualization.


WaitfreeQueue memory leak

WaitfreeQueue and AtomicSharedQueue provide a thread-safe queue without semaphores by relying on the VM process scheduling behaviour, in particular that a process isn't pre-empted during assignment operations (:=).
These queues are both FIFO, but we want to load images, e.g. jpg files, in the background in order based on whether they are visible on the screen at the moment or how far from the visible area of the window they are.
WaitfreeQueue>>nextOrNilSuchThat: is close to how I want to move from FIFO to priority based selection, but looking at the code the queue entries never seem to be removed, they just have their object set to the dummy item (WaitfreeQueue stores a dummy item at the head of the queue and has a pointer to the tail of the queue).

First step is to create a view on the queue so that we can see the entries that make up the queue:
| queue |

queue := WaitfreeQueue new.
1 to: 10 do: [ :i |
	queue nextPut: i ].

Remove an element:
queue nextOrNilSuchThat: [ :o | o = 1 ]

And a few more:
queue nextOrNilSuchThat: [ :o | o = 10 ].
4 to: 6 do: [ :i |
	queue nextOrNilSuchThat: [ :o | o = i ]].

The queue size is going down (5), but the number of items in the queue remains the same (10).
Add a few more items to the queue:

And it appears that the queue will grow indefinitely.

But WaitfreeQueue>>nextOrNil, which calls #nextIfNone: suggests that zombie entries are removed if they are at the front of the queue.
	#(2 3 7 8 9 11) do: [ :i |
		self assert: queue nextOrNil equals: i ].

This section is still a Work-In-Progress...
The class comments state that WaitfreeQueue relies on the VM treating simple assignment operations as atomic, i.e. the process can't be pre-empted by another during these operations (only as part of a message send).
But the comments don't describe how the thread safety is derived.
Looking through the code, there are two places where the assignments are treated as atomic:

WaitfreeQueue>>nextPut:
AtomicQueueItem>>makeCircular

!!!Thread Safety and Adding Entries
WaitfreeQueue>>nextPut: is:
nextPut: value
	" Add new item to queue "
	| item oldTail |

	item := self newItem.
	item object: value.

	" atomic swap here"
	oldTail := tail.
	tail := item.

	"self interrupt"

	oldTail next: item.

	self signalAddedNewItem.

	^ value

We can see that it:

Creates a new entry (AtomicQueueItem) and assigns the object to it.
Atomically assigns the existing tail to a local variable (oldTail) and points the queue tail to the new object.
-- At this point the process can be pre-empted and new objects added to the queue without corruption.
-- At this point the new tail isn't visible to the rest of the queue since oldTail isn't yet linked to the new tail.
It then links oldTail to the new tail.

The fact that there is a window of time when the new tail object(s) aren't actually linked to the queue is important in constraining how the queue can be read and modified.
!!!Reading entries and Modifying the Queue
WaitfreeQueue>>nextIfNone: is (with additional label comments):
nextIfNone: aBlock
	"Attempt to fetch the next item from queue. Evaluate a block if attempt is failed i.e. there is no items available or queue is locked by another process"

	| item result |

	"Block 1"
	(item := dummy makeCircular) == dummy ifTrue: [
		"queue is either empty or currently locked by other feeder,
		just give a quick answer that item not found"
		 ^ aBlock value  ].

	"Block 2"
	[ (result := item object) == dummy ] whileTrue: [
		item isCircular ifTrue: [
			self signalNoMoreItems.
			dummy next: item. ^ aBlock value ].
		item := item next.
	].

	item object: dummy.

	dummy next: item next.
	^ result

The first block of code (Block 1) effectively grants the executing process exclusive access to read the queue in an atomic operation, since the dummy entry points to itself instead of the real first entry.
TBC.

However, only the last object in the list is ever written to, so the owner of the list can modify any object in the list except the last one, which is always circular.
TBC...

Issue to fix in Pharo 8: https://github.com/pharo-project/pharo/issues/3198
PR to fix in Pharo 8: https://github.com/pharo-project/pharo/pull/3205

The extension to view the queue was committed in: https://github.com/feenkcom/gtoolkit-media/commit/ec3e9f243cfef1fb91a3debad167e1662d4aa89f


Rename deleteHeader() to deleteHttpHeader()

To be consistent with all other header functions: haveHttpHeader() (to which it is the counterpart), seeHttpHeader(), seeHttpHeaderOnce(), etc.
Also in lib-innerbrowser

Actually, "delete" isn't really the right term here. I'd say: Either unsetHttpHeader(), or (to be consistent with have...) dontHaveHttpHeader()

A PR to fix this could be implemented without breaking BC. Just add an alias for the "wrong" function name and mark it deprecated.
Move the implementation to the "right" function name.

If you merge this, I'll do the same in lib-innerbrowser.


while adding the "id":"myid",getting Exception: This resource already has an id, cannot create

Dear @hansenms
i am trying to create patient records from reading the json file and condition is:
in this json file  i am providing  own id value but this value is not accepting fhir server and displaying below error:-

Below is my json data:-
{     "resourceType": "Patient",     "active": true, 	"id":"abc01",     "name": [         {             "use": "official",             "family": "family",             "given": [                 "hivefile",                 "sy"             ]         },         {             "use": "usual",             "given": [                 "hivefile sy"             ]         }     ],     "gender": "male",     "birthDate": "2010-12-19" }
when i remove that id value it is working
Note:-we  want to replace the id value with My patient HRK value.
Thanks
HadoopHelp

If you want to bring your own IDs, you have to do a PUT instead of a POST. So say you want to create a patient with a specific id (e.g. 1234), you would do:
PUT https://myfhirservice/Patient/1234

with a payload of:
{
  "resourceType": "Patient",
  "id": "1234",

    // ... other fields
}

If the resource exists, it will be updated, otherwise created. See FHIR upsert (https://www.hl7.org/fhir/http.html#upsert).
Closing this, since it is not a bug or issue with the server.

Thanks @hansenms .
i will try this way....
Thanks
HadoopHelp


error: could not compile autocfg

error: failed to build archive: Function not implemented
error: aborting due to previous error
error: could not compile autocfg
Caused by:
process didn't exit successfully: rustc --crate-name autocfg E:\Cargo\registry\src\mirrors.sjtug.sjtu.edu.cn-7a04d2510079875b\autocfg-1.0.1\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C metadata=b51e4be1685d4f2e -C extra-filename=-b51e4be1685d4f2e --out-dir Z:\TEMP\cargo-installjcbT8F\release\deps -L dependency=Z:\TEMP\cargo-installjcbT8F\release\deps --cap-lints allow (exit code: 1)
warning: build failed, waiting for other jobs to finish...
error: failed to build archive: Function not implemented
error: aborting due to previous error
error: failed to build archive: Function not implemented
error: aborting due to previous error
error: could not compile unicode-xid
Caused by:
process didn't exit successfully: rustc --crate-name unicode_xid E:\Cargo\registry\src\mirrors.sjtug.sjtu.edu.cn-7a04d2510079875b\unicode-xid-0.2.2\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg "feature=\"default\"" -C metadata=c17fc33cedd6e2f6 -C extra-filename=-c17fc33cedd6e2f6 --out-dir Z:\TEMP\cargo-installszMnQh\release\deps -L dependency=Z:\TEMP\cargo-installszMnQh\release\deps --cap-lints allow (exit code: 1)
warning: build failed, waiting for other jobs to finish...
error: failed to build archive: Function not implemented
error: aborting due to previous error

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @ehuss (or someone else) soon.
Please see the contribution instructions for more information.

I'm not sure why this is opened as a PR, but I'm going to close.  Problems should be filed as an issue.  This looks to be related to LLVM archive writing which is part of rustc. If you want to follow up, I suggest filing an issue at https://github.com/rust-lang/rust/issues/new?assignees=&labels=C-bug&template=bug_report.md, and try to include as much information as you can.  Most importantly, what is the filesystem of Z:, as it appears to not be supporting some operation.


feat(chore): remove support for node v14,v12,v10,v8

Description

Version 14, v12, v10, v8 of Nodejs reached its end of life

BREAKING CHANGE:
End of life of node v14, node v12 and node v10

GH-78
Fixes #78
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Intermediate change (work in progress)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[x] Performed a self-review of my own code
[x] npm test passes on your machine
[ ] New tests added or existing tests modified to cover all changes
[ ] Code conforms with the style guide
[ ] API Documentation in code was updated
[ ] Any dependent changes have been merged and published in downstream modules

:tada: This PR is included in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Try to add not immediate parent for the file but more applicable fold…

…er based on the presence of BUILD file there
Checklist

[x] I have filed an issue about this change and discussed potential changes with the maintainers.
[ ] I have received the approval from the maintainers to make this change.
[x] This is not a stylistic, refactoring, or cleanup change.

Please note that the maintainers will not be reviewing this change until all checkboxes are ticked. See
the Contributions section in the README for more
details.
Discussion thread for this change
Issue number: 6358
Description of this change

The issue here is after your changes "Add file to project" is silently failing and file not even added properly. Previously, before your change, there was an error to fix directories entry for this.
Now, after my change, there is no error and proper entry added to directories instead of incorrect one before.
module
-BULD.bazel
-src
--java
---a
----b
-----Cl.java

module/src/java/a/b is the wrong entry, module i the proper one and Bazel adds source as expected to the project.

In this case, target addition not helping since the source file is still not part of the project.
If you add with current functionality the source file is all red since content root is incorrect.
After my fix the content root is proper.

Quite easy to reproduce for https://github.com/bazelbuild/intellij/blob/master/examples/java/greetings_project/hello/src/com/example/HelloGreeter.java

1 .Still the first sync fails even on greetings project - it still tries to use the parentPath (screen recording attached)
Screen.Recording.2024-04-05.at.11.04.30.mov
2. I'm still looking for a way to inform users what is going to be added before the sync happens. Might be too large in case of large BUILD file defining a lot of libraries

Regarding 1:
I don't see sync failure and only the notification showing the wrong path around the 20s mark. Could you please specify exact time when sync fails?

Pushed the fix for the notification

I'm unable to repro it for ijwb since . used and -examples explicitly excluded. Could you please share at least that error?

The issue here is after your changes "Add file to project" is silently failing and file not even added properly. Previously, before your change, there was an error to fix directories entry for this.

btw which change you refer to?

https://github.com/bazelbuild/intellij/pull/6262/files

@tpasternak it was the same issue as with the notification and now both are fixed! Could you please give it a try again?

How about this, @tpasternak

with
                    String.format("Add file's %s to Project", autoDeriveTargetsFromDirectories ? "package" : "parent directory"),

There is one more context for this that is triggering the same code
    <action id="Blaze.AddSourceToProject"
      class="com.google.idea.blaze.base.dependencies.AddSourceToProjectAction"
      text="Add Source File To Project..."
      icon="AllIcons.General.Add">
    </action>

Pushed that label change and I think we need to consider whether it is "good enough" for the first cut ;)

@dkashyn-sfdc can I take your commit into my PR and add some changes on top of it?

@tpasternak go for it

how about that? https://github.com/bazelbuild/intellij/pull/6388/files?diff=unified&w=1

As long as it works as expected I don't really have strong opinions on how it is supposed to look.

done in #6388


Date picker field style bugs

Description
Doing an audit of the react components, and am finding a few mistakes with the date picker that i believe are coming from CSS.

(Pink) The spacing between the left edge of the field and the text is too big. Looks like its about 14-15 px but should be 12 px.
(Green) The button should be 34 px wide (and soon we will be changing that to 32 px wide to make it a square... but for now im told this should match DNA which still says 34 px.)
(Blue) The color of the icon is too dark. it should be gray 700.

Screenshots
Top image is spectrum's combo box (which should look the same as the date picker minus the chevron icon. Bottom is the CSS date picker.

Here's the same image with some spaces highlighted corresponding with the feedback above.

Environment

Spectrum CSS version:
Browser(s) and OS(s):

@labrowne there are no tokens in DNA for this, but your comment seems to imply that there are? Can you double check?
https://git.corp.adobe.com/Spectrum/spectrum-dna/blob/master/data/elements/combobox/ComboboxDefault.mjs

@labrowne I hardcoded a value for the width (34px wide including the border). When it's added to DNA, we can revisit this.
Meanwhile, the left padding comes from Textfield and is, in fact, 12px, so no bug there. Yay!


Update configuration ConfigMap ans Secret only when they change

Towards https://github.com/giantswarm/giantswarm/issues/15307

Tested on ginger.

Tested on ginger.


Create concatenated.cpp

Submitted solution for the problem

Can u label it has hacktober accepted ? @shubham7668


Align with OCM on "CPU architecture"

Signed-off-by: Kevin Cormier<EMAIL_ADDRESS>Received request from Parvathy Vijayakumary Ramachandran (who was working on a design for AI) to align terminology with OCM/AI/ACM.

See discussion: https://marvelapp.com/prototype/6539642/screen/88534833

/cc @Randy424


How to use with Laravel?

When I use this along with laravel nginx shows an error:
Warning: require(/var/www/app/public/../vendor/autoload.php): Failed to open stream: No such file or directory in /var/www/app/public/index.php on line 34
As I understand it, this happens because only the public folder is copied for the nginx container. Should I add the entire laravel folder as a volume for nginx or can it be done differently?

solved the problem, it was my mistake

@Jackardios Glad you solved it, I just saw the issue and would have loved to help.
Mind sharing what was the issue to help anyone who has made a similar mistake?

@sherifabdlnaby the project had an empty vendor folder and since it existed the composer install command was not executed


Dashboard/aws cloudwatchsynthetics

Added aws cloudwatchsynthetics terraform lightstep dashboard

This works with terraform apply but terraform apply has no guarantees

This has been reviewed. And necessary changes have been made to pass github actions CI and local terraform apply.


Run unit tests for node12 if present

Run unit tests for node12 if present
This change allows npm test to be run in during the Docker build
of code using the node12 template. Unfortunately the package.json
that the template generated will fail for any users who take this
newer version, unless they edit the "test" section of their
package.json file.
This is because it is hard-coded to "exit 1", the newer change
is set to "exit 0" and to only show a warning about tests
missing. It will not affect any functions that are created
after this time.
Tested with 3 scenarios:

Tests given which passed, with mocha and chai
Tests given which failed with mocha and chai
No tests given at all

Signed-off-by: Alex Ellis (OpenFaaS Ltd<EMAIL_ADDRESS>This was change requested by a user on Slack, but is consistent with the Java and Go templates. All templates should try to run tests if they are available.

Docs update: https://github.com/openfaas/docs/commit/d86942bc064030dbe970d4e8311d7b2ed2f083cd


Cartesian Product Doesn't Work With Two Binaries having No NA values.

Easiest way to re-create is a cartesian product of two dynamic binaries.
The colormap is not generated in this case:

ended up being a problem with using parseFloat to identify strings in layers.js
parseFloat("1, 0") === 1.0
changing to Number("1, 0") seems to have worked


Split cars: Different results in Block editor and JS/Python editor

Describe the bug
Split cars: Different results in Block editor and JS/Python editor
Steps to reproduce the behavior
1.Navigate to https://arcade.makecode.com/beta#
2.Game Jam--->Split cars---->Open Example
3.Run it in Block 、JS and block editor
Actual behavior
Split cars: Different results in Block editor and JS/Python editor
JS/Python editor: "Game over" when it starts.

Block editor:

Additional context
1.OS: Windows(rs6)
2.arcade version: 1.3.9
3.Microsoft MakeCode version: 6.4.6

Likely duplicate of #2469 Will keep it open to validate.

Fixed


Incrementing/Repeated Routes (?)

Environment

Operating System: Windows_NT
Node Version:     v20.11.1
Nuxt Version:     3.12.4
CLI Version:      3.12.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      compatibilityDate, devtools, devServer, app, build, css, sourcemap, cssSourceMap, alias, modules, routeRules, hooks, auth, i18n, googleFonts, primevue, runtimeConfig

Reproduction
https://stackblitz.com/edit/github-ym6g3r?file=pages%2Fapple.vue
Open the console.
As you continue to click the Forward and Back button in the app, notice that the window.confirm dialog will incrementally fire multiple times, requiring multiple clicks.
Describe the bug
I'm not entirely sure how to properly describe this, other than to suggest its best that you just look at the example.
I am attempting to implement a route guard, with the idea of prompting a user whether they want to save their work, before leaving a page.
Every subsequent action taken, increasingly triggers additional dialogs. Logging the route param from, reflects the increasing number of clicks required before a route change occurs.
The more the user navigates throughout the app, the more dialogs they are presented with.
This was occurring in Nuxt 3.12.3 and continued in 3.12.4 after I updated.

Additional context
No response
Logs
No response

While I still feel like the above example is a bug, I was able to successfully implement a route guard by relying on onBeforeRouteLeave and a promise.
const saveBeforeExit = () => {
  return new Promise((resolve, reject) => {
    const answer = window.confirm('Do you really want to leave?');
    if (!answer) {
      resolve(false)
    }
    resolve(true)
  })
}

onBeforeRouteLeave(async (to, from) => {
  if(from.path === '/apple') {
    const userConfirmed = await saveBeforeExit()
    if (userConfirmed) {
      return true
    } else {
      return false
    }
  } else {
    return true
  }
})

It's not a bug. By adding router.beforeEach you are registering an additional guard on every page that's loaded so this is expected behaviour.
Instead, you can use onBeforeRouteLeave or clean up your guard with onBeforeUnmount (I believe router.beforeEach returns an 'unsubscribe' function you can call to do so).


Embedded viewer does not include Authorization headers when fetching dicom instances, stand-alone does

Bug Report
When setting up a requestOptions.auth element for dicomWeb in OHIF's config, the embedded viewer only includes the Authorization header for GET requests to dicom-web/studies, dicom-web/studies/xxx/series and dicom-web/studies/xxx/series/yyyy/metadata.
Requests to studies/xxx/series/yyy/instances/zzz1/frames/1,  studies/xxx/series/yyy/instances/zzz2/frames/1, etc. do not include the Authorization header. This leads to a 401 Unauthorized response from the dicom-web server.
I experience this using the latest ovif release via an embedded script pointing to https://unpkg.com/@ohif/viewer (see below). When I build OVIF for production, as per the documentation; so from latest master, the Authorization header is included and the instance requests receive a 200 response.
I've included two screenshots of the XHR requests of the embedded and the production viewer below. Embedded is on the left, production on the right. The first screenshot compares the CORS preflight requests. The second the actual requests for retrieving the dicom instances. Note that already in the CORS preflight requests, the Access-Control-Request-Headers header does not include authorization in the embedded viewer. It does in the standalone. In the actual requests, the authorization header is missing in the embedded viewer.
Describe the Bug
Embedded viewer does not include Authorization headers for dicom-web dicom instance requests
What steps can we follow to reproduce the bug?

Setup an embedded ovif viewer coupled with a dicom-web server that expects Authorization (basic) headers
Try to view a dicom series in the viewer
The viewer fails to render, inspection of the network traffic reveals 401 Unauthorized responses

  <script src="https://unpkg.com/@ohif/viewer" crossorigin></script>
  <script>
    var containerId = "root";
    var componentRenderedOrUpdatedCallback = function(){
      console.log('OHIF Viewer rendered/updated');
    }

window.config = {
  // default: '/'
  routerBasename: '/',
  extensions: [],
  showStudyList: true,
  filterQueryParam: false,
  servers: {
    dicomWeb: [
      {
        name: 'scorthanc',
        wadoUriRoot: 'https://orthanc.yyy.zzz/orthanc/wado',
        qidoRoot: 'https://orthanc.yyy.zzz/orthanc/dicom-web',
        wadoRoot: 'https://orthanc.yyy.zzz/orthanc/dicom-web',
        qidoSupportsIncludeField: true,
        imageRendering: 'wadors',
        thumbnailRendering: 'wadors',
        requestOptions: {
          auth: 'user:password',
        },
      },
    ],
  },
  cornerstoneExtensionConfig: {},
  // Following property limits number of simultaneous series metadata requests.
  // For http/1.x-only servers, set this to 5 or less to improve
  //  on first meaningful display in viewer
  // If the server is particularly slow to respond to series metadata
  //  requests as it extracts the metadata from raw files everytime,
  //  try setting this to even lower value
  // Leave it undefined for no limit, sutiable for HTTP/2 enabled servers
  // maxConcurrentMetadataRequests: 5,
};

    window.OHIFViewer.installViewer(
      window.config, containerId, componentRenderedOrUpdatedCallback);
	</script>

Details of a preflight CORS request (embedded left, production build right):

Details of a dcm instance request (embedded left, production build right):

same here using embeded option:
script.src = 'https://unpkg.com/<EMAIL_ADDRESS>Studies retrived (authorization header included in the request) but when it starts getting images I get 401:
code: 401
message: "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project."
status: "UNAUTHENTICATED"
config:
dicomWeb: [
{
wadoUriRoot: 'https://healthcare.googleapis.com/v1/projects/blablabla/dicomWeb',
qidoRoot: 'https://healthcare.googleapis.com/v1/projects/blablabla/dicomWeb',
wadoRoot: 'https://healthcare.googleapis.com/v1/projects/blablabla/dicomWeb',
qidoSupportsIncludeField: true,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
requestOptions: {
auth: (options) => {
return 'Bearer ' + token
}
}
}
],

maybe related to this https://github.com/OHIF/Viewers/pull/1646 but still out from my understanding.

I can confirm this also happens on the standalone version. so the bug has to do with the image request not adding the header. could anyone point me to the file/class where this is take place?

found this:
retrieveTimepoints
getAuthorizationHeader.js?2067:17 get authorization {auth: ƒ}  <<< --- added log in getAuthorizationHeader.js looks good
TimepointApi.js?dda4:92 Timepoint data retrieval
<<<< ---- click on study
dicomweb-client.es.js?f399:873 search series of study 1.2.840.1137<IP_ADDRESS>96.1570895568.1
dicomweb-client.es.js?f399:903 retrieve metadata of series 1.2.840.1137<IP_ADDRESS>96.1570895684.8

getAuthorizationHeader.js?2067:17 get authorization undefined  <<<< ---- now requestOptions is undefined
MeasurementService.js?59d2:350 Subscribing to 'event::measurement_added'.

Hello @Diex, a question, how are you generating the Bearer type token? I have tried to generate it through JWT and OIDC but I have not been able to create a token that functions for me to make authorized machine-to-machine calls to google healthcare.

the answer is here: https://cloud.google.com/healthcare/docs/how-tos/authentication
I started a new firebase project from scratch.
the usual way is to set an endpoint to retrieve it (your token). because you need to sign it using your service account RSA private key. so you need to keep it safe.
I used cloud functions with express for creating an api.
this.http.get(this.api + '/sign', { responseType: 'text' }).subscribe( result => this.token = result );
then you have to use the 'requestOptions' parameter on the ohif servers settings (remove odic);
requestOptions: {
                  auth: (options) => { return 'Bearer ' + this.token }
                }

token needs to be signed and include a valid date/expiration
see:
https://jwt.io/
https://firebase.google.com/docs/auth/admin/create-custom-tokens
https://github.com/auth0/node-jsonwebtoken (used to sign the token)

@Diex Thank you very much, I will review it.

I believe most metadata requests are made by OHIF via dicomweb-client, and image requests are made by cornerstone-wado-image-loader (a dependency of the @ohif/extension-cornerstone and @ohif/extension-vtk projects)
The requests you're having issues with are likely made by cornerstone-wado-image-loader. If you have a back-end, you can create a proxy. If things aren't working as expected, this may be the area you need to inspect:
https://github.com/OHIF/Viewers/blob/709f14708e2b0f912b5ea509114acd87af3149cb/platform/viewer/src/config.js#L45-L60
Some extensions handle requests themselves, and not necessarily in a consistent way. It's also possible you're seeing an issue crop up because of inconsistent requesting.
Ideally, extensions would ask OHIF the platform for information, and if it's not available, OHIF would handle all requests. Doing something like that would make it easier for us to be a bit more predictable.

oh I see... thank you very much @dannyrb
I'll let you know.
thanks.

I figured out how to reverse proxy the dicomweb endpoint. but regardless using my custom proxy url, when OHIF tries to fetch the images 'https://healthcare.googleapis.com/v1beta1/projects/... bla bla' is where it points to. Is there any way to avoid this?
wadoUriRoot: 'http://localhost:5001/myproject-prod/us-central1/api/wado',
        qidoRoot: 'http://localhost:5001/myproject-prod/us-central1/api/wado',
        wadoRoot: 'http://localhost:5001/myproject-prod/us-central1/api/wado',

that's my proxy that seems to work ok because I get the studies list but fails on the image fetch.
Any advice, recipe or 'where to look' will be greatly aprecieated.

I figured out how to reverse proxy the dicomweb endpoint. but regardless using my custom proxy url, when OHIF tries to fetch the images 'https://healthcare.googleapis.com/v1beta1/projects/... bla bla' is where it points to. Is there any way to avoid this?
wadoUriRoot: 'http://localhost:5001/myproject-prod/us-central1/api/wado',
        qidoRoot: 'http://localhost:5001/myproject-prod/us-central1/api/wado',
        wadoRoot: 'http://localhost:5001/myproject-prod/us-central1/api/wado',

that's my proxy that seems to work ok because I get the studies list but fails on the image fetch.
Any advice, recipe or 'where to look' will be greatly aprecieated.

enableGoogleCloudAdapter: false,  solved it.
but still can't fetch the image... (now silently)
Timepoint data retrieval
dicomweb-client.es.js?f399:873 search series of study 1.2.840.1137<IP_ADDRESS>28.1441400043.1
dicomweb-client.es.js?f399:903 retrieve metadata of series 1.2.840.1137<IP_ADDRESS>28.1441400195.11
but nothing happens...
any thought?

@Diex As an end point of the GC API, i use dicomWeb not wado, you have tested this
qidoRoot:'https://healthcare.googleapis.com/v1beta1/projects/:project/locations/:location/datasets/:dataset/dicomStores/:dicomstore/dicomWeb',     wadoRoot:'https://healthcare.googleapis.com/v1beta1/projects/:project/locations/:location/datasets/:dataset/dicomStores/:dicomstore/dicomWeb',         wadoUriRoot:'https://healthcare.googleapis.com/v1beta1/projects/:project/locations/:location/datasets/:dataset/dicomStores/:dicomstore/dicomWeb',

yes indeed. that was my first approach:

servers: {
            // This is an array, but we'll only use the first entry for now
            dicomWeb: [
              {
                wadoUriRoot: 'https://healthcare.googleapis.com/v1/projects/my-project/locations/us-central1/datasets/chest-wall/dicomStores/dicoms/dicomWeb',
                qidoRoot: 'https://healthcare.googleapis.com/v1/projects/my-project/locations/us-central1/datasets/chest-wall/dicomStores/dicoms/dicomWeb',
                wadoRoot: 'https://healthcare.googleapis.com/v1/projects/my-project/locations/us-central1/datasets/chest-wall/dicomStores/dicoms/dicomWeb',
                qidoSupportsIncludeField: true,
                imageRendering: 'wadors',
                thumbnailRendering: 'wadors',
                requestOptions: {
                  auth: (options) => {
                    return 'Bearer ' + token // custom token generator -> it works only on studies list
                  }
                }
              }
            ],
          }

what do you suggest?

I'm having the exactly same issue, but, the only difference is, I'm using HTTP Basic Auth, so my server looks like:
servers: {
// This is an array, but we'll only use the first entry for now
dicomWeb: [
{
wadoUriRoot: 'https://dummysite.com/dummypacs/wado',
qidoRoot: 'https://dummysite.com/dummypacs/rs',
wadoRoot: 'https://dummysite.com/dummypacs/rs',
qidoSupportsIncludeField: true,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
requestOptions: {
auth: (options) => {
return 'Basic XXXxxXXXXXXXXX'
}
}
}
],
}
I'm deploying DCM4CHEE PACS, and HTTP is handled by Apache Reverse Proxy. Even, writing the header in the code to and forcing the function to return one value always, I'm still getting 401 when fetching the instances, but it works ok when loading StudyList and initial metadata.
`cornerstoneWADOImageLoader.configure({
beforeSend: function(xhr) {
const headers = OHIF.DICOMWeb.getAuthorizationHeader();
 /* if (headers.Authorization) {
   xhr.setRequestHeader('Authorization', headers.Authorization);
 }*/
xhr.setRequestHeader('Authorization', 'Basic XXXXXyyyyXXX');

},
errorInterceptor: error => {
// const { appConfig = {} } = AppContext;
 if (typeof appConfig.httpErrorHandler === 'function') {
   appConfig.httpErrorHandler(error);
 }

},
}); `
Hope we can find someway to fix this.
P.S.: just to let you know, in this pandemic, OHIF Viewer is helping so much in our hospital enviroment. Thank you very much for contributing this great project.

OHIF is a great tool. We are really happy with and really willing to collaborate.
@epileftico : what we did was to add Authorization headers in the proxy:
OHIF Client -> back proxy (add Auth) -> googlehealthcare
and yes, it works ok on listing our dicom store but now it fails in showing the images with no error.
so I'm thinking some chage was introduced recently... I'm investigating this so we could have a proper reproduction.
I assume it's probably two different issues.

@dannyrb @Diex @epileftico
Solve the problem partially by storing the Bearer type token in a session variable, it must be passed to the cornertoneWADOImageLoader method,
cornerstoneWADOImageLoader_min_default.a.configure({
      if (headers.Authorization) {
        xhr.setRequestHeader('Authorization', headers.Authorization);
      }
      else{
        xhr.setRequestHeader('Authorization', "Bearer ".concat(window.sessionStorage.getItem("auth_ghc")));
      }
    },
  });

I see that the getAuthorizationHeader method when it sets the value of headers.Authorization remains empty, if I change the value to requestOptions.auth it works but when it is check again in cornerstoneWADOImageLoader the header is still empty.
function getAuthorizationHeader() {
if (typeof requestOptions.auth === 'function') {
// Custom Auth Header
headers.Authorization = requestOptions.auth(requestOptions.auth);
}

https://github.com/OHIF/Viewers/blob/709f14708e2b0f912b5ea509114acd87af3149cb/platform/viewer/src/config.js#L45-L60
At line 47 I've managed to workaround this issue by passing to getAuthorizationHeader my dicomWeb configuration as follows:
const headers = OHIF.DICOMWeb.getAuthorizationHeader(appConfig.servers.dicomWeb[0]);

https://github.com/OHIF/Viewers/blob/709f14708e2b0f912b5ea509114acd87af3149cb/platform/viewer/src/config.js#L45-L60
At line 47 I've managed to workaround this issue by passing to getAuthorizationHeader my dicomWeb configuration as follows:
const headers = OHIF.DICOMWeb.getAuthorizationHeader(appConfig.servers.dicomWeb[0]);

I deployed OHIF on un Unraid Server in a docker container and i'm facing the same authentication error. Can you tell me please which file to edit in the docker container? thanks

If you change the config to be a function instead of an object, this works as is.
window.config = () => ({
  // default: '/'
  routerBasename: '/',
  extensions: [],
  showStudyList: true,
  filterQueryParam: false,
  servers: {
    dicomWeb: [
      {
        name: 'scorthanc',
        wadoUriRoot: 'https://orthanc.yyy.zzz/orthanc/wado',
        qidoRoot: 'https://orthanc.yyy.zzz/orthanc/dicom-web',
        wadoRoot: 'https://orthanc.yyy.zzz/orthanc/dicom-web',
        qidoSupportsIncludeField: true,
        imageRendering: 'wadors',
        thumbnailRendering: 'wadors',
        requestOptions: {
          auth: 'user:password',
        },
      },
    ],
  },
  cornerstoneExtensionConfig: {},
  // Following property limits number of simultaneous series metadata requests.
  // For http/1.x-only servers, set this to 5 or less to improve
  //  on first meaningful display in viewer
  // If the server is particularly slow to respond to series metadata
  //  requests as it extracts the metadata from raw files everytime,
  //  try setting this to even lower value
  // Leave it undefined for no limit, sutiable for HTTP/2 enabled servers
  // maxConcurrentMetadataRequests: 5,
});

salam , in config.js try change this code :
beforeSend: function(xhr) {
const headers = OHIF.DICOMWeb.getAuthorizationHeader();
if (headers.Authorization) {
xhr.setRequestHeader('Authorization', headers.Authorization);
}
},
to this :
beforeSend: function (xhr) {
     debugger
     const state = window.store.getState();
     const activeServer = state.servers.servers.find(t => t.active);
    const headers = OHIF.DICOMWeb.getAuthorizationHeader(activeServer);
    debugger
    if (headers.Authorization) {
      xhr.setRequestHeader('Authorization', headers.Authorization);
    }
   },

https://github.com/OHIF/Viewers/blob/709f14708e2b0f912b5ea509114acd87af3149cb/platform/viewer/src/config.js#L45-L60
At line 47 I've managed to workaround this issue by passing to getAuthorizationHeader my dicomWeb configuration as follows:
const headers = OHIF.DICOMWeb.getAuthorizationHeader(appConfig.servers.dicomWeb[0]);

Hey, could someone help me and show how this could be achieved since I am trying to connect with Orthanc which as a Basic authentication set it seems that config.js is not in v3-stable.


C# qps worker improvements

Cache byteBufRequest for generic C# qps client. The QPS client creating new objects unnecessarily is getting in a way of measuring impact of reducing allocations in C# code (the generic server is already caching responses btw).
use thread local histograms for collecting stats in qps worker. That makes sure we don't get a lock contention between worker threads (currently it's not a bottleneck but it's good to have that taken care of).

Friendly ping

Known failures:
https://github.com/grpc/grpc/issues/11243
https://github.com/grpc/grpc/issues/10686


[staging & production] Non-visible contributors show up in citations

Steps

Go to a project
Add a new contributor
Check citations for the project
In Sharing tab, make the contributor non-visible
Check the citations again

Expected
I expect that only the visible contributors will show up in citations
Actual
ALL contributors are listed in citations

Will look into this.

Fixed by https://github.com/CenterForOpenScience/osf.io/commit/d0ac123bd768a911b2d21e7f1f0250148f4c584b


wrapPageElement error: You will need to pass in an i18next instance by using initReactI18next

The translation works well, but when I put the Layout component (including NavBar and Footer) into the wrapPageElement in gatsby-browser.js, no language detected and following message is thrown in the console: You will need to pass in an i18next instance by using initReactI18next.
Do you have any hint to implement custom wrapPageElement with the plugin?

I managed to make it work with wrapPageElement, you can find a detailed post about the solution I came up with in my blog: https://andremonteiro.pt/gatsby-i18next-wrap-page-element/

Great thanks! Your solution works well and nice explanation. I had a small difference is that my Layout component requires props to get data from graphQL, so I put in the props instead of undefined.

Now I faced another case. The message appears at the first time opening the page (e.g. via a new Incognito windows in Chrome) when there is no language selected. Hence, the plugin fallback to English language which is /en instead of default language.  Inspecting the console, there is no i18n in the props.
If I select one language, everything start to work fine.

@leduchung do you have an implementation of wrapPageElement on both gatsby-ssr.js and gatsby-browser.js files?

@andremonteiro95 yes I did both files. After a while, I found that it was another issue https://github.com/microapps/gatsby-plugin-react-i18next/issues/89, so everything work fine for my site now. Thanks a lot!


Make the configurations more readable.

This task stems from https://github.com/emilyncosta/mtbseq-nf/pull/17#issuecomment-883365354

Then, let's try to use the following pattern
TBBWA {
// global params

// module params

// <- Here we add the module level params mentioned in tbbwa.nf file, which a user can override through a central location ->
resultsDir = "${params.outdir}/tbbwa"
saveMode = 'copy'
shouldPublish = true
}

I think that we're at a stage we can try some stuff out, I'd be curious to see how the params.outdir behaves within this context.

@Mxrcon , perhaps we can classify the changes mentioned https://github.com/emilyncosta/mtbseq-nf/issues/19#issuecomment-885039728 as part of pipeline params - what are you thoughts?

Hmm, could be a task right? I agreed, the optional params acomodation still a great task

Agreed, I have create another task for params.
Closing this PR as the conf files are updated now.


The seed of this code?

Hi, thank you for sharing your code.
I am wondering how you set up the seed for this code so that we can reproduce your results.

Hi, if you are referring to the seed of the weight initialization, it's okay to initialize with a different seed.
It should make little difference in the final performance.

Hi, how little the difference could be?
Thanks,
Ruomei
Sent from my iPhone

On 25 Aug 2017, at 16:29, Paul Chen<EMAIL_ADDRESS>wrote:
Hi, if you are referring to the seed of the weight initialization, it's okay to initialize with a different seed.
It should make little difference in the final performance.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi, could you please let me know why you choose tensorflow 0.12.1 rather than the latest version? In order to reproduce your results in the paper, do I have to use this exact version?
Thanks!

If you use the version > 0.12.1, you might need to rename some functions to the newer ones.
As long as you can run the code, there's nothing to worry about!


Row validation during Select All

Hi
How do you use select all (checkbox) and at the same time validate and leave some of the rows that you don't want to be checked.'
Thanks

@francisfai, I think give an hook for you is maybe a good solution

Released on v2.3.3. Check this

kool thank you Allen


Gracefully reject API keys that aren't base32 encoded

We revoke leaked API keys on GitHub. The leak detection is a best effort and may discover malformed API keys, like API keys that aren't properly base32 encoded. Currently these malformed API keys will case the admin panel to respond with HTTP 500. We should gracefully reject these malformed API keys.
Addresses https://github.com/NuGet/NuGetGallery/issues/8845

Some more context pls? Are these applicable only for leaked api keys?


Merge pull request #1 from ETEnterprises1/main

-get request -pull

`approve and merge @ETEnterprises1

#2 merge committ

#3
#2
#1

Merge commit

 -get request -pull

'merge with<EMAIL_ADDRESS>

Blockchain.com
Home
Prices
Charts
NFTs
DeFi
Academy
News
Developers
Wallet
Exchange
Bitcoin
Ethereum
Bitcoin Cash
EnglishEspañolPortuguêsPyccкийFrançaisDeutsch
Sign In
￼
Sponsored: 20 No Deposit Free Spins on Sign UpClaim Bonus
1000x BTC BONUS 💰
Win 8.88 BTC 🎰
Play Slots & Win! 🎰
There are 2 blockchains with result(s) to your search:
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629
￼
BTC
Address 3LZkZ-LC629
￼
BCH
Address 3LZkZ-LC629
Explore top crypto assets.
￼
Compound
COMP
￼
Hedera
HBAR
￼
Holo
HOT
￼
Flow
FLOW
￼
Wrapped Bitcoin
WBTC
￼
Pancake Swap
CAKE
￼
Pax Gold
PAXG
￼
Algorand
ALGO
￼
NEM
XEM
￼
XDC Network
XDC
￼
Moonbeam
GLMR
￼
Fantom Platform
FTM
￼
IoTeX
IOTX
￼
Dogecoin
DOGE
￼
Thorchain
RUNE
￼
Zilliqa
ZIL
￼
USD Coin
USDC
￼
Kava
KAVA
￼
Loopring
LRC
￼
Helium
HNT
￼
Basic Attention Token
BAT
￼
Bitcoin Cash
BCH
￼
Litecoin
LTC
￼
Near Protocol
NEAR
￼
Dash
DASH
￼
Huobi Token
HT
￼
Chainlink
LINK
￼
UNUS SED LEO
LEO
￼
Elrond
EGLD
￼
KuCoin Token
KCS
￼
IOTA
MIOTA
￼
Storj
STORJ
￼
Klaytn
KLAY
￼
Harmony
ONE
￼
Cardano
ADA
￼
Binance Coin
BNB
￼
True USD
TUSD
￼
Tether
USDT
￼
Monero
XMR
￼
Quant
QNT
￼
VeChain
VET
￼
Ethereum Classic
ETC
￼
Enjin
ENJ
￼
Stellar
XLM
￼
ApeCoin
APE
￼
Tronix
TRX
￼
FTX
FTT
￼
ROSE
ROSE
￼
Curve DAO Token
CRV
￼
Bitcoin SV
BSV
￼
Icon
ICX
￼
Shiba Inu
SHIB
￼
QTUM
QTUM
￼
Cosmos
ATOM
￼
Solana
SOL
￼
Uniswap
UNI
￼
Maker Protocol
DAI
￼
Kyber Network Crystal
KNC
￼
NEO
NEO
￼
Avalance
AVAX
￼
Sandbox
SAND
￼
OKB
OKB
￼
Polygon
MATIC
￼
0x
ZRX
￼
Internet Computer
ICP
￼
Kadena
KDA
￼
Pax Dollar
USDP
￼
Symbol
XYM
￼
Bitcoin
BTC
￼
Polkadot
DOT
￼
Kusama
KSM
￼
BitTorrent token
BTT
￼
Fei Protocol
FEI
￼
Stacks
STX
￼
Aave
AAVE
￼
AMP
AMP
￼
Chiliz
CHZ
￼
Terra Classic
LUNC
￼
Ripple
XRP
￼
Filecoin
FIL
￼
eCash
XEC
￼
NEXO
NEXO
￼
Decentraland
MANA
￼
Binance USD
BUSD
￼
Waves
WAVES
￼
Audius
AUDIO
￼
Zcash
ZEC
￼
Arweave
AR
￼
Yearn.finance
YFI
￼
Decred
DCR
￼
Secret
SCRT
￼
Axie Infinity Shards
AXS
￼
Tezos
XTZ
￼
GateToken
GT
￼
Convex Finance
CVX
￼
Mina
MINA
￼
Neutrino USD
USDN
￼
EOSIO protocol
EOS
￼
Maker protocol
MKR
Bitcoin - BTC Price, Live Chart, and News | Blockchain.com

English
<EMAIL_ADDRESS>Sponsored: 20 No Deposit Free Spins on Sign UpClaim Bonus
1000x BTC BONUS 💰
Win 8.88 BTC 🎰
Play Slots & Win! 🎰
There are 2 blockchains with result(s) to your search:
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629
icon
BTC
Address 3LZkZ-LC629
icon
BCH
Address 3LZkZ-LC629
Explore top crypto assets.
Bitcoin - BTC Price, Live Chart, and News | Blockchain.com> Approve
English
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629
Sponsored: 20 No Deposit Free Spins on Sign UpClaim Bonus
1000x BTC BONUS 💰
Win 8.88 BTC 🎰
Play Slots & Win! 🎰
There are 2 blockchains with result(s) to your search:
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629
icon
BTC
Address 3LZkZ-LC629
icon
BCH
Address 3LZkZ-LC629
Explore top crypto assets.
Bitcoin - BTC Price, Live Chart, and News | Blockchain.com> Merge
English
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629
Sponsored: 20 No Deposit Free Spins on Sign UpClaim Bonus
1000x BTC BONUS 💰
Win 8.88 BTC 🎰
Play Slots & Win! 🎰
There are 2 blockchains with result(s) to your search:
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629
icon
BTC
Address 3LZkZ-LC629
icon
BCH
Address 3LZkZ-LC629
Explore top crypto assets.
Bitcoin - BTC Price, Live Chart, and News | Blockchain.com> Add g6 gotta

 #

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>@etenterprises1
@etcbi.com
@master-ui-web-etO-10 IGC USSF SF AIRC TS(SCI) Sector 3 CIA-Fitzwater-66-497087216.

Skip to content
Navigation Menu
Copilot
Copilot Chat
Pull Request Summary and Approval
Summarize this pull request.
The pull request titled "Create Link.sdk" in the actions/runner-images repository was created by ETEnterprises1. It involves adding 40 additions to a single file. The pull request aims to introduce a new tool, fix bugs, or improve the existing setup. It includes a summary of the change and context, but does not list specific issues or attach related work items. The PR was closed on December 29, 2024.
For more details, you can view the pull request here.
Link.sdk
Approved
The pull request has been approved.
Ask Copilot
The pull request has been approved.

gh pr checkout 2

```javascript
.Skip to content
Navigation Menu
ETEnterprises1
attest-build-provenance

Code
Pull requests
1
Actions
Projects
Security
Insights
Settings
Merge pull request #1 from ETEnterprises1/main #2
 Open
ETEnterprises1 wants to merge 6 commits into main from https/github.com/ETEnterprises1/Bank-of-Montreal-N.a.git
 Open
Merge pull request #1 from ETEnterprises1/main
#2
ETEnterprises1 wants to merge 6 commits into main from https/github.com/ETEnterprises1/Bank-of-Montreal-N.a.git
+28 −21
 Conversation 13
 Commits 6
 Checks 16
 Files changed 2
Conversation
ETEnterprises1
Owner
ETEnterprises1 commented 2 weeks ago
-get request -pull

ETEnterprises1 added 6 commits 2 months ago
@ETEnterprises1
Merge pull request #1 from ETEnterprises1/main
62307e7
@ETEnterprises1
Update LICENSE
826dfb0
@ETEnterprises1
Update LICENSE
eed4cde
@ETEnterprises1
Update LICENSE
25ab6f8
@ETEnterprises1
Update and rename LICENSE to Licence.mhtl
5dfab00
@ETEnterprises1
Merge pull request #3 from ETEnterprises1/Licence.mhtml
6175424
@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago •
approve and merge @ETEnterprises1

@ETEnterprises1 ETEnterprises1 closed this 2 weeks ago
@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago
#2 merge committ

@ETEnterprises1 ETEnterprises1 reopened this 2 weeks ago
@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago
#3
#2
#1

@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago
Merge commit

@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago
 -get request -pull

@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago
'merge with<EMAIL_ADDRESS>
ETEnterprises1
ETEnterprises1 commented 2 weeks ago
Owner
Author
ETEnterprises1 left a comment
Approve
Merge
Add g6 gotta

ETEnterprises1
ETEnterprises1 commented 2 weeks ago
Owner
Author
ETEnterprises1 left a comment
Approve
Merge
Add g6 gotta

@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago
Blockchain.com

Home

Prices

Charts

NFTs

DeFi

Academy

News

Developers

Wallet

Exchange

Bitcoin

Ethereum

Bitcoin Cash

EnglishEspañolPortuguêsPyccкийFrançaisDeutsch

Sign In

￼

Sponsored: 20 No Deposit Free Spins on Sign UpClaim Bonus

1000x BTC BONUS 💰

Win 8.88 BTC 🎰

Play Slots & Win! 🎰

There are 2 blockchains with result(s) to your search:

3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629

￼

BTC

Address 3LZkZ-LC629

￼

BCH

Address 3LZkZ-LC629

Explore top crypto assets.

￼

Compound

COMP

￼

Hedera

HBAR

￼

Holo

HOT

￼

Flow

FLOW

￼

Wrapped Bitcoin

WBTC

￼

Pancake Swap

CAKE

￼

Pax Gold

PAXG

￼

Algorand

ALGO

￼

NEM

XEM

￼

XDC Network

XDC

￼

Moonbeam

GLMR

￼

Fantom Platform

FTM

￼

IoTeX

IOTX

￼

Dogecoin

DOGE

￼

Thorchain

RUNE

￼

Zilliqa

ZIL

￼

USD Coin

USDC

￼

Kava

KAVA

￼

Loopring

LRC

￼

Helium

HNT

￼

Basic Attention Token

BAT

￼

Bitcoin Cash

BCH

￼

Litecoin

LTC

￼

Near Protocol

NEAR

￼

Dash

DASH

￼

Huobi Token

HT

￼

Chainlink

LINK

￼

UNUS SED LEO

LEO

￼

Elrond

EGLD

￼

KuCoin Token

KCS

￼

IOTA

MIOTA

￼

Storj

STORJ

￼

Klaytn

KLAY

￼

Harmony

ONE

￼

Cardano

ADA

￼

Binance Coin

BNB

￼

True USD

TUSD

￼

Tether

USDT

￼

Monero

XMR

￼

Quant

QNT

￼

VeChain

VET

￼

Ethereum Classic

ETC

￼

Enjin

ENJ

￼

Stellar

XLM

￼

ApeCoin

APE

￼

Tronix

TRX

￼

FTX

FTT

￼

ROSE

ROSE

￼

Curve DAO Token

CRV

￼

Bitcoin SV

BSV

￼

Icon

ICX

￼

Shiba Inu

SHIB

￼

QTUM

QTUM

￼

Cosmos

ATOM

￼

Solana

SOL

￼

Uniswap

UNI

￼

Maker Protocol

DAI

￼

Kyber Network Crystal

KNC

￼

NEO

NEO

￼

Avalance

AVAX

￼

Sandbox

SAND

￼

OKB

OKB

￼

Polygon

MATIC

￼

0x

ZRX

￼

Internet Computer

ICP

￼

Kadena

KDA

￼

Pax Dollar

USDP

￼

Symbol

XYM

￼

Bitcoin

BTC

￼

Polkadot

DOT

￼

Kusama

KSM

￼

BitTorrent token

BTT

￼

Fei Protocol

FEI

￼

Stacks

STX

￼

Aave

AAVE

￼

AMP

AMP

￼

Chiliz

CHZ

￼

Terra Classic

LUNC

￼

Ripple

XRP

￼

Filecoin

FIL

￼

eCash

XEC

￼

NEXO

NEXO

￼

Decentraland

MANA

￼

Binance USD

BUSD

￼

Waves

WAVES

￼

Audius

AUDIO

￼

Zcash

ZEC

￼

Arweave

AR

￼

Yearn.finance

YFI

￼

Decred

DCR

￼

Secret

SCRT

￼

Axie Infinity Shards

AXS

￼

Tezos

XTZ

￼

GateToken

GT

￼

Convex Finance

CVX

￼

Mina

MINA

￼

Neutrino USD

USDN

￼

EOSIO protocol

EOS

￼

Maker protocol

MKR

Bitcoin - BTC Price, Live Chart, and News | Blockchain.com

@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago
English
<EMAIL_ADDRESS>
Sponsored: 20 No Deposit Free Spins on Sign UpClaim Bonus
1000x BTC BONUS 💰
Win 8.88 BTC 🎰
Play Slots & Win! 🎰
There are 2 blockchains with result(s) to your search:
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629
icon
BTC
Address 3LZkZ-LC629
icon
BCH
Address 3LZkZ-LC629
Explore top crypto assets.
Bitcoin - BTC Price, Live Chart, and News | Blockchain.com> Approve

English
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629

Sponsored: 20 No Deposit Free Spins on Sign UpClaim Bonus
1000x BTC BONUS 💰
Win 8.88 BTC 🎰
Play Slots & Win! 🎰
There are 2 blockchains with result(s) to your search:
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629
icon
BTC
Address 3LZkZ-LC629
icon
BCH
Address 3LZkZ-LC629
Explore top crypto assets.
Bitcoin - BTC Price, Live Chart, and News | Blockchain.com> Merge

English
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629

Sponsored: 20 No Deposit Free Spins on Sign UpClaim Bonus
1000x BTC BONUS 💰
Win 8.88 BTC 🎰
Play Slots & Win! 🎰
There are 2 blockchains with result(s) to your search:
3LZkZaTVqNfS5aAJHFuoUAzdBkhPELC629
icon
BTC
Address 3LZkZ-LC629
icon
BCH
Address 3LZkZ-LC629
Explore top crypto assets.
Bitcoin - BTC Price, Live Chart, and News | Blockchain.com> Add g6 gotta

@ETEnterprises1 ETEnterprises1 locked and limited conversation to collaborators 2 weeks ago
@ETEnterprises1 ETEnterprises1 added the enhancement label 2 weeks ago
@ETEnterprises1 ETEnterprises1 self-assigned this 2 weeks ago
@ETEnterprises1 ETEnterprises1 added this to the [![CodeQL](https://github.com/ETEnterprises1/attest-build-provenance/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/ETEnterprises1/attest-build-provenance/actions/workflows/codeql-analysis.yml) milestone 2 weeks ago
@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago
CodeQL #

@ETEnterprises1
Owner
Author
ETEnterprises1 commented 2 weeks ago
CodeQL #

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>@ETEnterprises1
@etcbi.com
@master-ui-web-etO-10 IGC USSF SF AIRC TS(SCI) Sector 3 CIA-Fitzwater-66-497087216.

@ETEnterprises1 ETEnterprises1 closed this 2 weeks ago
@ETEnterprises1 ETEnterprises1 added the good first issue label 2 weeks ago
@ETEnterprises1 ETEnterprises1 reopened this 4 minutes ago
@ETEnterprises1
Owner
Author
ETEnterprises1 commented 3 minutes ago
Skip to content
Navigation Menu
Copilot

Copilot Chat
Pull Request Summary and Approval
Summarize this pull request.
The pull request titled "Create Link.sdk" in the actions/runner-images repository was created by ETEnterprises1. It involves adding 40 additions to a single file. The pull request aims to introduce a new tool, fix bugs, or improve the existing setup. It includes a summary of the change and context, but does not list specific issues or attach related work items. The PR was closed on December 29, 2024.

For more details, you can view the pull request here.

Link.sdk
Approved
The pull request has been approved.

Ask Copilot
The pull request has been approved.

@ETEnterprises1 ETEnterprises1 unlocked this conversation 1 minute ago
@ETEnterprises1
Owner
Author
ETEnterprises1 commented now
gh pr checkout 2

@ETEnterprises1 ETEnterprises1 closed this now
@ETEnterprises1 ETEnterprises1 deleted the https/github.com/ETEnterprises1/Bank-of-Montreal-N.a.git branch now
@ETEnterprises1 ETEnterprises1 restored the https/github.com/ETEnterprises1/Bank-of-Montreal-N.a.git branch now
@ETEnterprises1 ETEnterprises1 reopened this now
Merge info
Review required
An approval on the most recent push is required by reviewers with write access.

Some checks haven't completed yet
4 in progress, 16 successful checks

Merging is blocked
Cannot update this protected ref.
New changes require approval from someone other than the last pusher.
You can also merge this with the command line.
Preview
 · Give feedback
@ETEnterprises1

Add a comment
Comment

Add your comment here...

Remember, contributions to this repository should follow our GitHub Community Guidelines.
 ProTip! Add comments to specific lines under Files changed.
Reviewers
No reviews—at least 0 approving reviews are required.
Still in progress?
Assignees
@ETEnterprises1
ETEnterprises1

Labels
enhancement
good first issue
Projects
 @ETEnterprises1's untitled project
 BitcoinBlockchain.com
 BitcoinBlockchain.com
<EMAIL_ADDRESS>
Milestone
[![CodeQL](https://github.com/ETEnter...
Development
Successfully merging this pull request may close these issues.

None yet

Notifications
Customize
You’re receiving notifications because you modified the open/close state.
1 participant
@ETEnterprises1
Footer
© 2024 GitHub, Inc.
Footer navigation
Terms
Privacy
Security
Status
Docs
Contact
Manage cookies
Do not share my personal information
ETEnterprises1 reopened this
Merging via command line
If you do not want to use the merge button or an automatic merge cannot be performed, you can perform a manual merge on the command line. However, the following steps are not applicable if the base branch is protected.
URL

HTTPS

SSH

Patch
https://github.com/ETEnterprises1/attest-build-provenance.git
Step 1 Clone the repository or update your local repository with the latest changes.

git pull origin main

Step 2 Switch to the base branch of the pull request.

git checkout main

Step 3 Merge the head branch into the base branch.

git merge https/github.com/ETEnterprises1/Bank-of-Montreal-N.a.git

Step 4 Push the changes.

git push -u origin main
``` ```

@dependabot


Using EmguCV and "default" keyword as method parameter breaks obfuscar.

So I started to get "Obfuscar.console.exe exited with code -532462766" with
Unhandled Exception: Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Emgu.CV.World'
This is how I started getting it;
private void SomeFunction(TemplateMatchingType tmt = default)
{
    //adding -> "TemplateMatchingType tmt = default" breaks obfuscar
}

Removing the default parameter resolves the issue.
Luckily, this was the only change I made before starting to get the error or I could have never pinpointed this.
I'm fine with not using default parameter here, but just wanted to put this out there in case someone needed this information.
Posting the full exception below;
 Unhandled Exception: Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Emgu.CV.World, Version=<IP_ADDRESS>97, Culture=neutral, PublicKeyToken=7281126722ab4438'
     at Mono.Cecil.BaseAssemblyResolver.Resolve(AssemblyNameReference name, ReaderParameters parameters)
     at Obfuscar.AssemblyCache.Resolve(AssemblyNameReference name, ReaderParameters parameters)
     at Mono.Cecil.DefaultAssemblyResolver.Resolve(AssemblyNameReference name)
     at Mono.Cecil.MetadataResolver.Resolve(TypeReference type)
     at Mono.Cecil.TypeReference.Resolve()
     at Mono.Cecil.Mixin.CheckedResolve(TypeReference self)
     at Mono.Cecil.MetadataBuilder.GetConstantType(TypeReference constant_type, Object constant)
     at Mono.Cecil.MetadataBuilder.AddConstant(IConstantProvider owner, TypeReference type)
     at Mono.Cecil.MetadataBuilder.AddParameter(UInt16 sequence, ParameterDefinition parameter, ParamTable table)
     at Mono.Cecil.MetadataBuilder.AddParameters(MethodDefinition method)
     at Mono.Cecil.MetadataBuilder.AddMethod(MethodDefinition method)
     at Mono.Cecil.MetadataBuilder.AddMethods(TypeDefinition type)
     at Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type)
     at Mono.Cecil.MetadataBuilder.AddTypes()
     at Mono.Cecil.MetadataBuilder.BuildTypes()
     at Mono.Cecil.MetadataBuilder.BuildModule()
     at Mono.Cecil.MetadataBuilder.BuildMetadata()
     at Mono.Cecil.ModuleWriter.<>c.<BuildMetadata>b__2_0(MetadataBuilder builder, MetadataReader _)
     at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func 3 read)
     at Mono.Cecil.ModuleWriter.Write(ModuleDefinition module, Disposable 1 stream, WriterParameters parameters)
     at Mono.Cecil.ModuleWriter.WriteModule(ModuleDefinition module, Disposable 1 stream, WriterParameters parameters)
     at Obfuscar.Obfuscator.SaveAssemblies(Boolean throwException)
     at Obfuscar.Obfuscator.RunRules()
     at Obfuscar.Program.Main(String[] args)

Not sure why Mono Cecil wants to resolve that assembly, but you should be able to avoid the issue by making that assembly available in search path, https://docs.obfuscar.com/getting-started/configuration.html#assembly-search-path-2-2-5


Automatically create a weights based on previous run data

As a first attempt, create a node script that can create a weight file based on the output of a cypress run.
Once this is working, integrate this with Github Actions so that a new weight file is created with each run, that can be used during the next run.

Oops, merged wrong branch against this issue


Update build.yml for Azure Pipelines

Add a nightly build for localization purposes.

Why do we need this? Can't we just run a CI that is used to produce/pick up loc? Seems odd that we would build the same source every night when nothing changes

Why do we need this? Can't we just run a CI that is used to produce/pick up loc? Seems odd that we would build the same source every night when nothing changes

I think the fact that we run every time a PR is committed is fine.


"producer double-confirming known range" error when testing failover

Tag: dawn-v4.2.0.
We have two nodes, same producer key and config, and one of them starts with production paused. They both run on the same machine.
Block producing node 1 start producing when the nodes start. Block producing node 2 syncs fine. We run curl -sL http://<IP_ADDRESS>:<node-1-port>/v1/producer/pause and curl -sL http://<IP_ADDRESS>:<node-2-port>/v1/producer/resume.
Block producing node 2 begins producing with no problems.
Then, we run curl -sL http://<IP_ADDRESS>:<node-2-port>/v1/producer/pause and curl -sL http://<IP_ADDRESS>:<node-1-port>/v1/producer/resume.
This causes the producer double-confirming known range assertion exception. We checked that this is where the assertion is defined in EOS.IO: https://github.com/EOSIO/eos/blob/3b70b5757a093f8a4db7be04734134ce65a8106a/libraries/chain/block_header_state.cpp#L158
We also noticed that block producing node 2 can't resync with the chain even when we run it with the --hard-replay-blockchain option.

Thanks for the report, I'll bring this to the devs attention.

I will create a more specific issue for this and reference this issue in
it.
One of the concepts not ready for fail over is the watermark calculated by
the producer_plugin.  This watermark is used to determine how many blocks
to confirm with each produced block.
For the particular scenario you describe we can fix this by scanning
incoming blocks for producers who are also local producers.  That way your
backup node will have accurate watermarks
Inaccurate watermarks trick on node into double committing past blocks
which is a considered Byzantine failure and is why you cannot easily
recover
On Sat, May 26, 2018, 2:46 PM Greg Lee<EMAIL_ADDRESS>wrote:

Thanks for the report, I'll bring this to the devs attention.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/EOSIO/eos/issues/3442#issuecomment-392280707, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACYR4nEsvGMdedtoJLqZWOaWoHncuVy4ks5t2aMMgaJpZM4UO7Ca
.

Look forward to the fix.

Also, I'm seeing that many nodes with the same keys loaded will all "counter-sign" all blocks. It doesn't fork or anything, and it's probably signing the same digest everywhere.. but I would have expected all signing to stop if you pause production.  Would that make sense ?

when I test in 1.0.6 I suffer the same bug after call resume&pasue API in second time to switch master & slaver.
the error message:
on_incoming_block    ] 10 assert_exception: Assert Exception
nodeosd_1  | 2018-06-27T09:44:39.503449026Z prior != by_id_idx.end(): unlinkable block

Any update on this issue?

Was it solved?


Implement fallbacks

Allow regional locales (e.g. en-US and en-GB) to provide a partial keyset and pull the missing keys from the base locale (en).

Is it possible to work around this for now somehow?

I'll have to look into it, but as it is right now, every set is evaluated individually. I haven't implemented it yet because I don't have the need for it. I was waiting for someone to request it, and here you are. 🤓
I'll check and let you know.

Okay, this isn't too hard to implement. At most, a few new methods. I'll try to squeeze it in this week.

Haven't been able to get to it; something else came up. But it's high on my priority list.

@alexanderadam
A basic version of this is now implemented in v0.11.0. I still need to update the docs, though.
It works by adding a Rosetta::FallbackRules annotation:
@[Rosetta::AvailableLocales(:en, "en-US", :nl)]
@[Rosetta::FallbackRules({
  "en-US": "en",
})]

You can't add an array of fallbacks. If that's needed, I can implement that too. It just needs a bit more work.
Let me know how it goes! I may have overlooked something.

I'm going to close this now. Let me know if you have any questions or suggestions.

Nice, thank you so much! :heart_eyes:
I'll check it out!


”Colibași” is listed in the drop-down menu

Description:
"Colibași" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Colibași" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Colibași, GIURGIU".


Python project integration with Pinpoint

how to start a pinpoint agent in a python project when integrating python projects into pinpoint? Do I still need to install a Java environment?

@emeroad I think fastapi example is weird.
from starlette_context.middleware import ContextMiddleware
from starlette_context import context, plugins

from pinpointPy import set_agent
from pinpointPy.Fastapi import asyn_monkey_patch_for_pinpoint
from starlette.middleware import Middleware
from pinpointPy.Fastapi import PinPointMiddleWare

middleware = [
    Middleware(ContextMiddleware),
    Middleware(PinPointMiddleWare)
]
set_agent("cd.dev.test.py", "cd.dev.test.py",0, 'tcp:dev-collector:10000')
use_starlette_context()
## patch for synchronous libraries, such as requests,myql-connector-python ...
# support lists https://github.com/pinpoint-apm/pinpoint-c-agent/tree/dev/plugins/PY/pinpointPy/libs
monkey_patch_for_pinpoint()
async_monkey_patch_for_pinpoint()

there are unused library but imported. And middleware is not added to fastapi.
If i follow this example deploy is not working. Is there any other example?


authorize endpoint: Uncaught error: reply interface called twice

Hello,
This is my code for controllers/oauth2.js where I have the handler for '/oauth/authorize'
  authorize: function (request, reply) {
     oauth.authorize(request, reply, function (req, res) {
         reply.view('oauth', {transactionID: req.app.transactionID});
     }, function (clientID, redirect, done) {
       server.helpers.find('client', clientID, function (docs) {
         done(null, docs[0], docs[0].redirect_uri);
       });
     });
   },

In the third line I get this error stack trace:
Debug: internal, implementation, error
   ** Error: Uncaught error: reply interface called twice**
    at Object.exports.contain.exports.reachTemplate.exports.assert.condition [as assert] (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/hapi/node_modules/hoek/lib/index.js:732:11)
    at Function.internals.Reply.interface.internals.response (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/hapi/lib/reply.js:132:10)
    at reply (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/hapi/lib/reply.js:70:22)
    at Object.ExpressServer.res.end (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/hapi-oauth2orize/index.js:271:32)
    at errorHandler (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/oauth2orize/lib/middleware/errorHandler.js:67:18)
    at /home/pablo/devLab/audienceLeap/api/server/src/node_modules/hapi-oauth2orize/index.js:91:59
    at errorHandler (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/oauth2orize/lib/middleware/errorHandler.js:73:60)
    at /home/pablo/devLab/audienceLeap/api/server/src/node_modules/hapi-oauth2orize/index.js:88:57
    at /home/pablo/devLab/audienceLeap/api/server/src/node_modules/oauth2orize/lib/middleware/authorization.js:121:25
    at pass (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/oauth2orize/lib/server.js:283:14)
    at Server._parse (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/oauth2orize/lib/server.js:285:5)
    at authorization (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/oauth2orize/lib/middleware/authorization.js:120:12)
    at Object.internals.authorize (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/hapi-oauth2orize/index.js:85:66)
    at oauth2.authorization (/home/pablo/devLab/audienceLeap/api/server/src/controllers/oauth2.js:103:13)
    at Object.exports.execute.internals.prerequisites.internals.handler.callback [as handler] (/home/pablo/devLab/audienceLeap/api/server/src/node_modules/hapi/lib/handler.js:96:36)
    at /home/pablo/devLab/audienceLeap/api/server/src/node_modules/hapi/lib/handler.js:30:23

Any ideas how we fix this?

Looks like it's due to some inconsistent error-handling around here: https://github.com/blinkmobile/hapi-oauth2orize/blob/master/index.js#L81-L98 .  Your code generated an error which propagated down into a duplicate call to reply().  This area of the code clearly needs a little bit of love :)

Yes, the error inconsistently handled is that I was missing ?response_type= in the call.
Now I'm getting the same "reply called twice" because of a simple error of "cannot read property find of undefined", I suppose I need to create my own models now for clients, tokens, etc... instead of using the example code :)
Do you have any suggestion how to fix this error? Any related documentation or approach?
Usually I understand I cannot reply twice inside a function so I separate the two reply calls by and if else, but here the two reply calls are being made from different functions (inside and callback of oauth.authorize()).
My approach would be modifying the callback of authorize(request, reply, callback(req, res)) so it passes a variable called error with req and es and then we can if/else the two different replies with error or view.
Comments welcome!

I have improved the code a little bit with this in my controller (modifying the example code from README and commenting a line in index.js
Comment this line, so we can see the actual error message:
https://github.com/blinkmobile/hapi-oauth2orize/blob/master/index.js#L169
Modify the oauth.authorize() callback like this, adding if(!request.response.isBoom)
    authorize: function (request, reply) {
      oauth.authorize(request, reply, function (req, res) {
        if(!request.response.isBoom) {
          reply.view('oauth', {transactionID: req.app.transactionID});
        }
      }, function (clientID, redirect, done) {
        server.helpers.find('client', clientID, function (docs) {
          done(null, docs[0], docs[0].redirect_uri);
        });
      });
    },

So far working for me.


Add [Paribu  Paribu.com] #memo-required GBZLHG…2ZQKVA

Address: GBZLHGDYMSVF4X6DYAGKLIQX3F64W3MXNDVGHKQPR226TCJ5QJ2ZQKVA
Tags: memo-required
Title: **Paribu **  Domain: Paribu.com
Requested by @polat06

302766 Memo

@polat06 this issue is being combined with your first request. https://github.com/stellar-expert/public-directory/issues/502


Randomize hashes of strings (DoS vulnerability)

Explanation, taken from Python

By default, the __hash__() values of str, bytes and datetime objects are “salted” with an unpredictable random value. Although they remain constant within an individual Python process, they are not predictable between repeated invocations of Python.
This is intended to provide protection against a denial-of-service caused by carefully-chosen inputs that exploit the worst case performance of a dict insertion, O(n^2) complexity. See http://www.ocert.org/advisories/ocert-2011-003.html for details.
See also PYTHONHASHSEED.

In the linked document, it can be seen that Ruby and many other programming languages had this vulnerability fixed.
$ echo '2.times { p "a".hash }' | ruby
2546372741366295617
2546372741366295617
$ echo '2.times { p "a".hash }' | ruby
-3656422326255655719
-3656422326255655719
$ echo '2.times { p "a".hash }' | crystal eval
97
97
$ echo '2.times { p "a".hash }' | crystal eval
97
97

A similar change should probably be introduced to Crystal.

An alternative is to use djb's crit-bit trees https://cr.yp.to/critbit.html
From the "Putting crit-bit trees to work" section:

A hash table supports insertion, deletion, and exact searches. A crit-bit tree supports insertion, deletion, exact searches, and ordered operations such as finding the minimum. Another advantage is that a crit-bit tree guarantees good performance: it doesn't have any tricky slowdowns for unusual (or malicious) data.

@spalladino This issue Ain't better in topic:security since could be a vulnerability

Granted.

Crystal Sting.hash uses algorithm that vulnerable to hashDoS.
Ruby and Rust uses Siphash.
Perl 5.26 just released with good improvement:

We have switched to a hybrid hash function to better balance performance for short and long keys.
For short keys, 16 bytes and under, we use an optimised variant of One At A Time Hard, and for longer keys we use Siphash 1-3. For very long keys this is a big improvement in performance. For shorter keys there is a modest improvement.

No 1.0 unless it's fixed?


searx server config

Prepare searx server configuration.
https://searx.github.io/searx/

See also yacy, a decentralized search engine where users can be peers and participate in the indexing work.


Clicking on heart icon in products page gives wrong preview image

🎇 Description
In /html/products.html route when we click on a product we get to see its preview in a modal which is expected. But the problem is that when we click on the heart in the product card. We see the heart image in the preview instead of the product image.
🖼 Screenshots

Unexpected Behavior:

Sure! 🤩


Update Isolate API docs when features are implemented in all runtimes

The following methods are being implemented across the VM and dart2js and Dartium:
addErrorListener
addOnExistListener
kill
pause
ping
removeErrorListener
removeOnExitListener
resume
setErrorsFatal
a paused parameter for spawnUri and spawn
When dart2js, VM, and Dartium support all of these, we'll need to update the respective API docs.

Isolate is going away on the web. Closing.


Update deps with updtr

Coverage remained the same at 98.551% when pulling b511350bf80928adef9f7a80715a297e3674c2c9 on updtr-deps into 9ef78c8ecac1987df6aafd7b7eaf0c08bf0c9234 on master.


Button press not function

My first issue is that my button not function when press

Ok you should assign the function name inside button brackets


section 1.3 of readme doesn't explain "Duration"

Looking at https://github.com/khoih-prog/Teensy_TimerInterrupt#13-set-hardware-timer-frequency-and-attach-timer-interrupt-handler-function and I see the following text:
// frequency (in hertz) and duration (in milliseconds). Duration = 0 or not specified => run indefinitely
// No params and duration now. To be added in the future by adding similar functions here or to NRF52-hal-timer.c
bool setFrequency(float frequency, timerCallback callback);

However, the word "Duration" is not used in that function call.  Should that sentence about Duration in the comments be deleted?

Oh, I see: "To be added in the future"


SOPS support

Describe the Feature
It would be great if Atmos had some interface for retrieving secrets from SOPS to be passed into terraform configuration.
Because we do our terraform configuration in Atmos' YAML, our TF configuration remains the same across environments/deployments. This is usually a good thing, but when something like a secret would change across environments, now we either need our terraform configuration to have some dynamic portion where it will grab the correct secret, or we would need to put the secret in raw YAML which isn't gonna happen.
I'm not sure about the extensibility of YAML
Expected Behavior
Some function in Atmos YAML to decode a SOPS secret from a given path.
Or some function in Atmos to read our SOPS files based on which stack/environment we are currently in and make those secrets available to reference in the YAML somehow.
Use Case
Secrets management can be better integrated with Atmos.
Describe Ideal Solution
See expected behavior
Alternatives Considered
No response
Additional Context
Terraform has a SOPS provider that we can use to do this work in our modules, and Terragrunt has native SOPS functions that can be used to do this in orchestration. Their implementation can be a reference.

We've recently extended atmos to support all types of datasources, although most are from gomplate. Unfortunately gomplate doesn't provide native SOPS.
It's a really interesting idea if stack configs could reference a datasource for SOPS encrypted secrets, guarded by cloud-specific keys like KMS.
See how we configure data sources today: https://atmos.tools/cli/configuration#templates
All we would need to do is add a datasource for a sops-encrypted file, then we could support key/value lookups using all the normal mechanisms.
https://github.com/getsops/sops

Love this idea -- Good issue @kevcube as this would definitely help us since we love SOPS so much.
@osterman is it possible to create datasources that are just for atmos? Or do they need to come from the upstream gomplate project?

We can include them simply in the Atmos core, without requiring them in the upstream dependencies. Also, if any of your team would be interested in getting more involved hands-on, let me know and we can coordinate.

This will be a very interesting feature to add to atmos
Currently, I am using terragrunt which has a natif support if sops datasource and this block me to move into atmos


Error if add LYWSD03MMC

After add LYWSD03MMC to mi account, get error:
Setup failed for custom integration xiaomi_gateway3: Unable to import component: cannot import name 'Command' from 'zigpy.zcl.foundation' (/usr/local/lib/python3.10/site-packages/zigpy/zcl/foundation.py)
Home Assistant 2023.1.2 Supervisor 2022.12.1 Operating System 9.4

#911


Add changeset and support for package releasing

Closes: #91
Description
Allow publishing a package to the npm using the changeset.

Any changes merged in the master will lead to the release of a new version of the @onflow/flow-nft package.

For contributor use:

[x] Targeted PR against master branch
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the standards mentioned here.
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

If I understood it well, when any changes are merged into master, this will automatically update the npm package right?


Move to @Zimbra?

Wouldn't it make more sense to have this repository in the @Zimbra organisation? That'd make it a bit more official-seeming and easier for other people to contribute to 😊

+1

Yeah, likely at this point it would be.

I just transferred this over to the zimbra org.  Looks like I may need to update the license slightly too, but you should now update your remote url to point to the new location.