gd: fix darwin build

cc @copumpkin
also see pr #16119

Hmm, now I'm concerned about how pure the darwin stdenv is 😦 this doesn't build here:
As you wrote it:
$ nix-build -A gd
these derivations will be built:
  /nix/store/zym546a7vnrcvl6qc9pnwr29xa2w0src-gd-2.2.2.drv
building path(s) ‘/nix/store/f0nwiq0pai1j5lmi6gqz0zl9z0c050ic-gd-2.2.2-bin’, ‘/nix/store/h270iwh6gpls41qrlclvr66dkzzapbbz-gd-2.2.2’, ‘/nix/store/y5y99v2fq5qzcfjk82an96vskavrbw0x-gd-2.2.2-dev’
unpacking sources
unpacking source archive /nix/store/myy53ycrkgqs879hgncd31520rickka2-libgd-2.2.2.tar.xz
source root is libgd-2.2.2
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file libgd-2.2.2/tests/Makefile.in
patching sources
applying patch /nix/store/knvm1m9fwxghxbijb6wz9m2qfj2zjiga-libtool.patch
patching file configure.ac
patch unexpectedly ends in middle of line
Hunk #1 succeeded at 38 with fuzz 1.
configuring
fixing libtool script ./config/ltmain.sh
configure flags: --disable-static --disable-dependency-tracking --prefix=/nix/store/h270iwh6gpls41qrlclvr66dkzzapbbz-gd-2.2.2         --bindir=/nix/store/f0nwiq0pai1j5lmi6gqz0zl9z0c050ic-gd-2.2.2-bin/bin --sbindir=/nix/store/f0nwiq0pai1j5lmi6gqz0zl9z0c050ic-gd-2.2.2-bin/sbin         --includedir=/nix/store/y5y99v2fq5qzcfjk82an96vskavrbw0x-gd-2.2.2-dev/include --oldincludedir=/nix/store/y5y99v2fq5qzcfjk82an96vskavrbw0x-gd-2.2.2-dev/include         --mandir=/nix/store/f0nwiq0pai1j5lmi6gqz0zl9z0c050ic-gd-2.2.2-bin/share/man --infodir=/nix/store/f0nwiq0pai1j5lmi6gqz0zl9z0c050ic-gd-2.2.2-bin/share/info         --docdir=/nix/store/h270iwh6gpls41qrlclvr66dkzzapbbz-gd-2.2.2/share/doc/gd         --libdir=/nix/store/h270iwh6gpls41qrlclvr66dkzzapbbz-gd-2.2.2/lib --libexecdir=/nix/store/h270iwh6gpls41qrlclvr66dkzzapbbz-gd-2.2.2/libexec         --localedir=/nix/store/h270iwh6gpls41qrlclvr66dkzzapbbz-gd-2.2.2/share/locale         CFLAGS='-Wno-error=unused-command-line-argument'
checking build system type... x86_64-apple-darwin15.4.0
checking host system type... x86_64-apple-darwin15.4.0
checking for a BSD-compatible install... /nix/store/s1vkjmshxg2vz7cvpfwrg0c4h91qqzl2-coreutils-8.25/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /nix/store/s1vkjmshxg2vz7cvpfwrg0c4h91qqzl2-coreutils-8.25/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for style of include used by make... GNU
checking for gcc... clang
checking whether the C compiler works... no
configure: error: in `/private/var/folders/f2/18n30h057611nz0cy1ng9bhc0000gn/T/nix-build-gd-2.2.2.drv-0/libgd-2.2.2':
configure: error: C compiler cannot create executables
See `config.log' for more details
builder for ‘/nix/store/zym546a7vnrcvl6qc9pnwr29xa2w0src-gd-2.2.2.drv’ failed with exit code 77
error: build of ‘/nix/store/zym546a7vnrcvl6qc9pnwr29xa2w0src-gd-2.2.2.drv’ failed

If I remove the CFLAGS you set:
$ nix-build -A gd
these derivations will be built:
  /nix/store/jjpkzq9mkbx0khhcfwdrc56ifhz7l6gj-gd-2.2.2.drv
