IoHandle interface

Propose changes to IoHandle interface to wrap socket system calls. This PR is for discussion purpose, so that the IoHandle interface can be used as base class for both socket and non-socket implementations.

/assign @venilnoronha, @mattklein123 , @sbelair2, @alyssawilk, @mpw, @jmarantz, @jrajahalme, @sesmith177, @ggreenway.
Add whoever commented on #5171. Feel free to unassign yourself if not interested any more.

/assign @venilnoronha
/assign @mattklein123
/assign @sbelair2
/assign @alyssawilk
/assign @mpwarres
/assign @jmarantz
/assign @jrajahalme
/assign @sesmith177
/assign @ggreenway

@danzh1989 error is because of the commas. you can mention all users in the same "/assign" command, just no commas.

I feel we somewhat reached agreement on IoHandleCallResult and IoError now. If so, I would like to continue #5171 and copy them to that PR. Thoughts?

SGTM

I updated IoError interface according to the discussion in #5171. This is to address memory allocation problem for frequent error like EAGAIN.


Function identifiers not colored properly when args on multiple lines

Arrow function identifiers are not properly highlighted when the arguments are defined on multiple lines.

Real world example:
export const createCanvas = (
  width: number,
  height: number,
  pixelRatio: number
): HTMLCanvasElement => {
  const canvas = document.createElement("canvas")
  canvas.width = width * pixelRatio
  canvas.height = height * pixelRatio
  canvas.style.width = width + "px"
  canvas.style.height = height + "px"
  return canvas
}

Yes it should be but it is impossible to do. It's a limitation of TextMate Grammars that they are only allowed to look at a single line and may not look forwards nor go backwards. I don't know it's an arrow function until the function name has passed. Sorry.

That's too bad 😞


Not booting when adding custom config files

Problem
It seems as soon as i add "files/etc/config" to "additions" the created firmware won't boot. Doesn't matter if there are files inside the directory or not. Tested on Omega2 Pro.
To Reproduce

Add the folder "additions/files/etc/config"
Build the firmware
Transfer the firmware to /tmp on the Omega
Run sysupgrade -n -F /tmp/firmware.bin

This was the output when booting
`Boot Linux from Flash NO RESET PRESSED.
Booting image at bc050000 ...
Image Name:   MIPS OpenWrt Linux-5.10.161
Image Type:   MIPS Linux Kernel Image (lzma compressed)
Data Size:    2227344 Bytes =  2.1 MB
Load Address: 80000000
Entry Point:  80000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
No initrd
Transferring control to Linux (at address 80000000) ...
Giving linux memsize in MB, 128
Starting kernel ...
[    0.000000] Linux version 5.10.161 (builder@buildhost) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20028-43d71ad93e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 Tue Jan 3 00:24:21 2023
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7688 ver:1 eco:2
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019655 (MIPS 24KEc)
[    0.000000] MIPS: machine is Onion Omega2+
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=0007e670
[    0.000000] Readback ErrCtl register=0007e670
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 121196K/131072K available (5751K kernel code, 622K rwdata, 700K rodata, 1236K init, 210K bss, 9876K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] intc: using register map from devicetree
[    0.000000] CPU Clock: 580MHz
[    0.000000] timer_probe: no matching timers found
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns:<PHONE_NUMBER> ns
[    0.000011] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every<PHONE_NUMBER>ns
[    0.007659] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.073587] pid_max: default: 32768 minimum: 301
[    0.078256] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.085275] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.095424] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.107436] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns:<PHONE_NUMBER>2750000 ns
[    0.116951] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.123592] pinctrl core: initialized pinctrl subsystem
[    0.133880] NET: Registered protocol family 16
[    0.139064] thermal_sys: Registered thermal governor 'step_wise'
[    0.215647] clocksource: Switched to clocksource MIPS
[    0.227929] NET: Registered protocol family 2
[    0.232411] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.240429] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.248601] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.255984] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.262760] TCP: Hash tables configured (established 1024 bind 1024)
[    0.269068] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.275352] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.282472] NET: Registered protocol family 1
[    0.286715] PCI: CLS 0 bytes, default 32
[    0.299022] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.311026] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.316665] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.328430] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.338270] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.343870] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.349615] mt7621_gpio 10000600.gpio: registering 32 gpios
[    0.355284] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.364529] printk: console [ttyS0] disabled
[    0.368777] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A
[    0.377517] printk: console [ttyS0] enabled
[    0.377517] printk: console [ttyS0] enabled
[    0.385922] printk: bootconsole [early0] disabled
[    0.385922] printk: bootconsole [early0] disabled
[    0.396323] 10000d00.uart1: ttyS1 at MMIO 0x10000d00 (irq = 29, base_baud = 2500000) is a 16550A
[    0.406192] 10000e00.uart2: ttyS2 at MMIO 0x10000e00 (irq = 30, base_baud = 2500000) is a 16550A
[    0.416849] spi-mt7621 10000b00.spi: sys_freq: 193333333
[    0.446498] spi-nor spi0.0: w25q256 (32768 Kbytes)
[    0.451437] 4 fixed-partitions partitions found on MTD device spi0.0
[    0.458018] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.465453] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.473456] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.480957] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.488638] Creating 4 MTD partitions on "spi0.0":
[    0.493516] 0x000000000000-0x000000030000 : "u-boot"
[    0.502402] 0x000000030000-0x000000040000 : "u-boot-env"
[    0.509206] 0x000000040000-0x000000050000 : "factory"
[    0.517674] 0x000000050000-0x000002000000 : "firmware"
[    0.524319] 2 uimage-fw partitions found on MTD device firmware
[    0.530416] Creating 2 MTD partitions on "firmware":
[    0.535462] 0x000000000000-0x00000021fcd0 : "kernel"
[    0.540523] mtd: partition "kernel" doesn't end on an erase/write block -- force read-only
[    0.552100] 0x00000021fcd0-0x000001fb0000 : "rootfs"
[    0.557228] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[    0.567846] mtd: setting mtd5 (rootfs) as root device
[    0.574064] 1 squashfs-split partitions found on MTD device rootfs
[    0.580433] 0x000000fd0000-0x000001fb0000 : "rootfs_data"
[    0.643823] rt3050-esw 10110000.esw: mediatek esw at 0xb0110000, irq 25 initialized
[    0.652610] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    0.663097] NET: Registered protocol family 10
[    0.673905] Segment Routing with IPv6
[    0.677872] NET: Registered protocol family 17
[    0.682503] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.695684] 8021q: 802.1Q VLAN Support v1.8
[    0.708824] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[    0.723131] Freeing unused kernel memory: 1236K
[    0.727773] This architecture does not have kernel memory protection.
[    0.734316] Run /sbin/init as init process
[    1.430701] init: Console is alive
[    1.434777] init: - watchdog -
[    3.188897] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.380511] usbcore: registered new interface driver usbfs
[    3.386286] usbcore: registered new interface driver hub
[    3.391797] usbcore: registered new device driver usb
[    3.438559] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.454550] SCSI subsystem initialized
[    3.466838] ehci-fsl: Freescale EHCI Host controller driver
[    3.474572] ehci-platform: EHCI generic platform driver
[    3.490489] phy phy-10120000.usbphy.0: remote usb device wakeup disabled
[    3.497308] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz
[    3.502610] ehci-platform 101c0000.ehci: EHCI Host Controller
[    3.508479] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[    3.516681] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[    3.545679] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[    3.553230] hub 1-0:1.0: USB hub found
[    3.558130] hub 1-0:1.0: 1 port detected
[    3.571059] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    3.579146] ohci-platform: OHCI generic platform driver
[    3.584896] ohci-platform 101c1000.ohci: Generic Platform OHCI controller
[    3.591906] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
[    3.600093] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
[    3.680845] hub 2-0:1.0: USB hub found
[    3.685599] hub 2-0:1.0: 1 port detected
[    3.739101] sdhci: Secure Digital Host Controller Interface driver
[    3.745406] sdhci: Copyright(c) Pierre Ossman
[    3.752367] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.763795] usbcore: registered new interface driver usb-storage
[    3.775342] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.793384] init: - preinit -
[    3.983054] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    4.090208] mmc0: new high speed MMC card at address 0001
[    4.103149] mmcblk0: mmc0:0001 DG4008 7.28 GiB
[    4.113850] mmcblk0boot0: mmc0:0001 DG4008 partition 1 4.00 MiB
[    4.125964] mmcblk0boot1: mmc0:0001 DG4008 partition 2 4.00 MiB
[    4.134054]  mmcblk0: p1
[    4.365342] random: procd: uninitialized urandom read (4 bytes read)
[    4.374790] usb-storage 1-1:1.0: USB Mass Storage device detected
[    4.397419] scsi host0: usb-storage 1-1:1.0
[    5.198833] random: jshn: uninitialized urandom read (4 bytes read)
[    5.319585] random: jshn: uninitialized urandom read (4 bytes read)
[    5.443225] random: jshn: uninitialized urandom read (4 bytes read)
[    5.456906] scsi 0:0:0:0: Direct-Access     VendorCo ProductCode      2.00 PQ: 0 ANSI: 4
[    5.478370] sd 0:0:0:0: [sda] 61440000 512-byte logical blocks: (31.5 GB/29.3 GiB)
[    5.495814] sd 0:0:0:0: [sda] Write Protect is off
[    5.501681] sd 0:0:0:0: [sda] No Caching mode page found
[    5.507150] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    5.541219]  sda: sda1 sda2
[    5.549457] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    5.569909] random: jshn: uninitialized urandom read (4 bytes read)
[    5.627707] random: jshn: uninitialized urandom read (4 bytes read)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   10.455160] mount_root: loading kmods from internal overlay
[   10.512723] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[   10.528202] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[   11.472842] block: attempting to load /etc/config/fstab
[   11.487282] block: unable to load configuration (fstab: Entry not found)
[   11.494627] block: no usable configuration
[   11.500192] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[   11.525770] urandom-seed: Seed file not found (/etc/urandom.seed)
[   11.672518] procd: - early -
[   11.676025] procd: - watchdog -
[   12.558954] procd: - watchdog -
[   12.573326] random: jshn: uninitialized urandom read (4 bytes read)
[   12.582763] procd: - ubus -
Failed to connect to ubus
[   13.077965] random: jshn: uninitialized urandom read (4 bytes read)
[   13.353520] random: jshn: uninitialized urandom read (4 bytes read)
`
At this point the boot process get stucked.

