How to use internal audio on rPi instead of microphone?

PyAudio uses your default audio input device which is a microphone for most cases. You can also create a virtual audio input device using software such as Voicemeeter on Windows, Loopback on OSX,  or Jack on Linux.
This allows you to play music on a computer while also forwarding the audio data to a virtual audio input. PyAudio uses the virtual audio input device as if it were a real microphone.
Would any of these options resolve your issue?
Originally posted by @scottlawsonbc in https://github.com/scottlawsonbc/audio-reactive-led-strip/issues/10#issuecomment-271173120
Did anyone make any progress with this? It would be super helpful if the Pi could send audio virtually to the input of this software!

I don't have a raspberry pi but if anyone has done this successfully and is willing to document the steps here so that I can add them to the readme that would be much appreciated.

Thanks.
Just to elaborate a little. The standard audio on the pi is pretty pants so most users who are putting together an audio project will invest in a HAT or add on that provides better audio out.
The issue when it comes to getting this project running is the requirement for USB audio.
Specifically there doesn’t seem to be any way to use an external (or other than USB) way to  play audio via a HAT or add on and then (virtually or physically) wire an audio stream to the mic input on a USB sound card.
For Pi users the simplest way is probably just to invest in  a USB mic...
Currently, i have audio out via my IQaudIODAC board, but when I run visualization.py the output stops and the system becomes unresponsive requiring a reboot.
If I send audio to the USB sound card then visualization.py runs well, so I know that it does work. Just not the way I’d like it too...

I was able to get it working a while ago using pulse audio and jack audio. With that said using the raspberry pi was not powerful enough for the number of LEDs I needed to work.

@lpearl I've been struggling with finding a solution for this. I was able to use pulseaudio and pavucontrol along with python-dbus I believe to get it working on my Arch desktop however I've been unable to reproduce this on the pi. Any advice on a direction?

@Tim-Dixon I really can't suggest using it (the pi just does not have enough power) but with that said you would need pulseaudio and qjackctl also take a look at this to see how to get them working together. Let me know if you run into any troubles.

Would this help? I’ve only looked briefly but to be able to loop back the audio might be the answer? https://github.com/intxcc/pyaudio_portaudio

As I can’t get shairport-sync (AirPlay music receiver) and the audio reactive LEDS to both work on the same Pi I’m actually using two.
Whilst this is excessive, it get’s the job done. Also, by way on an unintended bonus, as the audio-in for the LEDs is plugged directly in to my audio out (split to the speakers) the LEDs don’t kick off when I walk in to the room or when the TV is on, which is nice.
Also put together an iOS Shortcuts file to change the vis mode and turn the LEDs off from my phone. Happy to share if there’s any demand.

@NickSutton @joeybab3
Here Is What I am doing right now. I have bought a 50INR or 0.66$ (in India) sound card with audio jack input and USB output. Now I use following different configurations based on the need to play audio.

I use a two-way audio jack and put it from raspberry aux output to soundcard jack input. then I demonized Spotify in my raspberry pi which is connected to my speaker via Bluetooth. Then I use Spotify remote to play music. (hence everything wireless)
When I don't want to play songs from Spotify: I take out the two-way aux cable from the pi output and connect it to my laptop aux output then use windows virtual audio feature to output sound both to raspberry pi and to the speaker via Bluetooth

@Tim-Dixon I really can't suggest using it (the pi just does not have enough power) but with that said you would need pulseaudio and qjackctl also take a look at this to see how to get them working together. Let me know if you run into any troubles.

@lpearl  Can you elaborate a little on your issues with running it on a pi?
Which pi were you using? The pi4 seems leaps and bounds ahead of the previous models.
Were you running everything on the pi or just the signal processing?
Did you have the visualizer running?
I ask because I am working working on using a pi to capture an audio stream.  It seems easy enough to create a loopback with pulse.  I'd appreciate the insight.

@footy42 Sure whatever helps, I was using the pi 3 and everything was running on it. The main problem with my setup was the number of LEDs I was trying to control (1200 pixels). The Pi was also running shairport sync (airplay sever) on top of the visualizer, which probably didn't help. I'm sure with fewer pixels, a different audio solution, and running a Pi 4 instead of the 3 should all help with the lag I was experiencing. How are you planning on running audio into the pi? My wireless solution worked (minus the pi 3 lag)  but it was a huge pain to setup.

After some time of researching I finally managed to get it work. I'm running shairport-sync and the visualizer (besides a homebridge server) on my raspberry pi 2 model b feeding the audio from shairport in the visualizer and also my speaker using alsa. The visualization runs at 25 fps smoothly (oddly tho it stutters at lower or higher framerates). I have to say, that I don't power the LEDs by the raspberry pi itself, but let it do the computing and then sent the commands to an ESP-01 to light up the LEDs. So the visualizer is running in the ESP8266 configuration.
Here is what I did to use the audio output as an input (from a fresh raspbian buster install):
First set up your usb-audio card as the default device in Alsa as described in the readme. Check whether you can play sound from it.
Set up the alsa loopback device:
sudo modprobe snd-aloop
it will show up in
aplay -l
as "Loopback"
Then edit your /etc/asound.conf (and maybe .asoundrc although I think it gets overridden by the global asound.conf) and add:
#this will set your default output to a virtual virtual multi-channel device named CardAndLoop, which outputs to your USB-Card as well as the Loopback device
#Furthermore it sets the second Loopback device as your standard input
pcm.!default {
  type asym
  playback.pcm "CardAndLoop"
  capture.pcm "hw:Loopback,1"
}

# This is the interface you use for sound output
# It will send the output to the soundcard and loopback device
pcm.CardAndLoop {
  type plug
  slave.pcm MultiCh
  route_policy "duplicate"
}

ctl.!default {
        type hw
        card 0 #set it to your Audio-Card
}