building path(s) ‘/nix/store/96nnd6l84hxkqi7jxj4npb6c26gfpcvn-gd-2.2.2-bin’, ‘/nix/store/nnaii4kfbbfvx8rq47djd6w5a0bz2bpi-gd-2.2.2-dev’, ‘/nix/store/xybp0d3j06l2vzplm9f1wd0r0jj0a1zl-gd-2.2.2’
unpacking sources
unpacking source archive /nix/store/myy53ycrkgqs879hgncd31520rickka2-libgd-2.2.2.tar.xz
source root is libgd-2.2.2
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file libgd-2.2.2/tests/Makefile.in
patching sources
applying patch /nix/store/knvm1m9fwxghxbijb6wz9m2qfj2zjiga-libtool.patch
patching file configure.ac
patch unexpectedly ends in middle of line
Hunk #1 succeeded at 38 with fuzz 1.
configuring
fixing libtool script ./config/ltmain.sh
configure flags: --disable-static --disable-dependency-tracking --prefix=/nix/store/xybp0d3j06l2vzplm9f1wd0r0jj0a1zl-gd-2.2.2         --bindir=/nix/store/96nnd6l84hxkqi7jxj4npb6c26gfpcvn-gd-2.2.2-bin/bin --sbindir=/nix/store/96nnd6l84hxkqi7jxj4npb6c26gfpcvn-gd-2.2.2-bin/sbin         --includedir=/nix/store/nnaii4kfbbfvx8rq47djd6w5a0bz2bpi-gd-2.2.2-dev/include --oldincludedir=/nix/store/nnaii4kfbbfvx8rq47djd6w5a0bz2bpi-gd-2.2.2-dev/include         --mandir=/nix/store/96nnd6l84hxkqi7jxj4npb6c26gfpcvn-gd-2.2.2-bin/share/man --infodir=/nix/store/96nnd6l84hxkqi7jxj4npb6c26gfpcvn-gd-2.2.2-bin/share/info         --docdir=/nix/store/xybp0d3j06l2vzplm9f1wd0r0jj0a1zl-gd-2.2.2/share/doc/gd         --libdir=/nix/store/xybp0d3j06l2vzplm9f1wd0r0jj0a1zl-gd-2.2.2/lib --libexecdir=/nix/store/xybp0d3j06l2vzplm9f1wd0r0jj0a1zl-gd-2.2.2/libexec         --localedir=/nix/store/xybp0d3j06l2vzplm9f1wd0r0jj0a1zl-gd-2.2.2/share/locale
checking build system type... x86_64-apple-darwin15.4.0
checking host system type... x86_64-apple-darwin15.4.0
checking for a BSD-compatible install... /nix/store/s1vkjmshxg2vz7cvpfwrg0c4h91qqzl2-coreutils-8.25/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /nix/store/s1vkjmshxg2vz7cvpfwrg0c4h91qqzl2-coreutils-8.25/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for style of include used by make... GNU
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking whether clang understands -c and -o together... yes
checking dependency style of clang... none
checking for ar... ar
checking the archiver (ar) interface... ar
checking for clang option to accept ISO C99... none needed
checking for clang option to accept ISO Standard C... (cached) none needed
checking how to print strings... printf
checking for a sed that does not truncate output... /nix/store/qarm5b05833vwq2yaxp5j6zfkd9ga96v-gnused-4.2.2/bin/sed
checking for grep that handles long lines and -e... /nix/store/s3qgdnmz9zdhp6286fmp95np7f3k98qm-gnugrep-2.25/bin/grep
checking for egrep... /nix/store/s3qgdnmz9zdhp6286fmp95np7f3k98qm-gnugrep-2.25/bin/grep -E
checking for fgrep... /nix/store/s3qgdnmz9zdhp6286fmp95np7f3k98qm-gnugrep-2.25/bin/grep -F
checking for ld used by clang... /nix/store/amz2b7wdylfs34l96163lj8b49xhb50j-clang-wrapper-3.7.1/bin/ld
checking if the linker (/nix/store/amz2b7wdylfs34l96163lj8b49xhb50j-clang-wrapper-3.7.1/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /nix/store/zc2pmgijiiala45mcmbkwp8gqlm99ngr-cctools-binutils-darwin/bin/nm
checking the name lister (/nix/store/zc2pmgijiiala45mcmbkwp8gqlm99ngr-cctools-binutils-darwin/bin/nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-apple-darwin15.4.0 file names to x86_64-apple-darwin15.4.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin15.4.0 file names to toolchain format... func_convert_file_noop
checking for /nix/store/amz2b7wdylfs34l96163lj8b49xhb50j-clang-wrapper-3.7.1/bin/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /nix/store/zc2pmgijiiala45mcmbkwp8gqlm99ngr-cctools-binutils-darwin/bin/nm output from clang object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... no
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking how to run the C preprocessor... clang -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if clang supports -fno-rtti -fno-exceptions... yes
checking for clang option to produce PIC... -fno-common -DPIC
checking if clang PIC flag -fno-common -DPIC works... yes
checking if clang static flag -static works... no
checking if clang supports -c -o file.o... yes
checking if clang supports -c -o file.o... (cached) yes
checking whether the clang linker (/nix/store/amz2b7wdylfs34l96163lj8b49xhb50j-clang-wrapper-3.7.1/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin15.4.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for pkg-config... /nix/store/rz6svpfwigyx09vm58cpyv3ny4w3zj2m-pkg-config-0.29/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for X... no
checking for ANSI C header files... (cached) yes
checking for dirent.h... yes
checking for errno.h... yes
checking for inttypes.h... (cached) yes
checking for limits.h... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for ld used by clang... /nix/store/amz2b7wdylfs34l96163lj8b49xhb50j-clang-wrapper-3.7.1/bin/ld
checking if the linker (/nix/store/amz2b7wdylfs34l96163lj8b49xhb50j-clang-wrapper-3.7.1/bin/ld) is GNU ld... no
checking for shared library run path origin... done
checking for iconv... no, consider installing GNU libiconv
checking iconv.h usability... no
checking iconv.h presence... no
checking for iconv.h... no
checking for sin... yes
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... -D_THREAD_SAFE
checking for PTHREAD_PRIO_INHERIT... yes
checking for OpenMP flag of C compiler... unknown
checking whether to support zlib... auto
checking for LIBZ... yes
checking whether to support png... auto
checking for LIBPNG... yes
checking whether to support freetype... auto
checking for LIBFREETYPE... yes
checking whether to support fontconfig... auto
checking for LIBFONTCONFIG... yes
checking whether to support jpeg... auto
checking for jpeg_set_defaults in -ljpeg... yes
checking whether to support liq... auto
checking libimagequant.h usability... no
checking libimagequant.h presence... no
checking for libimagequant.h... no
configure: Disabling support for liq
checking whether to support xpm... auto
checking for LIBXPM... no
checking for XpmReadFileToXpmImage in -lXpm... no
configure: Disabling support for xpm
checking whether to support tiff... auto
checking for LIBTIFF... no
checking for TIFFClientOpen in -ltiff... no
configure: Disabling support for tiff
checking whether to support webp... auto
checking for WebPGetInfo in -lwebp... yes
checking for simple visibility declarations... yes
checking whether we are building for a Win32 host... no

** Configuration summary for libgd 2.2.2:

   Support for Zlib:                 yes
   Support for PNG library:          yes
   Support for JPEG library:         yes
   Support for WebP library:         yes
   Support for TIFF library:         no
   Support for Freetype 2.x library: yes
   Support for Fontconfig library:   yes
   Support for Xpm library:          no
   Support for liq library:          no
   Support for pthreads:             yes

checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating tests/test_config.h
config.status: creating config/Makefile
config.status: creating config/gdlib-config
config.status: creating config/gdlib.pc
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
building
make flags: SHELL=/nix/store/kbrw0629vh9zi4rm3iskzp3p5lpyi2l4-bash-4.3-p42/bin/bash
CDPATH="${ZSH_VERSION+.}:" && cd . && /nix/store/kbrw0629vh9zi4rm3iskzp3p5lpyi2l4-bash-4.3-p42/bin/bash /private/var/folders/f2/18n30h057611nz0cy1ng9bhc0000gn/T/nix-build-gd-2.2.2.drv-0/libgd-2.2.2/config/missing aclocal-1.14 -I m4
/private/var/folders/f2/18n30h057611nz0cy1ng9bhc0000gn/T/nix-build-gd-2.2.2.drv-0/libgd-2.2.2/config/missing: line 81: aclocal-1.14: command not found
WARNING: 'aclocal-1.14' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
make: *** [Makefile:387: aclocal.m4] Error 127
builder for ‘/nix/store/jjpkzq9mkbx0khhcfwdrc56ifhz7l6gj-gd-2.2.2.drv’ failed with exit code 2
error: build of ‘/nix/store/jjpkzq9mkbx0khhcfwdrc56ifhz7l6gj-gd-2.2.2.drv’ failed

I'm assuming it's because the patch is applied to the configure.ac and we're fetching the release tarball instead of the source repo, which then needs to be autoreconf'd and so on.

Oh I forgot about that.


(stack overflow) what's the best way to pipe the output of Script into console?

I'm trying to pipe the output of a Script into the console that invoked the dart command line tool that is using Script.
The idea is that the dart CLI tool runs a script and it's totally transparent and visible to the user in their command line with formatting as intact as possible
What's the recommended way to do it with dart_cli_script?

Just like in a shell script, a Script will forward its stdout and stderr to the current console by default. You shouldn't need to do anything special to enable that.


How to compute the value 'test_iter'

Hi Mr. Xiong and Wang! @yjxiong @wanglimin
In models/hmdb51/tsn_bn_inception_rgb_solver.prototxt, how do you get the value of test_iter: 383  ?
In models/hmdb51/tsn_bn_inception_rgb_train_val.prototxt, we can find the Test parameter:
layer {
name: "data"
type: "VideoData"
top: "data"
top: "label"
video_data_param {
source: "data/hmdb51_rgb_val_split_1.txt"
batch_size: 1
new_length: 1
num_segments: 3
modality: RGB
name_pattern: "img_%05d.jpg"
}
transform_param{
crop_size: 224
mirror: false
mean_value: [104, 117, 123, 104, 117, 123, 104, 117, 123]
}
include: { phase: TEST }
}
In the obtained file data/hmdb51_rgb_val_split_1.txt, the total number of test-videos is 1530.
It really confused me about the value of test_iter.
When I fine-tune TSN, it does not work and tells the following errors:
F0224 14:23:00.519636 15726 reshape_layer.cpp:79] Check failed: 0 == bottom[0]->count() % explicit_count (0 vs. 192) bottom count (192) must be divisible by the product of the specified dimensions (303)
*** Check failure stack trace: ***
@     0x7f256daeddaa  (unknown)
@     0x7f256daedce4  (unknown)
@     0x7f256daed6e6  (unknown)
@     0x7f256daf0687  (unknown)
@     0x7f256dedea0f  caffe::ReshapeLayer<>::Reshape()
@     0x7f256df6b360  caffe::Net<>::Init()
@     0x7f256df6e0b3  caffe::Net<>::Net()
@     0x7f256df80a45  caffe::Solver<>::InitTrainNet()
@     0x7f256df80fa4  caffe::Solver<>::Init()
@     0x7f256df813d5  caffe::Solver<>::Solver()
@           0x41cbe6  caffe::SGDSolver<>::SGDSolver()
@           0x41cd88  caffe::GetSolver<>()
@           0x413128  train()
@           0x410fdd  main
@     0x7f256c5a7f45  (unknown)
@           0x4113de  (unknown)
@              (nil)  (unknown)
Setting device 0
Is that because of a wrong number of test_iter?
Thanks for your attention!!!

test_iter is computed by total_sample_num / batch_size / iter_size / num_gpu.
However, the error you list is not related to test_iter. If you look at your log, you will find that it is related to reshape layer. So you may have some shape mismatch instead of anything to do with test_iter.

One thing to add. This on-the-fly validation is just for monitoring the training. All experimental results should be reported with the provide testing scripts.

Thanks for you reply!! @yjxiong
Now I know how to set the parameter test_iter! Really appraciate you!
About the above error in reshape layer, I still don't konw which point I miss.
I extract frames and optical flow images using the dense_flow libraries. As the data is 2 classes, I make the following changes:
(1) change the "InnerProduct" layer of the train_val_rgb.protetxt:   name:fc-action-new;   num_output:2;  param{}
(2) change the solver_rgb.prototxt: test_iter:  155; base_lr: 0.001
Where should I focus on?? Could you give me some advice?
Thanks you!

HA! I have find the missing point. In the layer
 layer { name: "reshape_fc" type: "Reshape" bottom: "fc" top: "reshape_fc" reshape_param { shape { dim: [-1, 1, 3, 101] } } },
the last parameter is 101, which I didn't change the corresponding classes 2.
Now the fine-tuned TSN is working well.
Thank you all the same!!

Generally, you should use the provided init models for initialization instead of the models trained on UCF101/HMDB51. The high gradient norm is usually due to increase iter_size, which is fine. You can increase the value of clip_gradient in your solver to fit it.


[docs-infra] Overflow in API view on mobile

Steps to reproduce
Link to live example: (required)
Steps:

Open https://next--material-ui.netlify.app/x/api/data-grid/data-grid/
Booms

Current behavior
Overflow
Expected behavior
Text wrap
Context
It seems that it can be fixed by removing this line
https://github.com/mui/material-ui/blob/3c402bc83c6a3416ac2681de996c59758e2cb4cd/docs/src/modules/components/ApiPage/list/ExpandableApiItem.tsx#L47
Your environment

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

Search keywords: -

At the same time, I would update the test page https://next--material-ui.netlify.app/experiments/docs/data-grid-premium/#slots to replicate https://next--material-ui.netlify.app/x/api/data-grid/data-grid-premium/.


fix-access-token-requirement

This pull request fixes the access token requirement as enforced by Instagram. We were using the client-id up till now to authenticate API requests but that does not work anymore. Added access token to the URL and updated the Readme accordingly

Lovely, thank you for catching this @mittaluday!


Web - Task Detail screen is empty

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open any announce
Assign a new task
Fill in Title and click Next
Click Confirm task button to create a new task
Click on the header to open Detail Screen
Notice that the Detail screen is empty

Expected Result:
Detail screen is not empty
Actual Result:
Detail screen is empty
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.43-2
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/402fa0c9-3fa2-4da9-bc72-c3efa1672a55
https://github.com/Expensify/App/assets/93399543/8153de45-7430-43ec-b47b-3c13a5c6c7f8
Expensify/Expensify Issue URL:
Issue reported by: @dukenv0307
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689829433314039
View all open jobs on GitHub

Yeah. I could reproduce this problem too.
So I gonna work on this issue .

Proposal
Please re-state the problem that we are trying to solve in this issue.
When following the steps to create a new task, the user fills in the required information such as the Title and clicks on the "Next" button. Upon reaching the "Confirm Task" page and clicking the "Confirm Task" button, a new task should be created and the Detail Screen should be populated with the task details. However, the Detail Screen remains empty, displaying no information about the newly created task.
What is the root cause of that problem?
navigateToDetailsPage ( in ReportUtils.js ) doesn't have any option for task detail page unlike other things like ChatRoom and ChatThread.
What changes do you think we should make in order to solve the problem?
So we should add this option for this function for task detail and also add the necesary details:
function navigateToDetailsPage(report) {
    const participantAccountIDs = lodashGet(report, 'participantAccountIDs', []);
    if (isChatRoom(report) || isPolicyExpenseChat(report) || isChatThread(report)) {
        Navigation.navigate(ROUTES.getReportDetailsRoute(report.reportID));
        return;
    }
    if (participantAccountIDs.length === 1) {
        Navigation.navigate(ROUTES.getProfileRoute(participantAccountIDs[0]));
        return;
    }
    Navigation.navigate(ROUTES.getReportParticipantsRoute(report.reportID));
}

Excuse me, how do you think I can find a job that no one has chosen?  Those who are "help wanted" are also filled quickly.

Thanks, @Nodebrute, and @jasper We caught this while reviewing  as well. I was told here will be handled in another issue.

So now this issue will be investigated to solve the problem that I gave a solution for?

Issue reproducible. Build <IP_ADDRESS>
https://github.com/Expensify/App/assets/78819774/7347cc42-5e45-4b21-b9c2-9b60a457301c

@lanitochka17 We will handle this in https://github.com/Expensify/App/issues/24144


RBAC

a workload shall be able to read secret of another workload; a workload shall be able to write secret of another workload; a workload; these actions shall be through VSecM Sentinel’s REST server; VsecM sentinel shall have several modes of operation (oidc/svid-authentication/etc); SDK will need updates to enable these too; those “policies” (for the lack of a different term) will be stored as a special secret linked to VSecM Sentinel; when VSecM Sentinel is not there, or when the VSecM sentinel server is disabled, or when the policy does not allow it the functioality will not work; also allow wildcard access (ability to write to all workloads; ability tyo read from all workloads)

Here’s a rough structure in my mind.
To manage RBAC, both Sentinel, and Safe will have special secrets.
Access will be denied by default, and you’ll need explicit rules to allow access.
Allowing access also means “I trust this workload with this spiffeid to take action on behalf of this other workload with this other spiffe id” – when that’s done, it’s up to the user to secure the workloads that have privileged access because any breach to them will give an attacker additional powers that they won’t have had otherwise.
The users will be advised to have a second layer of security (session-based authentication, OIDC, SSO, MultiFactor Authentication, etc) to use this feature, and these will be clearly explained in the docs; as in “don’t use this feature if you don’t know what you are doing”.

I also thought about doing this with OPA, but that would have meant if the OPA server is breached so will the system.
It’s better to keep the configuration guarded with the same principles VSecM guards its secrets.
That’s why the configuration will be set up as secrets bound to VSecM components: Sentinel and Safe will have their own secrets to identify access configurations.

Also note: Any privileged requests should go directly through VSecM Sentinel’s server first.
This way,

Things will be audited at a central location
VSecM sentinel can be deleted/locked as a first line of defense when the rest of the system still works.

This change will also require documentation update as in “by default only a workload can read its own secrets and no one else’s. If you want a workload to read the secrets assigned to another workload, you’ll need to define RBAC for it” etc.


Revert "Revert "feat: Write out emojis to system instead of copying""

I was getting some weirdness where I couldn't merge in my changes from the write-moji branch because technically your master was ahead since the 2 PR's were merged. So I'm created a revert-revert-merge into the macos branch. I believe this gets you what you wanted!

Thanks a ton! Going ahead with the merge 🎉

I'll have a new updated version out by the end of the week. Just have to cross off some TODO's. You'll get an alert in Geniemoji when I roll out the update 👍

@virejdasani perfect, thanks for your help throughout this feature!

Thank you for implementing it 💯

@tomershvueli, I packaged the app for MacOS and updated it in the releases pane. There is a bug after packaging the app. The writemoji functionality no longer works! It works if you run the app via npm start but not after you make the executable file. You can check out the updated app (where writemoji is implemented but doesn't work) here or you can build the app by cloning this repo, going to app/macos/ and typing npm run pack-darwin-x64

@tomershvueli, The update has been published!
Download here


ChannelOption SO_SNDBUF and SO_RCVBUF don't take effect when initialize ServerBootStrap and BootStrap

Expected behavior
Value of the ChannelOption SO_SNDBUF and SO_RCVBUF is the same with which I set.
Actual behavior
do not take effect, the value is same with which of OS
Steps to reproduce

initialize the BootStrap&ServerBootStrap with specific SO_SNDBUF and SO_RCVBUF
startup server.
client connect server
compare the actual SO_SNDBUF and SO_RCVBUF with the specifc value

Minimal yet complete reproducer code (or URL to code)
bootstrap.group(workerGroup).channel(NioSocketChannel.class)
            .option(ChannelOption.SO_SNDBUF, 8192)
            .option(ChannelOption.SO_RCVBUF, 8192);
-------------

 protected Channel doCreateConnection(String targetIP, int targetPort, int connectTimeout)
                                                                                throws Exception {
        // prevent unreasonable value, at least 1000
        connectTimeout = Math.max(connectTimeout, 1000);
        String address = targetIP + ":" + targetPort;
        if (logger.isDebugEnabled()) {
            logger.debug("connectTimeout of address [{}] is [{}].", address, connectTimeout);
        }
        bootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, connectTimeout);
        ChannelFuture future = bootstrap.connect(new InetSocketAddress(targetIP, targetPort));
        future.awaitUninterruptibly();
        if (!future.isDone()) {
            String errMsg = "Create connection to " + address + " timeout!";
            logger.warn(errMsg);
            throw new Exception(errMsg);
        }
        if (future.isCancelled()) {
            String errMsg = "Create connection to " + address + " cancelled by user!";
            logger.warn(errMsg);
            throw new Exception(errMsg);
        }
        if (!future.isSuccess()) {
            String errMsg = "Create connection to " + address + " error!";
            logger.warn(errMsg);
            throw new Exception(errMsg, future.cause());
        }
        return future.channel();
    }

Netty version
4.1.42.Final
JVM version (e.g. java -version)
1.8.0_151
OS version (e.g. uname -a)
Darwin Kernel Version 18.7.0

I debugged and found that the value of ChannelOption will be set to the newly created Channel  when invoke Bootstrap#init, but after I get the ChannelFuture through the method Bootstrap#connect, the configuration in the Channel is not the value expected.

@cytnju can you tell me what the value is you set and what the value is that is returned ?

@normanmaurer I set both of them 8912 and they returned 65328

shouldn't it be childOption?

ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap.group(workerGroup).channel(NioServerSocketChannel.class)
            .childOption(ChannelOption.SO_SNDBUF, 8192)
            .childOption(ChannelOption.SO_RCVBUF, 8192);

ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap.group(workerGroup).channel(NioServerSocketChannel.class)
            .childOption(ChannelOption.SO_SNDBUF, 8192)
            .childOption(ChannelOption.SO_RCVBUF, 8192);

@johnou The codes I provide is in client side. The server Side just like your codes.

@cytnju please provide a full reproducer, bonus points for a unit test.

@Test
    public void test() throws Exception {
        Server server = new Server();
        Client client = new Client();
        server.start();
        client.init();
        Channel channel = client.connect("<IP_ADDRESS>", 8999, 500);
        System.out.println(channel.config().getOption(ChannelOption.SO_RCVBUF));
        System.out.println(channel.config().getOption(ChannelOption.SO_SNDBUF));

    }

    class Server {
        private ServerBootstrap serverBootstrap = new ServerBootstrap();
        private EventLoopGroup workGroup = new NioEventLoopGroup(4, new DefaultThreadFactory("work"));
        private EventLoopGroup bossGroup = new NioEventLoopGroup(1, new DefaultThreadFactory("boss"));

        private void init() {
            serverBootstrap.group(bossGroup, workGroup)
                    .channel(NioServerSocketChannel.class)
                    .option(ChannelOption.SO_SNDBUF, 8192)
                    .option(ChannelOption.SO_RCVBUF, 8192)
                    .childOption(ChannelOption.SO_SNDBUF, 8192)
                    .childOption(ChannelOption.SO_RCVBUF, 8192);
            serverBootstrap.childHandler(new ChannelInitializer<SocketChannel>() {
                @Override
                protected void initChannel(SocketChannel ch) throws Exception {
                    ch.pipeline().addLast("idleStateHandler", new IdleStateHandler(10 * 1000, 10 * 1000, 10 * 1000,
                            TimeUnit.MILLISECONDS));
                }
            });
        }

        public boolean start() {
            try {
                init();
                ChannelFuture channelFuture = serverBootstrap.bind(new InetSocketAddress("<IP_ADDRESS>", 8999)).sync();
                return channelFuture.isSuccess();
            } catch (InterruptedException e) {
                e.printStackTrace();
                return false;
            }
        }
    }

    class Client {
        private Bootstrap bootstrap = new Bootstrap();;
        private EventLoopGroup workGroup = new NioEventLoopGroup(4, new DefaultThreadFactory("work"));
        public void init() {
            bootstrap.group(workGroup)
                    .channel(NioSocketChannel.class)
                    .option(ChannelOption.SO_SNDBUF, 8192)
                    .option(ChannelOption.SO_RCVBUF, 8192);
            bootstrap.handler(new ChannelInitializer<SocketChannel>() {
                @Override
                protected void initChannel(SocketChannel ch) throws Exception {
                    ch.pipeline().addLast("idleStateHandler", new IdleStateHandler(10 * 1000, 10 * 1000, 10 * 1000,
                            TimeUnit.MILLISECONDS));
                }
            });
        }

        public Channel connect(String targetIP, int targetPort, int connectTimeout) throws Exception {
            connectTimeout = Math.max(connectTimeout, 1000);
            String address = targetIP + ":" + targetPort;
            bootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, connectTimeout);
            ChannelFuture future = bootstrap.connect(new InetSocketAddress(targetIP, targetPort));

            future.awaitUninterruptibly();
            if (!future.isDone()) {
                String errMsg = "Create connection to " + address + " timeout!";
                throw new Exception(errMsg);
            }
            if (future.isCancelled()) {
                String errMsg = "Create connection to " + address + " cancelled by user!";
                throw new Exception(errMsg);
            }
            if (!future.isSuccess()) {
                String errMsg = "Create connection to " + address + " error!";
                throw new Exception(errMsg, future.cause());
            }
            return future.channel();
        }
    }

System.out.println->
326640
65328

@normanmaurer  @johnou
And I find the vlaue change happened after running future.awaitUninterruptibly(); line.

@cytnju sure this is expected as only then the connect is complete.

@cytnju sure this is expected as only then the connect is complete.
System.out.println->
326640
65328

I wonder why the value is not which I optioned ? you can replay it with the codes above.

@cytnju well it is just a "hind" to the OS what you want to use. For example on various Linux systems it will use double the amount you specified. We jut pass it down to the OS and then its up to the OS to handle it.

@cytnju for example: https://stackoverflow.com/questions/21146955/getsockopt-so-recvbuf-after-doing-a-set-shows-double-the-value-in-linux

@normanmaurer Thank you and I think I understand the reason for this change that the operating system has set a reasonable value for it.


MotionEvent object in callback of gesture/tap detection

Hii thank you so much for such a wonderful library 🔆
I'm using some other library to detect a global touch in my app due to some personal reasons. Which detects touch anywhere in the apo. When there's any touch action I get a callback with motion event. which I can pass to Sensey touchDispatcher. Actually, I've some specific requirements. When there's any callback on gesture detection, say Swipe detection callback. I want MotionEvent object as well, to detect where the event happened. Because now touches are global in the app. I actually don't know on what view or where touch happened. As Sensey currently doesn't provide MotionEvent in callback of detection.
So can we have MotionEvent object in some overridden method? Or how can I get that?

Can you elaborate why you would need the MotionEvent for? Like what data are you trying to extract?
The thing is this is out of the scope of this library. Sensey is a gesture detection library. It will detect a gesture and return a call back with just that. Propagating data through the callback would defeat the goals of this library.

Can you elaborate why you would need the MotionEvent for? Like what data are you trying to extract?
The thing is this is out of the scope of this library. Sensey is a gesture detection library. It will detect a gesture and return a call back with just that. Propagating data through the callback would defeat the goals of this library.

Yaa I get you point. But Nishant problem is that I want to detect MotionEvent.x, MotionEvent.y, MotionEvent.actionType from the click and send it back to the server.
So i'm creating screen sharing and remote access control app where In the clinet side if click event happens I need to send the particular x, y and action back to ther server. and server will then render that touch event on his phone.
That's why I need to have motionEvent on all the callbacks.

Yaa I get you point. But Nishant problem is that I want to detect MotionEvent.x, MotionEvent.y, MotionEvent.actionType from the click and send it back to the server.
So i'm creating screen sharing and remote access control app where In the clinet side if click event happens I need to send the particular x, y and action back to ther server. and server will then render that touch event on his phone.
That's why I need to have motionEvent on all the callbacks.

I will take a look if there a possibility of adding a solution, since the public API cannot be changed right away.
Alternatively I think you could just code this functionality using Android api itself. Take a look at how I implemented it in Sensey and create something similar for your usecase. Why I am suggesting this, because your use case is unique. A library usually caters to common solutions and is ideally abstracting away as much complexity it can. Data propagation through callbacks has implications and Sensey wouldn't solve all the problems.

I will take a look if there a possibility of adding a solution, since the public API cannot be changed right away.
Alternatively I think you could just code this functionality using Android api itself. Take a look at how I implemented it in Sensey and create something similar for your usecase. Why I am suggesting this, because your use case is unique. A library usually caters to common solutions and is ideally abstracting away as much complexity it can. Data propagation through callbacks has implications and Sensey wouldn't solve all the problems.

I get your point. Sure then I'll look into Sensey code and will try to create something for my use case. Anyways, thank you so much for being responsive.🔆

I get your point. Sure then I'll look into Sensey code and will try to create something for my use case. Anyways, thank you so much for being responsive.🔆

Nishant, if possible please create an overridden method where we get MotionEvent object in callback as well. Until then I'll close the issue right away.

Nishant, if possible please create an overridden method where we get MotionEvent object in callback as well. Until then I'll close the issue right away.

I'll keep the issue open, in case someone has the same issue and would like to upvote it. At the same time I would also be looking into your suggestion.
Thank you for your contribution :)