@jempatel can you please look into this when you get a chance?

@TT-E1NFACH, is this a full locally built firmware image, from the log it shows  Failed to connect to ubus, which seems to be an issue with where it had picked up ubus ipk when the image was built Here, files/etc/config does not change any libs/binaries in firmware.

Closing this issue - root cause of issue was non-unix new lines in additional config files added to the firmware.
@TT-E1NFACH I suggest using ps to check that the ubus process is running, and logread to check for any error messages.
Other than that, my best advice would be to check/post on the OpenWRT forums to see if others have encountered the same problem.


Drop node v0.10 support?

Node v4.x+ is under Long-Term Support, while v0.10 was released over 3 years ago. Supporting 0.x makes basic stuff like eslint support harder #715

Node v0.10 is end of life on 31st October, so I'd suggest that would be the right time to drop support.

I don't think we should drop node v0.10 support soon. Because node-sqlite3 is used widely I think we should support it for at least another 6 months. Running eslint for builds with node 4 and greater seems like a fine workaround.

Because node-sqlite3 is used widely I think we should support it for at least another 6 months.

I would suggest that this is the wrong approach, for a couple of reasons.
I'm a great believer that the more of the community that throws it's support behind the EOL date for Node v0.10, the better it will be for Node.js as a whole. It sends a clear message to the wider ecosystem that EOL means EOL. This means that sysops everywhere can depend on the LTS and EOL dates for Node.js the same way they would with linux or unix software. If common packages don't drop support, it makes the EOL date fuzzy and unreliable.
Further, If you go on supporting Node v0.10 beyond EOL, what happens if a security issue pops up that particularly effects the sqlite3 + v0.10 combo? Maybe it's a cross-that-bridge when it comes to it kind of problem, but you're entering into fuzzy territory. Again, it's just my opinion, but as a package maintainer I'd think it would be preferable to immediately drop "official" support.
Anyone who wants to continue to use v0.10 still can, by keeping their version of node-sqlite3 pinned at a version with support. However, they are choosing to run out-of-date software and therefore the burden of support falls to them and not this module.
It's just my 2c, but something I'm passion about, enough to have joined the Node.js LTS team 😉

As additional context, @ErisDS is CTO of @TryGhost, which is probably one of the top or the top consumer of node-sqlite3, and Ghost is requiring Node v4 LTS or higher, so... that's a good thing.

Also for context, we will release a new version of Ghost that drops v0.10 support as soon as the announcement is made on Nodejs.org / 1st Nov.

@ErisDS thanks for your insight. Apart from changing documentation and removing node 0.10 support from the list, do you envision any code changes? It seems that Nan is ironing out all of the differences, so we wouldn't actually have to do anything to "drop" support?

As far as I know that'd be correct for this repo.
In Ghost we use engines and have a pre-install script which errors if the node version doesn't match what we have in engines. We mostly did this to try to prevent people from falling through to node-sqlite3 install errors and then reporting their issues here on this repo. Sooooo we will be updating that system to not allow 0.10 as well 😁
That means, once we ship our no 0.10 support version all of our users will get an unsupported version error and will end up in our support and hopefully not clogging up your issue list 👯

Any update on this?

Closing, not seeing maintainer interest.


Why does the trained model need clean audio files for inferencing on the same noisy audio files?

Ideally, while inferencing the trained model should take the noisy audio data and output the denoised/cleaned version of the same audio files. I have some noisy audio files on which I want to run the pretrained model and get the clean files. But, while inferencing, it asks for path to clean audio data too which I don't have and the model doesn't run without it.
Why is a previously trained model asking for clean audio files? @drethage

If you remove the "--clean_input_path data/NSDTSEA/clean_testset_wav" part of your script call, it should work.

Thanks for the info @jordipons . Can you also clarify if the training/test data needs to be in .wav format or it can support any other format? I have audio data in .mp3 format and converting it to .wav is resource intensive. How can I train and test the wavenet model with data in mp3 format itself?

During inference, the clean audio files are only used for computing statistics on the output.


windbg.flare - The remote file either doesn't exist, is unauthorized, or is forbidden for url

The remote file either doesn't exist, is unauthorized, or is forbidden for url 'https://codemachine.com/downloads/win10rs1/X86 Debuggers And Tools-x86_en-us.msi'. Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (404) Not Found."
Downloading windbg.flare
from 'https://codemachine.com/downloads/win10rs1/X86 Debuggers And Tools-x86_en-us.msi'
ERROR: The remote file either doesn't exist, is unauthorized, or is forbidden for url 'https://codemachine.com/downloads/win10rs1/X86 Debuggers And Tools-x86_en-us.msi'. Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (404) Not Found."
The upgrade of windbg.flare was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\windbg.flare\tools\chocolateyInstall.ps1'.
See log for details.
Chocolatey upgraded 0/1 packages. 1 packages failed.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Failures

windbg.flare (exited 404) - Error while running 'C:\ProgramData\chocolatey\lib\windbg.flare\tools\chocolateyInstall.ps1'.
See log for details.

windbg.flare failed because the standalone installer was removed from codemachine.com. However, Wayback Machine (web.archive.org) still has a copy for both 32-bit and 64-bit as recent as 2019.

Get the download links from Wayback Machine.
Make sure you cancel the download and get the actual download link.
Update the links in \programdata\chocolatey\lib-bad\windbg.flare\tools\chocolateyInstall.ps1
cpack \programdata\chocolatey\lib-bad\windbg.flare
cinst --ignore-checksum windbg.flare -s \programdata\chocolatey\lib-bad\windbg.flare

windbg.flare failed because the standalone installer was removed from codemachine.com. However, Wayback Machine (web.archive.org) still has a copy for both 32-bit and 64-bit as recent as 2019.

Get the download links from Wayback Machine.
Make sure you cancel the download and get the actual download link.
Update the links in \programdata\chocolatey\lib-bad\windbg.flare\tools\chocolateyInstall.ps1
cpack \programdata\chocolatey\lib-bad\windbg.flare
cinst --ignore-checksum windbg.flare -s \programdata\chocolatey\lib-bad\windbg.flare

do this change will included in the next release or these steps have to be executed at the end of the automation?

do this change will included in the next release or these steps have to be executed at the end of the automation?

5\. cinst --ignore-checksum

Is this solution working? I've updated the link (windbg.flare and also dnspy.flare) in the respective chocolateyInstall.ps1 but always the url is overwritten with the old one

5\. cinst --ignore-checksum

Is this solution working? I've updated the link (windbg.flare and also dnspy.flare) in the respective chocolateyInstall.ps1 but always the url is overwritten with the old one

windbg.flare failed because the standalone installer was removed from codemachine.com. However, Wayback Machine (web.archive.org) still has a copy for both 32-bit and 64-bit as recent as 2019.
1. Get the download links from Wayback Machine.

2. Make sure you cancel the download and get the actual download link.

3. Update the links in `\programdata\chocolatey\lib-bad\windbg.flare\tools\chocolateyInstall.ps1`

4. `cpack \programdata\chocolatey\lib-bad\windbg.flare`

5. `cinst --ignore-checksum windbg.flare -s \programdata\chocolatey\lib-bad\windbg.flare`

Is this solution working? I've updated the link (windbg.flare and also dnspy.flare) in the respective chocolateyInstall.ps1 but always the url is overwritten with the old one

windbg.flare failed because the standalone installer was removed from codemachine.com. However, Wayback Machine (web.archive.org) still has a copy for both 32-bit and 64-bit as recent as 2019.
1. Get the download links from Wayback Machine.

2. Make sure you cancel the download and get the actual download link.

3. Update the links in `\programdata\chocolatey\lib-bad\windbg.flare\tools\chocolateyInstall.ps1`

4. `cpack \programdata\chocolatey\lib-bad\windbg.flare`

5. `cinst --ignore-checksum windbg.flare -s \programdata\chocolatey\lib-bad\windbg.flare`

Is this solution working? I've updated the link (windbg.flare and also dnspy.flare) in the respective chocolateyInstall.ps1 but always the url is overwritten with the old one

windbg.flare failed because the standalone installer was removed from codemachine.com. However, Wayback Machine (web.archive.org) still has a copy for both 32-bit and 64-bit as recent as 2019.
1. Get the download links from Wayback Machine.

2. Make sure you cancel the download and get the actual download link.

3. Update the links in `\programdata\chocolatey\lib-bad\windbg.flare\tools\chocolateyInstall.ps1`

4. `cpack \programdata\chocolatey\lib-bad\windbg.flare`

5. `cinst --ignore-checksum windbg.flare -s \programdata\chocolatey\lib-bad\windbg.flare`

You missed .nuspec at the end of the filename!
cpack \programdata\chocolatey\lib-bad\windbg.flare.nuspec
cinst --ignore-checksum \programdata\chocolatey\lib-bad\windbg.flare.nuspec

windbg.flare failed because the standalone installer was removed from codemachine.com. However, Wayback Machine (web.archive.org) still has a copy for both 32-bit and 64-bit as recent as 2019.
1. Get the download links from Wayback Machine.

2. Make sure you cancel the download and get the actual download link.

3. Update the links in `\programdata\chocolatey\lib-bad\windbg.flare\tools\chocolateyInstall.ps1`

4. `cpack \programdata\chocolatey\lib-bad\windbg.flare`

