Locating .java_pid in Aurora/Mesos

First of all, a huge shout out for making async-profiler so awesome! We've been using it quite successfully in our dedicated Mesos pools (#147 made it super easy!). As of 1.5, I was eager to try the new --all-user option, which opens so many possibilities for us! Now we can run it in a shared Mesos pool! Well, must be able to.
I did some experimenting today and I think, jattach having a little hard time locating a java_pid file for my process. Here are some details:
Worth mentioning that before I run jattach the first time, there is no java_pid file in the process tmp (which conveniently located one level up). 495647 is my process (I'm, csl-perf, the owner).
sandbox $ ls -la ../tmp/
total 964
drwxrwxrwt 3 root     root               54 Feb  8 19:59 .
drwxr-xr-x 7 root     root             4096 Feb  8 19:59 ..
drwxr-xr-x 2 csl-perf serviceaccount     19 Feb  8 19:59 hsperfdata_csl-perf
-rw-r--r-- 1 csl-perf serviceaccount 605737 Feb  8 20:00 perf-495647.map

After a first unsuccessful attempt of jattach, the pid file is being created. I understand that jattach has a retry logic in it, and if it able to locate a pid-file, it should just attach.
sandbox $ ./async-profiler/profiler.sh -d 10 -f out.txt 495647
Could not start attach mechanism: No such file or directory
sandbox $ ls -la ../tmp/
total 964
drwxrwxrwt 3 root     root               76 Feb  8 20:00 .
drwxr-xr-x 7 root     root             4096 Feb  8 19:59 ..
drwxr-xr-x 2 csl-perf serviceaccount     19 Feb  8 19:59 hsperfdata_csl-perf
srw------- 1 csl-perf serviceaccount      0 Feb  8 20:00 .java_pid495647
-rw-r--r-- 1 csl-perf serviceaccount 621647 Feb  8 20:00 perf-495647.map

Some details:
sandbox $ lsof -p 495647 | grep java_pid
lsof: WARNING: can't stat() tracefs file system /sys/kernel/debug/tracing

sandbox $ readlink -f /proc/495647/root/tmp
/tmp

sandbox $ ls -la /proc/495647/fd | grep java_pid // nothing there

And strace jattach:
async-profiler $ strace build/jattach 495647 load build/libasyncProfiler.so true start,event=alloc,file=t.svg,svg
execve("build/jattach", ["build/jattach", "495647", "load", "build/libasyncProfiler.so", "true", "start,event=alloc,file=t.svg,svg"], [/* 25 vars */]) = 0
brk(NULL)                               = 0x1e21000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd06a0c7000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=56806, ...}) = 0
mmap(NULL, 56806, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd06a0b9000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P%\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2173512, ...}) = 0
mmap(NULL, 3981792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd069ada000
mprotect(0x7fd069c9d000, 2093056, PROT_NONE) = 0
mmap(0x7fd069e9c000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c2000) = 0x7fd069e9c000
mmap(0x7fd069ea2000, 16864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd069ea2000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd06a0b8000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd06a0b6000
arch_prctl(ARCH_SET_FS, 0x7fd06a0b6740) = 0
mprotect(0x7fd069e9c000, 16384, PROT_READ) = 0
mprotect(0x602000, 4096, PROT_READ)     = 0
mprotect(0x7fd06a0c8000, 4096, PROT_READ) = 0
munmap(0x7fd06a0b9000, 56806)           = 0
geteuid()                               = 2138
getegid()                               = 1058
readlink("/proc/495647/root", "/", 950) = 1
brk(NULL)                               = 0x1e21000
brk(0x1e42000)                          = 0x1e42000
brk(NULL)                               = 0x1e42000
open("/proc/495647/status", O_RDONLY)   = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd06a0c6000
read(3, "Name:\tjava\nUmask:\t0022\nState:\tS "..., 1024) = 1024
read(3, "1\nvoluntary_ctxt_switches:\t3\nnon"..., 1024) = 59
read(3, "", 1024)                       = 0
close(3)                                = 0
munmap(0x7fd06a0c6000, 4096)            = 0
stat("/proc/self/ns/mnt", {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
stat("/proc/495647/ns/mnt", {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
open("/proc/495647/ns/mnt", O_RDONLY)   = 3
setns(3, 0)                             = -1 EPERM (Operation not permitted)
close(3)                                = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd06a0c6000
write(1, "WARNING: couldn't enter target p"..., 53WARNING: couldn't enter target process mnt namespace
) = 53
rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7fd069b102f0}, {SIG_DFL, [], 0}, 8) = 0
stat("/tmp/.java_pid495647", 0x7ffffba0eec0) = -1 ENOENT (No such file or directory)
creat("/proc/495647/cwd/.attach_pid495647", 0660) = 3
close(3)                                = 0
stat("/proc/495647/cwd/.attach_pid495647", {st_mode=S_IFREG|0640, st_size=0, ...}) = 0
geteuid()                               = 2138
kill(495647, SIGQUIT)                   = 0
nanosleep({0, 20000000}, NULL)          = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 40000000}, NULL)          = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 60000000}, NULL)          = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 80000000}, NULL)          = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 100000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 120000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 140000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 160000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 180000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 200000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 220000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 240000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 260000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
nanosleep({0, 280000000}, NULL)         = 0
stat("/tmp/.java_pid495647", 0x7ffffba0ea00) = -1 ENOENT (No such file or directory)
unlink("/proc/495647/cwd/.attach_pid495647") = 0
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd06a0c5000
write(3, "Could not start attach mechanism"..., 60Could not start attach mechanism: No such file or directory
) = 60
close(3)                                = 0
munmap(0x7fd06a0c5000, 4096)            = 0
exit_group(1)                           = ?
+++ exited with 1 +++

I belive this is the relevan part:
open("/proc/495647/ns/mnt", O_RDONLY)   = 3
setns(3, 0)                             = -1 EPERM (Operation not permitted)
close(3)                                = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd06a0c6000
write(1, "WARNING: couldn't enter target p"..., 53WARNING: couldn't enter target process mnt namespace
) = 53

Some details about it:
async-profiler $ ls -la /proc/495647/ns/mnt
lrwxrwxrwx 1 csl-perf serviceaccount 0 Feb  8 20:00 /proc/495647/ns/mnt -> mnt:[4026533548]

I, csl-perf, still seems to be the owner there.
Would appreciate for any pointers on how to debug this further.
UDPATE: Simlimking ../tmp to /tmp surely helps. I guess my question is more if it's possible to locate .java_pid automatically, which works for us in dedicated pool.
I want to see what strace looks like when I run it within a dedicated host, where it's known to be able to attach. Will post my findings in the comment.s