I'll keep the issue open, in case someone has the same issue and would like to upvote it. At the same time I would also be looking into your suggestion.
Thank you for your contribution :)

Yeah Sure.

Yeah Sure.


add libglvnd-devel

This is required for https://github.com/conda-forge/paraview-feedstock/pull/126/
Please see the repo readme for directions on how to make PRs on this repo.
Checklist:

[x] if you have added a CDT, it appears in the cdt_slugs.yaml file and
you have rerun the script python gen_cdt_recipes.py.
[ ] if you have changed the CDT generator code (rpm.py), you have bumped
the build number in conda_build_config.yaml and have remade all of the
recipes via running python gen_cdt_recipes.py --force
[ ] if you have added a custom CDT recipe, you have added the name of the CDT
with custom: true in the cdt_slugs.yaml file.
[ ] all CDT recipes have build number set by {{ cdt_build_number }} for
old-style/legacy CDTs or {{ cdt_build_number|int + 1000 }} for new-style CDTs
[ ] if you see a warning about a CDT not having a license, you have added the
license_file key in the cdt_slugs.yaml file with the path to the appropriate
license in licenses/

NOTE: If you make any changes to cd_slugs.yaml, you need to reun the generator code
via python gen_cdt_recipes.py. Add the --fast option to make this go more quickly.