5. `cinst --ignore-checksum windbg.flare -s \programdata\chocolatey\lib-bad\windbg.flare`

You missed .nuspec at the end of the filename!
cpack \programdata\chocolatey\lib-bad\windbg.flare.nuspec
cinst --ignore-checksum \programdata\chocolatey\lib-bad\windbg.flare.nuspec

I added the x86 dependency that is missing to a GitHub project. Anyone can use this reference link from the comments above.
Link : https://github.com/djjoa/commando-vm-dependency-fixes/raw/1d81e352379707aecbe8d93af3b1ae4964c2ddcc/X86 Debuggers And Tools-x86_en-us.msi
Solution to the OP's issue
Open powershell as admin

PS> notepad.exe C:\programdata\chocolatey\lib-bad\windbg.flare\tools\chocolateyInstall.ps1

change :
$url = "https://codemachine.com/downloads/win10rs1/X86%20Debuggers%20And%20Tools-x86_en-us.msi"
TO
`$url = "https://github.com/djjoa/commando-vm-dependency-fixes/raw/1d81e352379707aecbe8d93af3b1ae4964c2ddcc/X86 Debuggers And Tools-x86_en-us.msi" and save the file.

AND
$url64 = ""https://codemachine.com/downloads/win10rs1/X64%20Debuggers%20And%20Tools-x64_en-us.msi"
TO
$url64 = https://github.com/djjoa/commando-vm-dependency-fixes/raw/main/X64%20Debuggers%20And%20Tools-x64_en-us.msi"

 cpack C:\ProgramData\chocolatey\lib-bad\windbg.flare\windbg.flare.nuspec

----- output ----
PS C:\programdata\chocolatey\lib-bad\windbg.flare\tools> cpack C:\ProgramData\chocolatey\lib-bad\windbg.flare\windbg.flare.nuspec
Chocolatey v0.10.15
Attempting to build package from 'windbg.flare.nuspec'.
Successfully created package 'C:\programdata\chocolatey\lib-bad\windbg.flare\tools\windbg.flare.10.0.10586.22.nupkg'
PS C:\programdata\chocolatey\lib-bad\windbg.flare\tools>

cinst --ignore-checksum \programdata\chocolatey\lib-bad\windbg.flare\windbg.flare.nuspec

----output -----
PS C:\programdata\chocolatey\lib-bad\windbg.flare\tools> cinst --ignore-checksum \programdata\chocolatey\lib-bad\windbg.flare\windbg.flare.nuspec
The use of .nupkg or .nuspec in for package name or source is known to cause issues. Please use the package id from the nuspec `<id />` with `-s .` (for local folder where nupkg is found).
Chocolatey v0.10.15
Installing the following packages:
\programdata\chocolatey\lib-bad\windbg.flare\windbg.flare.nuspec
By installing you accept licenses for the packages.
Attempting to build package from 'windbg.flare.nuspec'.
Successfully created package 'C:\programdata\chocolatey\lib-bad\windbg.flare\tools\windbg.flare.10.0.10586.22.nupkg'

windbg.flare v10.0.10586.22
windbg.flare package files install completed. Performing other installation steps.
File appears to be downloaded already. Verifying with package checksum to determine if it needs to be redownloaded.
WARNING: Ignoring checksums due to feature checksumFiles turned off or option --ignore-checksums set.
WARNING: Ignoring checksums due to feature checksumFiles turned off or option --ignore-checksums set.
C:\Users\commando\AppData\Local\Temp\windbg.installerx86.msi
Installing windbg.flare...
windbg.flare has been installed.
Downloading windbg.flare 64 bit
  from 'https://github.com/djjoa/commando-vm-dependency-fixes/raw/main/X64%20Debuggers%20And%20Tools-x64_en-us.msi'
Progress: 100% - Completed download of C:\Users\commando\AppData\Local\Temp\windbg.installerx64.msi (25.11 MB).
Download of windbg.installerx64.msi (25.11 MB) completed.
WARNING: Ignoring checksums due to feature checksumFiles turned off or option --ignore-checksums set.
C:\Users\commando\AppData\Local\Temp\windbg.installerx64.msi
Installing windbg.flare...
windbg.flare has been installed.
2021/02/06 20:10:13 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\ntdll.dll
2021/02/06 20:10:15 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\kernel32.dll
2021/02/06 20:10:16 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\kernelbase.dll
2021/02/06 20:10:18 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\user32.dll
2021/02/06 20:10:19 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\advapi32.dll
2021/02/06 20:10:20 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\gdi32.dll
2021/02/06 20:10:20 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\comctl32.dll
2021/02/06 20:10:21 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\comdlg32.dll
2021/02/06 20:10:22 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\ws2_32.dll
2021/02/06 20:10:22 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\netapi32.dll
2021/02/06 20:10:23 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\ole32.dll
2021/02/06 20:10:25 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\wininet.dll
2021/02/06 20:10:26 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\msvcrt.dll
2021/02/06 20:10:27 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\System32\imm32.dll
2021/02/06 20:10:27 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\ntdll.dll
2021/02/06 20:10:29 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\kernel32.dll
2021/02/06 20:10:29 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\kernelbase.dll
2021/02/06 20:10:31 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\user32.dll
2021/02/06 20:10:31 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\advapi32.dll
2021/02/06 20:10:32 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\gdi32.dll
2021/02/06 20:10:33 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\comctl32.dll
2021/02/06 20:10:33 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\comdlg32.dll
2021/02/06 20:10:34 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\ws2_32.dll
2021/02/06 20:10:35 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\netapi32.dll
2021/02/06 20:10:36 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\ole32.dll
2021/02/06 20:10:38 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\wininet.dll
2021/02/06 20:10:39 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\msvcrt.dll
2021/02/06 20:10:40 [windbg.flare] chocolateyInstall.ps1 [+] INFO : Downloading symbols for: C:\Windows\SysWow64\imm32.dll
  windbg.flare may be able to be automatically uninstalled.
This is try 1/3. Retrying after 300 milliseconds.
 Error converted to warning:
 (32) The process cannot access the file because it is being used by another process: [\\?\C:\ProgramData\chocolatey\lib-bad\windbg.flare\tools]
This is try 2/3. Retrying after 400 milliseconds.
 Error converted to warning:
 (32) The process cannot access the file because it is being used by another process: [\\?\C:\ProgramData\chocolatey\lib-bad\windbg.flare\tools]
Maximum tries of 3 reached. Throwing error.
Attempted to delete bad package install path if existing. Had an error:
 (32) The process cannot access the file because it is being used by another process: [\\?\C:\ProgramData\chocolatey\lib-bad\windbg.flare\tools]
 The install of windbg.flare was successful.
  Software installed as 'msi', install location is likely default.

Chocolatey installed 1/1 packages.

Hope this helps!

Folks, We have updated windbg.flare. It should now install properly.
Thank you


CHAOS-4514 update SRM

Update release,now,next and later roadmaps

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65e0622c125a31fc67823288--harness-developer.netlify.app


Allow to define maximum number of algorithm pods or streaming statless node and minimum in a streaming stateless node.

In streaming we'd to allow a user to define number of statells pod instances that will start when the pipeline starts and belong to the job from the start ie  minimum stateless pods. We'd also like to be able to limit the nuber of instances of an algorithm in a specifc node.

Opened a seperate issue for batch,
#1780


[Explicit Module Builds] Add end-to-end explicit module build compile test

The test invokes the driver using -experimental-explicit-module-build and ensures an executable is produced without errors.
The test runs for a long time because it must compile the Swift module, currently just testing how much overhead it will be with CI's toolchain.

@swift-ci please test

@swift-ci test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

The linux failure is due to the fact that the dependency scanning action is invoked with -disable-objc-interop, which causes the scanner to omit emitting a SwiftShims dependency for the Swift module.

The linux failure is due to the fact that the dependency scanning action is invoked with -disable-objc-interop, which causes the scanner to omit emitting a SwiftShims dependency for the Swift module.

Can you conditionality the test?

The linux failure is due to the fact that the dependency scanning action is invoked with -disable-objc-interop, which causes the scanner to omit emitting a SwiftShims dependency for the Swift module.

Can you conditionalize the test?

Do you mean make it run on macOS only?

Do you mean make it run on macOS only?

No, I mean either don't check for SwiftShims, or only check for SwiftShims on Darwin

I don't think I can change this at the test-level. The test compiles the Swift module, which will look for a SwiftShims module but will not find it (and error out) because 1. Implicit lookup is disabled, 2. SwiftShims is not provided explicitly because the scanner omitted it due to disable_objc_interop on Linux.

@DougGregor there's not a good way to get the dependency scanner working on Linux until Clang starts providing a by-name module lookup API. While that's being built, should we check this in for macOS only for now?

I'm fine with checking only for macOS now while we await a Clang API to do by-name module lookup. That .m file with an @import is a really gross hack.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test


Feature/results in memory

Problem
In working on the variable sized ingredient setting we realized how many different places and ways the packed data was being stored. See this wiki
Solution
We created a new class PackedObjects. At first I didn't store the ingredient in the object, but it ended up making more sense to do it (I was calling "get_ingredient_by_name" a lot).
Other changes:

Delete unused functions
Move functions into Environment if all the code was related to that class
change compNum to compartment_id

with @mogres
Type of change
Please delete options that are not relevant.

New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)

Steps to Verify:

pack -r '/Users/meganr/dev/mesoscope/cellpack/cellpack/tests/recipes/v2/test_variable_size.json'

Screenshots (optional):

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

Comparison is base (2c9db6d) 98.52% compared to head (d5207c5) 98.52%.
Report is 3 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #193   +/-   ##
=======================================
  Coverage   98.52%   98.52%
=======================================
  Files          16       16
  Lines         476      476
=======================================
  Hits          469      469
  Misses          7        7

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

I also made a couple of minor changes to get partner packing to work with variable size since I needed it to create some synthetic data.

Closes #178


Unit test for Toyota safety param

Here's my last 14 drives that had enough samples for a prediction, the current script doesn't seem very accurate.

I think the varying results could be caused by random occurrences when EPS and CMD torque become out of sync, like the following examples:

And:

If I filter the data in the script and only allow data where the difference between CMD and EPS is less than 100 it seems a bit better, could go lower with the threshold

Raw data:      mean: 0.9235, std.: 0.0524
Filtered data: mean: 0.9171, std.: 0.0389

I think #2647 will fix these issues

Appears the factor is non-linear. We need to understand it better.


Flag to create a process with ready to be spend bitcoins (generate 101 blocks to owned addresse)

Better yet specify the exact minimum amount needed. Or have a function for generating coins on-the-fly - see lnpbp-testkit which does this.


Does Particle handles colors attribute of CpuMesh?

Hi there,
I wanted to add one color per mesh for the Particle geometry and use it in a custom fragment.
I looked at the Particle code and it appears it's not used. Is there a reason to not use CpuMesh colors vec?
Off topic but can be linked to this isssue, is there a way to have a frag for each particle?

Hi.
You're right, and I don't think there is any good reason, it just haven't been done. I will do it soon 💪 however that will give you a color for each vertex in the mesh, it sound like you want a color for each instance (each particle)? I could add that as well, just want to be sure what you need.

Off topic but can be linked to this isssue, is there a way to have a frag for each particle?

I'm not sure I understand, do you want a custom fragment shader for each particle? So a complete unrelated Material between the particles?

Hey @asny sorry for the late reply, didn't see your response.
Exactly I was looking for the most efficient way to have one color per particle! And I guess using colors from CpuMesh looks the best for this use case.
For your second question, you undestood what I meant, basically one material per particle. I could be totally wrong on that I don't really know WebGL, maybe it's a normal and expected behavior to have one material for a cluster (a group of particle).

I just pushed the thing I was working on here https://blocs.fr/
And the Rust source code is here https://github.com/Chaine-de-Blocs/rustshad
In the first place this Frag was expected to apply to each individual particle but it seems that a material applied to Particles::render_with_meterial affects the whole particle cluster.
I have the same question about applying a rotation to each individual particle with a starting angle the way it's done for start_position in ParticleData.
I can work on that if you think there is something to upgrade on this.

Hi again. No problem at all, I'm also sometimes a slow responder - obviously 🙂
Good, I think I know what you want. In the next, I might state something obvious but rather that than you (or someone else reading this) don't understand. Now I really hope it makes sense 😆
Usually you want to render a 3D model consisting of a set of triangles, you can use CpuMesh + Mesh for that. Sometimes you want a custom color for each vertex (each corner in each of the triangles) like in the 'triangle' example. In that case you can use the colors attribute in CpuMesh.
However, what you have is multiple meshes, or multiple particles, and you want a custom color for each.
So instead you could just make a Mesh for each particle and call render_with_material for each particle with a custom Material for each mesh. You can then give different colors for each particle by drawing them with a material with different color. This will work just fine if you don't have too many particles. You can optimise this by reusing the Mesh, ie. every frame transform the mesh then draw it with one material, then transform it again and draw it with another material and so on.
In the case where you have many particles, you want to avoid making a draw call for each one of them. This is where you want to use InstancedMesh which is the same as Mesh except that you draw many instances of the same mesh in one draw call. The base mesh has the same attributes as Mesh but you can also set the attributes for each Instance, so you can for example draw each instance in a different color using the Instances::colors attribute. This is exactly what you want as far as I understand. However, you also want the particles to move, so instead of manually transforming each particle, you can use the Particles with start velocity, acceleration and so on (what you do right now). Unfortunately, the Particles implementation has not been updated for a while, so it doesn't support a custom color per instance right now, but I will find time to update it soon. So expect it to support the same attributes as Instances.
Summerising, if you really want a custom material per particle, you need to use CpuMesh+Mesh, transform each particle manually and draw each one with a custom material. If you just want a custom color for each particle, then you can use Instances::colors + Particles as soon as I update it. The same goes for rotation (see Instances::rotations). You can also apply a custom texture transform for each particle (see Instances::texture_transforms) which can be used to look up different places in a texture for each particle thereby making it seem like it is a custom material for each particle.

@Slals I've given the ParticleSystem (previously Particles) struct a similar design as the InstancedMesh, so now it's possible to specify the color (Particles::colors) as well as texture transform (Particles::texture_transforms) for each particle. I didn't add a custom rotation for each particle since particles are usually so small that it doesn't matter. If you need that, I would suggest using InstancedMesh 🙂

Great, I just updated with the colors attributes from ParticleSystem, works nicely, thanks!
About InstancedMesh and ParticleSystem, I must use both or I have to choose one approach depending on my needs? If I can combine both, how can we do it? I tried a bit but really can't figure out how to provide an InstancedMesh to a ParticleSystem (since it expects a CpuMesh)

Great 👍 you'll have to choose either ParticleSystem or InstancedMesh depending on your needs. They are very similar, the only difference is that ParticleSystem updates the position based on a start position and velocity whereas InstancedMesh you'll have to set the position (translation) yourself 🙂

Thank you @asny! It makes sense 👍


constellation options should be selected by default when registering children in the admin UI

as a developer, I need to select the family constellation options by default so that CSCs don't need to spend as much time when creating new child records

Tasks

[ ] update the family constellation field to have all options selected by default

Definition of Done

[ ] when creating a new child in the admin UI, all family constellations are selected by default

Notes
This may not be possible at the field level or at all.  Consider handling it in a lifecycle hook.

Loading all family constellations takes a great deal of time and users are frequently kicked out of the record while waiting for them all to load.  After being kicked out, it sometimes results in deleting other fields (for example profile paragraphs) that had previously been saved during the same session.


Does it need to be in the task bar, or can it be in the right corner near the sound icon?

Is there any chance to make it permanent? For me the problem is about system sounds which are horribly late the highest possible latency, did not check it in games but so far in this new PC didn't notice anything bad.
Your mod changes it to proper condition.
So the CMD window is staying in system :)
This looks a bit not professional :)
But if it can not be another way, let it be :)
I will try on fresh copy of Window 10 remove all Realtec drivers with DDU and install latest Realtec USB drivers.

It can be done, if you create a shortcut of real.exe and add --tray in the shortcut settings after the shortcut link. This was said in the REAL already.

use nssm and make a service to run REAL, it helps


Update GettingStarted.md so GitHub's 'copy' method works.

What
Use proper shell markdown syntax so github's copy code block function works.
Why
So copy/pasting into the shell doesn't require an edit first.
How

Changed  '```' to ' ```sh'
Removed leading shell '%' symbol.

Discussion
If this isn't against any style guides, I'd be willing to fix any other docs. I have the regex saved to clear it up globally.

@swift-ci please test


[Question] Is catalog schema in the proper directory?

Current Behavior
From the perspective of the layout and organization of this repo, is this where it belongs?
Desired Behavior
Ideally, there is a description of the organization of this repo by top-level folder in the README.

Contributor Guides and Handbook

🛠 Meshery Build & Release Strategy
📚 Instructions for contributing to documentation

Meshery documentation site and source

🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Catalog schema is present at https://github.com/meshery/schemas/blob/master/schemas/constructs/v1alpha1/catalog_data.json

Yes the description needs to be added. 👍🏻


Fix api exception with unicode tenant name.

There are a lot request debug logging in Trove, when some values of
headers are encoded in utf8, UnicodeEncodeError will be raised by
webob.Request. Override how webob.Request is represented will fix.
Signed-off-by: Zhao Chao<EMAIL_ADDRESS>

Fixes:
http://<IP_ADDRESS>/issues/9681


Modify testsuite to run optix tests

We previously had each test run twice: once with -O0 and again with
-O2. Because one tests the actual literal code specified in the shader
(without the possibility of being optimized away) and the other tests
the optimization to make sure it still matches.
This patch extends the logic to allow the possibility of every test
running in optix mode as well, if the code base is built with
USE_OPTIX=1.
For now, it only runs optix mode if the individual test has "optix"
in its name, or if the test directory has a file called "OPTIX" present.
Also, if environment variable TESTSUITE_OPTIX=1, it will try to run
all tests with optix mode (that's just for me... most of them fail
at the moment).
The eventual goal is for these conditions to change, so that in a
USE_OPTIX=1 build, all tests run optix flavors unless not marked
with a NOOPTIX file in their directory.
At the moment, 6 tests pass for me in OptiX mode. Now we can start
attacking the features to get more and more tests to pass identically
on CPU and GPU.
I realized that there were many tests that are only trying to test
that oslc issues the right error or warning for various malformed
code, or that are only compiling the shader to test oslinfo, or a few
other such cases that run oslc only and never try to execute their
shaders. So I also liberally sprinkled NOOPTIX as well as NOOPTIMIZE
marker files in those test directories, to skip optix tests, and also
skip a second "optimized" run of the same test (which was pointless,
because it wasn't executing at all).

LGTM received on internal chat


Implement Metadata-Update Batch Job

add as branching step in process file in single-cell-data-portal, same as the other steps for single dataset processing (i.e. downloadvalidate)
Inputs: dataset_version_id, metadata_key, new_value

Fetch current DatasetVersion from DB using dataset_version_id
Fetch artifact s3 URIs from DB + download all artifacts for current DatasetVersion
Create new DatasetVersion that is a duplicate of the current DatasetVersion
Note: can get dataset_id from currently mapped DatasetVersion object
Set DatasetVersion processing status to PENDING and upload status to UPLOADING
For this CollectionVersion, replace its mapping to the current DatasetVersion with this new DatasetVersion.
Updates metadata_key to new_value for all artifacts
- TODO: Look into Python libraries to easily handle calls to R (from Emanuele: look into rpy2), but at a minimum for the RDS files I think we could use subprocess to run a simple R script in a shell that does anndata.uns key re-assignment
Store updated artifacts in S3 under s3://corpora-data-/<new_dataset_version_id>/ (same pattern for regular dataset artifact processing)
Create new entries in DatasetArtifact DB table for updated artifacts
In the new DatasetVersion DB object, update:
- dataset_metadata JSON field to also map metadata_key to new_value
- artifacts field to list of UUIDs mapping to the new entries in DatasetArtifact DB
status back to processing status SUCCESS and upload status to UPLOADED

Note: Reach out to R expert on TileDB team (Dirk)

For ease of review I would break it into 4 PRs:

h5ad updates.
cxg updates.
seurat updates.
batch job.


Path function

Path function is dealing correctly with this vector "http://localhost:8080/?file=..\etc/passwd" but when you use "http://localhost:8080/?file=../etc/passwd" the result path will be "/etc/passwd"

Sorry for the late response, life got in the way. This function isn't intended to serve files, and cannot know. I've improved the docs to make this clear though.
If you're serving files you should always clean the path but also always root the path at a known root (say your public folder). On its own this function doesn't serve files and isn't intended to prefix them with a known safe path, it simply strips accents, .. and calls path.Clean on the path.
If you clean it with path.Clean or a function such as this, you then need to set the root (be that "." or "./public" or "./public/assets" before calling functions to stat the file or read it.
If you have an example of bad usage please do let me know though.


Enhance installation code from Readme.md

Some people might get confused while copy and pasting the installation code.

LGTM

@marcusandre: Nice catch; thank you!


bench: new test programs for wasm benchmarking

Please read contributing guidelines and remove this line.

Benchmark results
Metrics with a significant change:

avm_simulation_time_ms (Token:mint_public): 306 (+507%)
avm_simulation_time_ms (Token:assert_minter_and_mint): 41.1 (-91%)
avm_simulation_time_ms (Token:transfer_public): 17.2 (-39%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,738
1,555
709 (-1%)
749
771 (-1%)

proof_construction_time_sha256_30_ms
11,449
3,084 (-1%)
1,382
1,446 (+1%)
1,468

proof_construction_time_sha256_100_ms
44,041
12,011 (+2%)
5,439 (-1%)
5,377 (-5%)
5,365 (-7%)

proof_construction_time_poseidon_hash_ms
78.0
35.0 (+3%)
34.0
58.0 (-2%)
88.0 (+1%)

proof_construction_time_poseidon_hash_30_ms
1,528
422
203
233 (+5%)
267 (-4%)

proof_construction_time_poseidon_hash_100_ms
5,636
1,514
683 (+1%)
734 (-2%)
745

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
4,356
7,876
14,884

l1_rollup_calldata_gas
50,280
92,892
178,168

l1_rollup_execution_gas
843,099
1,576,607
3,361,939

l2_block_processing_time_in_ms
260 (+1%)
445
813 (-2%)

l2_block_building_time_in_ms
11,219 (+1%)
21,901
43,560

l2_block_rollup_simulation_time_in_ms
11,219 (+1%)
21,901
43,559

l2_block_public_tx_process_time_in_ms
9,584 (+1%)
20,244
41,855

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
2,994 (-1%)
3,872

node_database_size_in_bytes
12,656,720
16,748,624 (+1%)

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Circuit
simulation_time_in_ms
witness_generation_time_in_ms
input_size_in_bytes
output_size_in_bytes
proving_time_in_ms

private-kernel-init
75.0 (-4%)
379 (-4%)
21,391
44,898
N/A

private-kernel-inner
172 (+11%)
685 (-4%)
72,372
45,020
N/A

private-kernel-reset-tiny
295
685 (-4%)
65,097
44,886
N/A

private-kernel-tail
159
130 (-4%)
50,608
52,921
N/A

base-parity
5.53 (-1%)
N/A
160
96.0
N/A

root-parity
34.9 (-1%)
N/A
73,948
96.0
N/A

base-rollup
3,099
N/A
189,190
664
N/A

block-root-rollup
40.9 (-1%)
N/A
58,205
2,448
N/A

public-kernel-setup
82.5 (+1%)
N/A
105,085
71,222
N/A

public-kernel-app-logic
93.6 (-1%)
N/A
104,903
71,222
N/A

public-kernel-tail
836
N/A
390,582
16,414
N/A

private-kernel-reset-small
294 (+1%)
N/A
66,341
45,629
N/A

private-kernel-tail-to-public
1,484 (+9%)
589 (-4%)
453,751
1,825
N/A

public-kernel-teardown
80.3 (-2%)
N/A
105,349
71,222
N/A

merge-rollup
19.9 (-2%)
N/A
38,174
664
N/A

undefined
N/A
N/A
N/A
N/A
81,227 (+3%)

Stats on running time collected for app circuits

Function
input_size_in_bytes
output_size_in_bytes
witness_generation_time_in_ms

ContractClassRegisterer:register
1,344
11,731
340 (-1%)

ContractInstanceDeployer:deploy
1,408
11,731
18.1 (-1%)

MultiCallEntrypoint:entrypoint
1,920
11,731
400 (-1%)

FeeJuice:deploy
1,376
11,731
388

SchnorrAccount:constructor
1,312
11,731
72.8

SchnorrAccount:entrypoint
2,336
11,731
383

FeeJuice:claim
1,344
11,731
35.7 (-4%)

Token:privately_mint_private_note
1,280
11,731
103 (-1%)

FPC:fee_entrypoint_public
1,344
11,731
25.4 (-11%)

Token:transfer
1,312
11,731
227 (+3%)

Benchmarking:create_note
1,344
11,731
87.0 (+2%)

SchnorrAccount:verify_private_authwit
1,280
11,731
26.4 (-1%)

Token:unshield
1,376
11,731
523 (-1%)

FPC:fee_entrypoint_private
1,376
11,731
737 (+4%)

AVM Simulation
Time to simulate various public functions in the AVM.

Function
time_ms
bytecode_size_in_bytes

FeeJuice:_increase_public_balance
44.9 (-3%)
2,431

FeeJuice:set_portal
15.4 (-4%)
2,930

Token:constructor
76.0 (-1%)
15,813

FPC:constructor
49.9 (-2%)
9,720

FeeJuice:check_balance
37.6
2,357

Token:mint_public
:warning: 306 (+507%)
5,011

Token:assert_minter_and_mint
:warning: 41.1 (-91%)
3,155

AuthRegistry:set_authorized
36.8 (-21%)
924

FPC:prepare_fee
207 (-2%)
4,245

Token:transfer_public
:warning: 17.2 (-39%)
21,586

FPC:pay_refund
45.2 (-2%)
5,303

Benchmarking:increment_balance
1,191
3,496

Token:_increase_public_balance
40.0 (-2%)
2,408

FPC:pay_refund_with_shielded_rebate
55.6 (-12%)
5,303

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.154 (+1%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
2.13 (-4%)
3.87 (-2%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.111 (-4%)
0.109 (-2%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
10.9 (-5%)
18.2 (+2%)
35.1 (+11%)
58.1 (-1%)
113 (-1%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.105 (-5%)
0.106 (+2%)
0.114 (+11%)
0.100 (-1%)
0.101 (-1%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
14.1 (-3%)
25.4 (-1%)
43.5 (-2%)
81.3
162 (-1%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
108
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.108 (-3%)
0.102 (-1%)
0.106 (-2%)
0.101
0.101 (-1%)

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
16.3 (-2%)
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
132
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.105 (-2%)
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
64,838
668,997

Transaction size based on fee payment method
| Metric |  |
| - |  |


Themes of VSCodium installed in a different path are not detected

What happened?
When using VSCodium installed with the Arch package vscodium-bin, its themes are not detected by yin-yang, and the list of VSCode themes displayed in yin-yang is empty.
Version
Build from master (f72bfff78a964bd6c63e7c3d5f800bd551c4e4a5)
How did you install Yin & Yang?
AUR
What desktop environments are you seeing the problem on?
KDE
Which plugin causes the issue?
VSCode
What software version do you use?
VSCodium 1.87.2, Release 24072
Relevant log output
No logs.

Some extra questions:
So, where is your VSCodium installed?
In /opt/vscodium-bin/. All built-in plugins are in /opt/vscodium-bin/resources/app/extensions/.
This seems weird. Why do you think yin-yang should also detect this path?
vscodium-bin is one of the top 20 popular packages in the AUR (Arch User Repository), which has 90884 packages today. Its popularity suggests that (almost) any user with an Arch-based distribution will install it to use VSCodium.
It's dirty to keep adding new hard-coded paths to the plugin source code.
I'm currently unaware of any package&system-agnostic method of detecting the location of built-in plugins. If anyone finds one, I'd be happy to help submit a PR to implement it.
Any other noteworthy paths?
/usr/share/{vscodium,vscodium-git,vscodium-insiders,vscodium-insiders-bin}/ for vscodium, vscodium-git, etc.


chore(nodejs): update client ref docs link in metadata

I've spoken to @fhinkel, she will take a look!

Opened by mistake, analytic docs should not live on cloud.google.com.


Need a global tool

we need a global accepted open source tool which can convert English word to Hindi,
itself convertes filters words which need to be get converted or not,
it could save alot of time,
knowledge sharing between all contributors,
new beginners get attracted too,
it will make development fast and easy,
Not just for react conversion it could help to all different upcoming libraries, in future

@kambleaa007 This is a really good idea. We can discuss more on going forward and build this tool.

itself convertes filters words which need to be get converted or not,

I think this should be configurable

Easier said than done. Many organizations provide translation services but none have been able to get it to work accurately. Hence the need for manual translations

It's not easier but not impossible too,
We are providing open source free software to use.
On Fri, 14 Jun 2019, 10:07 pm Saransh Kataria<EMAIL_ADDRESS>wrote:

Easier said than done. Many organizations provide translation services but
none have been able to get it to work accurately. Hence the need for manual
translations
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/reactjs/hi.reactjs.org/issues/37?email_source=notifications&email_token=AEXGRN7SDXGLUKHQDS3PNDDP2PCMJA5CNFSM4HYEQZN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXXJ56I#issuecomment-502177529,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEXGRN72X5WGSWWD2XU3WGTP2PCMJANCNFSM4HYEQZNQ
.

Feel free to start something if you think you should. Closing this issue out since it is not exactly relevant here.


Add tag output

When the release is created, uploading the asset file name need a simple tag name,like demo-v1.0.0.exe.
I try use ${{ github.ref }} but get refs/tags/xxx，so I hope can return a simple tag name.

@monkeyWie one thing I wanted to mention is potentially parsing ${{ github.ref }} as that's what the code is doing as well. Since that value is already available (and obtainable from parsing), I'm not sure if we'll implement the additional output but I'm not opposed to it either 👍

@IAmHughes I think output should be implemented,this is very useful in some scenarios.,for example:
      - name: Create Release
        id: create_release
        uses: monkeyWie/create-release@master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          draft: false
          prerelease: false
      - name: Upload Release
        uses<EMAIL_ADDRESS>        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }}
          asset_path: ./demo.zip
          # Rename the asset file using ${{ steps.create_release.outputs.tag}}
          asset_name: demo-${{ steps.create_release.outputs.tag }}.zip
          asset_content_type: application/zip

If you agree, I can add a new PR.

asset_name: demo-${{ steps.create_release.outputs.tag }}.zip

@monkeyWie I think I'm missing something, but why wouldn't we be able to use ${{ github.ref }} in that situation? Is it just the matter of parsing the refs/tags/xxx in a workflow step? If so, then I agree, adding the additional output could be useful for various reason.
My suggested approach would be to:

Update the action.yml to add the output and description
Update the README.md to add the output and description
Update the tests for outputs to ensure it's set properly as well

I think that would cover it 👍. Happy to accept a PR! ❤


Cannot use "export" feature of Nextjs with current ContentLayer config

Hi team,
I was trying to setup Contentlayer to manage my posts content using the experimental app directory which now supports the static export.
The below config is required to support the export:
const nextConfig = {
 ...
  output: "export",
}

And the Contentlayer uses redirect property to hook into the application.
As state by the Nextjs, that the redirect config is not required for the static export. The application is failing.
And, I cannot use the Contentlayer for static export.
Is there any workaround to this?
To reproduce

Create a new Nextjs application and setup Contentlayer
Setup the next.config.js file to use Contentlayer config
Set output:"export" in your config
Run the application

This should be addressed with the 0.3.2 release. 🎉


fix(a11y): fill in the blank challenges

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

This PR includes the following changes:

Update the aria-label of the inputs to communicate the validation status (currently the validation status is communicated only via the color of the input border)
Change the colors of the validation indicator to improve the color contrast

Old: green90 and red90 in dark theme, green40 and red15 in light theme
New: green40 and red15 in dark theme, green90 and red90 in light theme
Note: These colors match the ones used in QuizQuestion component (https://opensource.freecodecamp.org/ui/?path=/docs/components-quizquestion--docs)

Render feedback and error message in a live region since the content is dynamic

Screenshots

Screenshot of the border color change

Before
After

Dark

Light

Hey, @huyenltnguyen @moT01 this PR and https://github.com/freeCodeCamp/freeCodeCamp/pull/56822 have some overlap.

FWIW, I'm going to get my local copy up to date and take a look at this. I should have any feedback within the next 24 hours. Not that I'm saying you have to wait for me to merge this, I can always create new issues after the fact if I find any.

I've added some code suggestions to enhance accessibility. I don't think the accessible name on the input should change. They start out with the name "blank" and should keep that name throughout the process. Rather than change their name to convey their status, my idea is that when a user supplies a correct answer, you just make it a natural part of the sentence. For example, if there are two blanks, and the user answers the first one correctly but the second one incorrectly, you remove the input element around the first one and just include it in the sentence as plain text, while leaving the input element around the second one and using aria-invalid to signify that it is a wrong answer, which is a more standard method of communicating an error to screen reader users.
If you feel it is important to leave the input around the correct answer as well, then I think adding the readonly attribute might be a good compromise. I think this would imply that the answer is correct because it cannot be edited and would contrast with an editable input with the aria-invalid attribute.
I'm making an assumption here that once the user enters a correct value for a blank that you don't really intend on them changing it. So if I'm wrong about that then my suggestions are probably not going to work and I'll rethink this.

I wasn't sure if I should use aria-invalid here

Yes, aria-invalid is appropriate here. It's really the only way we have to programmatically indicate that there is an error in the input.

do you think we should link the feedback with the input using aria-errormessage

aria-errormessage is a good idea in theory, but in practice it is not well supported by screen readers and thus no one uses it. That's one of the potentially frustrating things about ARIA. There are a lot of helpful attributes, but not all of them work in the "real world".


Docs navigation broken on mobile

Shrink your browser down to < 600px so you see the mobile optimized page (single column) and click on any of the navigation. You'll get an error like this in the console:

I tracked down the error, and it looks like we may not be using the proper NODE_ENV when we build the website in production.

Just noticed this was already reported in #6023.

I created an un-minified webpack build to try and figure out what is going on here (see attached) 🕵
It looks like our bundle includes a process shim which is preventing process.env.NODE_ENV from being evaluated properly at build time, so the debugging code with the _debugID isn't being stripped out.

However, it also looks like we have a bundle within our bundle, probably because the Animated code isn't an actual dependency (it's just copied over from an older version of the library) 🙃
For example, you can see here that entry # 463 in the outer bundle actually exports a webpack bundle of the Animated library:

So I'm guessing we need to either a) fix that inner bundle and get the process shim out of it so the webpack DefinePlugin can do its job and replace all the process.env.NODE_ENV references or b) figure out which commit (git bisect, anyone?) caused this weird behavior and undo the regression.
I've uploaded my build here in case anyone would like to go poking around
👇
build.zip


Edit attributes in Exercise class

Update exercise class attributes and able to pass all tests.

Opened new issue after discussion.


Docs: Individual driving styles

I'm working on docs for the Individual Driving Styles feature introduced in v10.21.
If possible, can someone check over the docs I've written to ensure they are technically accurate?
I've made several assumptions about where the feature is applied and thus its effect on traffic.
Link: https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/wiki/Individual-Driving-Styles
Related issues & PRs: #263, #334, #23

https://github.com/CitiesSkylinesMods/TMPE/wiki/Individual-Driving-Styles


Hoe do I close the form using protractor and javascript for non angular pages, I want to close a the form ?

Hi there!
Thanks for submitting an issue to Protractor.
To help us help you better, please do the following before submitting an issue:

Review the questions section of CONTRIBUTING.md
Make sure you are not asking a usage or debugging question. If you are, use StackOverflow, Google Group discussion list, or Gitter to get help.
Fill in the information that corresponds to your type of issue below
Delete this intro and any unrelated text :smile: (if you do not we'll assume you haven't read these instructions and automatically close the issue)

Bug report

Node Version: ``
Protractor Version: ``
Browser(s): ``
Operating System and Version ``
Your protractor configuration file
A relevant example test
Output from running the test
Steps to reproduce the bug
The URL you are running your tests against (if relevant)

Feature Request

Reasons for adopting new feature
Is this a breaking change? (How will this affect existing functionality)

ooops, someone didn't read 4. :)

Hi! This looks like a support question. Please ask your support questions on StackOverflow, Google Group discussion list, or Gitter. For more information please reference https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions
Thank you!


How we handle failing tasks for parallel tasks?

How do we stop the other 99 running processes if 1 fails? Are they stopped mid-way (=> very hard to know what has been processed)?
Important to think about what state the dataset is in if, worst case, illumination correction with overwrite fails for one image while the others are still running.

Also related to the snapshotting conversation: https://github.com/fractal-analytics-platform/fractal-server/issues/273


Two variants of marketing banners

Resolves L2B-2107
What's changed

Added second banner for Gitcoin round announcement.
Added simple memory logic and selecting new banner on random every 24h
Gitcoin time constraints overrides random selection

Did a test run with changed timezones, works just fine one more tiem


changed nav-item:hover background color

nav-item:hover background color has changed with a color which is more pronounced/noticeable and compatible with website's theme.

I'm not even sure what this change impacts. Could you provide before/after screenshots?

I just changed the hover color on navigation bar's items to noticeable one. But now I look the code from website and can't see same CSS codes about hover. So I can't send you screenshots.


[OpenTelemetry Instrumentation] Rush update failing in nightly runs

OpenTelemetry Instrumentation nightly test runs are failing with:

Error message:
The command failed:
/mnt/vss/_work/1/s/common/temp/pnpm-local/node_modules/.bin/pnpm install --store /mnt/vss/_work/1/s/common/temp/pnpm-store --no-prefer-frozen-lockfile --strict-peer-dependencies
ERROR: Error: The command failed with exit code 1
Giving up after 3 attempts
Deleting the "pnpm-store" folder
ERROR: The command failed with exit code 1
##[error]Bash exited with code '1'.

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1792003&view=results

Closed by #23018


Cant save files with spaces in the name

Do you need to write filepaths with quotes around them to $out ($5) or just one line per file should work?

Nevermind, seems like an issue with chrome, as it happens with gtk file chooser too.
Also it wasn't related to the filename containing spaces. It was related to saving specific pages


try to add some golang solution

Signed-off-by: Peng Xiao<EMAIL_ADDRESS>

👍

Where can I add Golang solution? I'd love to do the same. Thanks.

OK, just add it to Golang folder, although I am not familiar with Go!


Week 4 draft

Component
Passed Tests
Total Tests
Points Available
Points Received

All tests, as originally given, are passing.
43
43
60
60

Passwords are stored and managed securely

20
20

Clear, organized project structure

20
20

Total

100
100


Upload error handling

Describe the bug
Using Uppload 3.2.1 with the default XHR uploader I don't understand how to handle errors. What should the endpoint return so that Uppload understands something went wrong? I've tried returning different HTTP codes (400, 406, 500), but Uppload doesn't display any message and even worse, tries to replace the image defined in the bind property with a dummy URL ending with /undefined, unless the response payload contains {'url': 'foo'} in which case it will replace the bound image with 'foo' (even if the POST did not result in a 200 OK).
I have also tried listening to the "error" and "upload" events, but "error" only seems to be fired if the server is not responding at all, in which case the error message is undefined. On the contrary, the "upload" one is fired even when the response contains an HTTP error code.
To Reproduce
I use the following code:
const uploader = new Uppload({
    lang: en,
    bind: document.querySelector("#image-wrapper img.uploadable-image"),
    call: editPic,
    uploader: xhrUploader({
        endpoint: endpoint,
        fileKeyName: 'form[file]'
    }),
    maxWidth: 400,
    compressionToMime: "image/jpeg"
});
uploader.use([
    new Local(),
    new Camera(),
    new URL(),
    new Crop({aspectRatio: ratio})
]);

const errorLogger = (error) => {
    console.log("The error message is", error);
};
uploader.on("error", errorLogger);
const okLogger = (ok) => {
    console.log("The ok message is", ok);
};
uploader.on("upload", okLogger);

Expected behavior
If the XHR endpoint returns an HTTP error code, the bound image should not be updated, an error message should be displayed (ideally coming from the response to the POST) and an error event should probably be fired.
Do I need to write my own uploader? It feels like the provided uploaders should handle such errors properly, not being able to send feedback to the user kinda makes them pretty unusable in practice.
Desktop (please complete the following information):

OS: Ubuntu
Browser: Firefox
Version 87.0

Thanks.

I am trying to handle loading errors as well.
@jean-gui You've made it?

I don't really remember since that was quite some time ago, but I don't think so. I'm forcing the page to reload after an upload attempt instead, so that I can display errors computed on the endpoint:
const uploader = new Uppload({
    lang: en,
    call: editPic,
    uploader: xhrUploader({
        endpoint: endpoint,
        fileKeyName: 'form[file]',
        responseFunction: () => {
            // Always reload the page regardless of whether the upload succeeded or not
            document.location.reload();
        }
    }),
    ...
});

Hope that helps.

Um I think there is a file in the src/uploaders folder name xhr.ts that create a request to the backend endpoint that you can alter to return an error from the backend. in the xhrUploader function alter the "load" eventlistener like this.
xmlHttp.addEventListener("load", () => {
    const responseText = xmlHttp.responseText;
    if (typeof responseFunction === "function")
        return resolve(responseFunction(responseText));
    const json = JSON.parse(responseText);
    if(xmlHttp.status == 400) {
        return reject(json["error"])
    }
    return resolve(json[responseKey]);
});

The 400 is the status and the "error" key is what I specified and returned from backend. you can change the key and the status code to anything you want though


Remove Ankaa-2

This should be merged after #620.

@microsoft-github-policy-service agree company="Rigetti & Co, LLC"


Expose the ValidationError

Currently we can only handle the error that is thrown using flask.abort however, it would be useful to be able to access the original error as well since it contains more information about the error.
This extra information could be exposed to the users of an API for example.

Hi JJK96,
the original error is passed to flask.abort, which itself passes arguments to werkzeug.exceptions.HTTPException. So the original error can be retrieved on error.description like this;
from flask import make_response, jsonify
from jsonschema import ValidationError

@ app.errorhandler(400)
def bad_request(error):
    original_error = error.description
    if isinstance(original_error, ValidationError):
        # custom handling
        return make_response(jsonify({'error': original_error.message}), 400)
    return error

References:
Flask - abort
werkzeug - HTTPException

You're right indeed, this works.
However, I have no idea how this works.
I looked into the source code of werkzeug.exceptions.abort and it doesn't look like the second argument is arriving in the right location.
But anyway, it works, so that's okay.


feat(css_formatter): support for attribute selectors [#1285]

Summary
#1285. This implements attribute selectors and all of the sub-nodes for it.
Two notes:

The parser doesn't seem to currently understand $= attribute matchers, like [href$='.com']. This gets parsed as href$ being an identifier, then the rest becomes bogus. All of the other operators work as expected, though.
Values should also eventually be formatted consistently with quotes. This will also be subject to the quoteStyle option once that gets added later on.

Test Plan
Added a bunch of spec tests to roughly match prettier, sans the $= matcher

Oh,
I'll check the issue with the operator.

https://github.com/biomejs/biome/pull/1288

Once that PR for the parser merges, I'll come back and re-add the appropriate tests here (there are others like the s time unit not working as well, that i've found, which that PR will also fix!)


Remove 'cloud' from default package names

Curerntly, default package names in configgen add "cloud" to the package name. We should handle package names for non-Google-Cloud and third-party codegen.

See LanguageSettingsMerger. for how anything starting with "google" is replaced by something that starts with "google.cloud"

Configgen is deprecated.


Create<EMAIL_ADDRESS>

Celestia Airdrop - Claim Your Free TIA Tokens Now!

Don't Miss Out on Your Share of 60 Million $TIA Tokens!
Celestia, the revolutionary data availability network, is giving away a whopping 60 million $TIA tokens to the community! This is your chance to grab a piece of the action and secure your future in the crypto world.
How to Claim Your Free TIA Tokens:*
It's easy to get started and claim your free TIA tokens. Follow these simple steps:

Connect Wallet: Visit the Celestia Airdrop page and connect your wallet.
Claim: Click the Claim button to receive your tokens.
Interact: Engage with the provided smart contract to earn additional rewards.

Why Wait? Start Earning Today!
With Celestia, the sky's the limit. Don't let this opportunity slip through your fingers. Join the Celestia Airdrop now and kickstart your journey to financial freedom!onlurking, @iholler, @nju33, @daninfpj, @zrfrank, @hifans, @plusreed, @TruongQToan, @smachen, @MacReady, @gerasimsergey, @valentinvichnal, @AlessandroAU, @cabbage, @zulhfreelancer, @ReadingCommando, @o-vuong, @pbacchiocchi, @M1K3Yio, @utamadonny

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
smithbm2316, @sb0001, @tdamdouni, @myungseokang, @pikhovkin, @cawlin, @max-hk, @ReadingCommando, @ottov1, @tripplyons, @michelemazzucco, @kamranahmedse, @jeroenverfallie, @kongchengqiu, @MarounMaroun, @belg1o, @neoOpus, @pythoninthegrass, @gowsiany, @MikeMnD


Implement TRIPWIRE

Make the bot respond to TRIPWIRE requests by informing the player how threat monitoring works.

Completed in #169


:w increments b:changedtick, but ":w foo" does not

I've noticed that :write will increment b:changedtick always (and worked around / handled this in Neomake, where this is handled/used in BufWritePost).
But then I've noticed that fugitive's manual triggering of BufWritePost does not increment it, so it becomes inconsistent there already.
Additionally, specifying a filename (:w /tmp/foo) also does not increment it.
Therefore I think that incrementing it with :w only should be considered to be a bug.
In Neomake I could then check for the patch that fixes it to skip the workaround, instead of adding more workarounds.

Daniel Hahler wrote:

I've noticed that :write will increment b:changedtick always (and worked around / handled this in Neomake, where this is handled/used in BufWritePost).
But then I've noticed that fugitive's manual triggering of BufWritePost does not increment it, so it becomes inconsistent there already.
Additionally, specifying a filename (:w /tmp/foo) also does not increment it.
Therefore I think that incrementing it with :w only should be considered to be a bug.
In Neomake I could then check for the patch that fixes it to skip the workaround, instead of adding more workarounds.

That :write changes b:changedtick is because the state of the buffer
changed, it is no longer seen as modified.  If you write under another
name this doesn't happen.  Thus it's not the write command itself that
matters, it's that the buffer becomes not-modified.
--
hundred-and-one symptoms of being an internet addict:
87. Everyone you know asks why your phone line is always busy ...and
you tell them to send an e-mail.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I see.
However it happens unconditionally, even if it was not modified before.
It makes it hard to detect if a buffer's content was changed (for linting purposes).

Daniel Hahler wrote:

I see.
However it happens unconditionally, even if it was not modified before.
It makes it hard to detect if a buffer's content was changed (for
linting purposes).

For that we have the :update command.
In corner cases :write even has effect when the buffer didn't change,
e.g.:
:!mv % %.bak
:write
--
hundred-and-one symptoms of being an internet addict:
91. It's Saturday afternoon in the middle of May and you
are on computer.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

For that we have the :update command.

This will increment b:changedtick however in the same way.
The point / use case is detecting if the buffer's contents was changed, and therefore b:changedtick should be the same before and after :w / :up.

In corner cases :write even has effect when the buffer didn't change,

Good point, however not relevant to the buffer's contents.
Neomake uses temporary files (or stdin) to handle unsaved buffers, and when it is triggered / used with TextChanged and BufWritePost it does not make sense to lint again on BufWritePost then.

Daniel Hahler wrote:

For that we have the :update command.

This will increment b:changedtick however in the same way.

No it doesn't.  Edit some file without changing anything:
:edit file
:echo b:changedtick
3
:update
:echo b:changedtick
3
:write
:echo b:changedtick
4

The point / use case is detecting if the buffer's contents was
changed, and therefore b:changedtick should be the same before and
after :w / :up.

It doesn't really work for that, even &modified is sometimes set when
the buffer didn't actually change.  E.g. using "rx" on a character that
already is an "x".  Vim doesn't really check the text before and after.

In corner cases :write even has effect when the buffer didn't change,

Good point, however not relevant to the buffer's contents.
Neomake uses temporary files (or stdin) to handle unsaved buffers, and
when it is triggered / used with TextChanged and BufWritePost it does
not make sense to lint again on BufWritePost then.

--
From "know your smileys":
~#:-(	I just washed my hair, and I can't do nuthin' with it.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Daniel Hahler wrote:

:update will increment b:changedtick however in the same way.

No it doesn't.

:update without any changes does not trigger BufWritePost at all (which is good), and does not update the tick, yes.
But if there are changes (and saving the buffer is triggered) it increases the tick additionally when being called.
My point here is that :normal ofoo sets tick to X, but :update then to X+1, althought the contents was not changed.

As mentioned, b:changedtick is not just for making changes but also for
when the undo/redo or 'modified' state changes.

It doesn't really work for that

Is there something that can be used then?
b:changedtick would be good if this issue was fixed.
The following looks like some trivial fix, but would likely need more adjustments internally (and changes the behavior of course):

Perhaps you can check the value of 'modified' in BufWritePre?
--
From "know your smileys":
:-)-O	Smiling doctor with stethoscope
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I am closing this as working as designed.

As mentioned, b:changedtick is not just for making changes but also for when the undo/redo or 'modified' state changes.

As for 'modified' that's not the case however: :set modified does not change b:changedtick.
As for undo/redo that's expected, since it changes the buffer (usually).
I still fail to see why triggering the BufWritePost autocommand is considered to be changing the state of the buffer?
It still looks like a bug/inconsistency to me.

Perhaps you can check the value of 'modified' in BufWritePre?

I want to know if the buffer was (not) changed, not if it is modified.
The problem is that Vim unconditionally increments b:changedtick when executing BufWritePost itself, which I am working around - but then this workaround causes a false positive for when BufWritePost is executed via doautocmd (e.g. in a BufWriteCmd with vim-fugitive), where b:changedtick is not incremented and Neomake then assumes the buffer was not changed, if b:changedtick is only off by one (which is the case with :diffget for example).
When using :normal ofoo it will increment b:changedtick by 2, so the buffer is considered to be changed also after adjusting b:changedtick by 1 for BufWritePost.
I cannot see why/how looking at &modified in BufWritePre might help here.
Keep in mind that I do not want to know if the buffer is/was modified, but if it changed since the last time a check was run.
What is wrong with the patch I've posted above?  (created a WIP PR based on it: https://github.com/vim/vim/pull/4505)
Vim itself appears to use a similar workaround in v7.4.493 - which maybe might not have been necessary with the other patch.

Keep in mind that I do not want to know if the buffer is/was modified, but if it changed since the last time a check was run.

Then couldn't you use the new listener_*() stuff instead?  I thought this is exactly what the listener stuff was for.

There is b_last_changedtick as a special tick used for the TextChanged event - maybe this could be exposed?

Maybe that var could be made accessible with test_getvalue().

Then couldn't you use the new listener_*() stuff instead? I thought this is exactly what the listener stuff was for.

Thanks for the hint, however Neomake also supports Neovim and older Vims, where this would not be available (which is also the case for a bugfix patch however, of course).
But the main reason to not use it is that I am not interested in re-acting to changes directly, and would only use it to track a custom b:my_changedtick then effectively.  And therefore I think it makes more sense to fix b:changedtick instead.

There is b_last_changedtick as a special tick used for the TextChanged event - maybe this could be exposed?

Maybe that var could be made accessible with test_getvalue().

I do not think this is a good idea, and might even be used internally as a workaround only, similar to what was done in 086329d3f (v7.4.493):
+#ifdef FEAT_AUTOCMD
+       /* buf->b_changedtick is always incremented in unchanged() but that
+        * should not trigger a TextChanged event. */
+       if (last_changedtick + 1 == buf->b_changedtick
+                                              && last_changedtick_buf == buf)
+           last_changedtick = buf->b_changedtick;
+#endif

Anyway, tests might be passing by now with https://github.com/vim/vim/pull/4505, so discussion could continue there, based on tests / actual behavior (changes).

Bram keeps telling you that b:changedtick is (despite the name) intentionally not supposed to exactly track what you're calling "changes", and yet you keep insisting on making it do that.

But the main reason to not use it is that I am not interested in re-acting to changes directly,

This makes no sense at all.  You're reacting either way.

and would only use it to track a custom b:my_changedtick then effectively.

So?

Bram keeps telling you that b:changedtick is (despite the name) intentionally not supposed to exactly track what you're calling "changes", and yet you keep insisting on making it do that.

I got that, and can live with it being increment for e.g. undo etc - i.e. I am not trying to exactly track changes through it.
But I cannot see why it should be incremented unnecessarily, and inconsistenly, which makes it hard to work around / use it then.
Also I got the impression that my use case was not really understood,
The/my main issue here is that it gets incremented additionally when not using BufWriteCmd, but not without it.
Apart from that and from what I can see my proposed patch would also make other internal workarounds not be required in the first place, and if the patch is not wanted, then at least the changetick should also be incremented when using BufWriteCmd/doauto BufWritePost then for consistency - adding another special case / condition in the code, which might not be needed in the first place.

and would only use it to track a custom b:my_changedtick then effectively.

So?

I would rather use TextChanged/TextChangedI then I guess, but all of them are adding overhead.
I am trying to improve Vim here instead of working around its issues...!

[...]

Also I got the impression that my use case was not really understood,
The/my main issue here is that it gets incremented additionally when
not using BufWriteCmd, but not without it.

I haven't seen a remark about how this happens.  An autocmd by itself
doesn't do it, is it what the autocommand executes?

Apart from that and from what I can see my proposed patch would also
make other internal workarounds not be required in the first place,
and if the patch is not wanted, then at least the changetick should
also be incremented when using BufWriteCmd/doauto BufWritePost
then for consistency - adding another special case / condition in the
code, which might not be needed in the first place.

and would only use it to track a custom b:my_changedtick then effectively.

So?

I would rather use TextChanged/TextChangedI then I guess, but all
of them are adding overhead.
I am trying to improve Vim here instead of working around its issues...!

There are a few calls to unchanged() that should increment the
changedtick even when the buffer was not changed before.  For example
when editing the same buffer again and the file text has changed.
When writing a file that doesn't reset the changed flag, one could
argue that changedtick should not be incremented, since no text actually
changed.  When the changed flag is reset it's probably OK to increment
changedtick, even though the text itself hasn't changed.  The buffer
state did change.
The idea with changedtick is that it's better to err on the safe side,
incrementing a bit too often would not be so bad.
Anyway, you dropped your pull request, thus I suppose we don't really
need that accuracy.
--
hundred-and-one symptoms of being an internet addict:
116. You are living with your boyfriend who networks your respective
computers so you can sit in separate rooms and email each other
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Thanks for your explanation.

I haven't seen a remark about how this happens. An autocmd by itself doesn't
do it, is it what the autocommand executes?

The confusing thing for me was that using BufWriteCmd (manual BufWritePost
via doautocmd, used by vim-fugitive) would not increment b:changedtick,
but using no BufWriteCmd does so.
(and then additionally that :diffget only increments it by one, while
:normal foo by 2; which basically means that then it would run into the false
positive due to the offset being one, and Neomake not triggering the maker,
because the tick was not changed after the adjustment for BufWritePost)
I can see and understand that err'ing on the safe side is good in general.
And yeah, I got annoyed by having spent too much time on this yet again (the
issue itself is older already).

Thanks for your explanation.

I haven't seen a remark about how this happens. An autocmd by itself doesn't
do it, is it what the autocommand executes?

The confusing thing for me was that using BufWriteCmd (manual BufWritePost
via doautocmd, used by vim-fugitive) would not increment b:changedtick,
but using no BufWriteCmd does so.
(and then additionally that :diffget only increments it by one, while
:normal foo by 2; which basically means that then it would run into the false
positive due to the offset being one, and Neomake not triggering the maker,
because the tick was not changed after the adjustment for BufWritePost)
I can see and understand that err'ing on the safe side is good in general.
And yeah, I got annoyed by having spent too much time on this yet again (the
issue itself is older already).

Well, I could not increment changedtick when writing a file when
'changed' was off already.  Then the buffer does not really change in
any way.  But perhaps that fix then breaks your logic?
--
An actual excerpt from a classified section of a city newspaper:
"Illiterate?  Write today for free help!"
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

No, that fix would be good I think - I've removed the BufWritePost workaround already (since it does not work with BufWriteCmd).
Not incrementing the tick in general would make it behave as desired then, i.e. the BufWritePost handler considers the file to not be changed, if it was handled before already.

No, that fix would be good I think - I've removed the BufWritePost
workaround already (since it does not work with BufWriteCmd).
Not incrementing the tick in general would make it behave as desired
then, i.e. the BufWritePost handler considers the file to not be
changed, if it was handled before already.

OK, I'll make a change to unchanged() similar to what you had.  But
there are a few places where unchanged() is called where it makes sense
to increment b:changedtick always.  I'll add an argument to force that.
Hopefully I get it right.
--
hundred-and-one symptoms of being an internet addict:
124. You begin conversations with, "Who is your internet service provider?"
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Moved primary default config file location

With respect to the XDG Base Directory Specification the default
config file location for azurectl has changed. The default config
file is now searched in the following order and paths

~/.config/azurectl/config
~/.azurectl/config

This fixes issue #41

Sorry the patch became a little longer because I realized we read in the config file multiple times.
The patch for this is in a single commit if you prefer to review on a commit base instead of the full change

The README and manpage will need updating as well.

README and manpage updated as well, thanks James for pointing that out
Are we good to go with this one now ?


feat: added support for xAI Grok Beta

Added support for xAI Grok Beta for both directly using xAIs OpenAI API and the OpenRouter.
Addresses #48

Awesome, nice work @milutinke!!