# Virtual multichannel device with four channels
# two the for the soundcard, two for the loopback
pcm.MultiCh {
  type multi
  slaves.a.pcm pcm.MixCard
  slaves.a.channels 2
  slaves.b.pcm pcm.MixLoopback
  slaves.b.channels 2
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

# Mixer for the soundcard
pcm.MixCard {
  type dmix
  ipc_key 1024
  slave {
    pcm "hw:PCH,0" #edit to set it to your Audio Card
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

# Mixer for the loopback
pcm.MixLoopback {
  type dmix
  ipc_key 1025
  slave {
    pcm "hw:Loopback,0"
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

Remember to set your USB-Audio-Card as the pcm device in the Mixer for the soundcard. Read the first article below to learn how to address audio devices in Alsa.
As everything sent to hw:Loopback,0 is also played on hw:Loopback,1, you will now have your audio output also available as an input (and on the speaker).
You can check if everything is working by opening a second terminal window and playing sound to the default output while recording audio from the default input in the other window.
speaker-test -c2 in window 1
arecord -f S16_LE -c 2 -r 44000 audio.wav in window 2
If everything works, make the Loopback device persistent:
sudo echo 'snd-aloop' >> /etc/modules
Now you can install shairport-sync (or use your desired audio input).
Don't hesitate if pyaudio throws some errors. Most of them are only informative and everything should work nevertheless.
These articles helped a lot:
https://sysplay.in/blog/linux/2019/06/playing-with-alsa-loopback-devices/
https://unix.stackexchange.com/questions/175649/send-sound-output-to-application-and-speaker
https://www.alsa-project.org/wiki/Asoundrc
Good luck!

@aca626
Thanks for this great writeup!
You just saved my new years eve party (with only family of course (covid))
happy holidays to all of you and a happy new year

Okay, it somehow does not work for me, i configured this in /usr/share/alsa/alsa.conf
This is the config im using
# This is the interface you use for sound output
# It will send the output to the soundcard and loopback device
pcm.CardAndLoop {
  type plug
  slave.pcm MultiCh
  route_policy "duplicate"
}

ctl.!default {
        type hw
        card 1 #set it to your Audio-Card
}

# Virtual multichannel device with four channels
# two the for the soundcard, two for the loopback
pcm.MultiCh {
  type multi
  slaves.a.pcm pcm.MixCard
  slaves.a.channels 2
  slaves.b.pcm pcm.MixLoopback
  slaves.b.channels 2
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

# Mixer for the soundcard
pcm.MixCard {
  type dmix
  ipc_key 1024
  slave {
    pcm "hw:Headset,0" #edit to set it to your Audio Card
    #rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

# Mixer for the loopback
pcm.MixLoopback {
  type dmix
  ipc_key 1025
  slave {
    pcm "hw:Loopback,0"
    #rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

pi@rpi:~ $ cat /proc/asound/cards
 0 [Loopback       ]: Loopback - Loopback
                      Loopback 1
 1 [Headset        ]: USB-Audio - G432 Gaming Headset
                      Logitech G432 Gaming Headset at usb-0000:01:00.0-1.3, full speed
pi@rpi:~ $

I'm sorry to hear that. If you want at some time to find the error, you could try this:
You could first test, whether your Loopback device is working as expected by playing speaker-test -c2 -D hw:0,0 in one terminal window and then recording arecord -D hw:0,1 -f S16_LE -c 2 -r 48000 audio.wav. If arecord catches audio the Loopback Device is working.
Then try playing audio directly to the new created "CardAndLoop" with speaker-test -c2 -D CardAndLoop. Arecord should be able to record the sound with arecord -D hw:0,1 -f S16_LE -c 2 -r 44000 audio.wav.
If this is the case, the CardAndLoop Device is set correctly and just not the default device.
Additionally you should maybe consider to try the settings globally in /etc/asound.conf, as for me changes in /usr/share/alsa/alsa.conf were disregarded.
Nevertheless nice to see, that you found a 'ghetto style' workaround and your party is safe.
Happy new year and happy holidays!

@krjan02 Yep that’s definitely the getto method you can try jack if this doesn’t work, but I wish you luck

After some time of researching I finally managed to get it work. I'm running shairport-sync and the visualizer (besides a homebridge server) on my raspberry pi 2 model b feeding the audio from shairport in the visualizer and also my speaker using alsa. The visualization runs at 25 fps smoothly (oddly tho it stutters at lower or higher framerates). I have to say, that I don't power the LEDs by the raspberry pi itself, but let it do the computing and then sent the commands to an ESP-01 to light up the LEDs. So the visualizer is running in the ESP8266 configuration.
Here is what I did to use the audio output as an input (from a fresh raspbian buster install):
First set up your usb-audio card as the default device in Alsa as described in the readme. Check whether you can play sound from it.
Set up the alsa loopback device:
sudo modprobe snd-aloop
it will show up in
aplay -l
as "Loopback"
Then edit your /etc/asound.conf (and maybe .asoundrc although I think it gets overridden by the global asound.conf) and add:
#this will set your default output to a virtual virtual multi-channel device named CardAndLoop, which outputs to your USB-Card as well as the Loopback device
#Furthermore it sets the second Loopback device as your standard input
pcm.!default {
  type asym
  playback.pcm "CardAndLoop"
  capture.pcm "hw:Loopback,1"
}

# This is the interface you use for sound output
# It will send the output to the soundcard and loopback device
pcm.CardAndLoop {
  type plug
  slave.pcm MultiCh
  route_policy "duplicate"
}

ctl.!default {
        type hw
        card 0 #set it to your Audio-Card
}

# Virtual multichannel device with four channels
# two the for the soundcard, two for the loopback
pcm.MultiCh {
  type multi
  slaves.a.pcm pcm.MixCard
  slaves.a.channels 2
  slaves.b.pcm pcm.MixLoopback
  slaves.b.channels 2
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

# Mixer for the soundcard
pcm.MixCard {
  type dmix
  ipc_key 1024
  slave {
    pcm "hw:PCH,0" #edit to set it to your Audio Card
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

# Mixer for the loopback
pcm.MixLoopback {
  type dmix
  ipc_key 1025
  slave {
    pcm "hw:Loopback,0"
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

Remember to set your USB-Audio-Card as the pcm device in the Mixer for the soundcard. Read the first article below to learn how to address audio devices in Alsa.
As everything sent to hw:Loopback,0 is also played on hw:Loopback,1, you will now have your audio output also available as an input (and on the speaker).
You can check if everything is working by opening a second terminal window and playing sound to the default output while recording audio from the default input in the other window.
speaker-test -c2 in window 1
arecord -f S16_LE -c 2 -r 44000 audio.wav in window 2
If everything works, make the Loopback device persistent:
sudo echo 'snd-aloop' >> /etc/modules
Now you can install shairport-sync (or use your desired audio input).
Don't hesitate if pyaudio throws some errors. Most of them are only informative and everything should work nevertheless.
These articles helped a lot:
https://sysplay.in/blog/linux/2019/06/playing-with-alsa-loopback-devices/
https://unix.stackexchange.com/questions/175649/send-sound-output-to-application-and-speaker
https://www.alsa-project.org/wiki/Asoundrc
Good luck!

Hi there,
Do you still use this? I've spent countless hours trying to get this to work alongside Shairport-sync but I have nothing to show for the 20+ hours unfortunately. If you still remember how you did this, would you be able to give me some guidance?
Thanks

Hi @aftrmth728,
sorry for my late response. Did you finally manage to get it running?
I did use this for some years now without any problems. As I am now trying to change to ledfx in conjunction with wled on esp-01, I started back from scratch with a fresh installation of Raspberry Pi OS Bullseye on a Raspberry Pi 4.
Trying to configuring the audio I ran into some problems, too.
Finally I got it back working.
First I made my USB-Soundcard the default audio device by disabling the onboard audio of the pi:
Open /etc/modprobe.d/raspi-blacklist.conf and add `blacklist snd_bcm2835'.
Open /lib/modprobe.d/aliases.conf and comment out the line 'options snd-usb-audio index=-2'.
(solution found on https://superuser.com/questions/989385/how-to-make-raspberry-pi-use-an-external-usb-sound-card-as-a-default)
Now, your USB-Soundcard should be card 0 in 'aplay -l'.
Now set up the alsa loopback device as described above.
Doing 'aplay-l' it should now be card 1 or 2.
If you now save the asound.conf and test it as described above, everything should work.
When you now add snd-aloop to /etc/modules and reboot the pi, you run into the problem, that the Loopback device is now card 0 instead of your usb-soundcard, as it is loaded before the driver for the latter.
As a result you have to edit the asound.conf again, to match your card (probably now card 1). This is mine:
#this will set your default output to a virtual virtual multi-channel device named CardAndLoop, which outputs to your USB-Card>
#Furthermore it sets the second Loopback device as your standard input
pcm.!default {
  type asym
  playback.pcm "CardAndLoop"
  capture.pcm "hw:Loopback,1"
}

ctl.!default {
        type hw
        card 1 #set it to your Audio-Card
}

# This is the interface you use for sound output
# It will send the output to the soundcard and loopback device
pcm.CardAndLoop {
  type plug
  slave.pcm MultiCh
  route_policy "duplicate"
}

# Virtual multichannel device with four channels
# two the for the soundcard, two for the loopback
pcm.MultiCh {
  type multi
  slaves.a.pcm pcm.MixCard
  slaves.a.channels 2
  slaves.b.pcm pcm.MixLoopback
  slaves.b.channels 2
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

# Mixer for the soundcard
pcm.MixCard {
  type dmix
  ipc_key 1024
  slave {
    pcm "hw:1,0" #edit to set it to your Audio Card
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

# Mixer for the loopback
pcm.MixLoopback {
  type dmix
  ipc_key 1025
  slave {
    pcm "hw:Loopback,0"
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

Hopefully everything works now!
Further notes:
In the Shairport-Sync settings, you can uncomment output_device = "default"; in the alsa section of /etc/shairport-sync.conf.
In /usr/share/alsa/alsa.conf you can change 'defaults.ctl.card 1' and 'defaults.pcm.card 1' to match your card and set it as default (nonetheless the asound.conf should already do the job).
Similar approaches:
https://noisybox.net/blog/2016/01/alsa_recording_of_device_output
https://bbs.archlinux.org/viewtopic.php?id=147852
Good Luck!

I tried the solution mentionned by @aca626, but it won't work for me on raspberry pi 4 for some reasons (used to work on my pi 3).
I had to add to python/microphone.py this line:
stream = p.open(format=pyaudio.paInt16,
                    channels=1,
                    rate=config.MIC_RATE,
                    input_device_index=1,   #Hard code the input, which is the loopback card.
                    input=True,
                    frames_per_buffer=frames_per_buffer) ```
Hard coding the input worked for me.

All right,
tried it again on a raspberry pi 4 on raspbian 11 (bullseye) and got it working using this slightly better solution:
Instead of disabling the onboard audio, I just reordered the soundcards, so that the usb-soundcard is number 0.
This can be done by creating/modifying etc/modprobe.d/alsa-base.conf so that it includes these lines:
# This sets the index value of the cards but doesn't reorder.
options snd_usb_audio index=0
options snd_bcm2835 index=1

# Does the reordering.
options snd slots=snd_usb_audio,snd_bcm2835

Now your usb-soundcard should be card 0.
Next you simply put
#this will set your default output to a virtual virtual multi-channel device named CardAndLoop, which outputs to your USB-Card as well as the Loopback device
#Furthermore it sets the second Loopback device as your standard input
pcm.!default {
  type asym
  playback.pcm "CardAndLoop"
  capture.pcm "hw:Loopback,1"
}

# This is the interface you use for sound output
# It will send the output to the soundcard and loopback device
pcm.CardAndLoop {
  type plug
  slave.pcm MultiCh
  route_policy "duplicate"
}

ctl.!default {
        type hw
        card 0 #set it to your Audio-Card
}

# Virtual multichannel device with four channels
# two the for the soundcard, two for the loopback
pcm.MultiCh {
  type multi
  slaves.a.pcm pcm.MixCard
  slaves.a.channels 2
  slaves.b.pcm pcm.MixLoopback
  slaves.b.channels 2
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

# Mixer for the soundcard
pcm.MixCard {
  type dmix
  ipc_key 1024
  slave {
    pcm "hw:0,0" #edit to set it to your Audio Card
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

# Mixer for the loopback
pcm.MixLoopback {
  type dmix
  ipc_key 1025
  slave {
    pcm "hw:Loopback,0"
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

in your /etc/asound.conffile.
Thanks to @rnagarajanmca for his guide: https://gist.github.com/rnagarajanmca/63badce0fe0e2ad126041c7c139970ea
Cheers!

Has anyone got this to work with the audio jack on the Raspberry PI 4?
I tried it with a USB Soundcard and it worked.
I tried setting the Headphone jack as default (card 0). The loopback works and the Leds light up but there is no audio comming out from the Headphone jack. I used the same /etc/asound.conf as above.


A11y_SQLAzureDataStudio_DeployDacpac_DeployDacpacSettings_Screenreader: When opened the page, focus moves to 'Next' button but screenreader doesn't announce control's information

Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier.”
GitHubTags:#A11y_SQLAzureDataStudioBenchmark;#A11yMAS;#A11ySev2;#A11yTCS;#SQL Azure Data Studio;#Benchmark;#DesktopApp;#Win32;#MAS1.3.1;#Screenreader;
Environment Details:
Version: 1.16.0-insider
Commit: 506c6a5
Date: 2020-02-17T05:43:18.399Z
VS Code: 1.42.0
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363
Additional Details:
MAS References: MAS1.3.1
NVDA Version: 2019.2
JAWS Version: 2019.1912.1 ILM
Repro Steps:
Launch Azure Data Studio application.
Connect to server with windows credentials.
Navigate to Extensions from left menu.
Search & install Dacpac extension.
Navigate to Connections from left menu.
Expand the server connected in step 2.
Right click an on prem database and select Data-tier application wizard from Context menu.
Select first radio button.
Navigate till next button & hit enter.
Launch NVDA screenreader
Navigate to column headers 'Settings' and 'value' using down arrow key
Same issue is observed  with JAWS Screenreader.
Same issue is observed in Extract Dacpac Settings screen: Navigation:

Launch Azure Data Studio application.
Connect to server with windows credentials.
Navigate to Extensions from left menu.
Search & install Dacpac extension.
Navigate to Connections from left menu.
Expand the server connected in step 2.
Right click an on prem database and select Data-tier application wizard from Context menu.
Select second radio button.
Navigate till next button & hit enter.

Actual:
While screenreader is on and opened the DeployDacpacSettings screen, focus moves to 'Next' button but screenreader doesn't announce control's information.
Expected:
While screenreader is on and opened the DeployDacpacSettings screen, Screenreader should announce control's information of 'Next' button as focus is at 'Next' button.
User Impact:
Screen reader users will face difficulty to understand current focus on the screen.
Attachment link for Reference:
9325_A11y_SQLAzureDataStudio_DeployDacpac_DeployDacpacSettings_Screenreader.zip

the focus stayed on 'Next' button, i don't think it should be re-announced. i am closing the issue as by design. please reopen if you don't agree with me. @shweta255

GithubTags:#Closed;

GitHubTags:#SQLADS-Win32-Feb2020;


Integration with Rllab

One thing that seems a bit redundant is the fact that there is openai/rllab and now openai/baselines implementing RL algorithms. It seems like it may be a worthwhile endeavor to merge the two in some way rather than have two parallel repositories that are supposed to have baseline RL implementations. Are there any plans to do so or any thoughts on this from the openai team?
Thanks.

The plan is for baselines to replace rllab.


displayIf overrite layout while false

Is there an existing issue for this?

[X] I have searched the existing issues

🐛 Describe the bug
https://hastebin.com/share/urayitonaf.java

I've set my layout to X, and if displayIf is false it shouldn't override at all.
✔ Expected behavior
No response
👣 Steps to Reproduce
No response
💻 Platform

[X] Bukkit
[ ] Sponge
[ ] Other

⭐ Server Version
Current: git-Purpur-2028 (MC: 1.20.1)* Previous: git-Purpur-2023 (MC: 1.20.1) * You are 2 version(s) behind Download the new version at: https://purpurmc.org/downloads
📚 Library Version
3.0.0-rc.1
✍ Additional context
No response

@ch4ika This is expected to happen since Inventory Framework do not have an "overlap system" but for sure i'll made one before Release 3. I cant work on this for v3.0.0-rc.2 due to release schedule date, v3.0.0-rc.2 is scheduled for today 14 Aug 2023.
v3.0.0-rc.3 is scheduled for 7 days after the previous one so 21 Aug 2023 it will be available.
Sorry for late response :)


envFile support in launch.json not working with input variable reference

When I add envFile support to the launch.json, all works as expected.  However, the environment variables are not available for use in variables.  E.g.
    {
            "name": "Deploy",
            "program": "${workspaceFolder}/dist/index.js",
            "request": "launch",
            "envFile": "${workspaceFolder}/.env",
            "sourceMaps": true,
            "console": "integratedTerminal",
            "args": [
                "deploy",
                "${env:MODULE}",
                "-v",
                "${env:VERSION}"
            ],
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node"
        }

This looks like an ordering issue, the args are evaluated prior to the env file being loaded, as the command is always run with empty parameters.  Once the program runs, all the variables are available.
We are using this to debug common command line runs, and would rather not hard code all the variations into the file.  I'm aware of the "inputs" which works quite well, however due to running this 100s of times as we debug, we don't want to re-enter the arguments in the prompt continuously.  Any other suggestions welcome, however in my view it would be much more intuitive if the envFile was loaded prior to evaluating the variables.

Yes, "envFile" is a feature of the node debugger whereas ${} variables are substituted before the node debugger runs.

No problem, thanks for the explanation.  Didn't realise the envFile was a node-debugger feature.


Align the BIR with service changes

Description:
Need to discuss how BIR should reflect services. This needs to include extra information like resource functions and their components.
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Related https://github.com/ballerina-platform/ballerina-lang/issues/27444


Mappersmith doesn't support service workers

Hi! I'm from the team that develops a browser extension. We're currently migrating to manifest v3, and we have encountered an issue with Mappersmith.
Manifest v3 uses service workers. And when we initialize the Mappersmith, it throws this error:
[Mappersmith] gateway class not configured (configs.gateway)

(src/client-builder.ts#L58)
The reason for it is that we do not initialise the gateway in src/index.js for service workers, we only do it for node and browser environments.

Fixed by #310


Add multi-language support

Feature Description
Implement multi-language support to enable users from various regions to interact with the website in their preferred language. This feature aims to improve accessibility and user experience, making it more convenient for non-English-speaking users to navigate the site.
Technical Approach
I plan to use the Google Translate widget for implementing this feature. The widget will be set up using a React component that loads the translation script dynamically.
Use Case

Add a language selection dropdown or toggle in the header/footer for easy language switching.
Store user language preferences using cookies or local storage.
Ensure that content is dynamically translated and adjusts based on the selected language.

Please assign this to me under gssoc-ext and Hacktoberfest.

@Tusharb331 we don't want to add this feature to our product. But keep exploring other issue, would love to here from you on other issues.


ENYO-4501: Fix navigating via 5-way from paging controls

Collapse spotlight containers for Scrollable consumers
Add data-spotlight-overflow support to allow spotlight to escape overflow containers via 5-way

Enyo-DCO-1.1-Signed-off-by: Ryan Duffy<EMAIL_ADDRESS>

Closing in favor of #1553


can't regain the claimed  result

I run your code but can't regain the  claimed result  except the baseline model. Can you upload your pretrained model?

@yangadan which result you cannot regain?

@yangadan which result you cannot regain?

noise_resnet20 PNI-W model
Test Prec@1 83.090 Prec@5 99.080 Error@1 16.910
PGD Test Prec@1 44.080 Prec@5 93.550 Error@1 55.920
FGSM Test Prec@1 51.000 Prec@5 94.500 Error@1 49.000

@yangadan Hi, I sorry for the late reply. The pre-trained models for both layer-wise and channel-wise versions are uploaded at Readme result section.
I think there might be some setting problem. I just train a new layerwise PNI model, and I can only get 84.11 for a clean accuracy. I will look at the training configuration and give you an update later.

@yangadan Hi, I am sorry for the late reply. The pre-trained models for both layer-wise and channel-wise versions are uploaded at Readme result section.
I think there might be some setting problem. I just trained a new layerwise PNI model, and I can only get 84.11% for the clean accuracy. I will look at the training configuration and give you an update later.

Thank you


Cut a new tagged version?

been a while since a tagged release was cut.
things we need to think about:

changelog.
how often do we want to do this.
the process

A new tag/release is possible? I need to use slash.go and it isn't included in v0.1.0

released v.0.2.0 for now.

not quite yet, have some upcoming changes i want to get in first and mark them as experimental so people can expect breakage. (around dialogs)

@stjohnjohnson done.


Unable to run MXnet with yarn as a launcher

$ python ../../tools/launch.py -n 2 --launcher yarn python  train_mnist.py --network lenet --kv-store dist_sync
17/05/03 01:24:49 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/05/03 01:24:50 WARN shortcircuit.DomainSocketFactory: The short-circuit local reads feature cannot be used because libhadoop cannot be loaded.
17/05/03 01:24:50 INFO impl.TimelineClientImpl: Timeline service address: http:///X.X.X.X:8188/ws/v1/timeline/
17/05/03 01:24:50 INFO client.RMProxy: Connecting to ResourceManager at /X.X.X.X:8050
17/05/03 01:24:50 INFO client.AHSProxy: Connecting to Application History server at /X.X.X.X:10200
17/05/03 01:24:51 INFO dmlc.Client: jobname=DMLC[nworker=2,nsever=2]:python,username=root
17/05/03 01:24:51 INFO dmlc.Client: Submitting application application_1489701902537_0147
17/05/03 01:24:51 INFO impl.YarnClientImpl: Submitted application application_1489701902537_0147
Application application_1489701902537_0147 finished with state FINISHED at<PHONE_NUMBER>568
Diagnostics., num_tasks4, finished=0, failed=4
[DMLC] Task 0 failed more than 3times
Available queues:
default
17/05/03 01:25:02 INFO impl.YarnClientImpl: Killed application application_1489701902537_0147
Here is my config.mk for mxnet
#-------------------------------------------------------------------------------
Template configuration for compiling mxnet

If you want to change the configuration, please use the following
steps. Assume you are on the root directory of mxnet. First copy the this
file so that any local changes will be ignored by git

$ cp make/config.mk .

Next modify the according entries, and then compile by

$ make

or build in parallel with 8 threads

$ make -j8
#-------------------------------------------------------------------------------
#---------------------
choice of compiler
#--------------------
export CC = gcc
export CXX = g++
export NVCC = nvcc
whether compile with options for MXNet developer
DEV = 0
whether compile with debug
DEBUG = 0
whether compiler with profiler
USE_PROFILER =
the additional link flags you want to add
ADD_LDFLAGS =
the additional compile flags you want to add
ADD_CFLAGS =
#---------------------------------------------
matrix computation libraries for CPU/GPU
#---------------------------------------------
whether use CUDA during compile
USE_CUDA = 0
add the path to CUDA library to link and compile flag
if you have already add them to environment variable, leave it as NONE
USE_CUDA_PATH = /usr/local/cuda
USE_CUDA_PATH = NONE
whether use CuDNN R3 library
USE_CUDNN = 0
CUDA architecture setting: going with all of them.
For CUDA < 6.0, comment the *_50 lines for compatibility.
CUDA_ARCH := -gencode arch=compute_30,code=sm_30
-gencode arch=compute_35,code=sm_35
-gencode arch=compute_50,code=sm_50
-gencode arch=compute_50,code=compute_50
whether use cuda runtime compiling for writing kernels in native language (i.e. Python)
USE_NVRTC = 0
whether use opencv during compilation
you can disable it, however, you will not able to use
imbin iterator
USE_OPENCV = 0
use openmp for parallelization
USE_OPENMP = 1
MKL ML Library for Intel CPU/Xeon Phi
Please refer to MKL_README.md for details
MKL ML Library folder, need to be root for /usr/local
Change to User Home directory for standard user
For USE_BLAS!=mkl only
MKLML_ROOT=/usr/local
whether use MKL2017 library
USE_MKL2017 = 0
whether use MKL2017 experimental feature for high performance
Prerequisite USE_MKL2017=1
USE_MKL2017_EXPERIMENTAL = 0
whether use NNPACK library
USE_NNPACK = 0
choose the version of blas you want to use
can be: mkl, blas, atlas, openblas
in default use atlas for linux while apple for osx
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S), Darwin)
USE_BLAS = apple
else
USE_BLAS = atlas
endif
add path to intel library, you may need it for MKL, if you did not add the path
to environment variable
USE_INTEL_PATH = NONE
If use MKL only for BLAS, choose static link automatically to allow python wrapper
ifeq ($(USE_MKL2017), 0)
ifeq ($(USE_BLAS), mkl)
USE_STATIC_MKL = 1
endif
else
USE_STATIC_MKL = NONE
endif
#----------------------------
Settings for power and arm arch
#----------------------------
ARCH := $(shell uname -a)
ifneq (,$(filter $(ARCH), armv6l armv7l powerpc64le ppc64le aarch64))
USE_SSE=0
else
USE_SSE=1
endif
#----------------------------
distributed computing
#----------------------------
whether or not to enable multi-machine supporting
USE_DIST_KVSTORE = 1
whether or not allow to read and write HDFS directly. If yes, then hadoop is
required
USE_HDFS = 0
path to libjvm.so. required if USE_HDFS=1
LIBJVM=$(JAVA_HOME)/jre/lib/amd64/server
whether or not allow to read and write AWS S3 directly. If yes, then
libcurl4-openssl-dev is required, it can be installed on Ubuntu by
sudo apt-get install -y libcurl4-openssl-dev
USE_S3 = 0
#----------------------------
additional operators
#----------------------------
path to folders containing projects specific operators that you don't want to put in src/operators
EXTRA_OPERATORS =
#----------------------------
other features
#----------------------------
Create C++ interface package
USE_CPP_PACKAGE = 0
#----------------------------
plugins
#----------------------------
whether to use caffe integration. This requires installing caffe.
You also need to add CAFFE_PATH/build/lib to your LD_LIBRARY_PATH
CAFFE_PATH = $(HOME)/caffe
MXNET_PLUGINS += plugin/caffe/caffe.mk
whether to use torch integration. This requires installing torch.
You also need to add TORCH_PATH/install/lib to your LD_LIBRARY_PATH
TORCH_PATH = $(HOME)/torch
MXNET_PLUGINS += plugin/torch/torch.mk
WARPCTC_PATH = $(HOME)/warp-ctc
MXNET_PLUGINS += plugin/warpctc/warpctc.mk
whether to use sframe integration. This requires build sframe
git@github.com:dato-code/SFrame.git
SFRAME_PATH = $(HOME)/SFrame
MXNET_PLUGINS += plugin/sframe/plugin.mk
USE_BLAS=atlas
#ADD_CFLAGS += -I/usr/include/openblas
ADD_CFLAGS += -I/usr/include/openblas -L/usr/local/lib
#ADD_LDFLAGS += -lopencv_core -lopencv_imgproc -lopencv_imgcodecs
Can someone please tell me what is wrong with my set up?

I came into the same situation,and the Logs for node container shows:
INFO dmlc.ApplicationMaster: [DMLC] Task 0 killed because of exceeding allocated physical memory
I have set the following env ,but did not work
export DMLC_HDFS_OPTS=--Xmx2048m
export DMLC_WORKER_MEMORY_MB=4096
export DMLC_SERVER_MEMORY_MB=4096
Any suggestions?

This issue is closed due to lack of activity in the last 90 days. Feel free to ping me to reopen if this is still an active issue. Thanks!


feat: add RBAC rules for KongConsumerGroups

What this PR does / why we need it:
KIC 2.11 will need permission to watch KongConsumerGroups CRD and patch its status. This adds RBAC rules for that.
your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] PR is based off the current tip of the main branch.
[x] Changes are documented under the "Unreleased" header in CHANGELOG.md
~[x] New or modified sections of values.yaml are documented in the README.md~
[x] Commits follow the Kong commit message guidelines

Shouldn't KongConsumerGroups be added to charts/kong/crds/custom-resource-definitions.yaml too?


JSON and Date API usage fixes

What kind of change does this PR introduce?
Refactor

Did you add tests for your changes?
No

If relevant, link to documentation update:
N/A

Summary
As part of https://github.com/webpack/webpack/pull/6862 I'm fixing issues that TypeScript has found.

Does this PR introduce a breaking change?
No

Other information

Thanks @ooflorent!

Thanks


Session expired

FYI, the 422 errors you're seeing relate to this issue: https://github.com/rails/rails/issues/21948

FYI, the 422 errors you're seeing relate to this issue: rails/rails#21948

Yeah, I know, but I wasn't sure how else to detect the problem and be able to redirect users to a help page.


Feature Request: Ability to drag around folded text

Currently dragging around folded text drags only the top line, not the folded text within.
How it could work:

Select whole line that has folded text within.
Drag and drop
The line is moved and the text within is moved with it, stays folded

For a working example of this request, see Sublime Text.

@PLyczkowski Do I need to set up anything to make this happen in Sublime?

@rebornix Well, no, it works almost as it should in the example you provided, with the exception of code unfolding after being dropped.

To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: We look at the number of votes the issue has received and the number of duplicates issues filed.
If you disagree and feel that this issue is crucial: We're happy to listen and to reconsider.
Maybe you want to give it a try yourself and provide the feature through an extension or a PR: We're happy to give advise and get you started.
Thanks for your understanding. Thanks for helping and happy coding!


feat: add azwi podidentity detect subcommand

Reason for Change:

Adds azwi podidentity detect subcommand to detect existing pod identity configuration in a namespace and generate

YAML for resource with proxy sidecar and proxy-init init container
YAML for service account with client-id annotated based on clientID in AzureIdentity

If the resource is using default service account, we generate a new service account yaml spec

Requirements

[x] squashed commits
[ ] included documentation
[x] added unit tests and e2e tests (if applicable).

Issue Fixed:

fixes https://github.com/Azure/azure-workload-identity/issues/391
Please answer the following questions with yes/no:
Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?

[ ] yes
[x] no

Notes for Reviewers:

cc @bcho


Pure javascript instead a jQuery version

Hello!
It'll work if I put the pure javascript instead a jQuery version?
Thank you.

It'll work if I put the pure javascript instead a jQuery version?
Did you try it ?

Nope. Only jQuery version is supported for now


IO::TimeoutError exceptions are not handled, breaking automatic retry

In Ruby 3.2.0, sockets can raise IO::TimeoutError when blocking operations time out (Ruby 3.2.0 News, feature 18630) . These happen on read/write operations in Dalli. Dalli only rescues Timeout::Error.
The overall effect is that operations that time out are never retried. Instead they just log an error:
Unexpected exception during Dalli request: IO::TimeoutError: Blocking operation timed out!

I'm not sure why this happens, because from the Ruby NEWS file one would assume this only happens when the timeout attribute is set on the IO instance and I could not find it in the Dalli code.

https://github.com/petergoldstein/dalli/pull/968 is an attempt to improve the situation.

This is merged and published in 3.2.6

@petergoldstein would you mind tagging the release?


openload.co unable to extract video url

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.06.12. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2016.06.12

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
$ youtube-dl --verbose https://openload.co/f/msinwGPallY/Bzns.Oynlar.2016.720p.Dvdrip.DUAL.mkv.mp4
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'https://openload.co/f/msinwGPallY/Bzns.Oynlar.2016.720p.Dvdrip.DUAL.mkv.mp4']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.06.12
[debug] Python version 2.6.6 - Linux-2.6.32-573.26.1.el6.x86_64-x86_64-with-centos-6.7-Final
[debug] exe versions: ffmpeg N-78733-g0f31d40, ffprobe N-78733-g0f31d40
[debug] Proxy map: {}
[Openload] msinwGPallY: Downloading webpage
ERROR: Unable to extract video URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 676, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 342, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/openload.py", line 112, in _real_extract
    r'return\s+"(https?://[^"]+)"', decoded, 'video URL')
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 645, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract video URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
...
<end of log>

What could be the solution to the problem?

Duplicate of #9706. Openload now has upgraded protection and there's no good solution yet.


Running on alpine

I encountered a range of dependency problems, when I tried to run this in an alpine docker container. I wanted to share how to make this run with (elixir) puppeteer-pdf=1.0.3 and (node) puppeteer-pdf=1.2.0. The main source of making this work was the documentation on the official Puppeteer GitHub page.
Prepare your alpine Docker container
I used this Dockerfile for building the container:
RUN apk add --update
RUN apk update && apk upgrade && \
    echo @edge http://nl.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories && \
    echo @edge http://nl.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories && \
    apk add --no-cache \
    nodejs \
    nodejs-npm \
    inotify-tools \
<EMAIL_ADDRESS>\
    nss@edge \
    freetype@edge \
    freetype-dev@edge \
    harfbuzz@edge \
    ttf-freefont@edge

ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
RUN npm install<EMAIL_ADDRESS><EMAIL_ADDRESS>-g

COPY assets/config/puppeteer-pdf.js /usr/lib/node_modules/puppeteer-pdf

Set launch arguments in puppeteer-pdf.js
Change the following line in your /usr/lib/node_modules/puppeteer-pdf/puppeteer-pdf.js file:
# Before
const browser = await puppeteer.launch({args: ["--no-sandbox"] });

# After
const browser = await puppeteer.launch({executablePath: '/usr/bin/chromium-browser', args: ["--no-sandbox", "--disable-software-rasterizer", "--headless", "--disable-gpu", "--disable-dev-shm-usage"] });

Now, you "should" be able to use the (elixir) puppeteer-pdf library on alpine as well!
Problems encountered
Just for documentation purposes, I'm adding some error logs that I've encountered until I found this solution.
Without settting the --disable-gpu and --disable-software-rasterizer flag
Failed to load /usr/lib/chromium/swiftshader/libGLESv2.so: Error loading shared library /usr/lib/chromium/swiftshader/libGLESv2.so: No such file or directory

Bonus: Insert your own .css file.
In your puppeteer-pdf.js file, add the following line:
...
# Add the following line:
await page.addStyleTag({path: '/src/priv/static/css/app.css'}); // <--- Add this line
await page.pdf(options);

await browser.close();
...

Hi @PJUllrich, thanks for sharing your configuration for the Docker Alpine version. I will try it to check if everything is working, but can you explain if the versions set on your example need to be fixed, or can be the last version ?
<EMAIL_ADDRESS>\
...
RUN npm install<EMAIL_ADDRESS><EMAIL_ADDRESS>-g

Do we really need all this flags ?
["--no-sandbox", "--disable-software-rasterizer", "--headless", "--disable-gpu", "--disable-dev-shm-usage"] });

The<EMAIL_ADDRESS>version needs to be fixed according to the troubleshooting section. I also fixed the puppeteer-pdf version here so that this configuration won't break if for whatever reason puppeteer-pdf doesn't support<EMAIL_ADDRESS>anymore.
Unfortunately, these flags are necessary in order to make this run on alpine. I tested removing any of them and puppeteer-pdf won't start if any is removed. In the following a short explanation why these flags are needed:

--no-sandbox is needed if puppeteer-pdf is run as root. This flag can be omitted, if a dedicated user is added as explained in the toubleshooting section.
--headless is needed if puppeteer-pdf is run on a server without display/screen. Can be omitted, if puppeteer-pdf is run on a local development machine with desktop (i.e. your laptop/computer)
--disable-dev-shm-usage is recommended by the troubleshooting section since:

Docker runs a container with a /dev/shm shared memory space 64MB. This is typically too small for Chrome and will cause Chrome to crash when rendering large pages

--disable-gpu and --disable-software-rasterizer are related to the issue that the OpenGL ES and EGL libraries libGLESv2 and libEGL which are needed by chromium for rendering are only available on Debian, but not for alpine. The alpine versions of these libraries mesa-egl and mesa-gles apparently don't fix the issue. Therefore, the only option as of now is to disable the gpu rendering with these flags.

I hope this answers your questions :)

Yes, thanks for the detailed answer. I will check if everything is working, if you want you can open a PR to include this information you have written in the README.md, or I will add it later.
Thanks!

Please verify whether this works for you. I added a link to this issue to the Readme in #25

Thanks, I finally got time to test it. I notice that in your example you use COPY assets/config/puppeteer-pdf.js /usr/lib/node_modules/puppeteer-pdf to do the change on puppeteer-pdf.js. I think it is better to used sed to automate that action:
RUN sed -i 's~const browser = await puppeteer.launch({ args: \["--no-sandbox"\] });~const browser = await puppeteer.launch({executablePath: "/usr/bin/chromium-browser", args: \["--no-sandbox", "--disable-software-rasterizer", "--headless", "--disable-gpu", "--disable-dev-shm-usage"\] });~g'  /usr/lib/node_modules/puppeteer-pdf/puppeteer-pdf.js

Puppeteer-pdf executable will be on: /usr/bin/puppeteer-pdf
Here my Dockerbuild sample.
#
# Stage 1
#

FROM bitwalker/alpine-elixir-phoenix:1.8.1 as builder
ENV MIX_ENV=prod
WORKDIR /myapp

# Umbrella
COPY mix.exs mix.lock ./

RUN tar zxf myapp.tar.gz && rm myapp.tar.gz
CMD ["/myapp/bin/myapp", "foreground"]

Please be aware that you need to turn around the npm install packages. Otherwise, the puppeteer-pdf package will install a newer version of puppeteer and this will break the puppeteer -> chrome version dependency. So, I'd recommend to change your Dockerbuild like this:
# Before
RUN npm install<EMAIL_ADDRESS><EMAIL_ADDRESS>-g

# After
RUN npm install<EMAIL_ADDRESS><EMAIL_ADDRESS>-g

I already updated my Dockerfile in my first post.

Is that a problem that happen right now ? When I tested I didn't have any issue generating the PDF.

Yes, it occurred only now. I cannot pinpoint why this happened now other than observing that puppeteer-pdf installed a higher version of puppeteer. PDF generation simply timed out in this case. It's weird, but this "should" solve it.


Duplicate named query strings are remove when mapping claims to query strings

Expected Behavior
Duplicate named query strings should be passed to the downstream service when using the claim to query string mapping.
Upstream Request: GET: /?test=1&test=2
Downstream Request: GET: /?test=1&test=2&userType={value}
Actual Behavior
Only the first query string is mapped to the downstream service.
Upstream Request: GET: /?test=1&test=2
Downstream Request: GET: /?test=1&userType={value}
Duplicates are removed with the following code:
https://github.com/ThreeMammals/Ocelot/blob/b51df71d7bd2c532323fc4fc1d4fbba6afbb76bf/src/Ocelot/QueryStrings/AddQueriesToRequest.cs#L57:L59
Steps to reproduce
Request
GET: http://localhost:5000/httpbin?test=1&test=2
ReRoute
{
  "DownstreamPathTemplate": "/get",
  "DownstreamScheme": "https",
  "DownstreamHostAndPorts": [
    {
      "Host": "httpbin.org",
      "Port": 443
    }
  ],
  "UpstreamPathTemplate": "/httpbin/",
  "UpstreamHttpMethod": [ "Get" ],
  "AuthenticationOptions": {
    "AuthenticationProviderKey": "TestKey",
    "AllowedScopes": [
      "openid",
      "offline_access"
    ]
  },
  "AddQueriesToRequest": {
    "UserType": "Claims[sub] > value[0] > |"
  }
}

@david-martyn-ford thanks for your interest in the project.
First thoughts I agree. I'll have a look at this as current priority!

@TomPallister Just upgraded and it is now working as expected! Really appreciate the quick turn around on this, was a big pain in the backside.

This doesn't works, I had test the 17.0.0 and the 18.0.0 :(


HTML/CSS & JavaScript capstone project - Global Music Event Page

HTML/CSS & JavaScript capstone project - Global Music Event Page

I Used Flexbox to place elements on the page.
Demonstrated ability to create UIs adaptable to different screen sizes using media queries.
I Used GitHub Pages to deploy web pages.
Used JavaScript to manipulate DOM elements.
I  Used JavaScript events.
Used objects to store and access data.
Communicate technical concepts to other technical people.
loom video describing my project

All issues resolved
This is my last review chance, I was asked to make two changes in my last review, which I have done. Please kindly reach out to me on slack if you need me to make any further changes. Thanks


DEBUG: Step inside function calls (command “step”)

We can not debug nested functions.
Check where debug info missed.
Investigate how to receive debug info on each step of pipeline.
Collected info about steps will help to write docs about compilation pipeline #385.

[x] implement and test #424
[x] update docs

Search for nested function info in debug info

NUMBA_DUMP_OPTIMIZED - print, after lowering and optimizations

Contains nested function information

Spirv investigation: https://github.com/IntelPython/numba-dppy/issues/418

Implemented by https://github.com/IntelPython/numba-dppy/pull/424


Wrong Gardevoir abilities

Gardevoir is listed with ability Pixilate, except it’s the ability of Mega Gardevoir, while normal Gardevoir has Synchronize, Trace and Telepathy. Both wiki.52poke.com and www.serebii.net list abilities correctly from what I can see.

It looks like there's a problem with all the mega types. I'll get around to it. Thank you.

@flashymittens fixed.


Feature request: Grid Question type for radiobutton / checkbox questions

It would be great to have a grid question type for radio buttons and check boxes, this question type would allow multiple questions to be stored against the same set of options and would have the questions layed out in a grid, something like the image below:

@BarryGibson this kind of field should probably be built as a custom field.
I'm considering starting up a separate project for custom fields and other useful extensions, that can't be in the core... this field type could be meaningful to add there.

Hi @kjac I think that's a great idea, and I would be very happy to contribute to it. I am currently working on this field type. as well as a couple of others.

I've found no time to start a side project for custom fields and other extensions. If anyone's up for the task, by all means do so.
I'm closing this for the time being.


Tigerbrew

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you successfully ran brew tests with your changes locally?

These patches originated in Tigerbrew; they add support for obsolete Xcode and XQuartz versions. My goal is to eventually unify the Homebrew and Tigerbrew core code, so I'd like to get support for this into Homebrew.

All these changes seem non-invasive and reasonable. They may even end up helping Linuxbrew too 👍

:+1:

:+1:


.toLowerCase/UpperCase() should infer to Lowercase/Uppercase<string>

The Lowercase and Uppercase types are relatively new to TS and already have analogs in Zod.
When I do this:
const MySchema = z.string().toLowerCase();
type MyType = z.infer<typeof MySchema>;

I should get this:
type MyType = Lowercase<string>

In zod v3.21.4, I get this:
type MyType = string

Hey 👋
Despite z.string() always infers to string (and not template literal types), this actually makes sense.

Lowercase<string> & Uppercase<string> extend string, so it shouldn't add any complexity to downstream inference.
You can actually force inputs of a function to be lowercase / uppercase:

function fn<T extends Lowercase<any>>(str: T) {}

fn('moshe') // OK!
fn('Moshe') // type-error!

So having this in zod, removes the need for type-guards before passing str to the function.

TypeScript collapses Lowercase<string> to just string. The Lowercase built-in is intended for converting string literal types.
type MyType = Lowercase<string>
// => string


Update instructions in the UI or remove them and link to them?

It seems a bit intimidating when a new user is greeted with a wall and wall of text (that atm is a bit inaccurate).
Question I have is should we:

Edit the text and shorten it
Remove it and just link to readme for setup instructions?
Enhance tooltips?

Wdyt @Nisaba @ndeet (This same question applies for GrandNode)?
Imo combination of 2) and 3) should be the most opimal.

Maybe keep the automatic configuration and link to the manual configuration to keep it shorter as the description of api key generation and webhook is too distracting?

It seems that the 422 error paragraph is no longer relevant.
Since this case has been handled in the webhook for some time now...

Alright, I can take care of this one.


Rust JNI FileStorage bindings sample

This pull request introduces an interactive sample application demonstrating the use of the Rust bindings for the FileStorage, from the fs-storage.
The application features two dialogs:

Root Directory Selection: Allows the user to choose a specific directory as the storage root.
File Scoring Dialog: Enables users to select files from the chosen root directory and assign individual scores to them.

All calculated scores for the selected root directory are then saved to a file named storage.txt located within the same root directory

Currently, this pull request is awaiting resolution of https://github.com/ARK-Builders/ark-core/pull/92, so the fs-storage binaries and library can be properly imported.

Closing this Pull Request as I created the branch directly on the repository instead of forking it. Please see the new Pull Request here: https://github.com/ARK-Builders/ark-android/pull/110


solved issue #1385

Description
Solved spelling mistake
Related Issues
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]

Closes #1385

Type of PR

[ ] Bug fix
[ ] Feature enhancement
[x ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes]

Checklist

[x] I have gone through the contributing guide
[x] I have updated my branch and synced it with project main branch before making this PR
[x] I have performed a self-review of my code
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ ] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

Direct PR is not allowed..!

Oh, Im sorry, I'll make sure it doesn't happen again. Once again my apologies


x-omitempty doesn't work with a $ref'ed object

Problem statement
The x-omitempty property doesn't generate the corresponding omitempty struct stag with a $ref'ed object.
I tried inlining the $ref and that solved the problem.
I apologize in advance if this is a repeat issue, as this seems like a common enough problem. I tried to find an existing issue, but couldn't.
Swagger specification
swagger: "2.0"
info:
  description: >
    Example
  title: Example
  version: "1.0"

paths:
  /example:
    get:
      operationId: "exampleOp"
      produces:
        - "application/json"
      responses:
        200:
          description: "An example"
          schema:
            type: string

definitions:
  testDef:
    type: object
    properties:
      end:
        type: integer
        x-omitempty: false
        $ref: "#/definitions/testRef"

  testRef:
    type: integer

Steps to reproduce
swagger generate model -f test_swagger.yaml -m=test_swagger
Expected output
// TestDef test def
//
// swagger:model testDef
type TestDef struct {

	// end
	End TestRef `json:"end"`
}

Actual output
// TestDef test def
//
// swagger:model testDef
type TestDef struct {

	// end
	End TestRef `json:"end,omitempty"`
}

Environment
swagger version: v0.25.0 (also tried dev)
go version: 1.15.5
OS:  darwin/amd64 (Mac 10.15.6)

The Swagger Schema spec doesn't allow a $ref entry to have any siblings, and so they're ignored.

The Swagger Schema spec doesn't allow a $ref entry to have any siblings, and so they're ignored.

I looked at that issue but I saw some commits that "fixed it" so I thought this was different. I understand now, thank you!

I looked at that issue but I saw some commits that "fixed it" so I thought this was different. I understand now, thank you!


Enhancement: Server and Peer status page

This would be by far the best update to your awesome project. Keep up the good work.

Nice idea, but I'm afraid this is not really possible because wireguard is a "connectionless" vpn...


fix(number-input): fix incorrect controls border for readonly mode

Related Ticket(s)
Closes #11390
Description
Fixed incorrect controls styles for readonly number input
Changelog
New

added some styles

I have read the DCO document and I hereby sign the DCO.

recheck

Hey guys I want to work on carbon web components at IBM :)


[Feature] Bump jsonwebtoken to v9.0.0

Description
There is a security issue with jsonwebtoken library in v8.5.1
Describe the solution you'd like
This could be nice to bump jsonwebtoken to v9.0.0 where a fix have been made

Hello, thanks for your report! @bastiengrignon It is now fixed in 03e8d51.

Thank you for the quick fix 🙏 😄


Parameter Hints for Functions defined in Singletons not showing up

Godot version:
3.2.2.stable.official
OS/device including version:
Both Windows 10 1909 and Fedora 31
Issue description:
When typing functions from a custom singleton script, no parameter hints are shown, makes it hard to fill out real big functions. Then poor ol' me is left stranded to remember what parameters should go in here.
Steps to reproduce:
Make a script, e.g. "Node2.gd", put in a function with parameters, and define it as a singleton.

Have another script, e.g. "Node.gd", autocomplete Node2.gd's function as normal. Parameter hints will not show up as they otherwise do.
What happens:

Expected behaviour (these hints do show up if trying to call the function within the same script file):

Minimal reproduction project:
parameter_hints.zip

Duplicate of #48624 (yeah the other one is newer but it received interaction)


Make documentation compatible with Ansible Galaxy

To be able to display the Collection's documentation on Ansible Galaxy (and by proxy by using ansible-doc) we should change the location of certain pieces of documentation, merge and add some files.
Even though most of the modules and plugins within this Collection are meant for internal use, ansible-doc still finds them but can't show any documentation.
We should at least add a basic description.

[ ] Collection README

Avoid links or use absolute ones since Galaxy can't seem to handle relative ones

[ ] Roles README

[ ] icinga2
[ ] icingadb
[ ] icingadb_redis
[ ] icingaweb2
[ ] monitoring_plugins
[ ] repos

[ ] Modules / Plugins

[ ] icinga2_apilistener
[ ] icinga2_apiuser
[ ] icinga2_checkcommand
[ ] icinga2_checkercomponent
[ ] icinga2_dependency
[ ] icinga2_elasticsearchwriter
[ ] icinga2_endpoint
[ ] icinga2_eventcommand
[ ] icinga2_externalcommandlistener
[ ] icinga2_filelogger
[ ] icinga2_gelfwriter
[ ] icinga2_graphitewriter
[ ] icinga2_host
[ ] icinga2_hostgroup
[ ] icinga2_icingaapplication
[ ] icinga2_icingadb
[ ] icinga2_idomysqlconnection
[ ] icinga2_idopgsqlconnection
[ ] icinga2_influxdb2writer
[ ] icinga2_influxdbwriter
[ ] icinga2_livestatuslistener
[ ] icinga2_notification
[ ] icinga2_notificationcommand
[ ] icinga2_notificationcomponent
[ ] icinga2_opentsdbwriter
[ ] icinga2_perfdatawriter
[ ] icinga2_scheduleddowntime
[ ] icinga2_service
[ ] icinga2_servicegroup
[ ] icinga2_sysloglogger
[ ] icinga2_timeperiod
[ ] icinga2_user
[ ] icinga2_usergroup
[ ] icinga2_zone

Ref:

#274

Some progress:
https://github.com/Icinga/ansible-collection-icinga/compare/main...doc/321-ansible-galaxy


[SPARK-23661][SQL] Implement treeAggregate on Dataset API

What changes were proposed in this pull request?
Many algorithms in MLlib are still not migrated their internal computing workload from RDD to DataFrame. treeAggregate is one of obstacles we need to address in order to see complete migration.
This patch is submitted to provide treeAggregate on Dataset API. For now this should be a private API used by ML component.
The approach of tree aggregation imitates RDD's treeAggregate.
How was this patch tested?
Added unit test.

cc @dbtsai @cloud-fan

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1478/
Test PASSed.

Test build #88194 has started for PR 20806 at commit a254d15.

Test build #88194 has finished for PR 20806 at commit a254d15.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/88194/
Test FAILed.

retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1482/
Test PASSed.

Test build #88200 has started for PR 20806 at commit a254d15.

Test build #88200 has finished for PR 20806 at commit a254d15.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/88200/
Test PASSed.

The API seems not dataframe style. What I expect is something like:
dataset.groupBy().setAggregateLevel(2).agg(Map("age" -> "max", "salary" -> "avg"))

@WeichenXu123 I feel groupBy is more SQL-like aggregation by which we can specify a key to grouping by. At least rdd.treeAggregate does not support key-specified aggregation.
For typed grouping groupByKey, it constructs KeyValueGroupedDataset by which we rely on SQL Aggregate execution to grouping data. Currently it doesn't support tree-based aggregation.
This work doesn't intend to overhaul SQL aggregation to support tree-based aggregation. So the API will looks more like as is.

@viirya Yes. treeAggregate should only apply to global aggregate.
But in this PR the API have to use seqOp/combOp.
What I expect is that the dataframe version treeAggregate can exploit built-in agg function (suppose in the future we have built-in agg function for vector type)
dataset.groupBy() if do not given any key column then it will group the whole dataset so it can match the case of treeAggregate, or do you have some better design ?

But I haven't benchmark. Maybe it do not worth to do codegen for treeAggregate.

@WeichenXu123 The seqOp/comOp can be arbitrary and works on domain objects, I'm not sure if built-in agg functions can satisfy all the use of it. For example, it seems hard to express IDF.DocumentFrequencyAggregator in built-in agg functions if any. One possible way is to use Aggregator  and developers can write their aggregation function when doing treeAggregate.
One advantage of seqOp/comOp is that ML developers don't need to learn how to write Aggregator. It may let them exposed to some concepts like Encoder.  I have concerned that ML developer should know this or not.
Anyway, to work with built-in agg functions or Aggregator, because it uses SQL aggregation system, we may need to overhaul the current aggregation system to support tree-style aggregation. Although it can benefit more situations not just ML, it needs more thinking and design.
You can think of this as a workaround for now. Thus it is only for private use.

@viirya ok. but there're already a class in ML use TypedImperativeAggregator, see Summarizer.
And do you benchmark and compare this PR and df.rdd.treeAggregate?
Seems they're almost the same. Is there some difference which can make remarkable performance improvement ?

@WeichenXu123 As the discussion with @cloud-fan at https://github.com/apache/spark/pull/20806#discussion_r174277864, I'd like to see some performance gain it, but I need to run benchmark to see if there is any.

@cloud-fan @WeichenXu123 Ok. I've setup a Spark cluster with 5 nodes for the benchmark.
The used data:
val r = new Random
val ds = (0 to 10000).map { _ =>
  val a = Array.fill(10000)(if (r.nextDouble() > 0.5) 1.0 else 0.0 )
  Tuple1(Vectors.dense(a))
}.toDS

Two versions of treeAggregate perform very close. Thus, directly using RDD.treeAggregate can be much simpler.

great! maybe we can hold this PR for a real SQL tree aggregate in the future, with some proper design and discussion.

Yeah! Let me close this for now. We can discuss this further in the Jira ticket then.


Comment on bath dynamics code section

We should comment on the code sections in the bath_dynamics.py file:
https://github.com/tempoCollaboration/TimeEvolvingMPO/blob/c7f972f64bd5d4ecf9bf7706b92aad3ba8fbbaac/oqupy/bath_dynamics.py#L249-L262
And explain somewhere these expressions come from.

#37 did the job - thanks!


Being able to backup settings, like Connections, Extensions, etc.

👋🏻 G'day awesome team!
Could we have the ability to backup our settings, like any connections we've made, any server groups and even any extensions we've included.
I'd love to be able to format my pc, re-install this product on a fresh machine and then 'log in' and viola, my stuff comes back in.
Just imagine having 50 connections and having to re-add them all, into server groups, etc.
Any chance this could be considered?

All that information is stored in the user settings - you can find this by running the Preferences: Open Settings (JSON) command and then noting the path to the JSON file. Just copy that file somewhere and after reformatting you can put it back (overwriting the new one if that was created) and it will restore all previously saved connections/groups/etc.
(Note that not all settings across the app/extensions are stored here. Connections/Groups are but other things may be stored elsewhere - so if you see something missing let us know and we can help figure out how to back those settings up as well)

👋🏻 Hi @Charles-Gagnon - thank you so much for the quick reply! appreciate it!
A few questions, based on your answer above:

Is this the file you mean?

It only has information about my connectionGroups and connections. (not other settings like colours, spaces, whatever).

Now that we have a file with all our settings, the objective of this GH issue is to see if these settings can be CLOUD SAVED -somewhere-. So I'm assuming that by closing this you are saying: "Nope, we won't do this. We have give you a file, do what you want".

Not hating/attacking/trolling -> just after confirmation/clarity.

Yup, that's the one. What other settings are you specifically referring to? Note that if you haven't changed the values from the default they won't show up in there - but generally all other settings should be saved there - e.g. color theme would be

    "workbench.colorTheme": "Default Dark Azure Data Studio",

Unfortunately we don't have cloud saving built in as a feature of ADS. But you could leverage the command line option --user-data-dir to point to a folder you have saved in a cloud location. e.g.

azuredatastudio --user-data-dir="C:\users\<username>\OneDrive\adsdata"
and that will store all the settings and other data there instead of the default location.

Note that if you haven't changed the values from the default they won't show up in there

AH! i've not changed -anything- so that's why that file was basically naked, except for my connections and connection groups. Gotcha!

you could leverage the command line option

oh nice!! is that documented?
thanks again @Charles-Gagnon and team -> keep fighting the good fight!

Being a fork of VS Code you can usually rely on their docs to have good information https://code.visualstudio.com/docs/editor/command-line#_advanced-cli-options
(ours docs sadly aren't nearly as comprehensive as theirs)


⚠ Bofrost.de has degraded performance

In bfe56c8, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2337 ms

Resolved: Bofrost.de performance has improved in 7226a40 after 12 minutes.


fix(Popup): Do not focus trigger on outside click

Fix for https://github.com/stardust-ui/react/issues/576

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS


Move GSProcessing docs to main repo documentation.

Issue #, if available:
Description of changes:
Move the GSProcessing docs under the main repo to allow publishing under common readthedocs project.
Add a new "Distributed Processing" section at the index root, rename "Scale to Giant Graphs" to "Distributed Training" to differentiate between processing and training.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

If we move these docs to the main /docs repo, are these make, conf.py files necessary. Can we remove them?

If we move these docs to the main /docs repo, are these make, conf.py files necessary. Can we remove them?

This PR removes them.

When I run Sphinx make html. Get the following warning and errors. Could you take a look?
/data/theo/graphstorm/docs/source/gs-processing/developer/developer-guide.rst:37: WARNING: Title underline too short.

Install ``pyenv``
~~~~~~~~~~~~~
/data/theo/graphstorm/docs/source/gs-processing/developer/developer-guide.rst:37: WARNING: Title underline too short.

Install ``pyenv``
~~~~~~~~~~~~~
/data/theo/graphstorm/docs/source/gs-processing/developer/developer-guide.rst:75: WARNING: Title underline too short.

Install ``poetry``
~~~~~~~~~~~~~~
/data/theo/graphstorm/docs/source/gs-processing/developer/developer-guide.rst:75: WARNING: Title underline too short.

Install ``poetry``
~~~~~~~~~~~~~~
/data/theo/graphstorm/docs/source/gs-processing/developer/developer-guide.rst:85: WARNING: Title underline too short.

Install dependencies through ``poetry``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/theo/graphstorm/docs/source/gs-processing/developer/developer-guide.rst:85: WARNING: Title underline too short.

Install dependencies through ``poetry``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/theo/graphstorm/docs/source/gs-processing/developer/developer-guide.rst:180: WARNING: Title underline too short.

Use a pre-commit hook to ensure ``black`` and ``pylint`` runs before commits
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/data/theo/graphstorm/docs/source/scale/distributed.rst:4: WARNING: Duplicate explicit target name: "nfs tutorial".
/data/theo/graphstorm/docs/source/scale/distributed.rst:4: WARNING: Duplicate explicit target name: "nfs guide".
looking for now-outdated files... none found
pickling environment... done
checking consistency... /data/theo/graphstorm/docs/source/gs-processing/developer/developer-guide.rst: WARNING: document isn't included in any toctree
/data/theo/graphstorm/docs/source/gs-processing/developer/input-configuration.rst: WARNING: document isn't included in any toctree
done
preparing documents... done
writing output... [100%] tutorials/quick-start
/data/theo/graphstorm/docs/source/gs-processing/usage/amazon-sagemaker.rst:37: WARNING: unknown document: '/usage/distributed-processing-setup'
/data/theo/graphstorm/docs/source/gs-processing/usage/amazon-sagemaker.rst:54: WARNING: unknown document: '/usage/distributed-processing-setup'
/data/theo/graphstorm/docs/source/tutorials/own-data.rst:262: WARNING: Could not lex literal_block as "json". Highlighting skipped.

After compile the latest commit, I found there is a place like,
For more info on pyen see its documentation. <https://github.com/pyenv/pyenv>.
But I cannot find this in the source code. Do you know where it is? And  fix this anchor format.


Correcting link to @veltman profile

@veltman >  https://github.com/veltman

Thanks for this - I've updated the credits to include more/correct links with 473a92b!


Required props

import { Component, prop } from 'skatejs';

class MyElement extends Component {
  static props = {
    myProp: {
      // We should ensure this works as expected (i.e. does not coerce).
      // We should still keep the default coercions.
      coerce: null,

      // Value is applied prior to validation.
      default: 'test'

      // Similar should be implemented for all built-in props.
      // If coercion is on, then this still checks, but will likely pass.

      // Default value is `false`.
      required: true
    }
  }

When should it throw an exceptions. While I think that required is an important feature, I don't see the point at which you can currently assert required to be true.

First we need to provide nullable types. Currently all built in prop have a default value that is different then null.
Then in updatedCallback if any required prop is missing we would return false and therefore not render until all required props are present.

Makes sense, but the comment above refers to throwing in dev mode

If we do https://github.com/skatejs/skatejs/issues/991 then everything becomes nullable, but can still have a default that isn't null, it just doesn't reset to the default value when nulled.
Is preventing rendering the best idea? It could be possible to throw if required props aren't present by the time rendering occurs if it wasn't rendered sync, but debounced in a microtask. I think that would be more expected if it's possible.


Migrating from 10.33.0 to 10.34.0 can no longer cast to MigrationObject.

How frequently does the bug occur?
Always
Description
Overview
We are looking to migrate from version 10.33.0 to the latest version (10.37.1 at the time of writing) but our tests flagged up an issue affecting migration. It appears we can no longer cast to MigrationObject/DynamicObject which worked previously. Here is the migration code with added print statements to illustrate what is going wrong:
m.enumerateObjects(ofType: Subscription.className()) { (old, new) in

    guard let old, let new else { return }

    if let oldAccount = old["account"] as? DynamicObject {
        print("Old account: \(oldAccount)")
        if let accountId = oldAccount["id"] as? String {
            print("Account ID: \(accountId)")
            new["accountID"] = accountId // 10.33.0 successfully migrates the value
        } else {
            print("Failed to get account ID")
        }
    } else {
         print("Failed to get old account") // 10.34.0+ fails at this point instead of casting correctly
    }
}

In 10.33.0 we are able to cast old["account"] to a DynamicObject or MigrationObject and access it's subscript properties without issue. But as of 10.34.0 (I've tested all versions up to the latest and 10.34.0 was where the issue was introduced) the cast fails. I can't see anything within the release notes which would indicate a change in this behaviour.
Details
What seems to have worked (on 10.34.0+) is casting to RLMDynamicObject in the console. At this point I can then access the subscript properties with no issue. Unfortunately this is only possible in the console due to RLMDynamicObject being private.

But if I try to cast to either DynamicObject or MigrationObject I get nil.

The Subscription object is quite large, but you can see that account is clearly associated to it in this small snippet.

Stacktrace & log output
No response
Can you reproduce the bug?
Always
Reproduction Steps
The actual code this relates to is sensitive so I've shared what I can publicly for now.
Version
10.34.0
What Atlas Services are you using?
Local Database only
Are you using encryption?
No
Platform OS and version(s)
All
Build environment
Xcode version: 14.2
Dependency manager and version: SPM

How are you initializing your Realm instance that's performing the migration? The type of the objects passed to the migration callbacks is an internal configuration parameter set to MigrationObject when we convert a Realm.Configuration to the underlying RLMRealmConfiguration and to RLMMigrationObject when a RLMRealmConfiguration is created directly. It's possible that maybe one of our initialization paths is failing to propagate that value to the correct place?

let config = Realm.Configuration(
    fileURL: containerURL,
    schemaVersion: schemaVersion,
    migrationBlock: realmMigration
)
Realm.Configuration.defaultConfiguration = config

I should note that the above migration is one of many migration steps over a number of different versions. They all pass their tests except for this one. (realmMigration is a closure thats declared elsewhere and passed in)

And then you're just doing try Realm() to trigger the migration?

Oh, I think I see what the problem is. -[RLMRealmConfiguration copy] isn't copying the migrationObjectClass property and opening via the default configuration involves a copy.

Thanks for looking in to this for us, it sounds like there is a possible avenue to explore here? If you need us to test anything our side then please let us know and we would be happy to accommodate.
Just to note we are on GMT+1 so likely wont be able to look at any suggestions until tomorrow.

@tgoyne I just pointed to the branch with the fix and it seems to have resolved our issue with the test which was failing 🎉 I'm just pushing it though our CI to make sure nothing else is broken and then will report back.

It looks like the branch fixes the issues we were seeing and hasn't introduced anything which were caught by our tests. Is it possible this can make it into a patch release or will we have to wait for the next minor release?


MM-38093: updates notifications copy on CRT replies

Summary
Desktop notifications title for replies when users have with CRT "on"
should show "Reply in channel name/Direct Message".
e.g:

Reply in Off-Topic
Reply in Direct Message

Ticket Link
https://mattermost.atlassian.net/browse/MM-38093
Related Pull Requests

Has server changes (https://github.com/mattermost/mattermost-server/pull/18332)

Release Note
NONE

/update-branch

/cherry-pick release-6.0

Cherry pick is scheduled.


feat: add global search

Closes #494
Changelog
New

global header search input

Changed

algolia search box changes

MIGHT NEED TO UPDATE COLORS TO TOKENS

Since we aren't replacing the old site just yet I applied for docsearch for the next site, we need to wait to merge until that is approved and I have the updated code to add. (otherwise we will get search results for www)

The global search on the v9 version of the site just broke the entire site when it went down. Can you update the version in html.js to v2.6.2
<script<EMAIL_ADDRESS>/>
and also wrap window.docsearch({ code in an else statement so that if it does break the entire site doesn't go down. 😅

OMG thats so scary yea

Should we consider pulling that file down and including it on our end? That way we don't have to rely on the external script

@tw15egan Would it be better to just include it as a proper dependency in that case? Pinning the version in the script tag is definitely a good idea regardless.

Makes sense, as long as the version is locked down I'm happy

Hi Ale, looking great! Thanks for doing this. Some little design fixes:

[ ] the search results are missing active states: bg should be Gray 30. (My fault completely. I forgot to provide in spec.)
[ ] hover & active background height should be 34px (8px padding above & below text)

[ ] hovering category titles highlights the option underneath instead

[ ] underline of word "lost" should take the Blue 60

[ ] need add 16px gap above aloglia logo

@aledavila Weighing in - Just wondering if @tw15egan's comment has been addressed - Thanks!

@asudoh yes except the way the search box appears. Hiding versus on width change

OK looking forward to seeing the update on the search box - Thanks @aledavila!

Ship it!


chore: Rename mailchimp to mandrillapp

Description
Fixes #248.
This renames mailchimp provider to mandrillapp and changes both related maps (communication/send-email and communication/send-templated-email) to use mandrillapp instead.
I kept mailchimp app unchanged for the time being, it will have to be eventually changed to be able to target Mailchimp's API.

Motivation and Context
This is usability enhancment, as we have found that current identification of "mailchimp" provider is confusing for users, because transactional emails are actually sent with "mandrillapp". This caused users to use Mailchimp's API keys and ending up with "Invalid key" errors.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I haven't repeated the code. (DRY)
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

I kept mailchimp app unchanged for the time being, it will have to be eventually changed to be able to target Mailchimp's API.

Can you elaborate what app do you mean?

I kept mailchimp app unchanged for the time being, it will have to be eventually changed to be able to target Mailchimp's API.

Can you elaborate what app do you mean?

Mailchimp provides marketing API at https://*.api.mailchimp.com; should we support that with other use cases in the future, we will have to modify the mailchimp provider definition.

The change itself looks fine. But I am wondering if you have a plan what will happen with mailchimp provider and maps already published to registry.

It would be great if there were a possibility to hide the mailchimp provider on the relevant profiles' pages without removing the maps altogether, but I understand if it's not an option now. I assume the mailchimp maps will "disappear" with new minor versions of relevant profiles. I will also post an announcement on Discord and update our Resilient email tutorial.

Oh ok, I got it now. We will need to add another service to support marketing APIs. 👍


[Tooltip] Add default css max-width and customization demo

Take 2: Max Width as pure css default.

@simoami You have done a great job. It's a great first pull request on Material-UI 👌🏻.

Thanks @oliviertassinari 👍 I'll be happy to contribute more once I get a chance.


Why does cargo-web download emscripten and binaryen even though I have them installed?

Basically see title. I'm using Arch Linux and have emscripten and binaryen installed and working using provided packages but cargo-web still tries to download these. Can't it use system packages?

It can, if you pass it the --use-system-emscripten flag. By default it always downloads Emscripten for consistency's sake across multiple distributions.
I would definitely be willing to add a feature flag which would flip this default to be the other way around.

Thank you, I didn't see that flag!


Make changes to support API change in SPARK-34246

There is a change in API definition for findTightestCommonTypes. We need to make corresponding change in the plugin where we are calling this method

$ find . -type f -iname \*.scala | xargs grep -l findTightestCommonTypes

returns nothing.  We are not calling this directly.  That said we probably do want to add more tests for ANSI mode, and it might cause some issues because type corrosion is very different in ANSI vs non-ANSI mode.


AttributeError: 'function' object has no attribute 'ensure'

I've tried to make a patch but I don't get why all those branches are there. Why is screenshot_dir recreated in certain conditions?
[gw1] linux2 -- Python 2.7.12 /usr/bin/python2.7
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pytest_splinter/plugin.py", line 522, in _take_screenshot_on_failure
    splinter_screenshot_getter_png=splinter_screenshot_getter_png,
  File "/usr/local/lib/python2.7/dist-packages/pytest_splinter/plugin.py", line 376, in _take_screenshot
    screenshot_dir = session_tmpdir.ensure('screenshots', dir=True).strpath
AttributeError: 'function' object has no attribute 'ensure'

good catch, session_tmpdir needs to be a parameter of that function and passed from the fixture session_tmpdir
which branches do you mean?

try 1.8.4

Branches as in if statements :)

the if is for xdist so when it's on remote node it needs to be created both on remote and local sides

sorry for making mess - 1.8.5 should work

@bubenkoff 1.8.5 ain't on pypi yet, upload failed?

sorry again - missed that, now it's there

No problem, thanks for the quick fixes :)