@conda-forge/help-cdts, could someone please have a look at this?
I have run python gen_cdt_recipes.py what created many changes. Is this supposed to happen?
This is blocking https://github.com/conda-forge/paraview-feedstock/pull/126.

It looks like you may have hit a bug of some sort. It should not have changed the other recipes.

@beckermr, thanks. I have removed all the other files from the commits. Should I also include the legacy_cdt files for the new libglvnd-devel I am adding?

Yeah let's build everything. I'll need to debug the issues in the generation locally. I want to do that before merging to make sure we can regenerate the recipes without trouble.

You shouldn't have had to add the packages to the readme. Something is wrong...

@beckermr I have switched to a different (Linux) machine and installed a fresh environment using env.yml.
Now rerunning the script only gives me additional changes of the following form:
diff --git a/cdts/ibacm-cos7-aarch64/meta.yaml b/cdts/ibacm-cos7-aarch64/meta.yaml
index fcc83a2..a191c80 100644
--- a/cdts/ibacm-cos7-aarch64/meta.yaml
+++ b/cdts/ibacm-cos7-aarch64/meta.yaml
@@ -3,11 +3,11 @@ package:
   version: 22.4

 source:
-  - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/ibacm-22.4-1.el7.aarch64.rpm
-    sha256: a7f447298f3fdaa87e3e9896b2720dc0747a7d3361f22e483daa2b789106d3e3
+  - url: http://mirror.centos.org/altarch/7/os/aarch64/Packages/ibacm-22.4-5.el7.aarch64.rpm
+    sha256: ccd063c99b81ed96b11de2b1a159d3d1cafcf6383e9691b9cb81e746de9c265b
     no_hoist: true
     folder: binary
-  # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/rdma-core-22.4-1.el7.src.rpm
+  # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/rdma-core-22.4-5.el7.src.rpm
   #   no_hoist: true
   #   folder: source

diff --git a/cdts/ibacm-cos7-ppc64le/meta.yaml b/cdts/ibacm-cos7-ppc64le/meta.yaml
index 122928c..c1abc2e 100644
--- a/cdts/ibacm-cos7-ppc64le/meta.yaml
+++ b/cdts/ibacm-cos7-ppc64le/meta.yaml
@@ -3,11 +3,11 @@ package:
   version: 22.4

 source:
-  - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/ibacm-22.4-1.el7.ppc64le.rpm
-    sha256: 4f1228549ca4ada161d59493b5b6a528dcbe3e9360f37039f4181445b7aa72f0
+  - url: http://mirror.centos.org/altarch/7/os/ppc64le/Packages/ibacm-22.4-5.el7.ppc64le.rpm
+    sha256: cd7997797d3f64635e58157924d2e5aa996a02a07421ab24c7ce7adf6bdb9a56
     no_hoist: true
     folder: binary
-  # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/rdma-core-22.4-1.el7.src.rpm
+  # - url: http://vault.centos.org/7.7.1908/os/Source/SPackages/rdma-core-22.4-5.el7.src.rpm
   #   no_hoist: true
   #   folder: source

Which is probably fine?
Also the builds succeed! :tada:
Is there anything else I can do to get this merged?

Ahhh great! So we'll still need to change the scripts to make sure it bumps the build number for old recipes that change. It appears new builds of the upstream RPMs are being inserted.
Let's back those extra changes out for now by applying the diff above. Then we can merge.

