trying to start pulseaudio container on ubuntu 14.04 failed

hi,
i'm trying to get pulseaudio working on my fresh ubuntu 14.04 install, but start fails with strange error:
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling: Input/output error
I: [pulseaudio] main.c: This is PulseAudio 6.0
D: [pulseaudio] main.c: Compilation host: x86_64-pc-linux-gnu
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto
D: [pulseaudio] main.c: Running on host: Linux x86_64 3.16.0-41-generic #57~14.04.1-Ubuntu SMP Thu Jun 18 18:01:13 UTC 2015
D: [pulseaudio] main.c: Found 4 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
I: [pulseaudio] main.c: Machine ID is c13e7e2624cc4eb7979db4ae87de51f9.
I: [pulseaudio] main.c: Using runtime directory /home/pulseaudio/.config/pulse/c13e7e2624cc4eb7979db4ae87de51f9-runtime.
I: [pulseaudio] main.c: Using state directory /home/pulseaudio/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-6.0/modules.
I: [pulseaudio] main.c: Running in system mode: no
I: [pulseaudio] main.c: Fresh high-resolution timers available! Bon appetit!
D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
I: [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2
I: [pulseaudio] svolume_mmx.c: Initialising MMX optimized volume functions.
I: [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers.
I: [pulseaudio] svolume_sse.c: Initialising SSE2 optimized volume functions.
I: [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers.
I: [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions.
I: [pulseaudio] svolume_orc.c: Initialising ORC optimized volume functions.
D: [pulseaudio] alsa-util.c: Trying default with SND_PCM_NO_AUTO_FORMAT ...
I: pulseaudiopcm_hw.c: open '/dev/snd/pcmC0D0c' failed (-2)
I: pulseaudiopcm_dsnoop.c: unable to open slave
I: [pulseaudio] alsa-util.c: Error opening PCM device default: No such file or directory
E: [pulseaudio] module.c: Failed to load module "module-alsa-source" (argument: "device="default" tsched=1"): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.
I: [pulseaudio] main.c: Daemon terminated
and container keep restarting over and over :(
did i miss something ?
thanks a lot for your awesome container work !

If you are running Ubuntu it's probably already running pulseaudio on your
host
On Tuesday, July 7, 2015, xinity<EMAIL_ADDRESS>wrote:

hi,
i'm trying to get pulseaudio working on my fresh ubuntu 14.04 install, but
start fails with strange error:
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation
not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation
not permitted
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to
connect to socket /var/run/dbus/system_bus_socket: No such file or directory
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling:
Input/output error
I: [pulseaudio] main.c: This is PulseAudio 6.0
D: [pulseaudio] main.c: Compilation host: x86_64-pc-linux-gnu
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2
-fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra
-pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations
-Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security
-Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow
-Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings
-Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option
-fdiagnostics-color=auto
D: [pulseaudio] main.c: Running on host: Linux x86_64 3.16.0-41-generic
#57~14.04.1-Ubuntu SMP Thu Jun 18 18:01:13 UTC 2015
D: [pulseaudio] main.c: Found 4 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
I: [pulseaudio] main.c: Machine ID is c13e7e2624cc4eb7979db4ae87de51f9.
I: [pulseaudio] main.c: Using runtime directory
/home/pulseaudio/.config/pulse/c13e7e2624cc4eb7979db4ae87de51f9-runtime.
I: [pulseaudio] main.c: Using state directory
/home/pulseaudio/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-6.0/modules.
I: [pulseaudio] main.c: Running in system mode: no
I: [pulseaudio] main.c: Fresh high-resolution timers available! Bon
appetit!
D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of
size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is
65472
D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of
size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is
65472
I: [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1
SSE4_2
I: [pulseaudio] svolume_mmx.c: Initialising MMX optimized volume functions.
I: [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers.
I: [pulseaudio] svolume_sse.c: Initialising SSE2 optimized volume
functions.
I: [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers.
I: [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions.
I: [pulseaudio] svolume_orc.c: Initialising ORC optimized volume functions.
D: [pulseaudio] alsa-util.c: Trying default with SND_PCM_NO_AUTO_FORMAT ...
I: pulseaudio http://alsa-libpcm_hw.c: open '/dev/snd/pcmC0D0c' failed
(-2)
I: pulseaudio http://alsa-libpcm_dsnoop.c: unable to open slave
I: [pulseaudio] alsa-util.c: Error opening PCM device default: No such
file or directory
E: [pulseaudio] module.c: Failed to load module "module-alsa-source"
(argument: "device="default" tsched=1"): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.
I: [pulseaudio] main.c: Daemon terminated
and container keep restarting over and over :(
did i miss something ?
thanks a lot for your awesome container work !
—
Reply to this email directly or view it on GitHub
https://github.com/jfrazelle/dockerfiles/issues/38.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

indeed!
Should i adapt my host config to make skype/spotify containers able to communicate with pulseaudio ?

Yes
On Tuesday, July 7, 2015, xinity<EMAIL_ADDRESS>wrote:

indeed!
Should i adapt my host config to make skype/spotify containers able to
communicate with pulseaudio ?
—
Reply to this email directly or view it on GitHub
https://github.com/jfrazelle/dockerfiles/issues/38#issuecomment-119241607
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

awesome !!!
it' works like a charm,
thanks a lot :)

Hi jess - I reiterate how great your container work is!  Am having same trouble as xinity, and am unclear how it was solved.  I'm trying to get the Tor and pulseaudio containers to link (in virtualbox Centos 7 VMs).   I think pulseaudio is crashing with same errors shown above.  Did solution " adapt my host config" mean changing the "HostConfig object" and is there a URL you could suggest on how to do this?  Does this introduce security issues?  I'm using Docker 1.8.3.  Thanks!

Either uninstall pulse audio on your host or set your host pulse audio to run on the port specified in my container you can't have 2 pulse audios running

Thanks Jess, you're the best!
Ted Barnes
Soholistic Networks
www.soholistic.net
(508) 277 9666
On 10/30/2015 10:44 AM, Jess Frazelle wrote:

Either uninstall pulse audio on your host or set your host pulse audio
to run on the port specified in my container you can't have 2 pulse
audios running
—
Reply to this email directly or view it on GitHub
https://github.com/jfrazelle/dockerfiles/issues/38#issuecomment-152544486.

Hi Jess:
Sorry to ask, but am still having trouble getting sound to work and was hoping you might have a suggestion or two.  Again, I'm running docker 1.8.3 inside of virtualbox 5.0.4 on Windows 10....
I spun up a new virtualbox vm (jessie) with a minimal mate desktop, and did a "apt-get autoremove pulseaudio".  A dpkg-query -l 'pulse*' shows (so I think pulseaudio is uninstalled on the vm):
"un  pulseaudio                                (no description available)"
Your spotify and linked pulseaudio/tor containers all see to start and run fine without errors but also with no sound (i.e., first trying spotify, then trying linked pulseaudio/tor).
Q:  with pulseaudio gone, do I need some sort of sound on virtualbox like alsa?  Or is it possible there's still some remnant on the vm?
Q:  it the problem with my using windows 10?
Q:  are there other errors I can look for to try to troubleshoot this?
Stumped!  Any thoughts appreciated...Best,  Ted

yes alsa for sure
On Tue, Nov 3, 2015 at 9:37 AM, senrabdet<EMAIL_ADDRESS>wrote:

Hi Jess:
Sorry to ask, but am still having trouble getting sound to work and was
hoping you might have a suggestion or two. Again, I'm running docker 1.8.3
inside of virtualbox 5.0.4 on Windows 10....
I spun up a new virtualbox vm (jessie) with a minimal mate desktop, and
did a "apt-get autoremove pulseaudio". A dpkg-query -l 'pulse*' shows (so I
think pulseaudio is uninstalled on the vm):
"un pulseaudio (no description available)"
Your spotify and linked pulseaudio/tor containers all see to start and run
fine without errors but also with no sound (i.e., first trying spotify,
then trying linked pulseaudio/tor).
Q: with pulseaudio gone, do I need some sort of sound on virtualbox like
alsa? Or is it possible there's still some remnant on the vm?
Q: it the problem with my using windows 10?
Q: are there other errors I can look for to try to troubleshoot this?
Stumped! Any thoughts appreciated...Best, Ted
—
Reply to this email directly or view it on GitHub
https://github.com/jfrazelle/dockerfiles/issues/38#issuecomment-153427933
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

i have no tried these on ubuntu so I am unsure if they work :/ the
virtualbox should not be an issue unless you are running in headless mode
On Tue, Nov 3, 2015 at 9:45 AM, Jessica Frazelle<EMAIL_ADDRESS>wrote:

yes alsa for sure
On Tue, Nov 3, 2015 at 9:37 AM, senrabdet<EMAIL_ADDRESS>wrote:

Hi Jess:
Sorry to ask, but am still having trouble getting sound to work and was
hoping you might have a suggestion or two. Again, I'm running docker 1.8.3
inside of virtualbox 5.0.4 on Windows 10....
I spun up a new virtualbox vm (jessie) with a minimal mate desktop, and
did a "apt-get autoremove pulseaudio". A dpkg-query -l 'pulse*' shows (so I
think pulseaudio is uninstalled on the vm):
"un pulseaudio (no description available)"
Your spotify and linked pulseaudio/tor containers all see to start and
run fine without errors but also with no sound (i.e., first trying spotify,
then trying linked pulseaudio/tor).
Q: with pulseaudio gone, do I need some sort of sound on virtualbox like
alsa? Or is it possible there's still some remnant on the vm?
Q: it the problem with my using windows 10?
Q: are there other errors I can look for to try to troubleshoot this?
Stumped! Any thoughts appreciated...Best, Ted
—
Reply to this email directly or view it on GitHub
https://github.com/jfrazelle/dockerfiles/issues/38#issuecomment-153427933
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu
http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

Thanks(!)...will try, post back (appreciate your help)

For anyone still having this issue, find the location of the unix domain socket on your host $ netstat -lnp | grep "pulseaudio" Mount the run directory inside the container and pass the unix domain socket as the argument of the environment variable PULSE_SERVER. This assumes that you want to leave pulseaudio running on your host!
Example:
-v /run/user/1000/pulse:/run/user/1000/pulse \
-e PULSE_SERVER=unix:/run/user/1000/pulse/native \

Hello Jess,
I dont want to open a new issue for this topic. Is their a walkthrough, how I can get the sound from the docker to the host?
Because for example, when I am trying to watch a video over the Docker/Firefox I always receive this error:
WARNING: Decoder=7f0efecc4200 [OnMediaSinkAudioError]

I did a strace and cat+grepped the offending thread.
Look like it's pulseaudio related
...
[pid 29822] connect(103, {sa_family=AF_UNIX, sun_path="/run/user/1000/pulse/native"}, 110) = 0
[pid 29822] send(68, "W", 1, MSG_NOSIGNAL) = -1 ENOTSOCK (Socket operation on non-socket)
[pid 29822] write(68, "W", 1)           = 1
[pid 29822] write(68, "W", 1)           = 1
[pid 29822] futex(0x58eb5170, FUTEX_UNLOCK_PI_PRIVATE) = 0
...
crash.txt


Cluster and timers

Hi!,
We are developing a meteor app and using the cluster package.
We are currently having issues with the meteor timers (Meteor.setInterval and Meteor.clearTimeout); only the instance that started the timer is able to clear it, so if you are working with 4 instances the operation only success 25% of the times.
Is there any way of synchronize the timers with the application instances?

Having distributed timers is hard. Try to use synced-cron project. See: https://github.com/percolatestudio/meteor-synced-cron


add picture-in-picture icon

Name of the icon: picture-in-picture icon
What is the purpose of this icon?: switch to picture-in-picture mode
Icon:

@cd16b Nice work!
I think would be nice to have also the variant without the arrow.
This would be useful for example to indicate if picture-in-picture mode is active.

Added, let me know if the padding is ok.

"icon:"

other design:

Nice I like the last one. Can you try to increase the bigger rectangle with 1px at the bottom, then it will match with the monitor icon.

icon:

Nice very clean! Like this one

Hm... not totally sure, it's ever so slightly off center both to the left and to the top, but this is once again one of those edge cases where pixel perfection and aesthetics collide, and it can't be corrected for without damaging either the pixel perfectness or the visual weight of the icon. The bottom right icon shows a version where both pixel perfection and centre of gravity are so to speak optimal, but the icon itself is a bit meh. 😅

@ericfennis: I think we could do with some more tags, maybe:
pop out, always on top, window, inset and multitask (I think the first two for sure).


Markdown Code Highlight failed to parse Shell/Bash language

Expected Behavior
Parse Shell/Bash code blocks in Markdown with no error, like what 0.19.x versions do.
Actual Behavior

Warning: Unsupported highlight language "shell" will not be highlighted
Warning: Unsupported highlight language "bash" will not be highlighted
Warning: Missing type converter for type: this
Warning: Missing type converter for type: false

Steps to reproduce the bug

tsconfig.json
CI logs

Environment

Typedoc version: 0.20.1
TypeScript version: 3.9.7
Node.js version: 14.15.0
OS: Windows 10 Pro 2004

shell, sh, and bash will be mapped to the shellscript language in 0.20.2
true/false/this/null type converters - took me a while to see this... it's only a problem with old TS versions. Should also be fixed in 0.20.2.


Packaging improvements

Prompted by @benjaminrose’s suggestions in this comment on the JOSS review:

Tests don't install the package via pip. They currently test the source code, good. But don't test what will be sent installed from pypi, less good. This explains how you are testing your project directory and not how it will be installed by users, https://hynek.me/articles/testing-packaging/. This is a valid test suite, but may not be doing what you expect.

Some background:
Since I didn’t have experience with Python packaging before working on sntools, I tried to stick close to the official recommendations (1, 2), which did not mention the src folder structure recommended in the linked blog post. (Though now that I’ve looked into it, it seems to me that this is hotly debated.)
I think my first step to improve packaging should be to set up a GitHub Action that automatically packages sntools and publishes it to PyPI whenever there’s a new release. (That will largely eliminate human error, which is probably the main source of packaging issues.) I’ll check how it’s possible to install & test as part of that action and will update this issue accordingly.

Yes, this is a hotly debated topic. As such it should not hold up the acceptance to JOSS, but it is something to understand and document. Code always does what you say rather than what you intend.

I’ve added an action to package up any new release and publish it to PyPI. Made a new release (v0.7.1) a few hours ago to test this and it appears to work well. This action will largely eliminate the possibility of human error & will work without modification for typical changes to sntools (i.e. new detectors, input formats, etc.).
I’ve made a private note to revisit this if there are major changes to the structure of sntools & will also leave this issue open for visibility.

I’ve added an action to package up any new release and publish it to PyPI. Made a new release (v0.7.1) a few hours ago to test this and it appears to work well. This action will largely eliminate the possibility of human error & will work without modification for typical changes to sntools (i.e. new detectors, input formats, etc.).
I’ve made a private note to revisit this if there are major changes to the structure of sntools & will also leave this issue open for visibility.


Reduce the block cache configurations into a single one

Close #1495

@Yangsx-1 Another point is that needs to ignore the below configurations when rewriting:

rocks_db.share_metadata_and_subkey_block_cache
rocksdb.metadata_block_cache_size
rocksdb.subkey_block_cache_size

to make sure they won't appear in the config file.

This means that these configurations shouldn't be in the config file? If it appears, there may be some warning messages or error?

@Yangsx-1 Another point is that needs to ignore the below configurations when rewriting:

rocksdb.share_metadata_and_subkey_block_cache
rocksdb.metadata_block_cache_size
rocksdb.subkey_block_cache_size

to make sure they won't appear in the config file.

This means that these configurations shouldn't be in the config file? If it appears, there may be some warning messages or error?

@Yangsx-1 Another point is that needs to ignore the below configurations when rewriting:

rocksdb.share_metadata_and_subkey_block_cache
rocksdb.metadata_block_cache_size
rocksdb.subkey_block_cache_size

to make sure they won't appear in the config file.

This means that these configurations shouldn't be in the config file? If it appears, there may be some warning messages or error?

What I mean is to remove them from the kvrocks.conf and keep the config.cc as it is, since the rocksdb.block_cache_size is expected to calculate from them if it's not set.

Others are generally good for me, thanks for your efforts.

@git-hulk rocksdb.share_metadata_and_subkey_block_cache is completely ignored after the change (it will always be ON, despite whether the option is ON or OFF)

@git-hulk rocksdb.share_metadata_and_subkey_block_cache is completely ignored after the change (it will always be ON, despite whether the option is ON or OFF). Is it OK?

Yes, it's intentional. Because from the user side, it's no reason to separate the block cache between column families.

Thanks for your contribution!


The function name is incorrect: Get-MgDeviceManagementDeviceCustomAttributeShellScriptUserRunStateDeviceRunStateManagedDeviceCloudPcRemoteActionResult

Issue found by this https://twitter.com/alexandair/status/1504088670718017537?t=Ze2i48cMhOHxyn202NCjjA&s=19
And the link to the doc: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devicemanagement.functions/get-mgdevicemanagementdevicecustomattributeshellscriptuserrunstatedevicerunstatemanageddevicecloudpcremoteactionresult?view=graph-powershell-beta
Get-MgDeviceManagementDeviceCustomAttributeShellScriptUserRunStateDeviceRunStateManagedDeviceCloudPcRemoteActionResult
This should be  Get-MgDeviceManagementManagedDeviceCloudPcRemoteActionResult

Hi @peombwa Thanks for you explanation, since I'm not the owner of  the two metadata, could we move forward with the second option? _Alternatively, we can apply an XSLT transform to remove the ContainsTarget="true" as a temporary fix firstly?

We should also remove the following unsupported paths/commands:

Only the commands highlighted in yellow are supported.
Related to https://github.com/microsoftgraph/msgraph-sdk-powershell/pull/1221#issuecomment-1130019432.

Closed by https://github.com/microsoftgraph/msgraph-sdk-powershell/releases/tag/1.10.0


Cleanup some exception handling in Http1ServerStage

Before this commit, all ParserExceptions were considerd 'BadRequest' which is not actually true. This PR fixes that behavior and consolidates code for rendering InternalServerError responses at the blaze level.

:+1:


BBR2 - Fixes and updates

BUG FIXES

Pacing rate assigned at initialization/default was never updated until a higher rate was measured.
Initial minRTT is never updated unless a smaller value is measured

EDITS OBTAINED FROM LINUX IMPLEMENTATION OF BBRV2

Ref: https://github.com/google/bbr/blob/v2alpha/net/ipv4/tcp_bbr2.c
Pacing Gain and Congestion Window Gain defined for all phases of BBR2 (taken from Linux implementation of BBRv2)
Track and handle excessive loss during Startup phase (may be seen with high RTT/loss profiles)

MY EDITS

MinRTT, MaxBW and ACK aggregation - all windows updated to use a function of RTT, instead of static values (currently uses the most recent value to account for transient network variations, should optimize)
Temporarily disabled ProbeRTT phase. ProbeRTT was defined in the draft to probe the path for bandwidth during a session (long-lived sessions would benefit). It reduces bytes in flight in order to probe for RTT, needs more work to figure out when we do this.

Had to move this into https://github.com/cloudflare/quiche/pull/1604 as GitHub automatically closed this PR after https://github.com/cloudflare/quiche/pull/1218 was merged, and I can't seem to be able to re-open it anymore.


Sub-dependencies of @appland/appmap are updated in the extension

As of right now an updated @appland/models is out, but not being fetched (@appland/appmap is unchanged). These fixes need to be pulled in in accordance with the version constraints specified by the dependency.

I've fixed this just by releasing an update to @appland/appmap: https://github.com/getappmap/appmap-js/releases/tag/%40appland%2Fappmap-v3.64.1
This is the only way of guaranteeing upstream fixes are propagated to IntelliJ.


Weird terrain effect: empty layers of blocks

What you were trying to do
Test GooeysQuests (and previously ShatteredPlanes in the previous weekend's play test). Some worlds and world generators were fine.
What actually happened
The terrain generated with some rather major flaws: in GooeysQuests with seed PO1D86SnyqL2zrSB you start with a desert hill on one side and a grassy one on another, but the grassy one essentially is missing its entire interior (mostly full of open space with a few odd thick stone columns in some places) and about every other block height-wise going up the hill.
Additionally some trees deeper in were very messed up, see screenie below. Also note that the grass blocks are entirely green, not normal ground/grass ... this I'm pretty sure we've seen before for ages.
In ShatteredPlanes we likely hit the same issue but there it presented by simply having an increasing gap between the very top surface layer of blocks and the bedrock below it.
This does not appear to relate to the recent JOML work as I could replicate it with the same seed having rolled the engine back to #3811 (with a small set of modules including GQ, all at latest but with some tweaks here and there like refreshing build.gradle files in modules and bumping Core to v3.0.0)
How to reproduce

Start the game and create a new game, be sure to go to the advanced screen
Enter the seed value PO1D86SnyqL2zrSB and continue through the setup adding a Perlin world
Observe swiss-cheese hills

Fixed by #3886


Go 1.8 Plug-in Support

This patch introduces support for loading Linux shared object (.so) files as Go 1.8 plug-ins. This feature requires Linux.

Codecov Report

Merging #869 into release/0.9.1 will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           release/0.9.1   #869   +/-   ##
============================================
  Coverage            8.8%   8.8%
============================================
  Files                 25     25
  Lines               2975   2975
============================================
  Hits                 262    262
  Misses              2677   2677
  Partials              36     36

Continue to review full report at Codecov.

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


Add a way to layer multiple Gradients together

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
Figma allows this:

Proposal
Currently there is no way to do BoxDecoration(gradient: []).
I think you could make a class MultipleGradients extend Gradient that just painted them.
BoxDecoration(gradient: MultipleGradients([LinearGradient, LinearGradient]) is the goal.
You need a way to combine multiple shaders, I'm not sure if there is a way available, so first the engine would need to support that:
@override
Shader createShader(Rect rect, { TextDirection? textDirection }) {
  return ui.Gradient.combine(gradients.map((d) => d.createShader))
}

Currently there is no way to do BoxDecoration(gradient: []) orrrr [BoxDecoration1, BoxDecoration2, BoxDecoration3].

Can you not achieve this using multiple draw calls?
@goderbauer: Re-assigning this a framework issue as the engine already provides the mechanism today.

I can, but I still wish I could do in a way that weren't with Stack, code gets awful..

I think this could be suported by creating your own BoxDecoration / decoration sublass that implemented a paint method. Then layer the gradients ontop of eachother one at a time.
I think createBoxPainter ?

I think this could be suported by creating your own BoxDecoration

It could, but is too hard for people coming from Figma, where they can layer colors, gradients and images just using a single fills: []. CSS also allows this. If we had colors and gradients or even just gradients (a gradient of the same color works as a solid color) it would help a lot already. For example, Flutter already support shadows, so why doesn't gradients?

How does the awful code look like

Probably the easiest way would be:
Container(
      width: 300,
      height: 300,
      decoration: BoxDecoration(
        gradient: LinearGradient(
          begin: Alignment.topLeft,
          end: Alignment.bottomRight,
          colors: [Colors.blue.shade800, Colors.blue.shade200.withOpacity(0.8)],
        ),
      ),
      child: Container(
        width: 260,
        height: 260,
        margin: EdgeInsets.all(20),
        decoration: BoxDecoration(
          gradient: LinearGradient(
            begin: Alignment.topLeft,
            end: Alignment.bottomRight,
            colors: [Colors.red.shade800, Colors.red.shade200.withOpacity(0.8)],
          ),
        ),
        child: Container(
          width: 220,
          height: 220,
          margin: EdgeInsets.all(20),
          decoration: BoxDecoration(
            gradient: LinearGradient(
              begin: Alignment.topLeft,
              end: Alignment.bottomRight,
              colors: [Colors.green.shade800, Colors.green.shade200.withOpacity(0.8)],
            ),
          ),
          child: Center(
            child: Text(
              'Hello',
              style: TextStyle(
                fontSize: 48,
                fontWeight: FontWeight.bold,
                color: Colors.white,
              ),
            ),
          ),
        ),
      ),
    )

or
Stack(
      alignment: Alignment.center,
      children: <Widget>[
        Container(
          width: 300,
          height: 300,
          decoration: BoxDecoration(
            gradient: LinearGradient(
              begin: Alignment.topLeft,
              end: Alignment.bottomRight,
              colors: [Colors.blue, Colors.red],
            ),
          ),
        ),
        Container(
          width: 300,
          height: 300,
          decoration: BoxDecoration(
            gradient: LinearGradient(
              begin: Alignment.topLeft,
              end: Alignment.bottomRight,
              colors: [Colors.green, Colors.yellow],
            ),
          ),
        ),
        Container(
          width: 300,
          height: 300,
          decoration: BoxDecoration(
            gradient: LinearGradient(
              begin: Alignment.topLeft,
              end: Alignment.bottomRight,
              colors: [Colors.purple, Colors.orange],
            ),
          ),
        ),
        Text(
          'Hello',
          style: TextStyle(
            fontSize: 48,
            fontWeight: FontWeight.bold,
            color: Colors.white,
          ),
        ),
      ],
    )

Here's a simple class that recursively creates DecoratedBoxes to apply multiple gradients:
import 'package:flutter/material.dart';

class StackedGradient extends StatelessWidget {
  // Gradients are stacked in-order. That is: first gradient is on the bottom, last gradient is on the top.
  final List<Gradient> _gradients;

  const StackedGradient(this._gradients);

  @override
  Widget build(final BuildContext context) => _buildGradientWidget(_gradients);

  Widget _buildGradientWidget(final List<Gradient> remainingGradients) => DecoratedBox(
        decoration: BoxDecoration(gradient: remainingGradients.first),
        child: remainingGradients.length > 1 ? _buildGradientWidget(remainingGradients.sublist(1)) : null,
      );
}

This can be used like this:
StackedGradient([
    LinearGradient(...),
    LinearGradient(...),
    LinearGradient(...),
  ]


use node_modules/.bin/babel

Using the node_modules .bin is more future proof. If the babel project
were to rename or change their file structure the build script would
fail.
As a matter of fact they did this already.
node_modules/babel/bin/index.js has been renamed to babel.js

Ah! I had no clue about this. Thanks!


archlinux: upgrade function should be add $@

The purpose of the upgrade function is to just upgrade all the installed packages. We could add that, it doesn't affect people who just run upgrade, but that is just not the point of the function.


mypy 0.780 source file found twice under different module names error

This bazel plugin works well with mypy 0.770 but after upgrading to 0.780 it complains with
"source file found twice under different module names error". mypy 0.780 works fine outside of bazel.
There is a related issue on mypy: https://github.com/python/mypy/issues/8944. In my case, directories on mypy_path do not contain __init__.py files.

I am setting the mypy_path within mypy.ini. Even if I disable that, the problem persists.
Bazel tests pass if I disable the bazel mypy checks (so I think the bazel setup is - mostly - correct).
The template adds $(pwd) to the front of MYPYPATH. I tried playing around with that but still hitting the same issue.

So, I am not very sure where the problem comes from.
EDIT: usually I am setting PYTHONPATH in .bazelrc and mypy_path in mypy.ini but even if I add imports = ["<path e.g. ..>"] in all BUILD files the above steps still apply.

I just ran the aspect with 0.780 and didn't get that error (things worked fine). Can you provide a minimal reproduction, or pointers towards likely sources of the problem?
This is interesting to me:

usually I am setting PYTHONPATH in .bazelrc

How exactly are you doing that, and why? (--action-env ?)

Yes, I am using --action-env to set PYTHONPATH simply because I noticed it works and it reduces the recurring imports= ... so it is easier.
My repo looks like:
monorepo/
     WORKSPACE
     mypy.ini
     python_package_1/
          BUILD
          setup.py
          my_first_package/
               BUILD
               __init__.py
              subpackage/
                  ....
     python_package_2/
          BUILD
          setup.py
          my_second_package/
               <similar to my_first_package>
      ...

In mypy.ini I set mypy_path = my_first_package:my_second_package.
mypy complains:
error: Source file found twice under different module names: 'python_package_1.my_first_package....x.py' and 'my_first_package....x.py'
If I go to mypy.sh.tpl and set --package-root to python_package_1 the error goes away, tests get to run and pass. However, there is no such thing like package roots - note the plural (even though Guido had it in plan initially).

Code to reproduce the error:
File structure:
WORKSPACE
mypy.ini
requirements.txt (empty)
BUILD.bazel (empty)
mylib/
    BUILD.bazel (empty)
    welltyped/
         BUILD.bazel
         __init__.py
         bazelized/
            __init__.py
            x.py

Contents:

.bazelrc (not sure if it matters but will put it here)

startup --output_user_root=<some dir>
build --disk_cache=<some other dir>
build --aspects @mypy_integration//:mypy.bzl%mypy_aspect
build --output_groups=+mypy
build --action_env=PYTHONPATH=mylib

mypy.ini

[mypy]
ignore_missing_imports = True
mypy_path = mylib

mypy_version.txt
mypy==0.780   !! Change to 0.770 and the error goes away

welltyped/BUILD.bazel

load("@rules_python//python:defs.bzl", "py_library")
py_library(
    name = "bazelized",
    srcs = glob(["bazelized/*.py"]),
    deps = [],
)

welltyped/bazelized/x.py

def f(x: int) -> int:
    return x

Now the strange part:

welltyped/bazelized/__init__.py

# Expose f as "from welltyped.bazelized import f"
from welltyped.bazelize.x import f  # !!! Comment this line and the error no longer appears

ERROR on  bazel build mylib/welltyped:bazelized:
mylib/welltyped/bazelized/x.py: error: Source file found twice under different module names: 'mylib.welltyped.bazelized.x' and 'welltyped.bazelized.x'

mypy alone works just fine
mypy 0.770 works fine
mypy 0.780 breaks only when doing that import in __init__.py
setting --package-root to mylib instead of . in mypy.sh.tpl fixes the error

output=$({MYPY_EXE} {VERBOSE_OPT} --bazel --package-root mylib --config-file {MYPY_INI_PATH} --cache-map {CACHE_MAP_TRIPLES} -- {SRCS} 2>&1)

Thanks for reproduction. I'll take a look.

Hmm. I'm trying to figure out the solution here. Collect up the imports of each python dependency, and use that for mypy_path? Otherwise, it seems like one is basically out of luck if they don't use WORKSPACE root on the PYTHONPATH.

https://github.com/thundergolfer/bazel-mypy-integration/pull/29 addresses this by using -m arguments for modules rather than source files. That way, source files and module paths that they're imported with are matched up, which is what mypy wants. More here: https://github.com/dshahbaz/bazel-mypy-integration/wiki#improvement-3-imports-path-aware-mypy-invocations


feat(semantic-conventions): upgrade semantic conventions to version 1…

Ran the generator to generate the semantic and resource atributes based
on the v1.4.0 opentelemetry specification.
Which problem is this PR solving?

A new version of the specification has been released; this ensures @opentelemetry/semantic-conventions gets updated accordingly

Short description of the changes

Regenerated the attributes as part of the semantic convention specification

why some of the resources attributes have double quotes instead of single ?

why some of the resources attributes have double quotes instead of single ?

Looks like the enums have double quotes and the consts have single quotes. i'm sure it has to do with the template used for generation

Changing line 19 of scripts/semconv/generate.sh changes them back to single quotes:
  {{ "'" if type == "string"}}{{value}}{{ "'" if type == "string"}}

I have updated the template and regenerated it


Go to Next Difference doesn't work

**monaco-editor version: official playgournd 0.25.2
**Browser: chrome
**OS: windows 10
Playground code that reproduces the issue:
Here is the sample, according to my understanding, Go to Next Difference(F7)" should jump to the last line which has difference.
However, it behaves like Select Next Word. Just jump to the next word which is the same as my cursor point to.
var originalModel = monaco.editor.createModel("1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\nheLLo world!", "text/plain");
var modifiedModel = monaco.editor.createModel("1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\nhello orlando!", "text/plain");

var diffEditor = monaco.editor.createDiffEditor(document.getElementById("container"));
diffEditor.setModel({
	original: originalModel,
	modified: modifiedModel
});

Is it a confirmed bug? or only i can reproduce it?

I can also confirm the bug.

I'm also looking at it. But i'm new to javascript

The following code contains the reason to Go to Next difference (F7) bug and have corresponding comments
The following code is in min/VS/Editor/editor.main.js
`        class N extends c.EditorAction {
constructor() {
super({
id: "editor.action.diffReview.next",
label: i.localize(10, null),
alias: "Go to Next Difference",
precondition: v.ContextKeyExpr.has("isInDiffEditor"),
kbOpts: {kbExpr: null, primary: 65, weight: 100}
})
}
        run(e, t) {
            **const i = M(e);//Because M(e) return null, i = null
            i && i.diffReviewNext()//Because i = null, i.diffreviewnext() will not be executed**
        }
    }

    function M(e) {
        const t = e.get(h.ICodeEditorService), i = t.listDiffEditors(), **n = t.getActiveCodeEditor();//n=null**
        **if (!n) return null;//In JavaScript ! Null is true, so M(e) also return null**
        for (let e = 0, t = i.length; e < t; e++) {
            const t = i[e]
            ;
            if (t.getModifiedEditor().getId() === n.getId() || t.getOriginalEditor().getId() === n.getId()) return t
        }
        return null
    }

     class s extends o.CodeEditorServiceImpl {
        **getActiveCodeEditor() {
            return null
        }**
            ...
        }
    `

The following code contains the reason to Go to Next difference (F7) bug and have corresponding comments
The following code is in min/VS/Editor/editor.main.js
`class N extends c.EditorAction {
constructor() {
super({
id: "editor.action.diffReview.next",
label: i.localize(10, null),
alias: "Go to Next Difference",
precondition: v.ContextKeyExpr.has("isInDiffEditor"),
kbOpts: {kbExpr: null, primary: 65, weight: 100}
})
}
        run(e, t) {
            const i = M(e);//Because M(e) return null, i = null
            i && i.diffReviewNext()//Because i = null, i.diffreviewnext() will not be executed
        }
    }

    function M(e) {
        const t = e.get(h.ICodeEditorService), i = t.listDiffEditors(), n = t.getActiveCodeEditor();//n=null
        if (!n) return null;//In JavaScript ! Null is true, so M(e) also return null
        for (let e = 0, t = i.length; e < t; e++) {
            const t = i[e]
            ;
            if (t.getModifiedEditor().getId() === n.getId() || t.getOriginalEditor().getId() === n.getId()) return t
        }
        return null
    }

     class s extends o.CodeEditorServiceImpl {
        getActiveCodeEditor() {
            return null
        }
            ...
        }`

The following code contains the reason to Go to Next difference (F7) bug and have corresponding comments
The following code is in min/VS/Editor/editor.main.js
```
class N extends c.EditorAction {
constructor() {
super({
id: "editor.action.diffReview.next",
label: i.localize(10, null),
alias: "Go to Next Difference",
precondition: v.ContextKeyExpr.has("isInDiffEditor"),
kbOpts: {kbExpr: null, primary: 65, weight: 100}
})
}
        run(e, t) {
            const i = M(e);//Because M(e) return null, i = null
            i && i.diffReviewNext()//Because i = null, i.diffreviewnext() will not be executed
        }
    }

    function M(e) {
        const t = e.get(h.ICodeEditorService), i = t.listDiffEditors(), n = t.getActiveCodeEditor();//n=null
        if (!n) return null;//In JavaScript ! Null is true, so M(e) also return null
        for (let e = 0, t = i.length; e < t; e++) {
            const t = i[e]
            ;
            if (t.getModifiedEditor().getId() === n.getId() || t.getOriginalEditor().getId() === n.getId()) return t
        }
        return null
    }

     class s extends o.CodeEditorServiceImpl {
        getActiveCodeEditor() {
            return null
        }
            ...
        }

The following code contains the reason to Go to Next difference (F7) bug and have corresponding comments
The following code is in min/VS/Editor/editor.main.js
      class N extends c.EditorAction {
            constructor() {
                super({
                    id: "editor.action.diffReview.next",
                    label: i.localize(10, null),
                    alias: "Go to Next Difference",
                    precondition: v.ContextKeyExpr.has("isInDiffEditor"),
                    kbOpts: {kbExpr: null, primary: 65, weight: 100}
                })
            }

            run(e, t) {
                const i = M(e);//Because M(e) return null, i = null
                i && i.diffReviewNext()//Because i = null, i.diffreviewnext() will not be executed
            }
        }

        function M(e) {
            const t = e.get(h.ICodeEditorService), i = t.listDiffEditors(), n = t.getActiveCodeEditor();//n=null
            if (!n) return null;//In JavaScript ! Null is true, so M(e) also return null
            for (let e = 0, t = i.length; e < t; e++) {
                const t = i[e]
                ;
                if (t.getModifiedEditor().getId() === n.getId() || t.getOriginalEditor().getId() === n.getId()) return t
            }
            return null
        }

         class s extends o.CodeEditorServiceImpl {
            getActiveCodeEditor() {
                return null
            }
                ...
            }

I don't know exactly why t.getActiveCodeEditor returns null, but it seems that its setActiveCodeEditor has never been called


Remove old tests and reexport libfuzzer from fuzzing module

Remove unused regalloc2-test crate
This code doesn't build, and Chris says it's "a really old harness that
existed prior to building the fuzzing and was used mainly to profile and
get stats before integration with Cranelift".

Re-export libfuzzer/arbitrary from fuzzing module
This avoids needing to keep dependencies on arbitrary in sync across
the three different Cargo.toml files in this project.
However, before version 0.4.2, libfuzzer-sys only supported using its
macros if it was available at the top-level libfuzzer_sys path, which
breaks when re-exporting it. So I'm upgrading to that version (or the
newest patch release of it).
Upgrading libfuzzer-sys in turn brings in the 1.0 release of the
arbitrary crate, with a minor API change along the way.

Yeah, the fuzz targets were already using libfuzzer's re-export of arbitrary, so I just took that a step further.


fix(release): Fixed so that v4 will go to prerelease channel

Updated code to release v4 on the prerelease channel.

Should this be targeting the v4 branch?

@wise-king-sullyman Thanks for catching the v4 branch.


Security role for org chart

It's mentioned in the documentation, that the  security role Microsoft Orgchart node entity (msdyn_orgchartnode) is required to use the enhanced org chart.
However, users without any privileges for that table can still view and manage the Org Chart. The button is visible in the ribbon and org chart can be updated by users without any roles for table.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 4bca7a2f-2467-d60e-71c8-e897b79a564b
Version Independent ID: 4bca7a2f-2467-d60e-71c8-e897b79a564b
Content: Understand organization charts
Content Source: ce/sales/organization-charts.md
Service: dynamics-365-sales
GitHub Login: @udaykirang
Microsoft Alias: udag

Thanks for your comment, @Niels-SL. This issue has been assigned to the doc author for review.


chore(deps): update lb4 dependencies

BREAKING CHANGE:
YES
Description
Update the lb4 dependencies as lb4 dropped support for node 16 or lower
Fixes #104
Type of change
Please delete options that are not relevant.

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

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

[ ] Test A
[ ] Test B

Checklist:

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

raised another PR with proper commit message https://github.com/sourcefuse/loopback4-audit-log/pull/106


Handle +/- infinity and NaN

I've seen the issue with Rust 1.0.0. Not sure what to do about it yet.


Deps: bump testify to switch to yaml.v3

NOTE: testgroup does not use gopkg.in/yaml.* directly.
gopkg.in/yaml.v2 has multiple vulnerabilities, and the project has moved on to v3, so we're updating testgroup to depend on the earliest version of github.com/stretchr/testify that uses gopkg.in/yaml.v3.
Users of testgroup should feel free use to use even newer versions of testify and/or yaml.v3.

Ah, I think I'm going to need to do some CI updates so this can pass.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
144

Relevant Lines:
144

💛  - Coveralls


added prefetch function to cache messages

Will be released on the next SDK release, Thanks @devpahuja for another amazing contribution


how can i filter results which match also the content of the memo, not only the title?

memo g leaves me only with a list

possible workaround: put this in memo config:  grepcmd = "vi -p ag -l ${PATTERN} ${DIR} | peco"


Non-optimal stability of plotting window.

Above you can see the code used to produce this crash. The crash occurred as I was panning around the plot. I present this anecdote as proof for my experience that the plotting window seems to struggle when I use it - it is generally a little slow and buggy. I have a feeling that the plotting window is less stable on windows, but I don't really know where that hunch comes from.
Info about my system
(@v1.5) pkg> status GLMakie
Status `C:\Users\username\.julia\environments\v1.5\Project.toml`
  [e9467ef8] GLMakie v0.1.26

julia> versioninfo()
Julia Version 1.5.3
Commit 788b2c77c1 (2020-11-09 13:37 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, skylake)
Environment:
  JULIA_PKG_SERVER =

yes we've seen multiple reports of instabilities on windows, although because there are no stacktraces it's difficult to find out what's causing these issues. e.g. https://github.com/JuliaPlots/Makie.jl/issues/793

Well that is just annoying to deal with. Time to switch to linux?

It is. Mac has the problem that windows don't close reliably. I think those issues are mostly about glfw and not about makie per se

Possibly: https://github.com/JuliaPlots/Makie.jl/issues/1040
or: https://github.com/JuliaPlots/Makie.jl/issues/1398


New rule on Enterprise support plan enabled

'''
Rule Name:
  ENTERPRISE_SUPPORT_PLAN_ENABLED

Description:
  Check whether the Enterprise Support Plan is enabled for an AWS Account.

Trigger:
  Periodic

Reports on:
  AWS::::Account

Rule Parameters:
  None

Scenarios:
  Scenario: 1
    Given: The AWS Account has access to "critical" case severity level as returned by the AWS Support API DescribeSeverityLevels
     Then: Return COMPLIANT
  Scenario: 2
    Given: The AWS Account does not have access to "critical" case severity level as returned by the AWS Support API DescribeSeverityLevels
     Then: Return NON_COMPLIANT with Annotation "The AWS Enterprise Support Plan is not enabled for this AWS Account."
'''

Can you please add the API you are calling in the Scenario 1 and 2 at the end of the "Given" statement?
In scenario 1, return COMPLIANT.
The scenario 2, change the annotation "The AWS Enterprise Support Plan is not enabled for this AWS Account."

Gherkin has been updated as per above suggestion.

Look good for me, thanks!
API link for reference: https://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeSeverityLevels.html

@santosh07bec If an account is not subscribed to Business or Enterprise Support it cannot use Support API. Reference: https://aws.amazon.com/premiumsupport/plans/

Modified the Gherkin as per shikharj05 suggestion.
@ jongogogo, could  you please take a look again on this gherkin and provide your comments?

Ok good to go!


lucene-monitor: remove now-unused Scorable in QueryIndex.DataValues

Became unused via #13405 I think.

The monitor doesn't seem to care about scores, so this makes sense to me but I'm curious of @romseygeek 's opinion?


Update strings.xml

English translation update and grammatical corrections.

@liyufan @aviraxp @TacoTheDank @vvb2060 please help review.
@timeakesmarky please add your name to field of brevent_about_translator.

https://jianyu.io/br/alpha/ please download and install to verify.

https://jianyu.io/br/alpha/ please download and install to verify.

Oh, thanks. I was waiting for this. I got a better context to the strings and made final changes. :)

The string ""Be careful before breventing system apps or pay %1$s brefoil to dismiss this safe warning" hasn't been changed in the test version.

update alpha to 3.7.2+3: https://jianyu.io/br/alpha/
And, please add your name to https://github.com/brevent/Brevent/blob/translation/CONTRIBUTORS.md.

Done, looks fine.

Please contact via email for contributor promo code.


⚠ Bofrost.fr has degraded performance

In 5dc863d, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 996 ms

Resolved: Bofrost.fr performance has improved in e859edf after 13 minutes.


Duration seem to always stay at 00:00:00 even though I paused 10 seconds in a task

I paused for 10 seconds inside a task. The Duration still shows 00:00:00. Is this expected?

It should not be. this data is coming from buildtool plugin. will check how it behaves in buildtool plugin

[like]  Ajay Puvvala reacted to your message:

From: Nikhil Bhoski @.>
Sent: Tuesday, July 16, 2024 11:22:40 AM
To: matlab-actions/run-build @.>
Cc: Ajay Puvvala @.>; Author @.>
Subject: Re: [matlab-actions/run-build] Duration seem to always stay at 00:00:00 even though I paused 10 seconds in a task (Issue #45)
It should not be. this data is coming from buildtool plugin. will check how it behaves in buildtool plugin
—
Reply to this email directly, view it on GitHubhttps://github.com/matlab-actions/run-build/issues/45#issuecomment-2230649533, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A3UWQSZHLIU7GICNHQLE26TZMT7ABAVCNFSM6AAAAABK5GIIPSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZQGY2DSNJTGM.
You are receiving this because you authored the thread.Message ID: @.***>

Is this sporadic? My tasks were showing correct durations, I even tried some where I paused for several minutes.

yes i could also see time generated through same code


Adding classes to default coco.names

I was wondering.
Let say I've manage to train on a new class which is not within coco.names and your model is able to predict it.
Is it possible to  add it to the default coco classes?
That is -> 81 classes that includes my trained one such that when a new image/video goes into the network he will be able to recognize the new trained label along side the coco ones?
Thanks

that is indeed possible but required very advanced knowledge in deep learning
i would do something like this

create dataset set with your new class
load pretrained weight into model with 80 class
convert 80 class model to 81 class model
freeze all bottom layers and then train on your new dataset
unfreeze all layers and train with coco + your dataset mixed
predict with your newly trained 81 class model

it's definitely not as simple as adding one line to coco.names
if i am understanding your question wrong please correct me

I just added a tutorial on transfer learning hope that helps https://github.com/zzh8829/yolov3-tf2/blob/master/docs/training_voc.md


alphabetized all lists and headers

Hey, how are you guys? In this PR, I alphabetized all the contents in the README file.
I alphabetized as stated below:

the contents section stayed at the top
the links in the contents header are all alphabetized
headers themselves are in ABC order
the lists in the header are alphabetized
the sublists are also correctly alphabetized

If you noticed any problems with missing content/wrong alphabetization, please just leave a comment or email me with the problem and I'll update it!
Thanks,
Drew

Duplicate of #1109

Thanks for the suggestion, but not interested in doing that.

I use this repo a lot, +1 for alphabetization. I think this should be reconsidered.
Or at least keep the headers alphabetized.

That's awesome


net-ssh version in bosh_cli makes deprecated call

Version 2.9.2 of net-ssh, in Ruby 2.3.0, packaged into bosh_cli makes a deprecated call:
.../.gem/ruby/2.3.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:67:in initialize': Object#timeout is deprecated, use Timeout.timeout instead.`
This causes some minor unnecessary log noise, updating to net-ssh 2.10.0 would seem to stop this.

@BooleanCat 2.10 has been yanked. 2.10+ are Ruby 2+. I do know a few cases when people are still relying on Ruby 1.9 even though it's not supported.

Closing - ruby CLI is now frozen in favor of developing bosh-cli. Upcoming go-based CLI does not spam the extra log messages in output. Feel free to give the new CLI a try and provide feedback in that repo.


tools/uhyve: refactoring and minor fixes

As requested, here's my "review" of the current uhyve implementation. I took the freedom to refactor parts of the code and while doing so I discovered a minor memory leak (see 5f949d4).

Great! And I should often use the keyword const...


Nearby tab does not load the map

Summary:
Nearby tab takes forever to load map. The progressbar keeps rotating. But the map is being loaded in some devices. Even the menu on the top right corner does not load anything but the progressbar keeps rotating.
Steps to reproduce:

Install and launch the app
Shift to Nearby tab on the home
Give location permission on request

Device and Android version:
Device: ASUS_X00DDB
Android Version: 8.1.0 - Oreo
Commons app version:
2.10.0-debug-master-b5a479ce
Screen-shots:

Would you like to work on the issue?
I am not sure where the problem is as it works fine on some devices. I will still try to fix the issue. Others are welcome to contribute.

I think this is similar to #1309 ?
Let's exchange ideas over there :-)


remove create org form from the admin portal

Related Issue or Background Info

We had a support issue yesterday where part of the support staff response to a customer issue was attempting to create a new org leading to many orphaned Okta groups.

we have seen 2 uses and 9 submits of this form since June 1st and all of them were times that the form shouldn't have been used

Changes Proposed

remove the frontend for the create org form

Additional Information

in the future we may want to remove the graphql endpoint. But leaving it there for now in case we do need to manually add an org and then at least an engineer can do so via the API
I made my self a site admin locally. logged into the app and the link to create organization is no longer visible

Screenshots / Demos
Checklist for Author and Reviewer
UI

[n/a] Any changes to the UI/UX are approved by design
[n/a] Any new or updated content (e.g. error messages) are approved by design

Testing

[x] Includes a summary of what a code reviewer should verify

Changes are Backwards Compatible

[n/a] Database changes are submitted as a separate PR

[n/a] Any new tables that do not contain PII are accompanied by a GRANT SELECT to the no-PHI user
[n/a] Any changes to tables that have custom no-PHI views are accompanied by changes to those views
(including re-granting permission to the no-PHI user if need be)
[n/a] Liquibase rollback has been tested locally using ./gradlew liquibaseRollbackSQL or liquibaseRollback

[n/a] GraphQL schema changes are backward compatible with older version of the front-end

Security

[n/a] Changes with security implications have been approved by a security engineer (changes to  authentication, encryption, handling of PII, etc.)
[n/a] Any dependencies introduced have been vetted and discussed

Cloud

[n/a] DevOps team has been notified if PR requires ops support
[n/a] If there are changes that cannot be tested locally, this has been deployed to our Azure test environment for verification

Doh, I was too slow!  I am using FacilityAdmin in an open PR https://github.com/CDCgov/prime-simplereport/pull/1778.  I'll just add it back there, no big deal.


"Mapping policy not included" warning appears when mapping policy in config

Rasa version: 1.3
Rasa X version (if used & relevant):
Python version: 3.7
Operating system (windows, osx, ...): windows
Issue:
following message started appearing after upgrading to 1.3
rasa.core.policies.ensemble  - MappingPolicy not included in policy ensemble.
link  to issue on the community site
Error (including full traceback):

Command or request that led to error:

Content of configuration file (config.yml) (if relevant):

Content of domain file (domain.yml) (if relevant):

Thanks for creating an issue for this. I've confirmed that it shows up even if you have mapping policy in the ensemble.
I think the issue occurs because in this line:
https://github.com/RasaHQ/rasa/blob/7d211d2e3c5bce595b71ee31170216b5ebeff941/rasa/core/policies/ensemble.py#L56
self.policies is probably a list of e.g. policy_2_MappingPolicy, leading to the same bug that led to the edit here with the endswith:
https://github.com/RasaHQ/rasa/blob/7d211d2e3c5bce595b71ee31170216b5ebeff941/rasa/core/policies/mapping_policy.py#L119
cc @imLew

Oh man 😅, yes in 1.3 we added a check for that because MappingPolicy is required for default intents /restart and /back to work. But I think you're right @erohmensing, I'll try to have PR for this today or tomorrow.

In version 1.3.6 I get this bug when trying to predict actions:
2019-09-26 08:50:33 DEBUG    rasa.server  - Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/rasa/server.py", line 583, in predict
    responses = app.agent.predict_next(conversation_id)
  File "/usr/local/lib/python3.6/site-packages/rasa/core/agent.py", line 478, in predict_next
    return processor.predict_next(sender_id)
  File "/usr/local/lib/python3.6/site-packages/rasa/core/processor.py", line 121, in predict_next
    probabilities, policy = self._get_next_action_probabilities(tracker)
  File "/usr/local/lib/python3.6/site-packages/rasa/core/processor.py", line 588, in _get_next_action_probabilities
    tracker, self.domain
  File "/usr/local/lib/python3.6/site-packages/rasa/core/policies/ensemble.py", line 382, in probabilities_using_best_policy
    probabilities = p.predict_action_probabilities(tracker, domain)
  File "/usr/local/lib/python3.6/site-packages/rasa/core/policies/mapping_policy.py", line 119, in predict_action_probabilities
     ).__name__ or latest_action.policy.endswith("_" + type(self).__name__):
AttributeError: 'NoneType' object has no attribute 'endswith'

@tdzienniak thanks for reporting that bug, please reopen it as a new issue though, as it is not related to the original issue.
This issue should have been closed when the PR fixing it was merged.


CPython library now trying to resolve to "csnakes_python" instead of "python"

I'm guessing this was an accident.

This is intentional, it's a made up name then in the initialization code we override the loader and resolve the path at runtime. Did you get an error?

Yes. Failing to resolve a library with the name "cnakes_python". I suppose the override isn't taking hold.

What operating system is this? Could you provide some more details on the environment please

I'm getting 'Unable to load shared library 'csnakes_python'' when running in docker linux image.

Ubuntu 22.04.5 LTS
dotnet 8.0.100

Running into this issue also. Here is the stack trace from my docker image.
Connection id "0HN7P31NFAUPP", Request id "0HN7P31NFAUPP:00000001": An unhandled exception was thrown by the application.
      System.DllNotFoundException: Unable to load shared library 'csnakes_python' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
      /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.10/csnakes_python.so: cannot open shared object file: No such file or directory
      /app/csnakes_python.so: cannot open shared object file: No such file or directory
      /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.10/libcsnakes_python.so: cannot open shared object file: No such file or directory
      /app/libcsnakes_python.so: cannot open shared object file: No such file or directory
      /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.10/csnakes_python: cannot open shared object file: No such file or directory
      /app/csnakes_python: cannot open shared object file: No such file or directory
      /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.10/libcsnakes_python: cannot open shared object file: No such file or directory
      /app/libcsnakes_python: cannot open shared object file: No such file or directory

         at CSnakes.Runtime.CPython.CPythonAPI.Py_IsInitialized()
         at CSnakes.Runtime.CPython.CPythonAPI.get_IsInitialized() in /_/src/CSnakes.Runtime/CPython/Init.cs:line 109
         at CSnakes.Runtime.CPython.CPythonAPI.Initialize() in /_/src/CSnakes.Runtime/CPython/Init.cs:line 65
         at CSnakes.Runtime.PythonEnvironment..ctor(IEnumerable`1 locators, IEnumerable`1 packageInstallers, PythonEnvironmentOptions options, ILogger`1 logger, IEnvironmentManagement environmentManager) in /_/src/CSnakes.Runtime/PythonEnvironment.cs:line 89
         at CSnakes.Runtime.PythonEnvironment.GetPythonEnvironment(IEnumerable`1 locators, IEnumerable`1 packageInstallers, PythonEnvironmentOptions options, ILogger`1 logger, IEnvironmentManagement environmentManager) in /_/src/CSnakes.Runtime/PythonEnvironment.cs:line 25
         at CSnakes.Runtime.ServiceCollectionExtensions.<>c.<WithPython>b__0_0(IServiceProvider sp) in /_/src/CSnakes.Runtime/ServiceCollectionExtensions.cs:line 28
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
         at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
         at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
         at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
         at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
         at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
         at Program.<>c.<<Main>$>b__0_0(IServiceProvider sp) in /src/DMA.CSnake.Test.Api/Program.cs:line 23
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
         at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
         at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
         at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
         at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
         at lambda_method2(Closure, IServiceProvider, Object[])
         at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass6_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
         at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

Code works fine on my Windows machine.

Please can you provide the environment setup code, e.g.
app = Host.CreateDefaultBuilder()
    .ConfigureServices((context, services) =>
    {
        var pb = services.WithPython();
        pb.WithHome(Path.Join(Environment.CurrentDirectory, "python"));

        pb.FromNuGet(pythonVersionWindows)
          .FromMacOSInstallerLocator(pythonVersionMacOS, freeThreaded)
          .FromEnvironmentVariable("Python3_ROOT_DIR", pythonVersionLinux)
          .WithVirtualEnvironment(venvPath)
          .WithPipInstaller();

        services.AddLogging(builder => builder.AddXUnit());
    })
    .Build();

env = app.Services.GetRequiredService<IPythonEnvironment>();

The Linux environment locator is not finding Python. On Linux, the easiest way is to use the Environment Variable locator and set Python3_ROOT_DIR to where it is installed. That depends on how and where it's setup.

I think I may have found the issue here.
Newer versions of Ubuntu (and Debian I think) place the python library elsewhere. In my instance the library is now at /usr/lib/x86_64-linux-gnu/libpython3.10.so and so it is not found.

@nhustler-gr Could you include your Dockerfile with the fix? I am having the same issue and the symlink is not working. It is possible that I may have linked the wrong files.


Docs for 4.10

Docs for

https://github.com/mattermost/mattermost-webapp/pull/1111

https://github.com/mattermost/mattermost-webapp/pull/1092

https://github.com/mattermost/mattermost-webapp/pull/831

https://github.com/mattermost/mattermost-webapp/pull/1144

https://github.com/mattermost/mattermost-webapp/pull/1168

https://github.com/mattermost/mattermost-server/pull/8673

https://github.com/mattermost/mattermost-server/pull/8482

https://github.com/mattermost/mattermost-server/pull/8728

Question: does this doc need updates for Webrtc: https://docs.mattermost.com/overview/faq.html?highlight=webrtc (unless you had already checked)? Otherwise docs looked good.

Shouldn't need an update


Connection pool was closed while 1 HTTP requests/repsonses were still in-flight.

Not a very clear explicit error message but this has been blocking a set of downloads consistently over a few days:
During handling of the above exception, another exception occurred:
[2023-06-14 12:26:07]  DEBUG     root
Locals:
{
'self': <httpcore.AsyncConnectionPool object at 0x7fc6c6e3aad0>,
'requests_still_in_flight': 1,
'connection': <AsyncHTTPConnection ['https://esgf.ceda.ac.uk:443', HTTP/1.1, CLOSED, Request Count: 1]>
}
[2023-06-14 12:26:07]  ERROR     root
Traceback (most recent call last):
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/backends/asyncio.py", line 109, in connect_tcp
stream: anyio.abc.ByteStream = await anyio.connect_tcp(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/anyio/_core/_sockets.py", line 175, in connect_tcp
async with create_task_group() as tg:
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 574, in aexit
raise exceptions[0]
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 636, in task_done
exc = _task.exception()
^^^^^^^^^^^^^^^^^
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/anyio/_core/_sockets.py", line 127, in try_connect
stream = await asynclib.connect_tcp(remote_host, remote_port, local_address)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 1518, in connect_tcp
await get_running_loop().create_connection(StreamProtocol, host, port,
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/asyncio/base_events.py", line 1069, in create_connection
sock = await self._connect_sock(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/asyncio/base_events.py", line 973, in _connect_sock
await self.sock_connect(sock, address)
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/asyncio/selector_events.py", line 634, in sock_connect
return await fut
^^^^^^^^^
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/_exceptions.py", line 8, in map_exceptions
yield
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/backends/asyncio.py", line 108, in connect_tcp
with anyio.fail_after(timeout):
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/anyio/_core/_tasks.py", line 103, in exit
raise TimeoutError
TimeoutError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpx/_transports/default.py", line 60, in map_httpcore_exceptions
yield
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpx/_transports/default.py", line 353, in handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 253, in handle_async_request
raise exc
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 237, in handle_async_request
response = await connection.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/_async/connection.py", line 86, in handle_async_request
raise exc
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/_async/connection.py", line 63, in handle_async_request
stream = await self._connect(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/_async/connection.py", line 111, in _connect
stream = await self._network_backend.connect_tcp(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/backends/auto.py", line 29, in connect_tcp
return await self._backend.connect_tcp(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/backends/asyncio.py", line 107, in connect_tcp
with map_exceptions(exc_map):
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/gpfscmip/gpfsdata/esgf/miniconda/envs/esgpull/lib/python3.11/site-packages/httpcore/_exceptions.py", line 12, in map_exceptions
raise to_exc(exc)
httpcore.ConnectTimeout

This is fixed since https://github.com/ESGF/esgf-download/commit/8e0de5679d8a62526c899e20d9671a2b5a6f5962


Extend flavour system with config files?

Dear cooks,
I would like to start a discussion regarding a potential best practice regarding using the flavour system for creating more complex container images.
Background
As you probably know, I have set up Potluck a few weeks ago (https://potluck.honeyguide.net and https://github.com/hny-gd/potluck) which aims to create a repository of preconfigured but nonetheless adaptable pot images/flavours. The long term aim is to have something like Dockerhub for Pot.
These images can be used as stand alone jails but also via the nomad-pot-driver (or potentially any other orchestration platform in the future that chooses to support pot).
The high-level approach that I chose to create new containers that remain somewhat configurable after creation looks like this:

Create flavour scripts and shell scripts that are run when preparing the image (stock pot functionality)
These flavour scripts create a script within the jail (/usr/local/bin/cook) that is set up to be started automatically when the jail is started
When a user fetches the pot image, he can parametrize it for his environment with pot set-env - each container has a certain set of environment variables that can be set (e.g. to define hostnames, certain options etc)
When the fetched image is started for the first time with these environment variables, the cook script uses the variables to create the various config files necessary to run the packages within the jail
After that, the configuration is finished and from now on on each run the services are started within the jail

A more detailed explanation including the current template for pot images can be found here: https://potluck.honeyguide.net/howto/
Challenge
Beside all the issues with this approach that I don't see (any kind of feedback is welcome), the main problem that  I do see is that this mixes code & configuration in one huge and very unwieldy shell script: Each cook script contains all the configuration files in the form
echo "
configfile content line 1
configfile \$PARAMETERVARIABLE
...
" > /usr/local/etc/myparametrisedconfig.conf

...because it needs to read $PARAMETERVARIABLE on the first run and set it in the config file. And this cook script in turn is saved within the flavour shell script so that it gets created when pot creates the image so that it can be run when the jail starts the first time.
Proposal
Therefore I have the following suggestion:
Extend the flavour system with a directory of files that are copied into the jail when the flavour is processed by pot.
E.g. when there are the files <flavour> and <flavour>.sh, add the directory <flavour>.d that contains files that are copied into the jail before executing the <flavour>.sh file. Copy details (e.g. target directory) could be set in the <flavour> file.
These files could be template files that in the potluck case are now within the cook script (like e.g. saltstack has them) or any other kind of scripts that could then be processed by a script like the cook script to set variable values.
This probably would be a bit similar to a dockerfile ADD.
Why not pot copy-in?
Of course there is pot copy-in, but (according to my understanding) this is either a manual call and thus not part of the flavour definition or as part of a flavour not suitable if one wants to have it executed only once on pot create and then never again.
What are your thoughts? Do you have better ideas?

Hi.
copy-in can be used in a flavor. The limitations are:

the file/directory is copied during creation only, not at start, because the flavor is used at create time.
there is no support for templates

The first limitation can be somehow fixed with pre-start hook: you can can overwrite a configuration file copying it from the host to the jail.
What you are doing with cook is the template stanza in nomad. However, pot doesn't provide this kind of feature outside the nomad plugin.
Rendering a configuration file from a template could be an additional feature, tho.

Thanks a lot, @pizzamig, then I misunderstood the copy-in within a flavour (I thought that it would be set as configuration parameter that is executed each time).
Will test it with the next flavour I am working on right now.
Regarding configuration file templates: I could imagine it would really add value to pot outside of the nomad/consul context. I have not yet thought about how this could look like to fit well into the pot logic/philosophy though.


Apollo

Do you want to add or update the vendor? Adjust the title accordingly!.
How to use? Fill the yaml file below!

name: Use the vendors name
base_pricing: Use the vendors cheapest available price suitable for teams/companies. A plan limited to less than 10 users may not be suited for companies.
sso_pricing: Use the vendors cheapest price that includes SSO.
scim_pricing: Use the vendors cheapest price that includes SCIM.
pricing_scheme: How is the pricing? Is it per user per month? Per month?
pricing_sources: Add a link or a note to where you got the pricing from. One per line.
notes: If you need to clarify pricing, please add a note.
free_sso_providers: Do they support free SSO providers like Google, Apple, Github etc.? One per line.
updated_at: yyyy-mm-dd of the day you filed this.
vendor_url: Use the vendors public website

---
base_pricing: 49
currency: USD
name: Apollo
pricing_scheme: per user/month
pricing_sources:
  - https://www.apollo.io/pricing
free_sso_providers:
  - Google
  - Microsoft
sso_pricing: 79
updated_at: 2023-10-26
vendor_url: https://apollo.io

Fantastic contribution, @ineffyble. Thank you 🙏
I added it in 03e76ad.


Added electron app.

Hey! I have no idea if this'll interest you or not, but I was trying to think of ways to make it easier for people to interact with Hallway. Right now, there's a disconnect between where you post and where you read posts. So, here's what I did: I just forked the webring repo and made an Electron app for Hallway. It won't change how Hallway is displayed at its usual web address. But if people run the site as an Electron app (with npm start or electron .), a textarea will pop up at the top, giving them the ability to write a post. When they post, entries will be added to a hallway.txt file within the repo itself, and then the app will execute bash commands to add, commit, and push the hallway.txt file. So, I'm imagining that the flow could go something like this for an end user:

I fork the webring repo.
I clone the webring repo to my machine.
I run npm install to install Electron.
I run npm start to launch the Electron app.
I write a post and click the "Post" button. Behind the scenes, the app writes my post out to a hallway.txt file, and then adds, commits, and pushes the changes up to GitHub.
I add the URL of my new hallway.txt file to the sites.js file and send you a PR (for just that file, not for the hallway.txt file).

Again, I have no idea if something like this interests you, but I was mainly just throwing this out there for discussion. Oh, and I'm no design guru, so my textarea and "Post" button look pretty crappy style-wise. Also, the functionality probably isn't perfect; it's mainly just a sketch of the idea. Anyway, let me know what you think!

I don't think this should be part of the webring repo, but if you want, make a repo, and add it to the README next to ckipp's client.

Okay, will do!


OneTimePad stores password in plain text

It would appear that the application password used to secure OneTimePad is stored as plain text in the file: /data/data/com.onest8.onetimepad/shared_prefs/MainActivity.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map>     <string name="pass_word">plaintext</string>     <long name="pass_time" value="1487103441" /> </map>
Currently anyone running adb with root access, or allowing local root access on their device, is susceptible to having the password for OneTimePad read from the above file. This is not good, and may give users a false sense of security.
I am running com.onest8.onetimepad version 0.2.1 from the F-Droid repository: https://f-droid.org/repository/browse/?fdfilter=onetimepad&fdid=com.onest8.onetimepad

The password is being cached in shared preferences while the application is open. The password is cleared from shared prefs upon expiry and not stored any longer than necessary.
This is the start of the code that handles the password cache:
https://github.com/kckrinke/onetimepad/blob/master/app/src/main/java/com/onest8/onetimepad/MainActivity.java#L693
The problem with this whole situation is the need to cache the password at all. Due to Android's aggressive killing of processes, the password can't simply be stored within a private variable - users end up being prompted all the time for their password. Even if we decrypt the data and keep it in memory, dropping the password immediately, we'd have to prompt for the password to save the data again - and - none of that prevents Android from making users frustrated.
If anyone has suggestions as to how to implement this better - and without relying upon Android directly - I'd be happy to improve the situation. In the meantime, I'll explore this issue as time permits and maybe some spark will inspire a better solution.
Also - I just want to point out that if you have a rooted Android phone, and ADB enabled, and someone has your phone - you've got bigger problems than how your TOTP app caches passwords. Clearly not taking security seriously at all. I'd recommend CopperheadOS, no Google services, and disabled ADB before I'd scare folks how their apps are handling security.

Also - I just want to point out that if you have a rooted Android phone, and ADB enabled, and someone has your phone - you've got bigger problems than how your TOTP app caches passwords.

Yes, I thought you might consider this outside the threat model of OTP. I wasn't suggesting that I leave root/adb access open on my phone, or that other people should, or that it's a good idea. I was simply trying to provide context for how the password can be accessed.

before I'd scare folks how their apps are handling security.

It seems that this password is also used directly with WELL_KNOWN_SALT to encrypt and decrypt the data: https://github.com/kckrinke/onetimepad/blob/master/app/src/main/java/com/onest8/onetimepad/MainActivity.java#L633
The author of the AES library points out that storing the data and key in the same place is a bad idea: https://github.com/tozny/java-aes-crypto#storing-keys
But again, you can say this is outside your threat model, because if someone has root on an Android phone, you're screwed regardless.
I'm not trying to spread FUD here. I've also been thinking about how the situation could be improved.
Is there some reason the Android Keystore system couldn't be used to manage this?
https://developer.android.com/training/articles/keystore.html
I will admit that in my 5 minutes of Googling I was unable to find a relevant example which shows how this could be easily implemented that wasn't from Stackoverflow (and the internet is full of people who tell you never to trust cryptographic code from SO): http://stackoverflow.com/questions/34440854/using-aes-with-androidkeystore
However there is one sticking point:

however I can not find any combination of generating a key that provides a method of full encryption and decryption without a user password/device locking

For anyone who is using OTP for 2FA should be security conscious enough to have set a user password on their device. I don't think that requiring a device password to use OTP would necessarily discourage users from using the application.
Instead of using the password directly in the AesCbcWithIntegrity function, could you not use the password to secure a symmetric key, which is used for the AesCbcWithIntegrity operation? The symmetric key could be safely stored to disk and the password is only required to read or write data using the symmetric key.

I believe the entire means of storing sensitive data within this app needs to be properly re-written. Currently it's loading / decoding / operating / encrypting / saving - for nearly every action. This is clearly not good either and I suspect the real answer is to address the family of issues as one problem.
Problem: What is the best way to achieve the following requirements?

Secured data at rest (encrypted)
On-demand accessible (decrypted)
Users need to enter passphrase every time the app is started, but not every time something happens (orientation change, app backgrounded, etc)
Should forget the credentials after a user-configurable period and exit the app
Avoid writing to the file-system (preserve battery and SD longevity)

After some brief thinking - perhaps a private service that runs independent of the user-facing application. When the application is launched, the user is prompted for two values - a passphrase and a seed (or any other values necessary for strong crypto). These values are passed to the background service, which tries to decrypt the datastore using the values as input. While the data is decrypted, the service remains "awake" and the data is plaintext-in-memory-or-wherever-the-os-caches-ram, after a period of idle time the service expires and the user-facing application must re-authenticate.

@kckrinke siehe auch https://www.heise.de/newsticker/meldung/Android-Passwort-Manager-mit-Sicherheitsluecken-3640040.html (in German)

Have you considered using the Android Keystore?
One drawback would be that you can't use a custom password, just the users device credentials (PIN/Pattern/...).
On the upside this would allow you to implement #11 easier ...

@flocke the original point of me forking this project was because the Android Keystore had broke in an update to Nougat for me, so I hacked up a quick solution not relying upon the keystore at all.
Why anyone finds this project useful is a mystery to me lol


Improvement suggestion for Find My Mouse (should also work by dbl-pressing the right Ctrl)

Description of the new feature / enhancement
Find My Mouse (see picture in German) should also work by dbl-pressing the right Ctrl.
So far it seems to work only by dbl-pressing the left Ctrl.

Scenario when this would be used?
Whenever I want to use the Find My Mouse feature and my left hand is busy with something else.
Even though I am right handed and have run into the mentioned limitation already, the improvement could also be beneficial for left handed persons.
Supporting information
No response

Yes, you are right. Both threads deal with the same issue.


Fixed #35074 -- Fixed adding/removing indexes when spatial_index is changed on MySQL, PostgreSQL, and Oracle.

ticket-35074

buildbot, test on oracle.

I'd keep commits separately.

buildbot, test on oracle.

buildbot, test on oracle.


[contract] don't lock resources on attacked realms

cons of locking resources:

people can stop you from trading with small armies (and you need to leave battle with your realm after battle is over everytime).
you are helpless once a big army comes and sieges you.

pros of locking resources:

the sieged realm can just send out all their resources outside of the realm

i think people should be allowed to remove their resources outside of their realm during combat  Their realm will be conquered anyway so that's already a big loss.
If the attacker wants to make sure he gets some resources he can pillage.

@aymericdelab  I will like to take this up please


test_order_methods_for_future is not testing Futures

Somewhere along the road, test_algorithm.TestTransformAlgorithm.test_order_methods_for_future must have gotten refactored and no longer tests Futures.

PR for fix https://github.com/quantopian/zipline/pull/849


Issue #11 implementation.

Added boolean value to the Valid method which enables exclusion of coordination numbers from validation.
Included tests.
Updated some xmldocs with <remarks> tags.

Noticed an error, do not merge please! :)

The appveyor build seems to try to publish the package even if it is a PR, I'll take a look at that r/q.

Squash please! :)


bug:

Check the following:

[X] I have checked the behavior after setting "vscode-neovim.neovimClean" in VSCode settings.
[X] I have read the vscode-neovim docs.
[X] I have searched existing issues.

Neovim version (nvim -v)
NVIM v0.8.0
Operating system/version
macos / rocky8 linux
Describe the bug
I get cryptic error messages, and inconsistent ones at that between the neovim debug log and the pop-up error message.
note: I was, through binary search, able to figure out that v1.7 at least loads without error, though it's quite broken functionally.
There should be a compatibility table if the tool is going to hard-drop support for versions of nvim that are the latest available for mainstream enterprise linux distros.
Steps To Reproduce
install extension on rocky8 linux/EL8. latest nvim available is 0.8.0
try to start vscode with the extension enabled
Expected Behavior
a) work with nvim 0.8
b) give a useful error message if an incompatible version is installed.

Upgrade your Nvim https://github.com/vscode-neovim/vscode-neovim?tab=readme-ov-file#installation

I can't. the tool should at least give a useful error message if it finds an incompatible version of nvim. but 0.8.0 is the latest available compatible release on EL8, so not supporting a mainstream release essentially means there's a huge population that cannot use this tool (after getting cryptic error messages)

On Readme the author clearly said that this extensions requires neovim >=v0.9.0.
So if you want neovim <=v0.8.0 to be supported, you should have open this issue as feature request, not bug.
BTW there's Unsupported Nvim Releases for older glibc.
I heard that Rocky 8 uses glibc 2.28, so why don't you give it a try?