Here is strace for a dedicated host (it's able to connect successfully). Note: dedicated host seems to create a .java_pid under root's tmp:
sandbox $ ls -la /tmp
total 6008
drwxrwxrwt  5 root       root              4096 Feb  8 21:45 .
dr-xr-xr-x 19 root       root              4096 Jul 28  2018 ..
srw-------  1 csl-perf   serviceaccount       0 Feb  8 21:44 .java_pid502447

async-profiler $ strace build/jattach 502447 load build/libasyncProfiler.so true start,event=alloc,file=t.svg,svg
execve("build/jattach", ["build/jattach", "502447", "load", "build/libasyncProfiler.so", "true", "start,event=alloc,file=t.svg,svg"], [/* 25 vars */]) = 0
brk(NULL)                               = 0xbdb000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0e7c93b000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=58148, ...}) = 0
mmap(NULL, 58148, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0e7c92c000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340$\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2151672, ...}) = 0
mmap(NULL, 3981792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0e7c34e000
mprotect(0x7f0e7c510000, 2097152, PROT_NONE) = 0
mmap(0x7f0e7c710000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c2000) = 0x7f0e7c710000
mmap(0x7f0e7c716000, 16864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f0e7c716000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0e7c92b000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0e7c929000
arch_prctl(ARCH_SET_FS, 0x7f0e7c929740) = 0
mprotect(0x7f0e7c710000, 16384, PROT_READ) = 0
mprotect(0x602000, 4096, PROT_READ)     = 0
mprotect(0x7f0e7c93c000, 4096, PROT_READ) = 0
munmap(0x7f0e7c92c000, 58148)           = 0
geteuid()                               = 2138
getegid()                               = 1058
readlink("/proc/502447/root", "/", 950) = 1
brk(NULL)                               = 0xbdb000
brk(0xbfc000)                           = 0xbfc000
brk(NULL)                               = 0xbfc000
open("/proc/502447/status", O_RDONLY)   = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0e7c93a000
read(3, "Name:\tjava\nUmask:\t0022\nState:\tS "..., 1024) = 1020
read(3, "", 1024)                       = 0
close(3)                                = 0
munmap(0x7f0e7c93a000, 4096)            = 0
stat("/proc/self/ns/mnt", {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
stat("/proc/502447/ns/mnt", {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
open("/proc/502447/ns/mnt", O_RDONLY)   = 3
setns(3, 0)                             = -1 EPERM (Operation not permitted)
close(3)                                = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0e7c93a000
write(1, "WARNING: couldn't enter target p"..., 53WARNING: couldn't enter target process mnt namespace
) = 53
rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7f0e7c384280}, {SIG_DFL, [], 0}, 8) = 0
stat("/tmp/.java_pid502447", {st_mode=S_IFSOCK|0600, st_size=0, ...}) = 0
socket(AF_LOCAL, SOCK_STREAM, 0)        = 3
connect(3, {sa_family=AF_LOCAL, sun_path="/tmp/.java_pid502447"}, 110) = 0
write(1, "Connected to remote JVM\n", 24Connected to remote JVM
) = 24
write(3, "1\0", 2)                      = 2
write(3, "load\0", 5)                   = 5
write(3, "build/libasyncProfiler.so\0", 26) = 26
write(3, "true\0", 5)                   = 5
write(3, "start,event=alloc,file=t.svg,svg"..., 33) = 33
write(1, "Response code = ", 16Response code = )        = 16
read(3, "-1\n", 8191)                   = 3
write(1, "-1\n", 3-1
)                     = 3
read(3, "", 8192)                       = 0
write(1, "\n", 1
)                       = 1
close(3)                                = 0
exit_group(-1)                          = ?
+++ exited with 255 +++

Turns out it has the same warning yet able to make progress and locate pid file under root's tmp.

Hi!
It seems like Java process runs in a different mount namespace. In order to find files in that namespace the other process (jattach) needs to join that namespace via setns call. However, this syscall requires CAP_SYS_ADMIN capability, which is usually possessed only by root.
Can you run jattach under sudo ?
What does cat /proc/<javapid>/mountinfo say?

Thanks for the quick response, Andrei!
I don't even have to run under root, all I need to do is to make a simlink to my sandbox's /tmp folder:
ln -s /var/lib/mesos/slaves/7f559923-c588-4928-b967-58f186201480-S807/frameworks/201205082337-0000000003-0000/executors/foobarbaz/runs/latest/tmp/.java_pid32579 /tmp/.java_pid32579

After this, I can run async-profiler w/o any problem.
Here is the mountinfo if that helps:
sandbox $ cat /proc/32579/mountinfo
358 346 8:1 / / rw,noatime master:1 - xfs /dev/sda1 rw,attr2,nobarrier,inode64,noquota
441 358 0:6 / /dev rw,nosuid master:2 - devtmpfs devtmpfs rw,size=131870252k,nr_inodes=32967563,mode=755
463 441 0:19 / /dev/shm rw master:3 - tmpfs tmpfs rw
592 441 0:20 / /dev/pts rw,relatime master:4 - devpts devpts rw,gid=5,mode=620,ptmxmode=000
603 441 0:36 / /dev/hugepages rw,relatime master:24 - hugetlbfs hugetlbfs rw,pagesize=2M
612 441 0:17 / /dev/mqueue rw,relatime master:25 - mqueue mqueue rw
614 358 0:4 / /proc rw,relatime master:5 - proc proc rw
615 614 0:35 / /proc/sys/fs/binfmt_misc rw,relatime master:22 - autofs systemd-1 rw,fd=24,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=22650
616 358 0:18 / /sys rw,relatime master:6 - sysfs sysfs rw
617 616 0:7 / /sys/kernel/security rw,nosuid,nodev,noexec,relatime master:7 - securityfs securityfs rw
618 616 0:22 / /sys/fs/cgroup ro,nosuid,nodev,noexec master:8 - tmpfs tmpfs ro,mode=755
619 618 0:23 / /sys/fs/cgroup/systemd rw,nosuid,nodev,noexec,relatime master:9 - cgroup cgroup rw,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd
620 618 0:25 / /sys/fs/cgroup/devices rw,nosuid,nodev,noexec,relatime master:10 - cgroup cgroup rw,devices
623 618 0:26 / /sys/fs/cgroup/net_cls,net_prio rw,nosuid,nodev,noexec,relatime master:11 - cgroup cgroup rw,net_cls,net_prio
624 618 0:27 / /sys/fs/cgroup/freezer rw,nosuid,nodev,noexec,relatime master:12 - cgroup cgroup rw,freezer
625 618 0:28 / /sys/fs/cgroup/cpu,cpuacct rw,nosuid,nodev,noexec,relatime master:13 - cgroup cgroup rw,cpu,cpuacct
626 618 0:29 / /sys/fs/cgroup/perf_event rw,nosuid,nodev,noexec,relatime master:14 - cgroup cgroup rw,perf_event
628 618 0:30 / /sys/fs/cgroup/memory rw,nosuid,nodev,noexec,relatime master:15 - cgroup cgroup rw,memory
629 618 0:31 / /sys/fs/cgroup/pids rw,nosuid,nodev,noexec,relatime master:16 - cgroup cgroup rw,pids
630 618 0:32 / /sys/fs/cgroup/blkio rw,nosuid,nodev,noexec,relatime master:17 - cgroup cgroup rw,blkio
633 618 0:33 / /sys/fs/cgroup/cpuset rw,nosuid,nodev,noexec,relatime master:18 - cgroup cgroup rw,cpuset
636 618 0:34 / /sys/fs/cgroup/hugetlb rw,nosuid,nodev,noexec,relatime master:19 - cgroup cgroup rw,hugetlb
637 616 0:24 / /sys/fs/pstore rw,nosuid,nodev,noexec,relatime master:20 - pstore pstore rw
639 616 0:8 / /sys/kernel/debug rw,relatime master:23 - debugfs debugfs rw
641 639 0:11 / /sys/kernel/debug/tracing rw,relatime master:62 - tracefs tracefs rw
642 358 0:21 / /run rw,nosuid,nodev master:21 - tmpfs tmpfs rw,mode=755
643 642 0:21 /netns /run/netns rw,nosuid,nodev master:100 - tmpfs tmpfs rw,mode=755
644 643 0:3 net:[4026533379] /run/netns/315042 rw master:134 - nsfs nsfs rw
645 643 0:3 net:[4026533159] /run/netns/55250 rw master:149 - nsfs nsfs rw
646 643 0:3 net:[4026533718] /run/netns/421199 rw master:133 - nsfs nsfs rw
648 643 0:3 net:[4026533661] /run/netns/375139 rw master:137 - nsfs nsfs rw
649 643 0:3 net:[4026533606] /run/netns/516393 rw master:146 - nsfs nsfs rw
659 643 0:3 net:[4026534006] /run/netns/209030 rw master:150 - nsfs nsfs rw
662 643 0:3 net:[4026533725] /run/netns/129932 rw master:135 - nsfs nsfs rw
669 643 0:3 net:[4026533841] /run/netns/339292 rw master:143 - nsfs nsfs rw
672 643 0:3 net:[4026533493] /run/netns/12711 rw master:102 - nsfs nsfs rw
675 643 0:3 net:[4026533551] /run/netns/12715 rw master:141 - nsfs nsfs rw
677 643 0:3 net:[4026534003] /run/netns/6660 rw master:152 - nsfs nsfs rw
690 643 0:3 net:[4026533781] /run/netns/458489 rw master:136 - nsfs nsfs rw
699 643 0:3 net:[4026533437] /run/netns/490519 rw master:101 - nsfs nsfs rw
703 358 253:1 / /var/lib/mesos_containers rw,noatime master:26 - ext3 /dev/mapper/vg_mesos-lv_mesos_containers rw,nobarrier,errors=remount-ro,data=ordered
705 358 253:2 / /var/lib/mesos rw,noatime master:27 - xfs /dev/mapper/vg_mesos-lv_mesos rw,attr2,nobarrier,inode64,prjquota
707 358 253:0 / /var/tmp rw,noatime master:28 - ext3 /dev/mapper/vg_mesos-lv_var_tmp rw,nobarrier,errors=remount-ro,data=ordered
718 358 0:37 / /var/lib/tss/keys rw,nosuid,nodev,relatime master:96 - fuse tssfs rw,user_id=994,group_id=992,allow_other
725 643 0:3 net:[4026533778] /run/netns/29808 rw master:142 - nsfs nsfs rw
766 358 253:2 /slaves/7f559923-c588-4928-b967-58f186201480-S807/frameworks/201205082337-0000000003-0000/executors/foobarbaz/runs/3afe8a0a-b7f4-48b6-86fc-bdcdcaab985e/tmp /tmp rw,noatime master:27 - xfs /dev/mapper/vg_mesos-lv_mesos rw,attr2,nobarrier,inode64,prjquota
768 705 253:0 /aurora /var/lib/mesos/slaves/7f559923-c588-4928-b967-58f186201480-S807/frameworks/201205082337-0000000003-0000/executors/foobarbaz/runs/3afe8a0a-b7f4-48b6-86fc-bdcdcaab985e/var/tmp/aurora rw,noatime master:28 - ext3 /dev/mapper/vg_mesos-lv_var_tmp rw,nobarrier,errors=remount-ro,data=ordered
769 707 253:2 /slaves/7f559923-c588-4928-b967-58f186201480-S807/frameworks/201205082337-0000000003-0000/executors/foobarbaz/runs/3afe8a0a-b7f4-48b6-86fc-bdcdcaab985e/var/tmp /var/tmp rw,noatime master:27 - xfs /dev/mapper/vg_mesos-lv_mesos rw,attr2,nobarrier,inode64,prjquota
772 769 253:0 /aurora /var/tmp/aurora rw,noatime master:28 - ext3 /dev/mapper/vg_mesos-lv_var_tmp rw,nobarrier,errors=remount-ro,data=ordered
792 642 0:38 / /run/user/2138 rw,nosuid,nodev,relatime master:144 - tmpfs tmpfs rw,size=26376296k,mode=700,uid=2138,gid=1058
921 642 0:39 / /run/user/0 rw,nosuid,nodev,relatime master:153 - tmpfs tmpfs rw,size=26376296k,mode=700

Looks like it should be possible to derive tmp folder location from there?
ls -la /var/lib/mesos/slaves/7f559923-c588-4928-b967-58f186201480-S807/frameworks/201205082337-0000000003-0000/executors/foobarbaz/runs/3afe8a0a-b7f4-48b6-86fc-bdcdcaab985e/tmp

drwxrwxrwt 3 root     root              4096 Feb  8 22:06 .
drwxr-xr-x 7 root     root              4096 Feb  8 21:56 ..
-rw-r--r-- 1 csl-perf serviceaccount     151 Feb  8 22:04 async-profiler.72105.32579
-rw-r--r-- 1 csl-perf serviceaccount  716789 Feb  8 22:05 async-profiler.72780.32579
-rw-r--r-- 1 csl-perf serviceaccount  693569 Feb  8 22:06 async-profiler.73529.32579
drwxr-xr-x 2 csl-perf serviceaccount      18 Feb  8 21:56 hsperfdata_csl-perf
srw------- 1 csl-perf serviceaccount       0 Feb  8 21:58 .java_pid32579
-rw-r--r-- 1 csl-perf serviceaccount 1191588 Feb  8 22:09 perf-32579.map

The the following line in /proc/pid/mountinfo suggests the real location of /tmp mount:
766 358 253:2 /slaves/7f559923-c588-4928-b967-58f186201480-S807/frameworks/201205082337-0000000003-0000/executors/foobarbaz/runs/3afe8a0a-b7f4-48b6-86fc-bdcdcaab985e/tmp /tmp rw,noatime master:27 - xfs /dev/mapper/vg_mesos-lv_mesos rw,attr2,nobarrier,inode64,prjquota

So is the directory /slaves/7f559923-c588-4928-b967-58f186201480-S807/frameworks/201205082337-0000000003-0000/executors/foobarbaz/runs/3afe8a0a-b7f4-48b6-86fc-bdcdcaab985e/tmp accessible from your shell (I mean by this exact path)?

Yea, I looked it up too. It's not, but if you prefix it with /var/lib/mesos it's accessible - not exactly sure why it works this way.

It seems to be mounting / to /var/lib/mesos (see a couple of lines above). Maybe that's from where that's prefix is coming from?
I checked again, there is no /slaves/... folder (in the root) on my host.

I'm afraid things are even more complicated. It's not always enough to parse just /proc/pid/mountinfo, but it is also necessary to look into /proc/self/mountinfo and then try to match one with another. And I can imagine a situation when this won't work either.
Probably we can fall back to your original suggestion to override /tmp path with some jattach argument (or better with environment variable)?

Oh yeah, I like it - it's very simple. This could be a very reasonable path forward. Either an env variable or just a plain process argument would totally work for us!

/tmp directory of the target process can now be overridden with JATTACH_PATH environment variable. I've choosen env variable instead of command-line argument to avoid passing arguments between jattach and profiler.sh script.

Thanks @apangin! This looks great - I'm going to give it a try next time we update our async-profiler binaries.


Added detection of Amazon CloudFront mobile viewer header

This enables people that are using CloudFront to rely on their detection of mobile viewers.

Hi thanks for this proposal. I won't merge this change as it implies support for external services. If we agree on supporting Amazon CloudFront, then we would need to support all other services that anyone would want. I think this usecase is too particular for this very generic app.
You can add support in your project for CloudFront easily by subclassing the middleware class. Thanks for the efforts and the will to contribute.

Thanks for the quick reply and a great project.
From: Gregor Müllegger<EMAIL_ADDRESS>Sent: Wednesday, December 9, 2015 5:33 PM
To: gregmuellegger/django-mobile<EMAIL_ADDRESS>Cc: Michael J Brams<EMAIL_ADDRESS>Subject: Re: [django-mobile] Added detection of Amazon CloudFront mobile viewer header (#62)
Hi thanks for this proposal. I won't merge this change as it implies support for external services. If we agree on supporting Amazon CloudFront, then we would need to support all other services that anyone would want. I think this usecase is too particular for this very generic app.
You can add support in your project for CloudFront easily by subclassing the middleware class. Thanks for the efforts and the will to contribute.
—
Reply to this email directly or view it on GitHubhttps://github.com/gregmuellegger/django-mobile/pull/62#issuecomment-163421738.


[nrf fromlist] samples: basic: add multicore_hello_world

Add a new "hello world" sample that boots on multiple cores. This sample can be used to see if Zephyr boots successfully with minimal configuration on SoCs with multiple cores.
The following configurations are provided for now:

nRF5340 DK: cpuapp+cpunet
nRF54H20 PDK: cpuapp+cpurad, cpuapp+cpuppr, cpuapp+cpuppr(ram)

Note that because of a quoting bug somewhere in the build system, SB_CONFIG_REMOTE_BOARD is specified in .conf files (see the sysbuild/ directory). This should be fixed in the near future.
Upstream PR: https://github.com/zephyrproject-rtos/zephyr/pull/69652
Signed-off-by: Gerard Marull-Paretas<EMAIL_ADDRESS>(cherry picked from commit d1b3b3ad11878c99abf8501537c4704661573f84)

@gmarull Is this still relevant?

@gmarull Is this still relevant?

it is not, upstream PR suffered from more changes, will hopefully get merged at some point and come during an upmerge maybe.


English Readme

What this PR does:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Added the CN switcher.


Consider replacing node dependencies in iframe with source from CDNs

Remixer has a few dependencies in the iframe overlay, such as Firebase, MDL, and React. They are pulled in via running npm install.  However this makes using remixer in online tools such as codepen difficult, as you cannot simply import remixer by itself, and instead need to include all the dependencies.
As a suggestion, lets consider instead pulling in these dependencies via their recommended hosted CDNs from within the iframe.
We don't need to worry about performance here, as the iframe loads in background not needed immediately at page startup.
For reference, the iframe calling code is here.
Suggested CDNs:
Firebase
<script src="https://www.gstatic.com/firebasejs/3.6.9/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.6.9/firebase-database.js"></script>

MDL
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.min.css">
<script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>

React
<script<EMAIL_ADDRESS><script<EMAIL_ADDRESS>

@appsforartists @chuga  Hey guys, what do you think? Let me know if you have any strong opinions here one way or the other.

I know Michael (who runs unpkg) and trust him to be a good person.  I've run plenty of code he's written. Still, I'm wary to recommend that people load code from servers we don't control (and hence, can't vouch for the security of).
It's probably fine (React even links to that URL from their homepage), but it's still something I'm wary of as a Googler.
What's the bundle size difference between including these and externalizing them?


android: Force me.relex:photodraweeview at v2.1.0

The retired repo "jcenter" has been saying for years that it'll go away, and that seems to have happened. Take this dependency at a later version, which is available from Maven Central.
Fixes: #5888

Tested on the office Android device (Samsung Galaxy S9 running Android 9). Not sure if this needs testing on a newer Android.

Thanks! Looks good — merging.
I think this shouldn't interact much with the Android version.
I did try running it… but found our shell.nix has bitrotted somewhat so that nix-shell --run tools/android (and indeed nix-shell --run adb) doesn't work on the NixOS version I now have on my office desktop. So I won't spend time trying to resolve that right now, for this legacy codebase. (My home desktop still works fine, when I'm at home.)


Remove Piranha Naming

As Manorrock Herring has become a passive project we will keep our own copy of that codebase and push it forward if needed


Fix get_chapter wrong query parameter

Summary
Fixes a wrong query parameter mapping for get_chapters.
As seen in the MangaDex API Swagger docu it should be publishAtSince not publishedAtSince. The other methods which use this parameter where already correct. Only chapter_list was wrong.
Checklist

[x] If code changes were made then they have been tested.

[ ] I have updated the documentation to reflect the changes. (not needed)

[ ] This PR fixes a submitted GitHub issue.
[ ] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

Hey, thanks for the PR!
Ignoring the broken actions since it's a GitHub issue!


Allow getting executable path

Allow getting executable path with daemon.ExecPath()

Hi
Thank you for your pull request.
Why we need do that? Any reason?
thanks

Hi,
When run as daemon, ExecPath, returns the absolute path to the currently executable which is needed also by program to get paths referential to exe path(for example getting conf dir which lives in same dir as exe.
To see how it differs from OS to OS, check execPath functions for linux, windows and freebsd. It will be a good idea to export it with name ExecPath.

Ok, let me explain some thoughts about config files. I think, config file should not be in the directory which binary is living, due to difficulties to find it with 100% guarantee. But it is my own opinion.
What about your improvement. If we will export it in this way, we should guarantee existence of realisation of it - execPath. Please look also executablePath in helper.go and how it's used in implementations. It was used as first iteration in looking of executable path. Maybe implementation of it  should be more transparent?

executablePath assumes that service name and exe name are same. But this is not always true.
For example  I'm running same exe with different params, so I installed different services with different names(pls also check my answer to #37 for creating services with params).
Please also check this project which also exports this function(GetExecutablePath) with same intensions.

Correct me if I'm wrong, executablePath assumes exactly what in args. If we will use os.Args, it hold the command-line arguments, starting with the program name.

OK. if name param is sent a blank string while calling executablePath we'll get the same answer for ExecPath. If we can make  executablePath exportable(i.e. rename to ExecutablePath) than no need for my pull request. (It needs renaming in 6 files.)

I'm just asking for your advice. This discussion is not pressure :)

:-) os.Args is not realiable on all systems if we are running our exe as a service because may It return executable of service subsystem(as it starts our exe)?

Also for past message about pull request, please do not take as a complaint. I wanted to say that renaming of function can be alternative way to access execPath.

Yes, exactly, it may be subsystem. Do you think, we should remove executablePath method?

I think it should remain, its needed when we are installing/starting/stopping/uninstalling service(with custom service name) and works without a problem.

I care about results. What we should have as results? Exportable ExecPath and orphaned executablePath?

I think we should think executablePath as internal function which is called while installing/starting/stopping/uninstalling service, while ExecPath is called during runtime of exe.

ok, accepted.

thanks :-)


When I click an item in dropdown selector , the item won't be selected

for example ,in http://forms.viewflow.io/demo/bank/, when I click America in Nationality, America won't be choosed. My browser is Google Chrome v61.0.3163.100.

mm, there is no America in Nationality

I have got the same problem. This also applies to my local setup.

Can someone give more details about that?
I don't even understand what do you mean, there is no American in the Nationality.

The main issue is that when an item has been selected from a dropdown it doesn't select properly in the background and it returns an error when submitting the form.

I can't reproduce.

Seems to happen with relationships. Same at: http://demo.viewflow.io/admin/integration/sea/add/

Still, have no idea how to reproduce

I have recorded  a video about this problem. Here is the video link: https://pan.baidu.com/s/1boCCNyZ

American is just for an example, I mean that sometime when I click an item in the dropdown, the item can't be selected . May be a bug.

That's hard to say what caused the issue. And still, there is no description how to reproduce it.
I update MaterializeCSS to 0.100.2, probably it could solve that.


Make sure you have resolution docs for your alerts.

Anything you care enough to page about should have a wiki describing how to
resolve it.

@unixorn I think I have this here: https://github.com/actionjack/so-you-want-to-onboard-a-devops-engineer/blame/master/README.md#L55 but feel free to replace that line with your text because it has more fidelity 👍

Actually, I'll add it since it's subtly different. Thanks!


Allow users to define what endpoints are selected as ASPNETCORE_URLS, HTTP/HTTPS_PORTS and Kestrel endpoints

When defining endpoints on project resources, we have some default heuristics for expressing which of these endpoints are included in ASPNETCORE_URLS and which ones are included at publish time for HTTP/HTTPS_PORTS or if kestrel endpoints are defined, a way to use those.
We'd like to add some methods to allow overriding how these get included as an override in case you need to tweak the behavior. The ultimate escape hatch is setting the environment variable yourself as we don't override what users set, but maybe a more explicit way to configure set it would make sense.
This will be turned into an API proposal once we figure out the pattern.

I like the idea but should we do named based on a filter?

Agreed that a callback pattern makes sense.
Additional thoughts:

EndpointReference should have some sort of Source field that indicates where it came from, e.g. Kestrel vs Automatic vs User
Beyond disabling magic env injection, it would be good to have a way to get rid of endpoints.

Putting it all together (naming is shaky, so focus on concept first):
public static IResourceBuilder<ProjectResource> FilterEndpoints(
    this IResourceBuilder<ProjectResource> builder, Func<EndpointReference, EndpointFilterState> filter);

public enum EndpointFilterState
{
    Keep,
    KeepWithoutVarsInjection,
    Discard
}

public enum EndpointSource
{
    Automatic,
    KestrelConfiguration,
    UserDefined
}

var project = builder.AddProject<TestProject>("proj")
    .WithHttpEndpoint()
    .FilterEndpoints(e => {
        if (e.EndpointName == "hp1")
        {
            return EndpointFilterState.KeepWithoutVarsInjection;
        }
        else if (e.Source == EndpointSource.KestrelConfiguration)
        {
            return EndpointFilterState.Discard;
        }
        return EndpointFilterState.Keep;
    })

Alternative is to not return values from the callback, and make methods available to do Discard() and SkipEnvironmentInjection(), e.g.
    .FilterEndpoints(e => {
        if (e.EndpointName == "hp1")
        {
            e.SkipEnvironmentInjection();
        }
        else if (e.Source == EndpointSource.KestrelConfiguration)
        {
            e.Discard();
        }
    });

We want to keep endpoints references decoupled from how the project chooses to use them (synthetic or not), that's why I prefer a model that sets decides what endpoints to include and for what purpose.

Beyond disabling magic env injection, it would be good to have a way to get rid of endpoints.

This should be available generally on all resources. @mitchdenny we can't do this today easily.

Ok, so to summarize, there are 3 things:

Ability to control which endpoints get injected as env variable. That's the core of this issue.
Some kind of Source property on endpoints so users can make category based decisions (e.g. do something only to endpoints coming from Kestrel). This is additive and could be done separately.
Ability to easily remove endpoints: that needs to apply to all resources, so let's keep it separate (should open new issue)

So focusing solely on 1. and tweaking the original proposal to be filter based, something like:
public static IResourceBuilder<ProjectResource> SkipEnvironmentInjectionForEndpoints(
    this IResourceBuilder<ProjectResource> builder, Func<EndpointReference, bool> filter)

var project = builder.AddProject<TestProject>("proj")
    .WithXxx()
    .SkipEnvironmentInjectionForEndpoints(e =>
    {
        return e.EndpointName == "hp1";
    })

Yeah, the name is ugly, and I'm open to suggestions.

public static IResourceBuilder<ProjectResource> BindHttpEndpoints(
    this IResourceBuilder<ProjectResource> builder, Func<EndpointReference, bool> includeFilter);

public static IResourceBuilder<ProjectResource> WithEndpointsInEnvironment(
    this IResourceBuilder<ProjectResource> builder, Func<EndpointReference, bool> includeFilter);

public static IResourceBuilder<ProjectResource> WithAspNetCoreUrls(
    this IResourceBuilder<ProjectResource> builder, Func<EndpointReference, bool> includeFilter);

var project = builder.AddProject<TestProject>("proj")
    .WithReference(cache)
    .BindHttpEndpoints(e =>
    {
        return e.EndpointName == "hp1";
    });

I see, so you're reversing the semantics from my Skip method.
My preference among those would be WithEndpointsInEnvironment. BindHttpEndpoints feels a little vague, and I think the name needs to include the word Endpoints, making WithAspNetCoreUrls not ideal.
But anyway, the important part is to agree on the pattern so I can look at implementing. We can always tweak the name a bit later.

Why do we need another method, can't we make this a property on the endpoint itself and set it via the WithEndpoint("name", Action<...> ...) callback?

The endpoint shouldn't define how project resources use them.

Also, we want to be able to affect endpoints that don't come from an explicit WithXxx call, like Kestrel and default endpoints.

I went with the name WithEndpointsInEnvironment. Though one thing that slightly bothers me about it is that it makes it sound like if you don't call it, you don't get the environment, when it's more the opposite: you need to call it and return false to not get it. Not a huge deal, but slightly quirky.
Question: should the filter take in a EndpointReference or a EndpointAnnotation? I have the former now, but the latter makes it more consistent with WithEndpoint (the callback flavor). It also avoids creating throwaway EndpointReference wrappers that don't really add any value.

I think EndpointAnnotation just like WithEndpoint does

I think EndpointAnnotation just like WithEndpoint does

Done.

Should the name of the method have http in it?

Yes, maybe WithHttpEndpointsInEnvironment? And obviously, we mean http or https, but it might not be clear to people, since there are distinct WithHttpEndpoint and WithHttpsEndpoint methods.


[backport] Add CUDA 11.3 headers

Backport of #5218

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 0e0277593601a6dfdef339c8061d455eac9ca384, target branch v9) succeeded!

Blocked by https://github.com/chainer/chainer-test/pull/658

pfnCI, test this please.

Jenkins CI test (for commit 0e0277593601a6dfdef339c8061d455eac9ca384, target branch v9) failed with status FAILURE.

pfnCI, test this please.

Jenkins CI test (for commit 0e0277593601a6dfdef339c8061d455eac9ca384, target branch v9) succeeded!


</xsl:choose>

https://github.com/OfficeDev/VBA-content/blob/master/VBA/Word-VBA/articles/create-custom-bibliography-styles.md

<xsl:when test="b:StyleNameLocalized">
xsl:choose
<xsl:when test="b:StyleNameLocalized/b:Lcid='1033'">
xsl:textSimple Book Style</xsl:text>
</xsl:when>
</xsl:when>
i am not sure ,but maybe there should have </xsl:choose> before </xsl:when>
i just can see the stylish in word after i add </xsl:choose>

@zhanglukeshine Thanks for the question, I will ask someone on our development team. Meanwhile, you can try asking the community on Stack Overflow:
https://stackoverflow.com/questions/tagged/ms-word

@Rick-Kirkham Can you quickly have a look and see if there's a missing line in the sample?


CSS_TAG_ATTRS on the dev server

Question
I'm having trouble getting my print.css to work on the dev server. It appears the CSS_TAG_ATTRS (as described here) don't work with HRM, i.e. when the dev server is running:
{# in twig #}
{{ craft.vite.register("js/print.js", false, {
   media: "print"
})

// in print.js
import '../scss/print.scss';

The problem in this case is that the media: "print" attribute isn't applied and everything looks ugly :)
I found a workaround by importing the css with ?inline and adding it to a <style> tag in print.js:
{# in twig #}
{{ craft.vite.register("js/print.js", false)

// in print.js
import styles from '../scss/print.scss?inline';

window.addEventListener('load', () => {
    const style = document.createElement('style');
    style.media = "print";
    style.innerText = styles;
    document.head.appendChild(style);
});

Although this works, it's not ideal because this creates really large chunks of inline styles for all stylesheets that need attributes. And it's only needed for local development...
Am I missing something?

Correct, since the Vite dev server is providing the scripts/css, etc. during local development, the Craft Vite plugin is not involved, and cannot set things like the CSS_TAG_ATTRS


[DO NOT SUBMIT] Simplification proposal

@hzyi-google Do you think this PR can be closed now? It's more than a year old.


Add expandAllOnPath method to ExpandableExtension

#911 Added method for expanding all items on a path. Updated the example just to show how to use this method.
I'm not sure what are use cases of using similar method expandIncludeParents. I mean, is there any way to get a position of a collapsed element?

thank you so much


networking broken by cilium-operator running with multiple replicas when ignoring HA due to API server connectivity issues

Bug report
General Information

Cilium version: 1.10.1
Kernel version: Linux pool-tiny-uxbsu 4.19.0-17-cloud-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 x86_64 x86_64 GNU/Linux
Orchestration system version in use: Kubernetes 1.21.5

How to reproduce the issue

Stop the API server.
(Re-)Start cilium-operator with a replica count of 2+, expecting it to do leader election.
Wait a bit.
Start the API server.
After some time, connectivity within the network can start to fail, notably by duplicate CIDR allocations as can be seen on the cilium-operator status (kubectl describe pod):

operator-status:
        error: node has CIDRs allocated ([<IP_ADDRESS>/25]) that conflict with requested
          CIDRs [<IP_ADDRESS>/25]

This seems to be happening because the operator deliberately ignores errors during API resource discovery needed to do leader election. The fallback discovery that is in place is likely to fail as well if the Kubernetes API is inaccessible; as a consequence, multiple operators can start up and do IPAM without coordination, leading to pods not being able to reach certain targets anymore.
The issue does not resolve on its own but requires a restart of the operator with the API server being available.

I see two possible ways to handle this situation better:

Allow cilium-operator to crash and retry. I think there are scenarios where this may be acceptable without leading to a deadlock. Curious to hear people's thoughts, though.
Have the operator rediscover leadership capabilities periodically and, once successful, return to running in singleton mode. This seems okay-ish, though I guess it comes with the downside that cilium-operator could run redundantly for some (short?) period of time and thus be able to continue to break network connectivity until single leadership is retained.

Looking forward to thoughts you may have.

@timoreimann the minimum k8s support by Cilium in v1.10 is 1.16. The leases are available since k8s 1.14. It is safe to remove the resource discovery for leases and always assume they are available. Will you be able to submit a PR to remove that? Thanks

@aanm for sure I can give it a try. 👍
Will report back with a PR once I have some spare time to work on this.
Thanks!

PR out at #18122.

This issue hasn't seen any comment for over two years. Feel free to create a new GitHub issue if you still see the issue persisting with a recent version.


Incorrect reference to PS script at line 195, 198

The name of the blob context is $ctx whereas it is referenced as $context at line number 198. The name of the variable should be $ctx at line 198.
Likewise, the name of the PS variable for blob is $blobs at lin number 198, whereas it is referenced as $blob at line 198 should be $blob.

@raunakjhawar : Thanks for your contribution! The author(s) have been notified to review your proposed change.

No response from the contributor for over 2 weeks. I've made the fixes in another branch.
#please-close


Improve documentation about :tractor:s (tractors)

There is no documentation about how to run this on :tractor:s (tractors), which contributed to lots of confusion, for example see #4292 (credit: reported by @songjiaqi1).

Can someone with more experience in this area add some context about how to run this code on :tractor:s?
I think that we should also add some general advice, because people may not know about the momentum of tractors, which may result in missed opportunities to save a life:

I don't know any specifics about the momentum of the :tractor: and @songjiaqi1's relative position (more context from someone who is more into this topic would be nice). But generally, in case it's currently moving towards you at more than, like, 5 m/s, you may want to make a step to the side, shortly before the :tractor: enters the spot where you are currently standing. I have never done this myself and would in no way consider myself an expert in this, but people who have done this usually report what a great feeling it is not to be brutally knocked over by a :tractor:.
The same is valid in case the :tractor: is hovering over your current position, even if it's not currently moving towards you. Tractors generally tend not to hover there for very long, so please consider stepping out of the way. Reportedly, even if the tractor is currently moving upwards, this may quickly change, and the tractor will stop falling upwards, starting to fall downwards. Again, no personal experience, but reportedly it's a great feeling to be in one piece.

Ping @justmert, do you know more about this?

Or maybe @rosesonfire, can you help with this? I'm currently digging in the dark about what we could do about this, any help appreciated :)

Thank you @Hocuri for bringing the attention to the most important topic for this project: running it on 🚜s (tractors)
Well, your two suggestions make sense because being one piece while a :tractor: moving towards us is the key part of the project. But i suggest another life saving algorithm that we can ship to the cloud (needs development, maybe aws or heroku i don't know)
What if we setup a ramp between us and :tractor: that while :tractor: coming towards us, we stand still like the solid philosophy of this project. If we give enough speed to the :tractor:s, it can definitely fly above and land behinds us. The problem is, how we are going to guarantee that :tractor: will enough speed to leap with ramp that all of us will be solid one piece. Any suggestion would be nice.
Also, we can set up wings for the :tractor: that it can fly above us longer time. Also needs cost and time, so feel free to discard it.

@Hocuri  Oh I have made a mistake, we are damaging to the project if we ship to the cloud. Forget about that, my bad.

Ah yes, this bug.
I have come across an issue which wasn't specifically asking for running the code on a 🚜 but it had to do with something like that.
Issue: #4312
See my comment there for a solution.
I think if we resolve that, then it can be run on a 🚜
Cheers

@justmert yeah, unfortunately, :tractor:s tend to fall downwards when stored in clouds; it's sad but I'm afraid we won't be able to ship to the cloud. (btw the other problem is that the same is true for ships; spaceships might work, but 1. we would still have the :tractor: problem and 2. spaceshipping to the cloud seems out of scope).
@abhijit-hota yes, resolving that issue would definitely make it work, thanks for the link to #4312! However, I'm slightly afraid that it might raise expectations (i.e. users will ask for this feature then).
Yet another idea: What about disrupting the :tractor: shortly before it hits us, using DDD (Disruption Driven Development)? I know we would have to give up on our 0-bugs-promise, but what if we just introduce so many bugs that a single bug is not noticeable in the crowd?


feat: detect and handle adding/removing fiv-gallery-image dynamically

Feature Request
Describe the Feature Request
Support adding/removing fiv-gallery-image dynamically in the below use case
          <fiv-gallery #gallery>
            <ion-slides>
              <ion-slide *ngFor="let photoDraft of recipePhotoDrafts">

                  <fiv-gallery-image [src]="photoDraft.thumbnailAsBase64"></fiv-gallery-image>

              </ion-slide>
            </ion-slides>
          </fiv-gallery>

Right now, new photos/images added are displayed but clicking on them does not open a preview. My assumption is that this is because images QueryList is not subscribed for changes and the fiv-gallery does not take into account if image(s) are added/removed.
Describe Preferred Solution
The dynamically added images must support click to open a preview.
Describe Alternatives

Subscribe to images QueryList changes and handle them accordingly. Right now I have to use showGallery flag and toggle it off and on to accomodate the changes but this makes the component to flicker when it is re-rendered.
          <fiv-gallery #gallery *ngIf="showGallery === true">
            <ion-slides>
              <ion-slide *ngFor="let photoDraft of recipePhotoDrafts">

                  <fiv-gallery-image [src]="photoDraft.thumbnailAsBase64"></fiv-gallery-image>

              </ion-slide>
            </ion-slides>
          </fiv-gallery>

Related Code
See above
Additional Context
N/A

Another use case is that the app needs to support deleting an image displayed in the preview. It should remove the image from the preview and who the appropriate images when the preview is dismissed.


Icons will not show in Meteor 1.6

I am using semantic-ui-react 0.78.2 with Meteor 1.6
import {Button, Icon} from 'semantic-ui-react';
.....
<Button onClick={this.customFunction}>
     <Icon name='trash' />
</Button>

Icons are replaced with empty boxes.
The browser shows these messages:
Low network is detected. Fallback font will be used while loading: http://localhost:3000/themes/default/assets/fonts/icons.woff2

Failed to decode downloaded font: http://localhost:3000/themes/default/assets/fonts/icons.woff2

OTS parsing error: invalid version tag

I looked over the other issues and none of the given solutions work.

This error isn't related to SUIR. It seems that http://localhost:3000/themes/default/assets/fonts/icons.woff2 file is unaccessible.

Why would you that? The icons come from semantic-ui. I am using Meteor with React. So the only way to use Semantic is through Semantic-UI-React

@gabimoncha the icons come from the CSS. It's a font file. The CSS and fonts are not part of this project. If a file is not accessible in your project you'll need to figure out where those fonts are actually located and then recompile your CSS to the appropriate location.

@brianespinosa @layershifter I discovered the problem. It works if I follow the Semantic-UI-Meteor instructions. I think you should include the installation instructions for Meteor 1.3+ of documentation in yours. I can do it if you allow me

@gabimoncha you have to use the SUI CSS for EVERYTHING, not just the font. This is already included in our documentation under Usage: https://react.semantic-ui.com/usage#css

@brianespinosa, exactly! I tried that but it doesn't work. It shows the error with which I opened this issue. But if you install it as I described earlier you don't need to use import 'semantic-ui-css/semantic.min.css';
You just import 'semantic-ui-react'

I have the same problem with meteor 1.6.1 despite installing and importing the required semantic-css.

@gjakab Revert to meteor 1.6. I encountered numerous problems with my packages when updating to 1.6.1


x/net: data race in trace package

From https://github.com/golang/net/blob/10cf388024ca83e11a073bb365ccda2b2806d103/trace/events.go#L61-L66:
	data.Families = make([]string, 0, len(families))
	famMu.RLock()
	for name := range families {
		data.Families = append(data.Families, name)
	}
	famMu.RUnlock()

Shouldn't len(families) be done with the mutex held? It's a package-level field that seem to be protected by the mutex.

Concurrent safe implementation would be
        famMu.RLock()
	data.Families = make([]string, 0, len(families))
	for name := range families {
		data.Families = append(data.Families, name)
	}
	famMu.RUnlock()

Fix - to reduce unnecessary reallocations due to dirty reads


cluster create fails with 2.8.0 (upgrading from 2.6.1)

AWS ParallelCluster 2.6.0
I get the following when I upgrade to 2.8.1 from 2.6.0.
Cluster creation failed.  Failed events:

AWS::EC2::SecurityGroup ComputeSecurityGroup Resource creation cancelled
AWS::CloudFormation::Stack EBSCfnStack Resource creation cancelled
AWS::SNS::Topic SNS Resource creation cancelled
AWS::IAM::Role RootRole Resource creation cancelled
AWS::EC2::PlacementGroup DynamicPlacementGroup Resource creation cancelled
AWS::EC2::NetworkInterface MasterENI Resource creation cancelled
AWS::DynamoDB::Table DynamoDBTable Resource creation cancelled
AWS::CloudFormation::Stack CloudWatchLogsSubstack Embedded stack arn:aws:cloudformation:us-east-1:423682823314:stack/parallelcluster-xxxxxxx-CloudWatchLogsSubstack-1OCYAGFTC23YK/9e6d7490-d78f-11ea-b793-0aac80a39b9b was not successfully created: The following resource(s) failed to create: [CloudWatchLogGroup].
Stack [parallelcluster-xxxxxxx-CloudWatchLogsSubstack-1OCYAGFTC23YK] does not exist

No changes made to config. I am not using custom AMIs.

Update: Creating a cw-log section with "enable = false" allowed me to start the cluster. Still, I would expect not to break existing configs when upgrading, and now I would really like cloudwath logging. :)

Hi @rkarnik-kymera
could you better explain what you mean with "upgrading from 2.6.1"?
Is it possible to upgrade the cli with the pip install aws-parallelcluster --upgrade command but you cannot update an existing cluster created with a previous version of the cli.
I tried to execute the pcluster update command on a cluster created with 2.6.1 and I received the following message:
 C:\>pcluster update 2-6-1-test-cluster
Validating configuration file ...
Retrieving configuration from CloudFormation for cluster  2-6-1-test-cluster...
ERROR: The cluster  2-6-1-test-cluster was created with a different version of ParallelCluster: 2.6.1. Installed version is 2.8.1. Update operations may only be performed using the same ParallelCluster version used to create the cluster.

It means you cannot update (nor upgrade) a cluster created with an older version of the cli.
Could you explain the steps you did to be able to reproduce the issue?
Thanks

Sorry, I was not clear what I meant.
I had created this cluster a few months ago from an older laptop using 2.6.0. On my new laptop, I did the following:

Installed parallelcluster
pip install aws-parallelcluster
Tried to stop existing cluster.
pip stop <clustername>
Got error message about not being able to update cluster
Deleted existing cluster
pip delete <clustername>
Succeeded
Tried to recreate the cluster
pip create -c <configfile> <clustername>
Got the error message in my original report
Added a cw_log section to the config file

[cw_log <clustername>]
enable = false
retention_days = 7

Added a cw_log_settings line to the cluster section in the config file.
cw_log_settings = <clustername>
Created the cluster
pcluster create <clustername>

I was expecting step 4 to work to retain backwards compatibility of the config file. Now that I have things up again, how can I get Cloudwatch logging to work?

I think the problem is that you have a log group, having the same name as the new one you are trying to create, which was not properly deleted with a previous cluster.
ParallelCluster tries to create a log group which is /aws/parallelcluster/$cluster-name and in your case most likely it is failing because that loggroup already exists. Can you try to manually delete the loggroup from CloudWatch console and then recreate the cluster?

Yes, that was it, thanks! It was actually a log group I had set up for a pre-2.6.0 cluster.
Does the log group get deleted when I delete the cluster? How can I persist the logs between different cluster creations (same name)?

@rkarnik-kymera thanks for the detailed explanation.
By default the log group is deleted at cluster deletion time.
You can preserve it by passing the --keep-logs flag to the pcluster delete command (more details here).
In any case we don't recommend to maintain the logs of a previous created cluster and create a new one with the same name, because the creation of the new one will fail saying that the CloudWatchLogGroup already exists.
Let us know if it helps.

Thank you @enrico-usai. Maybe in the future, creation of the CloudWatchLogGroup can be optional as well. Closing this issue for now.

Hi @rkarnik-kymera
Through the enable configuration parameter you can optionally disable the creation of the CloudWatch LogGroup.
Starting from 2.6.0 we decided to enable CloudWatch integration by default, it is the reason you had to insert enable = false in the configuration to prevent the CloudWatchLogGroup creation.
Let us know if it helps.


Deployment and Presentation

@todo

[ ] @input :question: Look for a situable hosting platform
[ ] @input :question: Compare prices with different platforms
[ ]  @output :question: Deploy the webisite online to be accessible for use by the end users
[ ] @output :question: A video screencast showing the full implemention of the website 🎏

@info

We would need to look for platforms where we can host the website
Then compare them for prices and we choose the best plan
Buy domain and deploy the website
Record a video Screencast will be recorded to show the implementation of the dat ecosystem website is working.

feedback 2022.04.28
same as in https://github.com/playproject-io/contracting/issues/45#issuecomment-1112698703
so for example again, the tasks could be
...

- [ ] deploy website and record presentation
   - [ ] Look for a situable hosting platform and compare prices
     * `@output` :question: `comparison table with best hosting options`
   - [ ] present options and choose winner
     * `@output` :question: `user/pass account with chosen hosting provider`
   - [ ] Deploy the webisite online to be accessible for use by the end users
     - `@input` :question: `implemented website repository` from #42
     - `@output` :question: :checkered_flag: `URL of the hosted website`
   - [ ] record a video screencast showing the full implemention of the website 🎏
     - `@output` :question: :checkered_flag: `recorded video on youtube`

...

not saying it needs to be exactly like the above, especially because we will just use github pages for hosting so we can skip that, as it is supposed to be a static website in the end :-) ...that uses javascript client side to fetch(...) or websocket whatever it needs, but formally the above needs to be improved regarding the form

merged into #49


pushing banner test

Created a banner for Secrets for Zowe SDK announcement

Banner resized for smart phone screens:


SPFx in Teams Mobile no longer loads

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
macOS
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[X] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[X] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

New Teams on iOS (reports of same issue happening in Android)
SPFx 1.19.0

Describe the bug / error
SPFx webparts hosted in teams no longer load in the mobile apps. The issue appears to be the call the teamsJs app context. In the vanilla webpart, this section of code causes the problem:
  private _getEnvironmentMessage(): Promise<string> {
    if (!!this.context.sdks.microsoftTeams) { // running in Teams, office.com or Outlook
      return this.context.sdks.microsoftTeams.teamsJs.app.getContext()
        .then(context => {
          let environmentMessage: string = '';
          switch (context.app.host.name) {
            case 'Office': // running in Office
              environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOffice : strings.AppOfficeEnvironment;
              break;
            case 'Outlook': // running in Outlook
              environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOutlook : strings.AppOutlookEnvironment;
              break;
            case 'Teams': // running in Teams
            case 'TeamsModern':
              environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentTeams : strings.AppTeamsTabEnvironment;
              break;
            default:
              environmentMessage = strings.UnknownEnvironment;
          }

          return environmentMessage;
        });
    }

    return Promise.resolve(this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentSharePoint : strings.AppSharePointEnvironment);
  }

Steps to reproduce

Generate a standard web part using 1.19.0
Deploy to teams (I used a custom manifest)
Try to load it on Teams Mobile
Witness the never ending loading

Expected behavior
I expected the out of the box webpart to work as it did previously. It still works on desktop without issue, it's specifically within the Teams mobile client that the issue is seen.
The version of TeamsJS is controlled by SharePoint. The SPFx app shows it's using TeamsJS 2.12.0 but this isn't the actual version loaded on the page. This was working with TeamsJS 2.22.0 (last time I checked the version) but it appears the version was just updated to 2.24.0 in the past couple of days. This change is breaking all our stuff.
I have recreated the issue without changing a line of code in the default scaffolded web part which is why I believe the server side change to TeamsJS has caused this issue.

@thechriskent - thanks Chris for reporting the issue.
Could you please specify what mobile device you are using (Android/iOS and device)
I can't reproduce the issue on my side

Hi, Alex! Thanks for looking into this.
I am testing with iOS but we have reports of the same issue happening on Android as well. I generated a web part using 1.19.0 and selected React for the framework. The only line of code I have changed is line 28 where I'm passing the teamsJs.version for the description:
  public render(): void {
    const element: React.ReactElement<IHelloWorldProps> = React.createElement(
      HelloWorld,
      {
        description: this.context.sdks.microsoftTeams?.teamsJs.version || 'Not Teams',
        isDarkTheme: this._isDarkTheme,
        environmentMessage: this._environmentMessage,
        hasTeamsContext: !!this.context.sdks.microsoftTeams,
        userDisplayName: this.context.pageContext.user.displayName
      }
    );

Here it is working as expected within New Teams on the Mac:

Here it is in the neverending placeholder display in the iOS Teams app:

Now, if I adjust the _getEnvironmentMessage() method like this:
private _getEnvironmentMessage(): Promise<string> {
    // if (!!this.context.sdks.microsoftTeams) { // running in Teams, office.com or Outlook
    //   console.log('teams version', this.context.sdks.microsoftTeams.teamsJs.version);
    //   return this.context.sdks.microsoftTeams.teamsJs.app.getContext()
    //     .then(context => {
    //       let environmentMessage: string = '';
    //       switch (context.app.host.name) {
    //         case 'Office': // running in Office
    //           environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOffice : strings.AppOfficeEnvironment;
    //           break;
    //         case 'Outlook': // running in Outlook
    //           environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOutlook : strings.AppOutlookEnvironment;
    //           break;
    //         case 'Teams': // running in Teams
    //         case 'TeamsModern':
    //           environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentTeams : strings.AppTeamsTabEnvironment;
    //           break;
    //         default:
    //           environmentMessage = strings.UnknownEnvironment;
    //       }

    //       return environmentMessage;
    //     });
    // }

    return Promise.resolve(this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentSharePoint : strings.AppSharePointEnvironment);
  }

Once I redeploy, here is the web part on iOS in the Teams app:

Can you check to see if we have the same version of TeamsJS being handed to us? Thanks

@thechriskent I'm testing on Prod so should be on the same version.
And double checked that 2.24.0 is used in my case as well.
Have you tried on another tenant?
Also could you try modifying the code to have catch block and see if any error is presented?

Everything works as expected in my dev tenant and since it's working for you, I'm assuming it's something specific to our corporate tenant.
Trying to troubleshoot what the problem is, however, is proving to be super hard. Wrapping the call in a try/catch fixes nothing. Unless I comment out the call to teamsJs.app.getContext() entirely, the bundle does not load. Even if that code is unreachable, just it existing in the project causes the web part to not load in teams mobile (within our tenant).
So, the problem appears to only be affecting my tenant that we know of. However, the issue showed up in previously working deployed code, can be recreated with the vanilla setup, and the error is happening before my code even loads. This strongly appears to be a Microsoft issue. Seeing as we are on a few rings ahead of targeted release, I wouldn't be surprised to see this issue start showing up more widely (though I don't know how many SPFx webparts are being surfaced in Teams on mobile).
Should I open a true support ticket for this one?

As an aside, what is the reasoning for how teamsJS is handled compared to other dependencies? This seems super weird that although I have a dependency specified and can test with it, the hot swap nature of it makes our testing invalid, causes issues with mismatched typings, and introduces a dependency we don't actually have control over and can only validate at runtime.
I'm not aware of any other part of SPFx doing that. Who thought this was a good idea?


Can you consider adding an overdue function

I just started using Logseq. Thank you very much for your work. It has been of great help to me. However, since I often cannot complete the tasks for the day. For example, the task I set on the 14th was only completed on the 17th as shown in the picture. Can a property be added to calculate the overdue time if created and completed are different? Or other similar prompts? I really want to complete it by myself, but I really don't know how to do it. Or do you have any way to give me some pointers?
Besides, I would like to ask what does this string means?

That trouble is probably a challenge that many Logseq users have faced. I don't have a clear solution either. If I find out anything, I'll post it here again.
The "string" property is date metadata to be traced in the query.


Updated Org admins template table Action menu.

Change:

Re-worded "Export as pdf" to "Download".
Removed "Export as docx".

Fix for #2091.

@briri @xsrust My bad those files generated when you run Rspec were accidentally added to commit as I had run Rspec . I have removed them.
May be we should consider excluding *.docx, *.txt and *.csv from root directory in .gitignore.

@briri @xsrust Updated the gem for brakeman because Travis was failing.


Fixed devtools warning

Not needed

If you recreate this without the end of support notice, i'll merge it, because like you said, "Memes are a part of ED after all." :^)

@joe27g give me a moment to do so, and I'll reopen it w/ the notice taken out

Took out that notice


Support creating stub-only packages

[x] I have searched the issues of this repo and believe that this is not a duplicate.

Issue

MyPy documentation explains how to create stub-only packages. It would be nice if Poetry supported stub-only packages. Current behaviour:
$ fd
ordered_set-stubs
pyproject.toml
LICENSE
README.md
ordered_set-stubs/__init__.pyi
$ poetry build
Skipping virtualenv creation, as specified in config file.
Building ordered_set-stubs (0.1.0)

[ValueError]
No file/folder found for package ordered-set-stubs

build [-f|--format FORMAT]

It's already supported. Just add the following to the [tool.poetry] section.
[tool.poetry]
# Basic package information

packages = [
    {include = "ordered_set-stubs"}
]

Then, if you run poetry build you should have stub-only distributions.

You can have more information in the documentation: https://poetry.eustace.io/docs/pyproject/#packages

Thank you, @sdispater, it worked. Sorry didn't figured out myself.


replace token symbol with token ticker for AddAccountingRecord call

This PR replaces token symbol with token ticker for AddAccountingRecord calls within methods:

TokenBalanceAddWithTicker
TokenBalanceSubWithTicker

@pfi79 I have added proposed validation

I see your point. The validation I added is a bit confusing. The better way is to fill accounting records with similar logic as functions balances.Add and balances.Sub is called, so no error check will be needed. So, I suppose to propose this change in separate PR not to produce dozens of commits. Thus, I close this PR


[network_info_plus] Request: Provides subnet mask, gateway, broadcast address and other information

I hope this plugin can provide the following information:

subnet mask
gateway
broadcast address
IPv6

Hi @YowFung 👋,
I think the things you mentioned are included in the latest version via PR #355. So please check the latest version and close the issue.
Thanks.

Nice! Thank you very much!


[UX Designer & Researcher]: Filter Panel UX (expanded)

The problem
We, the Unified Search and Product Discovery squad, launched the usability study of the Filter Panel UX. It was a balanced comparison usability study comparing two different UX:

(Version A) Expanding/Collapsing filter panel experienced defined by the Carbon for ibm.com standards
https://www.ibm.com/standards/carbon/components/filter-panel

(Version B) Expanded version of the filter panel experience with having some additional enhancements (in comparison to what we have now on ibm.com/products Products Catalog page):
a. Filter by typing
b. Scrollable list of filter sub-categories (when there is a very long list of subcategories, e.g. in Industries and Brands category)
Prototype: https://4nyeuv.axshare.com/b_version.html

The results of the study may be found here:
https://ibm.box.com/s/fznrraiknaw0qp44cllt251b6dstwyjk
We want to go live with the Version B experience and our development team will start working on that soon.
We would love the Carbon for ibm.com standards team to add this kind of filter panel experience to our design system so we have more filter panel experiences in our design system that the stakeholders can leverage.
Thank you and I appreciate it.
Let me know if you have any questions, I'm happy to help,
Martin
The solution
see above
Application/website
ibm.com/products
Business priority
High Priority = pressing release
What time frame would this ideally be needed by (if applicable)
No response
Examples
No response
Code of Conduct

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

@martin-stefanik Thank you for opening this Feature Request!
Outlining a few things we discussed in our previous meeting regarding the above request:
1. Update website guidelines
We will open an issue to update the guidelines on the Carbon for IBM.com site to inform adopters that expanding the categories performed better in this context. Right now we suggest only expanding 1–3.

I did notice that a lot of the testers comments on the label “Brands” not being informative of what would be under that label, so I wonder if that had any influence.
If I remember correctly, Keegan and Colleen did some testing of labels for the navigation and mega menu and that’s why that category is “top products and platforms” and not “brands” any longer.
Alphabetical ordering is already a part of the guidance.

2. Search page next steps
I’m ok with your team moving forward with the expanded filters + the view all link (we just got that released), but I’d like to see more visual explorations on the filter by typing and scrolling before the search team developers code that into the experience.
3. Additional explorations
We need additional explorations for the filter by typing and the scrolling within a category that the Version B prototype shows.
I would love for us to coordinate with Shawn and Joseph about the business priority of these items.

Thanks, @oliviaflory for your comments. Really great points!
I will get back to this "hill" once I complete some of my top priorities right now. Here are some of my comments:
A. I agree that informing adopters that expanding the categories performs better on the Product Catalog page. It doesn't mean that it will perform on any other website. In my point of view, it's the adopters' responsibility to conduct research that will convince them which is the better way to go for their offerings.
B. One of my findings that I communicated to broader stakeholders (including Shawn and the PM of the Search and Product Discovery squad) is that the naming conventions are confusing (Cloud, Cloud Computing, Topics, Solutions, Brands, Platforms, etc.). I believe that they added this into their backlogs.
C. We will definitely work with you and your team in order to have an alignment of the "filter by typing" experience (+ visual concepts) plus the scrolling within the category. We will for sure continue user research of these "new" features.
D. I will also talk to Shawn and Joseph about the business priority of these items. I will work more and more for them in the future.
Thanks again, Martin


feat: add ability to remove a question from a note

Thanks for the pull request. It's clear and well covered.


Where is model-loaders project?

Hello
I'm following this tutorial https://www.youtube.com/watch?v=Ufm-89CkGZk to run the ModelLoaderAdapters project, it require model-loaders project as library. But i cant found it in latest commit. I found "model-loaders" in an older commit (in someone's github), i try import but give many errors because of the GL10 was removed.
So, where is the model-loaders now?

https://github.com/libgdx/libgdx/wiki/Issue-Tracker


Add support for fish

This adds the command fish with error format accordingly.
I find that this is a bit buggy sometimes, e.g. sometimes when I run it, it will only parse part of the error message as the message, but with several consecutive runs it will eventually get the full message. It is kind of like it returns too early.
Is there something weird with my pattern or is this a known issue?

Thanks!
Do you have an example file where it fails sometimes?
Apart from that: please rebase (and add the filetype sorted by name to the README)

A file like this:
function hello_world
    if true
    end

Results in:
|| Missing end
|| to balan
|| ce this
/home/terje/badfile.fish|1 col 26 error| function definition

But when saving again, works with:
/home/terje/badfile.fish|1 col 26 error| Missing end to balance this function definition

It randomly fails reading the whole output.

Thanks!
Merged and fixed.  You need buffer_output = 1.


Unable to convert Curl to Python

Unable to convert below Curl command to Python
curl --form<EMAIL_ADDRESS>--form benchmark=9
#https://geocoding.geo.census.gov/geocoder/locations/addressbatch --output geocoderesult.csv

What is the # before the https?

Sorry for that. "#" needs to be removed. By the way I was able to make it work in Python using requests by replacing with this
import requests
url = 'https://geocoding.geo.census.gov/geocoder/locations/addressbatch'
filename = 'C:/Users/.........../Sample2.txt'
files = {
'benchmark': (None, 9),
'addressFile': (filename, open(filename, 'rb')),
}
response = requests.post(url, files=files)

Are you requesting that --form be supported as an input parameter for python? Or are you requesting that @ file syntax be supported? If so, the title of this issue should be updated

We have supported --form and @ file syntax for it for a while. With #349 we now also support --output so everything about this command should convert correctly:
import requests

files = {
    'addressFile': ('localfile.csv', open('localfile.csv', 'rb')),
    'benchmark': (None, '9'),
}

response = requests.post('https://geocoding.geo.census.gov/geocoder/locations/addressbatch', files=files)

with open('geocoderesult.csv', 'wb') as f:
    f.write(response.content)


Setting current identity to 0 copies causes card browser to break

Setting a new identity by increasing the count from 0 to 1 of some identity not already selected works fine. However, a new user such as myself may be very likely to try to set the current identity count to 0 first, either via the modal that pops up when clicking the identity at the top of the decklist (despite the cursor changing to a blocked symbol, the 0 button in that button group is still clickable), or through setting the card count of the current identity to 0 in the card browser on the right. When this happens, the website breaks. If cards are showing on the card browser pane at this point, any number of then can be "added" without affecting anything.

Doing anything else to the state of the card browser causes it to show 0 results, and searching for cards via it no longer causes them to pop up in a modal.
The bad state can be fixed by saving and reopening the deck, but this issue initially caused me to think it wasn't possible to change the identity of a deck that had already been created.

@plural Thanks! This was the one stumbling block I got really confused with doing JNet to NRDB import as a new user; great to have a fix 🎉