Sorry, I do not really follow what you are suggesting now.
I have not committed any of the changes that are unrelated to libglvnd. And how/where can I change the build numbers?
These are the only files that are changed:
(cdt-builds) cw-basnijholt  ➜  cdt-builds git:(libglvnd-devel) ✗  gst
 README.md                                                     |  15 +++
 cdt_slugs.yaml                                                |  12 +++
 cdts/libglvnd-core-devel-cos7-aarch64/build.sh                |  59 +++++++++++
 cdts/libglvnd-core-devel-cos7-aarch64/libglvnd-license        | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-core-devel-cos7-aarch64/meta.yaml               |  46 +++++++++
 cdts/libglvnd-core-devel-cos7-ppc64le/build.sh                |  59 +++++++++++
 cdts/libglvnd-core-devel-cos7-ppc64le/libglvnd-license        | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-core-devel-cos7-ppc64le/meta.yaml               |  46 +++++++++
 cdts/libglvnd-core-devel-cos7-x86_64/build.sh                 |  59 +++++++++++
 cdts/libglvnd-core-devel-cos7-x86_64/libglvnd-license         | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-core-devel-cos7-x86_64/meta.yaml                |  46 +++++++++
 cdts/libglvnd-devel-cos7-aarch64/build.sh                     |  66 ++++++++++++
 cdts/libglvnd-devel-cos7-aarch64/libglvnd-license             | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-devel-cos7-aarch64/meta.yaml                    |  62 ++++++++++++
 cdts/libglvnd-devel-cos7-ppc64le/build.sh                     |  66 ++++++++++++
 cdts/libglvnd-devel-cos7-ppc64le/libglvnd-license             | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-devel-cos7-ppc64le/meta.yaml                    |  62 ++++++++++++
 cdts/libglvnd-devel-cos7-x86_64/build.sh                      |  66 ++++++++++++
 cdts/libglvnd-devel-cos7-x86_64/libglvnd-license              | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-devel-cos7-x86_64/meta.yaml                     |  62 ++++++++++++
 cdts/libglvnd-egl-cos7-aarch64/build.sh                       |  59 +++++++++++
 cdts/libglvnd-egl-cos7-aarch64/libglvnd-license               | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-egl-cos7-aarch64/meta.yaml                      |  50 ++++++++++
 cdts/libglvnd-egl-cos7-ppc64le/build.sh                       |  59 +++++++++++
 cdts/libglvnd-egl-cos7-ppc64le/libglvnd-license               | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-egl-cos7-ppc64le/meta.yaml                      |  50 ++++++++++
 cdts/libglvnd-egl-cos7-x86_64/build.sh                        |  59 +++++++++++
 cdts/libglvnd-egl-cos7-x86_64/libglvnd-license                | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-egl-cos7-x86_64/meta.yaml                       |  50 ++++++++++
 cdts/libglvnd-gles-cos7-aarch64/build.sh                      |  59 +++++++++++
 cdts/libglvnd-gles-cos7-aarch64/libglvnd-license              | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-gles-cos7-aarch64/meta.yaml                     |  50 ++++++++++
 cdts/libglvnd-gles-cos7-ppc64le/build.sh                      |  59 +++++++++++
 cdts/libglvnd-gles-cos7-ppc64le/libglvnd-license              | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-gles-cos7-ppc64le/meta.yaml                     |  50 ++++++++++
 cdts/libglvnd-gles-cos7-x86_64/build.sh                       |  59 +++++++++++
 cdts/libglvnd-gles-cos7-x86_64/libglvnd-license               | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-gles-cos7-x86_64/meta.yaml                      |  50 ++++++++++
 cdts/libglvnd-opengl-cos7-aarch64/build.sh                    |  59 +++++++++++
 cdts/libglvnd-opengl-cos7-aarch64/libglvnd-license            | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-opengl-cos7-aarch64/meta.yaml                   |  47 +++++++++
 cdts/libglvnd-opengl-cos7-ppc64le/build.sh                    |  59 +++++++++++
 cdts/libglvnd-opengl-cos7-ppc64le/libglvnd-license            | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-opengl-cos7-ppc64le/meta.yaml                   |  47 +++++++++
 cdts/libglvnd-opengl-cos7-x86_64/build.sh                     |  59 +++++++++++
 cdts/libglvnd-opengl-cos7-x86_64/libglvnd-license             | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cdts/libglvnd-opengl-cos7-x86_64/meta.yaml                    |  47 +++++++++
 legacy_cdts/libglvnd-core-devel-cos7-aarch64/build.sh         |  59 +++++++++++
 legacy_cdts/libglvnd-core-devel-cos7-aarch64/libglvnd-license | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-core-devel-cos7-aarch64/meta.yaml        |  44 ++++++++
 legacy_cdts/libglvnd-core-devel-cos7-ppc64le/build.sh         |  59 +++++++++++
 legacy_cdts/libglvnd-core-devel-cos7-ppc64le/libglvnd-license | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-core-devel-cos7-ppc64le/meta.yaml        |  44 ++++++++
 legacy_cdts/libglvnd-devel-cos7-aarch64/build.sh              |  66 ++++++++++++
 legacy_cdts/libglvnd-devel-cos7-aarch64/libglvnd-license      | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-devel-cos7-aarch64/meta.yaml             |  63 ++++++++++++
 legacy_cdts/libglvnd-devel-cos7-ppc64le/build.sh              |  66 ++++++++++++
 legacy_cdts/libglvnd-devel-cos7-ppc64le/libglvnd-license      | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-devel-cos7-ppc64le/meta.yaml             |  63 ++++++++++++
 legacy_cdts/libglvnd-egl-cos7-aarch64/build.sh                |  59 +++++++++++
 legacy_cdts/libglvnd-egl-cos7-aarch64/libglvnd-license        | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-egl-cos7-aarch64/meta.yaml               |  50 ++++++++++
 legacy_cdts/libglvnd-egl-cos7-ppc64le/build.sh                |  59 +++++++++++
 legacy_cdts/libglvnd-egl-cos7-ppc64le/libglvnd-license        | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-egl-cos7-ppc64le/meta.yaml               |  50 ++++++++++
 legacy_cdts/libglvnd-gles-cos7-aarch64/build.sh               |  59 +++++++++++
 legacy_cdts/libglvnd-gles-cos7-aarch64/libglvnd-license       | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-gles-cos7-aarch64/meta.yaml              |  50 ++++++++++
 legacy_cdts/libglvnd-gles-cos7-ppc64le/build.sh               |  59 +++++++++++
 legacy_cdts/libglvnd-gles-cos7-ppc64le/libglvnd-license       | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-gles-cos7-ppc64le/meta.yaml              |  50 ++++++++++
 legacy_cdts/libglvnd-opengl-cos7-aarch64/build.sh             |  59 +++++++++++
 legacy_cdts/libglvnd-opengl-cos7-aarch64/libglvnd-license     | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-opengl-cos7-aarch64/meta.yaml            |  47 +++++++++
 legacy_cdts/libglvnd-opengl-cos7-ppc64le/build.sh             |  59 +++++++++++
 legacy_cdts/libglvnd-opengl-cos7-ppc64le/libglvnd-license     | 540 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 legacy_cdts/libglvnd-opengl-cos7-ppc64le/meta.yaml            |  47 +++++++++
 77 files changed, 16310 insertions(+)

I discussed with @beckermr on Gitter. This PR should be ready to be merged from the perspective of libglvnd-devel. The only "problem" is that I had to manually copy the license files into the folders that were created using the script. I believe he still wants to fix this before we merge this.

Yes. I know you are under pressure at work to get this done. I will try and look today.

Are all the CDTs in this PR licensed under the same license?

We need to check this before we merge.
When we figure that out, then we need to add yaml entries to the cdt slugs file with these other CDTs, adding their licenses.

Yes, they are all under the same license.

@beckermr, thanks a lot for working on https://github.com/conda-forge/cdt-builds/pull/45. I will close this PR as it is superseded by that one.


[Bug] Fix error from long messages

Checks

[X] I confirm that I have searched for existing issues / pull requests before requesting to avoid duplicate requesting.
[X] I confirm that I noted that if I don't follow the instructions, the issue may be closed directly.

Related Issues
Fixes #148
Description
Fixes the issue when individual lines in the console exceed the character limit for a message. The index error was fixed by changes in #140 , but long lines were truncated, and ConsoleLogListener would still re-send all previous messages when restarting from an error. This changes the behavior so long lines are now split and sent to discord as multiple messages, and if ConsoleLogListener runs into an error, it will restart without repeating previous messages.

Thank you!


fix: prevent double click outside RHP

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/33460
PROPOSAL: https://github.com/Expensify/App/issues/33460#issuecomment-1867341806
Tests

Go to request details view of IOU/task report
Click on any field to open RHP
Double click outside RHP
Verify that user stays on the same page

[x] Verify that no errors appear in the JS console

Offline tests

Same as above
QA Steps

Go to request details view of IOU/task report
Click on any field to open RHP
Double click outside RHP
Verify that user stays on the same page

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else

[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)

[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/113963320/e96a6bcb-3509-4baf-adcf-ef3b7b9dd537

MacOS: Desktop

https://github.com/Expensify/App/assets/113963320/6b93d91e-6152-4ba5-b602-0413f9b3210a

@tienifr can you fix the merge conflict? Then I will approve and merge.

Hmmm now it appears we have some failing tests Reassure Performance Tests / perf-tests. Can we resolve that?

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/blimpich in version: 1.4.23-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.23-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Should we create adj.geotime?

Jurassic could also be seen as an adjective (as in "Jurassic formations", for example).  Should we also create the same synsets for the ISC eras as adjectives, not just nouns?

Please notice that this is already the case for existing eras in PWN:
$ cd wordnet-dsl/dict/
$ grep Jurassic adj*.txt
adj.pert.txt:w: Jurassic pe noun.time:Jurassic
adj.pert.txt:w: pre-Jurassic pe noun.time:Jurassic
adj.pert.txt:g: of or relating to or denoting the time before the Jurassic period


Modify IPVerFromAF() helper to take uint16 as argument rather than uint32.

Hi.
For some context, see this:
https://github.com/inspektor-gadget/inspektor-gadget/pull/1717#discussion_r1224031126
Best regards.

Good. Thanks for the cleanup. Ref https://github.com/inspektor-gadget/inspektor-gadget/issues/1215.


esp_reset_reason_set_hint() replacement by NVS flag (ESP32-S2)

Since esp_reset_reason_set_hint() is not working/supported anymore (see: https://github.com/espressif/esp-idf/issues/7230) I decided to rewrite the corresponding code using NVS storage instead.
Please note that this pull request does not work at the moment. There is still a compilation error:
tinyuf2/lib/esp-idf/components/nvs_flash/src/nvs_platform.hpp:31:10: fatal error: freertos/FreeRTOS.h: No such file or directory
 #include "freertos/FreeRTOS.h"
          ^~~~~~~~~~~~~~~~~~~~~

I hope someone can fix this.

will prepare the pull request again.

@T94T I dived a bit into this, there is no need for using NVS, the reason hint is still accessible within stage2 bootloader. IDF just slightly changes the reset reason for esp_restart(). I will make an PR to update this.


os.environ['CUDA_VISIBLE_DEVICES'] = '1' does not work in jupyter

As the title says, it is invalid to specify the GPU through CUDA_VISIBLE_DEVICES in jupyter, and only 'GPU:0' will still be used; but it is effective when using CUDA_VISIBLE_DEVICES=1 python *.py

Did you set CUDA_VISIBLE_DEVICES before you import any vLLM/Pytorch/Ray related packages? Maybe it's because you set the environment variable too late so it will not be effective.


Mobile UI is busy

Mobile UI is busy when opening a scene, e.g.:
https://playcanvas.com/supersplat/editor?load=https://raw.githubusercontent.com/willeastcott/assets/main/dragon.compressed.ply

Can't seem to close those.

This is now fixed.


CamGear :: WARNING :: Threaded Queue Mode is disabled for the current video source!

Hi everyone,

I am testing the new 64bit Raspberry Pi OS on Raspberry Pi 4 4GB.
Python 3.7.3  / GCC 8.3.0 on Linux,
OpenCV 3.2.0 (sudo apt install python3-opencv)
Installed picamera and vidgear by pip3, 18.1-5+rpt1,
Also there is a USB camera connected, index=1,
I use Thonny as IDE,
The codes are working but, I get this  WARNING:
CamGear :: WARNING :: Threaded Queue Mode is disabled for the current video source!

What I am doing wrong?
Is still Multithreading active?
Thanks!!!
MyCodes:
import cv2
stream = CamGear(source=1, logging=True).start()  #USB cam
while True:
frame = stream.read()
if frame is None:
break
cv2.imshow("Output Frame", frame)
key = cv2.waitKey(1) & 0xFF
if key == ord("q"):
break
cv2.destroyAllWindows()
stream.stop()

@fahrettine That's a normal behaviour. Please read about Threaded Queue Mode.

Hi @abhiTronix, Is it possible to use THREADED_QUEUE_MODE  for webcam or live streaming? I doesn't want to skip any   frame of live stream. The following code give warning "CamGear    :: WARNING  :: Threaded Queue Mode is disabled for the current video source!". Please help to resolve this issue.
from vidgear.gears import CamGear
import cv2

options = {"THREADED_QUEUE_MODE": True}
stream1 = CamGear(source=0, logging=True, **options).start()

while True:

    frameA = stream1.read()
    if frameA is None:
        break
    cv2.imshow("Output Frame1", frameA)
    key = cv2.waitKey(1) & 0xFF
    if key == ord("q"):
        break

cv2.destroyAllWindows()
stream1.stop()

I doesn't want to skip any frame of live stream.

Skipping frame doesn't happen in case of Live source as it is controlled by your machine's IO.

@abhiTronix, I forgot to mention before that I also want apply object detection model on each frame of live stream data which will take ~2s. During this 2s live stream frame will be dropped. How to tackle this issue.


[chip-tool] Add configure-fabric into the pairing module so chip-tool…

… can pair multiple times to the same accessory
Problem
chip-tool can not pair using a different fabric id.
This PR adds alpha, beta, gamma identities to chip-tool. Those identities are a fabric id + a listen port in order to let multiple chip-tool processes runs at the same time. a chip-tool identity can be selected with chip-tool pairing configure-fabric alpha
Change overview

Add configure-fabric to the pairing module
Update chip-tool PersistentStorage.cpp to save the configured fabric and returns a listen port depending on the selected identity by default

Testing
I have tested it on top of #11527 with the following commands:
$ rm /tmp/chip_tool_config.ini
$ ./out/debug/standalone/chip-all-clusters-app
# onto a other shell window
$ ./out/debug/standalone/chip-tool pairing onnetwork 0x12345 20202021
$ ./out/debug/standalone/chip-tool onoff read on-off 0x12345 1
$ ./out/debug/standalone/chip-tool pairing open-commissioning-window 0x12345 0 120 1 3840
$ ./out/debug/standalone/chip-tool onoff report on-off 1 20 1 0x12345 1
# onto an other shell window
$ ./out/debug/standalone/chip-tool pairing configure-fabric beta
$ ./out/debug/standalone/chip-tool pairing onnetwork 0x54321 20202021
$ ./out/debug/standalone/chip-tool onoff read on-off 0x54321 1
$ ./out/debug/standalone/chip-tool onoff on 0x54321 1

Fast tracking, as this adds functionality to the test tool


Add match_client field for fixedaddress reservation

@unclebilly
I have added attribute 'match_client' for fixedaddress reservation.
Please review and merge if there are no issues.

@sencha7 Thanks!

@sencha7 I pushed out gem version 0.3.2 with this change.


⚠ Bofrost.fr has degraded performance

In 231ca93, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1050 ms

Resolved: Bofrost.fr performance has improved in 3b7c97c.


feat(groups): allow all printable ASCII characters in group name

closes #208
Operative change:
https://github.com/Open-MBEE/mms/blob/501e5d28c53a8658d100179ea3de7c42ba29a8ff/groups/src/main/java/org/openmbee/mms/groups/services/GroupValidationService.java#L16

Wouldn't this only match the beginning of the string btw?


Move /finos/purealloy project kanban to /finos org level (org level kanban)

Move https://github.com/finos/purealloy/project to https://github.com/orgs/finos/projects -- i.e., same place/level pan-PMC, FDC3, and Cloud Cert kanban boards are.

Done! https://github.com/orgs/finos/projects/5


Use visual studio 2017 to clone/pull/push will cause error.

Bonobo-Git-Server is worked fine with Tortoise Git client and visual studio 2015, but when I work with  visual studio 2017 it not work ...
Here is vs2017 error message:
Git failed with a fatal error.
fatal: http://xxxxxx/xxxProjects.git/info/refs not valid: is this a git repository?
Here is the error server log:
w3wp.exe Error: 0 : Error occured and caught in Global.asax - System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
Parameter name: length
at System.String.Substring(Int32 startIndex, Int32 length)
at Bonobo.Git.Server.MvcApplication.Application_AcquireRequestState(Object sender, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Please fix this issue and thanks very much ！！！

I did some testing and I had no problem.
Which version of Visual Studio are you using?
Which version of Bonobo?
I tested using Bonobo 6.0.0 and Visual Studio 15.0.0+ 26228.9

Oh, thanks!!!
And I'm using Bonobo 5.2.0 and Visual Studio 15.0.0+ 26228.9.
As I know the latest version of Bonobo is 5.2.0 ..... (https://bonobogitserver.com/)
Did I missed something ....???
So could you please give me a link for Bonobo 6.0.0  ?   : P

Not yet officially released. You can make a project fork to test the new features.
Follow this issue: #587

You can also dl an artifact from the appveyor build ie. this one is the latest merge to master: https://ci.appveyor.com/project/jakubgarfield/bonobo-git-server/build/513/artifacts


add submit button

In addition to keyboard enter, I'd also like to have a button.

Is the issue still open? If yes, Id like to be briefed a bit more about it and would eventually work on it :)


Update front-door-manual.md

action options appear to be outdated; changed to new names

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

@craigshoemaker
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"

#sign-off


Added 2.7 release notes.

Description
Added 2.7 release notes.
Issues Resolved
https://github.com/opensearch-project/security-analytics/issues/383
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #401 (0fe69ac) into 2.x (2e9dbbd) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##                2.x     #401   +/-   ##
=========================================
  Coverage     35.63%   35.63%
  Complexity      885      885
=========================================
  Files           186      186
  Lines          7297     7297
  Branches        885      885
=========================================
  Hits           2600     2600
  Misses         4460     4460
  Partials        237      237

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


emit envelops to metric server

we need to add logic to reconnect if the ws connection fails.

@boyang9527 how to check the ws con fail? existed verifyWSConnection is not enough? Or when there is err in readMessage or writeMessage means the con fail?


close timeoutTimer when abort request

request.abort must close timeout timer.
if not close it, listener will receive a timeout error.

@ranbochen can you fix the lint error? See: http://eslint.org/docs/rules/handle-callback-err.html
From the docs, you could just add: if (err) {} to that callback to show that you're intentionally not handling the error.

if (err) {}
trigger
no-empty rule
!!!

What's the status of this PR?

I would also like to know the status of the PR.
Ran into this on a server in which I need to close requests when users are no longer interested, even if they haven't finished or eventually timeout. My problem is this timeout error is propagated all the way up and causes the application to crash since I try to clean up the request and all listeners when I no longer care about the result.
It might be moot, but here is a simplified example of what I'm doing.
var request = require("request");

var opts = {
  url: "http://<IP_ADDRESS>",
  timeout: 2000
};

var r = request.get(opts);
setTimeout(function() {
  console.log("Aborting request!");
  r.abort();
  // clearTimeout(r.timeoutTimer);
}, 100);

process.stdin.on("data", function() {
  process.exit();
});

Ideally this program should run until the user enters something, but the timeout causes it to crash. Its worth noting that the program doesn't crash if you don't abort within a timeout, have a callback defined, or attach an error listener that isn't cleared. Also, if you manually clear the timeoutTimer  (like in the PR!), the programs continues to run.

This PR has been closed as "abandoned" as a part of an automated cleanup. If this is a mistake and you are still interested in merging this PR, please do the following:

[ ] Rebase your changes onto the master branch (even if there are no merge conflicts, we want to make sure your change is under the most recent tests).
[ ] Push your updated branch to Github to update this PR.
[ ] Make sure this PR's Travis tests are still passing. (Run npm test locally if tests are still failing).
[ ] Comment here to let us know that you've updated the PR and are still interested in getting it merged. Somebody from the project will respond and work with you to review.

Thank you for your understanding. If you have any questions, please check out https://github.com/request/request/issues/2556 and feel free to comment / ask anything there.


fix: pin Bazel version to 7.4.1

CI runs started failing today, because Bazel 8.0.0 was released yesterday. This repo did not have a .bazelversion. I added it and set the Bazel version to 7.4.1.

Related to #67.


NME: Fix redefinition of uniform when it is constant

See https://forum.babylonjs.com/t/node-material-not-compiling-on-webgl-1-if-constant-is-used/17883
The block of code I have removed will emit the definition of the uniform linked to the input of the texture, but the Input.buildBlock method will already emit the definition. If the uniform is not a constant, we will push two times the definition in the same array and because there is a check that won't push an already existing uniform it does work. But a constant uniform will be pushed in the constant array (by Input.buildBlock) and (wrongly) in the std uniform array by TextureBlock. As Input.buildBlock is doing the job whatever the type of the uniform (attribute or not), I think the right fix is to remove all the code as I did. But if you feel it's safer that I add an additional check to not emit the definition if the input is a constant uniform I can do that instead.

Good catch!

Good catch!


ci: add an action to update versions and changelogs

This PR adds an action to update versions and changelogs
The action is triggered by branch name pattern rc/v*, e.g. rc/v0.1.0, and

bump versions by the version number matched in branch name pattern;
generate changelogs by lerna;
open a PR to the rc/v* branch for reviewing the changelog

Notice that
secrets.GPG_PRIVATE_KEY
secrets.GPG_PASSPHRASE

are required in the action to sign commits

Codecov Report

Merging #380 (afc1881) into develop (bc71654) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head afc1881 differs from pull request most recent head 875c7f7. Consider uploading reports for the commit 875c7f7 to get more accurate results

@@           Coverage Diff            @@
##           develop     #380   +/-   ##
========================================
  Coverage    62.39%   62.39%
========================================
  Files           94       94
  Lines         3101     3101
  Branches       688      688
========================================
  Hits          1935     1935
  Misses        1057     1057
  Partials       109      109

Continue to review full report in Codecov by Sentry.

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


'.mix()' method fails to work with cloned color

Hi there!
First of all I would like to excuse for test case that is not as simple as it should be.
I have next code
        ...
        //var baseColor = Color('#73FF73');
        var gtColor = Color('#FF7400');
        var ltColor = Color('#004DFF');
        var colors = { '0.00': 'rgb(255,255,255)' };

        this.getDepDataSet().forEach(function(item) {
            if (typeof colors[item.index] !== 'undefined') {
                return;
            }

            var value = item.number;
            var otherColor = value > 1 ? gtColor : ltColor;
            var weight = (value > 1 ? (value - 1) : (1 - value)) * 3;
            //var resultColor = baseColor.clone().mix(otherColor, weight);
            var resultColor = Color('#73FF73').mix(otherColor, weight);
            colors[item.index] = resultColor.rgbString();
        });
        ...

Code above produces a set of colors that are used in table coloring.
With this code I get a right colors that I am expect (lets call them 'correct'). See 1st pic. When I use code that is commented I get wrong colors (see 2nd pic). In both cases same set of data is used

I'm guessing clone() method is not working properly.

Just a question of interest: Are you aware if usage of .clone() give some performance over Color()?

clone() use Color() :)

Btw, that's probably why it's buggy.

OK, thanks for reply..

@ZuBB can you create pull-request with failing tests?

Hi Vladimir!
I am very busy right now with my own stuff. If this can wait for a couple
of weeks then I will try to do it. Otherwise please assign this to other
person
On Jun 17, 2015 06:06, "Vladimir Starkov"<EMAIL_ADDRESS>wrote:

@ZuBB https://github.com/ZuBB can you create pull-request with failing
tests?
—
Reply to this email directly or view it on GitHub
https://github.com/harthur/color/issues/46#issuecomment-112632286.

okie

@ZuBB please, check 0.9 release. I fixed incorrect implementation

Closing for now, feel free to reopen if you still have issues.

I made a hacked build (due to other reasons) with new 'mix' method only and things become event worse

I did small investigation and mix method started to fail case that used to pass. see #61

@MoOx do you reopen this?

Hi @ZuBB, could you provide a few tests showing the break? If you provide them here I can clean them up and put them in myself.

I think the immutability PR fixes this. I used the test below. @ZuBB  please advise if my test case is wrong. The test below fails on previous version.
describe('mixing bug is works with immutable', function () {
	it('mix produces proper color with clone or constructor or none cloned', function () {
		var baseColor = Color('#73FF73');
		var gtColor = Color('#FF7400');
		var ltColor = Color('#004DFF');

		[1, 2, 1.3, 1.4, 2.5, 4, 0.7, 8, 1.3].forEach(function (value) {
			var otherColor = value > 1 ? gtColor : ltColor;
			var weight = (value > 1 ? (value - 1) : (1 - value)) * 3;
			var resultColor1 = baseColor.clone().mix(otherColor, weight);
			var resultColor2 = Color('#73FF73').mix(otherColor, weight);
			var resultColor3 = baseColor.mix(otherColor, weight);
			deepEqual(resultColor1, resultColor2);
			deepEqual(resultColor2, resultColor1);
			deepEqual(resultColor1, resultColor3);
			deepEqual(resultColor3, resultColor1);
			deepEqual(resultColor2, resultColor3);
			deepEqual(resultColor3, resultColor2);
		});
	});
});

Hi @wmira!
I do not have a chance to test/run your code but for me it looks it have to cover buggy case.

I'm having trouble with the mix() function here
https://github.com/stevemao/color-transitions/blob/master/index.js#L38-L39
const color = color1.clone();
color.mix(color2, percent);

assume color1 is 'blue' and color2 is 'red', percent is 0.3
I was expecting it's 70% blue and 30% red, but it doesn't look like so.

Hi @wmira, baseColor need call clone method~
describe('mixing bug works with immutable', function () {
    it('mix produces proper color with clone or constructor or instance', function () {
        var baseColor = Color('#73FF73');
        var gtColor = Color('#FF7400');
        var ltColor = Color('#004DFF');

        [1, 2, 1.3, 1.4, 2.5, 4, 0.7, 8, 1.3].forEach(function (value) {
            var otherColor = value > 1 ? gtColor : ltColor;
            var weight = (value > 1 ? (value - 1) : (1 - value)) * 3;
            var resultColor1 = baseColor.clone().mix(otherColor, weight);
            var resultColor2 = Color('#73FF73').mix(otherColor, weight);

            var resultColor3 = baseColor.clone().mix(otherColor, weight);
            //                           ^^^^^^ here

            deepEqual(resultColor1, resultColor2);
            deepEqual(resultColor2, resultColor1);
            deepEqual(resultColor1, resultColor3);
            deepEqual(resultColor3, resultColor1);
            deepEqual(resultColor2, resultColor3);
            deepEqual(resultColor3, resultColor2);
        });
    });
});

Hey everyone. The cloning problem has been addressed in the rewrite (there is no .clone() method anymore - you'll just pass another color). Hopefully this fixes all of these problems. 💃
Any new issues should be opened as a new bug since it pertains to the rewrite.

Closing this since I believe this is fixed. Please let me know if that's not the case!


Best practices updates

Addresses https://github.com/foundry-rs/book/pull/720#discussion_r1037338405, @odyslam lmk if I misrepresented your approach at all

lgtm -- sorry folks, have been heads down on a cool new foundry thing. It will be worth it.


support for onClick event?

How I select an element in the slider by click and highlight it?

@kenwheeler Hi ken this is a nice creation indeed. I would like to get a select a child in carousel and highlight the selected component. Through I had done with on click in carousel children not felt good. is there any method you have implemented for this purpose? I see a handle click event, but don't know how to use it. Please help me with this.

I would use state in a common parent to define a selected index and then map your children, setting the active slide to active

so I should use something like this?

                <Carousel ref="carousel"  width={"100%"}
                slidesToShow={5} slidesToScroll={3} cellAlign="left" cellSpacing={10} decorators={null}
                data={this.setCarouselData.bind(this, 'carousel')} >

                </Carousel>

handleClick:function(a){
        console.log(a.currentTarget);

   },


blender script is failing to run

I have exported the room I want and have gotten the Blender Script for it. but it keeps giving an error on line 17.
Error: Parsing errors in Document (see Blender Console) Traceback (most recent call last):   File "\import_MP9_CRYOCHASM.py", line 2134, in <module>   File "\import_MP9_CRYOCHASM.py", line 17, in import_dae   File "C:\Program Files\Blender Foundation\Blender 2.93\2.93\scripts\modules\bpy\ops.py", line 132, in __call__     ret = _op_call(self.idname_py(), None, kw) RuntimeError: Error: Parsing errors in Document (see Blender Console)
I tried changing the dir to a straight link to the file and have removed the spaces ( MP9 CRYOCHASM_default to MP9_CRYOCHASM_default ) but that then gives this error
Traceback (most recent call last):   File "\import_MP9_CRYOCHASM.py", line 2133, in <module>   File "\import_MP9_CRYOCHASM.py", line 17, in import_dae   File "C:\Program Files\Blender Foundation\Blender 2.93\2.93\scripts\modules\bpy\ops.py", line 130, in __call__     ret = _op_call(self.idname_py(), C_dict, kw, C_exec, C_undo) TypeError: Calling operator "bpy.ops.wm.collada_import" error, expected a string enum in ('INVOKE_DEFAULT', 'INVOKE_REGION_WIN', 'INVOKE_REGION_CHANNELS', 'INVOKE_REGION_PREVIEW', 'INVOKE_AREA', 'INVOKE_SCREEN', 'EXEC_DEFAULT', 'EXEC_REGION_WIN', 'EXEC_REGION_CHANNELS', 'EXEC_REGION_PREVIEW', 'EXEC_AREA', 'EXEC_SCREEN') Error: Python script failed, check the message in the system console
to my knowledge, the mph_common.py plugin is installed. the data tab points to the common blender plugin path C:\Program Files\Blender Foundation\Blender 2.93\2.93\scripts\addons\

Can you share what lines 17-18 of the import script actually contain for you?
Also, you can try running the following in Blender's Scripting window:
import bpy
bpy.ops.wm.collada_import(filepath = 'FULL_PATH_TO_YOUR.dae')

When I run this, it works fine with backslashes and spaces in the filename. If it doesn't work for you, please let me know the error and the full path string that you're trying.
You're right that mph_common.py is installed correctly, otherwise you wouldn't get past line 4.

ah sorry, I should have included that line.
17 and 18 look like this     bpy.ops.wm.collada_import(filepath =         fr'MP9 CRYOCHASM\MP9 CRYOCHASM_{suffix}.dae')
running the command you mentioned worked.

I see, the issue is that a relative path in paths.txt results in a relative path in the import script, which won't (always) work. I'll fix that in the next release, but in the meantime, you can replace the filename string in line 18 with the full file path before you run the import script.
There may also be an issue with the node animation, so I would change line 12 to node_index = -1 as well. Room models don't have node animations, anyway.

The fixed version is out, and there's a workaround for the current version, so I'm closing this issue.


chore(scripts): update risingwave install script version

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Only merge after 1.7 released.

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

Still pending homebrew. Don't merge it yet

... and still need to test the script first, will merge it later once it's ready.


When Using HTTPS Images Still served from HTTP

It appears images are still served over an unencrypted connection even when referencing the script via HTTPS.

You're right. I fixed it by always loading via https


the Design of the model_type attribute from Sequential and Model object

Currently, the default model_type is 'CNN', and only when we add RNN layer (layer.type=='Recurrent' or isinstance(layer, Bidirectional)), then the model_type is modified to be 'RNN'.
One issue of this is that if we are just building a feed forward DNN net, then the model_type is still 'CNN' and can be problematic.
One potential fix might be adding conditions that when we add layer with layer.type=='fc', we change the model_type to 'DNN'. But I am not sure this is a good solution down the road, since we might have CNN layer followed by fully connected layer, or CNN and RNN mixed models in future, where in these cases the model_type become an ambiguous definition (do we call the model CNN?RNN?DNN?)
Anyone any ideas?

we might add an option to override the model type. we will change the sequantial part in the future and can add that attribute with it.

Please only use CNN and RNN. DNN is a subset of CNN. No need to use DNN at all.

Please only use CNN and RNN. DNN is a subset of CNN. No need to use DNN at all.

So do we need example/use case for tabular data then? Like non-image based regression and classification problems. The following code will give error if I don't manually overwrite the model_type to something else (like 'DNN').
model1 = Sequential(conn, model_table='Simple_DNN1')
model1.add(InputLayer())
model1.add(Dense(10, act='relu'))
model1.add(OutputLayer(act='softmax',n=3, error='ENTROPY'))

optimizer = Optimizer(algorithm=AdamSolver(), mini_batch_size=8, seed=1234, max_epochs=100)
result = model1.fit(train_tbl, inputs=iris_x_df.columns.tolist(), nominals=['target_class'],
           target='target_class', optimizer=optimizer)

model1.plot_training_history()

#With out this following line, model1.evaluate will give AttributeError: 'CASResults' object has no attribute 'Images', since it is looking for image_table.
#model1.model_type = 'DNN'
eval_result = model1.evaluate(train_tbl)

a quick chat with @sasxianhu , and we will keep the model_type as is (set automatically). You can use .predict function if evaluate it erroring out for your case (evaluate is looking the target value, if not set then it looks the scored table (I__ to find the label)

Sure, predict works. I assume I could just use the model1.conn.crosstab() for now if I want to get the confusion matrix.


fix: Fix docs link at /api/web5-js/dwn/protocol/ page

What type of PR is this? (check all applicable)

[ ] ♻ Refactor
[ ] ✨ New Feature
[ ] 🐛 Bug Fix
[x] 📝 Documentation Update
[ ] 👷 Example Application
[ ] 🧑💻 Code Snippet
[ ] 🎨 Design
[ ] 📖 Content
[ ] 🧪 Tests
[ ] 🔖 Release
[ ] 🚩 Other

Description
Fixes the link at /api/web5-js/dwn/protocol/ page
This PR fixes this [broken link at https://developer.tbd.website/api/web5-js/dwn/protocol/ page.
Related Tickets & Documents

Resolves #825
Added code snippets?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 readme
[ ] 📜 contributing.md
[x] 📓 general documentation
[ ] 🙅 no documentation needed

No docs? Add a note

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

This doesn't appear to be broken. Am I missing something?


problem with :w and :h false

Hello when I try to add false to :w or :h I get this error
[Vue warn]: Invalid prop: type check failed for prop "h". Expected Number, String, got Boolean with value false.

How width or height could be false/true if it is number of pixels?


Accessibility setting is cutting off radio button texts

When the "larger text" accessibility setting is on, the texts for radio buttons are cutting off (see image below). Larger text sizes are not often enabled on the phones for an AYA, that is why we never saw this bug. But for an older population, larger text sizes will be likely enabled.
Mobile accessibility is also highly talked in health research these days, so this is an important fix. We will also likely get older population at some point in the future.
More on mobile accessibility on ionic can be found in the following link.

https://ionicframework.com/docs/v3/native/mobile-accessibility/

Check the functions getTextZoom and setTextZoom

Hi Mash,
I could take a look of this, but the issue is that my android
phone doesn't have any problem even I turn on text"huge",
I am not sure how I can test on this issue...
Liying

From: Mashfiqui<EMAIL_ADDRESS>Sent: Sunday, May 3, 2020 5:09 PM
To: StatisticalReinforcementLearningLab/SARAv2<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [StatisticalReinforcementLearningLab/SARAv2] Accessibility setting is cutting off radio button texts (#88)
When the "larger text" accessibility setting is on, the texts for radio buttons are cutting off (see image below). Larger text sizes are not often enabled on the phones for an AYA, that is why we never saw this bug. But for older population, larger text sizes will be likely enabled.
Mobile accessibility is also highly talked in health research these days, so this is an important fix.
More on mobile accessibility on ionic can be found in the following link.
https://ionicframework.com/docs/v3/native/mobile-accessibility/https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fionicframework.com%2Fdocs%2Fv3%2Fnative%2Fmobile-accessibility%2F&data=02|01|lxh37%40psu.edu|c968540f90744dffe11508d7efa64211|7cf48d453ddb4389a9c1c115526eb52e|0|0|637241369675165179&sdata=c3PKUEE9aWF6DhLSBTN8ps59DcvxmjhvVT0uGOyHyNY%3D&reserved=0
Check the functions getTextZoom and setTextZoom
[Screenshot_20200501-190717_SARA]https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F1216420%2F80925677-a5604b80-8d46-11ea-841a-9b7ab505322e.jpg&data=02|01|lxh37%40psu.edu|c968540f90744dffe11508d7efa64211|7cf48d453ddb4389a9c1c115526eb52e|0|0|637241369675165179&sdata=ccDlgVqwoYRb4WwMeA%2BrwHdYkVazLGWK8N%2FsHdW%2FORg%3D&reserved=0
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FStatisticalReinforcementLearningLab%2FSARAv2%2Fissues%2F88&data=02|01|lxh37%40psu.edu|c968540f90744dffe11508d7efa64211|7cf48d453ddb4389a9c1c115526eb52e|0|0|637241369675175181&sdata=pkZncrGrJ6ZOYXwW5tYfxgtUIdoBWEsOZYqAC0Vsj7I%3D&reserved=0, or unsubscribehttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADXW5ZK27KLPQZ4XDQHZB3DRPXMQHANCNFSM4MYJKHHQ&data=02|01|lxh37%40psu.edu|c968540f90744dffe11508d7efa64211|7cf48d453ddb4389a9c1c115526eb52e|0|0|637241369675185172&sdata=i6%2Fy9GexXcG9dnqn3QUdhSXoo9Jx%2BBPcj0wyYH7k18g%3D&reserved=0.

I added the changes you made, but can you add the mobile accessibility and disable it on all pages?
Thank you again.

Sure, no need to disable it for all pages, just turn it on, it will last. I will do it today.
Liying

From: Mashfiqui<EMAIL_ADDRESS>Sent: Saturday, May 16, 2020 2:45 PM
To: StatisticalReinforcementLearningLab/SARAv2<EMAIL_ADDRESS>Cc: Huang, Liying<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [StatisticalReinforcementLearningLab/SARAv2] Accessibility setting is cutting off radio button texts (#88)
I added the changes you made, but can you add the mobile accessibility and disable it on all pages?
Thank you again.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FStatisticalReinforcementLearningLab%2FSARAv2%2Fissues%2F88%23issuecomment-629689995&data=02|01|lxh37%40psu.edu|8f91cc68c6f247591f4a08d7f9c958bb|7cf48d453ddb4389a9c1c115526eb52e|0|0|637252515481323194&sdata=GUc1XB2xU%2BygMVKY9nu2vFimIl6C%2Fyp3lBUppIMobWA%3D&reserved=0, or unsubscribehttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADXW5ZL77DRHUVAYUZOB5MDRR3NNTANCNFSM4MYJKHHQ&data=02|01|lxh37%40psu.edu|8f91cc68c6f247591f4a08d7f9c958bb|7cf48d453ddb4389a9c1c115526eb52e|0|0|637252515481333188&sdata=pY7qGTfXhwGnf6rdb%2F5EOamcE6Dqwi3lTOPS%2Brw1siA%3D&reserved=0.


Output of prefill phase

Hello,
Thanks for the great project.
I was looking around the code and I noticed that the base_sequence_manager does not utilize the output from the sampler during the prefill stage. It only appends new tokens during the decode phase. Below is the relevant code snippet:
if not seq.prompt_processing_finished:
  seq.update_prompt_tokens_processed(prompt_chunk_len)
  return

seq.append_token_id(sample.output_token)
self._on_append_token(seq)

Could you explain the rationale behind not using the output from the prefill stage?
Thank you!

Hi @azamikram, thanks for bringing this to attention. Fixed this in #23.


TypeError: openai.createChatCompletion is not a function     at sansekai (/home/snhxr/Wa-OpenAI/sansekai.js:104:43)

TypeError: openai.createChatCompletion is not a function
at sansekai (/home/snhxr/Wa-OpenAI/sansekai.js:104:43)
how to fix it?

@snhxr npm i openai@latest


Disable caching for individual calls

I'm trying to disable the cache for an inference call.
I tried setting different temperature values but DSPy still uses the cache for those calls.
                temperature = 2.7 + (1 * random.random())
                result = self.predictor_cot(input_text=input_text, temperature=temperature)

                temperature = 2.7 + (1 * random.random())
                with dspy.settings.context(lm=model, trace=[], temperature=temperature):
                    result = self.predictor_cot(input_text=input_text)

Setting the  DSP_CACHEBOOL env variable to False should help with that.

You can turn off the cache by setting the DSP_CACHEBOOL environment variable to False, which disables the cache_turn_on flag.

Source: https://dspy-docs.vercel.app/docs/faqs

@tom-doerr you need to pass temperature to the LM, not the context or the predictor. That said, I think it would be nice if one could set the LM kwargs in easier ways.

@okhat can you elaborate please how to do it?
did you mean like this:
llm = dspy.OpenAI(model=model_type, max_tokens=self.MAX_TOKENS, temperature=temperature+0.001)
dspy.settings.configure(lm=llm)

whenever I want to clear the cache for specific response? because its not working for me.
In my opinion need solution to run-time cases as sometimes need to send same prompt to different LLMs but it still pulling the cached solution without notice the change of LLM.

Supported in DSPy 2.5 https://github.com/stanfordnlp/dspy/blob/main/examples/migration.ipynb


Question: Post install script only on master node

Is there a way to run a post install script only on the master node?
Thanks
Santi

https://www.google.com/search?q=cfncluster+master+post-install&oq=cfncluster+master+post-install&aqs=chrome..69i57j69i64l2.7065j0j7&sourceid=chrome&ie=UTF-8
https://github.com/awslabs/cfncluster/issues/180
On Fri, Oct 13, 2017 at 12:04 PM, Santi Adavani<EMAIL_ADDRESS>wrote:

Is there a way to run a post install script only on the master node?
Thanks
Santi
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/cfncluster/issues/235, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACUVioEWra38T2ib7Hc4fUi-tBEGmqNtks5sr7QtgaJpZM4P47FL
.

Thanks, @dougalb. Came across #180 just after submitting the question :).